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