软件工程课后作业

合集下载

软件工程课后作业总

软件工程课后作业总

软件工程是采用工程化的概念、原理、技术和方法指导计算机(C )的工程学科。

A、软件开发B、管理技术C、软件开发和维护D、程序设计【单选题】在软件生命周期法中,用户的参与主要在(A)。

A、软件定义期B、软件开发期C、软件维护期D、整个软件生命周期过程中生存周期的瀑布模型一般包括问题定义、可行性研究、( B )、设计、编码、测试、维护等几个阶段。

A、问题定义B、需求分析C、总体设计D、数据库设计软件工程把经过时间考验而证明正确的管理技术和当前能够得到的最好的__D__结合起来。

A、软件开发B、管理方法C、开发环境D、技术方法【单选题】生存周期的瀑布模型一般包括:问题定义、可行性研究、系统设计、编码、测试、__D 等几个阶段。

A、需求分析B、可行性分析C、程序设计D、维护【单选题】快速原型模型的主要特点之一是( D )。

A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供可工作的软件开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。

A、软件工程B、软件周期C、软件危机D、软件产生【单选题】瀑布模型把软件生命周期划分为软件定义、软件开发与( C )3个阶段,而每一个阶段又可细分为若干个更小的阶段。

A、详细设计B、可行性分析C、运行维护D、测试与排错划分软件生存周期的阶段时所应遵循的基本原则是( B )。

A、各阶段的任务尽可能相关性B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立【单选题】系统定义明确之后,应对系统的可行性进行研究。

可行性研究应包括(B )。

A、软件环境可行性、技术可行性、经济可行性B、经济可行性、技术可行性、操作可行性C、经济可行性、社会可行性、系统可行性D、经济可行性、实用性、社会可行性软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的_ B _。

软件工程第6章-课后作业参考(附答案)

软件工程第6章-课后作业参考(附答案)

软件⼯程第6章-课后作业参考(附答案)第六章作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所⽰:图6-1从伪码变成的程序流程图(2)该程序的盒图如图6-2所⽰:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表⼀个⾮结构化的程序,请问:(1)为什么说它是⾮结构化的?(2)设计⼀个等价的结构化程序。

(3)在(2)题的设计中你使⽤附加的标志变量flag吗?若没⽤,请再设计⼀个使⽤flag 的程序;若⽤了,再设计⼀个不⽤flag 的程序。

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。

图⽰的程序的循环控制结构有两个出⼝,显然不符合狭义的结构程序的定义,因此是⾮结构化的程序。

(2)使⽤附加的标志变量flag,⾄少有两种⽅法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。

(a)解法1(b)解法2图6-3 与该图等价的结构化程序(⽤flag)(3)不使⽤flag把该程序改造为等价的结构化程序的⽅法如图6-4所⽰。

图6-4 与该图等价的结构化程序(不⽤flag)8.画出下列伪码程序的流图,计算它的环形复杂度。

你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所⽰:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所⽰:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数⽬+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

软件工程课后习题答案

软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题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. 软件⼯具的作⽤是为了延长软件产品的寿命。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

(完整版)软件工程课后答案

(完整版)软件工程课后答案

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

软件工程理论与实践课后习题

软件工程理论与实践课后习题

软件工程理论与实践课后习题1、下列要素中,不属于DFD的是()。

[单选题] *A、加工B、数据流C、数据存储D、联系(正确答案)2、当使用DFD对一个工资系统进行建模时,()可以被认定为外部实体。

[单选题] *A、接收工资单的银行(正确答案)B、工资系统源代码程序C、工资单D、工资数据库的维护3、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。

以下关于产生这些文档的描述中,正确的是() [单选题] *A、外部设计评审报告在概要设计阶段产生B、集成测试计划在程序设计阶段产生C、系统计划和需求说明在详细设计阶段产生D、在进行编码的同时,独立的设计单位测试计划(正确答案)4、在UML提供的图中,()用于描述系统与外部系统及用户之间的交互。

[单选题] *A、用例图(正确答案)B、类图C、对象图D、部署图5、在UML提供的图中,()用于按时间顺序描述对象间的交互。

[单选题] *A、网络图B、状态图C、协助图D、序列图(正确答案)6、在开发一个系统时,如果用户对系统的目标不是很清楚,难以定义需求,这时最好使用()。

