「需求分析」业务架构师需求分析技术权威指南

简介: 「需求分析」业务架构师需求分析技术权威指南

需求分析,也称为需求工程,是定义用户对正在构建或修改的新软件的期望的过程。在软件工程中,它有时被一些松散的名称所引用,例如需求收集或需求捕获。需求分析包括那些为一个新的或改变的产品或项目确定需要或满足的条件的任务,考虑不同涉众的可能冲突的需求,分析、记录、验证和管理软件或系统需求。以下是在软件项目的早期阶段进行需求分析的目标:

  • 从什么到如何(From What to How):弥合系统需求工程和软件设计之间差距的软件工程任务。
  • 3个正交视图:为软件设计人员提供如下模型:系统信息(静态视图)函数(功能视图)行为(动态视图)
  • 软件架构:模型可以转换为数据、体系结构和组件级设计。
  • 迭代和增量过程:期望在分析期间做一点设计,在设计期间做一点分析。

需求是什么?

软件需求是用户解决问题或实现目标所需要的能力。换句话说,需求是系统或系统组件必须满足或拥有的软件能力,以满足合同、标准、规格说明或其他正式强加的文档。最终,我们想要实现的是在预算范围内及时开发出满足客户实际需求的高质量软件。

也许软件开发人员面临的最大挑战是与客户共享最终产品的远景。项目中的所有涉众——开发人员、终端用户、软件经理、客户经理——必须对产品将会是什么样子以及要做什么有一个共同的理解,否则当产品交付时,会有人感到惊讶。软件领域的意外几乎从来不是好消息。

因此,在指定软件产品的需求时,我们需要一些方法来准确地捕获、解释和表示客户的声音。

需求分析的活动

需求分析对系统或软件项目的成功或失败至关重要。需求应该被记录下来,可操作的,可测量的,可测试的,可跟踪的,与已识别的业务需求或机会相关的,并且被定义到足以用于系统设计的详细级别。从概念上讲,需求分析包括四种类型的活动:

  • 获取需求:与客户和用户沟通以确定他们的需求的任务。这有时也称为需求收集。
  • 分析需求:确定所陈述的需求是否不清楚、不完整、含糊或矛盾,然后解决这些问题。
  • 需求建模:需求可能以各种形式被记录,例如自然语言文档、用例、用户故事或过程规范。
  • 评审(review)和回顾(retrospective):团队成员对迭代中发生的事情进行反思,并确定下一步改进的行动。

需求分析是一项团队工作,需要硬件、软件和人的因素、工程专业知识以及与人打交道的技能的结合。以下是在需求分析中涉及到的主要活动:

  • 确定客户的需求。
  • 评估系统的可行性。
  • 进行经济和技术分析。
  • 分配功能到系统元素。
  • 制定时间表和约束条件。
  • 创建系统定义。

需求分析技术

需求分析帮助组织确定涉众的实际需求。同时,它使开发团队能够用他们能够理解的语言(如图表、模型、流程图)与涉众进行交流,而不是使用页面文本。

一旦收集了需求,我们就将需求记录在软件需求规范(SRS)文档、用例或用户故事中,与涉众共享以获得批准。该文档对于普通用户和开发人员来说都很容易理解。要求中的任何变更也要形成文件,并通过变更控制程序,并在批准后定稿。

业务需求vs软件需求

一个商业计划或项目需要各种各样的需求来帮助定义目标和建立将要进行的工作的范围。需求还提供了环境和客观的方法来度量进展和成功。一旦建立了业务需求,就可以定义和开发软件需求,以便将项目向前推进。

业务需求

业务需求与业务的目标、愿景和目标相关。它们还提供了需要通过特定活动或项目来解决的业务需求或问题的范围。例如,如果一个行业协会的目标是促进其成员提供的服务,那么项目的业务需求可能包括创建一个成员目录,以提高成员的认知度。良好的业务需求必须是:

  • 清晰的,通常在一个非常高的层次上定义。
  • 提供足够的信息和指导,以帮助确保项目满足确定的需求。
  • 理解组织的任务、目标或目标、特定的业务需求或正在处理的问题
  • 在开发业务需求之前,应该清楚地定义和理解。
  • 需求或问题可以与组织或业务有关,也可以集中于利益相关者群体,如客户、客户、供应商、员工或其他群体。

