### 明确软件需求,提高需求质量
#### 一、引言
在软件开发过程中,需求分析阶段至关重要,它直接关系到项目的成功与否。本文档由IBM张纬撰写,主要探讨了如何通过明确软件需求来提高需求的质量。文档强调了业务建模在这一过程中的重要作用,并提供了具体的指导思想和实践建议。
#### 二、业务需求概述
**1. 业务需求的目标**
业务需求的目标在于深入了解目标组织的结构和机制,发现并确定现有问题的改进空间。同时,确保项目各方(如客户、最终用户和开发人员)对目标组织的理解达成一致,从而推导出满足目标组织需求的系统需求。
**2. 业务需求的重点**
业务需求关注的主要方面包括:
- **业务岗位(谁)**:定义参与业务流程的具体角色及其职责。
- **业务活动(做什么事、怎么做、遵循什么业务规则)**:详细说明业务流程中涉及的具体任务、工作方式以及需遵守的规则。
- **业务实体(表、证、单、书)**:识别和支持业务流程运作的关键数据和文档。
- **业务岗位之间的关系**:明确不同业务角色之间的协作关系和交互方式。
**3. 描述业务需求的方法**
- **模型+规范的文字**:结合使用模型和文字描述来清晰表达业务需求。
- **业务流程模型**:可视化展示业务流程,帮助理解和沟通。
- **业务术语**:明确术语定义,确保所有参与者使用统一的语言。
- **业务规则**:详细列出业务活动中需遵循的规定和标准。
**4. 整理过程中的角色和活动**
业务需求的整理过程中涉及到多种角色及其相应的活动,包括但不限于业务分析师、项目经理、客户代表等。
**5. 业务需求中产生的产品**
业务需求分析的结果将形成一系列文档和模型,为后续的设计和开发提供依据。
#### 三、业务需求的表述与组织形式
**1. 业务需求的表述方法**
- **模型与文字相结合**:采用模型与文字相结合的方式描述业务需求,既能提供直观的视觉效果,又能确保细节不被忽略。
- **业务流程模型**:使用图形化工具展示业务流程。
- **业务术语与规则**:编写详细的文档,明确业务中的关键术语和规则。
**2. 业务需求模型中的模型元素**
- **业务行为者 (Business actor)**:代表与业务相关的角色,可以是人、物或其他组织。
- **业务工作者 (Business worker)**:具体执行业务活动的个体。
- **业务实体 (Business entity)**:业务流程中涉及的数据或实体对象。
- **业务用例 (Business use case)**:描述业务活动的场景和交互。
**3. 业务模型的展现形式**
- **BusinessUseCase模型**:通过业务参与者、业务用例及其关系来构建业务流程模型。
- **BusinessObject模型**:侧重于业务实体及其相互作用的描述。
#### 四、BusinessUseCase模型示例
**1. BusinessUseCase模型构成**
- **业务参与者 (Business Actor)**:参与业务活动的角色。
- **业务用例 (Business Use Case)**:描述业务活动的场景。
- **业务参与者与业务用例的关系**:通过事件流图来展示两者间的互动关系。
**2. 示例**
- **Business Actor**: 客户、供应商、监管机构等。
- **Business Use Case**: 开发产品、市场销售产品等。
#### 五、总结
通过明确软件需求并提高其质量,可以显著提升项目的成功率。本文档提出了一个以业务建模为核心的需求管理框架,该框架通过模型与文字相结合的方式描述业务需求,并通过业务参与者、业务用例等模型元素构建了业务模型。这种方法不仅有助于确保各方对业务需求的理解一致,还能有效指导后续的设计与开发工作。