需求分析文档规格说明书白银级
--燃烧我的卡拉里
1.引言
1.1 编写目的
本需规格说明文档旨在让用户了解项目功能:即用户通过安装APP,注册填写个人信息后,可以登录使用 APP根据个人信息,匹配跑友一起跑步锻炼身体,并或得“种树”奖励。
本文档的预期读者:需求分析人员、设计人员、开发人员、项目管理人员、测试员和用户。
1.2 项目背景
项目名称:燃烧我的卡路里
项目的提出者、开发者、实施单位:跑酷小组成员
用户:“约跑”APP使用者
与其他系统的关系:在安卓系统上独立运行
1.3 缩写说明:无
1.4 术语定义:种树:当完成计划时在主界面生成一个树的图案;
约跑:按照速度或者性别匹配伙伴并一起跑步;
1.5 参考资料:
[1]窦万峰.软件工程与实践[M].北京:机械工业出版社,2018
1.6 版本信息:具体版本如下
修改编号 |
修改日期 |
修改后版本 |
修改位置 |
修改内容概述 |
1 |
2019.3.15 |
1.0 |
全部 |
完成第一次编写 |
2 |
2019.4.29 |
1.1 |
全部 |
细节完善 |
2. 任务概述
2.1系统定义
2.1.1项目来源及背景
本项目受一款通过“种树”督促人们戒掉手机的APP启发,再结合广大同学日常跑步健身互相约跑的现状,开发一款可以帮助用户匹配伙伴跑步并获得种树奖励的APP。
2.1.2 项目要达到的目标
本项目是为了建造一款方便同学在课余时间匹配心仪伙伴一起锻炼身体的APP,为此还设计种树功能鼓励同学积极跑步,并实现GPS定位。迎合用户需求,且富有趣味性,因而具有广阔的市场空间。其中种树功能主要是鼓励同学们积极锻炼身体,达到预期目标的一种娱乐性质的奖励标志。奖励本身用处不大,但却代表着用户达到了预期的目标,这种标志的意义是巨大的,主要是提高用户锻炼积极性。
2.1.3系统整体结构
图A-1给出了系统的物理组成结构
图A-1系统的物理组成结构
2.1.4系统各部分组成、与其它部分的关系、各部分的接口:
本系统独立运行,不要其他系统相连接。
2.2 运行环境
2.2.1 设备环境:安卓手机
2.2.2硬件环境:
Android 4.0及以上版本
2.2.3软件环境:
该APP适用于当前的主流安卓手机系统。
2.2.4网络环境:
GPS定位需要了解位置信息并联网了解附近伙伴信息。
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动态数据
用户登录信息
用户匹配“跑友”结果
用户个人信息
用户跑步信息(速度,里程)
用户所种植树信息
3.3数据库描述
本软件采取SQL数据库的方式保存相关信息。
3.4数据字典
数据名称 |
名称含义 |
数据类型 |
数据长度 |
说明 |
Uid |
用户编号 |
Varchar |
12 |
以合法手机号为ID |
Code |
用户验证码 |
Varchar |
6 |
发送至手机 |
Password |
用户密码 |
Varchar |
12 |
由用户自身设置 |
Uname |
用户名称 |
Varchar |
12 |
由用户自取 |
Usex |
用户性别 |
Varchar |
5 |
|
Uage |
用户年龄 |
Int |
3 |
|
Year |
本地年份 |
Int |
4 |
|
Month |
本地月份 |
Int |
2 |
|
Day |
本地日期 |
Int |
2 |
|
Hours |
本地小时 |
Int |
2 |
|
Minutes |
本地分钟 |
Int |
2 |
|
Seconds |
本地秒钟 |
Int |
2 |
|
Exdistance |
目标里程 |
Float |
10 |
用户设置的要达到的里程数 |
Extime |
预计时间 |
Float |
10 |
用户预估的跑步时间 |
Runtime |
跑步时间 |
Float |
10 |
用户跑步所消耗时间 |
Distance |
跑步里程 |
Float |
10 |
以km为单位 |
Velocity |
跑步速度 |
Float |
10 |
以km/h为单位 |
Result |
种树数目 |
Int |
10 |
用户达到目标即 成功种树 |
3.5数据采集
用户登录时需要用户手机号完成验证码验证。
匹配“跑友”需要网络同步及搜索。
跑步的里程数需连接GPS。
其余均可本地设置。
4.功能需求
4.1 功能划分
4.1.1 系统功能组成
本系统功能由用户身份验证,GPS定位,约跑,种树等功能组成。
4.1.2 功能符号和优先级
主界面: 功能编号: 优先级1,优先,必须做;
登录界面: 功能编号: 优先级2,中等,必须做;
GPS界面: 功能编号: 优先级3,下等,必须做;
4.1.3 功能定义
设置系统初始化:设置基本参数,包括与SQL数据库的交互,并记录在系统文件或注册表中。系统在启动时自动从文件或者注册表中装载这些信息。用户调研该功能并能改变这些设置。
用户管理:进行用户信息管理,包括注册用户,更新用户,注销用户,以及登陆验证。
匹配跑步人员:是APP主要功能之一,为满足广大同学约小伙伴一起跑南湖的需求,我们设置了一些搜索满足他们的需求。共提供两种搜索方式:一是按跑步速度,注重跑步速的的同学可以此为关键字进行寻找;二是按跑者性别,可以选择同性和异性。
种树机制:此机制是本APP一大特色,当用户完成设置的里程数时,主界面就会生成一棵树,若未达成目标则不会产生树,以此来鼓励用户坚持。
个人页面:为注册了的用户实现对个人相关信息的完善,包括昵称、头像,性别等个人信息,同时为用户记录跑步的速度以及成功的树的数量。
4.2 功能描述
4.2.1 功能说明
用户身份验证功能:此功能需要用户提供自己的真实信息进行实名注册,保证此APP的真实,可靠性。
GPS定位功能:此功能需要用户打开自己手机的GPS定位功能,方便找到自己附近的人可以与之进行约跑,GPS定位功能还能记录用户的运动情况确定用户是否完成用户设定的目标。
约跑功能:基于GPS定位功能的前提下,与附近的人进行约跑达到自己设定的目标,并相互监督。
种树功能: 在约跑成功之后,我们系统会根据GPS定位功能来对你的运动情况进行评估,根据评估结果会在主页给用户种上一棵树。
4.2.2 详细描述
1.登录功能:验证登录用户是否为已注册的合法用户。管理员可以对用户信息进行修改。
2.主界面功能:主界面呈现的是用户的运动成果种树.
3.用户管理功能:用户可以修改当前登录用户的密码。也可实现用户的重新登录和退出,可以修改个人信息。
4.2.3采用用例图建模
用例场景详细描述
用例不同部分 |
说明 |
用例名称 |
处理约跑APP应用 |
主要参与者 |
约跑人员数据库系统 |
前置条件 |
APP系统可以正常运行 |
成功保证 |
存储用户个人信息记录约跑信息存储所设置的目标信息 |
主成功场景 |
1. 用户注册并登录APP 2. 用户修改个人信息,若修改个人基本信息,则在修改后直接保存,若修改登录密码信息,则需要重新注册登录 3. GPS定位约跑者,约跑者根据速度和性别选择匹配类型,连接数据库得到相应匹配人员的搜索结果 4. 约跑者和匹配者制定跑步计划,若达到目标则在主界面种树,否则不生成书,返回数目到个人信息界面 |
扩展 |
系统在任意时刻失败:为了支持恢复和实时定位跑步信息,要保证所有目标和定位信息都能够从场景的任何一步中完全恢复 |
4.2.4采用活动图的方法建模
用户注册功能活动图
用户登录功能活动图
个人信息修改功能活动图
“跑友”查询功能活动图
种树功能活动图
5.性能需求
5.1 数据精确度:GPS定位准确性精确到50米以内,在运动过程中运动反应时间不超过20秒。
5.2 时间特性:一般操作的响应时间应不超过20秒。
5.3 适应性:满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求,在需求发生变化时,本系统的对这些变化的适应能力相对而言是比较强的,包括操作方式上的变化;运行环境的变化;同其他软件的接口的变化;精度和有效时限的变化。
6.运行需求
6.1 用户界面
6.1.1 界面风格
遵循Android风格。
6.1.2界面描述及样式
个人设置界面
匹配“跑步队友”界面
“种树”界面
风格简约,以绿色为主界面色,阳光有生机。
6.2 硬件接口
此APP运行无需特殊硬件支撑。
6.3 软件接口
在正常Android系统上即可运行。
6.4 故障处理
正常情况应正常运行。
若运行时出现故障,则重启,并将问题反馈回开发人员。
7.其他需求
7.1 检测或验收标准:
预计数据库的故障率低于5%,预计身份验证的故障率低于1%,预计GPS定位的故障率低于5%。
7.2 可用性、可维护性、可靠性、可转换性、可移植要求
u 软件故障率低于5%。
u 管理员后台维护数据并保护用户个人身份信息不被泄露。
u 软件可以在不同版本的Android系统上运行。
u APP可支持不同品牌的移动设备,例如华为、小米、oppo、荣耀等。
7.3安全保密性要求
维护数据库保证用户个人身份信息不被泄露。
7.4 开发要求
利用合适的Android Studio版本开发,Java语言编程,按照黑盒测试方法测试用例进行验收。