南理工14级第1组 需求分析报告 修订版
南 京 理 工 大 学
软件需求分析报告
题目: <<数据结构>>课程测验系统
作者: 何爱清 914106840203
卢智圣 914106840123
张华旭 914106840110
李贞 914106840404
严晶 914106840409
专业: 计算机科学与技术
任课教师: 叶庆生
1引言3
1.1编写目的 3
1.2背景 3
1.3定义 3
1.4参考资料 4
2任务概述4
2.1目标 4
2.2用户的特点 5
2.3假定和约束 5
2.3.1开发工具5
2.3.2开发期限5
3需求规定5
3.1对功能的规定 5
3.2对性能的规定 10
3.2.1精度10
3.2.2时间特性要求11
3.2.3灵活性11
3.3输人输出要求 11
3.4数据管理能力要求 16
3.5故障处理要求 16
3.6其他专门要求 16
4运行环境规定16
4.1设备 16
4.1.1硬件设备16
4.1.2软件环境17
4.2支持软件 17
4.3接口 17
4.4控制 17
4.4.1用户注册测试17
4.4.2题目管理测试17
4.4.3用户做题得分测试17
1引言
1.1编写目的
本文档是在对数据结构课程练习测验系统进行总体分析后,得出对数据结构课程练习软件系统的需求说明。
本文档将对数据结构课程练习测验软件系统的软件需求进行详细的定义,并以需求基线的形式确定下来,对之进行严格的控制,目的是准确和正确地满足数据结构课程练习测验系统的要求,减少返工。
本文档是数据结构课程练习测验软件系统进行设计开发和验收活动的依据。
1.2背景
数据结构课程练习测验软件系统是根据叶庆生老师在2016年秋季小学期提出的软件课程设计需求开发的,主要开发者由第一小组五位成员共同开发,本系统适应于南理工14级计算机系学生以及教师和对该门课程感兴趣的普通用户。
1.3定义
约束:按照特定条件的限制。
重载:函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
软件接口:电脑等信息机器软件组件间的接口叫软件接口。
硬件接口:电脑等信息机器硬件组件间的接口叫硬件接口。
CPU: Central Processing Unit
1.4参考资料
[1] 刘前进,王蒙,张宏林,等.Delphi数据库编程技术[M].北京:人民邮电出版社,1999.
[2] R.J.Torres.用户界面设计与开发精解[M].北京:清华大学出版社,2002.
[3] Stephen R.Schach.软件工程:面向对象和传统的方法[M].北京:机械工业出版社,2011.
[4]陈启安.软件人机界面设计[M].北京:高等教育出版社,2004.
[5]张海藩,牟永敏.软件工程导论[M].北京:清华大学出版社,2010.
[6]闪四清.SQL Server 2005 基础教程[M].北京:清华大学出版社,2007.
[7]严悍,刘东梅,赵学龙.UML2软件建模:概念、规范与方法[M].北京:国防工业出版社,2009.
2任务概述
2.1目标
本系统面向本系统适应于南理工14级计算机系学生以及教师和对该门课程感兴趣的普通用户,意在为学生和一般用户提供一个方便实时测验的平台,同时也方便教师了解学生在该门课程上的学习情况。除基本功能外,教师可根据班级或者直接搜索学号来了解学生的学习情况,教师负责题库的更新,管理员能查看每一位用户的资料,管理用户(管理用户是指当管理员发现用户有非法操作或者信息不健康时可选择删除用户或者修改用户信息),掌控该平台的用户信息。本系统要求对用户输入有较快响应,对数据的准确性也有要求。而且,需要人员对软件进行长期维护和更新。
该软件为自主开发的软件。
2.2用户的特点
本系统适应于南理工14级计算机系学生以及教师和对该门课程感兴趣的普通用户。意在为学生和一般用户提供一个方便实时测验的平台,同时也方便教师了解学生在该门课程上的学习情况。
2.3假定和约束
2.3.1开发工具
前端开发工具:Delphi 7、MyEclipse、Java、netbeans
数据库:SQL Server 2008 R2、mysql
2.3.2开发期限
十周
(说明:本系统为即时软件,涉及数据较多,建议配置网络时选择高效可靠的网络环境。账户和登录密码为本系统的关键,在使用所有功能之前必须先提供账户及密码,以便保证信息安全和私密。)
3需求规定
3.1对功能的规定
本系统分为三大功能块:学生及一般用户功能块、教师功能块、管理员功能块(见图3.5 分模块功能图)
三大功能块共有功能有:
(1)登录:输入账号信息登录系统进行相关操作。
(2)修改密码:用户登录系统后,可自行修改密码。密码一经修改立即生效,用户此时会被提示重新登录本系统。
(3)查看个人信息:学生、教师、以及管理员都可以查看个人信息。对于学生,个人信息包括班号、学号、姓名、性别、邮箱、历史得分;对于教师,个人信息包括工号、姓名、性别、邮箱;对于管理员,个人信息包括姓名、性别、邮箱;
(4)测试:用户登录系统后,同时选择难度和题型后,系统会根据用户的要求给出相应的试题,用户测试完毕提交,系统会给出相应的得分;或者直接进行套题测试。
(5)修改个人信息
教师块专有功能:
(1)查看学生成绩:教师查看学生成绩分为分班查看和搜索查看。分班查看是指根据学生注册时填写的班号进行选择查看,搜索查看是指教师根据学生学号进行搜索。成绩结果为最近一次考核成绩。
(2)更新题库
(3)注册:通过注册教师账号,登录本系统,进行相应的操作。未登录而进入主页面操作时,系统会提示用户进行登录/注册。
管理员块专有功能:
(1)查看用户信息:输入用户名即可查询到相关用户信息。用户信息包括:姓名、工号(学号)、身份、性别、邮箱
(2)管理用户:指当管理员发现用户有非法操作或者信息不健康时可选择删除用户或者修改用户信息。
学生及一般用户块专有功能:
(1)注册:南理工14级计算机系学生通过学号和密码登录本系统,进行相应的操作。其他用户注册相应账号登陆系统
(2)完善个人信息:对于南理工14级计算机系学生,使用默认账号及密码登陆系统后,系统会给出提示提醒该生完善个人信息以及及时修改密码。
输入 |
处理 |
输出 |
简单选项 |
经系统处理识别给出一份简单难度的题目 |
一份简单难度的题目 |
中等选项 |
经系统处理识别给出一份中等难度的题目 |
一份中等难度的题目 |
困难选项 |
经系统处理识别给出一份困难难度的题目 |
一份困难难度的题目 |
表3.1 关于选择题目难度的功能表
输入 |
处理 |
输出 |
选择题选项 |
经系统处理识别给出一套选择题 |
一套选择题 |
填空题选项 |
经系统处理识别给出一套填空题 |
一套填空题 |
简答题选项 |
经系统处理识别给出一套简答题 |
一套简答题 |
试卷选项 |
经系统处理识别给出一套完整的试卷 |
一套完整的试卷 |
表3.2 关于选择题目类型的功能表
图3.1 数据结构课程测验系统用例图
图3.2 学生用例图
图3.3 管理员用例图
图3.4 教师用例图
说明:
[1]注册功能为教室以及一般用户所有。
[2]图3.2中注册功能为一般用户所有,对于南理工14级计算机系学生默认登陆账号为学号,密码默认为123456
图3.5 系统功能图
3.2对性能的规定
3.2.1精度
本软件以选项的形式选择题型、难度等等。当用户回答题目时,对于选择题:选项与答案相同则通过;对于填空题:后台会给出几个答案,当用户给出这些答案中的一个时才通过;对于简答题,单项测试中的简答题由自己核对。对于南理工14级计算机系学生来说,试卷测试中的简答题由老师给分。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a. 响应时间<1s;
b. 更新处理时间不超过3s;
c. 数据的转换和传送时间不超过4s;
3.2.3灵活性
该软件主要在windows环境下运行,手机上主要在Android系统上运行。
同其他软件的接口,在尽量保证接口不出现变动的情况下,允许接口的重载,但接口命名规则统一。
由于这个是课程练习测验系统,所以用户的答题和答案要完全一致方可通过。
3.3输入输出要求
以下是本系统数据库属性表:
属性 |
类型 |
含义 |
username |
varchar(20) |
用户名 |
userpassword |
string |
用户密码 |
userrank |
int |
用户身份辨识 |
gender |
varchar(10) |
用户性别 |
|
varchar(30) |
用户邮箱 |
Classno |
string |
班号(学生必填) |
userid |
string |
学号(工号) |
表3.3 用户属性表
属性 |
类型 |
含义 |
choice |
Varchar(200) |
选择题题目描述 |
firstchoice |
Varchar(50) |
选项1描述 |
secondchoice |
Varchar(50) |
选项2描述 |
thirdchoice |
Varchar(50) |
选项3描述 |
forthchoice |
Varchar(50) |
选项4描述 |
choicenum |
int |
选择题题号 |
choiceanswer |
int |
答案 |
rank |
int |
难度 |
chapter |
int |
章节 |
表3.4 选择题属性表
属性 |
类型 |
含义 |
completion |
Varchar(200) |
填空题题目 |
answerone |
Varchar(20) |
空格1答案 |
answertwo |
Varchar(20) |
空格2答案(可无) |
answerthree |
Varchar(20) |
空格3答案(可无) |
answerfour |
Varchar(20) |
空格4答案(可无) |
completenum |
Int |
填空题题号 |
rank |
int |
难度 |
chapter |
int |
章节 |
表3.5 填空题属性表
属性 |
类型 |
含义 |
shortanswer |
Varchar(200) |
简答题题目 |
answer |
Varchar(200) |
简答题答案 |
shortnum |
int |
简答题题号 |
rank |
int |
难度 |
chapter |
int |
章节 |
表 3.6 简答题属性表
属性 |
类型 |
含义 |
username |
Varchar(20) |
用户名 |
Score |
Int |
得分 |
type |
int |
题目类型 |
rank |
int |
题目难度 |
表 3.7 得分属性表
属性 |
类型 |
含义 |
username |
Varchar(20) |
用户名 |
Choicenum1 |
int |
选择题1题号 |
Choicenum2 |
int |
选择题2题号 |
Choicenum3 |
int |
选择题3题号 |
Choicenum4 |
int |
选择题4题号 |
Choicenum5 |
int |
选择题5题号 |
Choicenum6 |
int |
选择题6题号 |
Choicenum7 |
int |
选择题7题号 |
Choicenum8 |
int |
选择题8题号 |
Choicenum9 |
int |
选择题9题号 |
Choicenum10 |
int |
选择题10题号 |
score |
int |
得分 |
rank |
int |
难度 |
表3.8 选择题组属性表
属性 |
类型 |
含义 |
username |
Varchar(20) |
用户名 |
completenum1 |
int |
填空题1题号 |
Completenum2 |
int |
填空题2题号 |
Completenum3 |
int |
填空题3题号 |
Completenum4 |
int |
填空题4题号 |
Completenum5 |
int |
填空题5题号 |
Completenum6 |
int |
填空题6题号 |
Completenum7 |
int |
填空题7题号 |
Completenum8 |
int |
填空题8题号 |
Completenum9 |
int |
填空题9题号 |
completenum10 |
int |
填空题10题号 |
score |
int |
得分 |
rank |
int |
难度 |
表3.9 填空题组属性表
属性 |
类型 |
含义 |
username |
Varchar(20) |
用户名 |
Shortnum1 |
Int |
简答题1题号 |
Shortnum2 |
Int |
简答题2题号 |
Shortnum3 |
Int |
简答题3题号 |
rank |
int |
难度 |
表3.10 简答题组属性表
username |
Varchar(20) |
用户名 |
Choicenum1 |
int |
选择题1题号 |
Choicenum2 |
int |
选择题2题号 |
Choicenum3 |
int |
选择题3题号 |
Choicenum4 |
int |
选择题4题号 |
Choicenum5 |
int |
选择题5题号 |
Choicenum6 |
int |
选择题6题号 |
Choicenum7 |
int |
选择题7题号 |
Choicenum8 |
int |
选择题8题号 |
Choicenum9 |
int |
选择题9题号 |
Choicenum10 |
int |
选择题10题号 |
Choicenum11 |
int |
选择题11题号 |
Choicenum12 |
int |
选择题12题号 |
Choicenum13 |
int |
选择题13题号 |
Choicenum14 |
int |
选择题14题号 |
Choicenum15 |
int |
选择题15题号 |
Choicenum16 |
int |
选择题16题号 |
Choicenum17 |
int |
选择题17题号 |
Choicenum18 |
int |
选择题18题号 |
Choicenum19 |
int |
选择题19题号 |
Choicenum20 |
int |
选择题20题号 |
completenum1 |
int |
填空题1题号 |
Completenum2 |
int |
填空题2题号 |
Completenum3 |
int |
填空题3题号 |
Completenum4 |
int |
填空题4题号 |
Completenum5 |
int |
填空题5题号 |
Completenum6 |
int |
填空题6题号 |
Completenum7 |
int |
填空题7题号 |
Completenum8 |
int |
填空题8题号 |
Completenum9 |
int |
填空题9题号 |
completenum10 |
int |
填空题10题号 |
Shortnum1 |
int |
简答题1题号 |
Shortnum2 |
int |
简答题2题号 |
Shortnum3 |
int |
简答题3题号 |
Shortnum4 |
int |
简答题4题号 |
Shortnum5 |
int |
简答题5题号 |
score |
int |
得分 |
表3.11 试卷组属性表
3.4数据管理能力要求
(1)需要管理用户的个人信息,至少容纳10000个用户。所以,数据库需至少容纳10000个数据表。
(2)需要管理题库,其中简单,中等,困难三种类型的题目各350道,其中包括选择题200道,填空题100道,简答题50道。其中,还能够进行更新。
3.5故障处理要求
(1)兼容性问题:电脑软件适合Windows7、Windows8、Windows 10、Windows XP等系统;手机软件适应安卓操作系统
(2)硬件问题引起的软件无法正常启动或者使用由用户自行解决。
(3)软件bug由管理员后台解决。
(4)断电处理:当用户在做题未提交时断电,数据不会保存。手机用户只要不注销,会一直处于登录系统的状态中。电脑用户每次使用时都需登录。
3.6其他专门要求
本系统需要特别指明的要求有:
(1)用户个人信息数据的安全性。
(2)系统数据库的稳定性和安全性,防止发生数据丢失等情况。
4运行环境规定
4.1设备
4.1.1 硬件设备
电脑:
CPU:2.0GHZ以上
内存:512MB
硬盘:80GB以上
手机:Android 2.1及以上
4.1.2软件环境
操作系统:电脑:Windows7、Windows8、Windows 10、Windows XP等系统
手机:Android 2.1及以上
数据库:SQL Server 2008、mysql
4.2支持软件
(1)开发工具主要是:Delphi、SQL Server 2008 R2、MyEclipse、netbeans
(2)支持Microsoft SQL Server 2000、Microsoft Office 2003、
(3)Delphi7在Microsoft Windows 7 操作系统下运行。
4.3接口
软件接口:可能会需要与一些办公软件相联结。
硬件接口:可能会与一些磁盘机光盘刻录机等连接以便保存数据。
4.4控制
4.4.1用户注册测试
(1)新用户得先注册页面,添加用户信息并提交。
(2)到达做题页面,测试注册登录是否成功
4.4.2题目管理测试
(1)以教师页面登录
(2)选择添加题目或者删除或者修改题目
(3)用户从首页登录进去,查看题目是否真的被添加或者删除或者修改。
4.4.3用户做题得分测试
(1)用户从首页登录进去,做相应试题
(2)提交答案,查看得分情况,测试应用程序能否正常得分。