[课程复习] 软件工程导论之经典题目回顾 (一)选择题、填空题1

作者最近在复习考博,乘此机会分享一些计算机科学与技术、软件工程等相关专业课程考题,一方面分享给考研、考博、找工作的博友,另一方面也是自己今后完成这些课程的复习资料,同时也是在线笔记。基础知识,希望对您有所帮助,不喜勿喷~

《软件工程导论 · 张海藩》


一.概述

题目:

1、软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( )。
A. 维护阶段
B. 设计阶段
C. 代码实现阶段
D. 测试阶段

2、软件工程的出现是由于____________________。

3、计算机软件不仅仅是程序,还应该有一整套_______________。

4、传统的软件生存期模型是______________。

5、软件按照功能的不同可以划分为3大类型_______、________ 和 ________。

6、软件工程由方法、工具和 ______ 三部分组成。

7、计算机系统工程包含硬件、软件、人机及 ________ 工程。

8、结构化程序设计主要强调程序的( )。
A.效率 B.速度 C.可读性 D.大小

9、程序的三种基本控制结构是:_______ 、 _________ 、 __________。

10、结构设计是一种应用最广泛的系统设计方法,是以 ______ 为基础、自顶向下、逐步求精和模块化的过程。


解析:

1、软件生命周期分为问题定义、可行性分析、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护八个阶段。其中,软件维护的成本和人力最高,其目的是提高软件的可维护性,减少软件维护所需的工作量,降低软件系统的总成本。

2、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要表现为:(1)对软件开发成本和进度的估计不准确;(2)用户对已完成的软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件没有适当的文档资料;(5)软件不可维护;(6)软件成本在计算机系统中所占比例逐年上升;(7)软件开发生产率提高的速度跟不上计算机应用普及趋势。

3、快速原型模型可以有效地适应用户需求的动态变化。

6、软件工程方法学包含3个要素:方法、工具、过程。 方法回答“怎么做”,工作提供支撑环境,过程是一系列的框架,规定各项任务的工作步骤。

7、计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程。包括系统分析员、硬件和硬件工程、软件和软件工程、人与人类工程、数据库和数据库工程。

8、结构化程序设计主要强调的是程序易读性。


答案:

1、A
2、软件危机的出现
3、文档
4、瀑布模型
5、系统软件、支持软件、应用软件
6、过程
7、数据库
8、C
9、顺序、选择、重复
10、数据流


二.可行性分析

题目:

1、程序流程图中的“→”代表( )。
A. 数据流 B. 控制流 C. 顺序流 D. 调用

2、DFD中的“→”代表( )。
A. 数据流 B. 文件 C. 处理 D. 控制流

3、DFD中的“○”代表( )。
A. 数据流 B. 文件 C. 处理 D. 控制流

4、DFD中的“_”代表( )。
A. 数据流 B. 文件 C. 处理 D. 控制流

5、DFD在软件工程中表示__________。

6、数据流图有四种基本成分_______ 、________ 、________ 、________。

7、数据字典有以下四类条目:_______ 、_______ 、________ 、________。_______是组成数据流和数据存储的最小元素。

8、瀑布模型的关键不足在于( )
A.过于简单
B.不能适应需求的动态变更
C.过于灵活
D.各个阶段需要进行评审

9、软件质量(可维护性、可理解性、可靠性)很大程度取决于( )
A.程序员的编程水平
B.模块分解的合理
C.程序运行效率
D.算法的合理性

10、结构化分析SA 方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。
A.DFD图 B.数据字典 C.IPO 图 D.PAD 图


解析:

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图包括四个成分:数据流 、加工(数据处理)、数据存储(文件)、 数据的源点或终点。

数据流图如下所示:


答案:

1、B
2、A
3、C
4、B
5、数据流图
6、数据流 、加工(数据处理)、数据存储(文件)、 数据的源点或终点
7、数据流、数据项(数据元素)、数据存储(文件)、处理(加工)、数据项
8、B
9、B
10、B


三.需求分析

题目:

1、 需求分析阶段最重要的技术文档是____________________。

