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

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

软件工程习题集

第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. ①、②和③

11 软件工程的出现主要是由于( C )。

A. 程序设计方法学的影响

B. 其他工程科学影响

C. 软件危机的出现

D. 计算机的发展

12、软件生成周期模型有多种,下列选项中,( C )不是软件生存周期模型。

A.螺旋模型

B.增量模型

C.功能模型

D.瀑布模型

(二)简答题

1. 软件产品的特点是什么?

2. 软件生产的发展经历了哪几个时代?各有何特征?

3. 软件危机的概念、表现形式、产生原因、解决途径

4. 简述主要的软件生存期模型(或软件开发模型)。

5. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。

第2章软件可行性研究

(一)单项选择题

1. 在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。

A. 经济可行性

B. 技术可行性

C. 操作可行性

D. 法律可行性

2. 下列不属于成本-效益分析的度量指标是( C )。

A. 货币的时间价值

B. 投资回收期

C. 性质因素

D. 纯收入

3. 软件可行性研究实质上是要进行一次( A )需求分析、设计过程。

A. 简化、压缩的

B. 详细的

C. 彻底的

D. 深入的

4. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( A )。

A. 成本估算

B. 项目计划

C. 工程管理

D. 工程网络图

5. 研究开发所需要的成本和资源是属于可行性研究中的( B ) 。

A. 技术可行性研究

B. 经济可行性研究

C. 社会可行性研究

D. 法律可行性研究

6.可行性研究的目的是决定( B )。

A.开发项目

B.项目值得开发否

C.规划项目

D.维护项目

7.年利率为i,现存入P元不计复利,n年后本金利息为(C)。

A.P×(1+i)n

B.P×(1-i×n)

C.P×(1+i×n)

D.P×(1+i)×n

8.研究硬软件资源的有效性是进行(A)研究的一方面。

A.技术可行性

B.经济可行性

C.社会可行性

D.操作可行性

9.经济可行性研究的范围包括(C)

A.资源有效性B.管理制度C.效益分析D.开发风险

10.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。

A.确定B.行或不行C.正确D.无二义

(二)简答题

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

2. 可行性研究的步骤是怎样的?

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

4. 成本-效益分析可用哪些指标进行度量?

(三)应用题

1. 设计一个软件的开发成本为5万元,寿命为3年。未来3年的每年收益预计为2200元、24000元、26620元。银行年利率为10%。试对此项目进行成本效益分析,以决定其经济可行性。

2、课后习题2.4

第3章需求分析

(一)单项选择题

1. 需求分析阶段最重要的技术文档之一是(C )。

A. 项目开发计划

B. 设计说明书

C. 需求规格说明书

D. 可行性分析报告

2. 在需求分析之前有必要进行(B )。

A. 程序设计

B. 可行性分析

C. ER分析

D. 3NF分析

3. 软件需求分析阶段建立原型的主要目的是( C )。

A. 确定系统的功能和性能要求

B. 确定系统的运行要求

C. 确定系统是否满足用户需要

D. 确定系统是否满足开发人员需要

4. 需求分析阶段的研究对象是(A )。

A. 用户要求

B. 分析员要求

C. 系统要求

D. 软硬件要求

5. 概要设计阶段产生的文档不包括(C )。

A. 概要设计说明书

B. 数据库设计说明书

C. 用户手册

D. 开发进度月报

6. 结构化设计是一种面向(A )的设计方法。

A. 数据流

B. 模块

C. 数据结构

D. 程序

7. 为使得开发人员对软件产品的各阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。

A. 需求说明

B. 概要说明

C. 软件文档

D. 测试大纲

8. 系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(A)。

A.软件环境可行性、技术可行性、经济可行性、社会可行性

B.经济可行性、技术可行性、操作可行性

C.经济可行性、社会可行性、系统可行性

D.经济可行性、实用性、社会可行性

9. 需求分析中开发人员要从用户那里了解( A )。

A. 软件做什么

B. 用户使用界面

C. 输入的信息

D. 软件的规模

10.SA方法用DFD描述( D ) 。

A.系统的控制流程B.系统的数据结构

C.系统的基本加工D.系统的功能

11. 对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流

(A)。

A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等

12 .数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( C )

A. 输入.输出.外部实体和加工

B. 变换.加工.数据流和存储

C. 加工.数据流.数据存储和外部实体

