第四次专题作业

软件需求规格文档

(IEEE 830 标准)

a. 引言

a. 1 目的

通过编写软件需求说明,使用户可以详细地了解到软件的功能、环境、特点、受众等情况,从而在使用软件时可以得到更好的用户体验。同时也以文字形式记录了用户需求,是与用户沟通后的结果。本文档将供小组全体成员查阅和使用。

a. 2 预期的读者和阅读建议

对于已经养成规划生活、制定目标习惯的用户,软件可以帮助他们更清晰地制定小目标的需要,可以得到更好的用户体验。对于没有此习惯却有养成安排制定目标习惯的用户,软件也可以帮助他们逐渐养成规划生活目标的习惯。

a. 3 产品的范围

开发一款专注于通过小目标规划来进行短期时间管理和长期目标完成的软件,满足用户对于合理规划安排生活、高效准时地完成任务和掌握技能的现实需求,帮助用户养成合理规划生活目标的好习惯。

b. 综合描述

b.1 产品的前景

为习惯于规划日常工作学习的人群提供一款轻便的可进行小目标规划的软件,让习惯于规划生活、制定目标的人能够更方便更清晰地管理时间。

帮助有规划生活、制定目标的需求的潜在人群找到自己的规划方式,养成时间管理的好习惯,更好地利用时间。

b.2 产品的功能

用户可以使用产品创建指定目标和删除时间已截止的小目标。

用户可以设定小目标的属性和优先级,产品标记小目标完成状态。

产品在指定目标设定的时间会向用户推送提醒消息。

用户可以在产品上查看目标完成历史记录和统计情况。

用户可以使用产品进行打卡和分享。

用户可以进行登陆注册以获得个性化的体验。

b.3 用户类和特征

社会人员:在社会上工作的在职人员,使用软件规划工作任务和其他事项

学生:在学校上学的学生,使用软件规划学习任务和其他事项

b.4 运行环境

原则上使用Android 8.0以上Android版本,仅限Android系统。

要求用户使用的手机必须有可正常使用的闹钟以及震动器。

b.5 设计和实现上的限制

该软件侧重于个人的小目标规划,功能完整但是相对简单,无法满足商业化的企业时间管理需要。

硬件限制:本项目具有定时需求以实现核心功能

b.6 假设和依赖

假设:用户倾向于在手机上进行目标规划与安排,认为其更加便捷。

依赖:软件运营中能够保障用户的隐私安全。

c. 外部接口需求

c.1 用户界面

用户界面是用户能直接看见并与之交互作用的部分,本APP为用户提供了美观大方、整齐简洁、操作简单的用户界面,以达到使用户界面具有良好的人机交互性、美观性、实用性、技术性的目标。

c.1.1登录界面

登录界面是用户进入APP后,最先与之交互的用户界面。其具体需求如下:

1)手机号码与密码输入:

a)界面需要让用户输入自己的手机号码与密码

2)登录按钮:

a)点击该按钮后发送登陆请求

b)如果手机号码与密码存在错误,显示错误信息

c)如果手机号码与密码正确,则跳转到目标列表页面

3)注册按钮:

a)用户点击“注册新账号”后跳转到注册页面

4)忘记密码按钮:

a)用户点击“忘记密码”后跳转到修改密码页面

在这里插入图片描述

c.1.2 注册页面

用户在登录页面点击“注册新账号”按钮后,会跳转到注册页面。注册界面让用户可以注册新账号,并将用户信息发送到后端,以便在以后登录时使用。其具体需求如下:

1)用户信息输入:

a)界面需要让用户输入自己的手机号码

b)界面需要让用户输入用户名与两次密码

2)发送验证码按钮:

​ a)用户点击该按钮后,APP向服务端发送用户手机号码以及,以便通过手机短信获取验证码,用户需要输入正确的验证码才能正常注册

3)注册新账户按钮

a)点击该按钮后发送注册请求

b)如果两次输入密码为空或不匹配,显示错误信息

c)如果验证码与服务端发送的不匹配,显示错误信息

d)如果密码匹配且验证码正确则将用户信息发送到服务端并存储,同时APP跳转到登录页面

4)返回按钮

a)点击该按钮后,清空用户输入的用户名等信息,并返回到登录页面

在这里插入图片描述

c.1.3 目标列表页面

用户完成登录之后,会自动跳转到目标列表页面,在该页面客户端需要对用户任务列表进行展示。其具体需求如下:

1)目标信息呈现

a)目标按时间顺序排列,每列显示七天,从周一到周日

b)目标的时间信息,日期同时显示阴历与阳历

c)目标的标题信息

d)目标的内容信息

e)根据日期背景显示图片会进行更换

2)目标信息查询

a)用户左右滑动页面可切换显示的周数

3)设置按钮

a)点击该按钮后,跳转到设置页面

在这里插入图片描述

