第1章序言
1.1项目开发的背景
1.2项目开发的意义
1.3项目开发的目标
1.4可行性研究
1.5相关技术选择
第2章需求分析
2.2功能需求
2.3性能需求
第3章总体设计
3.1系统整体设计
3.2系统模块设计
3.3数据库设计
第4章数据库设计
4.1关系模块设计
4.2表结构设计
第5章详细设计
5.1模块的详细设计
5.2人机界面设计
第6章结束语
6.1项目总结
6.2项目运行测试
6.3系统需要改进与提高的地方
6.4项目下一步展望
第1章序言
1.1项目背景
如今,随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而方便管理。
学生信息管理系统是一种信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统能有效地减轻学校相关工作人员的工作负担,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询简单、效率高、可靠性好、存储量大、保密性好、寿命长、经济适用等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化、制度化管理,与世界接轨的重要条件。
1.2项目意义
学校机构很多,其中要数教导处的工作最为繁重,人员多,信息量大。除财务部门有专人及专用软件进行信息处理外,其它各类的数据处理都由班主任以及教导处工作人员人工完成。教导处目前有几十个班级的学生,处理的信息主要有:学生信息、课程信息、成绩数据,对于学生信息,各班的班主任及学校领导由于各种分类和了解的需要,经常性地进行各种查询。例如:查询一个班级中团员的人数,男、女生的人数,住宿学生的人数等等。教导处在每一届学生进校时必须进行分班,设置学号;每一届学生毕业,要进行学生信息备份对于成绩管理,课任教师要进行本科目成绩登记,计算平均分、优秀率、及格率;班主任在期中考试和期末考试后计算本班学生总分,排名次;教导处要统计补考学生人数及相应名单,每学期进行学生成绩备份;学校领导则可通过查询工具来了解学生成绩情况对于课程信息,教导处每学期要进行课程安排、课任教师分配、一周课程安排、途课程调整等等。以上各类信息目前还处于手工或半手工的管理状态,可靠性差,效率低,.如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,
1.3项目目标
通过自己的努力运用自己所学的知识做一个方便大家的系统
为广大老师查询学生信息上传、修改、删除学生成绩提供方便,也为学生察看自己的成绩课提供信息。
1.4可行性研究
1.4.1技术可行性
本系统采用面向对象的软件开发办法,以Microsoft公司的可视开发环境VisualFoxpro和java作为主要开发工具,使用MicrosoftAccess2000作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,放问数据库,对数据库的更新,较好地实现了预定的需求功能。
1.4.2经济可行性
由于这个系统是以Microsoft公司的可视开发环境VisualBasic6.0作为主要开发工具,使用MicrosoftAccess2000作为关系数据库,所以开发周期短安装及使用方便,只需简单的设置就可以使用只要懂得计算机基本操作就可以轻松上手。所以经济上市可行的。
1.4.3社会
本系统可以用于公司人事部门对公司员工的信息统计。造福社会,给社会带来经济效益
第2章需求分析
2.1功能需求
2.1.1学生信息管理功能
1添加学生。以班级为单位,进行学生入库。其中分为单个添加和成批添加。单个添加学生供数量较少的学生信息入库;成批添加可以从现存的学生信息EXCEL文件中成批录入到数据库中。
2删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删
3整个班级的删除,所有学生信息的删除。
4新生导入。新生导入实现从现存EXCEL新生名单中录入学生信息。
5新生分班。分班功能实现按新生的报考专业、成绩及性别进行分班。
6为新生设置学号。设置学号实现自动为各班学生编发学号。
7学生信息备份。在学生信息删除前,将其按班级为单位保存到备份数据库。
2.1.2学生成绩管理功能
1分数录入。以班级为单位,录入各科目的期中、期末、总评成绩。总分及名次。计算指定班级学生的总分及名次。
2补考成绩录入。修改总评成绩,以决定最终补考人数。
3成绩备份。为指定班级及指定的学期数的学生成绩保存到备份数据库
2.1.3课程信息管理功能
课程管理。提供本学期各年级各专业所开课程名称的录入、修改、删除。它是学生成绩管理的基础。用以保证数据库中一致性原则。
2.1.4查询功能。
可以查询用户所需要的信息。
2.2性能需求
1安全可靠2密码验证技术
3在SQL语句上采用了存储过程式的参数传递信息,有效防止了SQL注入。
2.3数据流图
第3章总体设计
本系统总体设计包括:系统功能模块图设计、数据库设计、系统类图设计、软件体系结构设计等。
3.1功能模块设计
3.2 系统结构图设计
每一层的说明如下:
1.WEB页面表现层:
这一层里面主要放置的是网页前台显示内容。是用户与系统的接口,用户通过页面界面来进行各种各样的操作。从而与我们的系统进行交互,用户的使用体验也是通过界面实现的,包括用户操作的成功与失败,提示信息。用户操作之后结果的呈现都是通过页面表现层来实现的。2.逻辑层
逻辑层是对数据操作层的封装,它提供了很多类以及方法等以供页面表现层调用从而实现各种操作。
3.数据操作层
数据操作层调用DBUtility数据操作接口直接对数据库进行操作,从而实现各种对数据库的操作。同时数据操作层逻辑层的底层实现。
4.DBUtility数据操作接口
提供了一些访问数据库的类和方法,这些类和方法直接操作数据库。供DAL数据操作层以操作数据库。
5.数据库实体
这层是对数据库每一张表以面向对象的方式进行的封装,数据库中的每一张表都被封装为一个实体对象,表中的每一个字段对应于对象的一个属性。
第4章数据库设计
4.1关系模式设计
4.2表结构设计
1.学生表
2.课程表
3.成绩表结构
4.操作员表
第五章详细设计
首先建立一个名为“CollegeMS.jpx”的工程文件,然后在工程文件中建立一个名为mainApplicatin.java的应用程序,然后开始以下设计。
1.主窗口
主窗口是应用程序的主界面,由它负责调用其它模块。根据1.1系统模块设计的总体结构,主窗口包括系统管理、操作员管理、学生基本信息管理、课程信息管理和学生成绩管理等五个模块,如图5-1所示。在主窗口中通过单击相应的菜单项调用相应的功能模块。源程序为
2.登录界面
(1)界面设计
为了保证系统的安全,在登录界面中输入正确的操作员名称和操作员密码,才能进入主界面,否则退出应用系统。登录界面如图5-2所示。
3.系统管理模块设计
系统管理模块中包含3个子模块,操作员登录、操作员管理和退出系统。操作员管理子模块中又包含3个子模块,添加操作员、删除操作员和修改操作员。
(1)操作员登录模块
操作员登录界面如图1.3所示。本模块的处理过程:首先校验操作员名称和操作员名是否为空,若为空出现相应的提示信息;然后生成sql操作语句,查询要登录的操作员名是否存在,若存在执行下一步操作,若不存在提示并返回;再根据操作员的名称来确定操作权限,执行主窗口中的setEnable()方法赋予操作员相应的操作权限。
(2)添加操作员模块:
添加操作员模块的功能是完成添加新操作员,输入的数据包括:操作员名称、密码和权限。添加操作员界面如图5-3所示。
(3)删除操作员模块:
删除操作员模块的功能是完成操作员的删除,输入的数据包括:操作员名称和密码。删除操作员界面如图5-4所示。
本模块的处理过程:
首先校验操作员名称和密码是否为空,若为空出现相应的提示信息;生成sql操作语句,查询要删除的用户名是否存在、密码是否正确,若存在执行删除,若不存在提示并返回。
(4)修改操作员模块:
修改操作员模块的功能是实现对操作员的名称和密码进行修改,输入的数据包括:操作员名称、操作员原密码、操作员新密码和确认密码。修改操作员界面如图5-5所示。
本模块的处理过程:
首先校验操作员名称名和密码是否为空,若为空出现相应的提示信息;检验新密码和确认密码是否一致;生成sql操作语句,查询要修改的操作名是否存在、密码是否正确,若存在执行修改,若不存在提示并返回。4.学生管理模块
学生管理模块中包含3个子模块,学生信息添加、学生信息浏览和学生信息查询。
(1)学生信息添加模块:
学生信息添加模块的功能是完成添加新入学的学生,输入的数据包括:学号、姓名、性别、出生年月、奖学金和简历。学生信息添加界面如图5-6所示。
(3)学生信息查询
学生信息查询模块的功能是完成对学生信息的查询操作,在该模块使用了JTable组件,一次可显示多条满足条件的记录。学生信息查询界面如图5-7所示。
第6章结束语
时间很紧,网上找了点资料,自己也做了点。加入了一些自己的想法。通过这十几天的努力,终于完成了。对软件工程有了更深入的了解,至少以后别人问我与软件工程的问题时我会说出一点了,知道了软件的文档真的很重要。知道需求分析可行性分析总体设计,数据库设计详细设计。能力有限,做的不够好,还请老师见谅。