java学生信息管理系统课程设计.docx
- 文档编号:5514578
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:13
- 大小:182.96KB
java学生信息管理系统课程设计.docx
《java学生信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《java学生信息管理系统课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
java学生信息管理系统课程设计
基于java图形编程的学生信息管理系统设计与实现
1引言
由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦和不方便也随之而来。
所以开发一个适合学校的、便于管理学生信息的管理系统是十分重要的。
1.1课题背景及意义
为了充分实现素质教育,多方面发展学生的兴趣爱好,大部分学校都设立了全校范围的内的选修课。
学生可以根据自己的兴趣和特长,选择自己喜欢的课程。
由于高等学校的快速发展,高校的规模也越来越大,学生数量和课程量都迅速地增长,管理上的手工操作不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。
如何使同学们方便、快捷、准确地选课,以及老师们对学生的相关信息的管理,已经成为一个重要的问题。
利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。
本课题就是针对便于学生信息管理的问题而设计的一个管理系统。
1.4可行性分析
㈠技术可行性
系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。
这里从两方面分析技术上的可行性。
首先,对于java编程部分,java课已经开过,本人基本上掌握了对java编程上技巧。
其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验,,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的。
㈡人员可行性
本人对该课程设计有足够的技术上的准备,并且时间上也足够充裕。
所以在进行该课程设计中,不需要人员分工,整个设计过程都由本人完成,并且已经较好的完成了该项目的开发工作。
所有,在人员可行性方面是可行的。
2系统需求分析
2.1功能需求分析
本课题根据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能:
①管理学生信息
管理所有学生的基本信息,对学生信息的操作包括添加、修改、删除等;可以根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。
②管理课程信息
管理所有课程的基本信息,包括对课程信息的添加、修改、删除等操作;可以根据各种条件查询出需要的信息,并对相应的信息进行操作。
比如修改和删除,可以通过学生的学号查询出学生的相应课程信息,对相应的课程进行修改、删除操作。
③学生选课与成绩
根据学生的学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。
通过以上功能的设计与实现,并实现学生信息管理系统的基本功能。
当然在实际的学生信息管理系统中,其功能要比本课题的多的多,也复杂的多,本课题仅以比较简单易懂的方式介绍给读者—一个学生管理系统的设计与实现的流程。
从而让读者明白一个项目开发中需要做的工作,并在今后的工作中能遇到相关问题能知道如何解决。
3学生信息管理系统设计
3.1数据模型分析与设计
数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。
数据库模型的分类:
分层模型、关系模型、网络模型和对象模型。
本课题选择的关系模型,关系模型是目前最重要的一种数据模型。
关系数据库系统采用关系模型作为数据的组织方式。
关系数据模型具有下列优点:
●关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
●关系模型的概念单一。
无论实体还是实体之间的联系都用关系表示。
对数据的检索结构也是关系(即表)。
所以其数据结构简单、清晰,拥护易懂易用。
●关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
所以,关系数据模型诞生以后发展迅速,深受拥护的喜爱,这也是本课题选取关系数据模型的原因。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路件对用户透明,查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
本课题的关系数据模型的数据结构可分为三个表来表示:
学生信息表(Student)、课程信息表(Course)、学生选课表(SC);
学生信息表用于记录学生的基本信息,如表3-1;课程信息表用于记录课程的基本信息,如表3-2;学生选课表如下表3-3。
这三个表对应的E-R图分别是:
图3.1学生信息E-R图;图3.2课程信息E-R图;图3.3学生选课E-R图;如下图。
表3-1学生信息表(Student)
名称
字段名称
数据类型
主键
非空
学号
Snum
Number(10)
Yes
Yes
学生姓名
Sname
Varchar2
No
Yes
性别
Ssex
Char
(2)
No
No
民族
Sminzu
Char
(2)
No
No
籍贯
Shome
Varchar2
No
No
入学年份
Syear
Char(4)
No
No
专业
Smajor
Varchar2
No
No
学院
Scollege
Varchar2
No
No
出生日期
Sbirth
Char(8)
No
No
表3-2课程信息表(Course)
名称
字段名称
数据类型
主键
非空
课程编号
Cnum
Char(4)
Yes
Yes
课程名称
Cname
Varchar2
No
Yes
授课教师
Cteacher
Varchar2
No
No
上课地点
Cplace
Varchar2
No
No
课程类别
Ctype
Char
(1)
No
No
表3-3学生选课表(SC)
名称
字段名称
数据类型
主键
非空
学号
Snum
Char(10)
Yes
Yes
课程编号
Cnum
Char(4)
Yes
Yes
成绩
Grade
Number(4,1)
No
No
3.2结构设计与结构功能图
3.2.1结构设计
根据对系统进行需求分析,本系统将分为4个模块:
●学生管理
管理学生基本信息,包括个人信息的添加、修改、删除以及选课信息的添加。
●课程管理
管理课程的基本信息,包括课程信息的添加、修改和删除。
●成绩管理
管理学生选课的成绩信息,包括成绩的登记与修改。
●信息查询
查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。
3.2.2功能结构图
学生管理系统功能结构如图3.4所示。
4系统实现
该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据操作模块。
下面分别加以叙述:
①学生管理系统主界面模块
学生管理系统主界面模块包括StuMS.java和StuMain.java两个文件。
StuMS是学生管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的界面,如图4.1所示。
StuMain类继承自JFrame类,实现了ActionListener接口,他有一个不带参数的构造方法StuMain(),用来生成StuMain的实例。
StuMain类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个功能。
图4.1学生管理系统主界面
②学生信息管理模块
学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EdiStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java共计6个文件组成,其构成关系如图4.2所示。
学生信息管理模块的6个文件组成了主界面中的“学生管理”菜单的内容,其中包括增加、修改、删除和学生选课功能,如图4.3所示。
图4.3学生信息管理模块的运行界面
③课程信息管理模块
课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,其构成关系如图4.4所示。
课程信息管理模块中的5个类文件组成了主界面中“课程管理”菜单的内容,其中包括增加、修改和删除功能,如图4.5所示。
图4.5课程信息管理模块运行界面
④成绩信息管理模块
成绩信息管理模块主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java这3个文件组成,其构成关系如图4.6所示。
成绩信息管理模块中的3个类文件组成了主界面中的“成绩管理”菜单的内容,其中包括增加和修改功能,如图4.7所示。
图4.7成绩信息管理模块的运行界面
⑤信息查询模块
信息查询模块主要包括学生查询、课程查询和成绩查询3个部分。
信息查询的运行主截面如图4.8所示。
图4.8学生信息查询模块的运行界面
学生查询由StuSearchSnum.java、StuSearchSsex.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStudent.java这6个文件组成,主要实现功能包括:
按学号查询、按学生姓名查询、按性别查询、按学院查询与按专业查询。
5系统调试与测试
5.1测试的定义及目的
软件测试就是在软件投入运行之前,对软件需求分析、设计规格说明和编码的最终复审,是保证软件质量的关键步骤。
如果要给软件测试下定义,可以这样讲,软件测试是为了发现错误而执行程序的过程。
测试的目的在于将软件设计时设计者与程序开发者之间理解不一致的地方、功能与需求不一致的地方、不符合逻辑思维的情况都反映给质量控制部门,由质量控制部门调配需求部门统一做出一个明确解答,再由开发人员进行修改和补充。
测试的目的是以最少的时间和人力找出软件中潜在的各种错误和缺陷。
5.2系统功能测试
功能测试主要是测试程序模块是否实现了设计中所要求的功能。
功能测试中需要注意的有:
(1)查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的。
这里要注意的多个查询条件之间的关系。
还有一些常识性的问题,比如按月查询,闰月中二月的天数。
(2)录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台和后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。
还有就是必须录入的字段的设置时候有误。
(3)测试删除功能中需要注意的是单击"删除"按钮后,一般会出现提示信息,询问是否确定删除。
通常情况下,我们单击"确认"按钮查看信息是否被删除掉了,而忽略了单击"取消"按钮后程序的反应:
这时有可能的是没有删除,还有一种可能是即便单击了"取消"按钮,也一样删除了数据。
另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除掉了,即如果再按照这种查询方式查询,时候还能查询出来。
有的时候需要在数据库中设立一个标志位,而不是真正的物理删除。
所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志考虑在内。
(4)关于修改功能的测试主要是看修改确认后是否数据真正已被修改了。
这是最基本的功能,需要注意的是看是否能把不应该修改的数据也修改成功了。
5.4系统调试常见错误
1.NullPointerException异常
一般是对一个为NULL值的变量进行操作引起的。
为避免这种异常,最好在对变量操作之前检查,看它是否为NULL值。
2.SQLException异常
一般是由于SQL语句不正确引起的。
为避免这种异常,最好在使用SQL语句的程序中捕获此SQL异常。
3.NumberFormatException异常
这是由于数字的格式错误而出现的例外。
为了避免出现此类错误,一般必须保证数据格式输入正确。
4.数据库连接垃圾回收
在实际的开发应用中,通常出现某一个对象未能关闭的情况,为了防止这种情况的发生,可以在有关对数据库操作的Java类文件中增加自动回收函数,在JVM自动地回收对象时,取出使用的连接对象,判断是否关闭,如果没有关闭则关掉。
结束语
经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课题中得到的经验、心得和锻炼。
我发现开发项目的过程其实就是个不断的解决问题的过程,从中也感觉到项目开发的快乐,一个人永远有学不玩的知识,就算是项目开发中的知识点都学了,但在实际的开发过程中仍然会遇到不少问题,遇到问题时要做到两点:
一个是“查”
,一个是“问”。
不懂的地方就得要自己找答案,可以从书本、网络中查找解决的答案;再一个就是问周边的同学。
比如,在本科课题的编写代码部分,本人就参考了《java核心技术》,从中得到了图形编程的很多有用的方法。
这次课程的设计给我以前所学的知识做了一个总结,为我深入学习编程做了铺垫。
在本课题中存在的不足之处是在所难免的,本人将在日后加于改进。
致谢
在本课题的设计和实现的过程中遇到的不少的难题,我要感谢那些给我带来帮助的书籍和internet,还有周边的同学们。
如果没有他们的帮助,本课题的设计和实现就不会如期顺利完成。
还要感谢我们的指导老师给我们这么多学生的文档认真批改,让我们知道在课程设计与实现的过程中存在的问题。
参考文献
[1]王克宏、郝建文.Java技术教程[M].北京:
清华大学出版社,2002年9月.
[2]蔡敏、徐慧慧、黄炳强.UML基础与Rose建模教程[M].北京:
人民邮电出版社,2006年5月.
[3]萨师煊、王珊.数据库系统概论(第三版)[M].北京:
高等教育出版社,2005年12月.
[4]齐治昌、谭庆平、宁洪.软件工程(第二版)[M].北京:
高等教育出版社,2004年,3月.
[5]周竞涛、赵寒.Eclipse完全手册[M].北京:
电子工业出版社,2006年,8月.
[6]CayS.Horstmann、GaryCornll.叶乃文等译.Java核心技术[M]北京:
机械工业出版社,2006年5月.
[7]蒙祖强、龚涛.Oracle10g数据库Java开发.北京:
中国水利水电出版社,2005年6月.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学生 信息管理 系统 课程设计