软件工程必备期末复习题
选择题
1.软件设计中划分模块的一个准则是(C)。
A低内聚低耦合
B低内聚高耦合
C高内聚低耦合
D.高内聚高耦合
2.(A)是用户和设计交换最频繁的方法。
A、原型化方法
B、瀑布模型法
C、螺旋模型方法
D、构件组装模型
3.试判断下列叙述中,哪个些是正确的(C)。
a、软件系统中所有的信息流都可以认为是事务流
b、软件系统中所有的信息流都可以认为是变换流
c、事务分析和变换分析的设计步骤是基本相似的
A、aB、bC、cD、b和c
4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)
A、硬件环境
B、软件开发的环境
C、软件开发工具和软件开发的环境
D、开发人员的素质
5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D)
A、PASCAL
B、VISUALBASIC
C、C++
D、汇编语言
6.软件测试的目的是?(D)
A.软件的正确性
B.出软件系统中存在的所有错误
C.证明软件系统中存在错误
D.尽可能多的发现软件系统中的错误
7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A、程序的内部逻辑
B、程序的复杂程度
C、该软件的编辑人员
D、程序的功能
8.软件维护工作的最主要部分是(C)。
A、纠正性维护
B、适应性维护
C、完善性维护
D、预防性维护
9.PDL是(B)语言。
A.高级程序设计语言
B、伪码式
C、中级程序设计语言
D、低级程序设计语言
10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。
A、软件结构
B、软件过程
C、软件模型
D、软件模块
11.在数据流图中,○(椭圆)代表(B)
A、数据流
B、转换
C、数据源
D、外部实体
12.总体设计目的是确定整个系统的(D)。
A、规模
B、测试方案
C、费用
D、功能及模块结构
13.检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试
B、集成测试
C、验收测试
D、验证测试
14、在七种偶合中,最低偶合是(C)。
A、内容偶合
B、公共偶合
C、数据偶合
D、非直接偶合
15.以下不属于白盒测试技术的是(D)
A.逻辑覆盖
B.基本路径测试
C、循环覆盖测试
D、等价类划分
16.软件的发展经历了(D)个发展阶段
A.1B.2C.3D.4
17.需求分析的任务不包括(B)
A.问题分析
B.系统设计
C.需求描述
D.需求评审。
18. 从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的方法。
A、面向对象
B、面向数据
C、面向过程
D、面向属性
19.将软件组装成系统的一种测试技术叫(A)
A.集成测试
B.单元测试
C.集合测试
D.系统测试
20.技术可行性是可行性研究的关键,其主要内容一般不包括(C)
A.风险分析
B.资源分析
C.人员分析
D.技术分析
21.一个模块的(B)是指能直接控制该模块的模块数。
A.扇出数
B.扇入数
C.宽度
D.深度
22.下列模型属于成本估算方法的是(A)
A、COCOMO模型
B、McCall模型
C、McCabe度量法
D、时间估算法
软件工程专业课程23.在衡量软件质量时,最重要的标准是(B)。
A、成本低
B、可维护性好
C、符合要求
D、界面友好
24.瀑布模型的关键不足在于(B)
A、过于简单
B、不能适应需求的动态变更
C、过于灵活
D、各个阶段需要进行评审
25.软件生命周期中所花费用最多的阶段是(D)
A、详细设计
B、软件编码
C、软件测试
D、软件维护
26.软件开发时,一个错误发现得越晚,为改正它所付出的代价(A)
A、越大 B、越小
C、越不可捉摸 D、越接近平均水平
27.程序的三种基本控制结构是(B)
A、过程、子程序和分程序
B、顺序、选择和循环
C、递归、堆栈和队列
D、调用、返回和转移
28.结构化程序设计主要强调的是(D)
A程序的规模
B程序的效率
C程序设计语言的先进性
D易读性
29.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)
A.纠错性维护
B、适应性维护
C、改善性维护
D、预防性维护
30.模块的内聚性最高的是(D)
A、逻辑内聚B、时间内聚
C、偶然内聚D、功能内聚
问答题
1.什么是软件?
计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档及数据;
2.什么是软件工程?
软件工程是一门指导软件开发的工程学科,以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。
3.快速原型技术的基本思想是什么?
花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提高软件质量。
4.快速开发原型的途径有哪些?
废弃型:快速建立需求规格原型;
追加型:快速建立渐进原型法采用循环渐进;
步骤:快速分析、构造原型、运行和评价原型、修改与改进
5.什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题:(1)如何开发软件,怎样满足对软件的日益增长的需求;(2)如何维护数量不断膨胀的已有软件;
6.什么是软件生存周期?
软件生存周期是软件的产生直到报废的整个生命周期
7.什么是软件的可靠性?
指在给定时间内,在规定的环境条件下系统完成所指定功能的概率
8.如何识别用例?
明确以下4个问题即可:
1、与系统实现有关的主要问题是什么;
2、系统需要哪些输入/输出,这些输入/输出从何而来,到哪里;
3、执行者需要系统提供哪些功能;
4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储
9.如何识别角?
1、谁使用系统的主要功能?
2、谁需要系统的支持以完成日常工作任务?
3、谁负责维护,管理并保持系统正常运行?
4、系统需要应付(或处理)哪些硬设备?
5、系统需要和哪些外部系统交互?
6、谁(或什么)对系统运行产生的结果(值)感兴趣?
10.如何识别类?
常用的方法有:1.名词识别法;2.系统实体识别法;3.从用例中识别类;4.利用分解与抽象技术;关键是要定义类的“属性”及“操作”
11.耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?
(1)非直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)外部耦合;(6)公共耦合;(7)内容耦合;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论