您的当前位置:首页正文

学生档案管理系统

2023-06-27 来源:爱go旅游网


软件工程大作业

题目:学生档案管理系统

小组成员:戚盈洁() 王大伟() 王 磊() 霍成海()

1

第一章. 系统调查

1.1系统调查内容

1) 学校各院系基本概况:院系名称,专业设置,课程设置,课时安排,学生人数,学生班级数等。

2) 学校资源条件调查,包括计算机配备,网络支持条件等。

3) 各院系专业设置概况:现有开设专业及规划中开设专业设置,专业开设课程,各课程授课教师与成绩处理。

4) 学校各部门(学生处、教务处、档案管理室、各院系)对学生基本情况的需求与掌握,对学生基本信息的处理方式与业务流程。

5) 学校各部门、单位、教师、学生对系统的其他要求和希望。

1.2系统调查方法

通过对部分高校学生档案管理人员的访问,了解到目前大部分高校的档案管理工作存在工作效率低,成本高,保密性差,查询困难等问题。大部分工作人员都提出需要一个具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点的现代化信息管理系统。为解决此问题我们决定开发一个既方便又操作简单,功能较为齐全的学生档案管理系统。

第二章. 系统分析

2.1 系统分析

1 系统开发的总体任务是学生档案管理的系统化和规范化。

2 系统开发的目标是使档案管理工作科学化和规范化,提高安全系数。 3 系统功能树本系统主要功能是实现学生基本情况的管理。

学生档案管理系统 院系信息管理学生信息管理学生奖惩管理学生学籍管理课程信息管理系统用户管理

2

图3.1学生档案管理系统功能模块

2.2 系统调结构图

运行是 权限输入 数据库文件 判断 否 错误 继续 退出正确主界面 院系信息管理学生信息管理学生奖惩管理学生学籍管理课程信息管理系统用户管理针对各个模块不同的表实现添加记录、修改记录、删除记录,以及查询显示记录等功能 图3.2学生档案管理系统结构图

2.3 子系统功能描述

1) 院系管理

由创建院系及班级信息,修改院系班级记录,删除院系班级记录,查看院系班级数据四部分组成。

学生基本信息管理学生照片信息管理学生主要教育经历管理退学休学管理转学调班管理课程设置管理考试成绩管理\\ \\ 3

 创建院系与班级信息。主要是院系名称,班级专业名称,院系具体描述,班级介绍,院系编号由数据库系统自动编号,不显示在前台程序。

 修改院系与班级记录。可对院系或班级名称,描述,介绍等记录进行修改。

 删除院系与班级记录。可选择删除院系或班级,如果所选院系或班级已含有数据记录,如含有专业班级资料,或学生资料,则必须先将其所含有的记录资料删除,才能成功完成操作。

 查询院系与班级资料。在院系管理的主界面查看已有院系及班级记录。 2) 学生信息管理

由创建、修改、删除学生信息资料,添加、修改、删除学生教育经历,添加与删除学生照片组成。

 学生信息资料创建,将刚入学的学生资料添加到数据库中加以保存。信息资料由学生编号、姓名、照片、性别、民族、生日、政治面貌、籍贯、身份证号、学生证号、家庭电话、居住住址、邮政编码、入校日期、职务、所在院系编号、备注和填表时间组成。

 基于保护数据记录安全性考虑学生编号由数据库系统自动生成,不显示在前台程序。院系编号亦不在学生信息管理界面显示,只在后台数据库显示。

 添加、修改、删除学生教育经历,创建并管理所选择学生过去的教育经历,曾就读与某校,任何职务。

 添加、删除学生照片。为所选择学生添加个人照片,如需更新照片,只需再次添加,既可覆盖原有照片数据记录。 3) 奖惩信息管理

由添加学生奖惩信息,修改奖惩信息,删除奖惩信息,浏览学生奖惩信息组成。

 添加、修改学生奖惩信息,设置学生奖励或处罚资料,奖励与处罚项目使用备选项,亦可再加以具体说明。

