南 京 理 工 大 学
作 者: |
刘雨薇 |
学 号: |
914106840606 |
张钰 |
914106840310 |
||
张欢欢 |
914106840509 |
||
彭姿容 |
914106840501 |
||
学院(系): |
计算机科学与工程学院 |
||
专 业: |
计算机科学与技术专业 |
||
题 目: |
课堂练习测验系统 |
目录
1引言.............................................................................................................................. 2
1.1编写目的................................................................................................................. 2
1.2背景........................................................................................................................ 2
1.3定义........................................................................................................................ 2
1.4参考资料................................................................................................................. 2
2程序系统的结构............................................................................................................. 3
2.1系统架构----------------------------------------------------------------------------------------------------------3
2.2系统功能模块----------------------------------------------------------------------------------------------------3
3程序1(标识符)设计说明............................................................................................ 5
3.1程序描述................................................................................................................. 5
3.2功能........................................................................................................................ 5
3.3性能........................................................................................................................ 5
3.4输人项..................................................................................................................... 5
3.5输出项..................................................................................................................... 5
3.6算法........................................................................................................................ 6
3.7流程逻辑................................................................................................................. 6
3.8接口........................................................................................................................ 6
3.9存储分配................................................................................................................. 6
3.10注释设计............................................................................................................... 6
3.11限制条件............................................................................................................... 6
3.12测试计划............................................................................................................... 6
3.13尚未解决的问题..................................................................................................... 7
4程序2(标识符)设计说明----------------------------------------------------------------------------------------7
5程序3(标识符)设计说明----------------------------------------------------------------------------------------10
6程序4(标识符)设计说明---------------------------------------------------------------------------------------11
7程序5(标识符)设计说明-------------------------------------------------------------------------------------13
8程序6(标识符)设计说明-------------------------------------------------------------------------------------15
9程序7(标识符)设计说明-------------------------------------------------------------------------------------18
10程序8(标识符)设计说明-----------------------------------------------------------------------------------20
11程序9(标识符)设计说明-----------------------------------------------------------------------------------22
12程序10(标识符)设计说明---------------------------------------------------------------------------------23
1引言
1.1编写目的
编写这份详细设计报告是基于该软件产品的需求分析报告、概要设计报告编写的,开发这个软件产品的意义、作用、以及最终要达到的意图。通过这份软件系统详细设计报告详尽说明了该软件产品的编码结构,从而对该软件产品的物理组成进行准确的描述。
1.2背景
a. 工程名称:江苏省南京理工大学计算机网络课程练习测验系统
b. 本项目的任务提出者:南京理工大学计算机学院
本项目的开发者:南京理工大学计算机学院14级9141062302班刘雨薇、张钰、彭姿容、张欢欢
本项目的用户:南京理工大学计算机网络课程师生
实现该软件的计算中心:南京理工大学
c. 产品所有权: 南京理工大学计算机学院14级9141062302班刘雨薇、张钰、彭姿容、张欢欢
1.3定义
课程练习测验系统:它是由南京理工大学计算机学院14级软件课程设计第9开发小组完全自主开发设计的课程练习测验软件,以江苏省南京理工大学计算机网络课程为基本元素、用vs2010和SQL Server 2000来实现其功能的软件。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。
模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
1.4参考资料
[1]殷人昆等.实用软件工程 [M] (第三版)清华大学出版社 2010.11
[2] 邹欣.构建之法.[M]人民邮电出版社 2015.07
[3] Stephen R.Schach面向对象与传统软件工程 [M]. 机械工业出版社2003.09
[4] Jeffrey D.Ullman Jennifer Widom 数据库系统基础教程 [M] 机械工业出版社2009.8
[5]贾祥素等 SQL Server 2012 案例教程[M[ 清华大学出版社 2014.7
[6]童强.基于ASP.NET的高校在线考试系统设计与实现[J]软件导刊 2014.5 13(5) 25~28
[7] 戎马工作室. ASP与SQL Server动态网站开发自学导航[M]. 北京:机械工业出版社,2007:2-3.
2程序系统的结构
2.1系统架构
该软件系统包含客户层,中间层和信息管理系统层。其中,客户层用于用户与客户端的交互,例如显示信息,查询信息,提交信息,输入数据等。中间层为应用服务器部分,主要用来实现数据的接收,发送,并作为一座“桥梁”来连接客户与数据库。信息管理系统层主要实现数据的处理功能。
从安全的角度看,中间层的引入能有效的对系统与数据进行保护,用户无法直接修改,删除核心信息,从而使系统安全性得到保障,有效地避免数据丢失等问题的出现。
2.2系统功能模块
登陆界面模块:
图2-2-1
管理员功能模块:
图2-2-2
老师功能模块:
图2-2-3
学生功能模块:
图2-2-4
3.程序(用户登录模块)设计说明
3.1程序描述
用户通过登录模块获取相应的操作权限并使用系统。
3.2功能
本模块完成用户登陆功能。以学生用户为例,在登录界面中输入学号和密码,系统在数据库中查找该学号是否存在,若不存在,返回用户不存在;若存在,将输入密码与数据库中密码对比,若相同,返回登陆成功,跳转至学生页面,若不同,提示密码输入错误,重新登录
3.3性能
本模块无精度要求,对于输入的密码要求大小写不敏感,时间上要求能尽快给用户返回信息。
3.4输入项
学号,数据类型为varchar,长度20
密码,数据类型为varchar,长度50。
其中密码要求不显示在登录界面上以保证安全。
3.5输出项
提示信息:“输入的信息不能为空”、“该用户不存在”、“登录成功”、“密码错误”。
3.6算法
查找过程应用二分法查找。
3.7流程逻辑
图 3-7-1
3.8接口
本模块转向学生,老师,管理员页面,对外接口包含后台数据库的连接。数据库涉及学生表,老师表,管理员表等。
3.9存储分配
列名 |
字段说明 |
数据类型 |
长度 |
Stu_id |
学号 |
Varchar |
12 |
Tea_id |
教师工号 |
Varchar |
20 |
Man_id |
管理员账号 |
Varchar |
20 |
Stu_pwd |
学生密码 |
Varchar |
50 |
Tea_pwd |
教师密码 |
Varchar |
50 |
Man_pwd |
管理员密码 |
Varchar |
50 |
表3.9.1
3.10注释设计
无。
3.11限制条件
无。
3.12测试计划
本模块测试需要按各种登录信息以确保能正常登录。
3.13尚未解决的问题
无。
4程序(个人信息模块)设计说明
4.1程序描述
该模块用于管理个人信息。
4.2功能
用户管理包括用户添加、用户修改、用户删除、用户查看(查看个人信息,修改个人信息)。
4.3性能
时间上有良好的性能反应。
4.4输入项
用户的相关信息。
4.5输出项
1、用户添加显示“添加成功”(管理员);
2、用户修改显示“修改成功”(管理员);
3、用户删除显示“删除成功”(管理员);
4、用户查看显示查询到的用户相关信息;
5、用户修改信息显示修改成功.
4.6算法
查找过程应用二分法查找。
4.7流程逻辑
管理员用户流程图如下:
图 4-7-1
普通用户流程图如下:
图 4-7-2
4.8接口
本模块向学生,老师,管理员,进入该模块后进行操作,关联相关的表。
4.9存储分配
学生信息表Student
列名 |
数据类型 |
数据长度 |
允许null值 |
stu_id |
varchar |
50 |
|
stu_name |
Varchar |
50 |
|
stu_sex |
Varchar |
1 |
|
stu_pwd |
Varchar |
20 |
|
stu_phone |
Varchar |
20 |
|
stu_question |
Varchar |
50 |
|
stu_answer |
varchar |
50 |
|
stu_major |
varchar |
50 |
|
tea_id |
varchar |
20 |
是 |
表4.9.1
教师信息表:
列名 |
数据类型 |
数据长度 |
允许null值 |
tea_id |
varchar |
20 |
是 |
tea_name |
Varchar |
50 |
|
tea_sex |
Varchar |
1 |
|
tea_pwd |
Varchar |
20 |
|
tea_phone |
Varchar |
20 |
|
tea_question |
Varchar |
50 |
|
tea_answer |
varchar |
50 |
表4.9.2
管理员信息表:
列名 |
数据类型 |
数据长度 |
允许null值 |
man_id |
Varchar |
50 |
|
man_name |
Varchar |
50 |
|
man_sex |
Varchar |
1 |
|
man_pwd |
Varchar |
50 |
|
man_phone |
Varchar |
50 |
|
man_question |
Varchar |
50 |
|
man_answer |
Varchar |
50 |
表4.9.3
4.10注释设计
无。
4.11限制条件
无。
4.12测试计划
本模块测试需要按各种登录信息以确保能正常登录。
4.13尚未解决的问题
无。
5程序(忘记密码模块)设计说明
5.1程序描述
该模块用于登录忘记密码是找回重新设置密码。
5.2功能
用户登录忘记密码时,可以根据自己设置的安全问题,进入密码重新设置页面,更改密码后,再进行登录。
5.3性能
时间上有良好的性能反应。
5.4输入项
用户的安全问题的答案。
5.5输出项
5.5.1、安全问题“回答正确”或“回答错误”;
5.5.2、密码重新“设置成功”。
5.6算法
无。
5.7流程逻辑
图5-7-1
5.8接口
本模块向用户登录后获取相应的表,忘记密码链接到用户表的安全问题答案等。
5.9存储分配
表5.9.1
列名 |
字段说明 |
数据类型 |
长度 |
Stu_id |
学号 |
Vachar |
12 |
Tea_id |
教师工号 |
Vachar |
20 |
Stu_pwd |
学生密码 |
Vachar |
50 |
Tea_pwd |
教师密码 |
Vachar |
50 |
Man_id |
管理员账号 |
Vachar |
20 |
Man_pwd |
管理员密码 |
Vachar |
50 |
Stu_question |
学生安全问题 |
Vachar |
50 |
Stu_answer |
安全问题答案 |
Vachar |
50 |
Tea_question |
教师安全问题 |
Vachar |
50 |
Tea_answer |
安全问题答案 |
Vachar |
50 |
Man_question |
管理员安全问题 |
Vachar |
50 |
Man_answer |
安全问题答案 |
Vachar |
50 |
5.10注释设计
无。
5.11限制条件
无。
5.12测试计划
本模块测试需要按各种登录信息以确保能正常登录。
5.13尚未解决的问题
无。
6程序(题库管理模块)设计说明
6.1程序描述
本模块用于对题库内题目进行添删改查操作。
6.2功能
题库管理包括名词解释题、简答题管理和综合题管理。管理员和老师可以通过题库管理对各种类型的试题进行添加、删除、修改以及查询。题库管理功能模块图如图6-1所示,由于各种类型试题的管理功能均类似,这里仅以名词解释题管理为例进行介绍。名词解释题管理模块包括的操作有:添加名词解释题、删除名词解释题、修改名词解释题和查找名词解释题。
图6-2-1
6.3性能
主要是时间上需要良好的反应速度。
6.4输人项
题目,文本框text输入,char型; 答案,文本框text输入,char型。
6.5输出项
添加题目显示“添加成功”或“题目已存在”;删除题目显示“删除成功”;修改题目显示“修改成功”;查找题目返回判断题题目以及答案。
6.6算法
查找过程应用二分法查找。
6.7流程逻辑
名词解释题流程逻辑图如下:
图6-7-1
6.8接口
本模块由教师,管理员页面转入,连接数据库的试题信息表、教师信息表和管理员信息表。
6.9存储分配
名词解释表mingProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表6.9.1
简答题表jianProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表6.9.2
综合体表zongProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表6.9.3
6.10注释设计
无。
6.11限制条件
无。
6.12测试计划
本模块测试需要按不同关键字对题目进行查找以及是否能正常向数据库中添加删除题目。
6.13尚未解决的问题
无。
7程序(试卷管理模块)设计说明
7.1程序描述
本模块用于对测试试卷进行添删改查操作。
7.2功能
试卷管理包括试卷添加、删除、修改以及查询。模块图如下
图7-2-1
7.3性能
主要是时间上需要良好的反应速度。
7.4输入项
系统随机出一套试卷保存在数据库中(并且带有试卷的编号)。
7.5输出项
上传试卷显示“试卷已存在”;删除试卷显示“删除成功”;修改试卷显示“修改成功”;查找试卷显示“已找到”或“不存在”。
7.6算法
查找过程应用二分法查找。
7.7流程逻辑
图7-7-1
7.8接口
本模块由教师,管理员页面转入,连接数据库的试卷表。
7.9存储分配
试卷信息表(paperdetail)
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
ID |
序号 |
Varchar |
50 |
是 |
否 |
2 |
PaperID |
试卷序号 |
Varchar |
100 |
否 |
是 |
3 |
Type |
题目类型 |
Varchar |
100 |
否 |
是 |
4 |
TypeID |
题目序号 |
Varchar |
100 |
否 |
是 |
5 |
Mark |
分值 |
Varchar |
2 |
否 |
是 |
表7.9.1
7.10注释设计
五.
7.11限制条件
无。
7.12测试计划
本模块需要测试能否正常的生成一套试卷。
7.13尚未解决的问题
无。
8程序6(学生测试模块)设计说明
8.1程序描述
本模块用于对学生进行测试。
8.2功能
学生测试模块主要用于学生进行测试,随机选取试卷进行测试。
图8-2-1
8.3性能
主要是时间上需要良好的反应速度。
8.4输入项
分值:int型
8.5输出项
试卷测验完成显示“已完成测验”;时间到显示“时间已到,请交卷”。
8.6算法
查找过程应用二分法查找。
8.7流程逻辑
图8-7-1
8.8接口
本模块由学生,连接数据库的试卷和学生完成表。
8.9存储分配
学生完成表StuAnswer
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Int |
||
stu_id |
varchar |
50 |
|
tea_id |
varchar |
50 |
|
paper_id |
varchar |
50 |
|
type |
varchar |
50 |
|
type_id |
int |
||
mark |
int |
是 |
|
stu_answer |
varchar |
50 |
|
stu_time |
datetime2 |
7 |
是 |
表8.9.1
8.10注释设计
无。
8.11限制条件
无。
8.12测试计划
本模块测试需要学生选取的试卷是否存在,并判断是否已经做过。以及到达时间和尚未到达时间交卷的情况。
8.13尚未解决的问题
无。
9程序(老师改卷模块)设计说明
9.1程序描述
本模块用于对学生作答题目进行批改。
9.2功能
老师改卷模块包括老师查看批改情况,对已经进行批改的同学的成绩进行修改,和对未进行批改的同学的试卷进行批改。
图9-2-1
9.3性能
主要是时间上需要良好的反应速度。
9.4输入项
分值:int型
9.5输出项
批改试卷完成显示“批改成功”;批改试卷未完成显示“批改没结束”;修改成绩显示“修改成功”,返回,显示所有批改情况。
9.6算法
查找过程应用二分法查找。
9.7流程逻辑
图9-7-1
9.8接口
本模块由教师,连接数据库的学生成绩表。
9.9存储分配
学生分数表Score
列名 |
字段说明 |
数据类型 |
长度 |
ID |
分数序号 |
int |
|
stu_id |
学生编号 |
varchar |
50 |
tea_id |
改卷老师 |
varchar |
50 |
paper_id |
试卷编号 |
varchar |
50 |
ming_score |
名词解释得分 |
int |
|
jian_score |
简答题得分 |
int |
|
zong_score |
综合题得分 |
int |
|
score |
总分 |
Int |
|
stu_time |
学生完成时间 |
Datetime2 |
|
tea_time |
教师批改试卷 |
Datetime2 |
表9.9.1
9.10注释设计
无。
9.11限制条件
无。
9.12测试计划
本模块测试需要当教师修改学生成绩时数据库的修改
9.13尚未解决的问题
无。
10程序(查询成绩模块)设计说明
10.1程序描述
本模块用于对学生做题后的查询成绩操作。
10.2功能
所示查询成绩的功能为学生、教师和管理员所共有的权限,其中查询的成绩为学生完成试题的成绩。
10.3性能
由于数据较庞大,故在时间处理上需要良好反应。
10.4输入项
学生学号,文本框text输入,char型; 或学生姓名,文本框text输入,char型。
10.5输出项
查询失败则输出“所输入的学生不存在”;查询成功则返回学生的姓名、学号、授课教师、名词解释得分、简答题得分、综合题得分、总分。
10.6算法
查找的算法采用的是二分查找。
10.7流程逻辑
图10.7.1
10.8接口
本模块由学生、教师,管理员页面转入,连接数据库的试题表、学生信息表、教师信息表和管理员信息表。
10.9存储分配
学生分数表:
列名 |
字段说明 |
数据类型 |
长度 |
ID |
分数序号 |
int |
|
stu_id |
学生编号 |
varchar |
50 |
tea_id |
改卷老师 |
varchar |
50 |
paper_id |
试卷编号 |
varchar |
50 |
ming_score |
名词解释得分 |
int |
|
jian_score |
简答题得分 |
int |
|
zong_score |
综合题得分 |
int |
|
score |
总分 |
Int |
|
stu_time |
学生完成时间 |
Datetime2 |
|
tea_time |
教师批改试卷 |
Datetime2 |
表10.9.1
10.10注释设计
无。
10.11限制条件
无。
10.12测试计划
本模块测试需要按不同关键字对学生成绩进行查找以及是否能正常向数据库中查询该学生的成绩信息。
10.13尚未解决的问题
无。
11.程序(查看答案模块)设计说明
11.1程序描述
本模块用于用户查询试卷答案的操作。
11.2功能
本模块的权限为学生所有,查询的答案为学生做过的卷子的答案。
11.3性能
本模块无精度要求,但在时间处理上需要良好的反应。
11.4输入项
试卷编号,数据类型为char,长度50。
11.5输出项
查询失败则输出“你未完成该套试卷,无法查看答案”;查询成功则返回试卷编号及该套试卷所有题目的答案。
11.6算法
查找过程应用二分法查找。
11.7流程逻辑
本模块流程逻辑图如下
图 11-7-1
11.8接口
本模块由学生页面转入。对外接口包含后台数据库的连接,数据库涉及学生表,题库表等。
11.9存储分配
名词解释表mingProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表11.9.1
简答题表jianProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表11.9.2
综合体表zongProblem
列名 |
数据类型 |
数据长度 |
允许null值 |
ID |
Varchar |
50 |
|
title |
Varchar |
50 |
|
answer |
Varchar |
50 |
表11.9.3
11.10注释设计
无。
11.11限制条件
无。
11.12测试计划
本模块测试需按不同关键字对试卷答案进行查找以确认是否能正常向数据库中查询该试卷的题目答案信息。
11.13尚未解决的问题
无。
12程序(管理人员模块)设计说明
12.1程序描述
本模块用于管理员执行自身功能权限。
12.2功能
管理人员功能包括增删用户,其中用户包括老师和学生
12.3性能
时间上需要有良好的性能反应。
12.4输入项
管理员编号:数据类型为char,长度50,密码:数据类型为char,长度50
其中密码要求不显示在登录界面上以保证安全。
12.5输出项
12.5.1界面显示删除用户;
12.5.2界面显示添加用户。
12.6算法
查找过程应用二分法查找。
12.7流程逻辑
管理员的流程逻辑图如下
图 12-7-1
12. 8接口
本模块转向管理员页面。对外接口包含后台数据库的连接,数据库涉及学生表,老师表,管理员表等。
12.9存储分配
学生信息表Student
列名 |
数据类型 |
数据长度 |
允许null值 |
stu_id |
varchar |
50 |
|
stu_name |
Varchar |
50 |
|
stu_sex |
Varchar |
1 |
|
stu_pwd |
Varchar |
20 |
|
stu_phone |
Varchar |
20 |
|
stu_question |
Varchar |
50 |
|
stu_answer |
varchar |
50 |
|
stu_major |
varchar |
50 |
|
tea_id |
varchar |
20 |
是 |
表12.9.1
教师信息表:
列名 |
数据类型 |
数据长度 |
允许null值 |
tea_id |
varchar |
20 |
是 |
tea_name |
Varchar |
50 |
|
tea_sex |
Varchar |
1 |
|
tea_pwd |
Varchar |
20 |
|
tea_phone |
Varchar |
20 |
|
tea_question |
Varchar |
50 |
|
tea_answer |
varchar |
50 |
表12.9.2
管理员信息表:
列名 |
数据类型 |
数据长度 |
允许null值 |
man_id |
Varchar |
50 |
|
man_name |
Varchar |
50 |
|
man_sex |
Varchar |
1 |
|
man_pwd |
Varchar |
50 |
|
man_phone |
Varchar |
50 |
|
man_question |
Varchar |
50 |
|
man_answer |
Varchar |
50 |
表12.9.3
试卷信息表(paperdetail)
序号 |
列名 |
字段说明 |
数据类型 |
长度 |
主键 |
允许空 |
1 |
ID |
序号 |
Varchar |
50 |
是 |
否 |
2 |
PaperID |
试卷序号 |
Varchar |
100 |
否 |
是 |
3 |
Type |
题目类型 |
Varchar |
100 |
否 |
是 |
4 |
TypeID |
题目序号 |
Varchar |
100 |
否 |
是 |
5 |
Mark |
分值 |
Varchar |
2 |
否 |
是 |
表12.9.4
12.10注释设计
无。
12.11限制条件
无。
12.12测试计划
本模块测试需要按各种关键字测试以确保管理员登陆后能正常使用各功能。
12.13尚未解决的问题
无。