当前位置:文档之家› 软件工程导论试题集2(含答案)

软件工程导论试题集2(含答案)

软件工程导论试题集2(含答案)
软件工程导论试题集2(含答案)

"数据耦合是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递所谓\"需求分析\",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作。软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。(3)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。(4)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。目标:1 合理预算开发成本,付出较低的开发费用、2 实现预期的软件功能,达到较好的软件性能,满足用户的需求、3 提高软件的可维护性,降低维护费用、4 提高软件开发生产率,及时交付使用。模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。技术可行性:技术分析说明使用现有系统是否能完成本系统的开发。经济可行性:经济分析应着重两个因素:成本和收益,应向管理层提供有关这两方面。操作可行性:系统的操作方式是否能够在组织内得到认同,是否违背有关法律、制度、道德、文化等因素。模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准―耦合性和内聚性。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。简单化模块化结构化文档化格式化"

第一章:软件工程学概述

一.选择题

解答:

二.判断题

1. 1. 瀑布模型的存在问题是缺乏灵活性。()

2. 2. 软件是一种逻辑产品。()

3. 3. 软件工程学科出现的主要原因是程序设计方法学的影响。()

4. 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。()

5. 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的

。()

6. 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版本控制工具。()

7. 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。()

8. 8. 软件生存周期模型有多种,功能模型是软件生存周期模型。()

9. 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件的影响最大。()

10. 10. 软件生存周期中时间最长的阶段是需求分析阶段。()

11. 11. 软件开发的结构化生命周期方法将软件生命周期划分成需求分析、功能定义、系统设计。()

12. 12. 增量模型是一种整体开发模型。()

13. 13. 构造模型时,主要考虑全部功能。()

14. 14. 瀑布模型本质上是一种线性迭代模型。()

15. 15. 快速原型思想是在研究概要设计阶段的方法和技术中产生的。()

解答:

1. √

2. √

3. ×

4. √

5. ×

6. √

7. √

8. ×

9. ×

10. ×

11. ×

12. ×

13. ×

14. ×

15. ×

三.名词解释

1. 1. 软件工程;

2. 2. 软件生命周期模型;

解答:

1. 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。

2. 软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。

四.简答题

1. 1. 请简要说明可行性分析的内容。

2. 2. 请写出六种软件CASE工具。

3. 3. 什么是软件工程?软件工程的目标是什么?

4. 4. 什么是结构化分析方法?该方法使用什么描述工具?

5. 5. 软件设计的基本原理包括什么?

6. 6. 简述容错技术的四种主要手段,并解释

7. 7. 软件生命周期划分成哪些阶段

8. 8. 简要说明软件危机产生的原因

9. 9. CMM全称是什么?分为哪几个级别?

解答:

1. 技术可行性:技术分析说明使用现有系统是否能完成本系统的开发。

经济可行性:经济分析应着重两个因素“成本和收益”,应向管理层提供有关这两方面足够的信息。如果项目的收益大于成本,则此项目可以说是经济上可行。

操作可行性:系统的操作方式是否能够在组织内得到认同,是否违背有关法律、制度、

道德、文化等因素。

2. (1)Power Designer(分析设计工具或软件建模工具),(2)Rational Rose(分析设

计工具或软件建模工具),(3)Win Runner(测试工具),(4)MS Project(项目管理工具),(5)MS Visio(软件开发绘图工具)、(6)VSS(软件配置工具)。

3. 软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。

目标:

1 合理预算开发成本,付出较低的开发费用、

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

3 提高软件的可维护性,降低维护费用、

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

4. 结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图2 数据流程图3数据字典4 IPO图5层次方框图6实体—关系图

7状态—变迁图。

5. ①模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。

②抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不

考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次细化。

③信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。

④模块独立性。指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最

少且接口简单。衡量模块独立性有两个标准耦合性和内聚性,可判断设计方案的优劣。

6. 结构冗余:包括静态冗余、动态冗余和混合冗余。

信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

冗余附加技术:指为实现上述冗余技术所需的资源和技术。

7. 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。

1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析

2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。

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

8. 1.软件缺乏可见性,导致对软件开发成本,工作量,速度的估计不准确。2.对用户要求