c.1.4 日程安排页面

在目标列表页面,用户点击任意目标栏将跳转到日程安排页面,在该页面可以查看与修改详细的目标信息。该页面分为两种模式:编辑模式与查看模式,在未安排日程时,日程安排页面默认为编辑模式,具体需求如下:

1)修改目标详细信息,主要包含:

a)目标类别,用户可以通过下拉按钮选择目标类别

b)当前目标日期,显示需要完成目标的日期,无法更改

c)日程时间,点击设置日程的具体提醒时间

d)提醒间隔,用户可以通过下拉按钮选择提醒间隔

e)日程标题,点击可以填写日程标题

f)日程内容,点击可以填写日程内容

2)返回按钮

a)点击该按钮后,跳转到目标列表页面

3)保存按钮

a)点击该按钮后,如果未输入日程标题,显示错误信息

b)如果输入日程标题,则保存填写信息,页面变为查看模式

在这里插入图片描述

安排日程后,日程安排页面变为查看模式。该模式下,日程安排页面的目标详细信息无法直接修改,具体需求如下:

1)显示目标详细信息,主要包含:

a)目标类别

b)当前目标日期

c)日程时间

d)提醒间隔

e)日程标题

f)日程内容

2)返回按钮

a)点击该按钮后,跳转到目标列表页面

3)编辑按钮

a)点击该按钮后,日程安排页面变为变为模式

c.1.5 设置页面

在目标列表页面,用户点击设置按钮后,页面会跳转到设置页面,该页面内用户可以进行一些系统设置,具体需求如下:

1)修改账号信息

a)修改用户名

2)修改目标相关设置

a)点击“我的任务类别”下的加号添加新的任务类别

b)在“默认修改时间”栏点击下拉按钮选择默认提醒时间

c)在“默认提醒方式”栏点击下拉按钮选择提醒方式

3)返回按钮

a)点击该按钮后,跳转到目标列表页面

4)保存按钮

a)点击该按钮后,保存设置

5)修改密码按钮

a)点击该按钮后,跳转到修改密码页面

6)退出账号按钮

a)点击该按钮直接退出账号

在这里插入图片描述

c.1.6 修改密码页面

用户在登录页面点击“忘记密码”按钮或者在设置页面点击“修改密码”按钮后,会跳转到修改密码页面。修改密码界面让用户可以修改账号密码,其具体需求如下:

1)用户信息输入:

a)界面需要让用户输入自己的手机号码

b)界面需要用户输入两次密码

2)发送验证码按钮:

​ a)用户点击该按钮后,APP向服务端发送用户手机号码以及,以便通过手机短信获取验证码,用户需要输入正确的验证码才能修改密码

3)确认修改按钮

a)点击该按钮后发送修改密码请求

b)如果两次输入密码为空或不匹配,显示错误信息

c)如果验证码与服务端发送的不匹配,显示错误信息

d)如果密码匹配且验证码正确则将用户信息发送到服务端并存储,同时APP跳转到登录页面或者设置页面

4)返回按钮

a)点击该按钮后,清空用户已经输入的用户名等信息,并返回到登录页面或者设置页面

在这里插入图片描述

本APP为保持风格的一致与连贯性,相关的页面采取相似的设计风格。例如,登录、注册、修改密码三个页面均采取灰色的导航栏,导航栏中心标明页面名称,页面下方写有APP宣传标语“MiniTarget, go ahead with it”。

c.1.7 错误信息显示标准

所有用户可知悉的错误信息以及更改信息均使用“Toast”(临时显示信息的弹窗)来显示,所有用户需知晓的提示信息均使用提醒对话框来显示。

c.2 硬件接口

该APP支持一般的安卓模拟器与安卓系统的手机终端。

Vibrator(手机震动器):使用了Android.os.vibrator包中提供的vibrator接口。程序会在特定时刻调用手机震动器。

c.3 软件接口

手机端支持Android系统8.0及以上版本。

SQLite数据库:用于存储记录用户信息(用户名,手机号码,密码等)以及用户定义的目标信息(提醒时间、提醒方式、目标标题、目标内容等)。本质上是Java语句变相通过SQL语句进行数据读写操作,进行目标设置功能以及登陆注册等功能的实现。

SharedPreferences共享参数:用于轻量级存储,用户的自定义偏好设置将通过共享参数的形式向APP的其它部分共享数据。

c.4 通信接口

数据通信协议:TCP/IP 协议。

d. 系统特性

d.1 说明和优先级

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

d.2 激励 / 响应序列

·设置按钮 用户点击后将跳转到设置界面,关闭后系统将记录用户的设置,再编辑任务时,任务默认设置将会改为设置页面修改后的内容。

·返回按钮 用户点击后,系统将返回到上一级页面。

·退出按钮 用户点击后,系统将自动退出。

d.3 功能需求

