当前位置: 首页 > news >正文

【.NET 8 实战--孢子记账--从单体到微服务】--需求拆分与规划

在上一篇文章中我们收集了需求,并对需求进行了简单的分析和规划,但是对于开发人员来说,上一篇文章的需求还不够详细,并且没有形成计划。因此本篇文章将带领大家来拆分需求并规划开发里程碑。

一、详细需求列表

项目组进行了多次会议后,确认了如下25个详细需求。

编号功能名称功能描述
1收入支出记录用户可以手动输入收入和支出记录,记录内容包括金额、分类、日期、备注等。支持截图自动识别功能以便快速添加记录,并可通过OCR技术识别票据或发票。
2预算管理用户可以为每个分类设置预算,跟踪实际支出与预算的差异,提供图形化预算进度显示,预算超出时发出提醒,并可生成预算报告.
3报表展示生成多种财务报表,包括月度、季度、年度报表,支持按分类、时间段过滤数据。提供可视化图表(如柱状图、饼图、折线图)帮助用户直观分析收支情况,支持导出报表功能。
4收支分类提供预定义的收入和支出分类,用户可以自定义分类并为其设置颜色标记。允许用户对记录进行多重分类,便于综合分析,支持分类统计功能。
5多币种支持支持多种货币的记账,自动获取实时汇率并进行换算。用户可设置主币种,并在不同币种记录中自动转换显示。可提供历史汇率查询功能。
6提醒功能提供定期提醒用户记录账目、预算超支提醒和即将到期账单提醒。用户可以自定义提醒的频率和方式(如推送通知、邮件通知),并设置静音时段。
7账本管理支持多个账本的创建、切换、编辑和删除功能。用户可以将不同用途的账目(如个人、家庭、业务)分开管理,提供账本之间的迁移和合并功能,支持账本共享功能。
8登录注册用户可以通过手机号、邮箱或社交媒体账户注册和登录,支持两步验证,确保账户安全。提供找回密码和账户安全设置功能,支持账户注销。
9用户管理后台系统提供用户信息查看、编辑、删除和禁用功能,支持用户分组管理和权限控制,确保系统的安全性和数据隐私,允许批量操作用户。
10角色管理允许管理员创建和管理不同角色,角色具有不同的权限设置,确保各角色用户只能访问其权限范围内的功能,支持角色的导入和导出功能。
11授权管理基于角色管理,配置用户的具体功能权限,支持权限的细粒度控制,如查看、编辑、删除记录等,提供权限变更日志记录。
12多端支持软件可在Windows、macOS、iOS和Android等多平台运行,支持数据同步和实时更新,用户可在任意设备上访问和管理其财务记录,支持离线模式。
13数据导入导出用户可以从CSV、Excel等格式导入数据,支持数据备份和导出功能,方便用户在不同系统间迁移数据,支持定期自动备份。
14数据分析提供收支趋势分析、分类支出占比分析等高级分析功能,帮助用户深入了解其财务状况,支持自定义分析报告生成。
15账户关联支持用户关联银行账户、支付平台等第三方账户,实现自动记账功能,用户可以设置自动记录规则。
16支出分摊支持用户记录和管理分摊账目,便于处理家庭或团体的共同支出,提供分摊计算和提醒功能,支持各类分摊方式(按人、按比例等)。
17个性化设置用户可以自定义界面主题、通知方式、数据展示格式等,提供多种主题选择和字体调整功能,提升用户体验。
18常用支付方式用户可以添加和管理常用支付方式(如现金、信用卡、电子支付),方便在记录支出时快速选择,并可设置默认支付方式。
19日志记录系统自动记录用户的操作日志,便于审计和追踪用户的行为,确保系统安全性,允许用户查看自己的操作历史。
20在线帮助和反馈提供在线帮助文档和用户反馈功能,用户可以报告问题或提出建议,支持FAQ和社区讨论,提升软件的易用性和用户满意度。
21数据可视化通过仪表盘展示用户的财务概况,包括总收入、总支出、预算状态等,以便用户快速了解财务状况,支持自定义仪表盘组件。
22定期账单管理用户可以记录和管理定期账单(如水电费、房租等),提供账单到期提醒和自动生成记录功能。
23社交分享功能用户可以选择将财务报告或特定账目信息分享至社交媒体,支持分享设置,保护用户隐私。
24API接口提供开放的API接口,允许开发者与其他应用集成,支持自定义功能扩展,方便企业用户与内部系统对接。
25财务健康评分系统根据用户的收入、支出、储蓄等数据生成财务健康评分,提供改善建议,帮助用户提升财务管理能力。

