搜档网
当前位置:搜档网 › 软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案

一、选择题

1. 答案:B

解析:选择题解析

2. 答案:A

解析:选择题解析

二、判断题

1. 答案:对

解析:判断题解析

2. 答案:错

解析:判断题解析

三、填空题

1. 答案:软件工程

解析:填空题解析

2. 答案:开发、维护

解析:填空题解析

四、简答题

1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户

需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约

束条件。

解析:简答题解析

2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审

两个方面。软件测试是通过运行和验证软件系统的过程,以确定其是

否满足预期的需求和标准。代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析

五、计算题

1. 答案:20

解析:计算题解析

2. 答案:1000

解析:计算题解析

六、案例分析题

1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控

制的过程。它包括项目范围管理、时间管理、成本管理、质量管理、

风险管理等方面。在一个项目中,软件项目经理负责整体的项目管理

工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析

2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。它强调

快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来

逐步完善软件系统。敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发

的效率和质量。

解析:案例分析题解析

总结:

本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案

和解析。其中包括选择题、判断题、填空题、简答题、计算题和案例

分析题等多个题型。通过解答这些习题,读者可以进一步加深对软件

工程的理解和掌握。希望本文对读者有所帮助,谢谢阅读。

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案 一、选择题 1. 答案:B 解析:选择题解析 2. 答案:A 解析:选择题解析 二、判断题 1. 答案:对 解析:判断题解析 2. 答案:错 解析:判断题解析 三、填空题 1. 答案:软件工程 解析:填空题解析 2. 答案:开发、维护 解析:填空题解析

四、简答题 1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户 需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约 束条件。 解析:简答题解析 2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审 两个方面。软件测试是通过运行和验证软件系统的过程,以确定其是 否满足预期的需求和标准。代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。 解析:简答题解析 五、计算题 1. 答案:20 解析:计算题解析 2. 答案:1000 解析:计算题解析 六、案例分析题 1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控 制的过程。它包括项目范围管理、时间管理、成本管理、质量管理、 风险管理等方面。在一个项目中,软件项目经理负责整体的项目管理 工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析 2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。它强调 快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来 逐步完善软件系统。敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发 的效率和质量。 解析:案例分析题解析 总结: 本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案 和解析。其中包括选择题、判断题、填空题、简答题、计算题和案例 分析题等多个题型。通过解答这些习题,读者可以进一步加深对软件 工程的理解和掌握。希望本文对读者有所帮助,谢谢阅读。

(完整版)软件工程导论(第六版)张海藩课后习题部分答案

第一章 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) 对软件开发成本与进度得估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年得现象。而为了赶进度与节约成本所采取得一些权宜之计又往往损害了软件产品得质量。这些都降低了开发商得信誉,引起用户不满。 (2) 用户对已完成得软件不满意得现象时有发生。 (3) 软件产品得质量往往就是靠不住得。 (4) 软件常常就是不可维护得。 (5) 软件通常没有适当得文档资料。文档资料不全或不合格,必将给软件开发与维护工作带来许多难以想象得困难与难以解决得问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高得速度远跟不上计算机应用普及得需求。 软件危机出现得原因: (1) 来自软件自身得特点:就是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护得方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将就是一个永恒得主题:面对日益增长得软件需求,人们显得力不从心。 二、假设自己就是一家软件公司得总工程师,当把图1、1给手下得软件工程师们观瞧,告诉她们及时发现并改正错误得重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们就是不现实得,并举例说:“如果一个故障就是编码错误造成得,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳她? 答:在软件开发得不同阶段进行修改付出得代价就是很不相同得,在早期引入变动,涉及得面较少,因而代价也比较低;在开发得中期, 软件配置得许多成分已经完成,引入一个变动要对所有已完成得配置成分都做相应得修改, 不仅工作量大,而且逻辑上也更复杂,因此付出得代价剧增;在软件“已经完成”就是在引入变动,当然付出得代价更高。一个故障就是代码错误造成得,有时这种错误就是不可避免得,但要修改得成本就是很小得,因为这不就是 整体构架得错误。 三、什么就是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE得定义:软件工程就是:①把系统得、规范得、可度量得途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②研究①中提到得途径。 软件工程得本质特征: (1) 软件工程关注于大型程序(软件系统)得构造(2) 软件工程得中心课题就是分解问题,控制复杂性(3) 软件就是 经常变化得,开发过程中必须考虑软件将来可能得变化 (4) 开发软件得效率非常重要,因此,软件工程得一个重要课题就就是,寻求开发与维护软件得更好更有效得方法与工具 (5) 与谐地合作就是开发软件得关键(6) 软件必须有效地支持它得用户 (7) 在软件工程领域中就是由具有一种文化背景得人替具有另一种文化背景得人(完成一些工作)消除软件危机得途径: (1) 对计算机软件有一个正确得认识(软件≠程序) (2) 必须充分认识到软件开发不就是某种个体劳动得神秘技巧,而应该就是一种组织良好、管理严密、各类人员协同配合、共同完成得工程项目 (3) 推广使用在实践中总结出来得开发软件得成功技术与方法 (4) 开发与使用更好得软件工具 四、简述结构化范型与面向对象范型得要点,并分析她们得优缺点。 1、传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段得任务相对独立,而且比较简单,便于不同人员分工协作, 从而降低了整个软件开发过程得困难程度。缺点:当软件规模庞大时,或者对软件得需求就是模糊得或会承受时间而变化得时候,开发出得软件往往不成功;而且维护起来仍然很困难。 2、面向对象方法学:优点:降低了软件产品得复杂性;提高了软件得可理解性;简化了软件得开发与维护工作; 促进了软件重用。 五、15 根据历史数据可以做出如下得假设 : 对计算机存储容量得需求大致按下面公式描述得趋势逐年增加:M=4080e0、28(Y1960) 存储器得价格按下面公式描述得趋势逐年下降:P1=0、3×0、72Y1974(美分/位) 如果计算机字长为16位,则存储器价格下降得趋势为:P2=0、048×0、72Y1974(美元/字) 在上列公式中Y代表年份,M就是存储容量(字数),P1与P2代表价格。 基于上述假设可以比较计算机硬件与软件成本得变化趋势。要求计算: (1) 在1985年对计算机存储容量得需求估计就是多少?如果字长为16位,这个存储器得价格就是多少?

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版首先,感谢您对软件工程导论课后习题答案的需求。以下是软件工程导论第六版课后习题的完整答案。 第一章:软件工程概述 1.1 问题 1. 什么是软件工程? 答:软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的学科。 1.2 问题 1. 什么是软件? 答:软件是一系列按照特定顺序组织的计算机数据和指令。 第二章:软件过程模型 2.1 问题 1. 软件过程模型有哪些类型? 答:常见的软件过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发模型等。 2.2 问题 1. 瀑布模型的特点是什么?