[单选题] *A、原型法(正确答案)B、瀑布模型C、V-模型D、螺旋模型7、应该在()阶段制定系统测试计划。

[单选题] *A、需求分析(正确答案)B、概要设计C、详细设计D、系统测试8、在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述不正确的是()。

[单选题] *A、Gantt图表现各个活动的顺序和它们之间的因果关系(正确答案)B、Gantt图表现哪些活动可以并行进行C、Gantt图表现了各个活动的起始时间D、Gantt图表现了各个活动完成的进度9、以下内容中,()应写入操作手册。

[单选题] *A、描述系统对各种输入数据的处理方法B、说明系统升级时厂商提供的服务C、描述系统处理过程的各个界面(正确答案)D、说明系统各部分之间的接口关系10、耦合度描述了()。

软件工程第三版课后习题

软件工程第三版课后习题

简介的怨言来描述软件系统模型。
A.DFD图 B.PAD图 C.HIPO图 D.数据字典
第四章
一、判断题
1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。
(N)
2、软件设计说明书是软件概要设计的主要成果。( Y )
3、软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代
A.设计软件系统的结构
C.数据结构和数据库设计
B.编写测试报告
D.编写概要设计文档
3.数据字典是定义( A )中的数据的工具。
A.数据流图 B.系统流程图
C.程序流程图
D.软件结构图
4.耦合是软件各个模块间连接的一种度量。一组模块都访问同意数据结构应属于
( B )。
A.内容耦合 B.公共耦合 C.外部耦合 D.控制耦合
软件分析:数据流程图、业务流程图、结构图)
第六章
一、判断题
1.在树状结构中,位于最上面的根部是顶层模块。( Y)(他是程序主模式)
2.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
(N)
二、选择题
1.结构化程序设计要求程序由顺序、循环和( A )三种结构组成。
A.分支
B.单入口
A.提高模块的独立性
B.体现统一的风格
C.是模块结构的作用语在该模块的控制域外
D.结构应该尽可能满足变更的要求
11.软件的结构化设计方法是以( C )为依据的模块结构设计方法。
A.系统数据要求 B.数据结构 C.数据流图 D.数据流
12.下面不是数据库设计的阶段的是( C )。
A.概念结构设计阶段
C.模块划分
二、选择题
1、软件开发过程中,需求活动的主要任务是( B )。

软件工程(第二版)课后习题

软件工程(第二版)课后习题

第一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 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。

其特点包括软件开发的目标性、可度量性、可管理性和可预测性。

1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。

每个生命周期模型都有其适用的场景和优缺点。

2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。

需求获取的目的是明确软件系统的功能、性能和约束条件。

2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。

规格说明是将需求转化为精确、清晰和易于验证的文档。

3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。

3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。

常用的面向对象设计方法有UML(统一建模语言)。

4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。

测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。

4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。

每种方法和技术都有其适用的场景和优缺点。

5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。

维护活动包括需求分析、设计、实现、测试和文档更新等。

5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。

软件工程课后习题_第1,2,3章

软件工程课后习题_第1,2,3章

第一章:一.判断题:1.软件就程序,编软件就是编写程序。

()2.软件危机的主要表现是软件需求增加,软件价格上升。

()3.软件工程科学出现的主要原因是软件危机的出现。

()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。

它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。

A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。

6.请简述软件工程的三要素。

7.请简述软件工程的目标,过程和原则。

8.请简述软件工程的基本原则。

9.请简述现代软件工程与传统软件工程显著的区别与改进。

第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

软件工程课后作业

软件工程课后作业

第一章1.1答: 软件危机是指在计算机软件开发、使用与维护过程中碰到的一系列严重问题和难题。

它涉及两方面: 如何开发软件, 已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计经常很不准确。

经常出现实际成本比估算成本高出一个数量级、实际进度比计划进度迟延几个月甚至几年的现象。

而为了赶进度和节约成本所采用的一些权宜之计又往往损害了软件产品的质量。

这些都减少了开发商的信誉, 引起用户不满。

(2) 用户对已完毕的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件经常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格, 必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的因素:(1) 来自软件自身的特点: 是逻辑部件, 缺少可见性;规模庞大、复杂, 修改、维护困难。

(2) 软件开发与维护的方法不妥: 忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求, 人们显得力不从心。