D. 变换.数据存储.加工和数据流

13、数据流图描述系统的(D)。

A.数据结构

B.控制流程

C.基本加工

D.软件功能

14、数据字典不包括的条目是(C)。

A.数据项

B.数据流

C.数据类型

D.数据加工

15、结构化分析方法使用的描述工具(B)定义了数据流图中每一个图形元素。

A.数据流图

B.数据字典

C.判定表

D.判定树

16、在结构化分析方法中,与数据流图配合使用的是(C)。

A.网络图

B.实体联系图

C.数据字典

D.程序流程图

(二)简答题

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

2. 需求分析的难点主要表现在哪几个方面,如何解决?

3. 需求分析应遵循的原则是什么?

4. 结构化分析方法的步骤是什么?

5. 画数据流图的步骤及注意事项。

6.需求分析工具:层次方框图、维纳图、IPO图

(三)应用题

1. 某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。请用判定表和判定树表示各条件组合与费用之间的关系。

2. 某校教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,可进行如下功能的处理:

查询成绩:查询成绩以及从名次表中得到名次信息。

学籍管理:根据学生总成绩排出名次信息。

成绩处理:处理单科成绩并输入成绩表中。

就以上系统功能画出0层,1层的DFD图。

3.课后习题3.8、3.9

第4章软件总体设计

(一)单项选择题

1. 最高程度也是最差的耦合是(B )。

A. 公共耦合

B. 内容耦合

C. 控制耦合

D. 数据耦合

2. 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( A )。

A. 数据耦合

B. 公共耦合

C. 控制耦合

D. 标记耦合

3. 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为(B )。

A. 时间内聚

B. 功能内聚

C. 通信内聚

D. 顺序内聚

4. 画软件结构图时应注意调用关系只能(A )。

A. 从上到下

B. 从下到上

C. 从左到右

D. 从右到左

5. 变换型DFD是一个( C )结构。

A. 循环

B. 选择

C. 分层

D. 顺序

6. 软件设计中划分模块的一个准则是( C )。

A.低内聚低耦合

B.低内聚高耦合

C.高内聚低耦合

D.高内聚高耦合

7. 为了提高模块的独立性,模块内部最好是( C)。

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

8. 面向数据流的设计方法把(C )映射成软件结构。

A、数据流

B、模块化

C、控制结构

D、信息流

9. 在面向数据流的软件设计方法中,一般将信息流分为( A )

A、变换流和事务流

B、变换流和控制流

C、事务流和控制流

D、数据流和控制流

10、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。

A、时间内聚

B、逻辑内聚

C、通信内聚

D、信息内聚

11、在软件结构化设计中,好的软件结构设计应该力求做到(B)。

A、顶层扇出较少,中间层扇出较高,底层模块低扇入

B、顶层扇出较高,中间层扇出较少,底层模块高扇入

C、顶层扇入较少,中间层扇出较高,底层模块高扇入

D、顶层扇入较少,中间层扇入较高,底层模块低扇入

12、结构图(SC)和层次方框图是不同的,前者( B)。

A、描述程序的过程特性

B、描述程序的层次特性

C、描述程序的过程特征和层次特征

D、即不描述程序的过程特征,也不描述程序的层次特征

13. 为了提高模块的独立性,模块内部最好是( C )。

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

14、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。

A.模块间的操作细节B.模块间的相似性C.模块间的组成关系D.模块的具体功能15.在多层次的结构图中,其模块的层次数称为结构图的(A)。

A.深度 B. 跨度 C. 控制域 D. 粒度

16、一个模块直接控制(调用)的下层模块的数目称为模块的__B_____。

A、扇入数

B、扇出数

C、宽度

D、作用域

17.某个模块的作用域是指__D____。

A、被该模块调用的所用模块

B、调用该模块的所有模块

C、与该模块相关联的所有模块

D、受该模块内的判定影响的所有模块

(二)简答题

1. 什么是软件概要设计?该阶段的基本任务是什么?

2. 软件设计的基本原理包括哪些内容?

3. 什么是模块间的耦合性?有哪几种耦合性?简述降低模块间耦合度的方法。

4. 什么是模块间的内聚性?有哪几种内聚性?简述降低模块间内聚度的方法。

(三)应用题

1.课后习题4.6、4.7

第5章软件详细设计

(一)单项选择题