答:瀑布模型是一种线性顺序模型,以阶段划分为基础,每个阶段的任务在进入下一个阶段前必须完成。 第三章:需求分析与规格说明 3.1 问题 1. 软件需求描述包括哪些方面的内容? 答:软件需求描述需要包括功能性需求、非功能性需求、用户需求和系统需求等。 3.2 问题 1. 什么是需求跟踪? 答:需求跟踪是指在软件开发过程中,通过建立需求和软件项目中其他相关工件之间的关联,确保需求的准确实现和变更的有效管理。 第四章:软件设计 4.1 问题 1. 软件设计的目标是什么? 答:软件设计的目标是通过确定软件的整体结构和组成部分,确保软件满足需求并具有良好的可维护性和可重用性。 第五章:软件测试与维护 5.1 问题

1. 什么是软件测试? 答:软件测试是一种评估和改进软件质量的过程,目的是发现错误并提高软件的可靠性和可用性。 5.2 问题 1. 什么是软件维护? 答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。 第六章:软件配置管理 6.1 问题 1. 软件配置管理的目标是什么? 答:软件配置管理的目标是确保软件在开发和维护过程中的可控性和可追踪性,以及保持软件配置的稳定性和一致性。 6.2 问题 1. 软件版本控制是什么? 答:软件版本控制是指对软件的不同版本进行管理,包括版本的创建、检出、合并和更新等操作。 至此,我们完成了软件工程导论第六版课后习题的完整答案。 总结:本文中,我们回答了软件工程导论第六版课后习题的各个章节的问题。这些问题涵盖了软件工程的概述、软件过程模型、需求分

软件工程导论(第六版)课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经 常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 五、1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