1.2答: 在软件开发的不同阶段进行修改付出的代价是很不相同的, 在初期引入变动, 涉及的面较少, 因而代价也比较低;在开发的中期, 软件配置的许多成分已经完毕, 引入一个变动要对所有已完毕的配置成分都做相应的修改, 不仅工作量大, 并且逻辑上也更复杂, 因此付出的代价剧增;在软件“已经完毕”是在引入变动, 当然付出的代价更高。

一个故障是代码错误导致的, 有时这种错误是不可避免的, 但要修改的成本是很小的, 由于这不是整体构架的错误。

1.3答: 1993年IEEE的定义: 软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运营和维护过程, 也就是把工程应用于软件;②研究①中提到的途径。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案1.简述软件开发的本质答: 软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P192.简述实施软件开发的基本途径。

答: 实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P193.简述何谓模型以及软件开发中所涉及的模型。

答: 模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

4.简述软件开发所涉及的两大类技术。

答: 软件开发所涉及的两大类技术为: 一是求解软件的开发逻辑,二是求解软件的开发手段。

5、简述需求与需求规约的基本性质。

答:需求的基本性质:1) 必要的,该需求是用户所要求的。

2) 无歧义的,该需求只能用一种方式解释。

3) 可测的,该需求是可进行测试的。

4) 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。

5) 可测量的,该需求是可测量的。

需求规约的基本性质:1) 重要性和稳定性程度: 按需求的重要性和稳定性,对需求进行分级。

2) 可修改的: 在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。

3)完整的:没有被遗漏的需求。

4)一致的:不存在互斥的需求。

6、简述软件需求的分类答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、功能需求7、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。

P248、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

(完整版)软件工程课后习题答案

(完整版)软件工程课后习题答案

第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z 语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

软件工程课后作业软件工程第4版课后答案

软件工程课后作业软件工程第4版课后答案

软件工程课后作业软件工程第4版课后答案软件工程第4版课后答案第一题:1. 什么是软件工程?软件工程的目标是什么?软件工程是一种应用工程原理和方法来开发和维护高质量软件的学科。

它涵盖了软件开发生命周期的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。

软件工程的目标是以系统化、规范化和可控的方式来开发软件,使得软件能够满足用户的需求,具有高质量、高可靠性和高效率。

第二题:2. 软件工程的关键特性是什么?软件工程的关键特性包括可靠性、可维护性、可复用性和可管理性。

可靠性指的是软件在预期情况下能够正确运行的能力;可维护性指的是容易对软件进行修改和更新;可复用性指的是能够将软件组件应用于不同的项目中;可管理性指的是有效地管理和控制软件开发过程和项目资源。

第三题:3. 软件开发生命周期中的阶段有哪些?软件开发生命周期包括需求分析、设计、编码、测试、部署和维护等阶段。

需求分析阶段是确定软件系统需求的过程,包括收集、分析和规划需求;设计阶段是定义软件系统的结构和组织,确定软件的架构和模块划分;编码阶段是根据设计产生的规范和文档来实现软件系统;测试阶段是验证软件系统是否满足需求和质量标准;部署阶段是将软件系统转移到用户环境并进行正式使用;维护阶段是对软件进行修改和改进,以保持其可用性和稳定性。

第四题:4. 什么是质量保证?软件开发中的质量保证活动有哪些?质量保证指的是通过有效的管理和控制手段,确保软件开发过程和软件产品的质量。

软件开发中的质量保证活动包括需求评审、设计评审、代码审查、单元测试、功能测试、性能测试、用户验收测试等。

通过这些活动,可以及早发现和解决开发中的问题,确保软件的质量。

第五题:5. 软件项目管理的关键活动有哪些?软件项目管理的关键活动包括项目规划、项目组织、项目估计、进度控制和风险管理等。

项目规划是确定项目目标、任务和资源分配计划等;项目组织是建立和管理项目团队;项目估计是对项目工作量、成本、资源等进行估计和计划;进度控制是监控和调整项目进度;风险管理是识别和应对项目中的风险。

软件工程课后作业第四章

软件工程课后作业第四章

软件工程课后作业第四章第四章.简述软件设计阶段的基本任务。

答:(1)数据/类设计数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。

(2)体系结构设计体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和他们之间的关系组成。

(3)接口设计接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。

(4)部件级设计部件级设计将软件体系结构的结构性元素变换为对软件部件的过过程性描述。