1. 在详细设计阶段,经常采用的工具包括( C )。

A. SC图

B. DFD图

C. PAD图

D. IDEF图

2. 详细设计的基本任务中包括( B )。

A. 数据流设计

B. 人机对话设计

C. 数据库的逻辑设计

D. 软件结构设计

3. 可自动生成程序的详细设计方法是( D )。

A. 流程图

B. IPO图

C. 盒图

D. PAD图

4.软件详细设计阶段的任务是(A)。

A.算法设计

B.功能设计

C.调用关系设计

D.输入/输出设计

5.程序的三种基本控制结构是(B)

A.过程、子程序和分程序B.顺序、选择和重复

C.递归、堆栈和队列D.调用、返回和转移

6.在详细设计阶段,经常采用的工具有(A)

A.PAD B.SA C.SC D.DFD

7.详细设计的结果基本决定了最终程序的(C)

A.代码的规模B.运行速度C.质量D.可维护性

8.软件设计一般分为总体设计和详细设计,它们之间的关系是( B )。

A、全局和局部

B、抽象和具体c、总体和层次d、功能和结构

9、软件设计阶段一般又可分为(B)

A.逻辑设计和功能设计

B.概要设计和详细设计

C.概念设计和物理设计

D.模型设计和程序设计

10、结构图中,不是其主要成分的是(C)

A.模块

B.模块间传递的数据

C.模块内部数据

D.模块间的控制关系

(二)简答题

1. 什么是软件详细设计?该阶段的基本任务是什么?

2. 详细设计有哪几种描述方法?

(三)应用题

1. 某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。请使用流程图、PAD图、PDL来设计收费算法。

2.课后习题5.4、5.5

第6章软件编码

(一)单项选择题

1. 选择程序设计语言的关键因素是( A )。

A. 项目应用领域

B. 软件执行环境

C. 软件开发方法

D. 算法和数据结构

2. 如果编写系统软件,可选用( B )语言。

A. FoxPro

B. C

C. Cobol

D. Fortran

3. 如果需要处理复杂的数值计算,可供选用的语言是( D )语言。

A. Pascal

B. C

C. SQL

D. Fortran

4 4GL语言可用于( B )应用领域。

A. 科学工程计算

B. 数据处理与数据库应用

C. 实时处理

D. 人工智能

5. 属于4GL的是( B )语言。

A. Fortran

B. FoxPro

C. Pascal

D. C

6. 序言性注释主要内容不包括( D )。

A. 模块的接口

B. 数据的描述

C. 模块的功能

D. 数据的状态

7. 功能性注释主要内容不包括( D )。

A. 程序段的功能

B. 语句的功能

C. 模块的功能

D. 数据的状态

8. 注释的说法正确的是( C )。

A. 序言性注释应嵌入在源程序的内部

B. 每一行程序都要加注释

C. 修改程序也应修改注释

D. 功能性注释可说明数据状态

9.下列语言中哪个语言是低级语言(D)

A. PASCAL

B.VISUAL BASIC

C. C++

D.汇编语言

(二)简答题

1. 程序设计语言的有哪些共同特性?

2. 选择程序设计语言应考虑哪些因素?

3. 第4代语言(4GL)有哪些主要特征?

4. 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

第7章软件测试

(一)单项选择题

1. 下面说法正确的是( C )。

A. 经过测试没有发现错误说明程序正确

B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试

D. 成功的测试是没有发现错误的测试

2. 覆盖准则最强的是( D )。

A. 语句覆盖

B. 判定覆盖

C. 条件覆盖

D. 路径覆盖

3. 发现错误能力最弱的是( A )。

A. 语句覆盖

B. 判定覆盖

C. 条件覆盖

D. 路径覆盖

4. 下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。

A. 等价类划分

B. 边界值分析

C. 错误推测

D. 因果图

5. 与确认测试阶段有关的文档是( A )。

A. 需求规格说明书

B. 概要设计说明书

C. 详细设计说明书

D. 源程序

6. 软件测试不需要了解软件设计的( B )。

A. 功能

B. 内部结构

C. 处理过程

D. 条件

7. ( B )方法需要考察模块间的接口和各模块之间的联系。

A. 单元测试

B. 集成测试

C. 确认测试

D. 系统测试

8. 调试应该由( B )完成。

A. 与源程序无关的程序员

B. 编制该源程序的程序员

