1. 知识体系分解
软件工程知识体系有两个分解方向,横向是方向工程分解,纵向是工作分解。
1.1 工程分解
在设计工程部分,工程分解有概要设计、详细设计、应用设计三个阶段。
- 概要设计
基于需求分析的成果,对未来业务的整体进行规划,并制定设计的理念、主线、原则、标准等。
- 详细设计
基于概要设计的成果,进行逐一的细节层面的定义、设计,到此,与业务相关的设计内容全部确定。
- 应用设计
将前面的业务设计成果转换为用系统形式表达,并确定开发完成后的使用效果,至此,完成了全部的应用设计内容。
1.2 工作分解
在设计工程部分,工作分解有架构层、功能层、数据层三个层次。
- 架构层
是对研究对象进行粗粒度的设计,架构层的工作包括了对业务整体的顶层规划,确定范围、边界、静态和动态的构成、以及向系统架构的转换。
- 功能层
是对用户操作界面的设计,基于架构的设计成果,规划界面、定义数据、确定操作方式、制定规则、以及功能在系统中的操作机制。
- 数据层
对企业的数据进行整体的规划、架构和详细设计,确定业务编号规则、主数据构成、数据逻辑、以及在系统中数据的复用、共享机制等。
软件工程分解图
2. 知识体系归集
对知识内容采用两种方式进行了归集,结构化表格形式和分解图形式。
2.1 结构化表格形式
结构化的知识体系可以用表格来呈现,知识体系采用的是一个二维表,如下表所示:
- 列的名称
软件工程的工程分解,需求工程、设计工程。
- 行的名称
软件工程的工作分解(架构、功能、数据),以及综合设计内容。
- 中间内容
主要知识提要。
2.2 分解图形式
结构化的知识体系也可以用分解图形式(横向结构图)来呈现,分解图可以用线将各个阶段、分层之间内容、交付物之间关联关系表达出来。
3. 业务分析与设计的作用
业务分析与设计作用如下图所示,将多样的业务对象,通过业务分析与设计收敛为固定的形态,然后交与后续的技术设计和开发工程。
在进入技术设计与编码工作的阶段后,业务信息的表达越少、变化规律越清晰,越容易建立可以复用、快速应变的信息系统,开发完成的系统就越稳定。