一. 学生信息管理系统的需求分析
1. 引言
系统研究的背景和意义
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。但其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,所以利用计算机实现学生信息档案管理成为必然的趋势。本系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
系统背景
学生信息档案管理是高校管理的重要组成部分。学生的稳定是学校快速发展的有力保障,这不仅仅关系到学生在校期间的表现,在很大程度上度量了一个学生的跟踪管理。学生管理的重要性不言而喻,但是学生管理在学校中很繁琐的,在每个系,每个学生都需要有对应的档案记录。在学校各项管理中,学生管理牵涉到的其他管理内容是最复杂的,它牵涉到了学生个人档案管理、日常考核管理、成绩管理等。所以在实际管理工作中,往往由于记录的数量多、管理复杂、可连续性差,造成学生管理的混乱。对这一混乱,最好的解决办法就是借助计算机技术和数据库管理系统,对整个学生管理进行记载,并实行电子化管理。本课题的目的就是开发“学生信息档案管理系统”,通过这一系统来掌握学生的管理情况,实现学生信息管理的电子化,提供一个电子化的学生管理平台。
学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。
关键字:信息管理系统 管理系统 学生管理系统 java项目开发
2.学校工作流程分析
学校工作总体规划是由教务人员在学生学籍信息管理系统中完成.教务处所要的是基本的数据维护包括信息怕增加,修改及对各项信息的变动等操作.
每当新的学年到来,教务人员首先加入年级信息,然后编排班级,再对校学生进行录入,新生入学后由教务人员在学籍系统中完成新生信息的维护.
每举行一次考试后由任课老师对本科的成绩进行录入.
教务处,,班主任及任课老师根据实际情况录入的成绩进行维护各位同学可以对系统中录入的信息根据自己的需要进行适当的查询.
每个学期教务人员还可以对各个年级的各个班进行安排课程
每个学期都学生都可以自己主对某些课程进行选修.
Use Case图
3.学校具体需求分析
学生:对各科成绩的查询,对自己档案查询,对自己课程的选修设定.
任课老师:输入并维护所教科目的学生成绩,并对学生成绩进行分析.
班主任:输入并维护本班的基本信息,查看学生的档案信息,交费信息以及各科的成绩.
教务人员:学校全体成员的信息管理,对课程安排,对学生的信息进行必要的维护.
系统管理员:管理员管理用户账户,以及对需要用户的人进行分配用户名和密码.
二.学生信息管理系统的功能模块设计
学生信息管理系统由登录系统,系统管理,班级管理,学生档案管理,学生交费管理,课成管理,成绩管理等模块组成.具体如下:
1.登录管理模块
该模块由登录框和用户身份选择组成.
2.系统管理模块
该模块由用户管理和系统设置组成
3.班级管理模块
该模块由班级浏览,班级添加,班级删除组成
4.学生档案管理模块
该模块由档案的添加,档案浏览,档案删除,档案查询组成
5.学生职务管理模块
该模块由基本学费设置,学生职务添加,修改,查看,删除
6.课程管理模块
课程设置,成绩添加,班级课程设置组成.
7.成绩管理模块
该模块由考试类型设置,成绩添加,成绩浏览组成.
具体功能模块图如下:
三.系统设计
1软件模块结构设计
1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
1.2软件结构设计
1.3 程序的具体设计过程:
针对这个项目,应用面向对象的思想,把每一个功能模块都做有的数据接口类,和相应的代理模块,视图层直接通过类来创建对象来对每一个功能模块的方法调用.通过对方法的封装,这样更能体现面向对象的思想.
对用户管理模块设计:
User_info类: 把代理层所用到的数据进行封装
User_info_Proxy类:用户管理模功能块所用到的方法都封装到该类里面.
对学生档案管理模块设计:
Student_info类: 把代理层所用到的数据进行封装
Student_info_Proxy类:学生档案管理模功能块所用到的方法都封装到该类里面.
对成绩管理模块设计:
Score_info类: 把代理层所用到的数据进行封装
Score_info_Proxy类:成绩管理模功能块所用到的方法都封装到该类里面.
对职务管理模块设计:
Worker_info类: 把代理层所用到的数据进行封装
Worker_info_Proxy类:职务管理模功能块所用到的方法都封装到该类里面.
对班级管理模块设计:
Class_info类: 把代理层所用到的数据进行封装
Class_info_Proxy类:班级管理模功能块所用到的方法都封装到该类里面.
对课程管理模块设计:
Course_info类: 把代理层所用到的数据进行封装
Course_info_Proxy类:用户管理模功能块所用到的方法都封装到该类里面.
对学生端查询管理模块设计:
Chaxun_student_info类: 把代理层所用到的数据进行封装
Chaxun_student_info_Proxy类:学生端查询管理模功能块所用到的方法都封装到该类里面.
工程本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
E-R图
三.数据流程分析:
数据词典:
1.数据流条目
操作请求=[档案添加|档案删除|档案修改|档案查找]
档案添加=学号+姓名
档案删除=学号
档案修改=学号
档案查找=学号
档案记录=学号+姓名+性别+年龄+住址+电话+班级+入学时间+备注
操作请求=[班级添加|班级删除|班级修改|班级查找]
班级添加=班级号+班级名
班级删除=班级号
班级修改=班级号
班级查找=班级号
班级记录=班级号+班级名+年制+专业
操作请求=[成绩添加|成绩删除|成绩修改|成绩查找]
成绩添加=学号+姓名
成绩删除=学号
成绩修改=学号
成绩查找=学号
成绩记录=学号+课程名+成绩+学期+课程类型
操作请求=[课程添加|课程删除|课程修改|课程查找]
课程添加=课程号+课程名
课程删除=课程号
课程修改=课程号
课程查找=课程号
课程记录=课程号+课程名
操作请求=[职务添加|职务删除|职务修改|职务查找]
职务添加=学号+姓名
职务删除=学号
职务修改=学号
职务查找=学号
职务记录=学号+姓名+职务名称+备注
操作请求=[用户添加|用户删除|用户修改|用户查找]
用户添加=用户号+姓名
用户删除=用户号
用户修改=用户号
用户查找=用户号
用户记录=用户号+用户密码+权限
2.数据文件条目
文件名:学生档案文件
数据组成: 学号+姓名+性别+年龄+班别+住址+邮编+电话+班级+入学时间+备注
数据组织:按学号递增排列
文件名:班级文件
数据组成: 班级号+班级名+年制+专业
数据组织:按班级号递增排列
文件名:学生成绩文件
数据组成: 学号+课程名+成绩+学期
数据组织:按学号递增排列
文件名:学生课程文件
数据组成: 课程号+课程名
数据组织:按课程号递增排列
文件名:学生职务文件
数据组成: 学号+姓名+职务名称+备注
数据组织:按学号递增排列
文件名:用户文件
数据组成: 用户号+用户密码+权限
数据组织:按用户号递增排列
3.数据项条目
baseCourse_ID=C(10) 表示长度为10的字符串
baseCourse_name=C(30) 表示长度为30的字符串
baseCourse_printer=C(30) 表示长度为30的字符串
class_nane=C(20) 表示长度为30的字符串
class_zhuangye=C(50) 表示长度为50的字符串
class_xueqi=C(50) 表示长度为50的字符串
course_name=C(50) 表示长度为50的字符串
course_stytle=C(20) 表示长度为20的字符串
class_ID=C(10) 表示长度为10的字符串
class_name=C(20) 表示长度为20的字符串
class_nianji=C(10) 表示长度为10的字符串
class_year=C(10) 表示长度为10的字符串
class_zhuangye=C(50) 表示长度为50的字符串
class_master=C(20) 表示长度为20的字符串
class_describ=C(200) 表示长度为200的字符串
score=C(20) 表示长度为20的字符串
xueqi=C(50) 表示长度为50的字符串
style=C(50) 表示长度为50的字符串
stu_ID=C(20) 表示长度为20的字符串
stu_courseName=C(50) 表示长度为50的字符串
stu_xueqi=C(50) 表示长度为50的字符串
stu_stytle=C(50) 表示长度为50的字符串
student_ID=C(10) 表示长度为10的字符串
student_name=C(10) 表示长度为10的字符串
student_sex=C(2) 表示长度为2的字符串
student_birthday=C(10) 表示长度为10的字符串
student_address=C(50) 表示长度为50的字符串
student_mail=C(10) 表示长度为10的字符串
student_tel=C(10) 表示长度为10的字符串
student_class=C(10) 表示长度为10的字符串
student_enterTime=C(10) 表示长度为10的字符串
student_describ=C(200) 表示长度为200的字符串
user_ID=C(20) 表示长度为20的字符串
password=C(16) 表示长度为16的字符串
authority=C(10) 表示长度为10的字符串
jiwu=C(20) 表示长度为20的字符串
work_onTime=C(20) 表示长度为20的字符串
work_leaveTime=C(20) 表示长度为20的字符串
describ=C(20) 表示长度为20的字符串
zhuangye_ID=C(20) 表示长度为20的字符串
zhuangye_name=C(50) 表示长度为50的字符串
zhuangye_stytle=C(20) 表示长度为20的字符串
数据库表的设计:
基本课程名表:
列名 | 数据类型 | 可否为空 | 说明 |
baseCourse_ID | Varchar(20) | Notnull | 基本课号 |
baseCourse_name | Char(50) | Notnull | 基本课程名 |
baseCourse_printer | Char(30) | Null | 出版社 |
列名 | 数据类型 | 可否为空 | 说明 |
class_nane | Varchar(20) | Notnull | 班级号 |
class_zhuangye | Char(50) | Notnull | 专业 |
class_xueqi | Char(30) | Notnull | 学期 |
course_name | Char(50) | Notnull | 课程名称 |
course_stytle | Char(20) | Notnull | 课程类型 |
列名 | 数据类型 | 可否为空 | 说明 |
Class_ID | Varchar(20) | notnull | 班级号 |
Class_name | Char(20) | Notnull | 班级名 |
Class_nianji | Char(4) | Notnull | 年级 |
Class_year | Char(10) | Notnull | 年制 |
Class_zhuangye | Char(50) | Notnull | 专业 |
Class_master | Char(10) | Notnull | 班主任 |
Class_describ | Char(200) | null | 备注 |
列名 | 数据类型 | 可否为空 | 说明 |
Student_ID | Varchar(20) | Notnull | 学号 |
course_name | Char(50) | Notnull | 课程名 |
score | int | Notnull | 成绩 |
xueqi | Char(50) | Notnull | 学期 |
style | Char(20) | Notnull | 开课类型 |
列名 | 数据类型 | 可否为空 | 说明 |
Student_ID | Varchar(20) | Notnull | 学号 |
Student_name | Char(20) | Notnull | 姓名 |
student_sex | Char(4) | Notnull | 性别 |
student_birthday | Char(20) | Notnull | 出生日期 |
student_address | Char(50) | Notnull | 住址 |
student_mail | Char(20) | Notnull | 邮编 |
student_tel | Char(20) | Notnull | 电话 |
student_class | Char(20) | Notnull | 班别 |
student_enterTime | Char(20) | Notnull | 入学时间 |
student_describ | Char(200) | null | 备注 |
列名 | 数据类型 | 可否为空 | 说明 |
stu_ID | Varchar(20) | Notnull | 学号 |
stu_courseName | Char(50) | Notnull | 学生选课课程名 |
stu_xueqi | Char(20) | Notnull | 学期 |
stu_stytle | Char(20) | Notnull | 开课类型 |
列名 | 数据类型 | 可否为空 | 说明 |
User_ID | Varchar(20) | Notnull | 用户名 |
password | Varchar(16) | Notnull | 密码 |
authority | Varchar(10) | Notnull | 权限 |
列名 | 数据类型 | 可否为空 | 说明 |
student_ID | Varchar(20) | Notnull | 学号 |
jiwu | Varchar(50) | Notnull | 职务 |
work_onTime | Varchar(50) | Notnull | 上职时间 |
work_leaveTime | Varchar(50) | Notnull | 离职时间 |
describ | Varchar(200) | null | 备注 |
列名 | 数据类型 | 可否为空 | 说明 |
zhuangye_ID | Varchar(10) | Notnull | 专业号 |
zhuangye_name | Varchar(50) | Notnull | 专业名 |
zhuangye_stytle | Varchar(10) | Notnull | 专业类型 |
列名 | 数据类型 | 可否为空 | 说明 |
xueqi | Varchar(20) | notnull | 学期 |
学生信息系统 总信息流图
第五章.系统的功能
1系统登陆界面:
一运行程序,首先运行的就是登入页面,在此页面里,必须填入使用者的ID和密码,系统则自动识别其权限,以便使其能对相应的模块进行操作管理,在进入系统的同时,如果系统识别出使用者的权限为系统工作人员或管理员时,系统将自动检测主页面的情况,如发现是教师时,系统的主页面有些功能将不能运行,而在进入时,系统识别为其它权限时,则不会有信息提示。一旦通过系统检测,将进入系统主页面。如果是学生是,只能进入学生端口,进行一些基本的查询,和选课设定.
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USER表中,本系统根据不同的用户而设置了不同的权限。
而添加帐号中可以重新申请一个新的帐号和密码。
2系统主窗口:
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有7个功能菜单和11个子菜单(功能模块),从而实现了本系统从系统管理,班级管理、档案管理、课程管理、成绩管理,职务等系统的具体功能.
1 系统管理模块:
本模块主要是用户对系统参数的设定(包括专业的添加,学期的添加).用户密码的修改,用户的切换
2班级管理模块:
该模块的功能是实现对全校班级的管理工作,包括:班级浏览、班级添加、班级查询等,这三个功能模块各自,完成学校的全部班级的管理。
3学生成绩信息管理模块:
学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩游览、成绩查询等功能模块。因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。
成绩管理业务流程图:
5 学生信息管理模块:
该模块的功能的实现对全校的学生的档案进行管理,包括:学生基本信息的添加,修改,删除,保存
6 课程管理模块:
该模块的功能是实现对全校所有的课程管理,包括各班的课程设置,删除
8 成绩管理模块:
该模块的功能是对全校学生的成绩的管理,包括每次考试的成绩的添加,修改,删除,保存.
9 职务管理模块:
该模块的功能是对学生的职务记录的管理
3 学生端口模块:
该模块的功能是学全对学生的成绩的查询,基本信息的查询,课程的选择
第五章.全文总结
在这里我介绍一本系统优缺点:
本系统优点:
(1)、界面友好
本系统缺点:
(1)、由于时间的关系,本系统制作可能简单了点,缺少了很多控件而使系统不是很完整。
我在这次设计后深深的感受到“一分耕耘,一分收获”。设计的过程是辛苦的,但当设计完成时会有一种满足感,而且自己也收获不少。通过这次设计,我发觉我学到了很多东西,把学到的东西都派上了用场。在我的设计中体现了几年来大学的学习和生活的价值。。。。。。。。。。。。
参考文献
[1] 周佩德.《数据库原理及应用》.电子工业出版社
[2] 刘炳文等,VISUAL BASIC程序设计——数据库篇,1999
[3] java2 实用教程 清华大学出版社
[4] java 课程设计案例精编 中国水利水电出版社