4

 删除奖惩信息。奖励与惩罚记录分开显示,选择某条奖惩记录,将其删除。 4) 学生学籍信息管理

由添加、修改、删除学生退学、转学、休学、调班等学籍信息组成。

 添加、修改学生学籍信息资料。通过在院系表中选择目标班级,可选择学生姓名,

 删除学生学籍变更数据记录。

 学生调班成功后,系统敬爱能够自动更新该学生在院系班级表,学生基本信息表中的相关数据记录。 5)课程管理

由创建、修改、删除课程信息,学生课程成绩信息组成。

 创建、修改课程信息,可创建或修改新课程名称,授课教师,课时设置,课程类型。

 删除课程信息。选择某个课程记录,可将其所包含的所有信息删除。

 学生课程成绩信息,由添加、修改、删除课程成绩信息组成。设置院系学生中学生课程成绩信息。 6)系统管理

由创建用户,修改用户,删除用户,浏览用户信息组成。

 创建用户。该功能只对系统管理员开放,使用系统管理员身份登陆后可创建起他用户。

 修改、删除用户。该权限只对系统管理员开放。非系统管理员只能对自己的用户名和密码进行修改。

第三章. 系统设计

3.1 界面设计原则

一个好的应用程序不仅要有强大的功能,还要有美观实用的用户界面。用户界面是应用程序的一个重要组成部分,一个应用程序的界面往往决定了该程序的易用性与可操作性,一个美观的界面的美观和用户亲和性是应用软件成功的首要条件。界面设计具有一般性的原则,最为重要的有:界面要具有一致性;常用操

5

作要有捷径;提供简单的错误处理;提供信息反馈;操作可逆。我们在设计界面时充分从一致性、友好性、交互性、信息子最小量原则、易用性、数据输入等方考虑,遵循以下原则

 操作简单,易学,易掌握;界面美观,操作舒适;快速反应,响应合理;语言规范,语义一致。

 一致性,在同一界面中,所有的菜单选择、命令输入、数据显示和其他功能应保持风格的一致性。

 信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。

 用户界面应能对用户的决定做出及时的响应,提高对话、移动的思考的效率,最大可能的减少击键次数,缩短鼠标移动距离,避免使用户产生无所适从的感觉。

 人机界面应该提供上下文敏感的求助系统,让用户及时获得帮助,尽量用简短的动词和动词短语提示命令。

 操作可逆。操作应该可逆,对于不具备专业知识的操作人员非常有用,可逆的动作可以是单个的操作,也可以是一个相对独立的操作序。 界面设计过程(略)

3.2 数据库设计

数据流程图DFD(Data Flow Diagram) 是描述系统数据流程的工具,它将数据独立抽象出来,通用图形方式描述信息的来龙去脉和实际流程。

6

开 始 重试 否 失败 是 用户登录 失败超过3次 退出程序 成功 读取用户类型 用户管理模块 管理自己的用户信息 学生档案管理模块 院系信息管理 学生信息管理 学生奖惩管理 普通用户 Admin 用户 学生学籍管理 1、管理自己的用户信息 2、管理普通用户的用户信考试成绩管理 图4.1数据流程分析图

数据字典(Data Dictionary, DD)是DBMS中的一个特殊文件,用于存储数据库的一些说明信息,这些说明信息称为元数据(Meta Data)。DD是在新的信息系统数据流程图的基础上,进一步定义和描述数据处理过程、外交实体及数据存储(数据库)的详细逻辑内容工具。

本系统后台数据库采用Microsoft SQL Server 2000数据库。建立了一个数据库StudentSys,包括了九个表:

院系班级表Classes、学生基本信息表Students、学生教育经历记录表Experience、学生奖惩表Evaluation、学生学籍变动表Change、课程设置表Lessons、考试成绩表Scores、用户信息表Users。

表1 Classes结构 编号 1 2 3 4

字段名称 数据类型 字段大小 说明

