软件工程导论期末综合题复习

合集下载

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.一般来说,可以从一致性、完整性、现实性和有效性四个方面验证软件需求的正确性。

软工导论期末试题及答案

软工导论期末试题及答案

软工导论期末试题及答案一、选择题(每题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、软件是一种( B )性工业产品。

(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( B )进行的。

(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。

(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。

(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( A )。

(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( D )。

(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( D )。

(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( A )的过程。

(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( D )。

(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。

(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组()和它可以执行的一组操作来定义。

(1)服务(2)参数(3)属性(4)调用12、最高程度也是最差的耦合是()。

(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括()。

(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是()。

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

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

软件工程导论《软件工程》期末考试题及答案一、选择题(每题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、软件是、及其说明程序的。

答案:数据、计算机程序、各种文档2、软件工程包括软件开发技术和两大部分内容。

答案:软件工程管理选择题1、软件危机出现于,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。

A50年代末B60年代初 C 60年代末 D 70年代初A运筹学 B 工程学C软件学D软件学答案:C B2、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。

A 软件投机B软件危机C软件工程D软件产生答案:B3、产生软件危机的原因有如下几点,除了______。

A 软件开发过程未经审查B 软件开发不分阶段,开发人员没有明确的分工C 所开发的软件,除了程序清单外,没有其他文档D 采用工程设计的方法开发软件,不符合软件本身的特点答案:D4、软件产品的开发主要是( )。

A 复制B 再生产C 拷贝D 研制答案: D判断题1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

()答案:√2、一个成功的项目唯一提交的就是运行程序。

()答案:×3、瀑布模型不适用于需求不确定的情况。

()答案:√名词解释1、软件工程答案:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

2、软件生存周期答案:软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

简答题1、简述软件危机发生的原因。

答案:(1)软件的规模加大、复杂性提高、性能增强;(2)软件是逻辑产品,尚未完全认识其本质和特点;(3)缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法;(4)用户对软件需求的描述和软件开发人员对需求的理解往往存在差异,用户经常要求修改需求,开发人员很难适应;(5)软件开发的技术人员和管理人员缺乏软件工程化的素质和要求,对工程化的开销认识不足。

(完整word版)软件工程导论期末复习题

(完整word版)软件工程导论期末复习题

第一章1、什么是软件工程?软件工程方法学包括哪三要素?答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。

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

软件工程方法学三要素:方法、工具、过程。

目前使用得最广泛的软件工程方法学:传统方法学、面向对象方法学。

2、传统方法学与面向对象方法学定义传统方法学也称为生命周期方法学或结构化范型。

它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。

面向对象方法学:面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

面向对象方法学具有下述4个要点:(1)把对象作为融合了数据及在数据上的操作行为的软件构件。

(2)把所有对象都划分成类。

(3)按照父类(或称为基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统。

(4)对象彼此间只能通过发送消息互相联系。

3、软件生命周期有哪些阶段?软件生命周期由软件定义、软件开发和软件维护3个时期组成,每个时期又进一步划分为若干个阶段。

软件定义时期分3阶段:问题定义、可行性研究、需求分析。

开发时期分4个阶段:总体设计、详细设计、编码和单元测试、综合测试。

其中前两个阶段称为系统设计,后两个称为系统实现。

维护时期的主要任务是使软件持久地满足用户的需要。

第二章1、为什么要进行可行性研究,要从哪几个方面研究?可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究至少应从3个方面研究:技术可行性、经济可行性、操作可行性。

必要时还应从法律、社会效益等更广泛的方面研究每种解法的可行性。

软件工程导论期末复习题_答案.

软件工程导论期末复习题_答案.

一、单向选择题(四选一、每小题3分,共18分)1、软件的发展经历了(D)个发展阶段。

0102A.一B.二C.三D.四2、需求分析的任务不包括(B)。

0401A.问题分析B.系统设计C.需求描述D.需求评审。

3、一个软件的宽度是指其控制的(C)。

0801A.模块数B.层数C.跨度D.厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

0802A.判定表和判定树B.盒图C.流程图D.关系图5、以下不属于逻辑覆盖的是(D)。

1402A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)。

1501A.纠错性维护B.适应性维护C.改善性维护D.预防性维护二、填空题(每空2分,共18分)1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。

01012.高级语言:独立于机器,面向过程或面向(对象)01013.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。

02014.人机界面的风格第一代界面是命令和(询问)方式。

12025.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。

15046.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点的总数。

V(G)又称为图G的环形(复杂度)0204。

7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。

03038.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。

12049.文档是一种数据媒体和其上所记录的(数据)。

0101三、判断题(每小题2分,共24分,错误打X、正确打√)1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。

(√)01022.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。

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

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

软件工程习题集第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. SAB. SDC. SCD. CASE10. 软件危机是软件产业化过程中出现的一种现象,下述现象中:( C )是其主要表现。

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

②软件开发成本提高。

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

④软件质量不易保证。

A. ③和④B. ③和④C. 全部D. ①、②和③11 软件工程的出现主要是由于( C )。

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

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

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

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

软件工程导论期末复习和答案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 )。

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

软件工程导论 期末复习题及答案

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案正确答案:C.研究软件系统的开发过程和方法软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。

同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。

因此,以上选项都是正确的。

A.人员B.方法C.工具D.程序正确答案:D.程序软件工程的三个基本要素是人员、方法和工具。

其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。

程序是软件开发的结果之一,不属于软件工程的三个基本要素。

D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。

因此,选项A是正确的答案。

选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析B.编码C.测试D.维护正确答案:D.维护软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。

因此,选项D是正确的答案。

在软件工程中,以下哪个选项最接近于“用户故事”的定义?答案:A.一种用于描述用户需求的文档。

用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。

以下哪个选项是面向对象编程(OOP)中的基本概念?答案:B.类。

在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。

在软件开发中,以下哪个阶段最可能涉及到代码重构?答案:C.编码阶段。

代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。

答案:A. Git。

版本控制是软件开发中的一项重要工具,用于跟踪和管理代码的变更。

软件工程导论期末试题

软件工程导论期末试题

软件工程导论期末试题第一篇:软件工程导论期末试题软件工程导论期末考试试题一.选择(20分)1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。

A、详细计划 B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。

A、详细设计阶段 B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。

A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C)。

A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计二.填空(20分)21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

软件工程导论期末复习题答案

软件工程导论期末复习题答案

软件工程导论期末复习题答案一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内。

每小题1分,共20分)1. “软件危机”是指( )A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统2. DFD中的每个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于PDL语言不正确的说法是( )A. PDL是描述处理过程怎么做B. PDL是只描述加工做什么C. PDL也称为伪码D. PDL的外层语法应符合一般程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD图B. 程序图C. PAD图D. SC图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序D. 修改程序也应修改注释8. 下列关于效率的说法不正确的是( )A. 效率是一个性能要求,其目标应该在需求分析时给出B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C. 效率主要指处理机时间和存储器容量两个方面D. 程序的效率与程序的简单性无关9. 测试的关键问题是( )A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例10. 结构化维护与非结构化维护的主要区别在于( )A. 软件是否结构化B. 软件配置是否完整C. 程序的完整性D. 文档的完整性11. 软件维护困难的主要原因是( )A. 费用低B. 人员少C. 开发方法的缺陷D. 得不到用户支持12. 可维护性的特性中,相互矛盾的是( )A. 可理解性与可测试性B. 效率与可修改性C. 可修改性和可理解性D. 可理解性与可读性13. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。

软件工程导论复习题及答案doc

软件工程导论复习题及答案doc

软件工程导论复习题及答案doc1. 软件工程的定义是什么?答:软件工程是将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护的过程,以确保软件的效率、可靠性、可维护性和可移植性。

2. 软件生命周期包括哪些阶段?答:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。

3. 什么是敏捷开发?答:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。

它强调在短周期内交付可工作的软件,以及在整个开发过程中与客户紧密合作。

4. 软件需求分析的目的是什么?答:软件需求分析的目的是明确用户需求,确定软件系统必须做什么,为软件设计和实现提供基础。

5. 软件设计阶段的主要任务有哪些?答:软件设计阶段的主要任务包括架构设计、接口设计、数据结构设计、详细设计等。

6. 编码阶段应注意哪些问题?答:编码阶段应注意代码的可读性、可维护性、效率和错误处理。

7. 软件测试的目的是什么?答:软件测试的目的是发现软件中的缺陷,确保软件的质量,提高软件的可靠性。

8. 什么是软件维护?答:软件维护是指在软件交付后,为了改正缺陷、适应环境变化或增强功能而进行的修改活动。

9. 什么是软件配置管理?答:软件配置管理是识别软件产品和过程的配置项,控制这些配置项的变更,并记录变更的状态和内容的过程。

10. 什么是软件工程中的可重用性?答:软件工程中的可重用性是指在新的软件项目中使用已有软件组件或模块的能力,以减少开发时间和成本。

11. 什么是软件项目管理?答:软件项目管理是指规划、组织、监督软件开发项目的过程,确保项目按时、按预算和按质量要求完成。

12. 什么是软件质量保证?答:软件质量保证是指通过系统化的质量管理和控制活动,确保软件产品满足规定的需求和质量标准。

13. 什么是软件工程中的伦理问题?答:软件工程中的伦理问题涉及软件开发和维护过程中的道德和法律问题,如隐私保护、数据安全、知识产权等。

14. 什么是软件工程中的可测试性?答:软件工程中的可测试性是指软件设计和实现时考虑测试的便利性,以便于发现和修复缺陷。

软件工程导论(第6版)期末考试复习题

软件工程导论(第6版)期末考试复习题

一、填空题1.可行性研究从技术可行性、经济可行性、操作可行性研究2.需求分析应该建立数据模型,功能模型和行为模型3.验证软件需求正确性:一致性、完整性、现实性、有效性4.在面向数据流的软件设计方法中,一般将信息流分为变换流和事务流5.黑盒测试也称功能测试,白盒测试也称结构测试。

把测试数据和预期的输出结果称为测试用例6.面向对象建模:对象模型,功能模型,动态模型7.一幅用例图包含参与者,用例。

椭圆代表用例,线条人代表参与者。

UML用例之间主要有扩展和使用两种关系二、选择题1.软件生命周由软件定义(问题定义,可行性研究和需求分析)、软件开发(总体设计,详细设计,编码和单元测试)和运行维护组成2.数据流图有4种基本符号:正方形(或立方体)表示数据的源点和终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。

数据流图的主要用途是作为分析和设计的工具。

一张数据流图中包含的处理应在7±5个3.为了确定软件结构,需要从现实角度把复杂的功能进一步分解4.最高程度的耦合是内容耦合,最低程度的耦合是数据耦合,最高程度的内聚是功能内聚。

设计时应该多注重高内聚低耦合,多用数据耦合5.软件工程三要素:方法,工具和过程6.系统的逻辑模型是由数据字典和数据流图构成7.结构化分析方法是一种面向数据流的需求分析方法。

8.大型软件的测试应该分阶段地进行,通常至少分为哪几个阶段;至少分为单元测试、集成测试和验收测试3个基本阶段9.在软件生命周期法中,用户的参与主要在软件定义期10.软件结构设计包括以下几方面的内容:(1)确定构造子hah 系统的模块元素。

(2)定义每个模块的功能。

(3)定义模块接口,设计接口的数据结构。

(4)确定模块之间的调用与返回关系。

(5)评估软件结构质量,进行结构优化11.在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。

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

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

《软件工程导论》期末考试-试题与答案一、填空题1.软件工程中的结构化分析 SA 是一种面向________的分析方法。

2.软件模块独立性的两个定性度量标准是_________________。

3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。

4. ________和数据字典共同构成了系统的逻辑模型5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。

二、单选题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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。

A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了________而执行程序的过程。

A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。

A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行_________的一种方法。

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

图5.5
正文加工系统的H图
IPO图 图形工具能方便地描绘输入数据、对数据的 处理和输出数据之间的关系,因此,在需 求分析阶段可使用IPO图简单地描述系统的 主要算法。
改进的IPO图
系统名称:订单处理 模块名称:确定能否供货 设计者:XXX 日期:2003.3.8
上层调用模块:处理模块 输入部分(I)
X=1 X=2 X=1 X=4
b
A=2 OR X > 1 F
d
T
X=X+1 e
返回
独立路径测试步骤:
导出程序流程图的拓扑结构-流图(控制流程 图) 计算流图G的环路复杂性V(G) 确定只包含独立路径的基本路径集
剔除不可行路径,补充其他重要路径。
设计测试用例
黑盒测试
等价类划分 某一8位微机,其十六进制常数定义为:以0x 或0X开头的数是十六进制整数,其值的范 围是-7f~7f(表示十六进制的大小写字母 不加区别),如0X13,0X6A,-0X3c。
期末综合复习例题
DFD图
问题1:建立一个简化的商业自动化系统,其中: 营业员通过该系统记录每日销售的商品(商品名,商品
编号,单价,数量,销售时间);
收款员通过该系统记录收到的现金数额以及购物余额; 商店经理每日统计销售额,并在必要时查看某种商品的 销售情况(商品名,商品编码,金额).
建立系统的功能模型 首先:建立系统环境图,确定系统边界 ------顶层DFD
② 为合理等价类设计测试用例,表中有三个合理等 价类,设计两个例子
测试数据
期望结果
覆盖范围
0x23
显示有效输入
1,9
-0x15
显示有效输入
2,9
③为每个不合理等价类至少设计一个测试用例
测试数据 2 G12 123311 -1012 -011
期望结果 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入
输出结果









有效
数据
事务设计 c
2 3
e
a
1
b
4 5
f
g
6
h
7
i
d
a
输入模块 路径1
事务中心
c
g
b
f
路径2
h
给出结果
c
c->e
e e
g
e->g
b
b->d
d d
f
d->f
h
i i
变换结果
输出结果
过程设计的工具
描述程序处理过程的工具称为过程设计
的工具,它们可以分为图形、表格和语言三
类。
7 F F F F
8 F T T F
9 F F T F



判定树
判定树是判定表的变种,也能清晰地表
示复杂的条件组合与应做的动作之间的对应
关系。
• 判定树是由左边(树根)开始,沿着各个 分支向右看,根据每一个条件的取值状态, 可以找出相应的策略(即动作),所有的 动作都在判定树的最右侧。
图6.8
用判定树表示计算行李费的算法
7.6.1 逻辑覆盖
逻辑覆盖是以程序的内部逻辑结构为基础的 测试用例设计技术,属于白盒测试。它要 求测试人员十分清楚程序的逻辑结构,考 虑的是测试用例对程序内部逻辑覆盖的程 度。
逻辑覆盖法(续)
路径覆盖
条件组合覆盖
判定/条件覆盖
判定覆盖
条件覆盖
语句覆盖
1 语句覆盖
S
① 划分等价类并编号,如下表所示。
输入数据 合理等价类 不合理等价类
3. 非0x或非-打头 的串 4. 含有非数字且 1. 0x或0X开头1~ (a,b,c,d,e,f)以外 2位数字串 字符 十六进制整数 2. 以-0x打头的 5. 多于5个字符 1~2位数字串 6. -后跟非0的多位 串 7. -0后跟数字串 8. -后多于3个数字 十六进制数范 9.在-7f~7f之间 围 10.小于-7f 11.大于7f
继续A、B、C:自顶向下,逐层分解。例如:加工3
销售文件 销售情况 查询商品销售情况 计算日销售额
3
日销售额 查询要求
可分解为:
加工3: 3.2 计算日销售额
日销售额 销售文件
3.1
查询要求2
查询要求1
销售情况
统计销售情况
3.3判定要求
*其中为什么要引入
查询要求
加工“判定要求”?
E-R图
• 学校教学管理 • 一位老师可以担任多门课的教学任务,一 位学生学习多门课程,一门课程由多位学 生选修,并有相应成绩
营业员
销售的商品 简化的商业自动化系统 销售情况 日销售额 现金额 查询要求 现金余额
经 理
收款员
其中:1 数据流为:销售的商品,日销售额等
3个输入流,3个输出流 数据源为:营业员,经理,收款员
数据潭为:经理,收款员
2 加工名为:要建立的系统名字
继之:自顶向下,逐层分解
A、按人或部门的功能要求,将加工“打 碎”,形成:
PAD图
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立 公司发明以后,已得到一定程度的推广。
图6.6PAD图的基本符 号 (a) 顺序(先执行P1后 执行P2); (b) 选择(IF C THEN P1 ELSE P2); (c) CASE型多分支; (d) WHILE型循环 (WHILE C DO P); (e) UNTIL型循环 (REPEAT P UNTIL C); (f) 语句标号;(g) 定 义
图3.6 Warnier图的一个例子
图3.10 商场管理信息系统主要功能的Warnier图
层次图和HIPO图
在层次图中一个矩形框代表一个模块,
框间的连线表示调用关系(位于上方的矩形框
所代表的模块调用位于下方的矩形框所代表
的模块)。
图5.4
正文加工系统的层次图
HIPO图是美国IBM公司发明的“层次图加 输入/处理/输出图”的英文缩写。为了使 HIPO图具有可追踪性,在H图(即层次图)里除 了顶层的方框之外,每个方框都加了编号。
三角形问题的测试用例-边界值分析
用例
1 2 3 4 5 6
– 动作茬(Action Stub):左下部分:列出 了可能 采取的动作。这些动作的排列顺序没有限制, 但为便于阅读可令其按适当的顺序排列。 – 动作项(Action Entry):右下部分:是和条件项 紧密相关的,它指出了在条件项的各种取值的 组合情况下应采取什么动作。
• 假设某航空公司规定,乘客可以免费托运行李的 重量不超过30公斤。当行李的重量超出30公斤时 , 对一般舱的国内乘客超重部分每公斤收费4元,对 头等舱的国内乘客超重部分每公斤收费6元。对国 外乘客超重部分每公斤收费比国内乘客多一倍, 对残疾乘客超重部分每公斤收费比正常乘客少一 半。试画出相应判定表。
C、引入文件,使之形成一个有机整体—系统:
销售文件 销售情况 销售的商品 录入、修改或 1 删除商品信息
3 查询商品销售情况
计算日销售额
日销售额 查询要求
现金额 现金余额
2 录入、修改
现金额, 并计算余额
注:到一个文件,既有输入流,又有输出流,则可简化为 ,并可不给出标识。 至此,体现精化,形成0层数据流图。
显然,满足条件组合覆盖的测试数据,也一定 满足判定覆盖、条件覆盖和判定/条件覆盖标准。
6 路径覆盖
每条可能的路径都至少执行一次。
S
入口
a
A>1 AND B=0 F
T
X=X/A c
Test cases: ① A=1 , B=1 , ② A=1 , B=1 , ③ A=3 , B=0 , ④ A=2 , B=0 ,
表 4.1
用判定表表示计算行李费的算法 1 2 3 4 5 6 国内乘客 T T T T F 头等舱 T F T F T 残疾乘客 F F T T F 行李重量 W≤30 T F F F F F ╳ 免费 ╳ (W-30)×2 ╳ (W-30)×3 ╳ (W-30)×4 ╳ (W-30)×6 ╳ (W-30)×8 (W-30)×12
图6.7 使用PAD图提供的定义功能来逐步求精的例子 (a) 初始的PAD图;(b) 使用def符号细化处理框P2
判定表
条件定义(条件茬) 动作定义(动作茬) 条件取值的组合(条件项) 在各种取值的组合下应执行的 动作(动作项)
– 条件茬(Condition stub):左上部分:列出了各 种可能的条件。除去某些问题中对各个条件的 先后次序有特定的要求以外,通常判定表中各 条件的先后门次序不要求。 – 条件项(Condition Entry):右上部分:列出了各 种条件的取值的组合。
4 判定/条件覆盖 A
S
B 0 1
X 4 1
入口
用例1
T
2 1
a
A>1 AND B=0 F
用例2
X=X/A c
b
A=2 OR X > 1 F
d
T
X=X+1 e
返回
5 条件组合覆盖
可能的条件组合: (1)A>1,B=0 (2)A>1,B≠0 (3)A≤1,B=0 (4)A≤1,B≠0 (5)A=2,x>1 (6)A=2,x≤1 (7)A≠2,x>1 (8)A≠2,x≤1 相应的输入数据: A=2,B=0,x=4 满足(1)和(5) A=2,B=1,x=1 满足(2)和(6) A=1,B=0,x=2 满足(3)和(7) A=1,B=1,x=1 满足(4)和(8)
相关文档
最新文档