.软件设计与软件质量的关系是怎么样的答:设计是在软件开发中形成质量的阶段,设计提供了可以用于质量评估的软件表示,是将用户需求准确地转化为完整的软件产品或系统的主要途径。

.简述模块、模块化及模块化设计的概念。

答:模块:具有名字、参数、功能等外部特征以及完场模块功能的程序代码和模块内部数据等特征。

模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。

模块化设计:简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。

.举例说明每种类型的模块耦合度和每种类型的模块内聚度。

答:1、巧合内聚:讲几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称巧合内聚模块。

2、逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制性参数来确定该模块应执行哪一种功能。

3、时间内聚:时间内聚是指一个模块中的所有任务必须在同一时间段内执行。

4、过程内聚:过程内聚是指一个模块完成多个任务,这些任务必须指定的过程执行。

5、通信内聚:通信内聚是指一个模块内所有处理元素都集中在某个数据结构的一块区域中。

6、顺序内聚:顺序内聚是指一个模块完成多个功能,这些功能又必须顺序执行7、功能内聚:功能内聚是指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1次作业
路松峰20140062 2018-07-29 10:32:40
软件产品的开发基本上是线性顺序进行的。

2、什么是模型?
模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。

二、判断题
1、在软件开发中采用原型系统策略的主要困难是成本问题。

正确
2、软件过程改进也是软件工程的范畴。

正确
三、选择题
1、包含风险分析的软件工程模型是( D )。

A.喷泉模型
B.瀑布模型
C.增量模型
D.螺旋模型
2、软件过程是(C )。

A.特定的开发模型
B. —种软件求解的计算逻辑
C.软件开发活动的集合
D.软件生命周期模型
3、CMM模型将软件过程的成熟度分为5个等级。

在(B )使用定量分析来不断地改进和管理软件过程。

A.管理级
B.优化级
C.定义级
D.可重复级
第3次作业
路松峰_20140062 2018-07-29 10:34:34
一、简答题
1、需求分析有哪三种方法?
面向功能分析、面向数据分析、面向对象分析
2、什么是面向数据结构方法?
面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。

该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导岀软件的结构。

二、判断题
1、需求评审人员主要由开发人员组成,一般不包括用户。

错误
2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。

正确
三、选择题
1、增量模型本质上是一种( C )。

A.线性顺序模型
B.整体开发模型
C.非整体开发模型
D.螺旋模型
2、需求工程的主要目的是( C )。

A.系统开发的具体方案
B.进一步确定用户的需求
C.解决系统是“做什么的问题”
D.解决系统是“如何做的问题”
3、在E-R模型中,包含以下基本成分(D )。

A.数据、对象、实体
B.控制、关系、对象
C.实体、关系、控制
D.实体、属性、关系
第4次作业
路松峰_20140062 2018-07-29 10:35:04
一、简答题
1、面向对象分析模型的五个层次是什么?
五个层次:类与对象层,属性层,服务层,结构层,主题层
2、对象的五个特点是什么?
第5次作业
路松峰_20140062 2018-07-29 10:35:33
一、简答题
1. 需求分析阶段主要综合考虑的因素有哪些?
软件系统的应用范围、业务功能、业务操作功能、数据流图、性能、运行环境、界面、开发工期、费用、开发进度、系统风险等。

2. 什么是执行者?
执行者是与系统交互的人或物,它代表外部实体。

二、判断题
1、软件测试的目的是证明软件是正确的。

错误
2、白盒测试是结构测试,主要以程序的内部逻辑为基础设计测试用例。

正确
三、选择题
1、软件测试的目的是尽可能发现软件中的错误,通常( D )是代码编写阶段可进行的测试,它是整个测试工作的基础。

A.集成测试
B.系统测试
C.验收测试
D.单元测试
2、成功的测试是指运行测试用例后( A )。

A.发现了程序错误
B.未发现程序错误
C.证明程序正确
D.改正了程序错误
3、黑盒测试方法根据(B )设计测试用例。

A.程序的调用规则
B.软件要完成的功能
C.模块间的逻辑关系
D.程序的数据结构
第6次作业
路松峰_20140062 2018-07-29 10:36:07
一、简答题
1. 能力成熟度的五个等级是什么?
初始级、可重复级、已定义级、已管理级、优化级。

2. 软件维护分为哪几类?
改正性维护、适应性维护、完善性维护、预防性维护
二、判断题
1、类封装比对象封装更具体、更仔细。

