一、软件体系结构概论
1.1 软件危机
软件危机的表现:
- 软件成本日益增长
- 开发进度难以控制
- 软件质量差
- 开发维护困难
软件危机的原因
- 用户需求不明确
- 缺乏正确的理论知道
- 软件规模越来越大
- 软件复杂度越来越高
1.2 构件与软件重用
构建的定义:构建是指语义完整、语法正确和可有重用价值的单位软件,是软件重用过程中可明确辨识的系统。结构上它是语义描述、通讯接口和实现代码的复合体。
构件管理
关键字分类法:
刻面分类法:
如一个构件库的刻面:
- 使用环境
- 应用领域
- 功能
- 层次
- 表示方法
构件重用
- 修改构件
- 构件组装(框架 调用 父子类)
1.3体系结构的的兴起和发展
软件体系结构的定义:
软件体系结构是具有一定形式结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工、数据构件是被加工的信息、连接构件把体系结构的不同部分组合连接起来。
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、 指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
软件体系结构的意义:
- 体系结构是风险承担者进行交流的手段
- 体系结构是早期设计决策的体现
- 体系结构是可传递可重用的模型
软件体系结构的应用现状
目前,软件体系结构尚处在迅速发展之中,越来越多的研究人员正在把注意力投向软件体系结构的研究。关于软件体系结构的研究工作主要在国外展开的,国内到目前为止对于软件体系结构的研究尚处在起步阶段。软件体系结构在国内未引起人们广泛注意的原因主要有两点:
- 软件体系结构从表面上看起来是一个老话题,似乎没有新东西。
- 与国外相比,国内对大型和超大型复杂软件系统开发的经历相对较少,对软件危机的灾难性体会没有国外深刻,因而对软件体系结构研究的重要性和必要性的认识还不很充分。
基于体系结构的软件开发方法:
问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现