需求规格说明书(备注:因不支持word复制,格式图片发生改变 ,故以文件方式又上传了一份pdf)
本文档由蹭一蹭软工项目小组撰写,任何复制、使用本文的全部或部分内容的行为必须先征得小组同意,谢谢。
项目文档:需求规格说明书
1. 引言
1.1目的
在完成了针对学生蹭课软件的前期调查, 同时全部小组成员进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。其中前期调查主要是通过问卷调查的方式做了一定数量的可行性分析和需求调查。调查数据显示该软件在学生群体当中具有可推广性。同时作为项目提出小组:也在其中了解了包括界面设计、搜索方式、查看通知等方面的用户需求。该文档重点描述了蹭课APP的功能需求,并将其作为系统设计阶段的主要输入。
本文档的预期读者包括:需求分析人员,设计人员,开发人员,项目管理人员,测试人员,用户。
1.2项目背景
项目名称:蹭一蹭。
项目提出者:华中农业大学某不愿透露姓名的蹭来蹭去小组。
开发单位:华中农业大学信息学院。
用户:全校学生。
项目实施单位:华中农业大学某不愿透露姓名的蹭来蹭去小组。
与其他系统的关系:本系统独立运行。
1.3缩写说明
无。
1.4术语定义
无。
1.5参考资料
[1]窦万峰.软件工程与实践[M].北京:机械工业出版社,2017.
1.6版本信息
具体版本信息如表A-1所示
表A-1 具体版本信息
修改编号 |
修改日期 |
修改后版本 |
修改位置 |
修改内容概述 |
1 |
2018-4-15 |
1.0 |
全部 |
完成第一次编写 |
|
|
|
|
|
2.任务概述
2.1系统定义
2.1.1 项目来源及背景
本小组项目是小组成员集体讨论时,提出的一个满足大学生在课余时间的蹭课需求的安卓端app。既可以供大家查阅自己感兴趣课程的相关信息,又可以在公告板跳转到教务处网页及时收到通知,还可以在社区板块查看别人的讨论、留言、以及对相关课程的点评。
2.1.2项目要达到的目标
本项目是为了让同学们能够在课余时间更有针对性的去获取自己喜欢的课程的相关信息。为此我们还设计了关联教务系统、社区讨论和个人信息的模块,以使得用户获得更好的蹭课体验。鉴于前期可行性分析中本校学生的蹭课需求较高,该软件的出现必然迎合大家的需要,因而具有广阔的市场空间。
2.1.3系统整体结构
图A-1给出了系统的物理组成结构。
图A- 1系统的物理组成结构
2.1.4系统各部分组成,与其他部分的关系,各部分的接口等
本系统是一个独立运行的系统,不需要与其他系统连接。
2.2运行环境
2.2.1设备环境
安卓手机
2.2.2硬件环境
对安卓手机的配置要求不高,只要能正常运行当前主流编程软件的安卓手机,即可正常运行该app。
2.2.3软件环境
该app适用于当前的主流安卓手机系统。
2.2.4网络环境
公告板板块和社区板块要求连接上网络,其他个人信息以及搜索可以不用。
2.2.5操作环境
安卓手机。
2.2.6应用环境
系统工作流程如图A-2所示:
图A- 2系统工作流程图
2.3 条件限制
2.3.1列出进行本软件开发工作的假定和约束,如经费限制,开发期限等
本项目要求在Android Studio上进行开发,需要JDK支持。本项目由本组人员开发,开发经费较少。
2.3.2列出本软件的最终用户,用户的教育水平和技术专长
最终用户一般为具有高中学历,正在完成本科阶段相关学习,热爱学习,喜欢在课余时间蹭课的大学生。
2.3.3列出本软件的预期使用频度等
本软件主要是在学生课余时间有蹭课需求的时候使用,使用频率中等。
3 数据描述
3.1静态数据
本系统支持本地时间同步、用户个人信息存储以及偏好存储。因此,本系统需要存储数据库部分信息,用户个人信息和本地发言以及此时同步的网络发言记录。
3.2动态数据
l 用户登陆信息
l 用户搜索结果
l 社区实时留言
l 用户个人信息
l 用户偏好信息
3.3数据库描述:数据库名称、版本
本软件采用云端数据库的方式保存相关信息,因此可以不用静态数据库。如果使用,采用MS access 或 MS SQL 即可。(具体版本参照实验室版本)。
3.4数据字典
数据项名 |
代号 |
数据类型 |
数据长度 |
取值范围 |
用户编码 |
Uid |
Varchar (11) |
11 |
合法手机号 |
留言 |
MicroBlog |
Varchar(256) |
256 |
|
用户昵称 |
Uname |
VarChar(10) |
10 |
|
用户院系 |
Uposition |
VarChar(10) |
10 |
|
本地年份 |
Year |
int (4) |
4 |
2018~2028 |
本地月份 |
Month |
int (2) |
2 |
1~12 |
本地日子 |
Day |
int (2) |
2 |
1~31 |
本地小时 |
Hours |
int (2) |
2 |
00~23 |
本地分钟 |
Minutes |
int (2) |
2 |
00~59 |
本地秒钟 |
Seconds |
int(2) |
2 |
00~59 |
课程名称 |
Cname |
VarChar(24) |
24 |
|
课程编号 |
Cnumber |
VarChar(10) |
10 |
|
课程类型 |
Ctype |
VarChar(14) |
14 |
|
开课学院 |
College |
VarChar(16) |
16 |
|
授课老师 |
Cteacher |
VarChar(8) |
8 |
|
上课时间 |
Ctime |
VarChar(40) |
40 |
|
上课地点 |
Cplace |
VarChar(20) |
20 |
|
学分 |
Credit |
Float(2) |
2 |
0.5-6 |
学期 |
Semester |
VarChar(11) |
11 |
|
用户验证码 |
Password |
VarChar (6) |
6 |
000000---999999 |
偏好课程学期 |
XQ |
VarChar(11) |
11 |
|
偏好课程名称 |
KCname |
VarChar (24) |
24 |
|
偏好课程编号 |
KCdm |
VarChar (10) |
10 |
3000000000--3999999999 |
偏好课程学分 |
XF |
Float(2) |
2 |
0.5---6 |
偏好课程类型 |
KCLB |
VarChar(14) |
14 |
|
偏好开设学院 |
KSXY |
VarChar (16) |
16 |
|
偏好课程老师姓名 |
Tname |
VarChar (8) |
8 |
|
偏好课程上课地点 |
SKDD |
VarChar(20) |
20 |
|
偏好课程上课时间 |
SKSJ |
VarChar(40) |
40 |
|
教材名字 |
Bookname |
VarChar (20) |
20 |
|
3.5数据采集
系统运行时需要用户输入手机号完成短信码验证。社区数据需要网络同步,搜索及个人信息(包括用户个人偏好)均可本地设置。
4 功能需求
4.1 功能划分
4.1.1 系统功能组成
l 系统初始化设置
l 用户管理
l 搜索相关课程
l 社区讨论
l 公告板服务(对教务系统和百度等网站的跳转)
l 个人页面
4.1.2 功能编号和优先级
系统功能优先级如表A-2所示。
表A-2 系统功能优先级
编号 |
名 称 |
优先级 |
描 述 |
主要发起者 |
1 |
系统初始化设置 |
次要 |
数据库交互 |
系统 |
2 |
用户管理 |
次要 |
用户验证与注册 |
管理员 |
3 |
搜索相关课程 |
重要 |
按需求搜索相关课程 |
用户 |
4 |
社区讨论 |
重要 |
发言、点评、浏览其他用户发言 |
用户 |
5 |
公告板服务 |
重要 |
对相关网站快捷跳转 |
用户 |
6 |
个人页面 |
重要 |
用户完善个人信息页面 |
用户 |
4.1.3 功能定义
设置系统初始化:设置基本参数,包括与云端数据库的交互,以及未登陆时可以访问的相关页面,并记录在系统文件或注册表中。系统在启动时自动从文件或者注册表中装载这些信息。用户调研该功能并能改变这些设置。
用户管理:进行用户信息管理,包括注册用户,更新用户,注销用户,以及登陆验证。
搜索相关课程:这一部分是我们所做的app最主要的功能之一,为了满足广大同学蹭课需求,我们将搜索做的多元化。一共提供三种搜索方式:分别是按上课时间,按老师,按课程名字(可具体可含关键字)。
社区讨论:为注册了的用户提供保存并记录发言的服务,同时可以浏览其他用户的发言。未注册的用户只可以浏览其他用户的发言。
公告板服务:当前app到华中农业大学教务处的跳转以及到百度等实用网页的跳转。
个人页面:为注册了的用户实现对个人相关信息的完善,包括昵称、院系、头像等个人信息,同时为用户记录搜索过的相关课程的用户个人偏好,。
4.2 功能描述
4.2.1 功能说明
设置系统初始化:设置基本参数,包括与云端数据库的交互,以及未登陆时可以访问的相关页面。
注册用户:创建新用户。
更新用户:更新用户信息。
注销用户:删除用户信息。
登陆验证:系统登录验证。由于可获得的数据不是很多,我们这次做的初始版本是建立在信息学院本院以及理学院大一至大四的课表之上,其中涵盖了全校基础必修课以及本院专业特色课程。所以在本版本中,用户登陆验证仅支持通过特定口令验证的用户。通过验证之后,用户可以注册一个自己的账号,保存社区发言的相关信息。
社区讨论:为注册了的用户提供保存并记录发言的服务,同时可以浏览其他用户的发言。未注册的用户只可以浏览其他用户的发言。
拓展服务:考虑到很多同学在初始问卷中反馈到接收教务系统通知不及时的问题,我们增加了这一项服务,实现了当前app到华中农业大学教务处的跳转以及到百度等实用网页的跳转。
个人页面:显示并定义个人信息,同时展示搜索偏好。
4.2.2 详细描述
采用活动图的方法建立模型。
图A- 3登陆页面子系统活动图
图A- 4查询页面子系统活动图
图A- 5公告板页面子系统活动图
图A- 6社区页面子系统活动图
图A- 7个人信息页面子系统活动图
5.性能需求
5.1数据精确度
l 要按照严格的数据格式输入,不能输入非法字符,否则系统不给予响应进行处理。
l 查询时要保证准确率为100%,所有包含查询关键字的记录都应能查到,不能有遗漏。
5.2时间特性
一般操作的响应时间应在1-2秒内, 使用教务处公告等操作也应在可接受的时间内完成。
5.3适应性
l 满足一般学生使用的需求,在尽可能的范围内涵盖尽量多的课程(整个信息学院和理学院的课程)。
l 对前面提到的运行环境要求不应存在困难。
l 可以在Android系统上运行,兼容主流品牌的Android手机,例如华为、vivo、oppo、荣耀、中兴等。
6. 运行需求
6.1用户界面
6.1.1界面风格
遵循Android风格。
6.1.2界面描述和样式
l 身份认证界面
l 蹭课搜索界面
l 教务处公告版界面
l 社区界面
l 个人设置界面
风格简洁大气,气质高雅,色彩明丽。
6.2硬件接口
l 本软件不需要特定的硬件或硬件接口进行支撑。
l 主流Android机型均可运行此软件。
6.3软件接口
运行于Android系统之上。
6.4故障处理
正常使用时不应出错,若运行时遇到错误,退出程序后自动重启,并向开发小组发送错误信息。
7.其它要求
7.1检测或验收标准
l 搜索数据库的故障率低于1%
l 身份验证的故障率低于1%
l 连接教务处网站的失败率低于1%
7.2可用性、可维护性、可靠性、可转换性、可移植性要求
l 软件故障率低于5%
l 软件要求模块设计,设备驱动可更换
l 软件可以在不同版本的Android系统上运行
l 软件支持不同品牌的移动设备,例如华为、vivo、oppo、荣耀、中兴等。
7.3安全保密性要求
无。
7.4开发要求
l 合适的Android Studio版本。
l 按照黑盒测试方法测试用例进行验收。
本文档由蹭一蹭软工项目小组撰写,任何复制、使用本文的全部或部分内容的行为必须先征得小组同意,谢谢。