错误
2、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。

正确
三、选择题
1•应用执行对象的操作可以改变该对象的(C )。

A.行为
B.功能
C.属性
D.数据
2. (D )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐藏的,外界只能通过有限的接口与对象发生联系。

A.多态性
B.继承
C.消息
D.封装
3. (B )意味着一个操作在不同的类中可以有不同的实现方式。

A.多继承
B.多态性
C.消息
D.封装
第7次作业
路松峰20140062 2018-07-29 10:36:42
一、简答题
1. 结构程序设计常见的三种结构是什么?
顺序结构、选择结构和循环结构。

2. 面向对象建模有哪几种?
对象模型、动态模型、功能模型。

二、判断题
1、面向对象分析和设计活动是一个多次反复迭代的过程。

正确
2、一个设计得好的软件系统具有低内聚、高耦合的特征。

错误
三、选择题
1. 面向对象设计时,对象信息的隐藏主要是通过( A )实现的。

A.对象的封装
B.子类的继承性
C.系统模块化
D.模块的可重用
第8次作业
路松峰_20140062 2018-07-29 10:37:13
一、简答题
1. 计算环形复杂度。

环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测度数量的上界。

2. 调试的目标是什么?它有几种途径?
调试则是在进行了成功的测试之后才开始的工作。

调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错(Debug )。

调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。

二、判断题
1、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。

正确
2、面向对象测试用例的设计由输入-处理-输岀视图或单个模块的算法细节驱动。

正确
三、选择题
1. 面向对象程序设计语言不同于其它语言的最主要特点是( C )o
A.模块性
B.抽象性
C.继承性
D.内聚性
2. 面向对象的测试与传统测试方法的主要区别是(AC )o
A.面向对象的测试可在编码前进行,传统测试方法在编码后进行
B.面向对象的测试以需求和设计阶段
的测试为主,不需要进行代码测试 C.测试对象不同D.面向对象的测试不需要设计测试用例,只需要
3. 面向对象的实现主要包括(A )o
A.把面向对象设计用某种程序设计语言书写为面向对象程序,测试并调试面向对象的程序计C.选择面向对
B.面向对象设象语言 D.单元测试
第9次作业
路松峰_20140062 2018-07-29 10:38:07
一、简答题
1. 主程序员组的核心有几个人?其角色名称与分工是什么?
主程序员:全面负责系统定义、设计、编码、调试、安装。

辅助程序员:协助主程序员,必要时替代主程
序员(平时侧重于测试方案,分析测试结果)。

程序管理员:全部事务性工作(提交上机程序、保存运行语言、进行软件配置)。

2. 类构件的重用方式有哪些?
实例重用、继承重用和多态重用。

二、判断题
1、部署图描述系统硬件的物理拓扑结构以及在此结构上执行的软件。

正确
2、用例之间有扩展、使用、组合等几种关系。

正确
三、选择题
1. (A )是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、协作图和其它图的基础。

A.类图
B.状态图C对象图D.部署图
2. UML是软件开发中的一个重要工具,它主要应用于( D )。

A.基于螺旋模型的结构化方法
B.基于需求动态定义的原型化方法
C.基于数据的数据流开发方法
D.基于对象的面向对象的方法
3. (C )是从用户使用系统的角度描述系统功能的图形表达方法。

A.类图
B.活动图
C.用例图
D.状态图
第10次作业
路松峰_20140062 2018-07-29 10:39:09
一、简答题
1. 什么是3C模型?
2. 软件重用的基本要求是什么?
为使软构件也像硬件集成电路那样,能在构造各种各样的软件系统时方便地重复使用,就必须使它们满足下列要求。

(I)模块独立性强;(2)具有高度可塑性;(3)接口清晰、简明、可靠。

二、判断题
1、回避风险指的是:风险一旦发生,就接受后果。

错误
2、风险有两个显著特点,一是不确定性,另一个是损失。

正确
三、选择题
1. 面向对象分析阶段建立的3个模型中,核心的模型是( C )模型。

A.功能
B.动态
C.对象
D.分析
2. 按照软件配置管理的原始指导思想,受控制的对象应该是( A )。

A.软件过程
B.软件项目
C.软件配置项
D.软件元素
3. 下面(D )不是人们常用的评价软件质量的4个因素之一。

A.可理解性
B.可靠性
C.可维护性
D.易用性。

相关文档
最新文档