功能分解是将复杂过程、系统或概念细化为更简单、可管理的部分的方法。它通过分析系统作为相关功能和组件的集合来简化分析,便于独立评估每个部分。分解有助于降低复杂性,扩展跟踪和测量工作量,并评估各部分的成功程度。分解的深度由分析目标决定,且每个子组件仅对应一个父组件。

功能分解

1 目的

功能分解通过将过程、系统、职能领域或交付成果分解为简单的组成部分,并允许每个部分独立分析,从而有助于管理复杂性并减少不确定性。

2 描述

功能分解方法通过考虑复杂系统和概念作为一组协作或相关的功能、效果和组件来分析它们。这种隔离有助于降低分析的复杂性。将较大的组件分解为子组件,可以扩展、跟踪和测量每个组件的工作量。它还便于评估每个子组件相对于其他较大或较小组件的成功程度。

分解的程度取决于成分的性质和目标。功能分解假定子组件能够并且确实完全描述其父组件。在开发功能层次结构时,任何子组件都只能有一个父组件。

3 元素

.1 分解目标

功能分解的目的驱动着分解过程,同时也定义了要分解什么、如何分解以及分解到多深。

目标可能包括:

  • 测量和管理:分离特定可管理的因素,以贡献总体结果,或识别重要的指标和指标。
  • 设计:通过简化设计问题来减少并隔离设计对象。
  • 分析:从它所处的环境分离出来,研究一个物体或现象的基本属性和行为。
  • 估计与预测:通过将一个复杂值分解为其组成部分来减少不确定性。
  • 重复使用:为各种流程创建一个可复用的解决方案构建块,以执行特定的功能。
  • 优化:检测或缓解瓶颈,降低功能成本,或提高过程质量。
  • 替换: 使解决方案组件或功能的具体实现易于替换,而不会影响整个系统。
  • 封装:把元素组合成一个元素。

.2 分解主题

功能分解适用于多种多样的灵活主题,例如:

  • 商业成果:例如,收入、利润、支出、服务量或产量。
  • 需要完成的工作:此分解(也称为工作分解结构或WBS)将工作划分为阶段、里程碑、 工作活动 、任务、 工作项 和可交付成果。
  • 商业流程:为了测量、管理、优化或重用流程及其组件,识别其组成部分。
  • 功能:使其优化或实现。
  • 业务部门:用于其逆向工程和设计。
  • 解决方案组件:使其设计、实现或更改。
  • 活动:实现、修改、优化、测量和评估。
  • 产品和服务:设计、实现和改进它们。
  • 决策:通过识别其输入、潜在模型、依赖关系和结果来启用、改进或支持它们。

.3 分解层级

适当的功能分解级别定义了在何处、为何以及何时停止对主题进行分解,以满足分析目标。 功能分解的过程会一直持续到商业分析师有足够的理解力和细节来继续,并且可以将分解的结果应用于其他任务中。

.4 分解结果表示

表示功能分解结果允许商业分析师验证、确认结果并将其用于解决其他任务。结果可以表达为纯文本描述、层次列表、使用特殊形式符号(例如数学公式、业务过程执行语言或编程语言)描述以及可视化图表。可用来表示功能分解的各种图表技术包括:

  • 树状图:用于表示工作、活动或成果的层次化划分。
  • 嵌套图表:用分解结果来说明分层的部分与整体关系。
  • 使用用例图:表示一个更高级别的用例的分解。
  • 流程图:表示过程或功能分解的结果。
  • 状态转换图:解释复合状态中对象的行为。
  • 因果图:详述在产生复杂结果或现象的过程中涉及的事件、条件、活动和效果。
  • 决策树:详细说明复杂决策及其潜在结果的结构。
  • 思维导图 1:用分类的方式表示信息。
  • 组件图:说明组件是如何组合在一起形成更大的组件或软件系统的。
  • 决策模型与符号:用于分析业务逻辑,以确保其具有推断性和商业完整性。

4 使用考虑

.1 优势

  • 通过把复杂的问题分解为可实施的部分,让复杂的任务成为可能。
  • 为各种涉众 2提供了一种结构化的方法,以共同理解复杂的问题。
  • 简化对采取行动涉及的工作量、工作范围的测量和估计,以及过程度量和指标的定义。

.2 限制

  • 在分解进行时缺少或不正确的信息可能会导致需要部分或全部修改分解结果。
  • 许多系统不能完全由组件之间的简单层次关系来表示,因为组件之间的相互作用会导致涌现性特征和行为。
  • 每个复杂的主题都允许多种替代分解。探索所有可能性可能是一项具有挑战性和耗时的任务,而坚持一个选项可能会忽略重要的机会,并导致次优解决方案。
  • 进行功能分解可能需要对主题有深入的了解,并与不同的涉众进行广泛的合作。