软件需求

软件需求分解满足业务需求或需求所需的步骤。业务需求描述了项目的“为什么”,而软件需求则描述了“是什么”。

例如,如果业务需求是创建一个贸易协会成员的一个目录,软件需求将概述谁有权访问的目录,有会员注册目录,谁会有数据的所有权,将使用什么车辆或车辆如一个网站或纸质目录,等等。

发现业务需求的技术

根据业务改进和软件开发过程,可以使用各种需求分析技术。下面列出了其中的一些技术。

使用BPMN或ArchiMate进行Gap分析

差距常被说成是“你现在的位置和你想要的位置之间的距离”。差距分析是基线和目标业务场景之间的比较过程。换句话说,差距分析是对企业当前在做什么以及未来想要去哪里的研究,是作为一种连接两者之间空间的手段。差距分析的目标是确定在优化性能方面的差距。这为企业提供了对潜在改进的洞察。它回答了一些问题,比如项目的当前状态是什么?我们想去哪里?等。

ArchiMate - Gap分析

ArchiMate是一种开放和独立的企业架构建模语言,支持以明确的方式描述、分析和可视化业务域内和跨业务域的架构。它是一个完美的建模工具,具有执行差距分析所需的符号。


BPMN -原有和将来的分析

原有流程

我们将要演示的示例是关于销售商品的在线商店的当前情况(原有流程)。该流程从销售代表收到客户的采购订单开始,然后检查库存水平。如果手头有足够的存货来满足订单的要求,销售代表将对其进行包装。这个过程结束于将它们连同发票一起发送。当库存不足时,销售代表将建议客户修改采购订单。


将来流程

假设我们的生意发展得很好,我们现在有一个仓库来存放我们的存货。因此,我们正在寻找改进现有流程的方法,以更好地分配新资源。此外,我们将在下面的将来流程图中展示一个对增强进行建模的示例。


业务动机模型

如果一个企业为其业务活动规定了某种方法,它应该能够说出该方法要达到的原因(why)和目的(what)。业务动机模型(BMM)是一种OMG建模符号,用于支持关于如何对不断变化的世界作出反应的业务决策。企业可以通过获取BMM建模工具来使用它,然后创建自己的BMM——用特定于企业的业务信息填充模型。主要有两个目的:

  • 获取关于对变化的反应的决策和做出决策的理由,目的是使它们可分享,增加清晰度,并通过经验学习来改进决策。
  • 参考决策的结果及其对运营业务的影响(例如,对业务流程和组织责任的变更),提供从影响者到运营变更的可追溯性。


End :定义一个企业想要成为什么样子——它想要进入的状态。

Means (意味者):——定义一个企业需要做什么来实现它的目标。

Influencer (影响者)——是企业决定可能影响它的东西。

Assessment (评估)——当影响者引起重大变化时,企业对其影响进行评估,识别风险和潜在回报。可能会有多个评估,可能来自不同的利益相关者。

客户旅程映射

客户旅程图是一项非常有用的技术,它可以帮助你理解是什么激发了你的客户——他们的需求是什么,他们的犹豫和担忧。尽管大多数组织相当擅长收集关于客户的数据,但仅凭数据无法传达客户所经历的挫折和体验。一个故事可以做到这一点,而商业中最好的讲故事工具之一就是客户旅程图。

客户旅程地图(Customer journey map)使用讲故事和视觉效果来说明客户在一段时间内与企业之间的关系。故事是从客户的角度讲述的,这提供了对客户整体体验的洞察。它帮助您的团队更好地理解和解决客户的需求和痛点,因为他们在体验您的产品或服务。换句话说,规划好客户之旅可以让你的企业有机会看到你的品牌如何首先吸引潜在客户,然后再通过整个销售过程的接触点。

最后,团队可以针对每个接触点提出改进或采取的行动。这些建议的行动可能是软件需求的潜在来源。


从业务需求中识别软件需求的技术

