CA阶段(概要设计阶段)---大系统必须阶段(重大需求塑造概要架构)---“战略方向”
之所以需要细化架构,是因为概念架构难以支持并行开发。
细化架构的方法:RUP 4+1多视图方法(逻辑架构,开发架构,物理架构,数据架构,运行架构(与之对应的要写概要设计文档))
多视图方法要求“兼顾多个视图设计之间的一致性”。例如:要考虑职责、程序单元、部署节点等要素之间的相互影响。
多视图方法的实际意义:利于思考(因为分而治之的思维方式);便于交流(因为在一定程度上分离了涉众关注点)
多视图方法不是OO方法(Object-Oriented Method,面向对象方法,面向对象的方法)分支。无论是OO方法,还是结构化方法,都远未涵盖架构设计的全部。
逻辑架构和物理架构不是两个阶段,而是同一阶段的要考虑的两个方面,即两个视图。
5视图方法包含视图和其”思维立足点“:
逻辑视图(职责划分)
开发视图 (程序单元组织)
运行视图(控制流阻止)
物理视图(物理节点安排)
数据视图(持久化设计)
用5视图方法梳理架构
逻辑架构中划分子系统的三种策略:
- 分层的细化
- 分区的引入
- 机制的提取
三种策略综合运用,三管齐下。
划分子系统的 4个重要原则:
职责分离原则;
通用专用分离原则;
技能分离原则;
工作量均衡原则。
物理架构
3项任务:
硬件选择与物理拓扑
软件到硬件的映射关系
方案的优化
运行架构
工作内容:
确定引入哪些控制流
确定每条控制流的任务
处理相关问题:控制流的创建、销毁、通信机制等
编进一步考虑:控制流之间的同步关系,若有资源争用还要引入加锁机制
控制流图是关键,在实践中,最常用于实现控制流的手段有3种:
进程
线程
中断服务程序
开发架构
工作内容:
将“逻辑职责”映射为“程序单元”。
开发技术选型
“程序单元”间关系
数据架构
难点:数据分布
数据分布的六种策略:
独立 Schema( Separate-schema)
集中( Centralized)
分区( Partitioned)
复制( Replicated)
子集( Subset)。
重组( Reorganized)
数据分布策略的三条应用原则:
把握系统特点,确定分布策略(合适原则)
不同分布策略,可以综合运用(综合原则)
从“对吗”、“好吗”两方面进行评估优化(优化原则)