软件工程 简答题复习题(带答案)

合集下载

软件工程复习题(带答案)

软件工程复习题(带答案)

一、填空题

1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个

入口和一个出口。

2.程序的三种基本控制结构的共同特点是。(单入口单出口)

3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构)

4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。

5.计算机程序及其说明程序的各种文档称为。(软件)

6.软件是、和(程序、数据、相关文档)的完整集合。

7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。

8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文

档)的编制是很重要的。

9.软件工程方法学有3大要素、工具、。(方法、过程)

10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。

11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么)

12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试)

13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构)

14.最早提出软件系统维护问题的阶段是_________。(需求分析)

15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。

16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题)

17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。

软件工程简答题答案

软件工程简答题答案

简答题

1.什么是软件工程?请分析软件工程的目标是什么?

答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:

a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

b)增强软件过程的可见性和可控性,保证软件的质量。

c)提高所开发软件的可维护性,降低维护费用。

d)提高软件开发生产率,及时交付使用。

e)合理预算开发成本,付出较低的开发费用。

2.什么是软件危机?软件危机表现在哪几个方面?

由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

a)“已完成”的软件不满足用户的需求。

b)开发进度不能保障,交付时间一再拖延。

c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。

d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。

3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?

答案:

对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。

软件工程简答题及答案

软件工程简答题及答案

软件工程试题整理_简答题

1、可行性研究的任务是什么?

首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?

一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?

非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。㈤渐增式比较彻底,已测试的模块和新的模块再测试。㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。㈦非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐增式测试有以下两种不同的组装模块的方法:㈠自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,它又有两种组合策略:①深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合其它需要优先考虑的路径。②宽度有先策略:逐层结合直接下属的所有模块。㈡自低向上结合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的族。

软件工程简答题——答案

软件工程简答题——答案

38.就程序设计语言的工程特性而言,对程序编码有哪些要求?

就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性

39.模块的内聚性包括哪些类型?

模块的内聚性包括:

(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚

36.可行性研究报告的主要内容有哪些?

解:一个可行性研究报告的主要内容如下:

(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。

(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

软件工程复习题(简答题)

软件工程复习题(简答题)

软件⼯程复习题(简答题)

软件⼯程复习题(简答题)

五、简述题:

1,软件产品具有与硬件产品完全不同的特征是:

答:

(1)软件是⼀种逻辑实体,具有抽象性,我们可以把它们存储在介质上,但却不能直接看到软件的形态,因⽽必须通过运⾏,观察、分析、思考、判断才能了解软件的功能、性能及其他特性。软件产品具有明显的⾮可视性。

(2)软件的⽣产和硬件⽣产不同。软件是由开发或⼯程化⽽形成的,不是传统意义上的制造过程⽣产的。硬件在⽣产过程当中仍然可能引⼊质量问题,这种问题在软件⽣产中⼏乎是不存在的。软件的开发成本集中在开发过程上,硬件⽣产成本主要表现在原材料的消耗上。(3)软件产品不会磨损。软件产品也会出现故障,所不同的是硬件产品的故障主要来⾃于外界条件造成的部件磨损或⽼化,软件故障都是由于设计开发过程中的隐患造成的,硬件故障通过更换零件来解决故障,软件则是通过软件维护修改来排除故障。

2、软件危机的具体表现是:

答:

(1)软件开发没有真正的计划性,对软件开发进度和软件开发成本的估计不准确,计划制定盲⽬、⼯期超时、成本失控。

(2)对软件需求信息获取不充分,产品不能满⾜⽤户的实际需求。

(3)缺乏良好的软件质量评测⼿段,导致软件质量不能保证。

(4)对可理解性、可维护性理解不够,产品可复⽤性和可维护性不如⼈意。

(5)软件开发过程没有实现规范化,缺乏必要的⽂档资料或这⽂档资料不合格、不准确、难以进⾏专业维护。

(6)软件开发的⼈⼒成本持续上升。

(7)缺乏⾃动化软件开发技术,软件开发⽣产率低下,不能满⾜急剧增长的需求。

3、产⽣软件危机的原因:

软件工程—简答题

软件工程—简答题

软件工程—简答题

四、简答题

1. 简述软件危机产生的缘故。

答案:软件危机产生的缘故有:(每点1分)

(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的治理困难。由于软件规模大,结构复杂,又具有无形性,导致治理困难,进度操纵困难,质量操纵困难,可靠性无法保证。

(3)软件开发费用不断增加。软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升专门快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。软件仍旧采纳个体手工方式开发。

2. 简述需求分析的概念及需求分析的差不多任务。

答案:需求分析是指开发人员要准确明白得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。(3分)需求分析的差不多任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须〝做什么〞的问题。(2分)

3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图和事务型数据流图。(1分)变换型数据流图是由输入、处理和输出三部分组成,(1分)因此变化型数据流图是一个顺序结构。(1分)事务型数据流图特点:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并依照输入的值选择其中一个路径来执行。(1分)

4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)

(1)确定类:标出来自问题域的相关对象类。

(2)预备数据字典:为所有建模实体预备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范畴,包括对类的成员、用法方面的假设或限制;

软件工程(简答题)

软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。问题反馈【教师释疑】

正确答案:【PAD图】

2、UML是一种语言。问题反馈

【教师释疑】

正确答案:【可视化】

3、类是一组具有属性、操作、关系和语义的对象的描述。问题反馈

【教师释疑】

正确答案:【相同】

4、对象是类的一个。问题反馈

【教师释疑】

正确答案:【实例】

5、用况图是一种表达系统模型的图形化工具。问题反馈

【教师释疑】

正确答案:【功能】

6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。问题反馈

【教师释疑】

正确答案:【时序】

7、模块的作用域是指受该模块内一个所影响的所有模块的集合。问题反馈【教师释疑】

正确答案:【判定】

8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。问题反馈

【教师释疑】

正确答案:【从属于】

9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。问题反馈

【教师释疑】

正确答案:【环境|边界】

10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。模块结构图可用和两种形式来表示。问题反馈

【教师释疑】

正确答案:【层次图|HIPO图】

11、在设计模块结构图时要基于原则来设计模块。问题反馈

【教师释疑】

正确答案:【高内聚低耦合】

12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。问题反馈

【教师释疑】

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版

一、选择题

1、白盒测试法是通过分析程序的(C)来设计测试用例的。

A.应用范围

B.功能

C.内部逻辑

D.输入数据

2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。

A.风险产生的原因

B.风险监控技术

C.风险能否消除D风险发生所产生的后果

3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。

A.好的计划

B.不断的发布

C.反馈和勇气

D.持续集成

4、等价分类法的关键是(C)。

A.确定等价类的边界条件

B.按照用例来确定等价类

C.划分等价类D确定系统中相同和不同的部分

5、下列不属于黑盒测试的技术是(A)。

A.程序段或语句的功能

B.模块的接口

C.数据的名称和用途

D.模块的功能

6、为了提高模块的独立性,模块之间最好是(D)耦合。

A.控制耦合

B.公共耦合

C.内容耦合

D.数据耦合

7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。

A.角色

B.活动

C.制品

D.工作流

&功能性注释嵌入在源程序内部,它是用来说明(A)。

A.程序段或语句的功能B模块的接口

C.数据的名称和用途D模块的功能

9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有(C)。

A.只有结构化语言.B有结构化语言和判定树

C.有结构化语言、判定树和判定表

D.有判定树和判定表

10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。

软件工程简答题答案

软件工程简答题答案

软件工程简答题答案

简答题

1.什么是软件工程?请分析软件工程的目标是什么?

答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:

a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

b)增强软件过程的可见性和可控性,保证软件的质量。

c)提高所开发软件的可维护性,降低维护费用。

d)提高软件开发生产率,及时交付使用。

e)合理预算开发成本,付出较低的开发费用。

2.什么是软件危机?软件危机表现在哪几个方面?

由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

a)“已完成”的软件不满足用户的需求。

b)开发进度不能保障,交付时间一再拖延。

c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。

d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。

3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?

答案:

对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)

1. 什么是软件工程?

软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?

常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?

需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?

需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?

软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?

常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?

软件测试是为了评估系统的质量和功能是否满足需求的过程。它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?

软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

软件工程期末试卷简答题(答案)

