流水记账本 APP 需求规格说明书
目录
1 引言 ................................................................................................................................................. 1
1.1 编写目的 ............................................................................................................................. 1
1.2 背景 ..................................................................................................................................... 1
1.3 定义 ..................................................................................................................................... 1
1.4 参考资料 ............................................................................................................................. 1
2 任务概述 ......................................................................................................................................... 2
2.1 目标 ..................................................................................................................................... 2
2.2 用户的特点......................................................................................................................... 2
2.3 条件、假定和约束 ............................................................................................................. 2
3 需求规定 ......................................................................................................................................... 2
3.1 对功能的规定 ..................................................................................................................... 2
3.1.1 系统功能 ................................................................................................................. 2
3.1.2 数据流图................................................................................................................... 3
3.1.3 数据字典................................................................................................................... 3
3.1.4 E-R 图........................................................................................................................5
1 引言
1.1 编写目的
需求规格说明书是需求分析的产物,它是软件系统生存期中软件定义阶段的最后一个步
骤。作为整个软件开发过程的指南,也是软件开发人员开发出符合用户要求的软件的基础。
编制目的是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为
整个软件开发的基础。
本软件需求说明书的读者是系统开发人员或合同约定的人员。
1.2 背景
所建议开发的系统的名称:流水记账本
本项目的任务提出者:软件工程专业老师
开发者:软件工程专业学生
用户:全校师生
实现该软件的计算机网络:软件工程实验室
项目与其他软件,系统的关系:本项目采用 C/S 原理,客户端的程序是建立在 Android5.1
以上,,使用 Android studio,Java,以及 SQLite 数据库等为开发软件的应用程序。
1.3 定义
数据流图:数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信
息在系统中流动和处理的情况。
系统的流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以
黑盒子的形式描绘系统里的每个部件(程序,文件,数据库,表格,人工过程等)。
用户表:存放用户数据。
账单表:存放用户记录的账单详细信息。
标签表:存放系统提供的类型以及用户自定义的标签信息。
预算表:存放用户设置的年预算、月预算以及各标签类别预算
1.4 参考资料
[1] 吴杰明等编著,《软件工程实例教程》,清华大学出版社,2010.11.
[2] 软件工程实验指导书.
[3] 系统可行性研究报告.
1
2 任务概述
2.1 目标
用户可以随时使用该 app 来记录支出收入情况,可以增删改查账单。可以管理类型标签,
可以饼状图、曲线图显示支出收入情况,并显示前十的支出、收入记录。可以设置预算(按
年、月或类型),登录之后可以同步信息。
2.2 用户的特点
软件适用于大多数的个人用户,尤其是擅长对财务进行管理的这一类,该系统界面友好,
傻瓜式操作,简单明了。系统的维护人员仅是开发者本人,对网络和数据库的操作比较熟悉,
同时对 JAVA 编程有一定的经验;
2.3 条件、假定和约束
所建议的系统的运行寿命的最小值:3 年
进行系统方案选择比较的时间为:3 周
经费、投资方面的来源和限制:小组筹集
硬件条件:服务端:CPU 为 Pentium4 以上,内存为 1GB 以上,客户端:Android5.1 以
上的手机
运行环境:服务端:Linux、CentOS、windows 等,客户端:Android5.1
数据库:服务端:MySQL 分支 MariaDB,客户端:SQLite
可利用的信息和资源:互联网信息,学院实验室
3 需求规定
3.1 对功能的规定
3.1.1 系统功能
本系统在用户登录之后,即可添加账单信息,账单信息包括类别(支出或收入)、数值
大小、具体类型(【支出】餐饮、购物、交通、娱乐等【收入】工资、兼职、理财等)日期、
备注(非必填)。用户添加成功后可在主页查看添加的账单记录,可点击编辑,可左右滑动
删除。也可管理类型标签,增删改、排序标签,排序标签后,可同步更新账单添加界面里的
标签位置。用户可设置年预算、月预算以及各标签类别预算,系统自动汇总相关账单信息,
并根据额度情况提醒用户。
2
流水记账 APP 系统的功能可以划分为如下几个部分:
1) 账单管理:增删改查账单
2) 标签管理:增删改、排序标签
3) 预算管理:包括设置年预算、月预算以及各标签类别预算
4) 账户管理:修改密码、登录、退出、备份数据等
3.1.2 数据流图
顶层图
0 层数据流图
3.1.3 数据字典
本系统的部分数据字典如下:
名字:用户表
定义:用户编号+用户名+密码+头像+同步
用户编号=11 位数字(手机号格式),主键
用户名=小于等于 8 位,仅包括数字、字母、‘_’
密码=大于等于 6 位,小于等于 16 位,任意字符
头像=图片 url 地址
3
同步=是否已经与服务器同步,格式为:0|1
名字:账单表
定义:账单编号+用户编号+类别+数额+标签编号+时间+备注+同步
账单编号=int 值,数据库系统自动生成,主键
用户编号=引用用户表的用户编号
类别=仅为支出或收入
数额=账单大小,为 double 类型,保留两位小数
标签编号=引用标签表的标签编号
时间=记录该账单的发生时间 格式为 yyyy 年 MM 月 dd 日 hh:mm:ss
备注=用户可添加的账单额外信息
同步=是否已经与服务器同步,格式为:0|1
名字:标签表
定义:标签编号+用户编号+序号+标签名+图标+同步
标签编号=int 值,系统自动生成,主键
用户编号=用户表的用户编号
序号=1|2|3|4……|10000000,用于记录标签的顺序
标签名=标签的名字,不大于 8 个字符
图标=图标 url 地址
同步=是否已经与服务器同步,格式为:0|1
名字:预算表
定义:用户编号+时间+标签编号+金额+同步
用户编号=引用用户表的用户编号
时间=yyyy 年|MM 月
标签编号=引用标签表的标签编号(用于设置标签预算)
金额=1|2|3|4……|1000000000
同步=是否已经与服务器同步,格式为:0|1
4
3.1.4 E-R 图
3.2 对性能的规定
3.2.1 精度
购书是由需求决定的,只要有缺书现象则会体现出来,但也因为这样,如果需要提前多
购相关书籍的话,则需要管理人员的参与。
3.2.2 时间特性要求
1)系统的更新处理时间应该在可接受的范围内;
2)系统的数据查询时间应该在可接受的范围内;
3)系统的数据统计时间应该在可接受的范围内。
5
3.2.3 灵活性
在进行账单、标签的删除时,通过弹窗并由用户再次确认,可通过相关按钮来撤销删除。
在联系较大的界面之间跳转灵活。
3.3 输入输出要求
输入项目
账单添加模块:需要输入账单要求的信息(账单编号、用户编号、类别[支出/收入]、
标签、数额、时间、备注[可无])。
标签添加模块:需要输入标签要求的信息(用户编号、标签 ID、标签名、序号(用于排
序)、图标)。
添加预算模块:需要输入预算要求的信息(用户编号、时间[年/月]、标签[可无]、金
额)
输出项目
账单查询模块:根据用户的选择条件(类别、时间区间)来筛选账单信息(类别、标签、
金额、时间、备注)
预算统计模块:根据用户设置的预算,比如月预算则统计当月的所有支出并计算设置的
月预算总额-统计的结果显示给用户,根据余量的大小程度输出提示信息。
3.4 数据管理能力
由于用户需要对账单、自定义标签、预算等信息进行长期保存,再加上账单的增删改查
操作比较频繁,因此对数据的存储有一定的要求。
3.5 故障处理要求
在输入不符合定义格式的数据时,软件应出现提示信息,而不是死机或是删除已经输入
的信息,然后再弹出输入界面重新开始。
其他情形不再一一描述。
4 运行环境设定
4.1 设备
运行本软件要求运行内存在 1GB 以上 Android 手机上。
6