项目架构落地之需求分析(一)

目标

  • 尽可能全面准确全面深入理解业务(5W2H)
  • 识别重难点业务
  • 理清业务流程和功能点
  • 识别非功能需求和质量约束

一.需求调研

派什么人:

  1. 懂业务
  2. 头脑灵活
  3. 懂技术
  4. 擅长沟通
  5. 业务经验多
  6. 情商高

调研之前

  1. 做功课
  2. 假想系统

调研中

  1. 认真听、记和想
  2. 问问题:确认疑问,或者向下追问
  3. 可视化:草图、流程图、界面等
  4. 原型化并确认
  5. 多要资料

调研后

  1. 调研说明书、原型、业务蓝图、业务架构图、实物资料

二.理解业务

基本思维方式要做什么不考虑具体如何做

业务背景业务知识

流程:

  1. 需求分析人员讲业务
  2. 理解业务架构图
  3. 思考理解业务
  4. 明确一级功能
    1. 用户管理
    2. 商品管理
    3. 订单管理
  5. 梳理使用系统的角色
  6. 梳理系统需要使用的其他资源

三.发现功能点和业务流程

潜在、补充、多余、超过范围、遗漏、非功能的需求

功能发现方法

  • 换位思考
  • 逐字逐句审读法迭代思维明确业务功能和流程
  • 业务流程走查法(完整性、加深业务理解、检查业务可行性)

  •  问题挖掘法全方位、多角度理解业务,前 -  - 后)
    1. 功能本身描述
    2. 谁操作
    3. 如何操作
    4. 前置条件
    5. 涉及的数据 
    6. 数据的来源、功能数据的处理、数据的去向
    7. 关联的业务

四.业务功能点分析

  • 功能点准确描述细化到不可分割CRUD
  • 操作人\角色谁来操作谁能操作
  • 触发方式人工功能连带系统自动等
  • 执行周期一次循环等
  • 操作的前置条件满足什么条件才执行已支付已审核等
  • 操作数据的准备描述分字段描述
    1. 数据的属性:类型、长度、能否为空
    2. 数据的来源(从哪个模块产生)
    3. 功能对数据的操作(修改、设置的值)
    4. 产生的数据去向(新增、修改了什么数据,是否存储,是否返回数据)
    5. 涉及界面的表现形式(后台先不考虑)
    6. 连带的处理功能(下单:发积分、发优惠券)
    7. 连带功能操作需要的数据

六.业务流程分析

  • 业务流程背景整体功能的详细描述
  • 通过流程图加深对流程的理解
  • 针对每个节点分析
    • 节点具体功能具体描述
    • 前置条件,包括:前置逻辑、前置数据
    • 参与角色
    • 操作页面
    • 操作数据:数据来源、操作权限、怎样操作、数据操作后去向
    • 节点功能后的连带功能
    • 节点后续的转向控制
    • 节点的转向控制,逻辑、条件、数据

持续分解

  1. 从小到大从粗到精逐层推进理解系统业务边界流程
  2. 分解到CRUD不能再分解
  3. 先广度再深度

原型图流程图加深业务理解方便业务走查

非功能性需求质量性能并发伸缩性响应时间)、约束版本环境语言等

七.需求分析成果

  • 功能点列表
  • 需求分析说明文档
    1. 功能点详细描述文档
    2. 非功能质量要求和约束
    3. 业务流程详细描述
  1. 交互界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用Web安全扫描工具汇整

漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。 1、AWVS Acunetix Web Vulnerability Scanner&a…

数据库Redis(一):基础知识

NoSQL数据库简介 NoSQL,Not only SQL,泛指非关系型的数据库,不依赖业务逻辑方式存储,而以简单的 key-value 模式存储,极大地增加了数据库的扩展能力。 1)不遵循SQL标准; 2)不支持A…

图书推荐管理系统Python+Django网页界面+协同过滤推荐算法

一、介绍 图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有&#…

安全、高效远程访问大数据分析平台解决方法:Splunk Enterprise+Cpolar

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 Splunk Enterprise是一个强大的机器数据管理平台,可帮助客户分析和搜索数据,以及可视化数据…

iPhone开发--Xcode15下载iOS 17.0.1 Simulator Runtime失败解决方案

爆句粗口,升级后公司网络下载iOS 17.0.1 Simulator Runtime一直出错,每次出错后都得重新开始下载,oh,f**k。上一次在在家里的网络升级成功。 解决办法一: 进入网址:https://developer.apple.com/download…

QMap之自定义Key和Value

为什么要自定义QMap的 key和value呢?因为在某些应用场景,基本数据类型的key和value并不能满足要求,比如座位在第几行、第几列,座位上人的姓名、职务;二维坐标系中散点的横坐标、纵坐标,散点的id、result。即key和value是一种多对多的关系。 #include <QMap> #incl…

税务某局 webpack 登录接口逆向分析

持续创作文章&#xff0c;只是为了更好的思考 这里不多介绍了&#xff0c;我放一张图大家就明白是什么接口了。这里只介绍整体加密逻辑&#xff0c;有些细的地方大家自行调整。 本次逆向的网址是 aHR0cHM6Ly90cGFzcy5qaWxpbi5jaGluYXRheC5nb3YuY246ODQ0My8jL2xvZ2luP3JlZGly…

