离散数学考试测验系统《详细设计说明书》
1引言2
1.1编写目的 2
1.2背景 2
1.3定义 2
1.4参考资料 2
2程序系统的结构2
3程序1(标识符)设计说明2
3.1程序描述 3
3.2功能 3
3.3性能 3
3.4输人项 3
3.5输出项 3
3.6算法 3
3.7流程逻辑 3
3.8接口 3
3.9存储分配 4
3.10注释设计 4
3.11限制条件 4
3.12测试计划 4
3.13尚未解决的问题 4
4程序2(标识符)设计说明4
1引言
1.1编写目的
离散数学课程测验系统是为了满足离散数学课程教学,提高教学效率,服务于广大师生,,本系统通过网上出题,机上考试,自动阅卷等工作为师生创造一个快捷的网络课程测验系统。
1.2背景
a.待开发软件系统名称:离散数学考试测验系统
b.本项目的任务提出和开发者:南理工14级第四小组 本项目用户针对计算机科学专业的学生和教师以及部分电子信息类专业学生、教师。
c.系统环境要求:软件测试运行环境为Windows 7及以上系统,数据库系统为SQL Server 2008.
1.3定义
课程练习测验系统即为帮助用户练习、检测离散数学学习效果的系统。
1.4参考资料
[1]邹新著,构建之法,人民邮电出版社 ,2015.7.
[2][美]Stephen R.Schach编著,面向对象与传统软件工程(中译),机械工业出版社.2003.9
[3]张海藩编著,软件工程导论,清华大学出版社,2010.1
[4]周之英编著,现代软件工程,科学出版社,2000.1
[5] [美]Roger S.Pressman著,软件工程:实践者的研究方法,2011.5
[6] [美]Steve McConnell著,Rapid Development,电子工业出版社,2003.3
[7]Ron Patton著,Software Testing,机械工业出版社,2002.3
[8]冀振燕编著,UML系统分析设计与应用案例,人民邮电出版社,2003.6
[9]吴建等编著,UML基础与Rose建模案例,人民邮电出版社,2004.10
2程序系统的结构
2.4 结构
图2.1 系统结构
功能描述:
教师管理:管理教师的基本信息,且可以更改密码。
学生管理:管理学生的基本信息,且可以更改密码。
管理员账号创建:创建新的管理员账号,方便其他人管理。
修改密码:修改登录密码。
题型管理:管理各题型的数量。
题库管理:管理题库中的题目,可以增添,删除,修改。
查看学生成绩:查看单个学生的成绩或者所有学生的成绩。
查看成绩:查看自己的成绩。
考试:进行教师设置好的考试。
练习:选择练习章节以及各题型数量后进行练习,提交后可查看对错。
表2.1 功能描述
模块分类 |
功能 |
对象 |
功能描述 |
登陆 |
登录 |
所有用户 |
用于用户登录 |
信息管理 |
教师信息管理 |
管理员 |
管理教师和学生信息,且可修改密码 |
学生信息管理 |
|||
账号创建 |
创建用户账号 |
管理员 |
为要使用系统的用户创建登陆账号 |
密码修改 |
修改管理员密码 |
所有用户 |
修改登陆密码 |
修改学生密码 |
|||
修改教师密码 |
|||
题库管理 |
增添 |
教师 |
用户更新管理题库 |
删除 |
|||
修改 |
|||
查询 |
教师查询学生成绩 |
教师 |
查看学生成绩 |
学生查看自己成绩 |
学生 |
查看自己成绩 |
|
考试 |
学生考试 |
学生 |
在规定时间内完成答题,系统自动给分 |
考试管理 |
教师 |
设置考试各题型数量以及考试时间 |
|
练习 |
学生练习 |
学生 |
用于日常学生练习 |
模块分类 |
功能 |
对象 |
功能描述 |
登陆 |
登录 |
所有用户 |
用于用户登录 |
信息管理 |
教师信息管理 |
管理员 |
管理教师和学生信息,且可修改密码 |
学生信息管理 |
|||
账号创建 |
创建用户账号 |
管理员 |
为要使用系统的用户创建登陆账号 |
密码修改 |
修改管理员密码 |
所有用户 |
修改登陆密码 |
修改学生密码 |
|||
修改教师密码 |
|||
题库管理 |
增添 |
教师 |
用户更新管理题库 |
删除 |
|||
修改 |
|||
查询 |
教师查询学生成绩 |
教师 |
查看学生成绩 |
学生查看自己成绩 |
学生 |
查看自己成绩 |
|
考试 |
学生考试 |
学生 |
在规定时间内完成答题,系统自动给分 |
考试管理 |
教师 |
设置考试各题型数量以及考试时间 |
|
练习 |
学生练习 |
学生 |
用于日常学生练习 |
3登录模块(Login)设计说明
3.1程序描述
用户通过登录模块获取相应的操作权限并使用系统。
3.2功能
本模块完成用户登录功能。以学生用户为例:在登陆界面输入学号和密码,系统在数据库中查找该学号是否存在,若不存在,则返回该用户不存在;若存在,将输入密码与数据库中密码对比,若相同,登陆成功,跳转至学生页面;若不同,提示密码错误,学生需重新输入密码进行登录。
3.3性能
本模块无精度要求,但是对于密码的输入有字母大小写要求,时间上要求在尽短时间内给出正确的响应。
3.4输人项
学号,数据类型为Varchar,长度为20;
密码,数据类型为Varchar,长度为10。
3.5输出项
输出提示信息例如:该用户已登陆,登陆成功正在跳转页面,密码错误请重新输入等。
3.6算法
本模块利用二分查找对数据库表项进行检索。
3.7流程逻辑
图3.1 登录流程图
3.8接口
本模块转向学生,教师,管理员页面,对外接口包含后台数据库的连接。数据库涉及学生表,教师表,管理员表。
3.9存储分配
分类存储至各类用户表中。
3.10注释设计
给出学号的位数限制,密码大小写的提示,用户不存在,登陆成功,密码错误等。
3.11限制条件
学号以及密码的类型以及长度是否符合规定。
3.12测试计划
本模块测试需要用几种不同类型的账户登录,如不存在该账户则提示用户不存在请重新输入;应用正确与错误的密码测试,看是否跳转至相应页面和是否正确提示请重新输入以确定达到预期的效果。
3.13尚未解决的问题
查找用户是否存在的时间长。4 信息管理模块(informanagement)设计说明
4.1程序描述
此模块是用于管理员修改用户数据,包括教师用户,学生用户的各种个人信息。并保存到数据库中。
4.2功能
本模块主要为管理员管理用户数据,以修改学生信息为例,可修改学号,姓名,密码,教师编号。
4.3性能
本模块对不符合规定的输入能给出相应提示并可修改。
4.4输入项
以修改为学生信息为例,
表4.1 学生账号信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Stu_ID |
编号 |
INT |
20 |
是 |
否 |
2 |
Stu_name |
姓名 |
INT |
20 |
否 |
否 |
3 |
Stu_psd |
密码 |
INT |
10 |
否 |
否 |
4 |
Stu_num |
学号 |
INT |
10 |
否 |
否 |
5 |
Stu_class |
教师编号 |
INT |
10 |
否 |
是 |
其中密码项要求保密
对需要修改的项进行修改
4.5输出项
该模块返回输入错误,修改成功等
4.6算法
无
4.7流程逻辑
图4.1 信息管理流程图
4.8接口
本模块不隶属于其他模块。
4.9存储分配
分类存储至各类用户表中。
4.10注释设计
给出对每一个输入项的特性,包括名称,标识,数据的类型和格式,数据值的有效范围等等。
4.11限制条件
本模块输入必须按照规定的数据类型输入且非空项不可为空。
4.12测试计划
本模块的测试为对各类型数据的修改测试,若符合输入要求则系统提示修改成功且能将修改后的数据保存至数据库中,若不符合输入要求例如输入信息不完整,则提示补充信息。
4.13尚未解决的问题
无
5账号创建模块(AccountCreation)设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
5.1程序描述
本模块是用来创建用户账号,对象是管理员,目的是为要使用系统的用户创建登陆账号。
5.2功能
本模块是管理员为要使用系统的用户创建登陆账号,管理员录入用户个人信息,设置初始登陆密码。完成创建后系统后台检测是否已存在相同记录,如果已存在则提示重新创建,如果不存在则完成创建。
5.3性能
本模块要求对不符合规定的个人信息给出相应提示并要求管理员重新按规定录入。
5.4输人项
以创建学生账号为例:
表5.1 学生账号信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Stu_ID |
编号 |
INT |
20 |
是 |
否 |
2 |
Stu_name |
姓名 |
Varchar |
20 |
否 |
否 |
3 |
Stu_psd |
密码 |
INT |
10 |
否 |
否 |
4 |
Stu_num |
学号 |
INT |
10 |
否 |
否 |
5 |
Stu_class |
教师编号 |
INT |
10 |
否 |
是 |
其中密码要求保密。
5.5输出项
本模块返回是已存在账户,输入出错,创建账户成功等。
5.6算法
无。
5.7流程逻辑
图5.1 账号创建执行流程
5.8接口
本模块不隶属于其他模块。
5.9存储分配
分类存储至各类用户表中。
5.10注释设计
给出对每一个输入项的特性,包括名称,标识,数据的类型和格式,数据值的有效范围等等。
5.11限制条件
本模块输入必须按照规定的数据类型输入且非空项不可为空。
5.12测试计划
本模块的测试要对各种类型信息输入进行测试,如符合输入要求则提示创建成功且能正确将相应信息添加至数据库中;如不符合要求则提示创建失败请重新填写;如账户已存在则提示账户已存在请重新填写。
5.13尚未解决的问题
管理员录入信息耗时长。
6修改密码模块(chpassword)设计说明
6.1程序描述
本模块用于用户修改密码,包括教师用户,学生用户
6.2功能
本模块完成用户修改密码功能,需输入旧密码,修改后的密码以及确认密码,密码须区分大小写,输入以上三项后,系统将输入旧密码与数据库中密码进行对比,若不同,提示旧密码错误,若相同,系统将输入修改后的密码与确认密码进行对比,若不同,则提示两次输入不同,若相同,密码修改成功。
6.3性能
本模块无精度要求,但是对于密码的输入有字母大小写要求,时间上要求在尽短时间内给出正确的响应。
6.4输入项
旧密码:数据类型为INT。
新密码:数据类型为INT。
确认密码:数据类型为INT。
6.5输出项
该模块返回输入有误,修改成功等
6.6算法
无
6.7流程逻辑
图6.1 修改密码流程图
6.8接口
本模块转向学生,教师页面,对外接口包含后台数据库的连接。数据库涉及学
生表,教师表。
6.9存储分配
分类存储至各类用户表中。
6.10注释设计
给出密码的大小写提示,位数限制,密码错误等
6.11限制条件
密码的类型以及长度是否符合规定。
6.12测试计划
本模块测试为对密码的修改测试,若符合要求输入,应用新修改的密码登录,若登陆成功则修改密码成功。
6.13尚未解决的问题
无
7 题库管理模块(quesmanage)设计说明
7.1程序描述
本模块用于对题库内题目进行添删改查操作
7.2功能
题库管理包括各类型题管理。
管理员可以通过题库管理对相应类型题目进行添加,删除,修改。题库管理模块功能如图5.2.1所示。
图7.1 题库管理功能模块
7.3性能
主要是时间上需要良好的反应速度。
7.4输入项
判断题:
题目,文本框text输入,char型;
答案,文本框text输入,char型;
选择题:
题目,文本框text输入,char型;
答案,文本框text输入,char型;
主观题:
题目,文本框text输入,char型;
答案,文本框text输入,char型;
7.5输出项
添加题目成功显示“添加题目成功”;删除题目成功显示“该题目已删除”;修改题目成功显示“修改成功”;
7.6算法
7.7流程逻辑
图7.2 题目管理流程逻辑示意图
7.8接口
本模块由教师页面转入,连接数据库的题目表。
7.9存储分配
表7.1题目信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Title_ID |
编号 |
INT |
是 |
否 |
|
2 |
Title_name |
题目 |
Varchar |
200 |
否 |
是 |
3 |
Title_opt_a |
选项一 |
Varchar |
200 |
否 |
是 |
4 |
Title_opt_b |
选项二 |
Varchar |
200 |
否 |
是 |
5 |
Title_opt_c |
选项三 |
Varchar |
200 |
否 |
是 |
6 |
Title_opt_d |
选项四 |
Varchar |
200 |
否 |
是 |
7 |
Title_answer |
正确答案 |
Varchar |
2 |
否 |
是 |
8 |
Cou_ID |
章节 |
INT |
否 |
否 |
|
9 |
Tea_ID |
教师编号 |
INT |
否 |
否 |
|
10 |
Title_score |
分值 |
INT |
否 |
否 |
7.10注释设计
无
7.11限制条件
无
7.12测试计划
本模块测试需要正确的向数据库中添加删除修改题目。
7.13尚未解决的问题
无
8 查询模块(demand)设计说明
8.1程序描述
本模块用于对考试成绩以及记录的查询
8.2功能
查询模块包括学生查询,教师查询两大功能块。学生查询依据测试日期,教师查询课依据测试时间,班级以及学生学号,具体如图8.1所示.
图8.1 查询功能模块
8.3性能
主要是时间上需要良好的反应速度。
8.4输入项
学生查询:
测试日期,文本框text输入,int型;
教师查询:
学号,文本框text输入,int型;
测试日期,文本框text输入,int型;
8.5输出项
学生查询显示相应日期所有测试成绩;教师查询依据输入分别给予输出,输入测试时间查询相应的全部成绩,输入学号,测试时间可查询相应学生一次测试的成绩,输入为空显示全部成绩。
8.6算法
查找过程中应用二分查找
8.7流程逻辑
图8.1查询模块流程逻辑示意图
8.8接口
本模块由学生页面或是教师页面转入,连接数据库的考试记录。
8.9存储分配
表8.1学生查询信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Title_time |
测试日期 |
INT |
8 |
是 |
否 |
表8.2教师查询信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Stu_ID |
学生学号 |
INT |
50 |
否 |
是 |
2 |
Title_time |
测试日期 |
INT |
8 |
否 |
是 |
8.10注释设计
无
8.11限制条件
需要学生与教师获得相应权限。
8.12测试计划
本模块测试需要学生教师按不同输入对考试成绩进行查找。
8.13尚未解决的问题
无
9 练习模块(exercise)设计说明
9.1 程序描述
此模块为学生提供日常的不限时不打分的习题练习。
9.2 功能
本模块主要功能为学生提供练习服务。学生用户登录后进入练习模块。学生可根据自己的需求选择要练习的每个单独章节的题目。学生在完成所有题目之后,系统会给出相应答案让学生检验所做回答的正确性。练习的时候不限制时间,学生可根据自身时间合理分配答题时间。
9.3 性能
本模块要求系统出给的题目及答案的正确率达到百分之百。答题结束后,要及时给出答案。
9.4 输入项
选择题答案,单选按钮radio控件输入;
判断题答案,单选按钮radio控件输入;
9.5 输出项
开始练习后,从数据库读取试题信息显示在页面上,答题结束后显示答案。
9.6 算法
无。
9.7逻辑流程
图9.1练习流程图
9.8 接口
该模块由学生页面转入,对外连接试题表。
9.9 存储分配
9.10 注释设计
无。
9.11 限制条件
无。
9.12 测试计划
本模块测试学生提交后答案的显示情况,针对每一道题显示出准确的答案。
9.13 尚未解决的问题
组卷时间可能较长。
10 考试模块(exam)设计说明
10.1 程序描述
该模块主要完成学生在线考试内容
10.2 功能
学生用户登录后,选择考试选项进入考场。在考试开始时间后,系统会给出教师整理好的试卷在页面上。学生用户,在规定的时间内答题。在考试时间结束后,无论是否选择交卷,系统都会提交试卷并给出最终分数。
10.3 性能
考试时间开始后,试卷应立即显示在学生用户的页面上。考试结束后,学生能直接看到自己的成绩。
10.4 输入项
选择题答案,单选按钮radio控件输入;
判断题答案,单选按钮radio控件输入;
10.5 输出项
开始考试后从数据库读取试卷显示在页面上,交卷以后显示学生得分。
10.6 算法
无。
10.7 逻辑流程
10.1 考试流程图
10.8 接口
该模块由学生页面转入,对外链接试卷信息表和学生答卷信息表。
10.9 存储分配
表10.1试卷信息表
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
Exam_time |
考试时间 |
INT |
否 |
否 |
|
2 |
Title_ID |
题目编号 |
INT |
否 |
否 |
|
3 |
ID |
ID |
INT |
是 |
否 |
10.10 注释设计
无。
10.11 限制条件
选择题均为单选,不能选择多个选项。
10.12 测试计划
测试学生开始考试显示答卷、学生在规定时间内交卷打分情况以及超出时间强制交卷功能。
10.13 尚未解决的问题
无。