南理工14级第四组概要设计报告
离散数学课程测验系统《概要设计说明书》
案卷号 |
|
日期 |
|
<《离散数学》课程测验系统>
概要设计说明书
作 者:914106840518高明
914106840526刘建平
914106840234王金
914106840235王琪栋
914106840618雷杨
完成日期:2016.09.11
签 收 人:
签收日期:
修改情况记录:
版本号 |
修改批准人 |
修改人 |
安装日期 |
签收人 |
|
|
|
|
|
|
|
|
|
|
目录
1引言1
1.1编写目的 1
1.2范围 1
1.3定义 1
1.4参考资料 1
2总体设计2
2.1需求规定 2
2.2运行环境 2
2.3基本设计概念和处理流程 2
2.4结构 2
2.5功能需求与程序的关系 2
2.6人工处理过程 3
2.7尚未解决的问题 3
3接口设计3
3.1用户接口 3
3.2外部接口 3
3.3内部接口 3
4运行设计3
4.1运行模块组合 3
4.2运行控制 4
4.3运行时间 4
5系统数据结构设计4
5.1逻辑结构设计要点 4
5.2物理结构设计要点 4
5.3数据结构与程序的关系 4
6系统出错处理设计5
6.1出错信息 5
6.2补救措施 5
6.3系统维护设计 5
1引言
1.1编写目的
离散数学课程测验系统是为了满足离散数学课程教学,提高教学效率,服务于广大师生,,本系统通过网上出题,机上考试,自动阅卷等工作为师生创造一个快捷的网络课程测验系统。
1.2范围
a.离散数学课程测验系统
b.任务提出者:计算机学院导师与学生
c.本软件的开发人员:南理工14级第四组
d.用户:计算机科学的老师和学生以及部分电子信息类专业的老师和学生。
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.1 需求规定
(1)数据具有可靠性应当在本系统投入使用的生命周期内不丢失数据并且当数据转为历史纪录后任何人不得进行更改。
(2)系统实现学生、教师和管理员的登陆区分来实现系统的稳定和安全性。
(3)系统正常运行过程中不允许出现逻辑与算法错误。
(4)系统正常运行过程中当操作发生失误时或数据溢出时应提示故障原因然后正常退出当前操作环境。
(5)没有得到授权的用户无法进入系统。
(6)没有得到修改权限的用户无法修改信息以及执行处理功能。
2.2 运行环境
硬件环境:
cpu:2ghz以上服务器cpu
内存:2G以上
硬盘:20G以上
软件环境:
操作系统:Windows 8.1
前端开发工具:MyEclipse
数据库:SQL Server 2008
2.3 基本设计概念和
图2.1 系统基本流程图
2.4 结构
图2.2 系统总体结构图
2.5 功能需求与程序的关系
表2.1 功能需求与程序的关系
|
用户管理 |
题库管理 |
成绩查询 |
修改密码 |
用户注册 |
用户登录 |
在线考试 |
试卷管理 |
用户管理模块 |
√ |
|
|
|
|
|
|
|
题库管理模块 |
|
√ |
|
|
|
|
|
|
成绩查询模块 |
|
|
√ |
|
|
|
|
|
修改密码模块 |
|
|
|
√ |
|
|
|
|
用户注册模块 |
|
|
|
|
√ |
|
|
|
用户登录模块 |
|
|
|
|
|
√ |
|
|
在线考试模块 |
|
|
|
|
|
|
√ |
|
试卷管理模块 |
|
|
|
|
|
|
|
√ |
表2.2 功能需求与程序关系
|
学生登陆 |
随机出题 |
输入答案 |
计算分数 |
查看分数 |
教师登陆 |
教师信息管理 |
学生信息管理 |
试题管理 |
学生分数查询 |
验证登录信息 |
√ |
|
|
|
|
√ |
|
|
|
|
题型组卷 |
|
√ |
|
|
|
|
|
|
|
|
正常组卷 |
|
√ |
|
|
|
|
|
|
|
|
提交答案 |
|
|
√ |
|
|
|
|
|
|
|
计算分数 |
|
|
|
√ |
|
|
|
|
|
|
查看分数 |
|
|
|
|
√ |
|
|
|
|
|
查看标准答案 |
|
|
|
|
√ |
|
|
|
|
|
添加教师信息 |
|
|
|
|
|
|
√ |
|
|
|
修改教师信息 |
|
|
|
|
|
|
√ |
|
|
|
删除教师信息 |
|
|
|
|
|
|
√ |
|
|
|
添加学生信息 |
|
|
|
|
|
|
|
√ |
|
|
修改学生信息 |
|
|
|
|
|
|
|
√ |
|
|
删除学生信息 |
|
|
|
|
|
|
|
√ |
|
|
输入题目 |
|
|
|
|
|
|
|
|
√ |
|
修改题目 |
|
|
|
|
|
|
|
|
√ |
|
删除题目 |
|
|
|
|
|
|
|
|
√ |
|
打印分数 |
|
|
|
|
|
|
|
|
|
√ |
2.6 人工处理过程
教师向试题库输入试题。
2.7 尚未解决的问题
系统从数据库中提取数据的传输速度较慢。
3接口设计
3.1用户接口
a.教师
- 修改密码
- 查看学生成绩
- 题库管理
- 考试管理
b.学生
- 修改密码
- 查看成绩
- 练习
- 考试
3.2外部接口
a..用户界面
主界面是由java开发的独立的页面。有一个登录主页。不同权限的账号登录后分别链接到其他页面,并可以根据各自的权限进行操作。
b.硬件接口
整个软件系统不大,因此无须与外界硬件联系。
若数据库数据量较大则可以保持与光盘刻录机的接口。
c.软件接口
主要为软件与操作系统的接口,在Windows上实现软件后,需要进一步考虑软件与Android操作系统的接口。
3.3内部接口
图3.1 内部接口
4运行控制
本系统分为四个模块,模块间的通信通过共享数据库来实现。
(1)信息管理模块:对用户和管理的信息尽心管理包块账户的添加删除以及密码修改
(2)练习考试模块:学生用户的练习及考试操作
(3)题库管理模块:老师对题库的增添修改及删除
(4)成绩查询模块:老师和学生对考试成绩的查询
4.1运行模块的组合
1.题库管理模块,试卷管理模块的组合:老师从题库管理模块中选择不同类型难度交付试卷管理模块形成试卷。
2.试卷管理模块,在线考试模块的组合:学生进行答题前,由向试卷管理模块发出请求并选择范围难度,试卷管理模块将相应试卷交付在线考试模块让学生进行答题并获取分数。
3.在线考试模块,成绩查询模块的组合:在线考试模块将考试成绩备份上传,当成绩查询模块提出请求时,将相应备份发给成绩查询模块。
4.2运行控制
- 整个软件系统不大,因此无须与外界硬件联系。若数据库数据量较大则可以保持与光盘刻录机的接口。
- 确保系统正常工作,数据无损坏无缺失,定期对数据库进行备份,一旦数据库出错,能及时进行恢复。
3. 在网络传输方面,客户机在发送数据后,将等待服务器的确认到信号,收到后,在此等待服务器发送数据,然后对数据进行确认服务器再接收到数据后发送确认信号,在对数据库处理、访问数据库后,将返回信息送回客户机,并等待确认。
- 运行控制将严格按照各模块间的函数调用关系来实现。
5.数据输入过程通过数据库管理员身份进行登陆管理;数据的存储与恢复由用户自行备份。
4.3运行时间
各模块运行时间不定,这也跟用户的操作以及数据的大小有关。主要由学生老师自行决定,但系统总的处理时间保持在十秒以内。
5 系统数据结构设计
5.1 逻辑结构设计要点
逻辑关系图
图5.1学生关系
图5.2教师关系
5.2物理结构设计要点
表5.1 学生信息
属性名 |
存储代码 |
类型 |
备注 |
允许为空 |
学号 |
Stu_num |
VARCHAR |
|
|
姓名 |
Stu_name |
VARCHAR |
|
|
学生密码 |
Stu_pad |
VARCHAR |
|
|
学生编号 |
Stu_ID |
INT |
|
|
学生教师 |
Stu_class |
INT |
学生教师ID |
允许 |
表5.2 教师信息
教工号 |
Tea_ID |
INT |
|
|
姓名 |
Tea_name |
VARCHAR |
|
|
教师密码 |
Tea_psd |
INT |
|
|
表5.3 管理员信息
姓名 |
Man_ID |
INT |
管理员姓名 |
|
管理员账号 |
Man_name |
VARCHAR |
|
|
管理员密码 |
Man_psd |
VARCHAR |
|
|
表5.4 试题信息
试题编号 |
Title_ID |
INT |
|
|
试题提干 |
Title_name |
VARCHAR |
|
允许 |
选项一 |
Title_opt_a |
VARCHAR |
|
允许 |
选项二 |
Title_opt_b |
VARCHAR |
|
允许 |
选项三 |
Title_opt_c |
VARCHAR |
|
允许 |
选项四 |
Title_opt_d |
VARCHAR |
|
允许 |
答案 |
Title_answer |
VARCHAR |
|
允许 |
分值 |
Title_score |
INT |
|
允许 |
章节编号 |
Cou_ID |
INT |
|
|
教师编号 |
Tea_ID |
INT |
|
|
表5.5 考试信息
考试时间 |
Exam_time |
INT |
|
|
题目编号 |
Title_ID |
INT |
|
|
编号 |
ID |
INT |
|
|
表5.6 成绩信息
编号 |
Score_ID |
INT |
|
|
学生编号 |
Stu_ID |
INT |
|
|
考试时间 |
Exam_time |
INT |
|
|
考试分数 |
Exam_score |
INT |
|
|
教师编号 |
Tea_ID |
INT |
|
|
教师姓名 |
Tea_name |
VARCHAR |
|
|
学生姓名 |
Stu_name |
VARCHAR |
|
|
5.3 数据结构与程序的关系
数据结构与程序是软件的重要组成部分,程序的正确执行依赖于合理的数据结构。
|
用户管理 |
题库管理 |
成绩查询 |
修改密码 |
用户注册 |
用户登录 |
在线考试 |
试卷管理 |
学号(学生) |
√ |
|
√ |
√ |
√ |
√ |
√ |
|
姓名(学生) |
√ |
|
|
|
√ |
|
√ |
|
密码(学生) |
√ |
|
√ |
√ |
√ |
√ |
√ |
|
教工号 |
√ |
√ |
√ |
|
√ |
√ |
|
|
姓名(教师) |
√ |
|
|
√ |
√ |
|
|
|
密码(教师) |
√ |
√ |
√ |
√ |
√ |
√ |
|
√ |
姓名(管理员) |
√ |
|
|
|
√ |
|
|
√ |
管理员账号 |
√ |
|
|
√ |
√ |
√ |
|
|
管理员密码 |
√ |
|
|
√ |
√ |
√ |
|
|
选择题 |
|
√ |
|
|
|
|
√ |
|
判断题 |
|
√ |
|
|
|
|
√ |
|
选择题答案 |
|
√ |
|
|
|
|
√ |
|
判断题答案 |
|
√ |
|
|
|
|
√ |
|
表5.7 功能需求与程序的关系
|
学生登陆 |
随机出题 |
输入答案 |
计算分数 |
教师登陆 |
教师信息管理 |
学生信息管理 |
试卷管理 |
学号(学生) |
√ |
|
√ |
√ |
|
|
√ |
|
姓名(学生) |
|
|
|
|
|
|
√ |
|
密码(学生) |
√ |
|
√ |
√ |
|
|
√ |
|
教工号 |
|
|
|
|
√ |
√ |
|
√ |
姓名(教师) |
|
|
|
|
|
√ |
|
|
密码(教师) |
|
|
|
|
√ |
√ |
|
√ |
姓名(管理员) |
|
|
|
|
|
|
|
|
管理员账号 |
|
|
|
|
|
√ |
√ |
|
管理员密码 |
|
|
|
|
|
√ |
√ |
|
选择题 |
|
√ |
|
|
|
|
|
|
判断题 |
|
√ |
|
|
|
|
|
|
选择题答案 |
|
|
√ |
√ |
|
|
|
|
判断题答案 |
|
|
√ |
√ |
|
|
|
|
6 系统出错处理设计
6.1出错信息
表6.1 出错信息
错误类型 |
提示信息 |
输入错误 |
输入类型不正确,请重新输入 |
输入字符过长,请重新输入 |
|
用户已登录,请勿重复输入 |
|
密码错误,请重新输入 |
|
用户名不存在,请重新输入 |
|
输入不能为空,请输入用户名和密码 |
|
输入有为空,请重新输入 |
|
操作错误 |
系统正在使用,请勿关闭 |
试卷已过期,请刷新 |
|
未登录,请先登录 |
|
系统有更新,是否更新 |
|
系统更新完毕是否重启 |
|
无权操作 |
|
没有网络,请检查连接 |
|
运行错误
|
未知错误,正在保存数据并关闭系统 |
重新启动,请先备份数据 |
6.2补救措施
我们对于本程序的几种可能的错误进行了分析,分别进行了不同的处理。
1.输入错误主要是用户输入不规范造成的,我们在尽量减少用户出错的条件的情况下,主要也是通过对话框,提醒用户,然后再次操作。
2.操作错误主要是系统无法正确运行,我们主要以对话框提醒用户出错原因,然后再次尝试操作。
3.运行错误是系统运行过程中出现的一系列可能问题,包括一些我们无法预知或没考虑完全的错误,我们对此不可能作出安全的异常处理,这时我们主要要保证数据的安全,所以要经常的进行数据库备份。
6.3系统维护设计
软件的维护主要包括数据库的维护和软件功能的维护。
对于数据库的维护,本软件已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。
对于软件功能方面的维护,由于我们采用的是模块化的设计方法,每个模块(窗口)之间相互独立性较高,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改一个窗口就行了。而对于功能的扩展,只要再添加菜单项的内容即可,软件完成后,我们将根据客户的要求和反映,定期的对软件进行维护修改。