学生信息管理系统
引言
1.1目的
该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化.实现保证软件质量的前提下的资金投入最小化.
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理。
1.2国内外研究动态
随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展.学生管理正在逐步迈向管理信息现代化.但是,我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式.这就造成工作效率低、误差大,也造成了人力、物力、财力资源的浪费.与此同时,学校是培养国家栋梁之材的场所,无论是在教育,还是在管理上都应走在最前列,而其中管理又是学校运转良好的关键.如何提高管理,是当前学校管理者所面临的重要课题.
在当今的时代,网络技术与计算机软件技术已经愈来愈广泛地应用到教育系统中各个方面.使用计算机管理系统不仅可以简化学校传统的管理模式,使学校管理人员能够方便地利用学校内部信息对学生档案、学生收费进行全面管理,更重要的是利用计算机的技术可以使学生管理规范化、制度化、数字化、提高管理水平、降低管理成本、减轻工作强度、提高工作效率,使学校以高效率运转.计算机技术在校园中的应用顺应了我国的国情,实现了教育要面向现代化,面向未来的指导思想,是学生管理走向现代化的有力武器.
2、系统的分析与定义
2.1 需求分析
“百年大计,教育为本。”可见教育在国家的建设与发展中起着重要的作用,占据着重要的战略地位,特别是今年来科学地位的快速发展,学校的教育管理水平不断地提高,积极地推动了我国教育事业的发展,计算机的引用与普及进一步加快了学校的信息化管理。
在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,这一技术具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程中具有一定的竞争优势,也是企业实现科学化,正规化,现代化的重要条件。
2.2 系统开发思路
2.2.1编程环境的选择
微软公司Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
Windows下的 Visual是一种操作方便,使用简单的新工具。Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可扩展性和强有力的功能。 Visual Basic应用由一个系列对象组成,包括在函数菜单结构和数据窗口用户对象用户事件等等,对象中又包含若干控件如命令按钮单行编辑器等这些对象和控件都可在许多应用中重复使用。
Visual Basic是一个强大的Windows平台上的开发工具,从开发个人或小组使用的小工具,到大型企业应用系统,甚至遍及全球分布式应用程序,都可在Visual Basic提供的工具中各取所需。Visual Basic之所以在这么广泛的用途是因为它具有以下特点:
正的面向对象编程,使开发人员在维护系统运行时只需修改很小的代码,同时也加快了系统开发的速度。
可视化的编程方法,以及向导的功能,使开发人员几乎不用加入太多代码就可以开发出标准的Windows程序。
数据访问特性允许对Microsoft SQL Server包括和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序。
通过ActiveX技术可使用其他应用程序提供的功能,例如Microsoft Word 字处理器,Microsoft Excel电子数据表及其他Windows应用程序,甚至可以直接使用Visual Basic创建的应用程序和对象。
(5)已完成的应用程序是真正的.exe文件,供运行时的可自由发布的动态链接库(DDL)
3 系统总体规划
3.1系统功能
3.1.1系统管理模块
在新加入用户时,我们可以利用些功能,增加该用户的信息或修改用户信息。
3.1.2学生管理模块
在班级里来新学生时,我们可以利用些功能,增加该学生的信息。
3.1.3成绩管理模块
当学生成绩信息考核完成,可通过此功能来进行添加、修改、班级查询。
3.1.4课程管理模块
新学期开始,对班级课程的添加、修改
3.1.5班级管理模块
根据新生分班后的.对班级的添加、修改功能来实现.
应用程序的界面如下图所示:
查询操作流程图:
3.2、 数据库创建及使用
创建数据库的必要性:数据库是一个集中存储各种信息的数据库对象的地方,为每一个应用创建一个专用的数据库空间,可以提高集中管理程度,有效的进行信息处理。达到快速、准确的目的。
数据库文件有主要数据文件.mdf(主要存储数据) ,次要数据文件.ndf ,次要数据文件 .ldf。
创建方法:图形方法和代码方法。
图形创建:
1.启动SQL SERVER企业管理器:
2.打开SQL SERVER控制台下已经注册的SQL SERVER服务器(如SERVER),选中“数据库”,如下图
3.在“数据库”上单击右键,在出现的快捷菜单中单击“新建数据库...”
4.在出现的“数据库属性”对话框里的“名称”输入框中输入你想建立的数据库的名称(可以单击“数据文件”或“日志文件”页标签看一下文件的保存位置及名称),如:MyDB
然后单击“确定”按钮,稍等待几秒(视机器的配置与环境而不同)数据库就会创建成功。则“数据库”结点下就会多出一个名为“MyDB”的数据库。此时就可以对此属于你自己的数据库进行各种操作。
SQL创建数据库
1.单击“工具”下的“SQL查询分析器”或用与“企业管理器”中一个文件夹下的“SQL 查询分析器”均可。
2.打开的结果如下(可以这个窗口中用T-SQL进行几乎所有的数据库操作):
3、在窗口中输入创建数据库的T-SQL代码:Create Database MyDB(可以指定主文件名、日志文件名、文件的保存位置及名称等,如果不指定默认创建到SQL SERVER安装时指定的位置),输入命令之后单击 或按F5(以后在运行T-SQL语句时,均可先选中再按F5键运行)运行,正常运行结果如下:
4.此时表示数据库创建成功,可以到“企业管理器”界面中去查看。
此时表示数据库创建成功,可以到“企业管理器”界面中去查看。
4、总体设计
4.1运行环境
系统开发工具:visual Basic 6.0+ SQL2000 系统运行平台: Windows 2000 Windews XP
运行环境:软件基本运行环境为Windows环境
4.2系统总体结构
系统开发的总体任务是实现信息关系的系统化、规范化和自动化。模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
系统的结构关系图如下:
图1系统结构关系图
结构关系图描述
系统的结构关系图是系统的总体功能分析,是在系统开发的总体任务的基础上完成的。本项目中的学生信息系统需要完成的功能主要有:
有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等。
学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。
学生信息的修改。
班级管理信息的输入,包括班级设置、年级信息等。
班级管理信息的查询。
班级管理信息的修改。
学校基本课程信息的输入。
基本课程信息的修改。
学生课程的设置和修改。
学生成绩信息的输入。
学生成绩信息的修改。
学生成绩信息的查询。
学生成绩信息的统计。
4.2.1功能分配
从程序的结构中可以看出,学生的信息输入输出功能是由学生管理系统进行的。课程的信息输入输出是由课程管理系统进行的,而班级的信息流动则是班级管理系统进行的。
4.3子系统描述
学生子系统的结构图应该包括学生基本信息、所在的班级、所学课程和成绩等以及相对应的数据结构规约.
班级子系统应该包括班级设置、年级信息等等与与之对应的数据规约.
课程子系统应该包括课程信息、开课时间、选课人数等等数据规约.
4.4、结构字典
由于该信息系统与之子系统结构简单,如上图系统结构规约显而易见,故省略该项内容。
4.5、结构连接图和说明
图2系统结构关系图
4.6. 系统建模和模拟结构
4.6.1. 用于模拟的系统模型
该系统的主要结构与功能在上面两张图中(系统结构关系图\结构连接图)已非常清楚,用于模拟的系统模型参照上图,主要模块及功能可分为系统管理\成绩管理\学籍管理\课程管理\班级管理.使用上述系统的模型可对系统进行初步的模拟.
4.6.2. 模拟结果
使用系统模型对整个系统进行初步的模拟之后可得出系统的模拟结果,系统的主要功能设计合理,且易操作,系统的主要目标已达到.系统模型模拟成功
4.7、处理流程
系统的总体处理数据流程如下图:
图3总体处理流程图
4.8软件结构
在总体设计阶段产生的软件结构图如软件概要说明书中的软件数据结构设计,整个软件的结构已非常的明了了,软件系统的结构图如下图。下面就进行软件的详细设计阶段,进行逐个模块的详细设计
图4详细设计软件结构图
4.9 程序描述
以下逐个模块给出说明:
4.9.1.系统用户管理模块
. 功能
系统管理模块主要实现以下功能:
●用户登录
●添加用户
●修改用户密码
输入输出:
系统启动后,将首先出现用户登录窗体,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序
.算法
在学生信息管理系统中都统一使用 PAD 图,即树形问题分析图(Problem Analysis Diagram)。
4.9.2.学籍管理模块
. 功能
学籍信息管理模块主要实现以下功能:
●添加学籍信息
●修改学籍信息
●查询学籍信息
.算法
学籍管理模块PAD图如下:
图5添加功能子模块PAD图
图6修改功能子模块PAD图
图7查询功能子模块PAD图
4.9.3.班级信息管理模块
. 功能
班级信息管理模块主要实现以下功能:
●添加班级信息●修改班级信息
.算法
班级信息管理模块的算法包括班级信息的添加和修改与学籍管理的添加和修改类似一样。
4.9.4.课程设置模块
. 功能
课程设置模块主要实现以下功能:
●添加课程信息●修改课程信息●设置年级课程
.算法
与班级和学籍的添加与修改类似。
4.9.5.成绩管理模块
. 功能
成绩管理模块主要实现以下功能:
.算法
与班级和学籍的添加与修改类似。
4.9.6.帮助模块的设计
一个良好的Windows应用程序应该提供一个About窗口,其中包括本系统的名称。所有者,联系方式,版本号,与专利信息等
5数据库
5.1 数据描述
5.1.1静态数据
静态数据是系统内部有关的数据结构与操作规程。
具体可包括:系统用户表格user_Info 学生基本信息表格student_Info 班级信息表格class_Info 课程基本信息表格course_Info 年级课程设置信息表gradecourse_Info 学生成绩信息表result_Info..等
5.1.2 动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.就是学生信息
5.1.3 数据库描述
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.
本系统的实体有:学生实体,班级实体,课程实体.各个实体具体的描述E-R图如下
图8学生实体E-R图
图9班级实体E-R图
5.1.4 数据字典
传统的数据字典包括以下几种类型的条目:
(1).数据流条目--数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。该系统中的数据流条目有
学生基本信息=学号+学生姓名+学生性别+出生日期+班号+联系电话+入校时间+家庭住址+注释
班级信息=班号+年级+班主任+教室
课程信息=课程编号+课程名称+课程类型+课程描述
年级课程信息=年级+课程名称
学生成绩信息=考试编号+学生学号+学生姓名+学生班号+课程名称+分数
系统用户信息=用户名称+用户密码+用户描述
(2).文件条目--文件条目给出某个文件的定义,列出它的组成数据项,此外还要给出文件的组织形式
例:学生信息文件={学生基本信息记录}+{学生成绩记录}
主键:学生学号+课程号
(3).数据元素条目--给出某个数据单项的定义,通常是数据项的值类型
例:学生基本信息记录中“学生学号”的数据值类型为数值类型,有效值范围为000000~999999。
5.2 数据结构设计
5.2.1. 逻辑结构设计
student_Info 学生基本信息表
列名 数据类型 可否为空 说明
student_ID INT(4) NOT NULL 学生学号(主键)
student_Name CHAR(10) NULL 学生姓名
student_Gender CHAR(2) NULL 学生性别
born_Date DATETIME(8) NULL 出生日期
class_No INT(4) NULL 班号
tele_Number CHAR(10) NULL 联系电话
ru_Date DATETIME(8) NULL 入校时间
address VARCHAR(50) NULL 家庭住址
comment VARCHAR(200) NULL 注释
class_Info 班级信息表格
列名 数据类型 可否为空 说明
class_No INT(4) NOT NULL 班号(主键)
grade CHAR(10) NULL 年级
Director CHAR(10) NULL 班主任
Classroom_No CHAR(10) NULL 教室
course_Info 课程基本信息表
列名 数据类型 可否为空 说明
course_No INT(4) NOT NULL 课程编号(主键)
course_Name CHAR(10) NULL 课程名称
course_Type CHAR(10) NULL 课程类型
course_Des CHAR(50) NULL 课程描述
gradecourse_Info 年级课程设置表
列名 数据类型 可否为空 说明
grade CHAR(10) NULL 年级
course_Name CHAR(10) NULL 课程名称
result_Info 学生成绩信息表
列名 数据类型 可否为空 说明
exam_No CHAR(10) NOT NULL 考试编号
student_ID INT(4) NOT NULL 学生学号
student_Name CHAR(10) NULL 学生姓名
class_No INT(4) NULL 学生班号
course_Name CHAR(10) NULL 课程名称
result FLOAT(8) NULL 分数
user_Info 系统用户表
列名 数据类型 可否为空 说明
user_ID CHAR(10) NOT NULL 用户名称(主键)
user_PWD CHAR(10) NULL 用户密码
user_DES CHAR(10) NULL 用户描述
5.2.2 物理结构设计
系统的物理结构具体由数据库来设计与生成
5.2.3. 数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。
具体的例如创建系统用户表格 user_Info的程序用SQL表示就是:
CREATE TABLE[dbo].[user_Info]([user_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[user_PWD][char](10)COLLATE Chinese_PRC_CI_AS NULL,[user_Des][char](10)COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]
6安装运行调试
6.1本系统较小,故无需安装,可直接运行。为一款绿色软件。
6.2运行说明
.系统主窗口
系统启动后,将首先出现用户登录窗体如下,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序
户输入正确的用户名和密码以后程序即进入主窗口,在主窗口里用户可以选择菜单里的系统用户管理,学籍管理,课程管理,班级管理,成绩管理等等不同的子模块进行操作。如下图
.系统用户管理窗口
选择系统菜单里的添加用户功能,出现添加用户窗口,在该窗口中当前登录用户可以创建一个或多个有固定权限的系统用户。具体如下图
用户也可以修改当前用户的登录密码,注意:需要修改密码的用户必须已经登录。否则先退出当前系统,再用要修改密码的用户帐号重新登录系统
.学籍管理模块窗口
选择学籍管理菜单项里的添加学籍信息功能,出现添加学籍信息窗口,用户可以添加新的学生学籍,但注意:学号不能和已有学号相同
.班级管理模块窗口
选择班级管理菜单项里的添加班级信息功能,出现添加班级信息窗口户可以添加新的班级,但应注意:新添班号不能和已有班号相同
.课程设置模块窗口
选择课程设置菜单项里的添加课程信息功能,出现添加课程信息窗口户可以添加新的
课程,但应注意:新添课程号不能和已有课程号相同
.成绩管理模块窗口
选择成绩管理菜单项里的添加成绩信息功能,出现添加成绩信息窗口可以添加学生的成绩.
.帮助窗口
一个良好的Windows应用程序应该提供一个About窗口,其中包括本系统的名称。所有者,联系方式,版本号,与专利信息等。
7、软件测试
使用以界面为基础的测试。
以界面为基础的测试仅仅依靠软件与其运行环境之间的界面来选择和产生测试数据,而不管软件的具体需求和具体实现细节。包括软件输入,输出数据的类型取值范围以及取值的概率分布等等。
7.1、测试项目
该测试计划主要包括对软件各个模块的测试,有:
a.系统主窗口的测试;
b.添加用户窗口的测试;
c.修改用户密码窗口的测试;
d.添加学籍信息窗口的测试;
e.修改学籍信息窗口的测试;
f.查询学籍信息窗口的测试;
g.添加班级信息窗口的测试;
h.修改班级信息窗口的测试;
i.添加课程信息窗口的测试;
j.修改课程信息窗口的测试;
k.设置年级课程窗口的测试;
l.添加成绩信息窗口的测试;
m.修改成绩信息窗口的测试;
n.查询成绩信息窗口的测试;
o.以及系统信息窗口的测试。
测试机构及人员
由于软件规模较小,所以所有测试任务都由软件的开发人员完成。
三. 测试项目说明
7.1.1.用户登录窗口的测试
该测试的目的是保证登陆窗口的正确性与在错误发生时的容错与纠错性。
具体通过在登陆框中输入空用户名,和错误的用户密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1..2.添加用户窗口的测试
该测试的目的是保证添加用户窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加记录框中输入重复的用户名,空用户名和密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.3.修改用户密码窗口的测试
该测试的目的是保证修改用户密码窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改用户密码框中输入错的原用户密码,以及空的新用户密码,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.4.添加学籍信息窗口的测试
该测试的目的是保证添加学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加学籍信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.5.修改学籍信息窗口的测试
该测试的目的是保证修改学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改学籍信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.6.查询学籍信息窗口的测试
该测试的目的是保证查询学籍信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在查询学籍的查询方式框中输入空的学号,空的姓名,或者空的班号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.7.添加班级信息窗口的测试
该测试的目的是保证添加班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加班级窗口中输入空的班号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.8.修改班级信息窗口的测试
该测试的目的是保证修改班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改班级窗口中输入空的班号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.9.添加课程信息窗口的测试
该测试的目的是保证添加课程信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在添加课程信息窗口中输入空的课程号,已存在的课程号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。
7.1.10.修改课程信息窗口的测试
该测试的目的是保证修改课程信息窗口的正确性与在数据输入不正确时的容错与纠错性。
具体通过在修改课程信息窗口中输入空的课程号,已存在的课程号,来检测系统的出错运行情况。要求系统在