(完整版)软件工程导论(第六版)课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确.常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量.这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题. (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7)开发生产率提高的速度远跟不上计算机应用普及的需求. 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2)软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 软件工程是指导计算机软件开发和维护的工程学科. (1)它采用工程的概念、原理、技术和方法来开发和维护软件; (2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来; (3) 它强调使用生存周期方法学和结构分析和结构技术; (4) 经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了"软件工程学"这一新的学科。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2)软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4)开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具(5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径:(1)对计算机软件有一个正确的认识(软件≠程序) (2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3)推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点. 1。传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度.缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难. 2。面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作; 促进了软件重用。 五、1—5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0。72Y—1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0。048×0。72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:

软件工程导论(第六版)部分课后习题答案

第一章 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. 简答题 1.1 软件是如何演变而来的? 软件起源于计算机的发展。最初,计算机只能执行硬件内置的指令,而随着计算机的发展,人们开始意识到可以编写程序来控制计算机的 行为。因此,软件就诞生了。从最初的汇编语言、机器语言编写程序,到高级编程语言的出现,软件也逐渐从简单的指令集合演变为复杂的 程序系统。同时,计算机应用领域的拓展也催生了更多类型的软件, 如操作系统、数据库管理系统、图形界面等。软件工程导论旨在帮助 人们理解和应对软件开发过程中的种种问题和挑战。 1.2 简述软件危机的原因以及软件工程的解决途径。 软件危机指的是在软件开发过程中出现的一系列问题和挑战。其原 因主要包括: (1)软件开发过程中需求不明确或者需求频繁变更; (2)软件项目规模庞大,组织和管理困难; (3)软件开发中缺乏标准化的工程方法和规范; (4)软件开发中技术不成熟、人员培训和素质不足等。 为了应对软件危机,软件工程提出了一系列解决途径:

(1)引入系统化的软件开发过程,如瀑布模型、迭代模型、敏捷 开发等; (2)规范化软件开发活动,如需求分析、软件设计、编码、测试、维护等; (3)建立软件开发的标准和规范,如ISO 9000、CMMI等; (4)提高软件开发人员的专业水平,加强软件工程教育和培训。 1.3 软件工程活动的核心内容是什么? 软件工程活动的核心内容包括需求分析、软件设计、编码、测试和 维护等。 (1)需求分析:确定用户需求,定义软件的功能和性能要求。 (2)软件设计:制定软件的体系结构,并将需求转化为具体的设 计方案。 (3)编码:根据设计方案,使用编程语言实现软件的功能。 (4)测试:验证软件是否符合需求和设计的要求,发现并修复潜 在的问题。 (5)维护:对软件进行改进、优化和修复,确保软件长期稳定运行。 2. 应用题

软件工程导论第六版课后习题答案

软件工程导论第六版课后习题答案 第一章课后习题答案 习题1.1 答案:软件工程是使用工程化思维和方法来开发、维护和管理软件的一门学科。它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试、维护等各个阶段,以及与软件开发相关的项目管理、质量保证等方面。 习题1.2 答案:软件是由计算机程序和相关文档组成的,而计算机程序是一组指令的集合,用来描述计算机在某种语言中执行的操作。因此,软件和计算机程序是密切相关的,但并不完全等同。软件是包含程序和相关文档的更广泛的概念,它包括了程序的编写、测试、维护等全过程。 习题1.3 答案:软件工程的目标是提高软件的质量、可靠性、可维护性和可重用性。通过使用工程化的方法和技术,软件工程可以使软件开发过程更加系统化、规范化,从而提高软件开发的

效率和质量。软件工程还关注与软件开发相关的项目管理和质量保证等方面,以确保软件能够按时、按预算、按要求的开发和交付。 习题1.4 答案:软件工程的主要内容包括需求分析、软件设计、软件编码、软件测试和软件维护等方面。需求分析是确定软件的功能和性能需求,为后续的设计和编码工作提供基础。软件设计是根据需求分析的结果,制定软件系统的结构和组织方式,以便于后续的编码和测试。软件编码是实现软件设计的过程,将设计的概念转化为具体的程序代码。软件测试是验证软件的正确性和完整性的过程,通过各种测试方法和工具,发现并纠正软件中的错误。软件维护是对软件进行更新、修复、优化等操作,以确保软件能够长期稳定地运行。 习题1.5 答案:软件工程的活动包括项目管理、需求管理、设计管理、配置管理、质量管理等方面。项目管理是对软件开发项目进行计划、组织和控制的活动,包括项目目标的设定、进度的控制、资源的分配等。需求管理是对软件需求进行跟踪、分析和管理的活动,包括需求变更的管理、需求优先级的确定等。设计管理是对软件设计进行管理和控制的活动,包括设计文档

软件工程导论(第六版)课后习题测验答案

软件工程导论(第六版)课后习题测验答案 第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。?(4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同

意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 软件工程的本质特征: (1)软件工程关注于大型程序(软件系统)的构造?(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工

软件工程导论[第六版]课后习题答案解析

软件工程导论[第六版]课后习题答案解析 第一章 一、什么就是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机就是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题与难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本与进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度与节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往就是靠不住的。 (4) 软件常常就是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发与维护工作带来许多难以想象的困难与难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:就是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将就是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己就是一家软件公司的总工程师,当把图1、1给手下的软件工程师们观瞧,告诉她们及时发现并改正错误的重要性时,有人不同

意这个观点,认为要求在错误进入软件之前就清楚它们就是不现实的,并举例说:“如果一个故障就是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳她? 答:在软件开发的不同阶段进行修改付出的代价就是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期, 软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”就是在引入变动,当然付出的代价更高。一个故障就是代码错误造成的,有时这种错误就是不可避免的,但要修改的成本就是很小的,因为这不就是 整体构架的错误。 三、什么就是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程就是:①把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题就是分解问题,控制复杂性(3) 软件就是 经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就就是,寻求开发与维护软件的更好更有效的方法与工具 (5) 与谐地合作就是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中就是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不就是某种个体劳动的神秘技巧,而应该就是一种组织良好、管理严密、各类人员协同配合、共同完成的工

软件工程导论(第六版)课后习题答案

1 第一章 2 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 3 4 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。 它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增5 6 长的已有软件。 7 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出8 9 一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约10 成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 11 12 (2) 用户对已完成的软件不满意的现象时有发生。 13 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 14 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护15 工作带来许多难以想象的困难和难以解决的问题。 16 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 17 18 软件危机出现的原因: 19 (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护20 困难。 21 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视22 软件维护。 23 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 24 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看, 25 告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进

相关主题