没有完整准确的认识,不能适应用户的需求。3.缺乏对软件产品和开发过程的质量控制,导致软件产品的质量往往靠不住。4.在实践过程中或多或少的采用了错误的方法和技术。5.开发和维护过程中文档化工作做的不好,缺乏配置管理。

9. CMM全称是软件能力成熟度模型;

从无序到有序的进化分成5个级别,分别为:

1 初始级;

2 可重复级;

3 已定义级;

4 已管理级;

5 优化级。

五.论述题(方案1)

1. 1. 从软件过程中选择3种说明其名称、示意图以及特点。

解答:

1. 1. 螺旋模型:螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型

瀑布模型:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

增量模型又称演化模型。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。

六.应用题(方案2)

解答:

七.综合题

解答:

八.填空题

1. 1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于_____________ 、而软件工程侧重于_____________。

2. 2. 计算机程序及其说明程序的各种文档称为_____________。计算任务的处理图像对象

和处理规则的描述称为_____________。有关计算机程序功能、设计、编制、使用的文字或图

形资料称为_____________。

3. 3. 软件开发环境是相关一组_____________的集合,它支持一定的软件开发方法或按照

一定的软件开发模型组织而成的。

4. 4. CASE这一术语的英文是_____________。

5. 5. _____________是指工具运行在相同的硬件/操作系统平台上。_____________是指工

具使用共享数据模型来操作。_____________是指工具提供相同的用户界面。

6. 6. 根据支持的范围,CASE工具可分为_____________、_____________和_____________ 工具。

7. 7. 软件危机的主要原因有_____________和_____________。

8. 8. _____________模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。

9. 9. 结构化方法总得指导思想是_____________。它的基本原则是功能的_____________与_____________。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。

10. 10. 面向对象开发方法包括_____________、_____________、_____________、三部分。

11. 11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括_____________、项目开发计划、_____________、_____________ 、_____________、_____________、_____________、_____________,它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。

12. 12. 瀑布模型本质上是一种_____________顺序模型。

13. 13. 构造原型时,必须注意_____________取舍,忽略一切暂时不关心的部分。

14. 14. 属性指的是类中对象所具有的_____________。不同对象的同一属性可以具有相同或不同的_____________。

15. 15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间的关系表现为_____________。

解答:

1. 原理和理论、如何建造一个软件系统

2. 文件、程序、文档;

3. 软件工具;

4. Computer Aided Software Engineering;

5. 平台集成、数据集成、表示集成;

6. 窄支持、较宽支持、一般支持;

7. 软件本身的特点、缺乏好的开发方法和手段;

8. 增量;

9. 自顶而下逐步求精、分解、抽象;

10. 面向对象分析、面向对象设计、面向对象实现;

11. 可行性分析、需求分析、概要设计、详细设计、编码、测试、维护;

12. 线性;

13. 功能性能;

14. 性质(数据值)、属性值;

15. 相互补充;

第二章:可行性研究

一.选择题

解答:

二.判断题

1. 1. 父图中某个加工的输入输出数据流图应具备对称特点。()

2. 2. 数据流图(DFD)是软件开发需求分析阶段经常使用的工具。()

3. 3. 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是参与人员之间的通讯困难。()

4. 4. 可行性分析中,系统流程图用于描述当前运行系统。()

5. 5. 研究软硬件资源的有效性是进行操作可行性研究的一方面。()

6. 6. 可行性研究要进行的需求分析和设计应是简化、压缩的。()

7. 7. 系统流程图是描述物理系统的工具。()

8. 8. 软件系统中所有的信息流都可以认为是事物流。()

9. 9. 软件系统中所有的信息流都可以认为是变化流。()

10. 10. 在程序的描述和分析中,用以指明数据来源、数据流向和数据处理的辅助图形是数据流图。()

11. 11. 加工是对数据流图中不能再分解的基本加工的精确说明,且加工逻辑是加工的最核心。()

12. 12. 软件定义期间问题定义阶段涉及的人员有系统分析员、软件开发人员、用户与使用部门的负责人。()

13. 13. 系统定义明确之后,应对系统的可行性进行研究。可行性研究包括经济可行性、社会可行性、系统可行性。()

14. 14. 在结构化分析方法中,用状态-迁移图表达系统和对象的行为。在状态-迁移图中,由一个状态和一个时间所决定的下一个状态只能有1个。()

