软件工程实用教程2版课后答案
- 格式:pdf
- 大小:480.26 KB
- 文档页数:12
里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、具体设计、编码、测试和运营、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。
A、具体计划B、可行性分析C、运营阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节犯错,对软件的影响最大( )。
A、具体设计阶段B、概要设计阶段C、需求分析阶段D、测试和运营阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目的( )。
A、需求分析阶段B、具体设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现重要是由于( )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实行的重要保证是( )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( )A、互相排斥B、互相补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它重要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发规定最高( )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实行时强调的是分析对象的( )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划提成( )A、计划阶段、开发阶段、运营阶段B、计划阶段、编程阶段、测试阶段C、总体设计、具体设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特性而一般称其为( )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为也许占用人员最多的阶段是( )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、软件开发模型是指软件开发的所有过程、活动和任务的结构框架。
《软件工程——理论与实践》(第2版)习题答案习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。
A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。
A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。
A) 螺旋模型B) 瀑布模型C) 增量模型D) 喷泉模型4. 软件工程的主要目标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于面向对象开发方法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件工程的目标有(A B C)。
A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。
A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。
(×)4. 结构化方法和OO方法都是一种面向过程的软件开发方法。
(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。
(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件工具的作用是为了延长软件产品的寿命。
软件工程实用教程2版课后答案第1章软件工程引论1.什么是软件危机?它和软件工程有什么关系?答案要点:由于软件规模的扩大、功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难。
在软件开发中经常会出现时间延迟、预算超支、质量得不到保证、移植性差等问题,甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。
软件危机的突出表现:1)软件生产率低2)软件产品常常与用户要求不一致3)软件规模的增长,带来了复杂度的增加4)不可维护性突出5)软件文档不完整、不一致。
人们提出“软件工程”的概念,就是为了用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。
由于引入了软件工程的思想,把其他工程技术研究和开发领域中行之有效的知识和方法运用到软件开发工作中来,提出了按工程化的原则和方法组织软件开发工作的解决思路和具体方法,在一定程度上缓解了“软件危机”。
2.简述软件和软件工程的定义以及软件工程的形成过程。
答案要点:计算机软件是由计算机程序的发展而形成的一个概念。
它是与计算机系统操作有关的程序、规程、规则及其文档和数据的统称。
软件由两部分组成:一是机器可执行的程序和有关的数据;二是与软件开发、运行、维护、使用和培训有关的文档。
软件工程是指导计算机软件开发和维护的工程学科。
它强调按照软件产品的生产特性,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术结合起来,以便经济地开发出高质量的软件并有效地维护它。
第一阶段:20世纪70年代,为了解决软件项目失败率高、错误率高以及软件维护任务重等问题,人们提出软件生产工程化的思想,希望使软件生产走上正规化的道路,并努力克服软件危机。
第二阶段:20世纪80年代,面向对象的方法与技术受到了广泛的重视,Smalltalk-80的出现标志着面向对象的程序设计进入了实用和成熟阶段。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)郭宁主编马玉春邢跃吴文红副主编人民邮电出版社北京内容提要本书根据软件工程的最新发展,结合目前软件工程教学的需要,以传统的软件工程和面向对象的软件工程为主线,遵循软件开发“工程化”思想,结合大量的应用案例,系统地介绍软件工程学的理论、方法以及应用技术。
内容包括:软件开发模型、需求分析、软件设计、软件测试、软件维护、质量管理、文档技术、软件项目管理、软件工程工具和环境等。
本书强调软件工程的理论与实践相结合、技术与管理相结合、方法与CASE工具相结合,语言简练,通俗易懂,采用案例教学方法,注重培养实际开发能力和文档的写作能力,具有很强的实用性和可操作性。
书中含有丰富的例题与习题,便于教学和自学。
本书可作为高等院校计算机专业或信息类相关专业高年级本科生或研究生教材,也可作为软件开发人员的参考书。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)♦主编郭宁副主编马玉春邢跃吴文红责任编辑邹文波♦人民邮电出版社出版发行北京市崇文区夕照寺街14号邮编 100061 电子邮件 315@网址 北京鑫正大印刷有限公司印刷♦开本:787×1092 1/16印张:18.75 2011年8月第2版字数:494千字2011年8月北京第1次印刷ISBN 978-7-115-25538-9定价:35.00元读者服务热线:(010)67170985 印装质量热线:(010)67129223反盗版热线:(010)67171154。
软件工程课后习题参考答案一、概述软件工程作为一门跨学科的学科,涉及到软件开发的各个方面,对培养软件工程师的能力具有重要意义。
课后习题是巩固和深化学生对课程知识的理解和应用的重要途径。
本文将为软件工程课后习题提供一些参考答案,供学生参考和自我评估。
二、需求分析与规格说明1. 什么是软件需求?软件需求分析的目的是什么?软件需求是对问题域中用户对软件所期望的功能和性能的描述。
软件需求分析的目的是识别、理解、规范和管理软件系统开发的需求。
2. 软件需求分析的基本步骤是什么?软件需求分析的基本步骤包括需求获取、需求建模、需求验证和需求管理。
3. 什么是功能需求?什么是非功能需求?功能需求描述的是软件系统应具备的具体功能和行为。
非功能需求则描述了软件系统的其他属性,例如性能、安全性、可靠性等。
4. 举例说明一些常见的软件需求验证方法。
常见的软件需求验证方法包括需求审查、原型验证、测试和模型检查等。
三、软件设计与架构1. 什么是软件架构?软件架构的重要性是什么?软件架构是软件系统的基础结构和组织方式,决定了软件系统的可扩展性、可维护性和可演化性。
软件架构的合理设计能够降低开发和维护的难度。
2. 请简要介绍常见的软件架构模式。
常见的软件架构模式包括分层架构、客户-服务器架构、面向对象架构和微服务架构等。
3. 什么是设计模式?列举几个常见的设计模式。
设计模式是针对软件设计中的常见问题所提出的解决方案。
常见的设计模式包括单例模式、观察者模式、工厂模式和策略模式等。
4. 请简要介绍面向对象设计的原则。
面向对象设计的原则包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。
四、软件测试与质量保证1. 软件测试的目的是什么?请简要介绍测试驱动开发(TDD)。
软件测试的目的是发现软件产品中的错误和缺陷。
测试驱动开发是先编写测试用例,再根据用例编写代码的开发模式。
2. 请简要介绍黑盒测试和白盒测试。
黑盒测试是基于软件外部行为和需求的测试,不考虑软件的内部实现。
第一d ìy ī章zhāng1.什么s hén me 是s h ì软件ru ǎnjiàn 危机w ēi j ī?为什么w èi s h én m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnjiàn 危机w ēi j ī?答d á:软件ru ǎnjiàn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnjiàn 的d e 开发k āi f ā和h é维护w éi h ù过程guòchéng 中zh ōng 遇到y ùd ào 的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件工程实用教程吕云翔-课后答案1练习题1)软件的特点有哪些?1.软件是一种逻辑实体,具有抽象性。
硬件是有形的设备,而软件不像硬件那样具有明显的可见性。
人们可以把软件记录在介质上,但是却无法直观地观察到它的形态,而必须通过在计算机上实际地运行才能了解它的功能、性能及其他特性。
2.软件的生产与硬件的制造不同。
它更多地渗透了人类的智能活动,是人类智力劳动的产物。
软件是被开发或设计的,而不是传统意义上被制造的。
软件成本集中于开发上,这意味着软件项目不能像制造项目那样管理。
3.软件在运行使用过程中,不会磨损。
在软件的运行和使用期间,它不会产生像硬件那样的磨损和老化现象,然而却存在着缺陷维护和技术更新的问题。
软件不会磨损,但是它会退化,而软件的退化是由于修改。
因此,软件维护比硬件维护要复杂得多。
1.2.符。
这主要是由于开发人员与用户之间不能充分有效的交流造成的,使得开发人员对用户需求的理解存在着差异;3.相比越来越廉价的硬件,软件代价过高;4.软件质量难以得到保证,且难以发挥硬件潜能。
开发团队缺少完善的软件质量评审体系以及科学的软件测试规程,使得最终的软件产品存在着诸多缺陷;5.难以准确估计软件开发、维护的费用以及开发周期。
往往软件产品不能在预算范围之内,按照计划完成开发。
很多情况下,软件产品的开发周期或经费会大大超出预算;6.难于控制开发风险,开发速度赶不上市场变化;7.软件产品修改维护困难,集成遗留系统更困难;8.软件文档不完备,并且存在着文档内容与软件产品不符的情况。
软件文档是计算机软件的重要组成部分,它为在软件开发人员之间以及开发人员与用户之间信息的共享提供了重要的平台。
软件文档的不完整和不一致的问题会给软件的开发和维护等工作带来很多麻烦。
2)简述软件工程的基本原则。
1.用分阶段的生存周期计划进行严格的管理;将软件的生存周期划分为多个阶段,对各个阶段实行严格的项目管理。
软件开发是一个漫长的过程,人们可以根据工作的特点或目标,把整个软件的开发周期划分为多个阶段,并为每个阶段制定分阶段的计划及验收标准,这样有益于对整个软件开发过程进行管理。
软件工程课后习题答案一、项目规划和管理1. 项目规划和管理的重要性在软件工程中,项目规划和管理是确保项目成功的关键因素。
它涉及到确定项目的目标、范围和需求,制定项目计划和时间表,分配资源,通过有效的沟通和协作来管理团队,以满足项目的要求和客户的期望。
良好的项目规划和管理可以提高项目的成功率,避免项目变更和延迟,保证项目在预算和时间范围内完成。
2. 项目规划的步骤和内容项目规划是项目管理的第一步,它包括以下步骤和内容:(1)确定项目目标和范围:明确项目的目标和范围,包括项目的可交付成果、所需功能和业务需求。
(2)需求分析和定义:详细收集和分析项目的需求,明确项目的功能和非功能性要求。
(3)制定项目计划:制定项目的时间表和里程碑,安排项目的活动和任务,确定资源需求和预算。
(4)风险评估和管理:评估项目的风险和不确定性,制定相应的风险管理策略。
(5)团队组建和管理:确定项目的团队成员,指定责任和职责,建立有效的沟通和协作机制。
(6)制定项目管理计划和报告:制定项目管理的具体计划和报告,包括项目的进度、成本和质量控制。
3. 项目管理的工具和技术项目管理涉及到各种工具和技术的应用,以支持项目规划和管理。
其中一些常用的工具和技术包括:(1)甘特图:可视化展示项目的时间表和活动,帮助团队成员了解任务的分配和完成情况。
(2)里程碑图:标记项目关键节点和重要事件的图表,用于跟踪项目进展和提醒项目重要里程碑的达成。
(3)网络图:图示项目活动之间的依赖关系和先后顺序,帮助确定活动的优先级和关键路径。
(4)资源分配和调度:根据项目需求和资源可用性,合理分配和调度团队成员和其他资源。
(5)决策分析:采用定性和定量的方法,评估项目决策的风险和效益,以支持决策过程。
(6)变更管理:制定变更管理程序和流程,确保变更的合理性和对项目的影响进行评估和控制。
二、软件需求分析与设计1. 软件需求分析的目的和方法软件需求分析是在指导下进行的,对于定义用户需求、开发软件系统和确保软件质量都非常重要。
《软件工程——理论与实践》(第2版)习题答案习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。
A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。
A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。
A) 螺旋模型B) 瀑布模型C) 增量模型D) 喷泉模型4. 软件工程的主要目标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于面向对象开发方法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件工程的目标有(A B C)。
A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。
A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。
(×)4. 结构化方法和OO方法都是一种面向过程的软件开发方法。
(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。
(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件工具的作用是为了延长软件产品的寿命。