java学生信息管理系统课程设计.docx

上传人:牧羊曲112 文档编号:4885631 上传时间:2023-05-21 格式:DOCX 页数:15 大小:286.89KB
返回 下载 相关 举报
java学生信息管理系统课程设计.docx_第1页
第1页 / 共15页
java学生信息管理系统课程设计.docx_第2页
第2页 / 共15页
java学生信息管理系统课程设计.docx_第3页
第3页 / 共15页
java学生信息管理系统课程设计.docx_第4页
第4页 / 共15页
java学生信息管理系统课程设计.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java学生信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《java学生信息管理系统课程设计.docx(15页珍藏版)》请在三一办公上搜索。

1、基于java图形编程的学生信息管理系统 设计与实现目录1引言11.1 课题背景及意义11.2课题开发技术选择错误!未定义书签。1.3课题实现技术的简要说明错误!未定义书签。1.4可行性分析12系统需求分析22.1功能需求分析23学生信息管理系统设计23.1数据模型分析与设计23.2结构设计与结构功能图53.2.1结构设计53.2.2功能结构图5.4系统实现75系统调试与测试115.1测试的定义及目的115.2系统功能测试115.3系统实施发布错误!未定义书签。5.4系统调试常见错误12结束语12致谢13参考文献13课程设计附件源代码清单1引言由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦

2、和不方便也随之而来。所 以开发一个适合学校的、便于管理学生信息的管理系统是十分重要的。L1课题背景及意义为了充分实现素质教育,多方面发展学生的兴趣爱好,大部分学校都设立了全校范围 的内的选修课。学生可以根据自己的兴趣和特长,选择自己喜欢的课程。由于高等学校的 快速发展,高校的规模也越来越大,学生数量和课程量都迅速地增长,管理上的手工操作 不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。如何使同学们 方便、快捷、准确地选课,以及老师们对学生的相关信息的管理,己经成为一个重要的问 题。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利 用计算机对有关信息进

3、行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。 要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能 的信息管理系统是十分重要的。本课题就是针对便于学生信息管理的问题而设计的一个管 理系统。1.4可行性分析技术可行性系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。这里从两方面 分析技术上的可行性。首先,对于java编程部分,胛va课己经开过,本人基本上掌握了对java编程上技巧。 其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验, 具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上 是可

4、行的。人员可行性本人对该课程设计有足够的技术上的准备,并且时间上也足够充裕。所以在进行该课程设计中,不需要人员分工,整个设计过程都由本人完成,并且己经较好的完成了该 项目的开发工作。所有,在人员可行性方面是可行的。2系统需求分析2.1功能需求分析本课题根据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统的功 能总结起来,共需要实现以下儿个方面功能: 管理学生信息管理所有学生的基本信息,对学生信息的操作包括添加、修改、删除等;可以根据各 种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通 过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。 管理

5、课程信息管理所有课程的基本信息,包括对课程信息的添加、修改、删除等操作;可以根据各 种条件查询出需要的信息,并对相应的信息进行操作。比如修改和删除,可以通过学生的 学号查询出学生的相应课程信息,对相应的课程进行修改、删除操作。 学生选课与成绩根据学生的学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成 绩。通过以上功能的设计与实现,并实现学生信息管理系统的基本功能。当然在实际的学 生信息管理系统中,其功能要比本课题的多的多,也复杂的多,本课题仅以比较简单易懂 的方式介绍给读者一一个学生管理系统的设计与实现的流程。从而让读者明白一个项目开 发中需要做的工作,并在今后的工作中能遇到相

6、关问题能知道如何解决。3学生信息管理系统设计3.1数据模型分析与设计数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据 如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、 打印、查找、选择、排序和更新等操作。数据库模型的分类:分层模型、关系模型、网络 模型和对象模型。本课题选择的关系模型,关系模型是目前最重要的一种数据模型。关系数据库系统采 用关系模型作为数据的组织方式。关系数据模型具有下列优点:关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检 索结构也是关系

7、(即表)。所以其数据结构简单、清晰,拥护易懂易用。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密 性,也简化了程序员的工作和数据库开发建立的工作。所以,关系数据模型诞生以后发展迅速,深受拥护的喜爱,这也是本课题选取关系数 据模型的原因。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路件对用户透明,查 询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化, 增加了开发数据库管理系统的难度。本课题的关系数据模型的数据结构可分为三个表来表示:学生信息表(Student).课 程信息表(Course)、学生选课表(SC);学生信息表用于记录学生

