java程序设计-学生成绩信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA程序设计——学生信息管理系统
题目学生信息管理系统
学院软件学院
专业
班别
学号
姓名 XXX
2015年6月10日
2
一、课程题目
设计一个简易的学生成绩管理系统。用于记录学生的各科成绩,以及实现常用的统计功能。
(1) 记录学生的基本信息,如姓名、学号、专业、班级等
(2) 记录各科成绩
(3) 实现常用的统计功能,如:单科成绩排名、总分排名、统计成绩高于/低于某一临界值的学生、统计单科/总分平均值……
(4) 使用图形方式显示某些数据,如直方图显示各分数段的人数、绘制各科分数分布曲线……(可选)
(5) 必须使用数据库。
其它功能可自行扩展。
二、题目分析与设计
1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。
开发环境:Eclipse
2. 论述题目的需求。给出软件功能架构图。
题目需求:通过数据库记录学生成绩和信息,并通过数据库读取这些信息,实现单个学生查找、全体学生查找等功能和单科排名、平均分、总分排名、平均分等功能。其他扩展功能:登录界面,保存到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倍行距。对程序的测试情况作出分析。至少包括但不限于需要具备以下内容:
1. 阐述扩展包(仅限于SUN官方发布)的部署过程,并将扩展包附于光盘源程
序中;给出数据库的详细配置说明。
导入扩展包
mysql-connector-java-5.1.25-bin.jar
数据库配置说明:
数据库mySQL
数据库服务器localhost
端口3306
用户名root
密码空
数据库名studentmanagement
Student 表
2. 典型测试数据的构建,并且给出测试数据的预计结果
原数据:
测试数据:
添加学生
10005 张兰女2012 2 信息工程19930506 82 74 58
删除学生 10000
修改学生 10001
李嘉女2011 4 网络工程 19920304 54 85 86.5
单个查找 10003
查询全体
按年级查找2011级
按班别查找1班
按专业查找软件工程
单科排名并显示平均分语文
总分排名并显示平均分
单科及格学生英语
单科不及格学生语文
保存Txt总分
预测结果:
均成功完成操作
3. 本程序的测试情况,与预计结果作对比
测试情况:成功完成相关操作
添加学生
10005 张兰女2012 2 信息工程19930506 82 74 58
删除学生 10000