1引言
以下这些是根据《软件工程》里的要求写的概要设计,删改了一些,看看系统结构图和E-R图就行,我的个人空间的资源里有我上传的word文档,需要的同学可以去下载
1.1编写目的
概要设计说明书编制的目的是:说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
本软件概要设计说明书的读者是系统开发人员或合同约定人员。
1.2背景
开发的系统名称:流水记账本(WasteBook)
开发者:本人
用户:有记账需求的个体用户
实现该软件的计算机 络:软件工程实验室
项目与其他软件,系统的关系:本项目采用C/S原理,服务端主要是为用户提供数据备份。客户端的程序是建立在Android5.1以上,使用Android studio,Java,以及SQLite数据库等为开发软件的应用程序。
1.3定义
数据流图:数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
系统的流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符 以黑盒子的形式描绘系统里的每个部件(程序,文件,数据库,表格,人工过程等)。
用户表:存放用户数据,包括密码、头像、昵称,数据备份同步状态
账单表:存放每条记录的信息。
类型表:存放系统提供的类型和用户自定义的类型信息。
预算表:存放用户设置的年预算、月预算、类别预算信息。
2总体设计
2.1需求规定
用户可以随时使用该app来记录支出收入情况,可以增删改查记录。可以管理类型标签,可以饼状图、曲线图显示支出收入情况,并显示前十的支出、收入记录。可以设置预算(按月或按类型),登录之后可以同步信息。
流水记账本APP可以划分为如下几个部分:
- 用户信息管理:修改个人信息,包括密码、头像、昵称,数据备份同步,包括账单记录、标签,设置预算。
本系统对性能的规定:
1)系统的更新处理时间应该在可接受的范围内;
2)系统的数据查询时间应该在可接受的范围内;
3)系统的数据统计时间应该在可接受的范围内。
2.2运行环境
1)硬件环境:运行本软件的服务端要求处理器在奔腾Ⅲ以上,内存在512MB以上的计算机。客户端要求处理器频率至少为1Ghz,内存至少为256MB.
2)软件环境:本系统客户端支持的操作系统包仅Android5.1以上;本系统客户端支持的数据库为SQLite;服务端为数据库为:Mariadb,本软件的客户端开发工具为Android Studio,使用的开发语言为JAVA、XML。
2.3基本设计概念和处理流程
本系统的基本设计概念和处理流程如下:
1)系统启动时,激活身份验证模块。
2)通过身份验证后,对系统进行初始化,判断用户身份,导入到不同的处理页面是。
3)系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块。
4)各项功能执行完毕后,重新进入消息循环状态。
5)由退出系统事件激活关闭系统模块,退出系统。
2.4结构
软件结构图
记账管理结构图
标签管理结构图
用户信息管理结构图
数据流图/用例图
顶层:
一层:
二层:
2.5功能需求与程序的关系
1)用户身份验证必须调用“验证用户”模块程序进行身份验证。
2)验证之后,系统会初始化标签,自动插入常用的标签
3)当用户修改或者删除标签时,对应的账单的标签会修改或删除
4)用户排序标签之后,在添加账单时,标签的位置为用户排序调整之后
2.6人工处理过程
所有合法操作系统将会自动进行。
3接口设计
3.1用户接口
本系统客户端遵循Material Design设计规范,采用固定的底部导航栏,可直达账单列表、添加账单、标签管理、用户信息管理界面。使用弹窗、吐司供用户输入或提醒用户。
- 查询账单:显示账单列表,饼状图显示比例
- 删除账单:用户删除账单记录
- 查询标签:添加账单记录时需要获取标签信息
- 删除标签:用户删除标签,对应账单删除
- 查询预算:预算提醒需要用户设置的预算信息
- 初始化标签:进入系统时为用户添加必要的标签种类
3.2外部接口
服务端:
硬件接口:PentiumⅣ CPU及以上,内存在1GB以上的计算机。
软件接口:支持本系统的软件包括:Windows7、 Windows XP、Linux等 。
客户端:
硬件接口:ARM架构,内存521MB以上的安卓手机
软件接口:Android5.1,API 22
4运行设计
4.1运行模块组合
1)对标签的删除会删除对应的账单记录
2)添加预算会在预算不足10%并在添加账单时提醒用户
4.2运行控制
用户通过身份验证之后进入系统操作界面,可以对系统进行信息的增添,删除,修改,查询等操作
4.3运行时间
“用户验证”模块在完成用户登录的身份验证后立即退出运行,释放占用的系统资源。一般来说,本系统运行一般耗时100~1000毫秒,在UI界面不进行耗时操作,所有的数据库操作不允许在主线程运行,均为异步完成。数据同步受 络因素的影响,耗时视 络情况而定,如果同步为系统主动触发则在用户使用期间进行,如果为用户触发,则需要耗时1~5秒进行。
5系统的数据结构设计
5.1逻辑结构设计
1)用户表 属性名:{用户编 ,用户名,密码,头像,同步}
用户编 |
用户名 |
密码 |
头像 |
同步 |
|
|
|
|
|
说明: 此为用户实体对应的关系模式,其他一些冗余信息删除。
2)账单表 属性名:{账单编 ,用户编 ,类别,数额,标签编 ,时间,备注,同步状态}
账单编 |
用户编 |
类别 |
数额 |
标签编 |
时间 |
备注 |
同步 |
|
|
|
|
|
|
|
|
说明:此为账单实体对应的关系模式,其中用户编 是外码,其他一些冗余信息删除。
3)标签表 属性名:{标签编 ,用户编 ,序 ,标签名,图标,同步}
标签编 |
用户编 |
序 |
标签名 |
图标 |
同步 |
|
|
|
|
|
|
说明:此为标签实体对应的关系模式,其中用户编 是外码,其他一些冗余信息删除。
4)预算表 属性名:{用户编 ,时间,金额,标签编 ,同步}
用户编 |
时间 |
金额 |
标签编 |
同步 |
|
|
|
|
|
说明:此为预算实体对应的关系模式,其中用户编 、标签编 是外码,其他一些冗余信息删除。
5.2数据库表的详细清单
1)用户表
数据项名 |
别名 |
数据类型 |
长度 |
备注 |
用户编 |
UserID |
int |
4 |
primary key |
用户名 |
UserName |
char |
20 |
not null |
密码 |
UserPasswd |
char |
50 |
not null |
头像 |
UserIcon |
char |
50 |
not null |
同步 |
UserSync |
tinyint |
1 |
not null |
2)账单表
数据项名 |
别名 |
数据类型 |
长度 |
备注 |
账单编 |
BillID |
char |
20 |
foreign key |
用户编 |
BillUserID |
int |
4 |
not null |
类别 |
BillType |
tinyint |
1 |
not null |
数额 |
BillAmount |
decimal |
10 |
总长10,小数2位 |
标签编 |
BillTagID |
int |
4 |
not null |
时间 |
BillTime |
DateTime |
8 |
not null |
备注 |
BillInfo |
char |
50 |
|
同步 |
BillSync |
tinyint |
1 |
not null |
3)标签表
数据项名 |
别名 |
数据类型 |
长度 |
备注 |
标签编 |
TagID |
int |
4 |
primary key |
用户编 |
TagUserID |
int |
4 |
foreign key |
序 |
TagOrder |
int |
4 |
not null |
标签名 |
TagName |
char |
20 |
not null |
图标 |
TagIcon |
char |
50 |
not null |
同步 |
TagSync |
tinyint |
1 |
not null |
4)预算表
数据项名 |
别名 |
数据类型 |
长度 |
备注 |
用户编 |
BudgetID |
int |
4 |
foreign key |
时间 |
BudgetTime |
DateTime |
8 |
not null |
金额 |
BudgetAmount |
decimal |
10 |
总长10,小数2位 |
标签编 |
BudgetTagID |
int |
4 |
foreign key |
同步 |
BudgetSync |
tinyint |
1 |
not null |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!