15. 15. 提供严格定义的文档是原型化方法的特征。()

解答:

1. ×

2. √

3. √

4. √

5. ×

6. √

7. √

8. ×

9. ×

10. √

11. √

12. √

13. ×

14. ×

15. ×

三.名词解释

解答:

四.简答题

1. 1.什么是数据字典?其作用是什么?它有哪些条目?

2. 2. 什么是数据流图?其作用是什么?

3. 3.可行性研究的任务有哪些?

解答:

1. 数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。

作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。

包括的条目:数据流词条、数据元素词条、数据存储词条、数据加工处理词条、数据源点及终点词条。

2. 数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。

3. 3. 可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。把它们清楚地列举出来。然后分析员进行简单的需求分析,经过压缩的设计,探索出若干种可提供选择的主要解决办法。对每种解决办法都要研究它的可行性。主要从经济可行性、技术可行性和社会可行性三方面进行研究。

五.论述题(方案1)

解答:

六.应用题(方案2)

解答:

七.综合题

解答:

八.填空题

1. 1. 数据词典中四种类型的条目是_____________、_____________、_____________和加工。

2. 2. _____________的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能

够开发,是否值得开发。

3. 3. 可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否__________ ___。

4. 4. 可行性研究实质上是要进行一次简化、压缩了的_____________和_____________过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。

5. 5. 可行性研究需要从_____________可行性、_____________可行性、_____________可行性三个方面分析研究每种解决方法的可行性。

6. 6. 成本-效益分析首先是估算将要开发的系统的_____________,然后与可能取得的效益进行_____________。

7. 7.投资回收期就是使累计的经济效益等于最初的投资费用所需要的时间。项目的_______ ______是指在整个生命周期之内的累计经济效益(折合成现在值)与投资之差。

8. 8. 软件工程有两种效益,它们是_____________和_____________。

9. 9. 成本-效益分析的目的是从_____________评价开发一个新的软件项目是否可行。

10. 10. 研究开发资源的有效性是进行_____________可行性研究的一方面。

11. 11. 在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是_____________。

12. 12. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是___ __________。

13. 13. 数据流图是常用的进行软件需求分析的图形工具,其基本符合是_____________、__ ___________、_____________和_____________。

14. 14. 决定大型程序模型组织基本原则的两种交替设计策略为_____________和__________

___。

15. 15. 软件系统可行性分析应考虑_____________、_____________、_____________和____ _________等方面因素。

解答:

1. 数据流、数据存储、数据项、加工

2. 软件可行性研究

3. 值得去开发且其中的问题能否解决;

4. 需求分析、设计

5. 技术、经济、社会

6. 开发成本、比较和权衡

7. 纯收入

8. 无形效益、有形效益

9. 经济角度

10. 技术

11. 技术可行性

12. 规划与调度

13. 加工、数据流、数据存储、外部实体

14. 数据分解、算法分解

15. 经济、技术、社会环境和人。

第三章:需求分析

一.选择题

解答:

二.判断题

1. 1. 数据流图(DFD)是软件开发可行性分析阶段经常使用的工具。()

2. 2. 需求分析阶段的任务是确定软件系统的功能。()

3. 3. 在数据流图中,不能被计算机处理的成分是数据源/终点。()

4. 4. 通过功能分解可以完成数据流图的细化。()

5. 5. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的输入与输出。()

6. 6. 数据字典中,一般不包括数据存储条目。()

7. 7. 初步用户手册在需求分析阶段编写。()

8. 8. SA方法的分析步骤是首先调查了解当前系统的逻辑模型,然后获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。()

9. 9. 每个数据流必须用名词或名词短语命名。()

10. 10. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准时模块的内聚性和耦合性。()

11. 11. 数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的描述。()

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

13. 13. 结构化分析方法(SA)是一种面向数据结构需求分析方法。()

14. 14. 软件需求分析的任务包括结构化程序设计。()

15. 15. SA方法是一种自顶下下逐层分解的分析方法。()

解答:

1. ×

2. √

3. √

4. √

5. √

6. ×

7. √

8. √

9. ×

10. √

11. √

12. √

13. ×

14. ×

15. √

三.名词解释

解答:

四.简答题