C. 不了解软件设计的机构

D. 设计该软件的机构

9. 与设计测试数据无关的文档是( D )。

A. 需求说明书

B. 设计说明书

C. 源程序

D. 项目开发设计

10. 软件质量作为一个极为重要的问题贯穿软件的( B )。

A. 开发

B. 生存期

C. 度量

D. 测试

11. 软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性称为( B )。

A. 可用性

B. 可靠性

C. 正确性

D. 完整性

12. 软件可靠性的定量指标,常借用硬件可靠性的定量度量方法来度量软件的可靠性,其中MTTF是( D )。

A. 平均等待时间

B. 平均间隔时间

C. 平均失效等待时间

D. 平均失效间隔时间

13. 以提高软件质量为目的技术活动是( B )。

A.技术创新 B. 测试 C. 技术改造 D. 技术评审

14.软件测试中,白盒法是通过分析程序的( B)来设计测试用例的。

A.应用范围

B.内部逻辑

C.功能

D.输入数据

15.黑盒法是根据程序的( C)来设计测试用例的。

A.应用范围

B.内部逻辑

C.功能

D.输入数据

16. 使用白盒测试方法时确定测试数据应根据(A)和指定的覆盖标准。

A.程序的内部逻辑

B.程序的复杂程度

C.使用说明书

D.程序的功能

17. 白箱测试方法重视( A )的度量。

A.测试覆盖率

B.测试数据多少

C.测试费用

D.测试周期

18、软件的集成测试工作最好由( D )承担,以提高集成测试的效果。

A.该软件的设计人员

B.该软件开发组的负责人

C.该软件的编程人员

D.不属于该软件开发组的软件设计人员

19、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是(D)。

A、黑盒测试

B、正确性测试

C、动态测试

D、静态测试

20、黑盒测试在设计测试用例时,主要需要研究(A) 。

A、需求规格说明与概要设计说明

B、详细设计说明

C、项目开发计划

D、概要设计说明与详细设计说明

21.软件单元测试的主要工作内容是(D)。

A.测试模块内部逻辑

B.测试模块内数据流向

C.测试模块单元的具体实现

D.以上全是

22.用来代替被测模块的子模块的是(B)。

A.驱动模块

B.桩模块

C.调用模块

D.配置模块

23.自顶向下的增量式集成策略的最大成本是(A)。

A.桩模块的开发和维护

B.驱动模块的开发和维护

C.对被测模块的组装

D.对构件的分层和修改

24.有一个功能增强型的项目,其以前的产品已经很稳定,并且新增的项目只有少数几个构件被增加或修改,那么对该项目进行集成测试最适合采用的策略是(C)。

A.自项向下集成策略

B.自底向上集成策略

C.非增量集成策略

D.基于功能的集成策略

(二)简答题

1. 为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?

2. 软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?

4. 单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?

5. 什么是黑盒测试与白盒测试?它们都适应哪些测试?

6. 简述软件测试与软件调试的区别。

(三)应用题

1. 变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。

2. 某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。

1.已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。

假设几种可能的条件是:

T1: A>3 F1:A<=3 T2: B=1 F2: B≠1 T3: A=1 F3:A≠1 T4:M>1 F4:M<=1

请设计路径覆盖用例,并写出各种测试用例下程序的执行路径。

填写下表(注意:本题答案不唯一)

3. 课后习题7.8、7.9

第8章软件维护

(一)单项选择题

1. 决定软件可维护性的因素不包括( C )。

A. 可靠性

B. 可移植性

C. 简洁性

D. 效率

2. 整个维护工作中所占比重最大的是( C )。

A. 校正性维护

B. 适应性维护

C. 完善性维护

D. 预防性维护

3. 软件维护困难不包括( D )。

A. 读懂别人程序的困难

B. 文档的不一致性

C. 软件维护不吸引人

D. 源程序错误多

4. 维护的副作用应包括( C )。

A. 隐含的错误

B. 文档的错误

C. 修改源代码时引入的错误

D. 开发时错误

5. 在软件生存周期中,时间最长、所花费的精力和费用也最多的阶段是( B )。

A. 详细设计

B. 维护

C. 概要设计

D. 测试

6. 在长期维护小组中,( A )是该小组的技术负责人。

A. 组长

B. 副组长

C. 维护负责人

D. 维护程序员

7. 维护支援技术涉及软件的( D )阶段。