Class_id Class_Name Describe UpperId Int Varchar Varchar Int 7

4 40 400 2 院系编号 院系名称 院系职能描述 上级院系编号

表2 Students结构 编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

表3 Experience结构 编号 字段名称 数据类型 字段大小 1 2 3 4

字段名称 数据类型 字段大小 说明 Student_Id Student_Name Photo Sex Nationality Birth Political_Party Family_Place Id_Card BadgeId Home_phone Residence Postcode InDate Class_Id Title Memo Fillin_Time Int Varchar Image Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Smalint Varchar Varchar Varchar 4 0 16 2 40 20 40 60 20 40 30 100 10 20 2 20 200 20 学生编号 姓名 照片 性别 民族 生日 政治面貌 籍贯 身份证号 学生证号 家庭电话 居住地址 邮政编码 入校日期 所在院系编号 职务 备注 填报时间(日期+时间) 说明 ExpId Student_Id Start_Date End_Date Int Int Char Char 8

4 4 10 10 编号 学生编号 开始日期 终止日期 5 6

School Title Varchar Varchar 50 20 学校/单位名称 职务 表4 Evaluation结构 编号 1 2 3 4 字段名称 EvaId EvaDate Student_Id EvaType 数据类型 Int Char Int Bit 字段大小 4 10 4 1 说明 奖惩记录编号 奖惩日期 学生编号 奖惩类型(0表示奖励,1表示处罚) 5 Memo t 6

表5 Change结构 编号 1 字段名称 ChangeId 数据类型 Int 字段大小 4 说明 学籍变动编 号 2 3 Student_Id ChangeType Int Tinyint 4 1 学生编号 学籍变动类型(1表示退学,2表示休学,3表示转学,4表示调班) 4 5 6 7 8 ChangeDate OriClass NewSchool NewClass Reason Char Int Varchar Int Varchar 10 4 50 4 200 学籍变动日期 原班级编号 转入学校名称 转入班级编号 学籍变动原因 EvaContent Char 20 奖惩内容 Varcha200 奖惩说明 9

9

Memo Varchar 200 备注 表6 Lessons结构 编号 1 2 3 4 5 6 字段名称 LessonId LessonName Term Teacher Hours LessonType 数据类型 Int Varchar Varchar Varchar Tinyint Varchar 字段大小 4 100 20 20 1 20 说明 课程编号 课程名称 课程设置的学期 授课老师 课时 课程类型(必修课,选修课)

表7 Scores结构 编号 1 2 3

表8 Users结构 编号 1 2 3

字段名称 UsersName Pwd UserType 数据类型 Varchar Varchar Varchar 字段大小 40 40 10 说明 用户名 密码 用户类型 字段名称 LessonId Student_Id Score 数据类型 Int Int Tinyint 字段大小 4 4 1 说明 课程编号 学生编号 考试分数 3.3 代码设计

一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。所以代码的设计就显得非常重要。考虑到以后对系统更新与维护

10

的可行性与方便性,减少程序员工作量,等各方面的考虑,我们在代码设计过程中遵循科学性,系统性,可扩展性,规范化,人性化,通用性,含义单纯性,容易理解等原则考虑。以下只列举部分关键代码

1)

院系管理

 添加院系信息

If Trim(txtClass) = \"\" Then

MsgBox \"请输入院系班级名称\" Exit Sub End If With MyClass

.Class_Name = MakeStr(txtClass) .Describe = MakeStr(txtDescribe) If Modify = False Then '插入

If .In_DB(.Class_Name) = True Then MsgBox Trim(txtClass) + \" 已经存在\" Exit Sub End If

.UpperId = CurClass.Class_Id Bh = .Insert

Tmp_Key = \"a\" + Trim(Str(Bh))

FrmClassMan.TreeView1.SelectedItem.Image = 1 FrmClassMan.TreeView1.SelectedItem.ExpandedImage = 2 FrmClassMan.TreeView1.SelectedItem.SelectedImage = 3 Set

TmpNode

=