1. 1. 什么是需求分析?需求分析阶段的基本任务是什么?

解答:

1. 所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作。

五.论述题(方案1)

解答:

六.应用题(方案2)

1. 1.以教师,学生,课程为实体,描述其E-R关系图

解答:

1.

七.综合题

解答:

八.填空题

1. 1. 软件需求分析过程应该建立_____________、_____________和_____________ 三种模型。

2. 2. 需求分析的基本任务是要准确地定义_____________,为了满足用户需要,回答系统必须做什么的问题。

3. 3. 数据流图有4个基本成分:_____________、_____________、_____________和______ _______。

4. 4. 流向数据存储的数据流可理解为_____________文件或_____________文件,从数据存储流出的数据可理解为从文件_____________数据或得到_____________结果。

5. 5. 需求分析的困难主要体现在4个方面:问题的复杂性、_____________、____________ _需求易变性。

6. 6. 由于数据流是流动中的数据,所以必须有_____________。除了与_____________之间的数据流不用命名外,数据流应该用名词或名词短语命名。

7. 7. 结构化分析方法是面向_____________进行需求分析的方法。

8. 8. 经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统数据,描述了处理这些数据的基本策略。将这些共同的理解进行了整理,最后形成文档_____________。

9. 9. 在数据流图中,有名字及方向的成分是_____________。

10. 10. 在软件需求分析中,开发人员要从用户那里解决的最重要的问题是_____________。

11. 11. 需求分析的最终结果是产生_____________。

12. 12. SA方法用DFD描述_____________。

13. 13. SA方法的基本思想是_____________。

14. 14. 常用的需求分析方法有面向数据流的结构化分析方法,_____________,面向数据结构的分析方法等。

15. 15. 通过_____________可以完成数据流图的细化。

解答:

1. 数据模型、功能模型、行为模型

2. 新系统的目标

3. 数据流、加工(又称数据处理)、数据存储、数据源点和终点

4. 写入、查询、读、查询

5. 交流障碍、不完备性和不一致性

6. 流向、数据存储

7. 数据流

8. 需求说明书

9. 数据流

10. 要让软件做什么

11. 需求规格说明书

12. 系统的功能

13. 自顶向下逐步分解

14. 面向对象的分析方法

15. 功能分解

第四章:形式化说明技术

一.选择题

解答:

二.判断题

解答:

三.名词解释

解答:

四.简答题

解答:

五.论述题(方案1)

解答:

六.应用题(方案2)

解答:

七.综合题

解答:

八.填空题

解答:

第五章:总体设计

一.选择题

解答:

二.判断题

1. 1. 一般说来,模块大小以三至四页为宜。()

2. 2. 软件设计一般分为总体设计和详细设计,它们之间的关系是全局与局部。()

3. 3. 好的软件结构应该是高内聚、低耦合。()

4. 4. 一个模块把一个数质量作为参数传递给另一个模块。这两个模块之间的耦合是数据耦合。()

5. 5. 在面向数据流的软件设计方法中,一般将信息流分为变换流和事务流。()

6. 6. 首先将系统中得关键部分设计出来,再让系统的其余部分的设计去适应它们,这称为自顶向下设计。()

7. 7. 划分模块时,一个模块的控制范围应在其作用范围之内。()

8. 8. 结构化设计方法在软件开发中,用于概要设计。()

9. 9. 软件结构图中,模块框之间若有直线连接,表示它们之间存在着组成关系。()

10. 10. 软件概要设计结束后得到初始化的软件结构图。()

11. 11. 偶然内聚是指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。()

12. 12. 设计软件结构一般不确定模块内的局部数据。()

13. 13. 通过抽象,可以确定组成软件的过程实体。()

14. 14. 标记耦合是指两个模块之间的调用关系,传递的是简单的数据值。()

15. 15. 内容耦合是指一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。()

解答:

1. √

2. √

3. √

4. √

5. √

6. ×

7. ×

8. √

9. ×

10. ×

11. ×

12. √

13. √

14. ×

15. √

三.名词解释

1. 1. 数据耦合;

2. 2. 标记耦合

3. 3. 偶然内聚

4. 4. 逻辑内聚

5. 5. 时间内聚

6. 6. 软件概要设计

7. 7. 软件结构

8. 8. 面向数据流的设计方法

