《软件工程导论》试题及答案

合集下载

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。

解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。

软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。

代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。

它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。

在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。

它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。

敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。

解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。

其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。

通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。

希望本文对读者有所帮助,谢谢阅读。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2.判断题1.向滞后的项目中增加人手会使得项目更加滞后。

(T)2.过程描述语言可以用于描述软件的系统结构。

(F)3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。

(F)5.只有质量差的软件产品才需要维护。

(F)6.层次图用来描述软件的层次结构。

层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。

在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。

(F)7.建立动态模型的第一步,是编写典型交互行为的脚本。

(T)8.软件错误可能出现在开发过程的早期,越早修改越好。

(T)9.软件模块的耦合是越低越好。

(T)10.一个好的测试用例在于能发现至今未发现的错误。

(T)11.面向对象设计的结果只能采用面向对象语言来实现(F)12.一个成功的项目唯一提交的就是运行程序。

(F)13.用例之间的关系有3种。

(T)14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。

(T)15.软件工作的考虑范围主要是程序设计和实现。

(F)16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G)=N-E+2o(改成E-N+2)(F)17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。

(T)18.在进行总体(改成概要)设计时应加强模块间的联系。

(F)19.系统结构图是精确表达程序结构的图形表示法。

因此,有时也可以将系统结构图当作系统流程图使用。

(T)20.建立动态模型的第一步,是编写典型交互行为的脚本。

(T)21.在程序调试时,找出错误的位置和性质比改正该错误更难。

(F)22.如果通过软件测试没有发现错误,则说明软件是正确的。

(F)23.快速原型模型可以有效地适应用户需求的动态变化。

(T)24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产2023软件工程导论期末考试题库及参考答案1 .填空题1.一般来说,可以从一致性、完整性、现实性和有效性四个方面验证软件需求的正确性。

《软件工程导论》期末考试试题和答案

《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是( A )。

3.A、软件开发工作的基础 B、软件生存周期的开始4.C、由系统分析员单独完成的 D、由用户自己单独完成的5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。

6.A、明确的需求定义 B、完整的生命周期7.C、较长的开发时间 D、熟练的开发人员8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