FrmClassMan.TreeView1.Nodes.Add(FrmClassMan.TreeView1.SelectedItem.Key, _

tvwChild, Tmp_Key, .Class_Name, 4, 5) TmpNode.Selected = True Else '修改

If CurClass.Class_Name <> Trim(txtClass) Then If .In_DB(Trim(txtClass)) = True Then

11

MsgBox Trim(txtClass) + \" 已经存在\" Exit Sub End If End If

.UpperId = CurClass.UpperId .Update (CurClass.Class_Id)

If CurClass.Class_Name <> Trim(txtClass) Then

FrmClassMan.TreeView1.SelectedItem.Text = Trim(txtClass) End If

CurClass.Class_Name = Trim(txtClass) End If End With Unload Me

 删除院系资料 If TreeView1.SelectedItem.Key = \"a0\" Then MsgBox \"此项不能删除\" Exit Sub End If

If CurClass.HaveSon(CurClass.Class_Id) = True Then

MsgBox CurClass.Class_Name + \" 包含下级院系班级,不能删除\" Exit Sub End If

If MyClass.HaveStudent(CurClass.Class_Id) = True Then MsgBox CurClass.Class_Name + \" 包含学生,不能删除\" Exit Sub End If

If MsgBox(\"是否确定要删除 \" + Trim(TreeView1.SelectedItem.Text), vbYesNo, \"请确认\") = vbNo Then

Exit Sub End If

Call CurClass.Delete(CurClass.Class_Id)

12

TreeView1.Nodes.Remove TreeView1.SelectedItem.Index TreeView1_Click

2)

学生信息资料管理

 添加学生基本信息资料 With MyStu

.Student_Name = MakeStr(txtStu_Name) .Sex = ComboSex.Text

.Nationality = MakeStr(txtNationality) If IsDate(ComboBirth.Text) = False Then MsgBox \"请选择正确的出生日期\" Exit Sub End If

.Birth = ComboBirth.Text

.Political_Party = MakeStr(txtPolitical_Party) .Family_Place = MakeStr(txtFamily_Place) .Id_Card = MakeStr(txtId_Card) .BadgeID = MakeStr(txtBadgeID) .Home_phone = MakeStr(txtHomePhone) .Residence = MakeStr(txtResidence) .Postcode = MakeStr(txtPostcode) If IsDate(ComboInDate.Text) = False Then MsgBox \"请选择正确的入校日期\" Exit Sub End If

.InDate = ComboInDate.Text .Title = MakeStr(txtTitle) .Memo = MakeStr(txtMemo) dd = Date

dd = Format(dd, \"yyyy-mm-dd\")

13

t = Time

tt = Trim(Str(Hour(t))) + \":\" + Trim(Str(Minute(t))) + \":\" + Trim(Str(Second(t)))

.Fillin_Time = dd + \" \" + tt .Class_Id = CurClass.Class_Id If Modify = False Then .Insert Else

.Update (CurStu.Student_Id) End If End With

FrmStuMan.TmpOk = True Unload Me

 照片管理 If Button = 1 Then

If FrmPhotoMenu.Visible = True Then Unload FrmPhotoMenu End If End If

If Button = 2 Then

If CurStu.Student_Id <= 0 Then Exit Sub End If

FrmPhotoMenu.Left = X + Image1.Left + 200 ' - 1610 FrmPhotoMenu.Top = Y + Image1.Top + 1900 FrmPhotoMenu.Show End If

Dim DiskFile As String If CurStu.Student_Id <= 0 Then

14

MsgBox \"请选择学生\" Unload Me Exit Sub End If

CommonDialog1.Filter = \"BMP(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif\"

CommonDialog1.ShowOpen

DiskFile = CommonDialog1.FileName If DiskFile = \"\" Then MsgBox \"请选择照片文件\" Unload Me Exit Sub End If

Call SaveImage(DiskFile, FrmStuMan.AdoStuDetail)

Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload Me

If CurStu.Student_Id <= 0 Then MsgBox \"请选择学生\" Unload Me Exit Sub End If

FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk \"\" FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = LoadPicture(\"\") Unload Me

3)

