软件工程集大2007-2008-B答案
- 格式:doc
- 大小:747.00 KB
- 文档页数:5
《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
学院出卷教师系主任签名制卷份数专业班级编号江汉大学文理学院2011—2012学年第一学期考试试卷课程编号:课程名称:软件工程试卷类型:A□、B√卷考试形式:开□、闭√卷考试时间:120分钟一、辨析改错题(本大题共××小题,每题××分,共×分)1. 螺旋模型以文档为驱动。
错误,螺旋模型以风险为驱动。
2.完善性维护是维护工作中所占比重最小的一类维护。
错误,完善性维护是维护工作中所占比重最大的一类维护。
3.如果软件项目属于科学计算领域,可以使用4GL语言。
错误,如果软件项目属于科学计算领域,可以使用C语言4. 测试阶段的辅助工具主要有数据流图、数据字典和E-R图。
错误,测试阶段的辅助工具主要有黑盒法和白盒法。
5.模块划分时应注意作用域要大于控制域。
错误,模块划分时应注意作用域要小于或等于控制域。
1. 试述软件生命周期的阶段,并简要叙述可行性分析阶段的主要任务及分析方法。
软件生命周期有如下七个阶段:可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。
可行性分析阶段的主要任务是确定项目“做不做”的问题,从以下三个方面分析项目的可行性:经济可行性;技术可行性和社会因素可行性。
2.某输入有两个变量x1和x2,其取值范围分别是:x1∈[0,200],x2∈[100, 900],请写出基于单缺陷假设的健壮性边界值测试用例规则,并设计测试用例。
规则:(x1min-,x2nor), (x1min,x2nor), (x1min+,x2nor), (x1nor,x2nor), (x1max-,x2nor), (x1max+,x2nor), (x1nor,x2min-),(x1nor,x2min), (x1nor,x2min+), (x1nor,x2max-), (x1nor,x2max), (x1nor,x2max+)测试用例:(-0.01,500), (0,500), (0.01,500), (100,500), (199.99,500), (200,500), (200.01,500), (100,99.99), (100,100), (100,100.01), (100,899.99), (100,900), (100,900.01)3.某程序流程如下图所示,请计算出满足所有逻辑覆盖至少需要的测试用例数。
《软件工程》试卷答案A卷答案:一.填空1、①与软件本身的特点有关;②如软件开发的方法与维护不正确有关。
2、数据流3、图形4、结构测试功能测试5、伪玛,软件设计语言。
6、为了解决这个问题,目标系统必须做什么?7、软件需求规格说明书8、PAD图、判定表、判定树和PDL语言任意写出三种即可。
9、数据结构10、功能二.判断1、×2、√3、√4、×5、×6、√7、√8、×9、√10、×三、选择题1、C2、A3、C4、B5、D6、D7、D8、B9、B 10、A四、1、简述原型法的基本思想:答:用交互的、快捷建立起来的原型取代规格说明,用户通过再计算机上运行、使用这个原型系统了解系统的概貌,想开发者提供反馈意见。
2、什么是软件危机?答:软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。
概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、简述软件测试的步骤,简要说明各测试步骤的目的。
答:软件系统的测试基本上由以下几个步骤组成:模块(单元)测试,目的是保证第个模块作为一个单元能正确执行。
子系统测试,目的是把经过单元测试的模块放在一起形成一个子系统,测试模块相互间的协调和通信。
系统测试,在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合要求。
验收测试,目的是验证系统确实能够满足用户的要求。
4、需求分析的任务是什么?答:需求分析的主要任务第一、正确地确定对系统综合要求,充分理解和表达用户的需求。
也就是详细定义开发软件的功能、性能、外部接口、设计限制、数据库需求、确定硬件和软件支持环境、辅助软件以及将来可能提出的要求。
第二、通过结构分析的方法对系统进行分解,以确定软件系统的主要成分或软件系统的构成。
第三、是对以上已进行的两项工作进行描述,以形成需求文档,也就是编制“需求规格说明书”。
中山大学软件研究所 2006学年第一学期《软件工程》期末考试试题A卷(答案卷)一、名词解释题(每小题3分,共5小题,合计15分)1. 软件生存周期指一个软件从提出开发要求开始直到此软件报废为止的整个周期(1分),一种典型的阶段划分为,问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护(2分)。
2. 瀑布模型瀑布模型是将软件生存周期各活动规定为以线性顺序连接的若干阶段的模型(2分);强调阶段的严格顺序和每一阶段的严格性。
前一阶段的输出是后一阶段的输入;每阶段要进行文档的复审与确认(1分)。
3. 白盒测试对软件的过程性细节做仔细的检查(1分);把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试(2分)。
4. SOA模式面向服务的体系结构(SOA)是一种用于构建分布式系统的方法,其中服务指是一种封装成实现某种软件功能的可重用构件,其通常表现为一组方法的集合(2分)。
采用 SOA 这种方法构建的分布式应用程序可以将功能作为服务交付给终端用户,也可以构建其他的服务(1分)。
5. 逆向工程软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序表示的过程(2分);逆向工程是设计恢复的过程,是从已存在的程序中抽取数据结构、体系结构和程序设计信息(1分)。
二、填空题(每小题2分,共10小题,合计20分)6. 软件工程包括的三个要素:、数据和。
(程序、文档)7.数据流图有四种基本符号元素:、数据处理、和外部实体。
(数据流、数据存储)8.面向数据流的设计方法包括两类变换分析:和。
(变换分析、事务分析)(数据耦合、公共环境耦合)10.一个模块拥有的直属下级模块的个数称为;如果一个模块被n个模块调用,其中直接的上级模块的个数是m个(m<=n),那么该模块的扇入数是个。
(模块的扇出、m)11.过程设计或详细设计的工具包括:程序流程图、盒图(N_S图)、、判定表和。
《软件工程》习题参考答案周兵1.1教材:《软件工程》方木云主编,清华大学出版社,2016 1.2参考书目:1.《Software engineering》8th Edition Ian Sommervile,PearsonEducation, 机械工业出版社,20062. 《软件工程》,王忠群主编,中国科学技术大学出版社,20093. 《软件工程导论》(第4版), 张海藩编著, 清华大学出版社, 20074、《Software engineering : a practitioner's approach》 RogerS. Pressman. 6th ed. Pressman, Roger S. China MachinePress, 20081.3说明:斜体部分是可选讲授内容, 带星号的习题为可选。
第1章软件工程学概述1.1习题A.1什么是软件?软件可以分为哪些类?p11答:软件是程序、数据及相关文档的完整集合。
软件可分为通用软件和定制软件。
A.2*什么是软件危机及其表现?p11答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
具体地说,软件危机主要有以下一些典型表现。
(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
A.3什么是软件工程?p11答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程习题及参考答案软件工程习题及部分参考答案判断题软件也会磨损和老化。
(X)完善性维护是提高或完善软件的性能。
(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(X)软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(X)软件模块之间的耦合性越弱越好。
(√)如果通过软件测试没有发现错误,则说明软件是正确的。
(X)快速原型模型可以有效地适应用户需求的动态变化。
(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)集成测试主要由用户来完成。
(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(X)?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)?模块越多,开发成本越小。
(╳)软件测试的目的就是证明软件没有错。
(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。
(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。
(×)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
(√)HIPO 法既是需求分析方法,又是软件设计方法。
(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。
(×)加工小说明是对系统流程图中的加工进行说明。
(×)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(×)需求分析的主要方法有SD 法、OOA 法及HIPO 法等。
(×)分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。
软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
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) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)1.经济可行性研究的范围包括(C)A.资源有效性 B.管理制度C.效益分析 D.开发风险2.结构化设计方法在软件开发中用于(A)。
A、概要设计B、详细设计C、程序设计D、测试用例设计3.程序的三种基本控制结构是(B)A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移--`4.软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。
A、应用范围B、内部逻辑C、功能D、输入数据5.软件维护费用高的主要原因是(C)。
A、人员少B、人员多C、生产率低D、生产率高6.软件质量必须在(D)加以保证。
A、开发之前B、开发之后C、可行性研究过程中D、设计与实现过程中7.确认测试主要涉及的文档是(A)。
A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序8.模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( D)A.生存期 B.面向对象设计C.面向对象程序设计D.面向对象分析10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。
A.需求不确定性高的 B.需求确定的C.管理信息D.实时11、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。
A 关键实践B 关键过程域C 软件过程能力D 软件过程12、( A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程13.下列关于瀑布模型的描述正确的是( D)。
A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开14.总体设计的目的是确定整个系统的( B)。
软件工程课后题答案大全(详细)软件工程课后题答案大全(详细)现代社会中,软件工程越来越重要,因为它在各个行业中扮演着关键的角色。
而在学习软件工程课程时,完成课后题是提高理解和掌握程度的重要途径。
本文将为您提供一份全面且详细的软件工程课后题答案大全,希望能够帮助您更好地学习与应用软件工程知识。
1. 什么是软件工程?软件工程是指应用系统化的、规范化的、可量化的方法来开发和维护软件的学科。
它涵盖了各种软件开发阶段,包括需求分析、设计、编码、测试和维护,并借鉴了工程学的原则和方法。
2. 软件工程的原则有哪些?软件工程遵循一系列原则来保证软件开发和维护的质量和效率,如下:- 需求管理原则:明确需求,确保项目目标的准确性和一致性。
- 分阶段原则:将软件开发过程划分为不同的阶段,有序进行。
- 风险管理原则:评估和管理项目中的风险,降低项目失败的可能性。
- 适应性原则:根据不同的项目需求和情况,选择合适的软件开发方法和工具。
- 团队合作原则:加强团队协作,促进良好的沟通和信息共享。
3. 软件生命周期有哪些阶段?软件生命周期包括需求分析、设计、编码、测试和维护等多个阶段。
- 需求分析:明确软件系统的功能和性能要求,了解用户需求。
- 设计:定义软件系统的整体结构和组件之间的关系,确定使用的技术和工具等。
- 编码:根据设计方案,将代码实现为可以执行的程序。
- 测试:验证软件系统的功能和性能是否满足需求,并进行错误修复。
- 维护:对软件进行修复和改进,确保系统的长期可用性。
4. 软件需求分析的方法有哪些?软件需求分析是保证软件项目成功的关键步骤,以下是几种常用的分析方法:- 面谈法:直接与用户沟通,了解他们的需求和期望。
- 文档分析法:研究和分析相关文档,如需求规格说明书、用户手册等。
- 原型法:创建一个初步的系统原型,供用户参观和测试,获取反馈。
- 视频录制法:录制用户正在进行的工作流程,以便更好地了解他们的需求。
5. 软件项目管理中的风险管理包括哪些步骤?风险管理是确保软件项目成功的重要环节,步骤如下:- 风险识别:识别和描述可能影响项目目标实现的风险。