软件架构/体系架构(Software Architecture)
一、体系架构生命周期:
1、需求分析阶段
1)软件需求模型转换为 SA 模型;
2、设计阶段
1)构件和连接子模型
2)体系结构描述语言(ADL: Architecture Description Language)
3)4 + 1 视图模型(逻辑视图、进程视图、开发视图、物理视图、统一的场景)
3、实现阶段
4、构建组装阶段
5、部署阶段
6、后开发阶段:
二、软件架构的重要性
软件架构设计就是降低成本、改进质量、按时和按需交付产品的关键因素
三、基于架构的软件开发方法(ABSD: Architecture-Based Software Design)
1、开发模型
1)体系结构需求
2)体系结构设计
3)体系结构文档化
4)体系结构复审
5)体系结构实现
6)体系结构演化
2、体系结构需求
3、体系结构设计
1)提出软件体系结构模型:架构风格
2)把已标识的构架映射到软件体系结构中
3)分析构件之间的相互作用
4)产生软件体系结构
5)设计评审
4、体系结构文档化
5、体系结构复审
6、体系结构实现
1)分析与设计
2)构件实现
3)构件组装
4)系统测试
7、体系结构演化
四、软件架构风格
1、数据流体系结构风格
2、返回/调用体系结构风格:
1)主程序/子程序风格
2)面向对象体系结构风格
3)层次型体系结构风格
4)C/S 软件体系结构风格
3、以数据为中心的体系结构风格:语音识别
4、虚拟机体系机构风格:专家系统
5、独立构建体系结构风格:
1)进程通信体系结构风格
2)事件系统体系结构风格
五、特定领域软件体系结构(Domain Specific SoftWare Architecture)