9. A、改正性维护 B、适应性维护10. C、完善性维护 D、预防性维护11.一般说来,投入运行的软件系统中有错误( A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

软工导论期末试题及答案

软工导论期末试题及答案

软工导论期末试题及答案一、选择题(每题2分,共40分)1. 软件工程的定义是()A. 解决计算机软件危机的一门技术科学B. 设计软件系统的过程C. 软件产品开发的过程D. 通过分析、设计、实现以及对软件开发过程和工具的管理来提高软件的质量和生产效率2. 软件工程的基本活动包括()A. 需求分析、设计、编码、测试、维护B. 需求分析、设计、实现、测试C. 需求分析、设计、编码、测试D. 需求分析、设计、实现、维护3. 软件过程模型是()A. 实现软件开发的步骤和活动的抽象描述B. 一种特定的软件开发方法或技术C. 一种具体的软件开发流程图D. 一种软件管理工具4. 下面不属于敏捷开发方法的是()A. ScrumB. XP (Extreme Programming)C. RUP (Rational Unified Process)D. Lean5. 软件测试的目的是()A. 证明软件是正确的B. 证明软件是错误的C. 提高软件质量D. 排除软件缺陷6. 静态测试是指()A. 在运行时进行的测试B. 对程序进行动态分析C. 对程序进行代码检查和审查D. 对软件进行压力测试7. 需求变更的原因包括()A. 用户需求不明确B. 代码出现错误C. 项目进度延迟D. 客户意见变化8. 软件质量模型ISO/IEC 9126共包括___个特性()A. 4B. 5C. 6D. 79. 下面哪个不是软件工程中的“四悖”之一?()A. 时间悖论B. 范围悖论C. 成本悖论D. 计划悖论10. 软件项目管理中,衡量项目进展的主要指标是()A. 代码行数B. 开发人员数量C. 已完成的任务数量D. 完成的工作量二、简答题(每题10分,共30分)1. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。

答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。

- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。

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

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

软件工程导论复习题含答案软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是(a)。

a.软件日益巨大b.开发方法不当c.开发人员编写程序能力差d.没保护不好软件2.软件就是一种(b)性工业产品。

a.理论b.科学知识(或逻辑)c.消耗d.体力3.需求分析是在(b)进行的。

a.用户b.用户和分析设计人员之间c.开发人员内部4.软件的主要结构和功能就是在(a)阶段同意的。

a.分析设计b.编程c.测试d.维护5.软件就是计算机系统中与硬件相互依存的另一部分,它的组成部分就是(d)。

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.sab.sdc.scd.case10.软件危机是软件产业化过程中出现的一种现象,下述现象中:(c)是其主要表现。

①软件须要快速增长难以满足用户。

②软件开发成本提升。

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

④软件质量难于确保。

a.③和④b.③和④c.全部d.①、②和③11软件工程的发生主要就是由于(c)。

a.程序设计方法学的影响c.软件危机的出现b.其他工程科学影响d.计算机的发展12、软件生成周期模型有多种,下列选项中,(c)不是软件生存周期模型。

a.螺旋模型b.增量模型c.功能模型d.瀑布模型(二)简答题1.软件产品的特点是什么?2.软件生产的发展经历了哪几个时代?各有何特征?3.软件危机的概念、表现形式、产生原因、化解途径4.详述主要的软件生存期模型(或软件开发模型)。

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。

答案:需求调研7. 软件工程的三要素是______、过程、方法。

答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。

答案:内聚性9. 软件测试的目的不包括______。

答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。

答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。

答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。

12. 简述软件需求分析的目的和任务。

答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。

参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。

参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。

参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。

参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。

《软件工程导论》期末考试试题和答案(整理)

《软件工程导论》期末考试试题和答案(整理)

得分评卷人一、填空题1.软件生计周期一般可分为 __问题定义 __、可行性研究、 _需求剖析 _____、设计编码、 __ 测试 ________、运转与保护阶段。

2.按软件的功能进行区分,软件能够区分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和决断。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常有的软件纲要设计方法有 3 大类:以数据流图为基础结构模块结构的___结构化设计方法 _________,以数据结构为基础结构模块的__jackson 方法 __________ ,以对象、类、继承和通讯为基础的 __面向对象设计方法 __________。

6.__数据流图 ________和 __数据词典 ___共同组成系统的逻辑模型。

7.软件测试的方法有 __剖析方法 ________和 ___非剖析方法 _______(即黑盒法)。

8.单元测试一般以 ___白盒 _____________测试为主, ___黑盒 ______测试为辅。

9.成本预计方法主要有 __自底向上预计 ________、_自顶向下预计 _________和算法模型预计三种种类。

得分评卷人二、单项选择题1.以下哪个阶段不属于软件生计周期的三大阶段(C)。

A 、计划阶段B 、开发阶段C、编码阶段 D 、保护阶段2.需求剖析是( A)。

A、软件开发工作的基础B、软件生计周期的开始C、由系统剖析员独自达成的D、由用户自己独自达成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法对比较,更需要( B)。

A、明确的需求定义B、完好的生命周期C、较长的开发时间D、娴熟的开发人员4.软件保护时,对测试阶段未发现的错误进行测试、诊疗、定位、纠错,直至改正的回归测试过程称为(A)。

A 、更正性保护B、适应性保护C、完美性保护D、预防性保护5. 一般说来,投入运转的软件系统中有错误(A)。

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

《软件工程导论》试题及答案
软件工程导论试题及答案
一、选择题
1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?
A. 计算机科学
B. 电子工程
C. 数学
D. 管理学
E. 心理学
答案:A、B、C、D
2. 软件工程的目标是什么?
A. 提高软件开发效率
B. 提高软件质量
C. 提高软件可靠性
D. 提高软件维护性
E. 提高软件安全性
答案:A、B、C、D、E
3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
E. 喷泉模型
答案:A、B、C、D
4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
答案:D
5. 软件需求分析的主要任务是什么?
A. 确定软件的功能和性能需求
B. 定义软件系统的架构
C. 设计软件的用户界面
D. 实施软件测试
答案:A
二、填空题
1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。

答案:质量、可靠性
2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和
______ 。

答案:实现、维护
3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。

答案:测试、维护
4. “快速原型”开发模型注重 ______ 。

答案:用户参与
5. 敏捷开发模型的核心原则是 ______ 。

答案:迭代开发
三、简答题
1. 请简要说明为什么软件工程是一门多学科交叉的学科?
答:软件工程在开发软件的过程中需要结合计算机科学的知识来实
现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统
的架构。

此外,软件工程还应用了数学方法来进行软件需求分析和软
件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。

2. 请简述螺旋模型在软件开发过程中的应用场景。

答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。


螺旋模型中,软件开发过程是一个不断迭代的过程,每一次迭代都包
括风险分析、需求分析、设计、编码、测试等活动。

通过迭代的方式,可以让开发团队及时发现和解决问题,确保软件的质量和安全性。

3. 请简要说明敏捷开发模型的核心原则。

答:敏捷开发模型的核心原则是迭代开发和灵活响应变化。

敏捷开
发模型注重团队成员的协作和沟通,项目的需求和计划可以随时进行
调整。

通过快速迭代的方式,团队能够快速响应变化,及时交付具有
业务价值的软件。

四、综合题
某公司正在开发一个在线购物平台的软件,你作为该公司的软件工
程师,负责该项目的开发工作。

请回答以下问题:
1. 你会选择哪个软件过程模型来开发这个项目?请简要说明理由。

答:我会选择敏捷开发模型来开发这个项目。

由于在线购物平台的
需求可能会随时发生变化,而且对用户体验有较高的要求,敏捷开发
模型可以灵活地响应需求和进行快速迭代,确保用户能够及时获得满
意的购物体验。

2. 请列举至少三个软件工程的最佳实践,你将如何应用到该项目中?
答:(1)需求分析和用户参与:与用户密切沟通,了解用户需求,并通过持续的用户反馈来不断优化购物平台的功能和用户体验。

(2)测试驱动开发:在开发过程中通过自动化测试来验证软件
的正确性和稳定性,确保购物平台的质量。

(3)团队协作和持续集成:通过合理的任务分配和持续集成来
提高团队的工作效率,保证项目按时交付。

3. 在软件开发过程中,你认为最重要的是什么?
答:我认为软件开发过程中最重要的是团队合作和良好的沟通。


有团队成员之间能够有效地沟通和合作,才能够高效地完成项目开发
工作,同时也能够及时发现和解决问题,确保软件的质量和用户满意度。

总结:
本文通过选择题、填空题、简答题和综合题的形式,整理了软件工
程导论中的试题及答案。

通过回答这些问题,读者可以对软件工程的
基本概念、软件过程模型以及软件开发中的最佳实践有一个全面的了解。

同时,本文也强调了团队合作和良好的沟通在软件开发过程中的
重要性。

相关文档
最新文档