9. 9. 耦合性

10. 10. 模块独立性

11. 11. 模块

12. 12. 模块的作用范围

13. 13. 模块的控制范围

14. 14. 通信内聚

15. 15. 顺序内聚

解答:

1. 数据耦合是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递

2. 标记耦合是指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址;

3. 偶然内聚指一个模块内的各处理元素之间没有任何联系。这是内聚程度最差的内聚;

4. 逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能;

5. 把需要同时执行的动作组合在一起形成的模块称为时间内聚模块;

6. 描述软件的总的体系结构,称为“软件概要设计”;

7. 软件结构是软件系统的模块层次结构,反映了整个系统划分模块时,尽量做到高内聚低耦合;

8. 面向数据流的设计方法,也称“结构化设计方法”(SD),它与结构化分析(SA)相衔接,它按一定的设计策略将数据流图转化成软件的模块层次结构;

9. 耦合性也称“块间关系”。指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差;

10. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单;

11. 模块是可组合、分解和更换的单元,在程序中它是数据说明、可执行语句等程序对象的集合,或者是单独命名和编制的元素;

12. 模块的作用范围是指受该模块内一个判定影响的所有模块的集合;

13. 模块的控制范围是指模块本身以及其所有下属模块的集合;

14. 通信内聚指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据;

15. 顺序内聚指一个模块中各个处理元素都紧密相关与同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。

四.简答题

1. 1. 请简要说明软件耦合性和内聚性

2. 2. 什么是概要设计?有哪些基本任务?

3. 3. 系统设计的内容是什么?

解答:

1. 模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准―耦合性和内聚性。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

2. 概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则

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

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 )。

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

《软件工程导论》期末考试-试题与答案 一、填空题 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.面向对象分析是对系统进行_________的一种方法。A.需求 分析B.程序设计C.设计评审D.测试验收 10.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而 且影响软件的_______。A.可理解 性B.可维护性C.可扩展性D.可 移植

软件工程导论期末考试题

