《软件工程》习题集.docx
《《软件工程》习题集.docx》由会员分享,可在线阅读,更多相关《《软件工程》习题集.docx(37页珍藏版)》请在冰豆网上搜索。
《软件工程》习题集
《软件工程》习题集
一、选择题
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.对于软件公司来说最重要的什么?
________
A)高级PC机B)企业服务器C)软件工程师D)项目管理规范
7.软件神话之一是,“即使进度拖后,也可以增加更多的人手,在项目后期赶上进度”。
但是,实际上往往达不到预期目标,原因在于________。
A)新来者技术水平不佳B)新来者与原来者沟通能力有问题
C)新来者外语平不佳D)新来者与原来者沟通增加通信成本
8.版本管理属于以下那种领域?
________
A)SCMB)SQAC)OOAD)WEB
9.在产品工程层次中,系统构造与集成活动不包括以下那类活动?
________
A)代码生成B)系统测试C)技术支持D)系统建模
10.以下关于实体-关系图(ERD)的说法哪个是正确的?
________
A)ERD只能用在数据库设计领域
B)ERD中的关系(用菱形表示)不可能有属性
C)ERD中的各个实体之间可以形成层次结构,类似于UML中的类图(Class图)
D)ERD中的各个关系可以表达动态信息(数据的流动)
答案:
ACCACDDAAC
11.以下关于接口设计的说法哪个正确?
________
A)接口设计要在概要设计之前完成
B)接口设计就是用户界面设计
C)接口设计和数据流图(在分析模型中)有密切的映射关系
D)接口设计和状态变迁图(在分析模型中)有密切的映射关系
12.白盒测试属于以下哪种测试?
________
A)单元测试B)系统测试C)集成测试D)确认测试
13.独立测试组(ITG)为何比公司内部员工更适合来做一些测试?
________
A)他们的水平更高B)他们靠找出错误来拿工资
C)他们很懂得黑盒测试D)他们不参与项目的整个过程
14.Beta测试是在以下哪个场所进行的?
________
A)客户的单位B)野外C)网络中心D)开发者的场所
15.面向对象的软件工程更加侧重以下哪个方面?
________
A)系统的数据B)系统的界面C)系统的行为D)系统的性能
16.在面向对象设计(OOD)模型中,消息设计(messagedesign)对应面向对象分析(OOA)模型中的哪一个部分?
________
A)用例(usecases)B)CRC索引卡片C)对象-关系模型D)对象-行为模型
17.OO测试与传统测试在以下哪个方面存在区别?
________
A)测试目标发生变化B)包括测试OOA与OOD模型
C)确认测试发生变化D)不再存在单元测试
18.当前的客户机/服务器(C/S)应用更多采用以下哪种软件构件的分布?
________
A)“胖”服务器/“胖”客户机B)“瘦”服务器/“胖”客户机
C)“瘦”服务器/“瘦”客户机D)“胖”服务器/“瘦”客户机
19.以下那种Web应用体系结构最适合电子商务站点销售图书商品?
________
A)线性结构B)网格(grid)结构
C)层次结构D)网络(networked)结构
答案:
CADACDBBB
20.代码行(LOC)是被用于进行软件度量的一个参量,它是用于________的。
A)公共度量B)私有度量C)直接测量D)间接策测量
21.概要设计一般不包括以下哪个内容?
________
A)项目背景介绍B)伪码实现
C)子系统划分D)具体模块描述
22.比较测试属于以下哪种测试?
________
A)黑盒测试B)灰盒测试C)白盒测试D)蓝盒测试
23.用例图中,()关系意味着某个用例的执行必然激活另一个用例。
A、包含B、扩展C、泛化D、关联
24.类图中,类被表示为三栏的矩形,类的方法写在()中
A、第一栏B、第二栏C、第三栏D、随便
25.如果数据加工的策略中包含复杂的嵌套条件判断和多目标动作,则更适合使用()描述其计算策略。
A.判定表B.结构化英语C.定义式D.协作图
26.下列属于非功能需求的是()
A、对系统发布时间的限制B、对开发工具的限制
C对系统性能的要求D、其上全是
27.在以下()情况下,更适合以调查表作为需求获取的主要手段
A、需要与用户就某些功能的细节进行协商。
B、需要了解目标系统的应用范围、战略目标和商业价值
C、需要从大量用户那里获取关于需求的统计性信息
D、需要实际了解用户日常的工作过程和工作习惯。
28.()技术强调应该使程序具有单一的访问点和结束点,并且仅仅使用三种最基本的控制流程,以提高程序的可靠性和可理解性。
A、结构化分析B、结构化设计C、结构化编程D、都不是
29.顺序图能够直观的体现()之间动态协作的时序关系
A、对象B、类C、包D、用例
答案:
CBBACADCCA
30.关于用例图以下说法不正确的是()
A、每个用例至少要关联到一个参与者
B、每个参与者至少要关联到一个用例
C、扩展关系指向扩展用例
D、包含关系指向基础用例
31.下列软件开发过程模型中,以风险控制为焦点的是()。
A.瀑布模型B.V模型C.螺旋模型D.组件开发模型
32.在下列收集需求的方式中,与用户直接沟通的方式是()。
A.访谈B.调查表C.原型D.JAD会议
33.业务需求的获取应该来自于()。
A.客户B.用户C.系统分析员D.都不是
34.对于此前没有类似开发经验的软件项目,系统分析员在需求开发阶段需要首先完成的工作任务是()。
A.访谈B.领域了解C.确定业务需求D.划分用户群体
35.根据绘制数据流图的指导原则,数据流图中不能存在“黑洞”和“奇迹”,所谓“黑洞”是指()。
A.只有输入数据流而没有输出数据流的数据加工
B.只有输出数据流而没有输入数据流的数据加工
C.没有标注方向的数据流
D.没有命名的数据流
36.结构化分析应用的各种模型中,()用于对目标系统的功能域建模。
A.实体关系图B.数据流图C.状态迁移图D.Petri网
37.“注释”在UML中使用()符号表示。
38.UML规定使用()符号来表示类内部成员的protect可见性。
A.+B.-C.%D.#
答案:
ACABBABBD
39.UML的协作图表现的是()之间的动态协作过程。
A.类B.对象C.包D.用例
40.继承反映了类之间的层次关系,而()反映了一种整体与部分的关系。
A继承B组合C封装D多态
41.下列描述中与给定实体关系图的含义有冲突的是()。
A.甲老师上学期没有承担授课任务。
B.甲老师本学期讲授了《系统建模》、《软件工程》、《数据结构》三门课。
C.甲老师、乙老师和丙老师本学期都讲授《C语言》这门课。
D.甲老师上学期讲授的是《C语言》和《PASCAL》,这学期讲授的是《C++》和《DELPHI》。
42.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是()
A.顺序结构B.选择结构
C.嵌套结构D.循环结构
43.关于软件测试的目的,下面观点错误的是()
A.为了发现错误而执行程序的过程
B.一个好的测试用例能够发现至今尚未发现的错误
C.证明程序是正确、没有错误的
D.一个成功的测试用例是发现了至今尚未发现的错误的测试
44.一个模块的()是指能直接控制该模块的模块数。
A扇出数B扇入数C宽度D深度
45.单元测试的测试对象是()。
A系统B程序模块C模块接口D系统功能
46.瀑布模型的存在问题是( )。
A.用户容易参与开发 B.体现了推迟实现的观点
C.用户与开发者易沟通 D.不适用可变需求
47.程序的三种基本控制结构是( )。
A.过程、子程序和分程序 B.顺序、选择和重复
C.递归、堆栈和队列 D.调用、返回和转移
48.需求分析中开发人员要从用户那里了解( )。
A.软件做什么 B.用户使用界面
C.输入的信息 D.软件的规模
答案:
BBCCCBBDBA
49.需求分析阶段的任务是确定( )。
A.软件开发方法 B.软件开发工具
C.软件开发费 D.软件系统的功能
50.在下列图形符号中,UML使用()表示事物间的组合关系。
51. 如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,()测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。
A.α B.β C.γ D.σ
52.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
()不是系统测试的内容。
A.路径测试 B.可靠性测试 C.安装测试 D.安全测试
55、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定()。
A.模块间的操作细节 B.模块间的相似性
C.模块间的组成关系 D.模块的具体功能
答案:
DDAAC
53.下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。
现在提出一个新的需求:
"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的?
为什么?
设计A:
设计B:
设计C:
答案:
设计___最好。
理由:
设计C最好。
33635
33124
24312
D
BD
DBC
1系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统
进行测试。
()不是系统测试的内容。
A.路径测试B.可靠性测试C.安装测试D.安全测试
2在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成
内容之一,常用的加工描述方法()。
A.只有结构化语言B.有结构化语言和判定树
C.有结构化语言、判定树和判定表D.有判定树和判定表
3软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要
任务是要确定()。
A.模块间的操作细节B.模块间的相似性
C.模块间的组成关系D.模块的具体功能
4在UML提供的图中,()用于描述系统与外部系统及用户之间的交
互;()用于按时间顺序描述对象间的交互。
(31)A.用例图B.类图C.对象图D.部署图
(32)A.网络图B.状态图C.协作图D.序列图
6应该在()阶段制定系统测试计划。
A.需求分析B.概要设计C.详细设计D.系统测试
7耦合度描述了()。
A.模块内各种元素结合的程度
B.模块内多个功能之间的接口
C.模块之间公共数据的数量
D.模块之间相互关联的程度
8内聚是一种指标,表示一个模块()。
A.代码优化的程度B.代码功能的集中程度
C.完成任务的及时程度D.为了与其他模块连接所要完成的工作量
9两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,
在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是()个。
A.25B.30C.50D.60
10下面有关测试的说法正确的是()。
A.测试人员应该在软件开发结束后开始介入
B.测试主要是软件开发人员的工作
C.要根据软件详细设计中设计的各种合理数据设
D.严格按照测试计划进行,避免测试的随意性
11在面向对象软件开发过程中,采用设计模式()。
A.允许在非面向对象程序设计语言中使用面向对象的概念
B.以复用成功的设计和体系结构
C.以减少设计过程创建的类的个数
D.以保证程序的运行速度达到最优值
12采用UML进行软件建模过程中,类图是系统的一种静态视图,用()可明确表示两类事物之间存在的整体/部分形式的关联关系。
A.依赖关系B.聚合关系C.泛化关系D.实现关系
13内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求()。
A.高内聚,高耦合B.高内聚,低耦合
C.低内聚,高耦合D.低内聚,低耦合
14在软件设计和编码过程中,采取()的做法将使软件更加容易理解和维护。
A.良好的程序结构,有无文档均可B.使用标准或规定之外的语句
C.编写详细正确的文档,采用良好的程序结构D.尽量减少程序中的注释
ACCABDBCDBBC
二、填空题
1.(软件危机)是指在软件的开发和维护过程中遇到的一系列严重问题,表现为软件开发的成本和进度严重超过预算,软件无法更新和维护等等。
2.(功能)需求描述系统所预期提供的功能和服务。
(非功能)需求对系统如何提供服务和功能给出限制条件。
3.系统建模是对问题领域中的本质信息进行(抽象)和(模型化表示)的过程。
4.可用于需求收集和用户通信的主要技术手段包括(访谈)、(调查表)、(实际观察)、构造原型、JAD等等。
5.(原型)是对目标系统的部分实现,作为一种尝试和探索的手段,可以应用到软件开发的各个阶段;根据其用途和作用不同,大致可分为(抛弃型)和(演化型)两种类型。
6.在用例模型中,若用例A的执行必然激活用例B,则二者之间应定义为(包含)关系,若用例A的执行在某个条件点上激活用例B,二者之间应定义为(拓展)关系。
7.软件测试阶段的主要依据是(SRS)
8.UML的4+1视图分别是(用例视图)、(静态视图)、(交互视图)、(行为视图)、(实施视图)。
其中的“1”指(用例视图)视图。
9.UML中定义的基本关系形式有(依赖),(泛化),(关联),(实现),其中(泛化)关系表达了特殊事物与一般性事物之间“isakindof”的语义。
10.结构化的系统分析方法中,对目标系统的功能域建模主要使用(数据流)图;对行为域建模主要使用(状态迁移)图,对数据域建模主要使用(实体关系)图。
11.结构化分析方法将目标系统分解为(功能)的集合,而面向对象的分析方法则将系统分解为(对象)的集合,它们之间通过(消息)进行通信和协作。
12.统一建模语言的英文缩写是(UML);它是一种定义良好、功能强大且普遍适用的可视化建模语言。
13.(0层DFD)是处于最高抽象层次的数据流图,它给出目标系统全部的数据源点/终点和代表全部系统功能的一个(数据加工),可以有效地表示出目标系统的应用范围。
14.SRS的中文含义是(软件需求规格说明书);它是用户和开发组织对于目标系统的要求所达成的正式契约;也是后续开发活动参考的基本依据。
15.UML规定使用(+)、(-)和(#)符号来对应表示类内部成员的public,private和protect可见性。
16.(组合)和(聚合)用于描述事物间“整体/部分”的特殊结构关系,其中(组合)使用实心菱形符号。
17.软件工程的三要素是指(过程)、(方法)、(工具)。
18.(瀑布)模型按线性关系组织过程活动,强调活动执行次序的单向性和相邻依赖性。
该过程模型的焦点是文档和可交付产品。
19.CMM的中文含义是(能力成熟度模型),它是SEI制订的一个用于对软件过程标准化和规范化程度进行评估的方法。
20.(数据字典)是对结构化分析模型中全部元素的一个有组织的列表以及精确、严格的定义。
21.在UML中类被表示为一个三栏的矩形,类的(名称)列在第一栏中,类的(属性)列在第二栏中,类的(方法)列在第三栏中。
22.UML的顺序图和协作图可以展现(对象)之间的动态协作和消息通信过程,其中(顺序)图更直观的表现了消息通信的时序。
23.结构化程序设计强调使用(单一)入口和(单一)出口的基本控制结构,即(顺序)、(选择)、和(循环)结构,通过组合嵌套,形成程序的控制结构;尽可能避免使用GOTO语句。
在程序设计过程中尽量采用自(顶)向(下)和逐步(求精)的原则。
24.动态测试中,(黑盒)测试法主要检查程序是否满足功能要求
25.用等价类划分法设计一个测试用例,使其只覆盖(一个)不合理等价类。
26.结构化分析方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。
这些描述工具是:
数据字典;(ERD/STD);描述加工逻辑的结构化语言PDL,(判定树)、(判定表)。
27..在软件项目进度安排及跟踪方面,常常使用两种图。
一种是用来定义任务网络的,做作PERT图;另外一种是用来定义项目时间进度的,叫做(甘特)。
28.传统的软件设计方法是出于解决(面向过程)语言系统的设计问题为目的。
主要是那些基于功能分析或数据分析基础上的(结构化方法)。
把算法作为基本构造单元。
三、论述题
1.概要设计的基本任务有哪些?
A设计软件系统结构
B数据结构及数据库设计
C编写概要设计文档
D评审
2什么是软件设计?
软件设计是一个把软件需求转换为软件表示的过程,最初只描述软件的总的体系结构,称为软件概要设计或结构设计,然后对结构进一步细分,称为详细设计或过程设计。
3软件测试是为了发现错误而执行程序的过程,软件测试时需要哪三类信息?
A软件配置:
指需求规格说明书、设计说明书、源程序等。
B测试配置:
指测试方案、测试用例、测试驱动程序等
C测试工具:
指计算机辅助测试的有关工具。
4简要说明面向对象开发同结构化开发的区别?
OO方法
结构化方法
●系统由代表问题领域实际事物的对象构成。
●将描述对象状态的数据和对象提供的服务功能封装。
●以“事物”作为分析重点。
●对象之间通过消息协作。
●系统由实现数据处理的功能构成。
●分离并单独分析系统的数据域和功能域。
●以功能作为分析重点。
●功能模块间通过数据传递协作。
5举例说明软件工程过程模型的种类并绘制瀑布模型。
6试述结构化分析模型构成及分析模型同设计模型关系
7简述调试和测试的区别?
调试:
发现并改正错误
测试:
发现错误
8简述需求工程的主要活动?
A需求开发(需求发现,需求分析,需求文档化,需求验证
B需求管理(变更控制,版本控制,需求跟踪,状态管理
9UML的四种主要关系及图标?
(依赖、泛化、实现、关联)
10什么是用户界面设计的“黄金规制”?
a)减少用户记忆负担b)保持界面一致c)一切至于用户控制之下
11软件需求分析能够被分为哪几个工作区域?
a)领域了解b)获取项目需求c)确定用户群体和用户代表
d)利用有效的技术收集用户需求
12试述软件体系结构设计的风格和模式。
a数据为中心的体系结构b数据流风格的体系结构c调用返回的体系结构
d面向对象的体系结构e层次风格的体系结构
13简述集成测试的常用方法?
A非渐增式的B渐增式的(自底向上、自顶向下)
14关于软件项目组的组织方式,请解释什么是民主分散式(DemocraticDecentralized,DD)和控制集中式(ControlledCentralized,CC),并说明二者各自的适用领域。
民主分散式-无固定复杂人,小组成员间的通信是水平的。
适合解决简单问题
控制集中式-有小组复责人,复责人与小组成员间的通信是垂直的。
适合解决模块化程度较低、困难问题
15什么是软件?
什么是软件工程?
16软件测试过程一般可划分为哪四个主要阶段?
单元测试、集成测试、确认测试和系统测试
17CMM是什么?
共分几级?
初始级、可重复级、已定义级、已管理级、优化级
18在UML包括的各种图中,哪些是用于表现系统动态行为特征的?
用例图、状态图、活动图、协作图、顺序图。
19软件危机的原因和表现
1)造成软件危机的原因
●早期软件开发的随意性
●缺少有效的工程管理和团队协调机制
●硬件发展和计算机普及造成的冲击
●软件规模和复杂度提高造成的影响
2)软件危机的主要表现
●软件开发周期、成本的严重超过预算;
●软件质量难于保证,用户不满意
●缺乏有效的文档说明,导致软件无法维护和完成适应性改变
●生产效率远远低于计算机普及的速度
20面向对象三要素?
封装、继承和多态
21软件工程的研究内容
软件开发技术
软件过程
软件开发方法
软件工具和软件工程环境
软件工程三要素
软件工程管理
管理学、经济学、心理学等相关内容
22软件工程三要素:
过程、方法和工具
方法:
软件开发各项任务的技术方法
工具:
开发中运用的软件支撑环境
过程:
为了获得高质量的软件所需要完成的一系列任务的框架及完成各项任务的步骤
23黑盒测试同白盒测试的区别?
黑盒测试
白盒测试
优点
①适用于各阶段测试
②从产品功能角度测试
③容易入手生成测试数据
①可构成测试数据使特定程
序部分得到测试
②有一定的充分性度量手段
③可或较多工具支持
缺点
①某些代码得不到测试
②如果规格说明有误,
则无法发现
③不易进行充分性测试
①不易生成测试数据(通常)
②无法对未实现规格说明的
部分进行测试
③工作量大,通常只用于单
元测试,有应用局限
24什么是需求工程
需求工程应用有效的技术、方法进行需求开发和管理。
确定客户需求,帮助分析