A. 需求分析

B. 设计

C. 测试

D. 维护

8、为适应软件运行环境的变化而修改软件的活动称为(B)。

A.纠错性维护

B.适应性维护

C.改善性维护

D. 预防性维护

(二)简答题

1. 什么是软件的可维护性?软件的可维护性与哪些软件质量的特性有关?如何提高软件的可维护性?为什么在软件开发过程中,要特别重视软件的可维护性?

2. 什么是软件维护的副作用?如何防止软件维护副作用?

3. 简述软件维护的流程。

面向对象的方法

(一)单项选择题

1.把一组具有相似特性的对象组合在一起,称之为(C)。

A、多态性

B、继承性

C、类

D、消息

2.面向对象的主要特征除对象唯一性、封装、继承外,还有(A )

A、多态性

B、完整性

C、可移植性

D、兼容

3、每个对象可用它自己的一组属性和它可以执行的一组(C)来表征。

A、行为

B、功能

C、操作

D、数据

4、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是( B ),一个类获得其父亲的全部描述(数据和操作)

A、传递性

B、继承性

C、复用性

D、并行性

5、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D )关系。

A.组装

B.整体成员

C.has a

D.一般具体

6、动态模型的描述工具是(C)。

A.对象图

B.结构图

C.状态图

D.设计图

7.汽车有一个发动机。汽车和发动机之间的关系是( B)关系。

A.一般具体

B.整体成员

C.分类关系

D.is a

8.面向对象程序设计语言不同于其他语言的最主要特点是( C )。

A.模块性

B.抽象性

C.继承性

D.共享性

9.软件部件的内部实现与外部可访问性的分离,是指软件的( C)。

A.继承性

B.共享性

C.封装性

D.抽象性

10.在只有单重继承的类层次结构中,类层次结构是( A)层次结构。

A.树型

B.网状型

C.星型

D.环型

11.表示对象的相互行为的模型是( B)模型。

A.对象

B.动态

C.功能

D.静态

12.有时间间隔的操作是( B)。

A.动作

B.活动

C.加工

D.处理

13.与事件联系在一起的瞬时操作是( B)。

A.处理

B.动作

C.活动

D.加工

14.在确定类时,所有( A)是候选的类。

A.名词

B.形容词

C.动词

D.代词

15.常用动词或动词词组来表示( C)。

A.对象

B.类

C.关联

D.属性

16 在用例图中,可以用(D)来表示整个软件系统或其中一些子系统的边界,也可以用它表示软件系统的不同发布版本的功能范围

A、执行者

B、关联关系

C、用例

D、边界框

17.(B)作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为

A、数据对象

B、控制类

C、实体类

D、边界类

18. 如果用例B是用例A的某项子功能,并且建模者确切地知道在A所对应的动作序列中何时将调用B,则称(A)

A、用例A扩展用例B

B、用例A继承用例B

C、用例A包括用例B

D、用例A实现用例B

19. 如果用例A与用例B相似,但A的动作序列是通过改写B的部分或者扩展B的动作而获得的,则称(B)

A、用例A扩展用例B

B、用例A继承用例B

C、用例A包括用例B

D、用例A实现用例B

20. 如果用例A与用例B相似,但A的功能较B多,A的动作序列是通过在B的动作序列中的某些执行点上插入附加的动作序列而构成的,则称(C)

A、用例A扩展用例B

B、用例A继承用例B

C、用例A包括用例B

D、用例A实现用例B

21. 在UML中,(A)表示使用软件系统的功能,与软件系统交换信息的外部实体

A、执行者

B、类

C、用例

D、用例图

22. 在构件中图中,(D)用于显示构件之间的关联关系。

A、节点

B、包

C、构件

D、依赖关系

23. (D)是一种不包含操作的实现部分的特殊类。

A、概念类

B、分析类

C、实现类

D、接口

24. 在类图中,(C)说明允许候选值范围,如集合可以设定的大小。可以说明可能用于关联端、组成类中的部分、消息迭代次数和其他目的。

A、角色

B、多重性

C、注释

D、监护条件

25. 泛化使得(A)操作成为可能,即操作的实现是由它们所使用的对象的类,而不是由调用确定的。

A、多态

B、多重

C、传参

D、传值

26. (C)使用类图的一个子集,用于强化某个时间点类实例之间的关系。

