软件体系结构第四章作业题 1
请把基于体系结构的软件开发模型与其他软件开发模型进行比较
答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等
基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础
然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程
该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5 个阶段
特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统
优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程
构件组装模型导致了软件的复用,提高了软件开发的效率
软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护
并且软件复用从代码级的复用提升到构件和体系结构级的复用
缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险
可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手
客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量
二、以软件需求完全确定为前提软件开发模型,如瀑布模型等
特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单
缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数
并且如果在开发过程存在阻塞问题,则影响开发效率
三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等
特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的