1.引言
1.1. 编写目的
本系统,即高校调查问卷管理系统,其主要实现的是政府通过发布调查问卷的方式对高校整体情况的调查,调查问卷的设计具有多样性,由政府设计并发布问卷,通过高校的师生填写的调查问卷信息得到反馈,获取高校教师和学生以及学校教学、管理等方面的具体情况。本节描述软件产品需求规格说明书(SRS)的目的和作用是:
a) 定义软件总体要求,作为软件开发人员和用户之间交流的有效工具;
b) 提供整体框架的设计、性能需求、功能需求以及其它非功能需求的详细描述;
c) 该文档也是编写单元测试和系统测试的主要依据。
1.2. 背景
在高校教育阶段,为提高政府教育管理的针对性与有效性,需要从学生和教师获知其对学校、专业、教学情况、教学资源配套、学校管理水平等多方面评价的信息收集。互联网是效率最高、短时间内涉及人员多的渠道之一,所以依托互联网的调查问卷需求应运而生,通过信息的反馈,进行信息的初步筛选与分析,能够及时反应当前高校情况,为管理手段和政策方针提供依据。
1.3. 名词术语定义
将用户需求报告中的术语、缩写进行定义,包括用户应用领域和计算机领域的术语与缩写等。
表1 术语说明
术语、缩略语 |
解释 |
问卷填写者 |
发布者确定的填写问卷人员 |
问卷发布者 |
设计并发布问卷的人员 |
问卷统计者 |
负责问卷的数据统计和分析 |
Trident |
一种浏览器内核 |
Blink |
一种浏览器内核 |
1.4. 参考资料
(1)GB/T 9385-2008,计算机软件需求规格说明规范[S].
(2)Leszek A. Maciaszek,Requirements Analysis and System Design,机械工业出版社,2009.
2.项目概述
2.1. 项目目标
项目的最终目的是实现一个高校调查问卷管理系统。在该系统中,政府相关人员可以设计并发布问卷,并在高校师生填写调查问卷后,完成问卷的收集,并对问卷信息进行整理,将反馈信息提供给发布者查看,以便发布者获取高校教师和学生以及学校教学、管理等方面的具体情况,帮助政府相关人员了解各高校的教学与管理情况。其中对系统和系统相关人员的操作分析如下:
对于问卷发布者:
- 登录系统
- 保存所设计的问卷模板
- 导入模板问卷并进行编辑问题
- 设计并发布问卷
- 确定填写问卷者人员
- 规定问卷截止时间
对于问卷统计:
- 回收问卷,查看问卷整体填写情况
- 导出统计数据并分析数据
- 查看历史问卷
对于问卷填写者:
- 填写并提交问卷
- 需保证个人基本信息正确
- 在问卷截止时间内完成问卷填写
- 查看曾填写过的问卷
2.2. 用户特点
本系统所涉及到的用户描述。就是相关人员分析内容。
表2 用户特点说明
角色 |
解释 |
问卷填写者 |
由问卷发布者确定的填写人员,包括高校授课老师和学生,在规定时间内完成问卷的填写并提交问卷。 |
问卷发布者 |
设计问卷,确定填写人员并发布问卷地址。 |
系统管理员 |
对系统和数据库的维护,确保正常运行。 |
2.3. 假定与约束
- 每一份问卷都有有效期限,期限过后不得填写
- 每个填写人在一次问卷中只能填写一次
- 假定数据的导入导出均使用xls或cvs格式
- 假定发布者已提前获悉填写人的联系信息
- 问卷数据在服务器上的最长滞留时间为一年
3.需求分析建模
3.1. 功能需求
3.1.1. 系统业务需求描述
该系统为高校调查问卷管理系统,其中问卷发布者设计问卷,确定填写者人员并发布问卷地址;对于问卷填写者负责认真完成问卷并在规定时间内提交问卷;问卷统计者负责统计问卷结果并进行数据分析。
(1)问卷填写者需求
Ⅰ 获取问卷地址:发布者发布问卷填写地址,填写者进行问卷填写。
Ⅱ 填写个人基本信息:填写问卷时需要填写个人基本信息,当个人信息填写错误时无法成功提交问卷。
Ⅲ 提交问卷:问卷填写者需要在规定时间内进入问卷地址并提交问卷,填写问卷不允许为空,且每人只有一次提交机会。
Ⅳ 查看问卷:对于已经填写的问卷,可以访问查看个人问卷填写结果。
(2)问卷发布者需求
Ⅰ 人员信息导入:在设计编写问卷时需要将相关人员信息导入,便于进行身份验证。学生基本信息包括学号、姓名、所属学校、专业、班级、性别、手机号、电子邮箱。教师基本信息包括教师号、姓名、所 属院校、性别、手机号码、电子邮箱。
Ⅱ 设计问卷:系统内部存储问卷模板,在需要时可以调用模板问卷,在此基础上可以进行细化和拓展;也可以设计新的问卷,根据不同需求编辑问卷问题。
Ⅲ 保存问卷模板:当问卷编辑完成之后,问卷的发布者可以将问卷保存到系统模板,便于以后使用。
Ⅳ 发布问卷:对于需要发布的问卷,系统自动分配唯一地址,并设置问卷截止时间,填写者通过访问问卷地址来填写问卷,并在截止时间内完成问卷填写。
(3)问卷统计者需求
Ⅰ 问卷整理:填写者需要在问卷规定时间内完成问卷填写并提交,未在规定时间内提交问卷则被视为未填写问卷,成功提交问卷后,问卷统计者可以看到问卷的基本信息。
Ⅱ 对问卷基本情况进行查询:可以统计出填写问卷的人数和未填写问卷的人数,统计问卷填写比例。
Ⅲ 对问卷具体信息进行统计:根据不同的问卷,需要统计出问卷每个问题的答题情况,收集数据。
Ⅳ 数据分析:根据问卷所搜集到的信息数据进行数据分析,得出相关结论。
问卷调查管理系统的业务流程,如图3.1所示:
图3.1 业务流程图
3.1.2. 系统用例模型
3.1.3. 功能模块分析
标题 |
内容 |
用例名称 |
注册 |
用例简要说明 |
用户注册 |
前置条件 |
用户未注册 |
事件流 |
|
后置条件 |
后台系统正确的收集到用户的信息并保存到数据库表中 |
扩展点 |
|
优先级 |
高 |
标题 |
内容 |
用例名称 |
登录 |
用例简要说明 |
用户登录 |
前置条件 |
账号已册 |
事件流 |
|
后置条件 |
后台系统正确的收集到用户的登录信息并保存到数据库表中 |
扩展点 |
1.账号密码不正确 2.登录失败,提示重新输入 |
优先级 |
高 |
标题 |
内容 |
用例名称 |
发布问卷 |
用例简要说明 |
问卷的发布 |
前置条件 |
用户已经登陆 |
事件流 |
|
后置条件 |
无 |
扩展点 |
预览问卷 |
优先级 |
高 |
标题 |
内容 |
用例名称 |
问卷结果分析 |
用例简要说明 |
对收集的问卷信息统计分析 |
前置条件 |
已发布问卷调查且收集到相关填写的问卷 |
事件流 |
1.点击“分析”按钮 2.查看统计结果 3.点击表格查看图形化结果 |
后置条件 |
访问历史问卷 |
扩展点 |
将收集的问卷信息保存到该用户个人信息账号上 |
优先级 |
高 |
标题 |
内容 |
用例名称 |
填写问卷 |
用例简要说明 |
高校师生填写问卷 |
前置条件 |
用户发布问卷调查 |
事件流 |
1.高校师生接受问卷调查 2.按照要求填写问卷 3.提交填写好的问卷 |
后置条件 |
填写个人基本信息正确 |
扩展点 |
提示问卷必要问题是否全部填写 |
优先级 |
高 |
3.2. 非功能需求
3.2.1. 系统非功能需求
- 性能需求
Ⅰ 页面间跳转时间不超过3秒,加载时显示加载进度条
Ⅱ 提交问卷用时不超过5秒
Ⅲ 总用户数约2.3万人,峰值在线人数约2万人,平均在线用户数暂定为1000人
Ⅳ 数据滞留时间为1年,最大数据存储量为30Gigabyte
- 可靠性需求
Ⅰ 数据的处理做好本地保存,网络连接断开又恢复后,可以自动上传保存
Ⅱ 记录日志,追踪系统的历史使用情况
- 易用性需求
Ⅰ 易于学习
Ⅱ 易于操作
Ⅲ 防止用户犯错误
Ⅳ 交互界面美观
3.2.2. 特性要求
- 系统可维护性需求:系统出现故障时,应保证维护方便,同时应具有较低的维护成本。
- 系统可扩展性需求:根据用户的需求变化,可以更新系统设计,便于系统的升级和扩展。
- 系统容错性需求:系统要有高可靠性和高容错能力,保证局部出错百不影响全系统的正常工作。
- 系统故障恢复需求:提供系统运行监视和故障恢复机制,建立系统运行的日志文件,跟踪对应用系内统的所有操作。
- 系统可靠性需求:应具备处理信息过度增加和信息冗余的问题。
- 获取问卷失败:尝试重新获取
- 填写问卷时发生网络异常:重新访问问卷地址填写问卷。
- 提交问卷失败:尝试重新提交
- 误删除:将30天内删除的文件放入回收区域,使其可恢复
3.2.3. 故障处理要求
3.3. 其他专门要求
(1)进度要求:系统开发的阶段性进度要求。
计划用40天完成大部分主体功能。自项目实施之日起约两个月完成此项目,以整个系统上线并正常运行作为最终标准。
(2)安全性需求:系统安全性方面的要求。
Ⅰ 加密数据,保证数据在采集、传输和处理过程中不被窃取、篡改,业务数据需要在存储时进行加密
Ⅱ 根据用户权限控制访问数据,进行操作记录
Ⅲ 使用IP限制、高频访问限制
Ⅳ 发布者的身份需要经过人工审核。
4.运行环境规定
4.1. 基础架构
(1)Web Application Servers
Web Application Server,即网页应用服务,理解起来相对简单一些。它们负责执行核心的业务逻辑,处理用户的请求,并返回HTML给用户浏览器。为了完成工作,它们通常需要访问多种后端服务,比如数据库、缓存、任务队列、搜索服务等。在Load Balancer中提到过了,Web Application Server通常有多个副本,它们从Load Balancer获取用户请求。Web Application Server需要使用特定的编程语言(Java, Node.js, Ruby, PHP, Scala, Java, C# .NET等) 和MVC框架(Node.js有Express, Ruby有Rails, Scala有Play, PHP有Laravel等)来实现。Fundebug后端语言用的是Node.js,框架用的是Express。
(2)Database
现代应用基本上都需要使用1个或者多个Dabase(数据库)来存储数据。利用数据库,我们可以方便地对数据进行各种处理,比如定义数据结构、插入数据、查找数据、更新数据、删除数据、对数据进行计算等。一般来说,Web Application Servers会直接访问数据库,Job Server也一样。另外,每一种后端服务都有可能会需要独立的数据库。
目前,业界最受欢迎的开源数据库技术有MySQL、MongoDB等。
(3)MySQL数据库
MySQL是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
特点:
· 开源
· 支持大型的数据库
· 使用标准的SQL数据库语言形式
· 可以运行于多个系统上,并且支持多种语言
· 对PHP有很好的支持
· 可以定制
(4)B/S机制与C/S机制介绍
B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但主要事务逻辑在服务端(server)实现,形成所谓三层3-tier结构。
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL server。客户端需要安装专用的客户端软件。
(5)HTTP简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www:world wide web)服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。目前www中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
(6)Web中间件
中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便运行在一台或多台服务器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
4.2. 支持软件
浏览器:浏览器是用来检索、展示以及传递Web信息资源的应用程序。Web信息资源由统一资源标识符( Uniform Resource Identifier,URI)所标记,它是一张网页、一张图片、一段视频或者任何在Web上所呈现的内容。使用者可以借助超级链接( Hyperlinks),通过浏览器浏览互相关联的信息。
Windows操作系统:MicrosoftWindows操作系统是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也当前应用最广泛的操作系统。
Windows采用了图形化模式GUI,比起从前的Dos需要输入指令使用的方式,更为人性化。随着计算机硬件和软件的不断升级,微软的 Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的 Windows1.0到大家熟知的 Windows95、 Windows98、 Windows2000、 Windows XP、 Windows Vista、 Windows7、Windows8、Windows8.1、Windows 10和Windows Server服务器企业级操作系统,微软一直在致力于Windows操作系统的开发和完善。具有一下几个特点:
(1)Windows操作系统的人机操作性优异。
操作系统是人使用计算机硬件沟通的平台,没有良好的人机操作性,就难以吸引广大用户使用。手机领域,诺基亚手机能够占据手机市场半壁江山,手机操作系统互动性良好是其成功的重要因素之一,而其迅速的衰败也是因为操作系统的落伍。Windows操作系统能够作为个人计算机的主流操作系统,其优异的人机操作性是重要因素。Windows操作系统界面友好,窗口制作优美,操作动作易学,多代系统之间有良好的传承,计算机资源管理效率较高,效果较好。
(2)Windows操作系统支持的应用软件较多。
Windows操作系统作为优秀的操作系统,由开发操作系统的微软公司控制接口和设计,公开标准,因此,有大量商业公司在该操作系统上开发商业软件。Windows操作系统的大量应用软件为客户提供了方便。这些应用软件门类全,功能完善,用户体验性好。譬如,Windows操作系统有大量的多媒体应用软件,搜集管理多媒体资源,客户只需要使用这些基于系统开发出来商业软件就可以享受多媒体带来的快乐。
(3)Windows操作系统对硬件支持良好。
硬件的良好适应性是Windows操作系统的有一个重要特点。Windows操作系统支持多种硬件平台对于硬件生产厂商宽泛、自由的开发环境,激励了这些硬件公司选择与Windows操作系统相匹配,也激励了Windows操作系统不断完善和改进,同时,硬件技术的提升,也为操作系统功能拓展提供了支撑。另外,该操作系统支持多种硬件的热插拔,方便了用户的使用,也受到了广大用户的欢迎。