预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共25页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件工程导论张海藩课后习题部分答案 第一章 1-1什么就是软件危机? 就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。 1-3什么就是软件工程? 就是指导计算机软件开发与维护的一门工程学科。 1-4简述结构化范型与面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1、传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基 干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了 整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求就是模糊的或会 承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2、面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了 软件的开发与维护工作;促进了软件重用。 1-6什么就是软件过程?它与软件工程方法学有何关系? z软件过程:就是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项 任务的工作步骤z软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术 方法的集合称为方法学,也称范型 1-7什么就是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,与螺旋模型的 优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发与运行维护3个时期组成,每个时期又进一步划分成若 干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此, 也称为过程模型。 瀑布模型的优点:1、可强迫开发人员采用规范的方法;2、严格规定了每个阶段必须提交的文 档;3、要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1、在软件开发初期,指明用户全部需求就是困难的;2、需求确定后, 经过一段时间才得到软件最初版本;3、完全依赖规格说明,导致不能满足用户需求。适 用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原 型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以 让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说 明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发 螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态 变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明, 即利用用户与开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6 提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模 型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力 时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项 目。 1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝与迭代的特性? 软件工程导论张海藩课后习题部分答案 因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念与表示符号,因此,整个开 发过程都就是吻合一致的,或者说就是无缝连接的,这自然就很容易实现各个开发步骤的反 复多次迭代,达到认识的逐步深化,而喷泉模型的则很好的体现了面向对象软件开发过程迭 代与无缝的特性。 1-9:试讨论Rational统一过程的优缺点 优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组建的体系结构、可视化软件 建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供 了必要的准则、模版与工具指导,并确保全体成员共享相同的知识基础。它简历了简洁与清 晰的过程结构,为开发过程提供较大的通用性。 缺点:RUP只就是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行 与支持等方面的内容,此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组 织内大范围实现重用的可能性。 1-10Rational统一过程主要适用于何种项目?大型的需求不断变化的复杂软件系统项 目 1-11:说明敏捷过程的适用范围 适用于商业竞争环境下对小型项目提出的有限资源与有限开发时间的约束。 1-12说明微软过程的适用范围 第二章适用于商业环境下具有有限资源与有限开发时间约束的项目的软件过程模式。 2-1在软件开发的早期阶段为什么要进行可行性分析研究?应该从哪些方面研究目标系统的 可行性? 可行性分析就是要进行一次大大压缩简化系统分析与设计过程,避免时间、资源、人力与金 钱的浪费。 技术上的可行性——使用现有的技术能实现这个系统不? 经济上的可行性