2、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )。
A. 数据库设计
B. 数据通信
C. 数据定义
D. 数据维护

3、需求分析阶段的研究对象是( )。
A. 系统分析员要求
B. 用户要求
C. 软硬件要求
D. 系统要求

4、 软件生产过程中,需求信息由( )给出。
A.程序员 B.项目管理者 C.软件分析设计人员 D.软件用户

5、软件需求规格说明的内容不应包括( )。
A.主要功能
B.算法的详细描述
C.用户界面及运行环境
D.软件的性能

6、在E-R 模型中,包含以下基本成分( )。
A.数据、对象、实体
B.控制、联系、对象
C.实体、联系、属性
D.实体、属性、操作


解析:

1、传统软件工程学使用结构化分析技术完成分析用户需求的工作,需求分析是发现、求精、建模、规格说明和复审的过程。需求分析阶段会的最终成果是软件需求规格说明书,通常主要从一致性、完整性、现实性和有效性4个方面复审软件需求规格说明书。

2、数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件分析和设计过程中给人提示有关数据的描述信息,其最基本功能是数据定义。
数据字典由4类元素的定义组成:数据流、数据元素、数据储存、处理。例如:名字、别名、描述、定义、位置。

3、需求分析是软件定义时期(软件定义、软件开发、软件维护)的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。而用户才真正指导需要做什么,所以研究对象是用户要求的。总之,软件生产过程中,需求是由软件用户给出的。


答案:

1、需求规格说明书
2、C
3、B
4、D
5、B
6、C


四.总体设计和详细设计

题目:

1、结构化方法的基本原则是( )。
A.模块化 B.抽象与分解 C.信息隐蔽 D.逐步求精

2、耦合度最高的是( )耦合。
A.环境 B.内容 C.控制 D.数据

3、内聚程度较低的是( )内聚。
A.偶然 B.通讯 C.顺序 D.时间

4、画软件结构图时应注意调用关系只能是( )。
A.从下到上 B.从上到下 C.从左到右 D.从右到左

5、________ 与 ________ 是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到 _____ 内聚、_____ 耦合,提高模块的________,为设计高质量的软件结构奠定基础。

6、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用( )来描述。
A、流程图 B、判定表 C、NS图 D、问题分析图PAD

7、概要设计的结果是提供一份( )
A.模块说明书 B.框图 C.程序 D.系统结构图

8、SA法中,DFD图的某个处理过程分解后,一般不超过( )处理过程

9、面向数据流的软件设计方法,一般是把数据流图中数据流划分为( ),再将数据流图映射为软件结构。
A.数据流和事务流
B.交换流和事务流
C.信息流和控制流
D.交换流和数据流

10、详细设计的基本任务是确定每个模块的( )设计。
A.功能 B.调用关系 C.输入输出数据 D.算法

11、设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是( )。
A.模块化的根据
B.逐步求精的根据
C.抽象的根据
D.信息隐藏和局部化的根据

12、模块的内聚性最高的是( )。
A.逻辑内聚
B.时间内聚
C.偶然内聚
D.功能内聚


解析:

1、结构化方法的启发原则包括:(1)模块化 (2)抽象 (3)逐步求精 (4)信息隐藏和局部化 (5)模块独立。
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

2-3、软件设计讲究高内聚低耦合。其中耦合最低的是数据耦合(传递参数),耦合最高的是内容耦合(建议不采用);内聚最高的是功能内聚,内聚最低的是偶然内聚。

6、判定表:有些加工的逻辑用语形式不容易表达清楚,而用表的形式则一目了然。如果一个加工逻辑有多个条件、多个操作,并且在不同的条件组合下执行不同的操作,就可以使用判定表来描述。判定树和判定表没有本质的区别,可以用判定表表示的加工逻辑都可以用判定树来表示。


答案:

1、B
2、B
3、A
4、B
5、耦合性、内聚性、高、低、独立性
6、B
7、A
8、7个
9、B
10、D
11、A
12、D


五.实现(编码和测试)

题目:

1、以下语言中属于4GL是( )
A.PB B.VB C.UML D.SQL

