java程序设计学生成绩信息管理系统Word下载.docx
- 文档编号:22832080
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:77
- 大小:882.58KB
java程序设计学生成绩信息管理系统Word下载.docx
《java程序设计学生成绩信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《java程序设计学生成绩信息管理系统Word下载.docx(77页珍藏版)》请在冰豆网上搜索。
登录界面,保存到txt文件。
软件功能架构图:
其中,删除、修改、单个查找功能均通过学号定位学生
3.
论述界面设计过程,指出其设计上的创意及组件的布局策略。
界面设计过程:
主要界面包括登录界面,主功能界面,各个子功能界面。
登录界面包括3个面板,每个面板放入相应的标签、文本框、按钮等组件,登录界面采用3行1列的网格布局;
主功能界面包括菜单栏和若干面板,面板中放入标签或若干按钮,菜单栏的菜单项与按钮相对应,主功能界面采用7行1列的网格布局;
学生管理类子功能(增加学生、删除学生、修改学生、单个查找)界面采用6行2列的网格布局,每个网格均放入一个面板,每个面板放入标签、文本框、组合框、按钮等组件,以达到较友好的界面效果;
学生查找类子功能界面(查看全体、按年级查询、按班别查询、按专业查询)和成绩管理类子功能(单科排名、总分排名、合格学生、挂科学生)界面采用边界布局,界面的上部放入一个面板,面板放入相应的按钮或组合框,中部放入一个文本域。
所有错误信息等信息均通过对话框的形式显示相应信息。
4.
论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。
不得以粘贴代码的方式代替设计部分。
类的设计过程:
本程序包括19个类文件,每个类文件只含有一个类,分别是包含main方法的主类
Main,实现登录功能的类
Login,
实现各种功能选择功能的类
Function,
实现数据库连接的类DataBaseCreate,实现学生信息编辑功能类StudentEdit,
执行增加学生功能的类AddStudent,执行删除学生功能的类DeleteStudent,执行修改学生功能的类
UpdateStudent,执行单个查询功能的类IndexOfSingle,
(由于AddStudent,DeleteStudent,UpdateStudent,IndexOfSingle界面和操作基本相同,所以上4类均继承StudentEdit)
实现条件查找和成绩管理功能的类IndexOrManage,
执行查询全体功能的类LookAllStudents,执行按年级查询功能的类IndexOfGrade,执行按班别查询功能的类IndexOfClass,执行按专业查询的类IndexOfMajor,执行单科排名功能的类
SubjectScoreRanking,执行总分排名功能的类TotalScoreRanking,执行查找单科及格学生功能的类PassStudents,执行查找单科不及格学生功能的类NotPassStudents,(由于LookAllStudents,IndexOfGrade,IndexOfClass,IndexOfMajor,SubjectScoreRanking,TotalScoreRanking,PassStudents,NotPassStudents,界面和操作基本相同,所以上8类均继承IndexOrManage)执行将文本域内容保存到TXT文件的类TxtSave。
以上19个类,除了Main类以外,均包含一个构造方法,有些还包含actionPerformed(e)方法。
对象的协作过程:
三、测试分析
小四字体,1.5倍行距。
对程序的测试情况作出分析。
至少包括但不限于需要具备以下内容:
阐述扩展包(仅限于SUN官方发布)的部署过程,并将扩展包附于光盘源程序中;
给出数据库的详细配置说明。
导入扩展包
mysql-connector-java-5.1.25-bin.jar
数据库配置说明:
数据库mySQL
数据库服务器localhost
端口3306
用户名root
密码空
数据库名studentmanagement
Student表
典型测试数据的构建,并且给出测试数据的预计结果
原数据:
测试数据:
添加学生
10005张兰女2012
2
信息工程19930506
82
74
58
删除学生
10000
修改学生
10001
李嘉女2011
4
网络工程
19920304
54
85
86.5
单个查找
10003
查询全体
按年级查找2011级
按班别查找1班
按专业查找软件工程
单科排名并显示平均分语文
总分排名并显示平均分
单科及格学生英语
单科不及格学生语文
保存Txt总分
预测结果:
均成功完成操作
本程序的测试情况,与预计结果作对比
测试情况:
成功完成相关操作
删除学生
54
10003
20001
总分排名并显示平均分
保存Txt总分排名
附录:
源代码
只需列出程序中所有的包及相关的文件。
不需要打印源代码。
程序中所有的包及相关的文件:
代码:
import
javax.swing.JFrame;
public
class
Main{
/**
*
@param
args
*/
public
static
void
main(String[]args){
Loginlogin=new
Login();
login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
java.awt.*;
java.awt.event.*;
javax.swing.*;
//登录界面
Login
extends
JFrame
implements
ActionListener{
JButton
b1=new
JButton("
登录"
);
b2=new
退出"
JLabel
la1=new
JLabel("
用户名"
la2=new
密
码"
JPanel
p1=new
JPanel();
p2=new
p3=new
JTextField
name=new
JTextField(15);
JPasswordField
pw=new
JPasswordField(15);
Login(){
setTitle("
学生成绩管理系统"
getContentPane().setLayout(new
GridLayout(3,1));
getContentPane().add(p1);
getContentPane().add(p2);
getContentPane().add(p3);
p1.add(la1);
p1.add(name);
p2.add(la2);
p2.add(pw);
p3.add(b1);
p3.add(b2);
setBounds(500,250,100,100);
pack();
setVisible(true);
pw.setEchoChar('
*'
b1.addActionListener(this);
b2.addActionListener(this);
actionPerformed(ActionEvente){
if(e.getActionCommand()=="
){
Stringpassword=pw.getText();
Stringuser=name.getText();
if(user.equals("
admin"
)&
&
password.equals("
)){
Functionfunction=new
Function();
function.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(false);
else{
JOptionPane.showMessageDialog(null,
"
用户名或密码错误"
Error"
JOptionPane.INFORMATION_MESSAGE);
else
if(e.getActionCommand()=="
System.exit(0);
java.sql.*;
//连接数据库类
DataBaseCreate{
//连接数据库静态方法,若产生错误,则抛出相应错误信息
ConnectiongetConnection()throwsSQLException,java.lang.ClassNotFoundException{
//建立本地数据库连接,编码规则转换为utf-8(正常录入中文)
Stringurl="
jdbc:
mysql:
//localhost:
3306/studentmanagement?
useUnicode=true&
characterEncoding=utf8"
;
Class.forName("
com.mysql.jdbc.Driver"
StringuserName="
root"
Connectioncon=DriverManager.getConnection(url,userName,
return
con;
//主要功能界面
Function
p6=new
p4=new
p5=new
add=new
增加学生"
del=new
删除学生"
update=new
修改学生"
single=new
单个查询"
look=new
查看全体"
b11=new
按年级查找"
b12=new
按班别查找"
b13=new
按专业查找"
学生管理"
成绩管理"
la3=new
学生查找"
单科排名"
总分排名"
b3=new
合格学生"
b4=new
挂科学生"
JMenuItem
items[][]=new
JMenuItem[4][];
JMenuBar
bar=new
JMenuBar();
JMenu
m1=new
JMenu("
开始"
m2=new
m3=new
m4=new
//构造方法
Function(){
//设计菜单栏
items[0]=new
JMenuItem[2];
items[1]=new
JMenuItem[4];
items[2]=new
items[3]=new
m1.add(items[0][0]=new
JMenuItem("
返回"
));
m1.add(items[0][1]=new
m2.add(items[1][0]=new
m2.add(items[1][1]=new
m2.add(items[1][2]=new
m2.add(items[1][3]=new
m3.add(items[2][0]=new
m3.add(items[2][1]=new
m3.add(items[2][2]=new
m3.add(items[2][3]=new
m4.add(items[3][0]=new
m4.add(items[3][1]=new
m4.add(items[3][2]=new
m4.add(items[3][3]=new
bar.add(m1);
bar.add(m2);
bar.add(m3);
bar.add(m4);
//设计布局
GridLayout(7,1));
getContentPane().add(bar);
getContentPane().add(p6);
getContentPane().add(p4);
getContentPane().add(p5);
p2.add(add);
p2.add(del);
p2.add(update);
p2.add(single);
p6.add(la3);
p3.add(look);
p3.add(b11);
p3.add(b12);
p3.add(b13);
p4.add(la2);
p5.add(b1);
p5.add(b2);
p5.add(b3);
p5.add(b4);
//注册监听器
add.addActionListener(this);
del.addActionListener(this);
update.addActionListener(this);
look.addActionListener(this);
single.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
items[0][0].addActionListener(this);
items[0][1].addActionListener(this);
items[1][0].addActionListener(this);
items[1][1].addActionListener(this);
items[1][2].addActionListener(this);
items[1][3].addActionListener(this);
items[2][0].addActionListener(this);
items[2][1].addActionListener(this);
items[2][2].addActionListener(this);
items[2][3].addActionListener(this);
items[3][0].addActionListener(this);
items[3][1].addActionListener(this);
items[3][2].addActionListener(this);
items[3][3].addActionListener(this);
//按钮事件响应,对用对应的类对象
AddStudent
addStudent
=new
AddStudent();
DeleteStudent
delStudent=new
DeleteStudent();
UpdateStudent
UpdateStudent();
IndexSingle
is=new
IndexSingle();
LookAllStudents
LookAllStudents();
IndexOfGrade
ig=new
IndexOfGrade();
IndexOfClass
ic=new
IndexOfClass();
IndexOfMajor
im=new
IndexOfMajor();
SubjectScoreRanking
subject=
new
SubjectScoreRanking();
TotalScoreRanking
TotalScoreRanking();
PassStudents
pass=new
PassStudents();
NotPassStudents
notPass=new
NotPassStudents();
login.setDefaultCloseO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 学生 成绩 信息管理 系统