软件工程习题-6-软件维护-参考答案
软件工程导论(第六版)部分课后习题-答案
软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
《软件工程》试题及参考答案(第6套)
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
软件工程习题(附答案)
一、选择题1、软件是一种( 2 )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( 2 )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( 2 )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( 4 )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( 1 )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( 4 )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( 4 )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( 1 )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( 4 )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( 3 )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、在结构化方法中全面指导模块划分的最重要的原则是( 4 )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性12、最高程度也是最差的耦合是( 2 )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括( 4 )。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( 2 )。
软件工程师考试题库(含答案)
软件工程师考试题库(含答案)以下是一些软件工程师考试的常见题目及其答案:1. 什么是软件工程?软件工程是一门系统性、规范性的学科,涉及开发和维护软件的原则、方法和工具。
2. 软件生命周期包含哪些阶段?软件生命周期包含需求分析、设计、编码、测试和维护等阶段。
3. 请解释需求分析阶段的重要性。
需求分析阶段是确定软件系统的需求和功能的过程,它对于后续的设计和开发非常重要。
在需求分析阶段,开发人员需要与用户明确需求,确保开发出满足用户需求的软件系统。
4. 请解释软件设计模式是什么。
软件设计模式是一套被广泛接受并经过验证的解决软件设计问题的经验法则。
它们是一些被认为有效的设计解决方案的模板。
5. 什么是软件测试?软件测试是检查和评估软件系统是否满足需求和预期的过程。
它有助于发现和修复软件中的错误和缺陷。
6. 解释一下集成测试和单元测试的区别。
单元测试是针对软件的最小可测试单元进行的测试,通常是对函数、方法或类进行测试。
而集成测试是将多个单元进行组合,并测试它们之间的交互是否正确。
7. 请简要介绍软件维护的类型。
软件维护包括以下类型:纠错性维护(修复错误)、适应性维护(适应环境变化)、完善性维护(改进性能和可用性)和预防性维护(预防潜在问题)。
8. 请说明软件工程师需要具备的技能和素质。
软件工程师需要具备良好的编程能力、系统思维、沟通能力和问题解决能力。
此外,他们还应具备团队合作和持续研究的精神。
以上是关于软件工程师考试题库的一些题目及答案,希望能对您的学习和准备有所帮助。
请自行补充更多题目和答案以扩展题库。
软件工程试题与答案 (6)
第一章软件工程概述一。
填空题1. 软件的发展过程, , ,。
2. 基于软件的工作方式,软件可以划分为 , , , .3。
在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4。
在计算机系统中,软件是,而硬件是。
5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6。
文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档.7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码).9. 在软件的生存周期开发阶段要经三个步骤 , , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型.11。
螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12。
软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ .从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13。
软件开发模型,,,, , .14. 软件工程面临的问题有 , , , .15。
面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机.为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
软件工程 第二-六章习题
第二章练习题一、判断题1. 软件的模块数越少,其软件成本越低。
错2. 软件模块之间的耦合性越弱越好。
对3. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
对4. 耦合是指一个模块内各个元素彼此结合的紧密程度。
错5. 过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。
错6. 在设计模块时,其宽度和深度要适当。
对7. 模块耦合的强弱取决于模块间接口的复杂程度。
对二、名字解释:1. 抽象:抽象是认识复杂现象过程中使用的思维工具,即抽象出事物本质的共同特性而暂时不考虑其他的细节,不考虑其他因素。
2. 模块化:模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成为若干模块的过程。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能。
3. 逐步求精:4. 耦合:耦合也成模块叫联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。
5. 内聚:内聚又称块联系。
指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量6. 模块独立:模块独立想指每个模块只完成系统要求的独立的子功能,并且与其他模块联系最少且接口最简单。
7. 信息隐蔽:信息隐蔽在设计和确定模块时,使得一个模块内包含信息,对于不需要这些信息的其他模块来说事不能访问的。
三、选择题10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。
BA. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发20、为了提高模块的独立性,模块内部最好是( C )CA、逻辑内聚B、时间内聚C、功能内聚D、通信内聚33、从心理学角度看,一次大模块分解为多少个子模块为宜。
(B )BA、3±1B、7±2C、15±1D、18±238、软件设计启发规则不包括( C )CA、在耦合方式上降低模块间接口的复杂性B、模块功能应该可以预测C、将模块的控制域保持在其作用域内D、设计单入口单出口的模块40、为了提高模块的独立性,模块之间的联系最好的是(D)。
《软件工程》试题及参考答案(第6套)
《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
软件工程练习题及参考答案
软件工程练习题及参考答案《软件工程练习题及参考答案》一.单向选择题(四选一.每小题3分,共18分)1.面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。
对应映射反映反射2.盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
流程图框图判定表 N-S图3.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序数据逻辑物理4.人机界面的风格大致经过了(B)代的演变。
三四五六5.以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6.为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
纠错性维护适应性维护改善性维护预防性维护二.填空题(每空2分,共18分)1.文档一种数据媒体和其上所记录的数据。
(√)4. 软件工程使用的软件工具能够自动或半自动地支持软件的开发.管理和文档的生成。
(√)5. 为了充分发挥开发人员的潜力.缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。
(√)6. 需求分析阶段的成果主要是需求规格说明,但该成果与软件设计.编码.测试直至维护关系不大。
(X)7. 类是对具有共同特征的对象的进一步抽象。
(√)8. 面对日益增长的软件需求,人们显得力不从心。
往往是产生软件危机的原因之一。
(√)9. 数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程。
(√)10. 如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难。
(√)11.软件测试是对软件规格说明.软件设计和编码的最全面也是最后的审查。
(√)12. 如果测试过程没有发现任何错误,则说明软件没有错误。
(X)四.简答题(每小题4分,共20分)1.螺旋模型的适应场合有哪些?适应场合:支持需求不明确.特别是大型软件系统的开发,并支持面向规格说明.面向过程.面向对象等多种软件开发方法,是一种具有广阔前景的模型。
软件工程(第五版)--习题与答案
《软件工程》(第五版)习题参考答案第1 章一、判断题1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3(、×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
应用软件6(、√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题1、软件是一种(C)。
A、程序B、数据C、逻辑产品D、物理产品2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定B、软件开发的步骤C、软件开发的技术D、软件开发的思想3、软件生存周期中花费最多的阶段是(D)。
A、详细设计B、软件编码(最少)C、软件测试D、软件维护4、软件工程的三要素不包括(D)。
A、工具B、过程C、方法D、环境5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计B、详细设计(怎么做)C、可行性研究(能不能做)D、需求分析6、瀑布模型本质上是一种(A)模型。
A、线性顺序B、顺序迭代C、线性迭代D、能及早见到产品的7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法B、程序语言C、平台D、用户需求8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型B、喷泉模型C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)。
软件工程试题及答案
软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入的角度考虑一组测试用列,-2,20,,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。
A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。
A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。
A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。
A、高级程序设计语言B、伪码C、中级程序设计语言D、低级程序设计语言15、成功的测试是(发现至今尚未发现的错误)16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法)(B)。
软件工程(习题与参考答案)
第1章概述(习题与参考答案)[判断题]1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。
(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。
(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。
(×)[选择题]1. ()因素促使计算机系统越来越复杂。
(D)A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变化D. 以上所有选项2. 下面的()不再是现代软件工程师关注的问题。
(A)A. 为什么计算机硬件的成本这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的成本这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的基本目标是()。
(B)A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
-软件工程习题答案参考
软件工程绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。
所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。
4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。
答:用C++开发一个软件,是校园一卡通的模块。
首先,要在编辑程序支持下在计算机中输入源程序。
然后编译程序,把源程序翻译成目标程序。
如果发现错误,就重新调入编辑程序对源程序进行修改。
编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。
编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。
离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。
《软件工程》题库及参考答案
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
《软件工程》试题及参考答案(第1套)
《软件工程》试题(第1套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
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.确认测试主要涉及的文档是()。
A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序8.模块的内聚性最高的是( )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( ) A.生存期 B.面向对象设计C.面向对象程序设计 D.面向对象分析10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。
A.需求不确定性高的 B.需求确定的C.管理信息D.实时11、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。
A 关键实践B 关键过程域C 软件过程能力D 软件过程12、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程13.下列关于瀑布模型的描述正确的是( )。
软件工程教材习题答案
软件工程教材习题答案习题答案习题一答案一、选择题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. 软件工具的作用是为了延长软件产品的寿命。
软件工程-答案
系考班级生答题姓名不得学过号此线竖写《软件工程》参考答案一、1C、2B、3B、4D、5D、6B、7C、8C、9A、10C11C、12C、13B、14C、15B、16C、17B、18C、19C、20D二、填空题(每空1分,共10分)1. 数据。
2. 数据处理。
3. 软件需求。
4. 事物型系统结构图。
5. 确认(系统)、系统(确认)。
6. 容错功能。
7. 特性。
8. 可移植性(效率)、效率(可移植性)。
三、判断题1、 3、5、6、7、82、 3、4、6、7、8四、名词解释1.软件工程:开发、运行、维护和修复软件的系统方法。
2.等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
3.模块独立性:是指软件系统中每个模块只涉及要求的子功能,而和软件系统中其他的模块的接口是简单的。
4.软件的可靠性:是软件在给定的时间间隔及给定的环境条件下,按设计的要求,成功地运行程序的概率。
5.原型化方法:是软件开发方法的一种。
在软件分析人员获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本需求。
通过用户对基本系统试用,征得用户得意见和建议,然后对软件系统进行完善和修改。
通过不断地构造原型,直到满足用户得要求,得到最终得产品。
五、简答题1.什么是软件生存期?依据软件生存期,开发一个软件需要那些步骤?。
软件生存期是软件从制定计划、需求分析、软件设计、程序编码、测试、运行、维护直到退役的生存过程。
依据软件生存期,开发一个软件需要如下步骤:制定计划需求分析和定义软件设计程序编码软件测试运行/维护2.软件开发前要进行可行性论证分析,具体分析那些内容。
经济可行性技术可行性法律可行性抉择3.软件维护的类型有那些?简述其含义。
改正性维护:识别、纠正软件中隐藏的错误。
适应性维护:为了使软件适应环境的变化而修改软件的过程。
完善性维护:为了满足用户的新的功能、性能要求而修改软件的过程。
软件工程习题答案
软件⼯程习题答案第1章软件⼯程概述参考答案⼀. 选择题1. B2. A3. B4. B5. D6. B7. D8. A9. D⼆. 填空题1. 设计编码测试2. 软件费⽤可靠性可维护性可重⽤性及⽣产率等3. 计算机软件开发和维护4. 分解抽象和信息隐蔽⼀致性确定性5. 软件的总⽬标待开发软件的需求6. ⼆三7. 计划阶段开发阶段维护阶段8. 软件需求明确9. 制定计划风险分析开发实施⽤户评估三. 名词解释1. 软件的定义如下:在运⾏中能提供所希望的功能和性能的指令集,使程序能正确运⾏的数据结构,描述程序研制过程和⽅法所⽤的⽂档。
2. 软件⼯程是指导计算机软件开发和维护的⼀门学科。
3. 软件危机指的是软件开发和维护过程中遇到的⼀系列严重问题。
4. 就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
5. 瀑布模型⼜称⽣存周期模型,由B.M.Boehm提出,是软件⼯程的基础模型。
其核⼼思想是按⼯序将问题化简,将功能的实现与设计分开,便于分⼯协作。
6. 螺旋模型将瀑布模型与演化模型结合起来,并且加⼊两种模型均忽略了的风险分析,弥补了两者的不⾜。
四. 简答题1. 软件既是知识产品,⼜是与汽车,建筑物⼀样的⼯业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,软件的特点如下:软件是⼀种逻辑实体,⽽不是具体的物理实体,因⽽它具有抽象性;软件是通过⼈们的智⼒活动,把知识与技术转化成信息的⼀种产品,是在研制、开发中被创造出来的;在软件的运⾏和使⽤期间,没有硬件那样的机械磨损、⽼化问题;软件的开发和运⾏经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱⼿⼯的开发⽅式;软件的开发费⽤越来越⾼,成本相当昂贵;软件的开发是⼀个复杂的过程,因⽽管理是软件开发过程中必不可少的內容。
2. 软件危机主要表现如下:产品不符合⽤户的实际需要;软件开发⽣产率提⾼的速度远远不能满⾜客观需要,软件的⽣产率远远低于硬件⽣产率和计算机应⽤的增长速度,使⼈们不能充分利⽤现代计算机硬件提供的巨⼤潜⼒;软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件⽂档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的⽐例逐年上升。
软件工程课本讲解第6章软件维护
维护工作量包括生产性活动(如分 析和评价、设计修改和实现)和 “轮转”活动(如力图理解代码在 做什么、试图判明数据结构、接口 特性、性能界限等)。
21
维护工作量的模型
MpKced
M是维护中消耗的总工作量 p是上面描述的生产性工作量 K是一个经验常数 c是因缺乏好的设计和文档而导致
复杂性的度量 d是对软件熟悉程度的度量。
22
模型指明,如果使用了不好的软件 开发方法(未按软件工程要求做), 原来参加开发的人员或小组不能参 加维护,则工作量(及成本)将按 指数级增加。
23
6.2 软件维护实施活动
为了有效地进行软件维护,应事先 就开始做组织工作。 首先建立维护的机构 申明提出维护申请报告的过程及 评价的过程 为每一个维护申请规定标准的处 理步骤 建立维护活动的登记制度以及规 定评价和评审的标准。
3
一、软件维护的定义
在软件运行/维护阶段对软件产品进行的修改就是 所谓的维护。
软件维护是软件生存周期的最后一个阶段,不属于系统开发的过程。
问题
内
容
维护 满足用户对已开发产品的性能与运行环境不断提高的要求,进而
目的 达到延长软件寿命的目的。
改正性 对程序使用期间发现的程序错误进行诊断和改正的过程;
改正性 17—21% 适应性 18—25%
完善性 50—66% 预防性 4%左右
软件的易维护性是软件开发过程中每个步骤的一个关键目标。维护费用占软件总支
出的20-30%到70-80%。而无形的代价更是无法估计的。
4
改正性维护
在软件交付使用后,因开发时测试 的不彻底、不完全,必然会有部分 隐藏的错误遗留到运行阶段。
《软件工程》试题及参考答案(第2套)
第一部分选择题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、软件维护产生的副作用,是指( )A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作8、软件生命周期中所花费用最多的阶段是( )A、详细设计B、软件编码C、软件测试D、软件维护9、模块的内聚性最高的是( )A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚10、与确认测试阶段有关的文档是( )A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11. 面向对象分析是对系统进行()的一种方法。
A 需求建模B 程序设计C 设计评审D 测试验收13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( )。
A、时间内聚B、功能内聚C、信息内聚C、过程内聚15.面向对象技术中,对象是类的实例。
对象有三种成份:( )、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息16.数据字典是用来定义_()中的各个成份的具体含义的。
《软件工程》各章课后习题答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的主要原因(1)与软件本身的特点有关(2)与软件开发和维护过程中使用的方法不正确有关2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是指导知道计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章习题参考答案
选择题
ABDBC
①C②A③B CDDC
问答题
1、结合自己使用的软件产品,谈谈维护的重要性?
答:(举例)杀毒软件的及时升级是保证计算机软件安全的一个基本保障。
2、杀毒软件的病毒库升级属于哪种维护?为什么?
答:改正性维护。
因为杀毒软件病毒库的升级主要是针对最新出现的病毒,而软件目前还不具备查杀能力,可能会引发软件出现问题,从而进行的改正性工作。
3、游戏软件的升级属于哪种维护?为什么?
答:完善性维护。
因为游戏软件的升级基本上都是提供更丰富的游戏功能和游戏场景,提高游戏对玩家的吸引力。
4、谈谈软件维护的成本作为软件成本的一部分对其正确估算的重要性?
答:(略)。