数据流图

数据流程图(DFD)可在SDLC(系统开发生命周期)内分析阶段的需求引出过程的早期设计,以界定项目范围。DFD通常用作创建系统概述的一个初步步骤,而不需要详细说明,稍后可以详细说明。

例如,如果需要在某个特定流程中显示更多细节,则该流程将在较低级别的DFD中分解为许多较小的流程。这样,内容图或上下文层次的DFD被标记为“0级DFD”,下一级分解被标记为“1级DFD”,下一级分解被标记为“2级DFD”,以此类推。


用例

UML用例图是未开发的新软件程序的系统/软件需求的主要形式。用例指定了预期的行为(什么),而不是使其发生的确切方法(如何发生)。用例一旦指定,就可以同时表示为文本和可视化表示(例如UML)。用例建模的一个关键概念是,它帮助我们从最终用户的角度设计系统。它是一种通过指定所有外部可见的系统行为来用用户的术语交流系统行为的有效技术。

  • 用例图通常很简单。它没有显示用例的细节。
  • 它只是总结了用例、参与者和系统之间的一些关系。
  • 它没有显示为实现每个用例的目标而执行的步骤的顺序。

用例图的标准形式是用统一建模语言定义的,如下面的用例图示例所示:


用户故事

用户故事是捕捉用户在工作中所做或需要做的事情的注释。每个用户故事都由一段用自然语言从用户的角度编写的简短描述组成。与传统的需求捕获不同,用户描述关注的是用户需要什么,而不是系统应该交付什么。这为进一步讨论解决方案和系统结果留下了空间,该系统能够真正适应客户的业务流程,解决他们的操作问题,最重要的是为组织增加价值。用户故事与其他敏捷软件开发技术和方法(如scrum和极限编程)很好地兼容。

用户故事与用例的相似性

如果我们考虑这两种方法的关键组成部分:

  • 用户故事包含用户角色、目标和验收标准。
  • 用例包含等价的元素:参与者、事件流和分别的post条件(一个详细的用例模板可能包含更多的其他元素)。

用户故事与用例的区别

  • 用户故事的细节可能不像用例那样被记录到相同的极端。
  • 用户故事故意省略了许多重要的细节。用户故事的目的是通过在scrum会议上提出问题来引出对话。
  • 为了更频繁地获得反馈而进行小的增量,而不是像用例中那样拥有更详细的预先需求规格说明。

相关文章
|
9天前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
11天前
|
机器学习/深度学习 人工智能 搜索推荐
万字长文深度解析最新Deep Research技术:前沿架构、核心技术与未来展望
近期发生了什么自 2025 年 2 月 OpenAI 正式发布Deep Research以来,深度研究/深度搜索(Deep Research / Deep Search)正在成为信息检索与知识工作的全新范式:系统以多步推理驱动大规模联网检索、跨源证据。
814 56
|
4月前
|
算法 物联网 定位技术
蓝牙室内定位技术解决方案:核心技术架构与优化实践
本文探讨了蓝牙iBeacon与Lora结合的室内定位技术,分析其在复杂室内环境中的优势与挑战。通过三层架构实现高精度定位,并提出硬件、算法与部署优化方向,助力智慧仓储、医疗等场景智能化升级。
223 0
蓝牙室内定位技术解决方案:核心技术架构与优化实践
|
27天前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
2月前
|
数据采集 监控 JavaScript
移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
阿里云 ARMS 团队倾力打造的鸿蒙 NEXT SDK,为鸿蒙应用提供了业界领先的全链路监控解决方案。这不仅仅是一个 SDK,更是您洞察用户体验、优化应用性能的智能伙伴。
454 22
|
21天前
|
监控 数据可视化 数据库
低代码的系统化演进:从工具逻辑到平台架构的技术解读
低代码正从开发工具演变为支撑企业架构的智能平台,融合可视化开发、AI引擎与开放生态,实现高效构建、自动化运维与跨场景协同,推动数字化转型迈向智能化、系统化新阶段。
|
23天前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
225 2
|
2月前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
254 6
|
16天前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)

热门文章

最新文章

下一篇
开通oss服务