一、软件危机
1.软件成本日益增长
2.开发进度难以控制
3.软件质量差
4.软件维护困难
软件危机的原因
1.用户需求不明确
2.缺少正确的理论
3.软件规模大
4.软件复杂度高
如何克服软件危机
用工程,科学,数学的原则和方法研制和维护计算机的有关技术和管理(方法工具过程)
使用良好的开发技术和方法
使用好的软件开发工具
有良好的组织,严格的管理,各方面的人员相配合。
二、构件与软件重用
软件体系结构的概念:
软件体系结构是一种行为、属性和结构的高级抽象,有系统的元素组成,这些元素的相互作用,指导元素集成的模型以及这些模式的约束组成。软件体系结构不仅制定子系统的组织结构和拓扑结构,并且显示了需求和元素之间的对应关系,提供一些设计决策的基本原理。
构件:
构件是指语义完整,语义正确,有可重用价值的单位软件,结构上,它是语义描述,通信接口和实现代码的复合体。
构件模型:
构建模型是对构件本质特征的抽象描述。常见的构件模型(3C,OMG,CORBA,EJB,DCOM)
目标和作用:
将构件的接口与实现进行了有效分离,提供了构件交互能力,从而增加了重用的机会,使用网络环境下的大型软件系统需求
青鸟模型:
4.构件库中对构件的分类方法有哪些?
三种:关键字分类法,刻面分类法,超文本组织法(非线性的网状信息组织方法)
5.软件重用:
指两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程,可重用的软件元素包括:代码,测试用例,设计文档,设计过程,需求分析文档,领域知识。
优点:
1.减少大量重复工作
2.改善软件质量
3.提高软件的灵活性和标准性
6.构件的组装技术
基于功能的组装技术:采用子程序调用和参数调用的方法将构件组装起来
基于数据的组装技术:首先根据软件问题的核心数据结构设计一个框架,然后根据框架中个点的需求提取构件并进行适当修改,再将构件分配
基于对象的组装技术:由于封装和继承,更适用于软件重用
7.软件开发发展阶段:
无软件体系结构
萌芽阶段
初期阶段
高级阶段
8. 基于构件的软件开发方法能有效地提高开发效率
1减少成本
9.软件复用
代码复用
组件复用
模块复用
架构复用
3.软件体系结构与建筑体系结构、计算机 硬件系统的“体系结构”有哪些共性?
1.结构性
2.分层行
3.功能性
4.约束性
5.目标导向