d.3.1 登录注册功能

用户如果已注册信息就可以直接登陆,如果是初次使用APP则需要创建一个账户,账户信息包括:电话号码,用户名,密码;注册成功后返回登录页面,登录时,根据用户的输入用户名和密码验证用户身份成功则跳转到目标列表页面。

d.3.2 账户管理功能

用户可以修改自己的用户名。

d.3.3 任务管理功能

用户可以查看并修改目标的默认设置,包括任务类别、默认提醒时间、默认提醒方式。

d.3.4 目标编辑功能

用户可以在目标安排页面浏览并编辑目标信息,目标的属性包括:目标类别、目标日期、日程时间、提醒间隔、日程标题、日程内容等。

d.3.5 目标查看功能

用户可以在目标列表页面按日期顺序查看目标。

d.3.6 信息提醒功能

目标即将到期时,系统将发送提醒。

e. 其它非功能需求

e.1 性能需求

1.软件运行稳定,响应快捷,一般响应时间不超过1s

2.支持单台设备上30个任务的同时设定,设定完成时间不超过3s

3.扩容性强,在终端较多时能够保证速度

4.扩展性强,能够满足未来功能扩展需要

e.2 安全设施需求

本系统不存在安全设施方面的要求

e.3 安全性需求

1.重要数据加密。对一些重要的数据按一定的算法进行加密,如用户口令,重要参数等。

2.数据备份。允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。

e.4 软件质量标准属性

1.记录日志。对系统运行时发生的所有错误进行记录,便于查找错误原因。

2.控制必录入项。对必须录入的任务进行设置,使用户能够确保信息录入的完整。

3.方便操作。尽量从用户角度出发,以方便使用本产品。如:录入任务时输入法的自动转换,信息检索时输入汉语简拼快速快速检索结果等。

4.用户可自定义。为了满足业务的不断变化,一些重要的参数应当灵活设置。

f. 其它需求

1.安装方便,易于维护

2.支持android操作系统

附录A:项目管理

经过一个学期的合作,我们第2小组完成了当前这个项目,工作进展情况和每次专题报告的大致分工可在技术博客中的项目例会纪要里查看。在此将各个成员的贡献总结如下:

徐尘化 核心程序员,专题报告

梅浩楠 技术博客更新,程序员,专题报告

李辉 程序员,测试,专题报告

姚凇瀚 专题报告,测试

姜福伟 专题报告,测试

刘睿 美工

附录B:分析模型

一.用例图

用户可以使用系统的查看成就、查看已建目标、查看/修改系统设置,即将截止目标提醒四个功能。其中查看成就、查看已建目标、查看/修改系统设置功能需要用户登录系统,用户查看已建目标后,可以选择建立新目标或者修改、删除目标,选择修改、删除目标后,用户会查看已建目标的具体信息并对目标进行修改或删除。

在这里插入图片描述

二.静态UML图

由于项目的核心功能是以用户的登陆注册为基础的,针对不同用户个性化的用户自主设置目标。并且所有的操作都是基于成功登录的用户上来进行的。

所以以用户类和目标类为主体,围绕这二者建立类图。

用户类将具有能操作其它三块功能的方法。这三块功能包括成就、目标和系统设置。

目标类在具有目标所需的各类基本信息的基础上,含有新增、编辑、删除等操作。

在前两个主类(用户类、目标类)的基础上,关联实现另外两个基本的功能类:成就、系统设置。

成就类由两个子类(已获得成就类和未实现成就类)继承,其中未实现成就类可以通过方法:“判断是否符合条件”转化为已获得成就类

系统设置类通过设置系统默认属性,使得部分其它类对其产生依赖。

下面是整体的类图。

在这里插入图片描述

三.动态UML图

1.交互图

第一个顺序图描绘了在处理目标时,即查询、修改目标时,用户、系统、数据库三个对象之间的消息通信与行为;

在这里插入图片描述

在这里插入图片描述

第二个顺序图描绘了用户与不同界面信息之间的交互行为。

在这里插入图片描述

协作图则描绘了用户自登录时,所进行的操作过程中,与系统、数据库协同行为时的交互。

在这里插入图片描述

在这里插入图片描述

2.状态图

状态图主要可分为如下几个部分:首先是第一部分登录注册,在登录判定成功后,显示任务列表,用户可以选择进行修改任务、修改设置、查看成就三个主要操作

在这里插入图片描述

3.活动图

活动图则描述了该APP的操作流程。

在这里插入图片描述

附录C:待确定问题的列表

  1. 适用Android版本:本文档保守认为Android8.0及以上版本可以正常运行。但是站在具体代码的角度看,更低的Android版本理论上是可以正常使用的。故尚需要更全面完整的测试。

  2. 可能存在的关机影响:手机关机状态下有可能不能正常调用闹钟以及手机震动器来提醒用户。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值