学生成绩管理系统软件工程实验.docx

上传人:b****4 文档编号:3841630 上传时间:2022-11-25 格式:DOCX 页数:33 大小:777.83KB
下载 相关 举报
学生成绩管理系统软件工程实验.docx_第1页
第1页 / 共33页
学生成绩管理系统软件工程实验.docx_第2页
第2页 / 共33页
学生成绩管理系统软件工程实验.docx_第3页
第3页 / 共33页
学生成绩管理系统软件工程实验.docx_第4页
第4页 / 共33页
学生成绩管理系统软件工程实验.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统软件工程实验.docx

《学生成绩管理系统软件工程实验.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统软件工程实验.docx(33页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统软件工程实验.docx

学生成绩管理系统软件工程实验

一.需求分析

1.1引言

1.1.1编写目的(阐明编写需求说明书的目的,指明读者对象。

开发的软件名字定为:

大学生信息管理系统;

读者编写软件目的

学生方便学生查询自己的信息

班主任方便班主任查看本班的情况

学院领导方便学院领导查看本学院的情况

教务处人员提高工作效率,及时有效的更新学生的最新情况,提供可靠的数据存档

1.1.2功能分析

本系统面向某高校的所有大学生的基本信息管理,主要分为学生基本信息管理、学生成绩信息管理、学生学籍信息管理和统计报表管理四大部分。

(1)学生基本信息管理

◆学生基本信息管理完成学生基本信息(学号、姓名、性别等信息)的各种数据库管理操作。

◆学生的基本信息由教务人员录入,系统需要对信息进行核对然后保存到学生基本信息数据库中,学生本人可以根据学号或个人帐号登录浏览自己的基本信息。

◆学生可以根据系统提出更新请求,更新请求汇总为待更新学生基本信息,并由教务人员统一修改。

◆班主任只能浏览本班学生的基本信息,学院主管学生工作的领导则可以查看全院所有学生的基本信息。

◆若学生出现退学、修学等情况,班主任将这些同学的信息给教务人员,由教务人员统一删除或修改。

(2)学生成绩管理

◆学生的成绩信息管理包括学生成绩的录入、查询、删除、修改等操作,学生成绩由教务处人员负责录入和修改。

◆学生本人及班主任拥有不同的权限,可以凭学号或班级编号查看一个或多个学生的成绩信息。

◆学工处制定奖学金颁发准则,每学期都根据学生成绩评选出符合奖学金要求的学生名单,打印出交学校主管部门审批。

◆此外,教务处人员还可根据学生成绩及每名学生选修学分的多少确定退学名单和留级名单,打印出交学校主管部门审批。

(3)学生的学籍管理

◆学生的学籍信息管理其实和第1和第2个功能紧密联系。

◆主要完成如下功能:

学生入学的学籍登记、学生休学的学籍保留、学生留级的学籍信息更新、学生复学的学籍激活、学生退学的学籍清除等工作。

(4)统计报表管理

◆学校教务处可以对学生基本信息、学生成绩信息、学生学籍信息进行分类汇总,形成各种统计报表。

如单门课程的及格率、学生获取奖学金的比率等。

1.1.3任务概述

1.目标

此软件是单机运行版本,开发的主要目标是:

a.减少人力资源开销

b.处理速度上的明显提高

c.防止许多时候的人为错误

d.达到“无纸化办公”的要求

e.更加方便地绝密资料进行保密

f.重要资料备份、恢复变得方便和安全

1.2对功能的规定

本系统处理的是数据流,采用SD的分析方法,得出该系统跟其他外界的关系如下:

对SIMS系统进行分析,得出其内部数据流图如下:

下面是各个处理加工的细化:

1.权限信息管理:

本加工主要完成权限信息的验证、增删管理员、修改用户密码等功能。

它的输入为权限信息,即用户名跟密码,然后通过权限信息验证,区分是一般用户,还是管理员,还是高级管理员。

其中,一般用户只能进行资料查询、统计、打印和图形化浏览操作;高级管理员跟管理员可以使用全部功能。

高级管理员跟管理员的最大区别是:

高级管理员可以增加跟删除管理员,并可以赋予他们不同的权限。

2.学生信息查询:

本加工实现学生信息的检索功能。

通过接收系统管理员和学生的查询条件,然后判断其合法性,然后查询学生资料。

查询学生信息主要是通过把合法的查询条件转化为相应的SQL查询语句,然后转交数据库处理。

3.学生信息更新:

本加工实现学生信息的更新。

本功能只有管理员跟高级管理员才能使用。

学生信息的更新包括了新学生信息的录入跟学生信息的修改两个功能。

新学生信息录入:

由用户给出学生跟其始编号,然后先判断起始编号的合法性跟学生信息的合法性,然后才将学生资料存进数据库,并返回一个智能标签。

学生信息修改:

由用户给出修改后的学生数据,修改完重新导回数据库。

起始编号处理:

该处理比较关键,因为可能出现的情况是学生编号冲突,也就是按连续编码的方式来添加数据,下一个编号可能已经被占用,如果出现这种情况,系统应该提示用户该编号已经被占用了,要求用户重新输入新的起始编号。

同时,如果用户需要,可以随时更改该起始编号。

4.学生统计:

本加工实现学生信息的统计。

先接收管理员或学生给出的统计条件,比如分别按学号、性别、年龄、姓名、学院等等。

然后判断统计的合法性,然后统计学生信息。

其中,学生信息将统计条件转化为数据库查询语句,然后查询数据库,然后统计查询结果。

5.设备输出:

本加工实现该系统的设备输出功能,是将得到的查询结果或统计结果按照用户的输出格式要求进行转化,然后将转化结果从打印机输出或者显示器输出。

或者当用户有打印需求的时候,打印结果。

 

设备输出包括显示器和打印机的统计结果和查询结果的输出:

1.生成统计结果的打印格式和屏幕显示格式

2.生成详情打印的打印格式,该格式由《需求说明》里面规定,同时该模块根据用户的要求生成可调大小的缩略图,并且自动排版。

6.学生信息的备份恢复:

本加工实现学生信息的备份与恢复。

本加工的功能必须是管理员或者高级管理员才能使用。

第一,学生信息的备份:

可以将学生信息从数据库中导出到磁盘。

第二,学生信息的恢复:

可以将学生信息从磁盘导回数据库。

7.常用数据管理

本加工主要是处理一些常用数据,用系统文件来保存这些常用数据,使得每次不用用户手动输入。

该加工主要分为两部分:

1.常用数据的更新:

数据更新包括增加和插入,常用数据的更新会立刻反映在用户的输入选择框中,而不需要重新启动。

2.常用数据的获取:

该模块主要是通过缓存常用数据,使得常用数据的获取不需要每一次都读取数据库,同时也注意用和数据库里面的常用数据的(更新)同步。

1.2数据描述

1.2.1动态数据(包括输入数据和输出数据。

输入数据:

类型

数据名称

定义

类型

格式

值域

学生基本信息

学号

学生的唯一标识

Char(20)

定长(14位)

例:

20050610040209

 姓名

学生名字

Char(20)

20个字符(10个汉字)

性别

学生性别

Char

(2)

2个字符(1个汉字)

男或女

学院

学生所属学院

Char(20)

20个字符(10个汉字)

班级

学生所属班级

Char(20)

20个字符(10个汉字)

入学时间

学生入学的年份

Int

4个字符

例:

2005

0~9999

学籍状态

学生的学籍状态

Char(4)

4个字符(2个汉字)

在学、留级、休学、退学

获奖学金情况

学生荣获奖学金的情况

Char

(2)

2个字符(1个)

是、否

学生成绩

课程名

学生所修课程

Char(20)

20个字符(10个汉字)

成绩

学生所修课程的成绩

Char(10)

10个字符(5个汉字)

0~100

优秀、良好、及格、不及格

输出数据:

类型

数据名称

定义

类型

格式

值域

学生基本信息

学号

学生的唯一标识

Char(20)

定长(14位)

例:

20050610040209

 姓名

学生名字

Char(20)

20个字符(10个汉字)

性别

学生性别

Char

(2)

2个字符(1个汉字)

男或女

学院

学生所属学院

Char(20)

20个字符(10个汉字)

班级

学生所属班级

Char(20)

20个字符(10个汉字)

入学时间

学生入学的年份

Int

4个字符

例:

2005

0~9999

学籍状态

学生的学籍状态

Char(4)

4个字符(2个汉字)

在学、留级、休学、退学

获奖学金情况

学生荣获奖学金的情况

Char

(2)

2个字符(1个)

是、否

学生成绩

课程名

学生所修课程

Char(20)

20个字符(10个汉字)

成绩

学生所修课程的成绩

Char(10)

10个字符(5个汉字)

0~100

优秀、良好、及格、不及格

统计报表

及格率

一个年级单门课程的及格率

Float

10个字符

0.00~1.00

学生获取奖学金的比率

全校学生获取奖学金的比率

Float

10个字符

0.00~1.00

 

1.2.2数据词典

数据流名称

简述

来源

去向

组成

学生信息录入

用户新建学生记录时所填写的项目,或修改后的信息

教务处人员

SMS

学号、姓名、性别、学院、班级、入学时间、学籍状态、获奖学金情况

学生成绩录入

用户在学生考试完后登记的成绩

教务处人员

SMS

学号、姓名、

学生查询个人信息

满足查询条件的所有信息

SMS

学生

学号、姓名、性别、学院、班级、入学时间、学籍状态、获奖学金情况

学生查询个人成绩

满足查询条件的所有信息

SMS

学生

学号、姓名、课程名、成绩

班主任查询本班信息

满足查询条件的所有信息

SMS

班主任

学号、姓名、性别、学院、班级、入学时间、学籍状态、获奖学金情况

班主任查询本班成绩

满足查询条件的所有信息

SMS

班主任

学号、姓名、课程名、成绩

单门课程的及格率

满足查询条件的所有信息

SMS

教务处人员

百分比数值

学生获取奖学金的比率

满足查询条件的所有信息

SMS

教务处人员

百分比数值

1.3对性能的规定

1.3.1精度

该软件对数据精度的要求如下:

数据项

数据类型

数据精度

学号

字符

4位

所在学院

字符

20(10个汉字)

籍贯

字符

20(10个汉字)

性别

字符

8

年龄

字符

2

学籍状况

字符

20(10个汉字)

班号

字符

16

出生年月

字符

年月日

联系电话

字符

40(20汉字)

入校时间

日期

年月日

家庭住址

字符

100(50个汉字)

建档人

字符

8(4个汉字)

建档时间

日期

年月日

备注

字符

40(20汉字)

1.3.2灵活性

当需求有以下方面变化时,该软件可以及时进行调整:

1.当不需要智能标签时,那我们在枪支资料更新加工里去掉智能标签的数据流就可以了。

2.当需要记录每次管理员修改记录时间时,是需要在更新加工中加入一个时间记录的子加工就可以了。

3.在人员管理中,如果出现重要数据不许一般用户浏览时,我们只需要在权限管理中将用户状态标识定义为管理员或者高级管理员,就禁止了一般用户的浏览。

4.当需要从单机版升级为联机版,我们只需在其中增加进一些通讯协议,如TCP/IP,就可以解决问题。

1.4输人输出要求

1.数据的输入:

通过键盘可以输入以下数据。

数据项

数据类型

数据精度

备注

学号

字符

4位

0000-9999

所在学院

字符

20(10个汉字)

信息、基础……

籍贯

字符

20(10个汉字)

安徽、江西……

性别

字符

8

男,女

年龄

字符

2

21,22,23……

学籍状况

字符

2

正常、留级

出生年月

字符

16

联系电话

字符

2

1-12

入校时间

日期

年月日

家庭详细住址

字符

100(50个汉字)

建档人

字符

8(4个汉字)

建档时间

日期

年月日

备注

字符

40(20汉字)

3.用户权限信息的输入:

通过键盘输入用户名跟密码。

4.查询条件于统计条件的输入跟输入:

通过鼠标跟键盘输入用户的查询跟统计条件,然后在打印机或显示器上输出。

二.概要设计

2.1处理流程

2.2总体结构和模块外部设计

系统按功能划分模块,各模块划分如下:

 

编号

模块名称

模块功能

模块子程序

子程序功能

1

公共模块

界面与其他模块的接口,定义了系统基本的数据结构、数据结构转换、打印机控制、系统初始化、以及其他公用函数

1.1ConnectionSQL

java与sqlserver200的连接驱动。

1.2printTable

输出所统计的报表到Excel

1.3CheckStudent

验证学生资料的合法性

1.4Main

程序运行的主函数

2

数据库备份模块

数据库备份与恢复

2.1DataBackUp()

数据备份

2.2DataRestore()

数据库恢复

3

数据库访问模块

处理访问数据库的所有操作

3.1setDataSource()

设置数据源的信息

3.2DataConnect()

连接数据库

3.3DatadisConnect()

断开与数据库的连接

3.4DataCommand()

对数据库执行SQL语句

3.5DataRecrdSet()

返回对数据库执行SQL语句后得到的记录集

3.6getDataSource

返回数据源的信息

4

统计报表

统计符合条件的记录数

4.1PrintTables()

对学生基本信息、学生成绩信息、学生学籍信息进行分类汇总,形成各种统计报表。

界面模块的划分:

窗体

功能

Login窗体

验证用户名和密码,并且选择登陆的角色,以得到权限信息,根据用户角色进入相应的窗体,否则继续输入。

并会对输入的数据适当的抛出不同的异常提示。

student窗体

查看学生信息

发出更新信息请求

Teacher窗体

查看本班学生信息

发出更改本班信息请求

Colloge窗体

查看全院学生的信息

School窗体

查看全校学生的信息

添加学生信息

修改,删除学生信息

进行统计,生成报表

打印

 

2.3功能分配(表明各项功能与程序结构的关系。

1.公共模块与其他模块这间的关系:

 

三.详细设计

3.1软件结构

系统结构模块如下:

子系统名称

模块名称

程序层次结构

大学生信息管理

添加学生信息

图1

修改学生信息

删除学生信息

查询学生信息

大学生信息录入管理

添加学生信息

图2

修改学生信息

删除学生信息

查询学生信息

大学生信息输出管理

添加学生信息输出

图3

修改学生信息输出

删除学生信息输出

查询学生信息输出

查询统计

查询学生信息

图4

用户管理

设置用户信息

图5

修改用户信息

图1大学生信息管理层次结构

图2学生信息输入管理层次结构

图3学生信息输出管理层次结构

图4查询统计层次结构

图5设置用户信息层次结构

3.2程序逻辑结构描述

登陆模块程序结构:

输入学生信息:

查询/删除/修改学生信息:

对于添加入库信息,删除入库信息,修改入库信息,查询入库信息和上面的学生信息录入相同,只是操作不同的数据库而已。

再次可以参考上面的数据流程图进行程序设计。

3.3限制条件

1.输入的信息必须符合要求,如果不符合要求,则弹出警告信息,提示重新输入。

2.对于所有的错误处理要有必要的警告信息。

3.关键的数据信息不能为空。

3.4测试要点

1.添加学生信息:

输入空的信息,弹出提示信息“信息不能为空”的同时,若是,则满足设计的要求;

若输入相同的信息,则提示信息“此记录信息已经存在”,若是,则满足设计的要求。

2.修改学生信息:

输入修改后的学生信息记录,若有重复的信息记录已经存在,则提示“该记已经存在”,则设计符合要求。

3.查询学生信息:

查询的学生不存在:

提示信息“该学生不存在”,则符合设计的要求;

查询学生信息不符合要求:

提示信息“请选择合法的条件”,则符合设计的要求。

”,则符合要求;

4.设置用户信息:

输入的用户信息重复,则提示“信息重复”;

输入信息为空,提示“请输入信息,信息不能为空”。

5.修改用户信息:

修改后的用户信息重复,则提示“信息重复”;

修改时输入信息为空,提示“请输入信息,信息不能为空”。

6.学生档案管理:

学生的一般情况,及奖励,处分情况;

7.学生成绩管理:

对学生没学期考试成绩进行录入等操作

8.学籍处理:

对学生的学籍进行管理。

如修退学等

9.学生留降级处理:

对留级的学生进行处理

10.休复学处理

11.退学处理

12.日常教务管理:

对学生的日常事物进行综合的管理。

日常报表,如通知书、补考通知书等。

学生学习成绩的各类统计

13.毕业生学籍处理:

结业处理,毕业处理,授予学位。

学籍卡片等等

14.学生信息查询的权限:

学生档案

学生奖惩

学生成绩

学籍处理

补考成绩

教学计划管理

各种等级考试

学生工作处

管理

管理

查询

管理

查询

查询

查询

各系

查询

查询

查询

查询

查询

查询

查询

教务科

查询

查询

管理

查询

管理

管理

查询

师资科

查询

查询

管理

查询

查询

查询

查询

院长

查询

查询

查询

查询

查询

查询

查询

四.测试分析

4.1测试概要

下面用表格的形式列出每一项测试的标识符及其测试内容。

测试编号

测试模块标识符

测试(子)模块名称

测试内容简介

1

Student

用户界面

测试界面的完整性,稳定性,直观性,

错误提示的正确性和及时性

2

Login

用户登录

验证各种情况下的错误

用户名和密码,控制尝试次数

3

Logout

用户注销

顺利注销用户,或更换用户

4

EncodePswd

用户信息加密

采用算法的有效性和时效性,

是否能抵制一定强度的攻击

5

DecodePswd

用户信息解密

正确解码,发生错误时的处理能力

6

ModifyPswd

修改密码

安全完整地完成修改工作,能抵制非法攻击

7

SetPower

修改用户权限

识别操作权限,接受合理修改,排除不合理操作

8

AddAdminFrame

添加新用户

识别权限,正确添加不存在的新

用户名。

保证高级管理员的唯一

9

DeleteAdminFrame

删除用户

识别权限,高级管理员能删除任何

一般管理员,取消其用户名

10

DisplayStudent

查询学生数据

各种情况是否能查得正结果并显示

11

IfDataValid

验证学生信息资料合法性

用各种情况的非法数据组合测试是否

能正确排除各种非法资料

12

AddStudentInfo

添加学生信息资料

识别非法资料,正确加入学生资料,

处理编号增长和重复问题

13

ModStudentInfo

修改学生信息资料

识别本不存在的资料,正确修改

14

DelStudentInfo0

删除学生信息资料

正确一致地完成删除操作,注意时序性

和保护机制

15

GetNewID

取得新生学号号

各种情况能否得到正确的唯一的编号

16

DataModule

数据库访问

数据库存取的正确性,一致性,

完整性,安全性

17

DataBackUp

数据库备份

权限识别,意外处理等能力

18

DataRestore

数据库恢复

软硬件意外处理能力

22

PrintStudentInfo

打印学生具体资料

出现各种软硬件意外时其反应能力

23

PrintCountStudent

打印学生统计结果

资料集处于各种情况下是否能正常工作

24

getCommonData

常用数据录入

是否能检验录入资料的合法性,

是否能正确指导系统运行

4.2测试结果及发现

下面进行的是各模块的黑盒测试.

4.2.1整体测试

把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。

要求有一个立足于用户,设计美观,最大程度使其方便快捷地使用系统,能及时准确地将系统各种运行情况或遇到的问题反馈给用户的界面。

所设计的界面如下。

登录:

运行主界面

浏览学生信息界面

浏览帐户界面

新增帐户界面

帐户修改界面

帐户删除界面

学生状况信息

添加学生信息

修改学生信息

删除学生信息

总体上,界面美观及友好已达到预期目标。

下面是功能上在测试中发现的结果。

第一次测试时,发现的问题有:

1.没有显示切换用户按钮,使用户无法在系统运行过程中以不同权限登录。

每次切换需以重启动系统形式,不够方便。

2.系统界面中无法直接查看到当前用户的权限

3.尚无法完全用键盘完成软件的所有操作。

4.未开发鼠标第三键及滚轮作用.

5.在新增学生资料的界面中按Tab键所到的控件顺序不是很合理

6.新增时如无法添加给出的是单一的”无法添加”的信息,没有让用户清楚了解原因.

7.选择统计功能时执行按钮仍显示为”查询”

8.查询或统计完毕打印预览后无打印按钮.

9.打印时无法设置打印机属性.

10.打印格式仍不够美观.

4.2.2登陆模块测试计划

1.目标

大学生信息管理系统登陆模块

2.测试方案

输入不同的用户名和密码进行登陆。

测试用例:

合法的用户名和密码;

不合法的用户名合法的密码;

合法的用户名不合法的密码;

不合法的用户名不合法的密码;

空的用户名和正确的密码;

空的用户名和错误的密码;

正确的用户名和空的密码;

错误的用户名和空的密码;

修改不合法的学生信息;

3.测试用例

3.1输入

正确的信息(Admin,admin)

测试用例类型

用例

合法的用户名和密码;

Adminadmin

不合法的用户名合法的密码;

Sdfsdfadmin

合法的用户名不合法的密码;

Adminsdaf

不合法的用户名不合法的密码;

Asdfsdasdf

空的用户名和正确的密码;

“”admin

空的用户名和错误的密码;

“”adsf

正确的用户名和空的密码;

Admin‘’

错误的用户名和空的密码;

Adsf‘’

3.2输出

正确输出

欢迎进入系统

不存在该用户

密码错误

不存在该用户

请输入用户名

请输入用户名

请输入密码

请输入密码

4.2.3登陆模块测试结果

测试用例类型

实际提示

合法的用户名和密码;

欢迎进入系统

不合法的用户名合法的密码;

不存在该用户

合法的用户名不合法的密码;

密码错误

不合法的用户名不合法的密码;

不存在该用户

空的用户名和正确的密码;

请输入用户名

空的用户名和错误的密码;

请输入用户名

正确的用户名和空的密码;

请输入密码

错误的用户名和空的密码;

请输入密码

和预期结果相同,说明该登陆模块的设计正确,它能处理各种错误输入。

此次测试没有发现其他的问题。

4.2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1