文档介绍:软件架构设计
系统架构设计教程学
一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。
体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够:
分析设计在满足规定需求方面的有效性。
在设计变更相对容易的阶段,考虑体系结构可能的选择方案。
降低与软件构造相关联的风险。
软件体系结构的设计通常考虑了设计金字塔中的两个层次——数据设计和体系结构设计。
数据设计使我们表示出传统系统中体系结构的数据构建和面向对象系统中类的定义(封装了属性和操作),体系结构设计则主要关注软件构建的结构、属性和交换作用
需求和SA设计面临的是不同的对象:一个是问题空间;另一个是解空间。
保持二者的可追踪性和转换,一直是软件工程领域追求的目标。
从软件需求模型向SA模型的转换主要关注两个问题
如何根据需求模型构建SA模型。
采用Use case图描述需求,从Use Case图向SA模型的转换一般经过词性分析和一些经验规则来完成。
如何保证模型转换的可追踪性
通过表格或者Use Case Map等来维护
1、需求分析阶段
SA模型的描述、SA模型的设计和分析方法、对SA设计经验的总结与复用。
SA模型描述的研究分为三个层次:
SA的基本概念
构建、连接子
体系结构描述语言
SA模型的多视图表示
4+1模型、UML
2、设计阶段
实现阶段的体系结构研究在以下几个方面。
研究基于SA的开发过程支持,如项目组织结构、配置管理等。
寻求从SA向实现过度的途径,如将程序设计语言元素引入SA阶段、模型映射、构建组装、复用中间件平台
研究基于SA的测试技术
3、实现阶段
在SA设计模型的指导下,可复用构件组装可以在较高层次上实现系统,并能够提高系统实现的效率。在构件组装的过程中,SA设计模型起到了系统蓝图的作用。
中间件遵循特定的构件标准,为构件互联提供支持,并提供相应的公共服务,如安全服务、命名服务等。
4、构件组装阶段
SA对软件部署作用如下:
提供高层的体系结构视图描述部署阶段的软硬件模型
基于SA模型可以分析部署方案的质量属性,从而选择合理的部署方案
现阶段,基于SA的软件部署研究更多地集中在组织和展示部署阶段的SA、评估分析部署方案等方面,部署方案的分析往往停留在定性的层面,并需要部署人员的参与。
5、部署阶段
后开发阶段是指软件部署安装之后的阶段。这一阶段的SA研究主要围绕维护、演化、复用等方面来进行。典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。
6、后阶段开发