一、软件架构
1.1 业务架构
- 业务架构是针对业务领域的理解,在先启阶段建立,在精华阶段得以改进。
- 业务架构的目标是为业务领域建立一个维护和扩展的逻辑结构,描述业务的构成。
- 业务架构来源于两个主要输入:业务用例和领域模型。
- 业务架构可以使用领域包和组织结构包来表示业务主要领域和组织结构关系。
1.2 系统架构
- 系统架构需要在业务架构的基础上引入计算机环境,包括硬件环境和软件环境。
- 系统架构需要说明业务架构如何分布在计算机环境中,并得以执行。
- 一个典型的软件架构包括两个视角:广度视角和深度视角。
- 广度视角即是常见的软件层次结构,规定每一层的职责以及层之间的通信标准。
- 深度视角是指广度视角中每一层的详细说明,关注每一层以及每个部分的具体实现架构。
二、系统建模
2.1 现实抽象
现实世界的本质是由 人
、事
、物
和 规则
组成的。
2.2 建模流程
业务模型
业务模型是建立软件系统时所依据的现实世界或者问题域模型,一般应完全忠实于现实世界或者问题域。
- 用例用来表示驱动者的业务目标,也就是参与者想要做什么并且获得什么。
- 业务场景
- 用例场景
- 业务对象模型
概念模型
概念模型也称为“分析模型”,是介于原始需求和计算机实现之间的模型。
- 对计算机实现是一种指导和约束
- 边界类(boundary)
- 实体类(entity)
- 控制类(control)
- 包、组件、节点
设计模型
设计模型是系统实施的抽象,用于设想和记录软件系统的设计。
- 是概念模型的实例化
- 概念模型中的边界类可转换为操作界面或者系统接口
- 概念模型中的控制类可转换为工作流、算法等。
- 概念模型中的实体类可以转换为数据库表、XML文档等。