学籍管理

文件(*.bmp)|*.bmp|JPEG

文件

 添加学籍管理信息资料

FrmChangeEdit.ComboDate.Text = Format(Now, \"yyyy-mm-dd\") SelStu.Init

15

FrmChangeEdit.ComboName.Text = \"\"

FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex FrmChangeEdit.ComboClass = \"\" FrmChangeEdit.txtMemo = \"\" FrmChangeEdit.Modify = False FrmChangeEdit.Show 1 Refresh_Change

 修改学籍管理信息资料

FrmChangeEdit.OriId = Adodc1.Recordset.Fields(0)

FrmChangeEdit.ComboDate.Text = Trim(Adodc1.Recordset.Fields(1)) SelStu.Student_Id = Adodc1.Recordset.Fields(2) SelStu.GetInfo (SelStu.Student_Id)

FrmChangeEdit.ComboName.Text = Trim(Adodc1.Recordset.Fields(3)) FrmChangeEdit.ComboType.ListIndex = ComboType.ListIndex Select Case ComboType.ListIndex Case 0, 1 '退学、休学

FrmChangeEdit.txtNewSchool = \"\" FrmChangeEdit.ComboClass = \"\"

FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(4)) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(5)) Case 2 '转学

FrmChangeEdit.txtNewSchool = Trim(Adodc1.Recordset.Fields(4)) FrmChangeEdit.ComboClass = \"\"

FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(5)) FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(6)) Case 3 '调班

FrmChangeEdit.txtNewSchool = \"\"

FrmChangeEdit.ComboClass = Trim(Adodc1.Recordset.Fields(5)) CurClass.GetInfo (Adodc1.Recordset.Fields(4))

FrmChangeEdit.txtReason = Trim(Adodc1.Recordset.Fields(6))

16

FrmChangeEdit.txtMemo = Trim(Adodc1.Recordset.Fields(7)) End Select

FrmChangeEdit.Modify = True FrmChangeEdit.Show 1 Refresh_Change

第四章. 学生照片管理模块设计

4.1 ImageFunc模块

ImageFunc模块用来管理与数据库读写图像字段相关的变量和函数。其中包含两个用户自定义过程:ShowImage和SaveImage。

因为SQLServer2000的图像字段不能够使用Insert和Update等语句插入和更新,所以本系统中使用GetChunk和AppendChunk方法读取和填写图像字段。GetChunk方法用来返回大型文本或二进制数据Field对象的全部或部分内容,AppendChunk方法则将数据追加到大型文本、二进制数据Field或Parameter对象中。

ShowImage()包含两个参数,Image1表示用来显示图像的Image控件,Adodc1表示用来提供图像字段的ADO Data控件。ShowImage()过程的代码如下:

Public Sub ShowImage(Image1 As Image, Adodc1 As Adodc) Erase byteChunk()

FieldSize = Adodc1.Recordset.Fields(2).ActualSize If FieldSize <= 0 Then