2、软件测试中的测试实例主要由输入数据和( )组成
A.测试规则
B.测试计划
C.预期输出结果
D.以往测试记录分析

3、注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( )
A.1/6 B.1/5 C.1/4 D.1/3

4、进行单元测试时,需要一个( )被测模块的程序。
A.传递 B.管理 C.调用 D.驱动

5、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于_____ 。

6、与设计测试数据无关的文档是( )。
A.需求说明书 B.设计说明书 C.源程序 D.项目开发设计

7、各种软件维护的类型中最重要的是( )。
A.完善性维护
B.纠错性维护
C.适应性维护
D.预防性维护

8、软件测试的目标是 ___________ 。

9、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从
输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( )。
A.条件覆盖法
B.等价分类法
C.边界值分析法
D.错误推测法

10、下面几种白箱测试技术,哪种是最强的覆盖准则( )
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖

11、确定测试计划是在( )阶段制定的.
A.总体设计
B.详细设计
C.编码
D.测试


解析:

1、
第一代(1GL):机器语言
第二代(2GL):汇编语言
第三代(3GL):高级语言
第四代(4GL):第四代语言是一个简洁的、高效的非过程编程语言,用来提高DBMS的效率。在第四代语言中,用户定义“做什么”而不是“如何做”,如SQL。

4、单元测试(模块测试)主要测试编码、详细设计中错误,会用到驱动程序,主要采用白盒测试技术;集成测试(子系统测试和系统测试)主要测试模块接口和设计、编码;确认测试(验收测试)通常由用户参与完成,确认是否满足用户的需求,采用黑盒测试技术。


答案:

1、D
2、C
3、D
4、D
5、确认测试
6、D
7、A
8、发现错误、降低错误带来的风险
9、C
10、D
11、A


六.面向对象设计分析

题目:

1、在面向对象软件开发方法中,类与类之间主要有以下结构关系( )
A.继承和聚集
B.继承和一般
C.聚集和消息传递
D.继承和方法调用

2、面向对象模型主要由以下哪些模型组成_______ 、_________ 、_________。

3、OOA中应首先识别( )。
A.对象 B.类 C.对象的属性 D.对象所属的类

4、以下哪一项不是面向对象的特征( )。
A.多态性 B.继承性 C.封装性 D.过程调用

5、以下哪一项不属于面向对象的软件开发方法( )。
A.coad方法 B.Booch方法 C.jackson方法 D.OMT方法

6、面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。
A. 标识 B. 规则 C. 封装 D. 消息

7、面向对象程序设计中的数据隐藏指的是( )。
A.输入数据必须输入保密口令
B.数据经过加密处理
C.对象内部数据结构上建有防火墙
D.对象内部数据结构的不可访性


解析:

1、在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。聚集又称为聚合,表示类与类之间的关系是整体与部分的关系。
面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。

2、面向对象模型主要包括对象模型、动态模型、功能模型。对象模型描述系统数据结构,动态模型描述系统控制结构,功能模型描述系统功能。一个典型的软件系统组合了三方面内容:它使用数据结构(对象模型)、执行操作(动态模型),完成数据值的变化(功能模型)。

5、jackson方法是面向数据结构的设计方法。


答案:

1、A
2、对象模型、动态模型、功能模型
3、A
4、D
5、C
6、A
7、D


PS:最近参加CSDN2018年博客评选,希望您能投出宝贵的一票。我是59号,Eastmount,杨秀璋。投票地址:https://bss.csdn.net/m/topic/blog_star2018/index

五年来写了314篇博客,12个专栏,是真的热爱分享,热爱CSDN这个平台,也想帮助更多的人,专栏包括Python、数据挖掘、网络爬虫、图像处理、C#、Android等。现在也当了两年老师,更是觉得有义务教好每一个学生,让贵州学子好好写点代码,学点技术,“师者,传到授业解惑也”,提前祝大家新年快乐。2019我们携手共进,为爱而生。

(By:Eastmount 2019-01-28 下午6点 http://blog.csdn.net/eastmount/ )

  • 23
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eastmount

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值