软件工程模拟习题.docx
- 文档编号:7853745
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:12
- 大小:24.18KB
软件工程模拟习题.docx
《软件工程模拟习题.docx》由会员分享,可在线阅读,更多相关《软件工程模拟习题.docx(12页珍藏版)》请在冰豆网上搜索。
软件工程模拟习题
1、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以___维护所占的维护量最小。
C
A、纠错性维护B、代码维护 C、预防性维护D、文档维护
2.使用软件时提出增加新功能就必须进行_______维护。
C
A.改正性B.适应性C.完善性D.预防性
3.维护软件时为了保证修改不会影响原来可以正常使用的功能,应安排_______测试。
D
A.单元B.集成C.验收D.回归
4.关于数据流图不正确的描述是_________。
D
A.数据流图是结构化系统分析的主要工具。
B.在数据流图中,*号标识相邻的数据流只取其一。
C.数据流图中父图与子图两者的输入和输出数据流必需一致。
D. 画DFD图的任意层次图必须都要画数据存储项(即数据表单)
5获取需求的困难和项目复杂带来的潜在风险属于
A.技术风险B.商业风险C.项目风险D.经济风险
6.软件测试不包括_________方面的差错和纠错。
D
A.软件计划B.软件设计C.软件编码D.软件价格
7、软件维护过程产生的副作用,是指______。
B
A、开发过程中发现的错B、因修改软件而造成的错误C、隐含的错误D、运行时误操作
8.下列关于瀑布模型的描述正确的是_______。
A
A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B.瀑布模型具有良好的灵活性。
C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D.利用瀑布模型,如果发现问题修改的代价很低。
9.划分模块如果必须存在耦合,选择适当的耦合类型的错误原则是___。
D
A.尽量使用数据耦合B.少用控制耦合
C.限制公共耦合的范围D.允许使用内容耦合
10.类是具有相同属性和相同操作的对象抽象,对象是类的_________。
C
A.例证B.用例C.实例D.例外
11.对于分层的DFD,父图与子图的平衡是指____。
A
A.父图与子图的输人输出数据流必须相同
B.子图必须继承父图的输人与输出流
C.父图与子图相应的输人输出数据流名字保持一致
D.子图可以有自己的输入输出数据流.
12.为了定量分析项目进度,需要在制定项目进度计划时,估算每个___A
A.应该完成的工作任务的预算工作量的成本
B.工作任务的预算成本
C.工作任务的实际工作量的成本
D.实际工作任务的预算成本.
13.需求分析中开发人员要从用户那里了解_____A
A.用户要求软件做什么B.用户使用界面
C.输入的信息D.软件的规模
14.软件开发时,一个错误发现得越晚,为改正它付出的代价就_____B
A.越小B.越大C.接近平均D.不可捉摸
15.软件过程模型是根据不同项目定义的、贯穿于软件生命周期的___。
B
A.一组关键区域B.一种开发方法
C.一个过程描述D.一个开发阶段
16.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于____。
B
A.维护时期B.计划时期C.运行时期D.开发时期.
17.数据字典不包括对____描述。
D
A.数据加工B.数据流C.数据存储D.数据源和数据接受.
18.CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的行为特征是____.B
A.工作无序,项目进行过程中经常放弃当初的计划
B.定量的过程管理和软件质量管理
C.建立了项目级的管理制度
D.软件过程中活动的生产率和质量是可度量的.
19.比较理想的可重用软构件是_______。
D
A.子程序库B.源代码包含文件C.对象D.类
20.软件生命周期中所花费用最多的阶段是______。
D
A.详细设计B.软件编码C.软件测试D.软件维护
21.软件需求分析阶段的工作,可以分为以下四个方面:
对问题的识别、分析与综合、编写需求分析文档以及_____.C
A.总结B.阶段性报告C.需求分析评审D.以上答案都不对
22.一个成功的测试是_。
B
A.发现错误B.发现至今尚未发现的错误
C.没有发现错误D.证明发现不了错误.
23.类是具有相同属性和相同操作的对象抽象,对象是类的_______。
C
A.例证B.用例C.实例D.例外
24.螺旋模型是一种重要的软件过程模型,它的主要思想是:
结合了线性顺序模型和演化模型的思想,经过“制定计划”、“_____”、“实施工程”和“客户评估”四项活动的迭代不断获得新版本。
A
A.风险分析B.质量管理C.基线制定D.实施监管
25.软件维护的步骤不包括______________。
A
A.维护组织B.修改程序C.重新验证程序D.分析和理解程序
26.在结构化程序设计中要实现任何模块的单入口单出口。
一般不允许使用控制结构是______.B
A.顺序B.无条件转移C.条件分支转移D.循环
27.面向对象的动态模型中,每张状态图表示_______的动态行为。
B
A.有关联的若干个类B.某一个类C.一系列事件D.一系列状态
28.软件需求分析是保证软件质量的重要步骤,它的实施应该是在___。
C
A.编码阶段处B.软件开发全过程C.软件定义阶段D.软件设计阶段
29.应该在______,确定对象类中应有的服务。
A
A.建立对象模型之后B.建立动态模型之后
C.建立功能模型之后D.建立动态模型和功能模型之后
30.软件测试是软件质量保证的主要手段之一,测试的费用已超过_____的30%以上。
因此,提高测试的有效性十分重要.A
A.软件开发费用B.软件维护费用
C.软件开发和维护费用D.软件研制费用
31.下面软件详细设计工具的图示中,___中每个过程用一个盒子表示,盒子可以嵌套。
A
图B.流程图图图
32.类图表示系统的______。
D
A.消息结构B.动态行为C.系统部署D.静态结构
33.下面的4种软件开发风险中,______风险的危险系数最高。
A
A.项目的范围不明确B.开发人员经验不足
C.开发队伍不稳定D.用户不支持
34.用限定词来表示对象类之间受限关联的通常目地是________。
D
A.更准确地表示归纳关系B.更准确地表示组合关系
C.增加关联阶数D.减少关联阶数
35.软件工程的目标是_____。
C
A.生产满足用户需要的产品
B.以合适的成本生产满足用户需要的产品
C.以合适的成本生产满足用户需要的、可用性好的产品
D.生产正确的、可用性好的产品
36若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入的角度考虑一组测试用例:
,,,。
设计这组测试用例的方法是_________C
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
37.下列属于维护阶段的文档是___________C
A.软件规格说明B.用户操作手册
C.软件问题报告D.软件测试分析报告
38.原型化方法是一个动态设计过程,它要求使用该方法的人员具有能力是____B
A.熟练的编程技能B.及时获得用户需求
C.协作精神及有力管理D.巧妙使用工具
39.关于模块的耦合性,模块独立性最差的耦合是________。
C
A.非直接耦合B.标记耦合C.控制耦合D.数据耦合
40.信息隐蔽的概念与哪一概念直接相关______B
A.软件结构定义B.模块独立性
C.模块类型划分D.模块内聚
41.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:
分析和理解程序、修改程序和________.C
A.建立目标程序B.执行程序C.重新验证程序D.验收程序
42.维护过程本质上是________的过程。
A
A.改正错误或压缩的修改软件定义和开发B.修改文档
C.修改软件配置D.修改程序
43.将输入,处理,输出结构的DFD转换为结构图时,当处理部分各处理块为网状连接,结构图的处理层次应为____。
B
A.按标的编号顺序分层B.各处理块在同一层次
C.平均分为两层D.按题任意分层.
44.在软件工程中,采用原型化方法开发的系统,用户在使用过用户界面原型后,按项目要求应提出________的意见。
A
A.同意什么和不同意什么B.提出使用编程语言要求
C.程序的结构D.评价程序运行速度
45.DFD图中的箭头代表________。
A
A.数据流B.控制流C.调用关系D.组成关系
46.软件的发展过程划分为4个阶段:
第一阶段(1950~1950年代末)称为“程序设计的原始时期”,程序员编写程序用_________。
A
A.机器指令B.汇编语言C.数据库语言D.高级语言
47.面向对象分析的首要工作是建立________。
D
A.系统的功能模型B.系统的动态模型
C.软件对象类定义D.问题的对象模型
48.件结构的复杂度与__________有关.B
A模块扇入B模块扇出C控制路径D输入/输出数
49.在McCall软件质量度量模型中,_______属于面向软件产品修改。
B
A.可靠性B.可重用性C.适应性D.可移植性
50.类之间可以共享属性和操作的机制称为_____。
D
A.多态机制B.绑定机制C.重载机制D.继承机制
51黑盒测试在设计测试用例时,主要需要研究________A
A.需求规格说明与概要设计说明B.详细设计说明
C.项目开发计划D.概要设计说明与详细设计说明
1.UML动态建模图有:
顺序图、活动图和____[1]__状态图_。
2.软件测试中每个测试用例都应定义___[2]__输入和对应输出值范围___.
3.面向对象测试的基本单元是_[3类]____。
4.螺旋模型是一种重要的软件过程模型,它的主要思想是:
结合了线性顺序模型和___[4增量模型]___.
5.黑盒测试方法只检查被测模块___[5功能]__是否符合要求。
6.集成测试方法常用黑盒测试技术实施策略有:
__[6非渐增式测试]__和渐增式测试。
7.DFD图的层次结构图的上一层是下一层的抽象,下一层是上一层的_[7求精]_。
.
8.耦合是对不同模块之间____[8相互依赖程度]__的度量.
9.信息隐蔽的目的是:
_[9提高模块的独立性]__,减少修改或维护时的影响面。
10.面向对象建模方法包括:
建模语言和___[10建模过程]__。
11.结构化的分析和设计方法是围绕实现___[11需求]____的过程来构造软件的。
12.结构化设计中将DFD图划分两个基本结构为变换分析和__[12事务分析]_
13.[13偶合]___是对不同模块之间相互依赖程度的度量
14.PDL图_____清晰地反映了程序的层次结构,这是因为它可以进行程序模块的定义。
15.SD方法认为,一个判定的作用域应该是判定所在控制域的子集。
16.软件工程学的最终目标,是以较低的成本研制具有高质量的软件。
17.Jackson法的设计原则是:
是程序结构[3]同数据结构相对应。
18在UML中用于描述相互合作的对象间的交互关系和链接关系是_____交互图_______
19.在面向对象的技术中单词UML的意思是____[19统一建模语言]____.
20.软件界面的设计的导航方式有:
线性、层次、____[20网状]__、混合式.
21.软件生命周期的六个步骤依次是制定计划、需求分析、软件设计、编码、_____[21测试]___及维护。
22.解决复杂的问题经常采用的策略是__[22分解]__,这也是结构化分析的精髓
23.软件工程的三视图:
__[23技术观点]__、工程的观点、管理的观点。
.
24.UML静态建模图有:
__[24类图]___、用例图、构件图、配置(部署)图、包图
25.以变换为中心的基本思想是以数据流图为基础,首先找出变换中心,确定模块结构图的顶层模块,然后按照____[25自顶向下]___的设计原则得到模块结构图。
26.状态图表示系统的_____[26动态关系]____。
.
27.测试是在开发人员指导下的用户测试。
28..CMM模型的可管理级特征是定量的过程管理和软件质量管理。
29.结构化概要设计包括体系结构设计和___[模块设计]_。
30.类及对象间的关系为:
归纳(聚集)关系、组合关系和____关联关系_。
31.测试阶段的工作步骤是:
单元测试、集成测试_、确认测试和[系统测试]。
32.由DFD图导出层次结构图,当DFD图呈现出是事务型结构时,导出的层次结构图中最高层是__[输入项]_和调度项。
33.用例之间存在三种关系:
包含关系、__[扩展关系]_和使用关系
34结构化的分析和设计方法是围绕实现__需求_____的过程来构造软件的。
35.使用原型法开发软件必须依赖_现有系统和case__工具。
36.面向对象方法描述现实世界建立的三种模型是_动态模型,功能模型,静态模型__。
37.面向对象设计就是基于对象建立[功能]___域的模型的过程。
38.对象的交互耦合是指对象间耦合通过__[消息传递]_______来实现。
1.松散耦合,表明模块的独立性强。
(v)
是用文字表达算法的工具,容易转化成可执行代码。
(v)
3.软件维护包括:
修改程序、重新验证程序、分析和理解程序。
(v)
4.类的交互图表示了系统的结构。
(x)
5.应力测试是指在数据量、处理频率极限情况下的系统测试。
(x)
6一个模块直接修改另一个模块的内容称为内容耦合。
(v)
7.顺序图中生命线---表示对象存在的时间段(v)
8.松散耦合,表明模块的独立性强。
(v)
是用文字表达算法的工具,容易转化成可执行代码。
(v)
10.软件维护包括:
修改程序、重新验证程序、分析和理解程序。
(v)
11.事务分析方法具有在多种事物中选择执行某类事物的能力(v)
12.软件工程的三视图:
项目观点、经济观点和管理观点。
(x)
用例图(UseCase)表示系统动态行为。
(x)
1.什么是软件概要设计该阶段的基本任务是什么
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:
⑴设计软件系统结构,具体为:
采用某种设计方法,将一个复杂的系统按功能划分为模块。
确定每个模块的功能。
确定模块之间的调用关系。
确定模块之间的接口(模块之间传递的信息)
评价模块的结构质量
⑵进行数据结构及数据库的设计
⑶编写概要设计的文档:
主要内容有:
概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)
⑷评审:
是否完整地实现了规定的功能﹑性能要求。
设计方案是否可行。
关键的处理及内部接口定义的正确性,有效性,各部分的一致性。
2病人打电话预约治疗牙齿,接待员查阅日历并安排病人治疗的日期,如果病人对给出的计划时间满意,接待员输入预约时间、病人姓名和大概的治疗内容;系统将核对病人的名字及相关记录,并建立病人的ID号。
在每次病人来医院保健或治疗后,医生或助手将标记预约已经完成,并记录本次的保健或治疗情况,有必要的话,会安排病人下一次的预约。
系统要能够查询浏览指定日期的病人、时间及大概治疗的内容;应该允许撤消预约;以及打印或显示未按时应疹的病人清单。
统计医生的接疹情况等。
绘制系统的对象类图。
解:
根据问题陈述中的名词和名词短语,提取并筛选类,建立对象类图如下:
3、详细设计的基本任务是什么,有哪几种描述方法
答:
详细设计的基本任务包括:
1、为每个模块进行详细的算法设计
2、为模块内的数据结构进行设计
3、对数据库进行物理设计
4、其他设计
5、编写详细设计说明书
6、评审
详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。
4、什么是原型模型简述它在项目中的作用
原型是一个可实地运行的模型,有正式产品的主要特征,但不是全部特征。
软件原型是软件系统的最初版本,以最少的费用,最短的时间开发出的、以反映最后软件的主要特征的系统。
使用原型化方法在项目中是增进软件开发者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化,特别适用于需求不确定性较高的软件系统的开发。
它的动作思想是根据用户给出的基本需求,通过快速实现构造出一个小型的可执行的模型,这就是用户界面原型。
让用户在计算机上实际运行这个用户界面原型,在试用的过程中得到亲身感受和受到启发,做出反应和评价,提出同意什么和不同意什么。
然后,开发者根据用户的意见对原型加以改进。
随着不断试验、纠错、使用、评价的修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种细节,适应需求的变更,从而提高最终产品的质量。
这是一种自外向内型的设计过程。
5.软件工程系统需求分析包扩那三种需求,请简述它们
软件系统需求包扩:
领域需求,功能需求和非功能需求。
领域需求:
对软件应用在不同领域,要按该领域要求进行不同的设计。
取得不同的系统描述。
功能需求是系统对用户提供的服务、功能以及系统在特定条件下的行为描述。
以可看为用户实际需求。
非功能需求指不直接与系统功能相关的一类需求.主要反映对系统的约束,与系统的总体特性有关。
如可靠性、反应时间、存储空间等
6.模块的独立性是什么有什么定性评价标准(10分)
模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口尽可能地简单,模块的设计应该使模块之间仅有必要的联系,没有过多的联系,一个模块的存在不依赖于另一个模块的存在。
一般采用两个定性准则评价模块的独立性:
模块本身的内聚和模块之间的耦合。
7. 软件危机有何表现软件危机的根本原因是什么解决软件危机的方法和途径有哪些
8.模块的独立性是什么有什么定性评价标准
9.项目风险分几类,各类的影响是什么
答:
风险分类为三类:
项目风险:
可能拖延项目的进度及增加项目的成本;技术风险:
威胁项目质量和交付时间;商业风险:
威胁产品的生存能力
12.需求分析的主要任务是什么软件需求分析的过程是什么。
:
需求分析的主要任务不是确定系统如何完成它的具体工作,而是确定系统必须完成哪些工作,在用户的参与下提出目标系统的完整、准确、清晰、具体的实际要求,软件应完成的具体功能和性能,确定软件设计受到的限制及软件同其它系统的接口细节,描述软件用到的数据形式,逐步细化到详细定义,并为软件验收和质量评价提供依据。
软件需求分析的过程是,
(1)检查问题域以便更完整地理解目标软件的功能
(2)再使用模型以简洁的方式表达目标软件的功能和操作,(3)利用自顶向下、逐层分解的手段来降低问题的复杂性。
在这些处理过程中,因处理需求带来的逻辑约束,以及其它系统元素带来的物理约束,需要通过软件要素及视图的实现(即初步的操作原形实现)加以检验和确认。
13.什么是软件测试测试的根本目的是什么
狭义的软件测试:
测试是为了发现错误而执行程序的过程。
是根据软件开发的各个阶段的说明和程序的内部结构而精心设计的一批测试用例(有输入数据及预期的结果),并利用这些测试用例执行程序及发现错误的过程。
广义的软件测试是对软件计划、软件系统分析、软件设计、软件编码进行的查错活动,包括代码执行和人工审查活动,测试的目的是找出软件生命周期的各个阶段的错误,有利于以后进行修改和纠正。
但测试本身不修正错误,调试才会修正错误。
即找错的活动是测试;分析错误的性质与位置,进行纠错的活动是调试,保证算法的正确实现。
软件测试与程序测试都是查找错误的活动,差别在于查找错误的范围不同
测试根本目的是暴露软件的错误。
14.什么是β测试
15.对比瀑布模型和增量模型,指出增量模型的新思路
答:
瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。
由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。
增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交.
16.什么是模块的控制范围和作用范围他们的关系如何
答:
控制范围:
是模块本身和它的下属模块的集合。
作用范围:
模块中的一个判定影响的所有模块的集合。
作用范围应该在控制范围内。
18.面向对象开发方法与面向数据流的结构化开发方法有什么不同
答:
结构化开发方法优先产生过程的抽象,这些抽象把软件视为处理流,定义构成一系列步骤的算法,每一步骤都是带有预定义输入和特定输出的一个过程,串联在一起可产生合理的稳定的贯通于整个程序的控制流。
数据结构是应算法步骤的要求而开发的。
数据结构贯穿于过程,提供过程需要传送给它的操作的信息
面向对象开发方法是我们分解问题所使用方法演化的结果。
开发方法中优先的是实体,即问题论域的对象。
在面向对象开发方法中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。
19.给出下列伪码的测试程序图(流图)和最少测试路径以及测试用例。
程序:
inputa,b;
if(b>a){
x=b;
if(b>20){x=x+9;}
else{x=x+1;
}
x=x+1;
}
else{x=a;
if(a>20){x=x+15;}
else{x=x-5;}
}
outputx;
要求:
1.根据程序给出测试流图
2.求最少独立路径
3.给出测试用例
答:
最小路径测试用例应为4个
测试路径:
测试用例
1)2a=20,b=30
2)2a=10,b=20
3)a=30,b=20
4)a=20,b=10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 模拟 习题