一、单项选择题 1.适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1 B.2 C.3 D.5 3. 可行性分析研究的目的是( A )。 A.项目值得开发否 B.争取项目 C.开发项目 D.规划项目 4. 模块的内聚性最高的是 ( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( B ) A. 软件工程 B. 软件危机 C. 软件周期 D. 软件产生 6. 需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 完整的软件结构通常用( B )图来表示。 A. IPO 图 B. HIPO 图 C.PAD 图 D.DFD 图 8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。 A.语句 B.路径 C.条件组合 D.判定 9?对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 10. 在数据流图中,圆代表( C )。 A.源点 B.终点 C.加工 D.模块 11. 模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。 A.松散 B.紧密 C.无法判断 D.相等 12. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑 13. 面向对象开发方法中, ( C )是占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14. 软件需求分析的主要任务是准确地定义出要开发的软件系统是( C ) A.如何做 B.怎么做 C.做什么 D.对谁做 15. 结构化程序设计的一种基本方法是( C ) A.筛选法 B.迭代法 C.逐步求精法 D.递归法 二、填空题 1. 目前使用最广泛的软件工 程学方法分别是传统方法学和(面向对象方法学 ) )和事务流。 文档 ) 。 ( 重复 )三种结构。 自顶向下 的集成测试方法,对软件结构中下层使 6. 软件维护包括 ( 改正性维护 )、适应性维护、完善性维护、预防性维护。 7. 面向对象方法学建模得到的三个基本子模型是 (对象建模 ) .动态模型、功能模型。 8. 复杂大型问题的对象模型通常由主题 2. 数据流图中信息流的类型有(变换流 3. 软件的定义是:软件 =程序+数据+ 4. 经典结构程序设计包括顺序、选择和 5. 集成测试时对软件结构中上层使用 用 ( 自底向上 ) 的集成测试方法。

2019最新软件工程导论期末考试题库及答案

2019最新软件工程导论期末考试题库及答案 1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM 公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符 号表达了系统中各种元素之间的_____信息流动_____情况。4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集 成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合” 的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 A) 路径的集合 B)循环的集合C)目标的集合D)地址的集合 c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序 I.功能测试Ⅱ. 结构测试 A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ a(3)检查软件产品是否符合需求定义的过程称为 A)确认测试B)集成测试C)验证测试D)验收测试 c(4)下述陈述中,哪一个不是软件健壮性的度量指标? A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 D)失败前的平均工作时间D)在一次失败中数据恶化的概率 b(5)对软件是否能达到用户所期望的要求的测试称为 A) 集成测试B) 有效性测试C) 系统测试D) 验收测试 a(6)在面向数据流的软件设计方法中,一般将信息流分为 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容 I.数据描述Ⅲ. 模块描述 II.功能描述Ⅳ. 性能描述 A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ (8)软件测试一般分为三类,即 I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试 设计测试用例对程序进行测试,应属于 A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ (9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。 A)模块间联系程度B)模块的功能强度 C)信息隐蔽程度D)模块的复杂程度 (10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具 I.结构图Ⅱ. 实体关系图Ⅲ. IPO图 II.Ⅳ. 流程图Ⅴ. N-S图 A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部 A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C (11)试判断下列论述中哪个(些)是正确的 I.软件系统中所有的信息流都可以认为是变换流 II.软件系统中所有的信息流都可以认为是事务流 III.事务分析和变换分析的设计步骤基本类似 A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ (12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书 C)总体设计报告D)有效性测试要求 (13)软件设计中的软件过程其主要描述的是 A)模块间关系B)模块操作细节 C)模块控制方法D)模块类型 (14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?

软件工程导论试题

软件工程导论试题 一.选择 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、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A) A、瀑布模型 B、对象模型 C、螺旋模型 D、层次模型 12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A、分析阶段 B、设计阶段 C、编码阶段 D、测试阶段 二.填空 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。 [解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 [解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。 [解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 [解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。 25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 [解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 [解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 [解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。 28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。 [解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。 14.软件工程三要素包括_方法_、__工具___和__过程___,其中, _过程_支持软件开发的各个环节的控制和管理。 15.类构件的重用方式有_实力重用__、__继承重用______和_ 多态重用__三种。16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。 2.判断题 1. 向滞后的项目中增加人手会使得项目更加滞后。(T)

软件工程导论试题

1.办公室复印机的工作过程大致如下: 未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令; 如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员排除故障,故障排除后回到闲置状态。 请试画出复印机的状态转换图 答案: 2.录入统计计算某班学生成绩,画出数据流图(DFD)。 学生成绩表数据结构如下: 学号|高数|物理|英语|计算机|法律常识|总分|平均分|不及格门数|升留补| 需求功能如下: (1)录入全班学生各课的考分,生成成绩表; (2)检查各课成绩,修改错误,补充未录入成绩,删除非法成绩; (3)计算总分,平均分;

(4)统计不及格门数,然后再写入升级、补考、留级; (5)打印成绩通知单,交家长。 答案: 3.中国古代在“室”内举办宴会,座位以西为尊,北次之,南再次之,东最次。“按上北下南,左西右东”的方位和长幼尊卑的顺序进行入座。孙坚有四个儿子,分别为孙伯符、 孙叔弼、孙仲谋、孙季佐(长幼顺序已打乱),请根据以上叙述,画出入座顺序的程序流程图以及座位分布图。 答案: 座位分布图 程序流程图: 错误成绩通知

4.简要画出电梯系统用例图 答案: 5. 画出下列伪码程序的程序流程图和盒图:START IF p THEN WHILE q DO f END DO ELSE BLOCK m n END BLOCK

END IF STOP 流程图: 盒图:

软件工程导论期末考试简答题

简答题 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 9、什么是结构分析方法?结构化分析方法通过哪些步骤来实现? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

软件工程导论期末试题

软件工程导论期末考试试题 一.选择(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.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的(信息流动)情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和(宽度优先策略) 。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图 来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 25.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向 维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选 择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.判断(10分)

软件工程导论期末试题A(带答案)

评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期) 课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等 适用专业年级:软件工程 2013级学号:姓名: 2. 请将答案全部填写在本试题纸上; 3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。 ????????????????????????????? 一、单项选择题(本大题共20小题,每小题1分,共20分) 提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在 下表中。错选、多选或未选均无分。 1. Software is the collection of ( ). (A) Programs (B) Data (C) Documents (D) All of above 2.Which of the items listed below is not one of the software engineering layers? ( ) (A) Process (B) Methods (C) Tools (D) Manufacturing 3.The prototyping model of software development is ( ). (A) A reasonable approach when requirements are well defined. (B) The best approach to use for projects with large development teams. 注:试题字迹务必清晰,书写工整。本题共11页,本页为第1页

软件工程导论试题(整理)

单项选择题(每小题1分,共10分) 1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A ) (A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性 2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C ) A 严格定义需求 B 划分开发阶段 C 规范文档格式 D 分析控制流程 3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D ) (A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合 4、软件维护的四类维护活动是( A ) (A)改正性维护,适应性维护,完善性维护和预防性维护。 (B)适应性维护,完善性维护,抢救性维护和辅助性维护。 (C)改正性维护,适应性维护,完善性维护和辅助性维护。 (D)适应性维护,完善性维护,抢救性维护和预防性维护。 5、主要从( A )几个方面进行系统可行性研究。 (A)技术可行性,经济可行性,操作可行性。(B)技术可行性,经济可行性,系统可行性。(C)经济可行性,系统可行性,操作可行性。(D)经济可行性,系统可行性,时间可行性。 6、进行需求分析可使用多种工具,但( C )是不适用的。 (A)数据流图(B)判定表(C)PAD图(D)数据字典 7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B ) (A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、( C )组成。 A静态模型和功能模型 B动态模型和过程模型 C动态模型和功能模型 D静态模型和操作模型 9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D ) (A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图 ①软件生命周期中所花费用最多的阶段是(D) A.详细设计B.软件编码C.软件测试D.软件维护 ②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。 A.确定B.行或不行C.正确D.无二义 ③下列关于瀑布模型的描述正确的是(C)。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 ④详细设计的结果基本决定了最终程序的(C) A.代码的规模B.运行速度C.质量D.可维护性

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

得分评卷人 一、填空题(每空1分,共20分) 1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__ 测试________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件 和应用软件。 3.可行性研究主要集中在以下四个方面经济可行性、技术可行 性、法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计 方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6.__数据流图________和__数据字典___共同构成系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估 计三种类型。 得分评卷人 二、单项选择题(每小题2分,共10分) 1.下列哪个阶段不属于软件生存周期的三大阶段( C )。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是(A )。 A、软件开发工作的基础 B、软件生存周期的开始 C、由系统分析员单独完成的 D、由用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。 A、明确的需求定义 B、完整的生命周期 C、较长的开发时间 D、熟练的开发人员

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

软件工程导论期末考试试 题和答案 It was last revised on January 2, 2021

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.在进行总体设计时应加强模块间的联系。( N ) 2.系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结 构图当作系统流程图使用。( N ) 3.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( N ) 4.在程序调试时,找出错误的位置和性质比改正该错误更难。( Y ) 5.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软 件概要设计方法之一。( Y ) 6.如果通过软件测试没有发现错误,则说明软件是正确的。( N ) 7.快速原型模型可以有效地适应用户需求的动态变化。( Y )

最新软件工程导论期末考试试题

软件工程导论期末考试试题 一.选择 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 )

软件工程导论试题集汇总

1. 航空公司“机票预定系统”: 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。 请用结构化分析方法,给出系统的功能模型(DFD描述)。 参考答案:( 2. 一个简化的机票销售系统需求描述如下: 售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业

3. 图书馆的预定图书子系统有如下功能: (1)由供书部门提供书目给订购组 (2)订书组从各单位取得要订的书目 (3)根据供书目录和订书书目产生订书文档留档 (4)将订书信息(包括书目、数量)反馈给供书单位 (5)将未订书目通知订书者 (6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者 画出数据流图,并转换为软件结构图。 4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理:

如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。 2)注销课程; 如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。 3)处理付款 如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。 要求:给出该系统的数据流图和软件结构图。 参考答案:(1)数据流图 (2)结构图 5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。 要求:用结构化方法学对定货系统进行分析及设计,分别完成以下工作: (1) 给出定货系统的功能模型。

软件工程导论期末考试试题

. 软件工程导论期末考试试题 一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C )。 其它工程科学的影响程序设计方法学的影响 B.A.C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B) A、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B ) . .

郑州大学软件学院《软件工程导论》期末考试试题和答案

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

相关主题
文本预览
相关文档 最新文档