A、交互图

B、协作图

C、对象图D状态图

27. (A)是用来反映代码的物理结构。

A、构件图

B、用例图

C、类图

D、状态机

28.(D)是对象与其外界相互关联的唯一途径。

A、函数调用

B、接口

C、状态转换

D、消息传递

29. UML的(A)表示消息源发出消息后不必等待消息处理过程的返回,即可继续执行自己的后续操作。

A、异步消息

B、返回消息

C、同步消息

D、简单消息

30. 在UML顺序图中,如果一条消息从对象a传向对象b,那么其(A)是一条从b指向a的虚线有向边,它表示原消息的处理已经完成处理结果(如果有的话)给返回消息传回。

A返回消息B、自消息C、创建(create)消息D、销毁(destory)消息

31. (B)用于概述相互合作的对象流的交互关系和链接关系。

A、用例图

B、通信图

C、状态图

D、类图

32. 要状态机图中,(A)表示两个状态之间的关系,源状态和目的状态。

A、转换

B、状态

C、事件D监护条件

33. (C)是指以设计复用为目的,采用一种良好定义、正规的、一致的方式记录的软件设计经验。

A.架构

B.模型

C.设计模式

D.设计数据

34. 当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用( D )

A、单例模式

B、对象池模式

C、工厂模式

D、外观模式

35. 当需要强调一系列相关产品对象的设计以便进行联合使用,可以考虑使用( A )。

A.工厂模式

B.对象池模式

C.外观模式

D.单例模式

36.(A )将整个软件系统分为若干层次,最顶层直接面向用户提供软件系统的操作界面。其余各层为紧邻其上的层次提供服务。

A.分层模式

B.MVC

C.架构模式

D.管道模式

37. 希望创建一个可复用的类,该类必须能够与接口不可预订的类协同工作,可以考虑使用(D )

A、单例模式

B、对象池模式

C、工厂模式

D、适配器模式

38、( C )是在不改变代码外在行为的前提下,对代码做出修改,以改进程序内部结构。

A版本控制B代码调式C代码重构D代码走查

39、在UML中(D )表示执行者为达成一项相对独立、完整的业务目标而要求软件系统完成的功能。

A用例图B边C执行者D用例

40、在活动图中( A )的一个输出部分有一个监护条件,检查预定者是不是会员,这是一个条件线程,它只有在监护条件被满足时才会激发,如果这个线程没有被激发,那么随后相对应的结合的输入部分被认为已完成。

A分叉B转换C控制D活动

(二)应用题

1、根据商品进货的通信图,画出商品进货的序列图。如下图所示:

2、一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。建立该书的对象模型。

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、在软件开发模型中,提出最早,应用最广泛的模型是(A) A.瀑布模型 B 螺旋模型C演化模型D原型模型 2、瀑布模型存在的问题(B) A用户容易参与开发B缺乏灵活性C用户与开发者沟通D适用可变需求3、可行性研究一般不考虑(D) A是否有足够的人员和相关技术来支持系统开发 B 是否有足够的工具和相关技术来支持系统开发 C 待开发软件是否有市场、经济上是否合算 D软件开发是否有质量问题 4、软件详细设计的主要任务是确定每个模块的(A) A 算法和使用的数据类型B外部接口 C 功能D编程 5、可行性分析是在系统开发的早期所做的一项重要的论证工作,它统是否开 发的决策依据,因必须给出(B)的回答 A 确定B行或不行C正确D无 6、流程图是用来描述(D) A描绘程序结构B描绘系统的逻辑模型 C表示信息层次结构的图形工具D描绘物理系统 7、为了提高软件的可维护性,在编码阶段应注意(养成良好的程序设计风格) 总体设计阶段注意(提高模块独立性)测试阶段注意(保存测试用例和数据)8、快速原型模型的主要特点之一是(D) A开发完毕才能见到产品B及早提供全部完整的软件产品