罗马数字转整数[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 罗马数字包含以下七种字符:I&#xff0c;V&#xff0c;X&#xff0c;L&#xff0c;C&#xff0c;D和M。 字符数值I1V5X10L50C100D500M1000 例如&#xff1a;罗马数字2写做II&#xff0c;即为两个并列的1。12写做XII&#xff0c;即为…

Python使用正则表达式去除base64编码前缀

Python使用正则表达式去除base64编码前缀 当我们做开发时&#xff0c;前端有可能会传给我我们base64编码字符串&#xff0c;如果我们想把它转成文件&#xff0c;需要去除前缀&#xff0c;代码如下&#xff1a; import rebase64_str "data:zip/png;base64,AAAAAAAAAAAAB…

今天是1024节日,作为一个程序员,我想表达我对Java和詹姆斯·高斯林(James Gosling)的感激之情

今天是1024节日 我感谢Java感谢詹姆斯高斯林 今天是1024节日&#xff0c;作为一个程序员&#xff0c;我想表达我对Java和詹姆斯高斯林&#xff08;James Gosling&#xff09;的感激之情。Java是一门伟大的编程语言&#xff0c;而詹姆斯高斯林是它的创造者之一。 首先&#xf…

FPGA的256点FFT调用Quartus IP核实现VHDL傅里叶变换

名称&#xff1a;256点FFT调用Quartus IP核实现傅里叶变换 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a;使用VHDL实现256点FFT&#xff0c;调用Quartus IP核实现傅里叶变换 演示视频&#xff1a;http://www.hdlcode.com/index.php?mhome&cView…

笔记39:在Pycharm中为项目添加新解释器

很久不用pycharm都生疏了 a a a 第一步&#xff1a;创建虚拟环境 略 a a a 第二步&#xff1a;将虚拟环境应用到项目中去 【File】----【Settings】----【Project:~~~】-----【Project Interpreter】----【选择合适的解释器】 ​​​​​​​ 因为我们要用新的解释…

【API篇】七、Flink窗口

文章目录 1、窗口2、分类3、窗口API概览4、窗口分配器 在批处理统计中&#xff0c;可以等待一批数据都到齐后&#xff0c;统一处理。但是在无界流的实时处理统计中&#xff0c;是来一条就得处理一条&#xff0c;那么如何统计最近一段时间内的数据呢&#xff1f; ⇒ 窗口的概念&…

golang获取操作系统信息:CPU,内存,网络,磁盘,进程管理,传感器(温度,风扇,电池)

扩展包&#xff1a;github.com/shirou/gopsutil&#xff0c;此项目是在https://github.com/giampaolo/psutil的基础上&#xff0c;基于golang的实现。 go get github.com/shirou/gopsutil/v3 package mainimport ("fmt""github.com/shirou/gopsutil/v3/mem&qu…

虚幻引擎:代理

一、代理类型 1.单薄代理 特点&#xff1a;允许有返回值&#xff0c;允许有参数&#xff0c;只可以一对一的传递消息就算绑定多个&#xff0c;但是总会被最后一个覆盖 2.多播代理 特点&#xff1a;不允许有返回值&#xff0c;允许有参数允许一对多传递消息 3.动态代理 …

C现代方法(第12章)笔记——指针和数组

文章目录 第12章 指针和数组12.1 指针的算术运算12.1.1 指针加上整数12.1.2 指针减去整数12.1.3 两个指针相减12.1.4 指针比较12.1.5 指向复合字面量的指针(C99) 12.2 指针用于数组处理12.2.1 *运算符和运算符的组合 12.3 用数组名作为指针12.3.1 数组型实际参数(改进版)12.3.2…

js关于深度克隆问题

js的克隆是一个老生常谈的内容了,今天没啥好写的,就写这个了 要搞清楚js的克隆,就需要先搞清楚js中的数据类型,js中数据类型分为两大类 类型说明原始类型-string字符串类型&#xff0c;用于表示文本数据。number数字类型&#xff0c;包括整数和浮点数&#xff0c;用于表示数值…

负载均衡的算法(静态算法与动态算法)

1.静态算法 静态算法是不考虑服务器动态负载的算法&#xff0c;包括&#xff1a; &#xff08;1&#xff09;轮转算法&#xff1a;轮流将服务请求&#xff08;任务&#xff09;调度给不同的节点&#xff08;即&#xff1a;服务器&#xff09;。 &#xff08;2&#xff09;加…

app拉新渠道整合 一手地推、网推拉新平台整理

1.聚量推客 聚量推客自己本身是服务商&#xff0c;自己直营的平台&#xff0c;相对来说数据更好&#xff0c;我们也拿到了平台首码&#xff1a;000000 填这个就行&#xff0c;属于官方渠道 2.蓝猫推客 蓝猫推客我认为是比较又潜力的平台&#xff0c;经过几天测试数据和结算都…

网络规划设计

文章目录 一、网络架构设计1.1 单核心双核心1.1.1 单核心1.1.2 双核心端口聚合 链路聚合网关冗余VRRP堆叠技术生成树STPPOE以太网供电服务器冗余&负载均衡服务器双机热备 1.2 环网架构设计1.3 层次化架构设计1.3.2 三层网络架构设计1.3.3 园区大二层网络架构1.3.4 数据中心…