二、需求分类和优先级

根据前面的需求,项目组决定优先完成核心功能(收入支出记录、报表展示、收支分类、预算管理、多币种支持)、基础后台功能(登录注册、用户管理、角色管理、授权管理)和多端支持(Web版+桌面版),确保软件的基本使用场景得到满足。后续需求如数据分析、支出分摊和财务健康评分等,可以在后续版本中逐步实现,以提升用户体验和软件功能的丰富性。

2.1 业务需求(一期)
  1. 收入支出记录 - 核心功能,支持手动输入。
  2. 报表展示 - 核心功能,提供各类财务报表。
  3. 收支分类 - 核心功能,便于用户对账目进行分类管理。
  4. 预算管理 - 管理用户预算,提醒超支。
  5. 多币种支持 - 支持多币种记录与转换。
2.2 非业务需求(一期)
  1. 登录注册 - 确保用户安全身份识别。
  2. 用户管理 - 后台管理功能,确保系统的安全性。
  3. 角色管理 - 保障不同用户的权限控制。
  4. 授权管理 - 基于角色管理,配置用户的具体功能权限(仅做访问授权)。
  5. 多端支持 - Web版+桌面版。

Tip:完整的需求拆分放在了Coding上,点击下面的连接加入开发团队就可以看到需求了。
访问链接加入我的团队「team」,一起体验 CODING 一站式软件研发管理协作平台。
https://e.coding.net/invite?key=cee1ff877f532c70b104
注册验证码为 427316

相关文章:

【.NET 8 实战--孢子记账--从单体到微服务】--需求拆分与规划

在上一篇文章中我们收集了需求,并对需求进行了简单的分析和规划,但是对于开发人员来说,上一篇文章的需求还不够详细,并且没有形成计划。因此本篇文章将带领大家来拆分需求并规划开发里程碑。 一、详细需求列表 项目组进行了多次…...

在macOS的多任务处理环境中,如何平衡应用的性能与用户体验?这是否是一个复杂的优化问题?如何优化用户体验|多任务处理|用户体验|应用设计

目录 一 多任务处理与应用性能 1. macOS中的多任务处理机制 2. 性能优化的基本策略 二 用户体验的关键要素 1. 响应速度 2. 界面友好性 3. 功能的直观性 三 平衡性能与用户体验的策略 1. 资源管理 2. 优化数据加载 3. 使用合适的线程模型 4. 实时监测和调整 四 使…...

Vscode配置CC++编程环境的使用体验优化和补充说明

文章目录 快速编译运行👺code runner插件方案Code Runner Configuration 直接配置 相关指令和快捷键默认task配置和取消默认 配置文件补充介绍(可选 推荐阅读)😊使用vscode预置变量和环境变量环境变量的使用使用环境变量的好处环境变量可能引起的问题 检…...

十个方法杜绝CAD图纸泄密风险!2024年图纸防泄密指南!「必看」

随着信息技术的发展,CAD图纸的应用日益普遍,然而随之而来的图纸泄密风险也愈加严重。企业在提升效率的同时,更需重视信息安全。为此,本文将介绍十个有效的方法,帮助企业杜绝CAD图纸泄密风险,保障商业机密。…...

技术干货|HyperMesh CFD功能详解:虚拟风洞 Part 1

虚拟风洞VWT 从2023版本开始,虚拟风洞VWT(Virtual Wind Tunnel)模块合并到HyperMesh CFD中。 用户在VWT模块中完成LBM求解器ultraFluidX的前处理设置,导出参数文件XML和模型文件STL,并在GPU服务器上提交计算。 VWT目前…...

