面向对象学生信息管理.docx
- 文档编号:11228839
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:36
- 大小:161.96KB
面向对象学生信息管理.docx
《面向对象学生信息管理.docx》由会员分享,可在线阅读,更多相关《面向对象学生信息管理.docx(36页珍藏版)》请在冰豆网上搜索。
面向对象学生信息管理
成绩
课程设计报告
题目学生信息管理系统
课程名称面向对象程序设计课程设计
院部名称龙蟠学院
专业M08计算机科学与技术
班级二班
学生姓名倪爱丽
学号0821113828
课程设计地点A207
课程设计学时
指导教师
金陵科技学院教务处制
一、课题要求
(1).基本功能要求
设计一个数据库应用程序,用以实现学生信息管理。
对第11章创建的student数据库中stuinfo表,以多文档界面进行数据插入、删除、更新、查询和统计等操作。
(2).扩展功能要求
a、插入新行时,使学号自动递增;按指定日期格式输入出生日期,自动计算年龄;采用两个组合框输入省份和地区,地区组合框的数据项随省份组合框的当前数据项值而变化,显示当前省份的所有地区。
b、增加照片列,输入并显示每个人的照片图像。
c、按省份和地区的树结构分类浏览学生信息表。
d、提供条件查询功能,包括多项选择和多条件模糊查询等,多项选择查询显示指定多个省份的学生信息;多条件模糊查询给出的条件只有部分信息,如以省份和姓名查询,模糊查询条件有以“广”开头的省份,姓“李”的学生等,多个条件间有OR或AND关系。
二、需求分析
1.系统工作流程图
系统工作流程图主要描述出了系统在工作时候的大致情况,通过这个图我们可以很容易的了解系统工作时的大致情况。
班级设置
图2.1.1系统工作流程图
2.数据流图
根据以上的系统功能描述,设计出数据流图如下:
一、顶层数据流图与0层数据流图(图2-1至图2-2)
系统时钟
学生信息管理
成绩管理
当前日期
课程信息管理
查询要求
查询结果
统计表
图2-1顶层数据流图
系统时钟
学生情况
学生信息管理学生信息管理要求
成绩管理
成绩管理要求成绩表
课程管理
查询要求
课程管理要求
课程
查询结果
图2-20层数据流图
二、1层数据流图(图2-3至图2-8)
2.2新生管理
新生数据处理结果
2.3班级管理
新生数据处理要求学生信息
学生信息管理要求班级名称及修改要求
2.1要求类型处理
2.4添加学生
添加要求及学生数据
当前时钟
数据删除单
2.5删除学生
备份数据单
2.6信息备份
图2-31层数据流图(a)
3.4成绩备份
班级及成绩数据
成绩管理要求班级名称成绩表
备份数据及班级信息
图2-41层数据流图(b)
三、学生信息管理模块分层数据流图(图2-9至图2-15)
2.2.2新生导入
2.2.3分班
新生数据
2.2.1要求类型处理
分班名单
2.2.4设置学号
新生数据处理要求新生数据及班数
起始学号及班级名称
图2-9新生处理
2.2.2.1检查记录有效性
新生记录
2.2.2.3逐行
读取记录
有效记录
2.2.2.2启动EXCEL调整
新生记录无效记录格式
成绩记录总分记录学生表
2.2.3.2按报考专业、成绩及男女生比例分班
2.2.3.1统计新生数据
分班名单男、女生人数
专业
班数
成绩表学生表
学生表
2.2.4.2按总分降序设置学号
2.2.4.1查询
相关记录
班级名称指定班级学生名单
起始学号
总图2-10新生数据导入、分班及设置学号
学生表
2.3..2修改
学生记录
2.3.1查询
相关记录
班级名称指定班级学生记录学生信息
记录为空
修改要求
图2-11班级管理
2.4.2单个
添加学生
2.4.1要求
类型处理
单个学生数据
添加要求
2.4.3成批
添加学生
成批学生数据
图2-12添加学生
总分表学生表
2.4.2.1数
据录入
单个学生数据
成绩表
图2-13单个添加学生
成绩表学生记录
2.4.3.3逐行读取记录
2.4.3.1检查数据格式
有效格式记录
无效格式总分表
2.4.3.2启动EXCEL调整
学生记录
学生表
图2-13成批添加学生数据
学生表备份表
2.6.2数
据备份
2.6.1查询备份数据
备份数据单备份数据
图2-14数据备份
成绩表总分表
2.5.2删除指定范围数据
起止学号
2.5.3删除指定班级数据
2.5.1确认数据类型
数据删除单班级名称
学生表
2.5.4删除所有学生数据
所有学生数据
成绩表总分表
图2-15删除学生数据
四、成绩管理模块分层数据流图:
(图2-16至2-18)
课程表
3.2.2成
绩录入
3.2.1查询学生及课程信息
班级名称学生与课程数据
成绩数据
学生表成图2-16成绩录入
成绩表
3.3.2计算总分及名次
3.3.1查询成绩数据
班级名称成绩数据成绩信息
总分表
图2-17总分计算
备份班级名称
3.4.2数
据备份
3.4.1查询成绩数据
备份数据单备份数据
成绩表成绩备份表
图2-18成绩备份
七、查询模块分层数据流图:
(图2-24至图2-26)
总分表成绩表
6.2.2查
询处理
6.2.1要求加工
学生信息查询要求查询规则查询结果
学生表
图2-24学生信息查询
3.数据字典
一.数据流条目:
(1)学生信息管理模块:
学生信息管理要求=[新生数据处理要求|班级数据管理要求|添加数据要求|数据删除要求|数据备份要求]
新生数据处理要求=[新生数据|班级数目|起始学号|班级名称|专业]
班级数据管理要求=[班级名称|修改要求]
添加数据要求=[单个学生数据单|成批数据单]
数据删除要求=[起止学号|班级名称|所有学生数据]
数据备份要求=[班级名称|学期数]
新生数据=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分
起始学号={数字}15
班级名称=[会计04
(1)|会计04
(2)|会计04(3)|计算机软件04
(1)|会计03
(1)|会计03
(2)|会计03(3)|计算机软件03
(1)|会计02
(1)|会计02
(2)|会计02(3)|计算机软件02
(1)|网络技术03
(1)|网络技术04
(1)|机电03
(1)|机电02
(1)|机电04
(1)|网络技术02
(1)|网络技术02
(1)]
修改要求=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+专业+班级+是否住宿
单个学生数据单=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+班级+是否住宿
成批数据单=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+班级+是否住宿
性别=[男|女]
政治面貌=[团员|非团员]
是否住宿=[住宿|通学]
(2)成绩管理模块:
成绩管理要求=[成绩录入要求|总分计算要求|成绩备份要求]
成绩录入要求=班级名称+成绩数据
总分计算要求=班级名称+成绩数据
成绩备份要求=班级名称+学期数
成绩数据=姓名+课程名称+分数
成绩表=学号+姓名+期中成绩总分+期末成绩总分+期中名次+期末名次
(3)课程信息管理模块:
课程管理要求=[课程表维护要求|教师课程表维护要求|排课要求]
课程表维护要求=课程名称+年级+专业
教师课程表维护要求=教师姓名+任教班级+课程名称+周课时数
年级=[一年级|二年级|三年级]
任教班级=[会计04
(1)|会计04
(2)|会计04(3)|计算机软件04
(1)|会计03
(1)|会计03
(2)|会计03(3)|计算机软件03
(1)|会计02
(1)|会计02
(2)|会计02(3)|计算机软件02
(1)|网络技术03
(1)|网络技术04
(1)|机电03
(1)|机电02
(1)|机电04
(1)|网络技术02
(1)|网络技术02
(1)]
(4)查询模块:
查询要求=[查询条件]
查询结果=[学生信息统计表|学生成绩统计表|学生总分名次统计表|教师信息统计表|备份信息统计表]
1)二.数据项:
表2.1.1数据项
数据项名称
数据项含义说明
别名
数据类型
长度
取值范围
学号
为学生设置的代号
无
整型
4
a000-x999
教师名称
教师名称
无
字符型
100
中、外文
班级
班级名
无
整型
4
中文
专业
专业名
无
整型
4
中文
学费
学费多少
无
整型
4
a000-x999
出生日期
出生日期
无
整型
4
a000-x999
入学时间
入学时间
无
整型
4
a000-x999
课程
课程名
无
整型
4
中、外文
三、数据库实现
1.年级信息表:
年级数,年级编号,班级编号,班级名称,班级数,
表2.1.3年级信息表
列名
数据类型大小
允许空
Gradenameber
Char(20)
否
GradeNumbers
Char(20)
是
Classnumber
Char(20)
是
Classname
Char(20)
是
Classnumber
Char(8)
是
2.学籍信息表:
姓名,学号,班级,性别,成绩,民族,籍贯,专业
表2.1.4学籍信息表
列名
数据类型大小
允许空
Number
Char(20)
否
Name
Char(20)
是
Sex
Char(20)
是
National
Char(20)
是
Native
Char(8)
是
Class
Char(50)
是
Prefessional
Char(20)
是
4、程序设计
学籍信息查询
5、程序实现
主界面部分源代码:
publicmainFrame(){
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try{
jbInit();
}
catch(Exceptione){
e.printStackTrace();
}
}
//Componentinitialization
privatevoidjbInit()throwsException{
contentPane=(JPanel)this.getContentPane();
contentPane.setLayout(null);
//this.setSize(newDimension(800,600));
this.setResizable(false);
this.setTitle("学生管理系统");
jMenuFile.setFont(newjava.awt.Font("Dialog",0,15));
jMenuFile.setForeground(Color.black);
jMenuFile.setText("系统");
jMenuHelp.setFont(newjava.awt.Font("Dialog",0,15));
jMenuHelp.setText("帮助");
jMenuHelpAbout.setFont(newjava.awt.Font("Dialog",0,15));
jMenuHelpAbout.setText("关于");
jMenuHelpAbout.addActionListener(newmainFrame_jMenuHelpAbout_ActionAdapter(this));
adduser.setFont(newjava.awt.Font("Dialog",0,15));
adduser.setText("添加用户");
adduser.addActionListener(newmainFrame_adduser_actionAdapter(this));
xjgl.setFont(newjava.awt.Font("Dialog",0,15));
xjgl.setText("学籍管理");
xjgl.addActionListener(newmainFrame_xjgl_actionAdapter(this));
bjgl.setFont(newjava.awt.Font("Dialog",0,15));
bjgl.setText("班级管理");
kcsz.setFont(newjava.awt.Font("Dialog",0,15));
kcsz.setText("课程设置");
cjgl.setFont(newjava.awt.Font("Dialog",0,15));
cjgl.setText("成绩管理");
tjcj.setFont(newjava.awt.Font("Dialog",0,15));
tjcj.setText("添加成绩信息");
tjcj.addActionListener(newmainFrame_tjcj_actionAdapter(this));
tjxj.setFont(newjava.awt.Font("Dialog",0,15));
tjxj.setForeground(Color.black);
tjxj.setText("添加学籍信息");
tjxj.addActionListener(newmainFrame_tjxj_actionAdapter(this));
//jMenuItem9.addActionListener(newmainFrame_jMenuItem9_actionAdapter(this));
xgxj.setFont(newjava.awt.Font("Dialog",0,15));
xgxj.setText("修改学籍信息");
xgxj.addActionListener(newmainFrame_xgxj_actionAdapter(this));
cxxj.setFont(newjava.awt.Font("Dialog",0,15));
cxxj.setText("查询学籍信息");
cxxj.addActionListener(newmainFrame_cxxj_actionAdapter(this));
//jMenuItem3.addActionListener(newmainFrame_jMenuItem3_actionAdapter(this));
tjbj.setFont(newjava.awt.Font("Dialog",0,15));
tjbj.setText("添加班级信息");
tjbj.addActionListener(newmainFrame_tjbj_actionAdapter(this));
xgbj.setFont(newjava.awt.Font("Dialog",0,15));
xgbj.setText("修改班级信息");
xgbj.addActionListener(newmainFrame_xgbj_actionAdapter(this));
tjkc.setFont(newjava.awt.Font("Dialog",0,15));
tjkc.setText("添加课程信息");
tjkc.addActionListener(newmainFrame_tjkc_actionAdapter(this));
xgkc.setFont(newjava.awt.Font("Dialog",0,15));
xgkc.setText("修改课程信息");
xgkc.addActionListener(newmainFrame_xgkc_actionAdapter(this));
sznj.setFont(newjava.awt.Font("Dialog",0,15));
sznj.setText("设置年级课程");
sznj.addActionListener(newmainFrame_sznj_actionAdapter(this));
jLabel1.setText("");
jLabel1.setBounds(newRectangle(1,0,800,603));
xgcj.setFont(newjava.awt.Font("Dialog",0,15));
xgcj.setText("修改成绩信息");
xgcj.addActionListener(newmainFrame_xgcj_actionAdapter(this));
cxcj.setFont(newjava.awt.Font("Dialog",0,15));
cxcj.setText("查询成绩信息");
cxcj.addActionListener(newmainFrame_cxcj_actionAdapter(this));
exit.setFont(newjava.awt.Font("Dialog",0,15));
exit.setText("退出");
exit.addActionListener(newmainFrame_exit_actionAdapter(this));
exit.addMouseListener(newmainFrame_exit_mouseAdapter(this));
jMenuItem1.setFont(newjava.awt.Font("Dialog",0,15));
jMenuItem1.setText("修该密码");
jMenuItem1.addActionListener(newmainFrame_jMenuItem1_actionAdapter(this));
llyh.setFont(newjava.awt.Font("Dialog",0,15));
llyh.setText("浏览用户");
llyh.addActionListener(newmainFrame_llyh_actionAdapter(this));
login.setFont(newjava.awt.Font("Dialog",0,15));
login.setText("用户登录");
login.addActionListener(newmainFrame_login_actionAdapter(this));
ghbj.setFont(new
……
}
catch(Exceptione1){
e1.printStackTrace();
}
}
publicstaticvoidmain(Stringargs[]){
mainFramemain=newmainFrame();
}
publicvoidjMenuFileExit_actionPerformed(ActionEvente){
System.exit(0);
Loglog=newLog();
log.addLog("\r\r",username+"退出了系统!
");
log.closeStream();
}
//Help|Aboutactionperformed
publicvoidjMenuHelpAbout_actionPerformed(ActionEvente){
newabout();
}
//Overriddensowecanexitwhenwindowisclosed
protectedvoidprocessWindowEvent(WindowEvente){
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING){
jMenuFileExit_actionPerformed(null);
}
}
voidadduser_actionPerformed(ActionEvente){
newadduser();
Loglog=newLog();
log.addLog("\r\r",username+"浏览了添加用户模块!
");
log.closeStream();
}
voidxgmm_actionPerformed(ActionEvente){
newxiugaimima();
Loglog=newLog();
log.addLog("\r\r",username+"浏览了修改密码模块!
");
log.closeStream();
}
voidtjbj_actionPerformed(ActionEvente){
newaddxj();
Loglog=newLog();
log.addLog("\r\r",username+"浏览了添加学籍模块");
log.closeStream();
}
voidexit_actionPerformed(ActionEvente){
Loglog=newLog();
log.addLog("\r\r",username+"退出了系统");
log.closeStream();
System.exit(0);
}
voidxgbj_actionPerformed(ActionEvente){
newxgbj();
}
voidxjgl_actionPerformed(ActionEvente){
}
voidlogin_actionPerformed(ActionEvente){
username=JOptionPane.showInputDialog(this,"请输入用户名");
Stringpwd=JOptionPane.showInputDialog(this,"请输入密码");
if(!
(username==null&&pwd==null)){
try{//连接数据库,验证用户
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection(
"j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 学生 信息管理