软件工程期末试卷简答题(答案)

软件⼯程期末试卷简答题(答案)

软件⼯程简答

1、软件和软件⽣存周期。(什么是软件⽣存期。)

软件是能够完成预定功能和性能的可执⾏的计算机程序,包括使程序正常执⾏所需要的数据,以及有关描述程序操作和使⽤的⽂档。(软件=程序+⽂档)

软件⽣存周期:由软件定义、软件开发、运⾏维护3个时期组成,每个时期⼜进⼀步划分成若⼲阶段。软件⽣存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

2、什么是软件危机?他有哪些典型的表现?产⽣的原因?

软件危机是指计算机软件开发和维护过程中所遇到的⼀系列严重问题。

典型表现有:

(1)对软件开发成本和进度的估计常常很不准确

(2)软件产品的质量往往靠不住

(3)⽤户对已完成的软件系统不满意的现象经常发⽣

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

(5)软件中没有适当的⽂档资料

(6)软件成本在计算机系统总成本所占的⽐例逐年上升(成本上升)

(7)软件开发⽣产率提⾼的速度,往往跟不上计算机应⽤迅速普及深⼊的趋势

原因:

(1)软件本⾝独有的特点,给开发和维护带来了困难

(2)与软件开发和维护的⽅法不正确有关

(3)程序只是完整软件的⼀个组成部分

(4)轻视是⼀个最⼤的错误

3、软件项⽬的质量管理

制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进⾏评审,对最终软件产品进⾏确认,确保软件质量。

5、螺旋模型的适应场合有哪些?0104

适应场合:⽀持需求不明确、特别是⼤型软件系统的开发,并⽀持⾯向规格说明、⾯向过程、⾯向对象等多种软件开发⽅法,是⼀种具有⼴阔前景的模型。

6.什么是软件过程?它与软件⼯程⽅法学有何关系?

软件工程复习题及参考答案

软件工程复习题及参考答案

软件⼯程复习题及参考答案

软件⼯程复习题及参考

答案

⽂稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-《软件⼯程》课程复习资料

⼀、单项选择题:

1.下⾯哪些UML图描述系统⾏为?

[ ]

A.⽤例图

B.类图

C.对象图

2.属于概要设计活动的是

[ ]

A.软件结构设计

B.数据结构设计

C.算法设计

3.属⾏为型设计模式的是

[ ]

A.组合模式

B.⼯⼚⽅法模式

C.观察者模式

4.下列说法正确的是

[ ]

A.UML 是软件开发⽅法

B.UML是系统描述语⾔

C.UML是软件开发过程

5.根据程序流程图划分的模块通常是

[ ]

A.信息内聚的模块

B.过程内聚的模块

C.逻辑内聚的模块

6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为

[ ]

C.m+1

7.按ISO9000-3的说明,下列属软件配置项的是

[ ]

A.软件开发⽅法

B.软件开发组织管理制度

C.软件开发合同

8.软件测试的⽬的是

[ ]

A.证明软件⽆错

B.发现软件中的所有错误

C.尽可能发现软件系统中的错误

9.软件重构关注的是

[ ]

A.软件体系结构

B.模块细节

C.软件性能

10.软件项⽬开发计划的内容有

[ ]

A.数据分析

B.风险分析

C.功能分析

11.在UML的类图中,描述整体与部分关系的是

[ ]

A.泛化关系

B.聚合关系

C.依赖关系

12.软件过程能⼒成熟度模型CMM⽤以评价

[ ]

A.软件过程能⼒

B.组织能⼒

C.学习能⼒

13.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]

C.适应性维护

14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供[ ]

软件工程复习题及参考答案

软件工程复习题及参考答案

《软件工程》课程复习资料

一、单项选择题:

1.下面哪些UML图描述系统行为?[]

A.用例图

B.类图

C.对象图

2.属于概要设计活动的是[]

A.软件结构设计

B.数据结构设计

C.算法设计

3.属行为型设计模式的是[]

A.组合模式

B.工厂方法模式

C.观察者模式

4.下列说法正确的是[]

是软件开发方法是系统描述语言

是软件开发过程

5.根据程序流程图划分的模块通常是[]