022集——统计多条线的总长度(CAD—C#二次开发入门)

如下图所示,选择多条线并统计长度: c#中不包含直接获取curve曲线长度 属性,需用如下方法:curve.GetDistanceAtParameter(item.EndParam) 附部分代码如下: using Autodesk.AutoCAD.ApplicationServices; using Autode…...

大模型重要技术系列三:高效推理

接上一篇高效训练,这一篇汇总下高效推理的方法。高效推理的两个主要优化目标是低延迟(快速得到推理结果)和高吞吐量(能同时处理很多请求),同时还要尽可能地少用资源(算力、存储、网络带宽&#…...

Android 刘海屏适配指南

如果您不希望您的内容与刘海区域重叠, 以确保您的内容不会与状态栏及 导航栏。如果您要呈现在刘海区域中,请使用 WindowInsetsCompat.getDisplayCutout() 检索 DisplayCutout 对象 包含每个刘海屏的安全边衬区和边界框。借助这些 API 您需要检查视频内容…...

微信小程序服务通知

项目中用到了小程序的服务消息通知,通知订单状态信息,下边就是整理的一下代码,放到项目中,把项目的小程序appid和小程序的secret写进去,直接运行即可 提前申请好小程序服务信息通知短信模板,代码需要用到模…...

Ubuntu使用Qt虚拟键盘,支持中英文切换

前言 ​ 最近领导给了个需求,希望将web嵌入到客户端里面,做一个客户端外壳,可以控制程序的启动、停止、重启,并且可以调出键盘在触摸屏上使用(我们的程序虽然是BS架构,但程序还是运行在本地工控机上的),我…...

泰州农商行

该文章用于测试,暴露面检测服务 1595116111115951161112159511611131595116111415951161115159511611161595116111715951161118159511611191595116112015951161121159511611221595116112315951161124159511611251595116112615951161127159511611281595116112915951…...

扫雷(C语言)

目录​​​​​​​ 前言 一、前提知识 二、扫雷游戏编写 2.2 test文件基本逻辑 2.2.1菜单编写 2.2.2game函数的逻辑 2.2.2.1定义两个数组 2.2.2.2两个数组数组的初始化 2.2.2.3打印棋盘 2.2.2.4布置雷 2.2.2.5排查雷 2.2.2.6获取坐标附近雷的数量 2.2.2.7什么时候…...

【实践功能记录8】使用UseElementSize实现表格高度自适应

一、关于 UseElementSize UseElementSize 是一个 Vue 组合式 API 的实用工具,通常用于获取 DOM 元素的尺寸信息,例如宽度、高度等。它通常与 v-slot 一起使用,以便在模板中直接访问这些尺寸信息。 地址:https://vueuse.org/core/u…...

SMO算法 公式推导

min ⁡ α 1 2 ∑ i 1 N ∑ j 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i 1 N α i s.t. ∑ i 1 N α i y i 0 0 ≤ α i ≤ C , i 1 , 2 , ⋯ , N (9-69) \begin{aligned} & \min_{\alpha} \quad \frac{1}{2} \sum_{i1}^{N} \sum_{j1}^{N} \alpha_i \alpha_j…...

nodejs包管理器pnpm

简介 通常在nodejs项目中我们使用npm或者yarn做为默认的包管理器,但是pnpm的出现让我们的包管理器有了更多的选择,pnpm相比npm具有以下优势: 速度更快,pnpm在安装依赖时,会将依赖包缓存到全局目录,下次安…...

【postman】工具下载安装

postman作用 postman用于测试http协议接口,无论是开发, 还是测试人员, 都有必要学习使用postman来测试接口, 用起来非常方便。 环境安装 postman 可以直接在chrome 上安装插件,当然大部分的同学是没法连接到谷歌商店的,我们可以在电脑本地…...

Java_Springboot核心配置详解

Spring Boot以其简洁、高效和约定优于配置的理念,极大地简化了Java应用的开发流程。在Spring Boot中,核心配置是应用启动和运行的基础。本文将详细介绍Spring Boot中的两种配置文件格式、基础注解的配置方式、自定义配置以及多环境配置。 一、Spring Bo…...

太速科技-9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

基于DSP TMS320C6678FPGA XC7V690T的6U VPX信号处理卡 一、概述 本板卡基于标准6U VPX 架构,为通用高性能信号处理平台,系我公司自主研发。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA XC7V690T-2FFG1761I作为主处理器&#…...

在线UI设计工具:创意与效率的结合

随着UI设计领域的快速增长,设计师们纷纷投身于这一行业,选择一款合适的UI设计工具变得至关重要。除了经典的UI设计软件,在线UI设计工具因其灵活性和便捷性,越来越受到设计师们的喜爱。这种不受时间和地点限制,且不依赖…...

【MyBatis源码】SqlSessionFactoryBuilder源码分析

文章目录 概述类结构从 InputStream 创建 SqlSessionFactoryXMLConfigBuilder构建ConfigurationXMLConfigBuilder初始化方法parse()方法parseConfiguration属性(properties) 概述 SqlSessionFactory 是 MyBatis 的核心接口之一,提供创建 Sql…...

别再让PCIe性能打折扣!手把手教你用lspci和setpci调优MaxPayloadSize

PCIe性能调优实战:用lspci和setpci精准优化MaxPayloadSize 当你的NVMe固态硬盘突然降速,或者10G网卡吞吐量不及预期时,可能正遭遇PCIe链路层的隐形性能杀手。本文将带你用Linux系统自带的lspci和setpci工具,像专业工程师一样诊断和…...

告别邮件测试烦恼:MailHog一站式解决方案让开发调试更高效

告别邮件测试烦恼:MailHog一站式解决方案让开发调试更高效 【免费下载链接】MailHog Web and API based SMTP testing 项目地址: https://gitcode.com/gh_mirrors/ma/MailHog 还在为测试邮件功能而烦恼吗?每次开发邮件发送模块时,你是…...

CANN Ascend C SIMT log10f函数

log10f 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/can…...

麒麟系统离线安装PostgreSQL?手把手教你用dnf和repotrack搞定所有依赖包

麒麟系统离线部署PostgreSQL全攻略:从依赖包下载到本地仓库构建 在政企级IT基础设施中,麒麟操作系统因其安全可控的特性成为关键业务系统的首选平台。当这些系统运行在物理隔离的内网环境时,如何解决软件依赖的"最后一公里"问题&am…...

Perplexity谣言查询实战手册:从输入到验证的7步黄金流程,附可复用提示词模板

更多请点击: https://codechina.net 第一章:Perplexity谣言辟谣查询的底层逻辑与认知前提 Perplexity 并非一种“谣言检测模型”或内置辟谣数据库的独立系统,而是一个基于大语言模型(LLM)增强检索的问答式搜索引擎。其…...

机器学习核心术语全解析:从评估指标到TensorFlow实战避坑指南

1. 项目概述与核心价值刚接触机器学习,尤其是像TensorFlow这样庞大框架的朋友,最头疼的莫过于满屏的英文术语。什么“Backpropagation”、“Softmax”、“Embedding”,每个词都认识,但组合在一起就让人云里雾里。更别提那些缩写&a…...

别再让电机乱跑了!用STM32CubeIDE配置TB6612驱动GB37-520电机,保姆级避坑指南

从零到精通的STM32电机控制实战:TB6612驱动GB37-520全流程解析 第一次尝试用STM32驱动电机时,我遇到了一个令人抓狂的现象——电机要么纹丝不动,要么突然疯狂旋转,甚至冒出可疑的青烟。这种经历在初学者中非常普遍,而…...

用Python+OpenCV+SORT搞定高空抛物监测:从摄像头选型到代码调试的保姆级避坑指南

PythonOpenCVSORT高空抛物监测系统实战:从硬件选型到算法调优全解析 1. 项目背景与技术选型 高空抛物监测系统作为智慧社区建设的关键环节,面临着复杂的环境挑战。传统监控摄像头仅能记录画面,无法实现主动预警。而基于计算机视觉的智能分析…...

给Hadoop初学者的环境搭建备忘录:为什么你的JDK配置总在重启后‘消失’?(Linux基础解惑)

Hadoop环境搭建中的Linux系统原理:为什么你的配置总在重启后"消失"? 很多Hadoop初学者在搭建开发环境时,都会遇到一个令人困惑的问题:明明按照教程一步步配置好了JDK和Hadoop,为什么重启后环境变量就"消…...

实战场景|一张表单看懂:段落布局才是企业表单 “清晰度天花板”

实战场景|一张表单看懂:段落布局才是企业表单 “清晰度天花板” 在企业级表单开发中,大家常常关注组件够不够用、布局够不够炫,却最容易忽略表单分段这件小事。而真正好用的表单,往往赢在细节 ——层次清晰、模块分明…...