Image1.Picture = LoadPicture(\"\") Exit Sub End If

'提供一个尚未使用的文件号 SourceFile = FreeFile '打开文件

Open TempFile For Binary Access Write As SourceFile '计算数据块

17

NumBlocks = FieldSize \\ BlockSize

LeftOver = FieldSize Mod BlockSize '得到剩余字节数 '分块读取图像数据,并写入到文件中 If LeftOver <> 0 Then ReDim byteChunk(LeftOver)

byteChunk() = Adodc1.Recordset.Fields(2).GetChunk(LeftOver) Put SourceFile, , byteChunk() End If

For i = 1 To NumBlocks ReDim byteChunk(BlockSize)

byteChunk() = Adodc1.Recordset.Fields(2).GetChunk(BlockSize) Put SourceFile, , byteChunk() Next i

Close SourceFile

'将文件装入到Image1控件中 Image1.Picture = LoadPicture(TempFile) '删除临时文件 Kill (TempFile) End Sub

SaveImage()也包含两个参数,ImageFile表示图像的文件名,Adodc1表示用来存储图像字段的ADO Data控件。ShowImage()过程的代码如下:

Public Sub SaveImage(ByVal ImageFile As String, Adodc1 As Adodc) If Adodc1.Recordset.BOF = True Or Adodc1.Recordset.EOF = True Then Exit Sub End If

If ImageFile = \"\" Then Exit Sub End If

18

'提供一个尚未使用的文件号 SourceFile = FreeFile '打开文件

Open ImageFile For Binary Access Read As SourceFile '得到文件长度

FileLength = LOF(SourceFile) '判断文件是否存在 If FileLength = 0 Then Close SourceFile

MsgBox DiskFile & \"无内容或不存在!\" Else

NumBlocks = FileLength \\ BlockSize '得到数据块的个数 LeftOver = FileLength Mod BlockSize '得到剩余字节数 Adodc1.Recordset.Fields(2).Value = Null

ReDim byteData(BlockSize) '重新定义数据块的大小 For i = 1 To NumBlocks

Get SourceFile, , byteData() '读到内存块中

Adodc1.Recordset.Fields(2).AppendChunk byteData() '写入FLD Next i

ReDim byteData(LeftOver) '重新定义数据块的大小 Get SourceFile, , byteData() '读到内存块中

Adodc1.Recordset.Fields(2).AppendChunk byteData() '写入FLD Close SourceFile '关闭源文件 Adodc1.Recordset.Update End If End Sub

4.2 设计照片管理窗体

对学生照片管理的模式与其他信息不同,需要单独地处理。这一小节中,将设计一个菜单式的窗体,当用户右击Image1控件时,将弹出此窗体,允许用户

19

设置照片。

创建一个新窗体,并参照“选择部门”窗体设置窗体的属性,新窗体名称为FrmPhotoMeun。

为了使用户能够方便地选择图像文件,在窗体FrmEmpSel中将使用到CommoDialog控件。CommoDialog控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以为选择颜色和字体等操作。

选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择Microsoft Common Dialog Control 6.0,单击“确定”按钮,CommonDialog控件将出现在工具箱中。

将CommonDialog控件添加到窗体FrmPhotoMeun中,当用户单击“设置照片”菜单项时,将触发Label1_Click事件,对应的代码如下:

Private Sub Label1_Click() Dim DiskFile As String '如果没有选择学生,则返回 If CurStu.Student_Id <= 0 Then MsgBox \"请选择学生\" Unload Me Exit Sub End If

'使用CommonDialog控件读取图像文件 CommonDialog1.Filter = \"BMP(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif\"

CommonDialog1.ShowOpen

DiskFile = CommonDialog1.FileName If DiskFile = \"\" Then MsgBox \"请选择照片文件\" Unload Me Exit Sub End If

文件(*.bmp)|*.bmp|JPEG

文件

20

'存储并显示照片

Call SaveImage(DiskFile, FrmStuMan.AdoStuDetail)

Call ShowImage(FrmStuMan.Image1, FrmStuMan.AdoStuDetail) Unload Me End Sub

当用户单击“删除照片”菜单项时,将触发Label2_Click事件,对应的代码如下:

Private Sub Label2_Click() If CurStu.Student_Id <= 0 Then MsgBox \"请选择学生\" Unload Me Exit Sub End If

'使用AppendChunk \"\"的方法删除图像

FrmStuMan.AdoStuDetail.Recordset.Fields(2).AppendChunk \"\" FrmStuMan.AdoStuDetail.Recordset.Update FrmStuMan.Image1.Picture = LoadPicture(\"\") Unload Me End Sub

4.3 在学生信息管理窗体中添加照片管理代码

在学生信息管理窗体FrmStuMan中编写照片管理相关的代码。

当用户单击照片Image1时,将触发Image1_MouseDown事件,对应的代码如下:

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'单击左键,则关闭照片管理菜单 If Button = 1 Then

If FrmPhotoMenu.Visible = True Then Unload FrmPhotoMenu

21

End If End If

'单击右键,打开照片管理菜单 If Button = 2 Then

If CurStu.Student_Id <= 0 Then Exit Sub End If

FrmPhotoMenu.Left = X + Image1.Left + 200 ' - 1610 FrmPhotoMenu.Top = Y + Image1.Top + 1900 FrmPhotoMenu.Show End If End Sub

第五章. 系统测试

5.1 系统测试项目

(1) 数据和数据库完整性测试

(a) 测试目标:确保学生档案管理系统数据库StudentSys访问方法和进程正常运行数据安全可靠。

(b) 测试方法:

 把数据库StudentSys及其进程作为一个子系统来进行测试。在测试该子系统时,不把将测试对象的用户界面作数据的接口。

 调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据,检测其数据规则完整性是否符合设计要求。

 检查数据库StudentSys,确保数据已按预期的方式填充,并且所有的数据库事件已正常发生;或者检查所返回的数据,确保以正确的条件可以检索到符合检索要求的正确数

22

据。

 输入不符合数据库完整性规则数据,检测字段完整性规则。

(c) 测试结果:所有的数据库访问方法和进程都达到预期设计要求,数据记录安全完整,数据整规则正确。

(2) 集成测试

(a) 测试目标:主要是检测学生档案管理系统是否达到设计需求,对业务流程及数据流的处理是否符合标准,对业务流处理是否存在逻辑不严谨及错误,需求是否存在不合理的标准及要求,在不同计算机上的运行结果是否正常。此阶段测试基于功能完成的测试。

(b) 测试方法:利用合法的和非法的数据来执行各个功能,在多部不在同一局域网的可正常使用计算机上运行,以核实以下内容:

 在使用合法的数据时得到预期(正确)的结果。  在使用非法数据时显示相应的错误消息或警告信息。

 各业务规则在系统中均得到正确的应用。

 在任意一台安装相关软件计算机上运行结果正常。

(c)测试结果:所计划的测试已全部执行,测试过程中发现的缺陷问题已解决。达到预期测试目标。

(3) 功能测试

(a)测试目标:确保所选择测试的功能正常使用,其中包括功能浏览,数据输入,处理和查询功能。

(b)测试方法:利用合法的和不合法的数据来执行各个测试用例或功能,以核实以下内容:

 在使用合法数据时得到预期的结果。

 在使用非法数据时显示相应的错误信息息或警告信息。

 各业务规则在系统中均得到正确的应用。

(c)测试结果:数据的接受、处理和检索正确,业务规则的实施

23

恰当。

(4) 用户界面测试:

(a)测试目标:通过测试进行的浏览以正确反映本软件的功能和需求,这种浏览包括对各个窗口、窗口与窗口之间、字段与字段之间的浏览,各种访问方法的正常使用,保证窗口的对象和特征(例如,菜单、大小、位置、状态和中心)均符合预计标准。

(b)测试方法:为每个窗口创建新的数据记录,或修改原由数据记录,以核实各个应用程序窗口和对象都正确地进行浏览,并处于正常的对象状态。

(c)测试结果:达到预期测试目标,测试内容正确运行,测试过程中出现问题已解决。

(5) 性能评测

(a)测试目标:对本系统响应时间、各功能响应时间、其他与时间相关的需求进行评测和评估。不用硬件配置计算机上的工作性能差异。检查性能需求是否满足设计要求,核实学生档案管理系统指定的事务在以下情况下的性能行为:

 正常工作流量情况下的使用。  超负荷工作量情况下的使用。

 不同硬件配置计算机上的工作性能差异。

(b)测试方法:通过修改学生档案管理系统数据文件来增加事务数量,或通过修改脚本来增加软件每项事务的迭代数量。

(c)测试结果:单个用户正常工作量使用情况下成功地完成测试脚本,未发生故障:系统中享受不同权限用户在可接受的时间范围内与正常工作量情况下成功地完成测试脚本,未发生任何故障。 (6)负载测试:

(a) 测试目标:确保系统在超出预期极限负荷工作量情况下。评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。核实学生档案管理系统在不同的工作量条件下的性能行为时间。

24

(b) 测试方法:使用为功能或业务周期测试制定的测试。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务发生的次数。

(c) 测试结果:系统中多个事务或多个用户在可接受的时间范围内成功地完成测试没有发生任何故障。

(7)强度测试

(a) 测试目标:检验学生档案管理系统极限工作量出现在什么样的工作情况下,找出因资源不足或系统冲突引起的各种错误,确定系统能够处理的极限工作量。核实受测试系统能够在以下强度条件下正常运行,不会出现任何错误:

 数据库服务器上几乎没有或根本没有可用的内存资源。

 在操作系统执行大量应用程序的情况下运行  不同用户对相同的数据或帐户相同的合法行为,可获得相同结果。

 最繁重的事务量或最差的事务组合。

(b)测试方法:使用为性能评测或负载测试制定的测试。对有限的资源进行测试,即在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD(Direct Access Storage Device 直接存取储存装置)。

(c)测试结果:所计划的测试已全部执行,导致系统出现故障条件的并不在学生档案管理系统中指定的条件范围之内。

(8)数据安全性与访问控制测试

(a)测试目标:检测学生信息管理系统用户级别的安全性。 (b)测试方法:执行以下步骤:

 为各用户类型创建测试、并通过创建各用户类型所特有的事务来核实其权限。

 修改用户类型并为相同的用户重新运行测试。对于每种用户类型,确保正确地提供或拒绝了这些附加的功能或

25

数据。

(c)测试结果:各种已知的用户类型都可访问相应的功能或数据,不同权限的用户能进行不同的管理。但密码安全性不是很高。

(9)恢复测试

(a)测试目标:通过系统的修复能力,检测重新初始化、重新启动、检测点设置是否正确,以及人工干预的平均恢复时间是否能在允许范围内。

(b) 测试方法:使用系统的功能和业务周期测试创建的测试来创建学生信息管理系统一系列的事务。一旦达到预期的测试起点,分别执行或模拟以下操作:

 DASD和DASD控制器被中断、断电或与DASD和DASD控制器的通信中断。

 破坏若干个数据库字段、指针和关键字时,以手工方式在数据库中(通过数据库工具)直接进行。

(c)测试结果:在恢复过程完成时不能立即返回到一个已知的预期状态。 (10)配置测试:

(a)测试目标:核实测试可否在所需的硬件和软件配置中正常运行。

(b)测试方法:

 使用功能测试脚本。

 在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如Microsoft 应用程序:Excel和Word),然后将其关闭。

 在多台不同硬件配置、无网络连接计算机上运行学生档案管理系统

 执行所选的事务,以模拟用户与学生档案管理系统和其他软件之间的交互。

(c)测试结果:在Windows2000、Windows XP操作系统下,

26

对于学生档案管理系统软件和其他软件的各种组合,所有事务都可成功完成,没有出现故障。

5.2 系统评估

(1)软件功能:本学生档案管理系统是一个针对某独立学院进行学生档案信息应用管理的应用软件,学校领导层、学生管理工作人员可以通过本软件输入、查询、管理学生基本档案资料,教师可以通过本软件查询被授课学生基本信息资料。提高学院教务教学管理、学生管理的效率,节约管理成本。

(2)缺陷和限制:功能不是很强,如缺少数据分析、统计功能,只能进行简单的资料处理,无法对数据资料做综合性分析;安全性不是很高。

(3)建议:用户权限进一步细分,增加数据备份功能、详细数据浏览功能,增加对数据资料保密性,增加支持图形统计分析功能。

(4)测试结论:符合基本需求,通过测试。

27

因篇幅问题不能全部显示,请点此查看更多更全内容