《从零开始的记账本开发》第1篇 需求分析

1引言

以下这些是根据《软件工程》里的要求写的需求分析,删改了一些,随便看看就行,我的个人空间的资源里有我上传的word文档,需要的同学可以去下载

 

1.1编写目的

需求规格说明书是需求分析的产物,它是软件系统生存期中软件定义阶段的最后一个步骤。作为整个软件开发过程的指南,也是软件开发人员开发出符合用户要求的软件的基础。编制目的是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个软件开发的基础。

本软件需求说明书的读者是系统开发人员或合同约定的人员。

1.2背景

开发的系统的名称:流水记账本(WasteBook)

开发者:个人

用户:面向有记账需求的个体用户

项目与其他软件,系统的关系:本项目采用C/S原理,客户端的程序是建立在Android5.1以上,,使用Android studio,Java,以及SQLite数据库等为开发软件的应用程序。

1.3定义

数据流图:数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。

系统的流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子的形式描绘系统里的每个部件(程序,文件,数据库,表格,人工过程等)。

用户表:存放用户数据。

账单表:存放用户记录的账单详细信息。

标签表:存放系统提供的类型以及用户自定义的标签信息。

预算表:存放用户设置的年预算、月预算以及各标签类别预算

1.4参考资料

[1] 吴杰明等编著,《软件工程实例教程》,清华大学出版社,2010.11.

[2] 软件工程实验指导书.

[3] 系统可行性研究报告.

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系统功能

本系统在用户登录之后,即可添加账单信息,账单信息包括类别(支出或收入)、数值大小、具体类型(【支出】餐饮、购物、交通、娱乐等【收入】工资、兼职、理财等)日期、备注(非必填)。用户添加成功后可在主页查看添加的账单记录,可点击编辑,可左右滑动删除。也可管理类型标签,增删改、排序标签,排序标签后,可同步更新账单添加界面里的标签位置。用户可设置年预算、月预算以及各标签类别预算,系统自动汇总相关账单信息,并根据额度情况提醒用户。

流水记账APP系统的功能可以划分为如下几个部分:

  1. 账单管理:增删改查账单
  2. 标签管理:增删改、排序标签
  3. 预算管理:包括设置年预算、月预算以及各标签类别预算
  4. 账户管理:修改密码、登录、退出、备份数据等

3.1.2数据流图

《从零开始的记账本开发》第1篇 需求分析_第1张图片

顶层图

《从零开始的记账本开发》第1篇 需求分析_第2张图片

0层数据流图

3.1.3数据字典

本系统的部分数据字典如下:

名字:用户表

定义:用户编号+用户名+密码+头像+同步

用户编号=11位数字(手机号格式),主键

用户名=小于等于8位,仅包括数字、字母、‘_’

密码=大于等于6位,小于等于16位,任意字符

头像=图片url地址

同步=是否已经与服务器同步,格式为: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

3.1.4 E-R图

《从零开始的记账本开发》第1篇 需求分析_第3张图片

 

3.2对性能的规定

3.2.1精度

购书是由需求决定的,只要有缺书现象则会体现出来,但也因为这样,如果需要提前多购相关书籍的话,则需要管理人员的参与。

3.2.2时间特性要求

1)系统的更新处理时间应该在可接受的范围内;

2)系统的数据查询时间应该在可接受的范围内;

3)系统的数据统计时间应该在可接受的范围内。

3.2.3 灵活性

       在进行账单、标签的删除时,通过弹窗并由用户再次确认,可通过相关按钮来撤销删除。

在联系较大的界面之间跳转灵活。

3.3 输入输出要求

输入项目

账单添加模块:需要输入账单要求的信息(账单编号、用户编号、类别[支出/收入]、标签、数额、时间、备注[可无])。

标签添加模块:需要输入标签要求的信息(用户编号、标签ID、标签名、序号(用于排序)、图标)。

添加预算模块:需要输入预算要求的信息(用户编号、时间[年/月]、标签[可无]、金额)

输出项目

账单查询模块:根据用户的选择条件(类别、时间区间)来筛选账单信息(类别、标签、金额、时间、备注)

预算统计模块:根据用户设置的预算,比如月预算则统计当月的所有支出并计算设置的月预算总额-统计的结果显示给用户,根据余量的大小程度输出提示信息。

3.4数据管理能力

      由于用户需要对账单、自定义标签、预算等信息进行长期保存,再加上账单的增删改查操作比较频繁,因此对数据的存储有一定的要求。

你可能感兴趣的:(《从零开始的记账本开发》第1篇 需求分析)