C开发完毕后才能见到工作软件D及早提供工作软件 9、软件需求分析的主要任务是准确定义出要开发的软件系统是(C) A 如何做 B 怎么做C做什么D对谁做 10、软件维护产生的副作用,是指(C) A开发时的错误 B隐含的错误C因修改软件而造成错误D运行时误操作 11、软件生命周期中所花费用最多的阶段是(D) A 详细设计B软件编码C软件测试 D 软件维护 12、模块的内聚性最高的是(D) A 逻辑内聚B时间内聚C偶然内聚D功能内聚 13、与确认测试阶段有关的文档是(A) A需求规格说明书B概要设计说明书C详细设计说明书D源程序 14、白盒测试主要用于测试(A) A 程序的内部逻辑B程序的正确性C程序的外部功能D机构合理 性 15、软件开发和维护的工程中出现的一系列的严重问题称(D) A软件工程 B 软件开发C软件周期D内部逻辑 16、在SD方法中全面指导模块划分最重要原则(D) A 程序模块化B模块高内聚C模块低耦和D模块独立性 17、下面属于维护阶段文的档的是(C) A 软件规格说明B用户操作手册C软件问题报告D软件测试分析报告 18、软件按照设计的要求,在规定时间和条件下达到不出故障持续运行的质 量特征为(B) A 可用性B可靠性C正确性D完整性

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.什么是软件危机(概念) 在计算机软件的开发和维护过程中所遇到的一系列严重问题 2.软件工程学科出现的主要原因:软件危机的出现 3.什么是软件工程?(概念) ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 4.简述结构化范型和面向对象范型的要点,并分析他们的优缺点 目前使用得最广泛的软件工程方法学(2种): ⑴传统方法学:也称为生命周期方法学或结构化范型。 优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。 缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 ⑵面向对象方法学 优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作; 促进了软件重用。 5.软件生命周期每个阶段的基本任务 问题定义:准确地回答“要解决的问题是什么” 可行性研究:确定问题是否值得去解决 需求分析:准确地回答“系统必须做什么” 总体设计:①设计出实现目标系统的几种可能的方案 ②确定程序由哪些模块组成以及模块间的关系 详细设计:把解法具体化(设计出程序的详细规格说明) 编码和单元测试:写出正确的容易理解、容易维护的程序模块 综合测试:通过各种类型测试(及相应的调试)使软件达到预期的要求 软件维护:通过各种必要的维护活动使系统持久地满足用户的需要 软件生命周期由软件定义、软件开发和运行维护(也成为软件维护)3个时期组成 ①软件定义时期:问题定义、可行性研究和需求分析 ②软件开发时期:总体设计、详细设计、编码和单元测试、综合测试 ③软件维护时期

软件工程导论期末考试题

一、单项选择题 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. 集成测试时对软件结构中上层使用 用 ( 自底向上 ) 的集成测试方法。

软件工程导论试题

软件工程导论试题 一.选择 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、具有抽象性 2、没有明显的制造过程 3、软件的维护比硬件的维护要复杂得多 4、对计算机系统有着不同程度的依赖性 5、尚未完全摆脱手工艺的开发方式 6、软件本身是复杂的 7、软件成本相当昂贵 8、相当多的软件工作涉及到社会因素软件的发展: 程序设计、程序系统、软件工程 软件危机: 软件危机指的是软件开发和维护过程中遇到的一系列严重问题。 软件危机的问题: 如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机表现: 1.开发成本难以控制,进度不可预计; 2.软件系统的质量和可靠性很差,难以满意; 3.软件文档相当缺乏,软件系统不可维护; 4.软件开发生产率很低,软件产品供不应求。 5.软件产品成本十分昂贵。

软件危机产生原因: 1、软件本身的特点 2、对软件开发与维护存在许多错误认识和做法 3、软件开发与维护的方法不正确 解决软件危机途径: 1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。 2、研究和推广成功的软件开发技术和方法。 3、开发和使用好的软件工具。 软件生命周期: 软件所经历的定义、开发、使用和维护直到废弃所经历的时期。 程序设计环境: 源程序编辑,编译或解释,链接,调试和运行工具的集合 软件工程环境: 软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合 二、软件工程: 软件工程定义: 研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。 软件工程性质: 涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。用管

软件工程导论试题

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 流程图: 盒图:

软件工程导论期末试题

软件工程导论期末考试试题 一.选择(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、熟练的开发人员

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

软件工程导论期末考试试题 一.选择 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) 给出定货系统的功能模型。

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

软件工程导论期末考试试 题和答案 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章概述 (一)单项选择题 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. ①、②和③ 11 软件工程的出现主要是由于( C )。 A. 程序设计方法学的影响 B. 其他工程科学影响 C. 软件危机的出现 D. 计算机的发展

相关文档
最新文档