时间如流水,只能流去不流回。

学历代表你的过去,能力代表你的现在,学习能力代表你的将来。

学无止境,精益求精。

一、开发背景

  Android应用市场记账的app那么多,我为什么还要再开发一个呢?重复造轮子有意思吗?

  简单回答上面的自我提问:

  • 为什么要开发?我自己开发,主要是方便自己用,市场上的app,有些记录的数据是放在服务器上的,无网络或者网络信号差时,app加载很慢或者就无法使用了。
  • 重复造轮子?最近在自学flutter,也是为了赶上这个热度,学点新知识,技多不压身嘛,做这个app也是巩固自己的学习成果。

二、开发技术

  app采用dart+flutter框架开发,数据库使用android常用的本地数据库sqlite。


四、功能列表

  1. 支持收入与支出的分类管理,如增加支出类型:餐饮、交通、走人户等;
  2. 支持录入新的支出与收入记录;
  3. 支持记录统计,如一周消费统计;

五、数据库表设计

表1、类别表

  每笔收入或者支出类型,方便统计查看:

类别表(PAC.TYPE)
字段名 标示(简写) 必选 字段类型 推荐长度 默认值 字段描述
ID id 整型     主键,自增字段
父类别ID pid 整型   0

父类别ID(PAC_TYPE主键ID),类别有两级,如基本生活为一级,其下又

细分为柴米油盐、物业水电、水果零食、日常用品的

小类别。

名称 name 字符串 10   类别名称,如基本生活、柴米油盐、物业水电

表2、记录表

  每笔收入或者支出的详细信息:

记录信息表(PAC_RECORD)
字段名 标示(简写) 必选 字段类型 推荐长度 默认值 字段描述
ID id 整型     主键,自增字段
类别ID typeid 整型     类别ID(PAC_Type主键ID,二级类别ID)
备注 memo   字符串 50   该笔收入或者支出详细说明
消费时间 time 无符号整型 11   支出或者收到时间,使用无符号整型记录

六、原型设计

先简单做做原型设计,主要有记录界面、统计界面等,未完待续...

个人记账app(一)需求设计的更多相关文章

  1. [转]Android App整体架构设计的思考

    1. 架构设计的目的 对程序进行架构设计的原因,归根到底是为了提高生产力.通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点, ...

  2. 15款优秀移动APP产品原型设计工具

    一新来小盆友问:“移动产品原型设计都用啥工具?” 答:“@#¥……&%*” 又问:“能详细说下各个工具吗?我比较一下” “……” 好吧,谁让我那么的爱分享而你又是小美女呢 ———————正文开 ...

  3. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

  4. app开发需求文档怎么写

    我们在开发app前都会做需求分析,这个app开发需求文档怎么写呢?一般可以从这几点入手:确定APP方案的目标,APP方案的受众分析,APP开发方案功能设计,APP的操作系统说明方案,APP是是否是原生 ...

  5. [需求设计]从一个小需求感受Redis的独特魅力

    分享一个简单的小需求应该怎么设计实现以及有关Redis的使用 Redis在实际应用中使用的非常广泛,本篇文章就从一个简单的需求说起,为你讲述一个需求是如何从头到尾开始做的,又是如何一步步完善的.之前写 ...

  6. 团队项目-记账App

    一.团队成员介绍 队长: 向瑜 博客园地址: https://www.cnblogs.com/xiangyu721/  沟通能力较强,善于总结,能够正确分配团队任务.其次,有耐心学习新事物,发现新问题 ...

  7. android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标。

    android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标. 今天来写主界面头信息的展示,也就是将第一天的写的layout中的item_main_top展示到主界 ...

  8. android软件简约记账app开发day08-时间对话框的书写+改bug,改bug

    android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户 ...

  9. android软件简约记账app开发day04-记账页面条目的代码书写

    android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...

  10. Android App的架构设计:从VM、MVC、MVP到MVVM

    随着Android应用开发规模的扩大,客户端业务逻辑也越来越复杂,已然不是简单的数据展示了.如同后端开发遇到瓶颈时采用的组件拆分思想,客户端也需要进行架构设计,拆分视图和数据,解除模块之间的耦合,提高 ...

随机推荐

  1. .Net Core 3.0 gRPC部署问题解决

    前言 .Net Core3.0终于如约而至的来了.在3.0中增加了许多东西.也有了许多的变化.今天我们看的就是在3.0中使用gRPC并遇到的问题.gRPC现在可以非常方便简洁的在.Net Core中使 ...

  2. 微服务SpringCloud之zipkin链路追踪

    随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位 ...

  3. APP功能测试要点

    1.功能性测试 根据产品需求文档编写测试用例而进行测试,包括客户端的单个功能模块以及功能业务逻辑(功能交互)如:涉及输入的地方需要考虑等价类,边界值,异常或非法等 1.1 安装与卸载测试 >软件 ...

  4. Python学习-列表元组字典操作

    一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

  5. eclipse导入别的项目后发现jdk版本不一样,该如何解决呢?

    当我们导入其他人的项目的时候,发现导入的项目的jdk版本与我们使用电脑上的版本不同,该如何解决呢? 选中项目右键 --> Properties --> Build Path --> ...

  6. Java匹马行天下之Java帝国的崛起(大结局)

    Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...

  7. ZIP压缩和解压字符串

    由于ZIP压缩会产生头信息, 所以当字符串长度没有达到一定规模的时候, 压缩后的长度可能比原来的还长 // 将一个字符串按照zip方式压缩和解压缩 public class ZipUtil { // ...

  8. Python学习笔记整理总结【Django】:模板语言、分页、Cookie、Session

    一.模板语言  1.在前段展示:对象/字典/元组 class Business(models.Model): # id #用默认的自增id列 即:Business中有3列数据(id, caption, ...

  9. 基于Docker搭建大数据集群(一)Docker环境部署

    本篇文章是基于Docker搭建大数据集群系列的开篇之作 主要内容 docker搭建 docker部署CentOS 容器免密钥通信 容器保存成镜像 docker镜像发布 环境 Linux 7.6 一.D ...

  10. 阿里云服务器CentOS6.9安装Ant

    下载地址:http://mirrors.hust.edu.cn/apache/ant/binaries/ 1.下载 2.上传到服务器(非root用户下) 3.解压移动目录(root用户下) tar - ...