A.信息内聚的模块

B.过程内聚的模块

C.逻辑内聚的模块

6.如果某程序中的比较个数是m,则其McCabe环形复杂度为[]

按ISO9000-3的说明,下列属软件配置项的是[]

A.软件开发方法

B.软件开发组织管理制度

C.软件开发合同

8.软件测试的目的是[]

A.证明软件无错

B.发现软件中的所有错误

C.尽可能发现软件系统中的错误

9.软件重构关注的是[]

A.软件体系结构

B.模块细节

C.软件性能

10.软件项目开发计划的内容有[]

A.数据分析

B.风险分析

C.功能分析

11.在UML的类图中,描述整体与部分关系的是[]

A.泛化关系

B.聚合关系

C.依赖关系

12.软件过程能力成熟度模型CMM用以评价[]

A.软件过程能力

B.组织能力

C.学习能力

13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为[]

A.完善性维护

B.改正性维护

C.适应性维护

14.对项目软件而言,软件功能需求信息主要由谁提供[]

A.软件用户

B.软件开发人员

C.软件项目管理人员

图反映不出[]

A.系统做什么

B.系统功能由谁做

C.系统如何做

16.原型模型是一种什么开发过程模型?[]

A.自顶向上

B.由外至内

软件工程导论复习题含答案

软件工程导论复习题含答案

软件工程习题集

第1章概述

(一)单项选择题

1.“软件危机”产生的主要原因是( A )。

A.软件日益庞大

B.开发方法不当

C.开发人员编写程序能力差

D.没有维护好软件

2. 软件是一种( B )性工业产品。

A. 理论

B. 知识(或逻辑)

C. 消耗

D. 体力

3. 需求分析是在( B )进行的。

A. 用户

B. 用户和分析设计人员之间

C. 开发人员内部

D. 使用和维护人员间

4. 软件的主要结构和功能是在( A )阶段决定的。

A. 分析设计

B. 编程

C. 测试

D. 维护

5.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档

6.在软件工程时期,决定软件质量的主要因素是( A )

A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展

7. 在软件开发模型中,提出最早、应用最广泛的模型是( A )。

A. 瀑布模型

B. 喷泉模型

C. 增量模型

D. 螺旋模型

8.瀑布模型把软件生存周期划分为软件定义、软件开发与( C )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计

B. 可行性分析

C. 运行及维护

D. 测试与排错

9. 计算机辅助软件工程,简称( D )。

A. SA

B. SD

C. SC

D. CASE

10. 软件危机是软件产业化过程中出现的一种现象,下述现象中:( C )是其主要表现。

①软件需要增长难以满足。

②软件开发成本提高。

③软件开发进度难以控制。

④软件质量不易保证。

A. ③和④

B. ③和④

C. 全部

D. ①、②和③

软件工程简答题——答案

软件工程简答题——答案

38.就程序设计语言的工程特性而言,对程序编码有哪些要求?

就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性

39.模块的内聚性包括哪些类型?

模块的内聚性包括:

