软件工程团队作业-需求分析成果物
队伍名称:头顶凉飕飕队
队长:刘岩昆 https://www.cnblogs.com/liuyankun/
队员:章璐 https://www.cnblogs.com/zhanglu0/
刘佳迎 https://www.cnblogs.com/jiayingc/
李双双 https://www.cnblogs.com/warriorlss/
文本编辑者:章璐
1. 引言
1.1. 编写目的
本系统可以帮助政府通过发布问卷的方式获得信息,在对问卷结果进行统计并进行分析后可以通过信息的反馈,进行信息的初步筛选与分析,能够及时反应当前高校情况,为管理手段和政策方针提供依据。
本文档的目的是详细地介绍高校调查问卷管理系统所包含的需求,以便客户能够确认产品的确切需求以及开发人员能够根据需求设计编码,本文档的预期读者有客户(政府教育管理方面的工作人员等),开发人员,测试人员,维护人员以及跟该项目相关的其他竞争人员和无关人员。
1.2. 背景
在高校教育阶段,为提高政府教育管理的针对性与有效性,需要从学生和教师获知其对学校、专业、教学情况、教学资源配套、学校管理水平等多方面评价的信息收集。互联网是效率最高、短 时间内涉及人员广的渠道之一,所以依托互联网的调查问卷需求应运而生,通过信息的反馈,进行信息的初步筛选与分析,能够及时反应当前高校情况,为管理手段和政策方针提供依据。
1.3. 名词术语定义
表1. 术语说明
术语、缩略语 |
解释 |
B/S结构(Browser/Server) |
浏览器/服务器模式 |
Web |
全球广域网,也成为万维网 |
RDBMS |
关系型数据库管理系统 |
Django |
|
IDE |
集成开发环境 |
SQL |
结构化查询语言 |
HTML |
超文本标记语言 |
HTTP |
超文本传输协议 |
XML |
可扩展标记语言 |
CSS(Cascading Style Sheet) |
译作层叠样式表单,是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。 |
JS(JavaScript) |
是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。 |
Servlet |
Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 |
JSP(Java Server Pages) |
中文名为java服务器页面,其根本是一个简化的Servlet设计 |
2. 项目概述
2.1. 项目目标
该系统的开发是为了帮助政府从高校老师和学生处收集其对于学校专业、教学情况、教学资源配套、学校管理水平等多方面评价的信息,通过对反馈的信息的筛选与分析,能及时反映出当前高校情况,为管理手段和政策方针提供依据,提高政府教育管理的针对性与有效性。
该系统应该具有如下功能:
1、根据调查内容和性质的不同可定义成不同的项目,在每个项目下可定义问卷。
2、设计问卷,调查问卷可进行问卷题目编辑,题型包含单选题和填空题两种类型。
3、待问卷人员导入,包括学生和教师两种角色,通过excel模板导入待问卷人员信息,学生包括 学号、姓名、所属学校、专业、班级、性别、手机号、电子邮箱。教师包括教师号、姓名、所 属院校、性别、手机号码、电子邮箱。
4、发布问卷,通过系统将问卷发布到待问卷人员,可通过短信和邮件两种方式获得问卷链接地址。
5、问卷被提交后,结果被记录。
6、系统对问卷结果进行统计并进行分析,可查看总体参与人数,答题选项比例、不同学生、不同 学校、不同年级、不同专业、不同院校级别、不同性别的答题报表或图表分析。
2.2. 用户特点
表2. 用户特点
用户 |
描述 |
政府教育管理方面的工作人员 |
具有基本的计算机操作能力和知识,可以根据自己的需求正确使用系统设计问卷的内容与形式 |
高校学生 |
具有基本的计算机操作能力和知识,根据问卷内容填写问卷 |
高校教师 |
具有基本的计算机操作能力和知识,根据问卷内容填写问卷 |
开发人员 |
具有很高的专业知识水平,理解系统的运行机制,能满足系统所需的功能 |
维护人员 |
具有较高的计算机专业水平,可以对常见的系统Bug进行追踪和分析,具有一定的测试能力 |
2.3. 假定与约束
表3. 约束描述
约束 |
描述 |
开发期限 |
30天 |
开发语言 |
python+HTML+CSS+JS+SQL语言 |
开发工具 |
Pycharm-professional+MySQL+Apache Tomcat |
经费来源 |
政府拨款 |
系统运行的最短寿命 |
3年 |
假设:
(1)团队成员的积极合作配合,为了项目的开发和实施,对个人时间进行合理规划同时为团队做出合理牺牲,配合队友完成任务;
(2)团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证;
(3)团队为软件系统的运行提供必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能;
(4)团队为系统的调研、开发和实施过程提供必要的工作环境和系统运行环境,这些环境有助于工作的展开。
3. 需求分析建模
3.1. 功能需求
3.1.1. 系统业务需求描述
该系统要求实现的功能有:管理员可以根据调查内容和性质的不同可定义成不同的项目,在每个项目下可定义问卷;管理员可以对问卷的题目进行编辑,题型包括单选题和填空题两种;管理员可以将待问卷人员的信息导入系统;管理员可以将问卷的链接地址以邮箱或者短信的方式发送给待问卷人员;管理员可以对问卷结果进行统计并分析,可查看参加问卷的人数,答题选项比例,可以形成不同学校、不同年级、不同专业、不同院校级别、不同性别的答题报表或图表分析。
该系统的业务流程模型如下:
图1. 系统业务流程模型
业务流程说明:
客户首先将自己所需系统的需求告诉开发者,而后开发者根据客户提供的需求进行相应的设计开发。系统开发完成后交给客户进行检测,看是否满足自己本身的需求,若不满足,开发者将进一步向客户询问此系统的不足之处或缺少那些需求而后再进行设计;若满足,开发者则将此系统做进一步的完善,后交付给客户。
客户收到开发者交付的成品后,设置截止时间并将此系统发布给问卷人员,问卷人员接受到后将根据提示填写有关信息和相应的问卷,问卷填写完后问卷人员提交此问卷,此时客户后台将显示提交情况。
系统根据截止时间将提交的问卷信息保存到后台,待截止时间一到,系统将会对后台收集到的问卷信息进行查询统计,完成后客户根据系统给出的统计信息绘制报表并进行相应的而分析。
3.1.2. 系统用例模型
表4. 系统参与者说明
参与者 |
说明 |
管理员 |
管理员登录系统后管理用户,管理问卷信息,管理问卷问题,管理问卷选项,统计问卷信息 |
用户 |
用户登录系统后填写个人信息,参与问卷调查,查看问卷结果,维护个人信息 |
系统用例模型:
图2. 管理员用例图
图3. 用户用例图
3.1.3. 功能模块分析
用例模型详述:
管理员对应用例表:
表5. 用户管理用例表
标题 |
内容 |
用例名称 |
用户管理 |
用例简要说明 |
对使用此系统的而用户进行管理 |
前置条件 |
在问卷前对问卷人员的职业进行限制 |
事件流 |
(1)对参与问卷人员的职业进行限制 (2)对参与问卷人员的个人信息进行保护 |
后置条件 |
参与问卷人员填写完成后对该用户的个人信息进行保护 |
扩展点 |
在对用户的个人信息的保护上可以进行进一步的加密 |
优先级 |
高 |
表6. 问卷信息管理用例表
标题 |
内容 |
用例名称 |
问卷信息管理 |
用例简要说明 |
对进行问卷的信息进行管理 |
前置条件 |
在问卷前确保问卷信息不会泄露或丢失 |
事件流 |
(1)整理要问卷的信息 (2)对问卷信息进行保护 |
后置条件 |
确保问卷后的信息不回泄露或丢失 |
扩展点 |
无 |
优先级 |
高 |
表7. 问卷问题管理用例表
标题 |
内容 |
用例名称 |
问卷问题管理 |
用例简要说明 |
对将要进行问卷的问题进行管理 |
前置条件 |
在问卷前确保问卷问题的保密性,合理性 |
事件流 |
(1)对问卷进行问题设置 (2)确保问卷问题合理,没有问题 |
后置条件 |
确保进行问卷是问卷人员都可以合理的回答问题 |
扩展点 |
无 |
优先级 |
高 |
表8. 问题选项管理用例表
标题 |
内容 |
用例名称 |
问题选项管理 |
用例简要说明 |
对问题选项的多少进行管理 |
前置条件 |
根据要求对问题选项进行设置 |
事件流 |
(1)根据需求确认问题选项个数 (2)对问题设置问题选项 (3)完成问题设置 |
后置条件 |
可以使得问题看起来跟舒适,合理 |
扩展点 |
实现根据问题自动提供合适的选项个数 |
优先级 |
中 |
表9. 问卷统计用例表
标题 |
内容 |
用例名称 |
问卷统计 |
用例简要说明 |
对完成的问卷进行统计 |
前置条件 |
方便对问卷结果进行分析 |
事件流 |
(1)根据要求设置问卷问题 (2)根据问题设置问题选项 (3)发表问卷 (4)问卷人员填写问卷并提交 (5)对问卷进行统计 |
后置条件 |
问卷完成后,得出问卷统计结果 |
扩展点 |
实现问卷统计完成后可自行形成分析报表 |
优先级 |
高 |
用户对应用例表:
表10. 个人信息填写用例表
标题 |
内容 |
用例名称 |
个人信息填写 |
用例简要说明 |
在问卷开始前填写个人信息 |
前置条件 |
为之后填写问卷做准备 |
事件流 |
(1)进入问卷系统 (2)填写问卷中的个人信息 |
后置条件 |
根据自己的信息填写对应的问卷 |
扩展点 |
提高个人信的安全性 |
优先级 |
高 |
表11. 参与问卷用例表
标题 |
内容 |
用例名称 |
参与问卷 |
用例简要说明 |
进入问卷系统,参与答题 |
前置条件 |
填写完相应的个人信息 |
事件流 |
(1)进入问卷系统 (2)填写问卷中的个人信息 (3)回答问卷中相应的问题 |
后置条件 |
填写完问卷并提交 |
扩展点 |
无 |
优先级 |
高 |
表12. 问卷结果查看用例表
标题 |
内容 |
用例名称 |
问卷结果查看 |
用例简要说明 |
用户填写完问卷提交后查看问卷结果 |
前置条件 |
已经参与问卷并提交 |
事件流 |
(1)进入问卷系统 (2)填写问卷中的个人信息 (3)回答问卷中相应的问题 (4)提交问卷 (5)查看问卷结果 |
后置条件 |
大致清楚问卷结果 |
扩展点 |
无 |
优先级 |
低 |
表13. 个人信息维护用例表
标题 |
内容 |
用例名称 |
个人信息维护 |
用例简要说明 |
在系统中管理维护自己的信息 |
前置条件 |
填写过个人信息 |
事件流 |
(1)进入问卷系统 (2)填写问卷中的个人信息 (3)回答问卷中相应的问题 (4)提交问卷 (5)对自己的信息进行维护 |
后置条件 |
保证自己信息的安全性 |
扩展点 |
无 |
优先级 |
高 |
3.2. 非功能需求
3.2.1. 系统非功能需求
非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。
3.2.2. 特性要求
(1)响应时间:尽可能地短,达到1到2秒
(2)最长等待时间:不超过20秒
(3)更新处理时间:不超过5秒
(4)数据的转换和传送时间:不超过30秒
(5)支持5000名用户并发使用,并保证性能不受影响
(6)支持2000名用户信息一次性导入,导入时间不超过30秒
3.2.3. 故障处理要求
1. 服务器处理过多信息导致系统奔溃
做出风险预估,增加服务器的数量和质量,保证可以应对普通的突发事件。
1. 系统管理员的错误操作导致数据的删除或丢失
在管理员进入系统时提醒其在修改系统内的信息之前对系统进行备份。系统自动定期对系统进行备份。
2. 系统无法进入或无法使用
开发团队在交付产品是提供给用户一份日常问题处理手册,在使用手册仍无法解决的情况下及时联系开发团队解决问题。
3.3. 其他专门要求
(1)进度要求:要求有清晰明确的阶段性进度明细与成果展示。有明确的阶段性开发时间的要求。
(2)安全性需求:要求对参与问卷的人员的信息进行保密。对进入系统的人员进行分级,不同保密级别的人员接触不同级别的数据。根据系统的应用要求选择系统要运行与哪种环境。
(3)培训需求:提供用户手册、安装手册、配置文档,提供多媒体教学光盘,提供线上网站供用户提出问题与意见,可安排专门的人员对用户进行面对面的培训。
(4)推广需求:在上百个远程部门推广该系统,有针对性的对用户进行推广,支持多浏览器。
4. 运行环境规定
4.1. 基础架构
本系统采用B/S架构,所有界面使用WEB界面。系统可实现5000名用户同时访问网站并不影响性能。
4.2. 支持软件
B/S架构:
B/S架构(Browser/Server,浏览器/服务器模式)将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进行交互,可以在不同平台下工作。
PyCharm:
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
MySQL数据库:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
Apache Tomcat:
Apache是普通服务器,本身只支持普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,像php,cgi,jsp等动态网页就需要Tomcat来处理。
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems公司提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置
Windows 10操作系统:
Windows 10是美国微软公司开发的跨平台、跨设备的封闭性操作系统,于2015年7月29日正式发布,是微软发布的最后一个独立Windows版本。
Windows 10操作系统在易用性和安全性方面有了极大的提升,除了针对云服务、智能移动设备、自然人机交互等新技术进行融合外,还对固态硬盘、生物识别、高分辨率屏幕等硬件进行了优化完善与支持。