8、的基本信息,如表3-1;课程信息表用于记录课程的基本信 息,如表3-2;学生选课表如下表3-3o这三个表对应的E-R图分别是:图3. 1学生信息 E-R图;图3.2课程信息E-R图;图3.3学生选课E-R图;如下图。表3-1学生信息表(Student)名称字段名称数据类型主键非空学号SnumNumber (10)YesYes学生姓名SnameVarchar2NoYes性别SsexChar (2)NoNo民族SminzuChar (2)NoNo籍贯ShomeVarchar2NoNo入学年份SyearChar (4)NoNo专业SmajorVarchar2NoNo学院ScollegeVarchar

9、2NoNo出生日期SbirthChar (8)NoNo表3-2课程信息表(Course)名称字段名称数据类型主键非空课程编号CnumChar (4)YesYes课程名称CnameVarchar2NoYes授课教师CteacherVarchar2NoNo上课地点CplaceVarchar2NoNo课程类别CtypeChar (1)NoNo表3-3学生选课表(SC)名称字段名称数据类型主键非空学号SnumChar (10)YesYes课程编号CnumChar (4)YesYes成绩GradeNumber(4,1)NoNo图3.1学生信息E-R图图3.2课程信息E-R图图3.3学生选课E-R图3.2

10、结构设计与结构功能图3.2.1结构设计根据对系统进行需求分析,本系统将分为4个模块:学生管理管理学生基本信息,包括个人信息的添加、修改、删除以及选课信息的添加。课程管理管理课程的基本信息,包括课程信息的添加、修改和删除。成绩管理管理学生选课的成绩信息,包括成绩的登记与修改。信息查询查询己经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。3. 2. 2功能结构图学生管理系统功能结构如图3.4所示。图3.4学生管理系统功能结构图甚学生信息管理系统系统管理 学生管理 课程管理 成鼓管理 信息查询esultStu dent, javaplprbf ni irp iawa图4.1学生管理系统主

11、界面4系统实现该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信 息管理模块、成绩信息管理模块、信息查询模块和数据操作模块。下面分别加以叙述: 学生管理系统主界面模块学生管理系统主界面模块包括StuMS.java和StuMam.java两个文件。StuMS是学生管 理系统的主运行类,其中有运行整个程序的main方法,该文件生成了 StuMain类的一个实 例,从而生成了学生管理系统的界面,如图4.1所示。StuMain类继承自JFiame类,实现 了 ActioiiListenei接口,他有一个不带参数的构造方法StuMain。,用来生成SuiMain的实例。 SuiM

12、ain类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个 功能。ininer 学生信息管理模块学生信息管理模块主要由 Stulnfb.java、Add Stu Info, java、EdiStubifb.java、 DelSnihifo.java SelectCouise.java 和 StuInfoSearchSniimjava 共计 6 个文件组成,其构成关 系如图4.2所示。图4.2学生信息管理模块功能结构图学生信息管理模块的6个文件组成了主界面中的“学生管理”菜单的内容,其中包括 增加、修改、删除和学生选课功能,如图4.3所示。图4.3学生信息管理模块的运行界而 课

13、程信息管理模块课程信息管理模块主要由 Coutselnfo.java、AddCoursehifo.java EditComselnfo.java DelCouiseLifo.javasCouiseliifoSeaichCnum.java 这 5 个文件组成,其构成关系如图 4.4 所示。增加课程信息AddCouiselnfb .j ava图4.4课程信息管理模块功能结构图课程信息管理模块中的5个类文件组成了主界面中“课程管理”菜单的内容,其中包 括增加、修改和删除功能,如图4.5所示。图4.5课程信息管理模块运行界面 成绩信息管理模块成绩信息管理模块主要由 Gradelnfo.java Add

14、Gradebifo.java EditGradebifo.java 这 3 个文件组成,其构成关系如图4.6所示。图4.6成绩信息管理模块功能结构图成绩信息管理模块中的3个类文件组成了主界面中的“成绩管理”菜单的内容,其中 包括增加和修改功能,如图4.7所示。图4.7成绩信息管理模块的运行界而 信息查询模块信息查询模块主要包括学生查询、课程查询和成绩查询3个部分。信息查询的运行主 截面如图4.8所示。学生 查询由 StuSeatchSnum.java、StuSeaichSsex.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStu

15、dent.java这6个文件组成,主要实现功能包括:按学号查 询、按学生姓名查询、按性别查询、按学院查询与按专业查询。5系统调试与测试5.1测试的定义及目的软件测试就是在软件投入运行之前,对软件需求分析、设计规格说明和编码的最终复 审,是保证软件质量的关键步骤。如果要给软件测试下定义,可以这样讲,软件测试是为 了发现错误而执行程序的过程。测试的目的在于将软件设计时设计者与程序开发者之间理解不一致的地方、功能与需 求不一致的地方、不符合逻辑思维的情况都反映给质量控制部门,由质量控制部门调配需 求部门统一做出一个明确解答,再由开发人员进行修改和补充。测试的目的是以最少的时间和人力找出软件中潜在的各

16、种错误和缺陷。5. 2系统功能测试功能测试主要是测试程序模块是否实现了设计中所要求的功能。功能测试中需要注意 的有:(1) 查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的。 这里要注意的多个查询条件之间的关系。还有一些常识性的问题,比如按月查询,闰月中 二月的天数。(2) 录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前 台和后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。还有就是必 须录入的字段的设置时候有误。(3) 测试删除功能中需要注意的是单击删除按钮后,一般会出现提示信息,询问是 否确定删除。通常情况下,我们单击确认按钮查看信

17、息是否被删除掉了,而忽略了单击 取消按钮后程序的反应:这时有可能的是没有删除,还有一种可能是即便单击了取消 按钮,也一样删除了数据。另外,在删除多条记录的时候,要注意连续选中的儿条记录是 否真正都被删除掉了,即如果再按照这种查询方式查询,时候还能查询出来。有的时候需 要在数据库中设立一个标志位,而不是真正的物理删除。所以在下一次查询中,可能还会 被查询出来,这主要是因为在查询条件中没有将标志考虑在内。(4) 关于修改功能的测试主要是看修改确认后是否数据真正己被修改了。这是最基本 的功能,需要注意的是看是否能把不应该修改的数据也修改成功了。5. 4系统调试常见错误1. NullPointerEx

18、ception 异常一般是对一个为NULL值的变量进行操作引起的。为避免这种异常,最好在对变量操 作之前检查,看它是否为NULL值。2. SQLException 异常一般是由于SQL语句不正确引起的。为避免这种异常,最好在使用SQL语句的程序中 捕获此SQL异常。3. NumberFormatException 异常这是由于数字的格式错误而出现的例外。为了避免出现此类错误,一般必须保证数据 格式输入正确。4. 数据库连接垃圾回收在实际的开发应用中,通常出现某一个对象未能关闭的情况,为了防止这种情况的发生, 可以在有关对数据库操作的Java类文件中增加自动回收函数,在JVM自动地回收对象时,

19、取出使用的连接对象,判断是否关闭,如果没有关闭则关掉。结束语经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课 题中得到的经验、心得和锻炼。我发现开发项目的过程其实就是个不断的解决问题的过程, 从中也感觉到项目开发的快乐,一个人永远有学不玩的知识,就算是项目开发中的知识点 都学了,但在实际的开发过程中仍然会遇到不少问题,遇到问题时要做到两点:一个是“查” ,一个是“问二不懂的地方就得要自己找答案,可以从书本、网络中查找解决的答案; 再一个就是问周边的同学。比如,在本科课题的编写代码部分,本人就参考了java核 心技术,从中得到了图形编程的很多有用的方法。这次课程的设计给

20、我以前所学的知识 做了一个总结,为我深入学习编程做了铺垫。在本课题中存在的不足之处是在所难免的, 本人将在日后加于改进。致谢在本课题的设计和实现的过程中遇到的不少的难题,我要感谢那些给我带来帮助的书 籍和intemet,还有周边的同学们。如果没有他们的帮助,本课题的设计和实现就不会如期 顺利完成。还要感谢我们的指导老师给我们这么多学生的文档认真批改,让我们知道在课 程设计与实现的过程中存在的问题。参考文献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 Cay S.Horstmann、Gary Cornll.叶乃文 等译.Java核心技术M北京:机械工业 出版社,2006年5月.7 蒙祖强、龚涛.Oracle 10g数据库Java开发.北京:中国水利水电出版社,2005年 6月.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号