(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚

36.可行性研究报告的主要内容有哪些?

解:一个可行性研究报告的主要内容如下:

(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。

(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

软件工程简答题及答案

软件工程简答题及答案

软件工程简答题及答案

本文档将回答一些关于软件工程的简单问题。包括软件开发模型、软件需求等方面。

软件开发模型

1. 软件开发模型有哪些?

常见的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、敏捷开发模型等。

2. 瀑布模型和原型模型的区别是什么?

瀑布模型是一种顺序开发模型,开发流程是依次完成需求分析、设计、编码、测试和维护;原型模型则是一种迭代开发模型,先制作出可用的原型,然后根据反馈不断改进,逐渐得到最终的产品。

3. 增量模型和螺旋模型的特点有哪些?

增量模型是一种迭代开发模型,每个阶段都制作可用的部分产品,直到全部完成;螺旋模型则是一种风险导向的开发模型,通过逐步分析和评估风险来制定开发计划。

4. 敏捷开发模型的优点是什么?

敏捷开发模型是一种迭代开发模型,强调开发过程中的人与人之间的交流和合作,可以更快地适应需求变化和快速反馈,有利于降低开发成本和风险。

软件需求

1. 软件需求是什么?

软件需求是指用户对软件系统的功能、性能和质量等方面的要求和期望,是软件开发过程中最重要的一部分。

2. 软件需求如何进行收集和分析?

软件需求的收集和分析是一个迭代的过程,包括与用户的沟通、需求规格化、需求验证等步骤,一般会使用到一些工具,如用户故事、用例规约等。

3. 软件需求如何进行管理和维护?

软件需求的管理和维护包括需求跟踪、版本控制等方面,一般会使用到一些工具,如需求管理工具、版本控制工具等。

通过本文的介绍,不难看出软件工程是一个相对复杂的领域,对于开发人员而言,要善于运用各种开发模型和需求管理工具,以便能够更好地完成软件开发和维护工作。

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

n n

g

a

r

第一章

1,与计算机硬件相比,计算机软件有哪些特点?

软件的特点如下。

1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来

了解它的功能、特性和质量等。

2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过

程中,渗透了大量的脑力劳动。

3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问

题。

4)软件的开发和运行必须依赖于特定的计算机系统环境。

5)具有可复用性。

3,什么是软件危机?什么原因导致了软件危机?

软件危机的现象如下。

1)预算,项目一再拖延。

2)需求,开发的软件不能满足用户的要求,项目成功率低。

3)软件工程方法,软件可维护性差、软件质量差、可靠性差。

4)开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软

件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升

高。

2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法

做到准确估算,生产过程不易控制。

4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成

本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得

多。

5,请简述软件工程研究的内容。

n

d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实

施、系统维护、版本升级等。

常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。

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

目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开

发。

1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效

率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组

织过程。

3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的

开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程

的管理。

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

1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向

对象技术为标志。

2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中,

采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。

4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、

XP 模型、过程改进、能力成熟度模型、配置管理等。

第二章

1,如何理解软件生命周期的内在特征?

软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,再到最终该产品被市场淘汰的全过程。

软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。由于每个阶段的任务相对于总任务难度会大幅度降低,因此在资源外配、时间把握和项目管理上都会比较容易控制。应该合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

3,当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较合?

开发模型不是孤立或排斥的,它们之间需要相互借鉴和参考。螺旋模型是一种综合性的模型,适和于较复杂的系统。

5, XP是一种什么样的模型?

XP是现代版的增量模型,特点是客户参与、适应变化、测试驱动、以代码为核心。实行XP的条件如下。

1)企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。

2)软件结构是开放的,增量可随意整合。

3)开发团队拥有“系统隐喻"。

7,请简述软件过程。

软件过程就是软件产品的加工过程,其本质就是将“客观世界”映射(虚拟)到“计算机世界”,即从抽象到具体的逐步细化过程。系统分析就是对客观世界的抽象,中间要经过分析模型、设计模型的逐步细化(具体化),最终的具体结果就是计算机世界里的代码。

9,请简述CMM的作用。

1)CMM是评价软件组织开发能力(水平)的参考模型,是一种认证标准,

认可软件工程达到的程度(如同评定职称的条件)

2)CMM是软件组织提升自身能力、走向成熟的参照系。它提供了走向成熟

的阶梯目标,但并不提供走向目标的方法。

3)CMM等级的提高依靠软件过程改进。

4)CMM既是评估软件能力成熟度的模型,也起到了促进软件企业按照该模

型设置的级别和关键过程域不断改进自己的软件过程的作用。

11,假设你要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你做出这样选择的理由。

对这个软件的需求很明确,实现开平方功能的算法也很成熟。因此,既无须通过原型模型来分析需求也无须用原型模型来验证设计方案。此外,一旦实现并测试完之后,该产品将被地弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。

第五章

1,在选择编程语言时,通常要考虑哪些因素?

1)待开发系统的应用领域,即项目的应用范围。

2)用户的要求。

3)软件开发人员的喜好和能力。

4)系统的可移植性要求。

5)算法和数据结构的复杂性。

3,什么是调试?什么是测试?二者有何区别?

调试(debug)指的是对模块的调试,是程序员交付可运行的代码模块所必须经历的工作。

软件测试(test)有如下特点。

1)软件测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明

程序无错。

相关文档
最新文档