学生管理系统设计与实现.docx
《学生管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《学生管理系统设计与实现.docx(26页珍藏版)》请在冰点文库上搜索。
学生管理系统设计与实现
石家庄科技信息职业学院
毕业论文
题目:
学生管理系统设计与实现
学号:
姓名:
专业班级:
指导教师:
完成日期:
摘要:
随着教育规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。
本文介绍了基于软件工程化的思想的学生管理系统的开发整个过程,并对系统分析、概要设计、详细设计和具体实现进行了阐述。
本系统的设计采用了JCreatorPro作为开发工具,Java编程语言进行设计,MySQL作为数据库支撑平台,总体上采用结构化生命周期开发方法,而具体模块实施采用了原型法和面向对象系统开发方法。
本设计根据系统需求实现了学生信息管理、院系班级管理、课程管理、成绩管理等模块。
本文所做的工作旨在规范管理、科学统计和快速查询学生信息,来提高学生管理工作的效率。
关键词:
学生管理系统;Java;MySQL;
Abstract:
Astheexpansionofeducationscale,thequantityofstudentsincreasesharply.Sodoestheinformationofstudents.Thisthesisintroducesawholeprocedureofdevelopingthestudentinformationmanagementsystembasedonsoftwareengineeringthought.Italsoelaboratessystemanalysis,outlinedesign,detaileddesignandconcreterealization.ThedesignofthesystemadoptsJCreatorProasthedevelopingkit,useJavaLanguageandMySQLService5.1EnterpriseEditionasthebackstagesupporterDBMS(thedatabasemanagementsystem).Structurelifecyclemethodofexploitationisusedinawhole,butprototypelawandtheobject-orientedsystemmethodofexploitationfortheconcretemoduleimplementation.Accordingtotheneedofthissystem,itimplementsthestudentinformationmanagement、thecollegeandclassmanagement、coursesmanagementandtheachievementmanagement.WhatthisthesisdoesaimsatStandardmanagement、rapidscientificstatisticalandenquiriesstudentsinformationquiklytoenhancetheefficiencyofstudentmanagement.
Keywords:
studentsmanagementsystem;Java;MySQL
一、开发背景…………………………………………………………
(1)
二、系统分析…………………………………………………………
(2)
(一)可行性分析…………………………………………………
(2)
(二)需求分析……………………………………………………(3)
数据流图………………………………………………………(3)
数据字典………………………………………………………(5)
三、系统设计…………………………………………………………(7)
3.1系统目标……………………………………………………(7)
3.2系统功能结构图……………………………………………(7)
3.3构建开发环境…………………………………………………(7)
四、数据库设计………………………………………………………(8)
4.1数据库分析…………………………………………………(8)
4.2项目E-R图…………………………………………………(8)
4.3数据库表的设计……………………………………………(10)
五、功能实现以及系统预览…………………………………………(12)
六、系统测试…………………………………………………………(19)
6.1功能测试……………………………………………………(19)
6.2系统测试……………………………………………………()
6.3测试结论……………………………………………………()
六、结束语……………………………………………………………(21)
七、致谢………………………………………………………………()
八、参考文献…………………………………………………………()
九、附录………………………………………………………………()
附录一系统使用说明
附录二MySQL安装图解
一、开发背景
随着学校规模的不断扩大,学生数量的不断增多,原来人工记录的方式,甚至是一般数据存储管理软件已经不能满足学生管理的需求。
因为这些传统的管理方式存在太多的缺陷,示例如下:
*维护数据的性能低下;
*查询信息不方便;
*选课效率不高;
*维护成绩信息的工作量大,等等。
为了弥补诸如上述的缺陷,便于学生信息的管理和维护,提高管理的效率,从而开发出学生管理系统,以实现学校的信息化管理。
二、系统分析
(一)可行性分析
1.引言
某学校为了便于方便地管理各学院开设的课程,让学生更方便的选课并及时了解个人课程及成绩信息,同时提高学校的信息化水平,因此开发此学生管理系统。
1.1编写目的
从现有技术及学校的需求方面研究该学生管理系统的可行性,为需求分析提供依据。
1.2项目背景
项目提出者:
科信学院教导处。
项目开发者:
望月斋软件公司。
系统用户:
科信学院教务工作人员和该学校学生。
2.可行性分析的前提
2.1系统要求
学生管理系统必须包含学生的基本信息、课程的基本信息、成绩的基本信息,并且可以对上述信息进行基本的查询及管理。
2.2系统目标
学生管理系统的系统目标是实现学校学生的信息化管理,提高信息的维护性能,提高学校各项相关工作的进展效率。
3.对校方支出与收益的分析
校方现在使用的学生信息管理方法仍然是Excel,还有一部分工作需要纸张操作,占用大量的人力资源,对信息的维护不仅费用高,工作量大,而且信息的安全性、数据的完整性难以得到有效保障。
校方支出部分资金开发此系统后,大部分工作完全实现自动化,校方只需花费少量的人力物力进行必要地维护管理,数据的安全性和完整性可以得到有效地保障。
4.对公司技术的分析
学生管理系统可以用Swing+MySQL完成,公司之前已经开发过很多类似的项目,有着一套比较完整的开发体系结构,完全可以在规定时间内完成该系统的开发。
5.对公司支出与收益的分析
学生管理系统项目要求在三周内完成,要求有半年的维护期,经计算,去除开发费用与维护费用,公司最后所得利润为4万元,虽然不是很多,但对公司的成长是很有帮助的,可以增加公司技术的储备,增加对类似项目的开发熟练程度。
6.社会因素的分析
该系统是由本公司独立开发完成,是按本公司的开发体系结构进行开发,在法律方面没有任何侵权行为,完全符合合同的规定。
7.结论
根据以上分析,技术没问题,时间充裕,利润比较客观,而且对公司发展也存在一定的好处,为此公司决定开发此项目。
(二)需求分析
通过与科信学院教务人员的详细交流,目标系统具备以下功能。
1.教师客户端功能
*可以更改密码;
*可以添加学生,并要求填写学生基本信息;
*可以根据学号查询学生基本信息及其成绩;
*有权限控制,每个管理员只能管理其所在学院的信息;
*可以添加新课程、新班级;
*可以控制选课的课程范围,并可以控制选课的时间,即:
可以控制选课开始和结束时间;
*可以录入成绩,缓存成绩,检查无误后公布成绩。
2.学生客户端功能
*学生可以查看自己的基本信息;
*学生可以查看自己的成绩,已修学分和不及格成绩信息;
*学生端可以进行远程选课,并且可以查看课表。
根据以上相关功能,现规划数据流图和数据字典如下:
Ø数据流图
Ø数据字典
1)数据流:
编号:
F1
数据流名称:
用户名、密码
说明:
由用户提供,用户分为学生和管理员两种。
数据来源:
用户
数据流去向:
验证信息
数据流组成:
用户名=3~10个字母组成;密码=6~12个数字组成;
编号:
F2
数据流名称:
操作行为
说明:
由用户单击相应按钮实现
数据来源:
用户
数据流去向:
验证信息
数据流组成:
单击事件
其余数据流均由系统提供,最终传递给用户。
2)数据元素:
编号:
B1
名称:
用户名
类型:
字母
长度:
3~10
取值范围:
无
编号:
B2
名称:
密码
类型:
数字
长度:
6~12
取值范围:
无
3)数据存储:
编号:
D1
名称:
用户信息库
输入数据:
用户名、密码、相应操作产生的信息。
输出数据:
用户信息
存取方式:
顺序存储
4)处理:
编号:
P1
名称:
登录处理
说明:
由用户填写登录信息后进行验证,并且进行登录处理。
输入数据流:
用户名、密码
输出数据流:
登录成功
处理逻辑:
判断格式是否正确和用户名是否存在,正确登录,否则不登录。
编号:
P2
名称:
操作处理
说明:
由用户单击相应事件,系统验证相应操作的信息判断是否进行操作
输入数据流:
操作行为
输出数据流:
操作成功
处理逻辑:
判断操作行为是否符合系统要求,符合进行操作,不符不操作。
三、系统设计
通过前面的可行性分析和需求分析,该软件的开发对公司的发展较为有利,因此公司最终决定开发此软件。
下面对软件具体实现的目标进行确认。
3.1系统目标
*实现需求分析中所提供的功能。
*尽量提高键盘的易用性,减少操作。
*主界面要清晰明朗,采用树状列表控件作为导航。
3.2系统功能结构
3.3构建开发环境
开发该软件需要以下软件环境。
ØJDK-6u24-windows-i586及其以上版本:
选择JDK-6u24-windows-i586作为开发环境,是因为其是目前的最新版本,增加了许多以前版本所不具有的新特性。
ØMySQL-5.1.51-win32数据库:
MySQL是目前小型应用开发中比较流行的数据库,MySQL从5.x版本开始支持事务,进一步提高了数据的完整性和安全性。
四、数据库设计
4.1数据库分析
学生管理系统是由Swing+MySQL构成,是一个桌面的应用程序。
选择使用MySqL数据库,第一是因为该项目管理的数据量不是很大,MySQL数据库完全可以担当这个任务;第二个比较重要的原因是,MySQL从5.x开始支持事务,对数据的完整性和安全性有了更好地保障。
4.2项目E-R图
*学院、专业、班级的E-R图:
*课程信息E-R图:
*学生信息E-R图:
*可选课程信息E-R图:
*学生用户和教师用户E-R图:
*成绩E-R图:
*实体间简单关系图:
4.3数据库表的设计
五、功能实现以及系统预览:
学生管理系统共有三个窗体:
登录窗体、教师客户端窗体、学生客户端窗体。
主要操作如下:
(1)启动系统后,首先进入登录窗体,如图5-1所示,用户在该界面输入正确的用户名和密码后,选择相应的用户类型便可登录到相应的客户端窗体。
如果用户名或密码错误,则会弹窗错误提示对话框,如图5-2所示。
(2)当用户为教师时,登录成功后的窗体会自动全屏显示,展开左边的树状列表,如图5-3所示,然后通过单击不同节点进行相应的业务操作。
(3)通过单击“退出”节点时,系统会弹出对话框确认,如图5-4所示,根据用户选择进行相应操作。
(4)当有新生报到时,用户可以单击“新生报到”节点,进入如图5-5所示的添加学生窗体界面。
(5)当教师需要查询某个学生的基本信息时,可以单击“基本信息查询”节点输入学号进行查询,界面如图5-6所示。
(6)每学期开始,各学院都应该为学生安排可选课程,这时可以通过“开课选项设置”进入选课设置界面进行操作,如图5-7所示。
(7)教师进行课程设置后效果如图5-8所示。
在每个学期期末,需要对学生的成绩进行录入,用户通过“课程成绩录入”模块进行录入操作,如图5-9所示。
(8)教师还可以通过点击“添加课程”、“添加班级”节点,进行添加课程和班级操作,如图5-10和图5-11所示。
(9)教师可以点击“修改密码”来修改自己的登录密码,如图5-12所示。
(10)如果用户是学生,登录后的窗体也会自动全屏显示,展开树状列表后的界面如图5-13所示。
(11)当学生需要选课时,可以通过单击“选课”节点进入如图5-14所示的选课界面进行选课。
(12)在学生选课过程中,随时可以点击“课表显示”节点查看课表,如图5-15所示。
(13)学生点击“已修课程成绩”节点时,便可进入已修课程查看界面,查看成绩和学分,如图5-16所示
六、系统测试
6.1功能测试
6.2系统测试
6.3测试结论
测试用例1:
系统登录测试如下表所示:
(1)
身份类型为管理员
(2)身份类型为学生
测试用例2:
教师查询学生基本信息
结束语
学生管理系统的完成,对学校的管理带来了方便,也对教师是一个很好的帮助,方便管理,提高了工作的效率。
在本系统开发过程中,由于本人是初次开发软件,在知识、经验方面存在不足。
另外在整个开发过程中,时间也比较仓促,因此,该系统必然存在一些缺陷和不足。
因为对学生的管理整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
另外,由于自身对网络的不熟悉,本应做到C/S客户端/服务器的软件,结果不能达到预期效果,实为遗憾。
虽然该系统存在诸多的不足,但其功能均已经实现,易于日后程序的更新、数据库管理容易、界面友好、操作方便、安全性好。
相信本学生管理系统是一套学校在日常管理中必不可少的管理软件。
通过开发这个软件,我掌握了项目的开发过程,了解了基本知识,巩固了我对Java编程语言和软件工程思想的学习
参考文献
[1]陈志泊.数据库原理及应用教程.北京:
人民邮电出版社,2008.
[2]吴亚峰.30天学通Java项目案例开发.北京:
电子工业出版社,2010.
[3]刘竹林.软件工程案例开发项目与实践.北京:
清华大学出版社,2009.
[4]张永常.Java程序设计实用教程.北京:
电子工业出版社,2007.
[5]宾海清,李建喻.Java基础与实例精解.北京:
北京航空航天大学出版社,2009.
[6]JDK帮助文档1.6版.