软件工程选.docx
- 文档编号:26259607
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:44
- 大小:757.68KB
软件工程选.docx
《软件工程选.docx》由会员分享,可在线阅读,更多相关《软件工程选.docx(44页珍藏版)》请在冰豆网上搜索。
软件工程选
1、软件测试的目的是__A_②发现软件的错误_。
为了提高测试的效率,应该__B_④选择发现错误的可能性大的数据作为测试数据_。
使用白盒测试方法时,确定测试数据应根据__C_①程序的内部逻辑_和指定的覆盖标准。
一般说来与设计测试数据无关的文档是__D④项目开发计划_。
软件的集成测试工作最好由__E_④不属于该软件开发组的软件设计人员_承担,以提高集成测试的效果。
2、软件设计中划分程序模块通常遵循的原则是要使各模块间的耦合性尽可能__A③弱__。
__B⑤内容耦合__,例如,一个模块直接引用另一模块中的数据。
__C⑥控制耦合__,例如,一个模块把开关量作为参数传送给另一模块。
__D②数据耦合__,例如,一个模块把一个数值量做为参数传送给另一模块。
其中__E_⑤内容耦合_的耦合性最强。
偶然耦合最弱
3_A④单元测试在实现阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在B③详细设计阶段完成,目的是发现编程错误。
C①集成测试所依据的模块说明书和测试方案应在__D_②概要设计_阶段完成,它能发现设计错误。
E_③确认测试_应在模拟的环境中进行强度测试的基础上进行,测试计划应在软件需求分析阶段完成。
4、国家标准《计算机软件产品开发文件编制指南GB8567—88》中规定,在一项软件开发过程中,一般地说应该产生十四种文件,其中管理人员主要使用的有[__A_②项目开发计划_]、[__B③可行性研究报告__]、[__C④模块开发卷宗__]、开发进度月报、项目开发总结报告。
开发人员主要使用的有[__A②项目开发计划__]、[__B③可行性研究报告__]、[__D①软件需求说明书__]、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、测试计划和[__E⑤测试分析报告__]。
维护人员主要使用的有设计说明书、[__E⑤测试分析报告__]和[__C④模块开发卷宗__]。
5、软件维护工作越来越受到重视,因为它的花费常常要占软件生存周期全部花费的__A_③60~80_%左右。
其工作内容为__B④包括上述各点内容__,为了减少维护工作的困难;可以考虑采取的措施是__C_③切实加强维护管理,并在开发过程中就采取有利于未来维护的措施_。
而软件的可维护性包含__D_②可测试性、可理解性、可修改性_。
所谓维护管理主要指的是__E③判定修改的合理性并审查修改质量__等。
B:
①纠正与修改软件中含有的错误②因环境已发生变化,软件需作相应的变更
③为扩充功能,提高性能而作的变更④包括上述各点内容
6、软件测试是软件质量保证的主要手段之一,测试的费用已超过__A_①软件开发费用_的30%以上。
因此提高测试的有效性非常重要。
“高产”的测试是指__B③用少量的测试用例,发现被测程序尽可能多的错误
__。
根据国家标准GB8566-88计算机软件开发规范的规定,软件的开发和维护划分为8个阶段,其中单元测试是在__C_⑤实现阶段完成的;组装测试的计划是在__D③概要设计___阶段制订的;确认测试的计划是在__E②需求分析__阶段制订的。
7、在软件工程的设计阶段中,有三种常用的设计方法:
结构化设计(SD)方法、Jackson方法和Parnas方法。
SD方法侧重于__A_③模块要相对独立,且功能单一,使块间联系弱,块内联系强_;Jackson方法则是__B②由数据结构导出模块结构__;Parnas方法的主要思想__C④将可能引起变化的因素隐藏在有关模块内部,使这些因素变化时的影响范围受到限制__。
从70年代中期到90年代早期,__D①SD__是最为常用的设计方法。
__E③Parnas__法只提供了重要的设计准则,没有规定出具体的工作步骤。
8、一种最早用于科学计算的程序设计语言是__A⑩Fortran_;一种提供指针和指针操作且不存在布尔类型的、应用广泛的系统程序设计语言是__B⑤C;一种适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是__C⑦JAVA__;一种在解决人工智能问题上使用最多的有强的表处理功能的函数程序设计语言是__D⑧_lisp;一种以谓词逻辑为基础的,核心是事实、规则和推理机制的实用逻辑程序设计语言是__E_⑨prolog。
9、在设计测试用例时,__A②边值分析__是用得最多的一种黑盒测试方法。
在黑盒测试方法中,等价类划分方法设计测试用例的步骤是:
1、根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类;2、设计一个测试用例,使其覆盖__B__⑤尽可能多的尚未被覆盖的有效等价类,重复这一步,直至所有有效等价均被覆盖。
2、设计一个测试用例,使其覆盖__C_①1个_尚未被覆盖的无效等价类,重复这一步,直至所有无效等价均被覆盖。
因果图方法是根据__D_①输入与输出_之间的因果关系来设计测试用例的。
在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,对修改后的程序重新测试,这种测试称为__E_④回归测试_。
10、OMT是一种对象建模技术,它定义了三种模型,它们分别是_A①对象模型,_B③动态模型,和_C②功能模型,其中,_A①对象模型描述了系统中对象的表态结构,以及对象之间的联系、_B③动态模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时行为上的系统的“控剂”特征,通常可用_D②状态图_来表示;_C②功能模型描述了与值的变换有关的系统特征,通常可用_E_④数据流图来表示。
11、在软件开发过程中常用图作为描述工具。
DFD就是面向_A②数据流_分析方法的描述工具。
在一套分层DFD中,如果某一张图中有N个加工(process),则这张图允许有_B④0~N_张子图。
在一张DFD图中,任意两个加工之间_C③可以有0或多条名字互不相同的数据流_。
在画分层DFD时,应注意保持_D①父图与子图_之间的平衡。
DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为_E②变换流和事务流_两大类。
12、软件开发模型用于指导软件的开发。
演化模型是在快速开发一个C.原型__的基础上,逐步演化成最终的软件。
A.模块B.运行平台C.原型D.主程序
13、螺旋模型综合了__
(1)A.瀑布模型和演化模型__的优点,并增加了__
(2)_D.风险分析_。
(1):
A.瀑布模型和演化模型B.瀑布模型和喷泉模型C.演化模型和喷泉模型D.原型和喷泉模型
(2):
A.质量评价B.进度控制C.版本控制D.风险分析
14、喷泉模型描述的是面向__
(1)C.对象__的开发过程,反映了该开发过程的__
(2)B.迭代和无间隙__特征。
(1):
A.数据流B.数据结构C.对象D.构件(component)
(2):
A.迭代和有间隙B.迭代和无间隙C.无迭代和有间隙D.无迭代和无间隙
15、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为_D.CASE___工具。
A.CADB.CAIC.CAMD.CASE
16、概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是_D.设计每个模块的伪代码___。
A.把软件划分成模块B.确定模块之间的调用关系
C.确定各个模块的功能D.设计每个模块的伪代码
17、如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,__
(1)B.beta__测试是由软件的最终用户在一个或多个用户实际使用环境下来进行的。
__
(2)_A.alpha_测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。
(1)A.alphaB.betaC.gammaD.delta
(2)A.alphaB.betaC.gammaD.delta
18、__②软件本身特点_⑤缺乏好的开发方法和手段⑥开发效率低造成软件危机的主要原因。
①用户使用不当②软件本身特点③硬件不可靠④对软件的错误认识
⑤缺乏好的开发方法和手段⑥开发效率低
19、原型化(Prototype)方法是一类动态定义需求的方法
(1)A.提供严格定义的文档_不是原型化方法所具有的特征。
与结构化方法相比,原型化方法更需要__
(2)B.完整的生命周期。
衡量原型开发人员能力的重要标准是(3)D.快速获取需求_。
(1)A.提供严格定义的文档B.加快需求的确定C.简化项目管理D.加强用户参与和决策
(2)A.熟练的开发人员B.完整的生命周期C.较长的开发时间D.明确的需求定义
(3)A.丰富的编程技巧B.灵活使用开发工具C.很强的协调组织能力D.快速获取需求
20、软件能力成熟度模型CMM(CapabilityMaturityModel)描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。
在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。
在__
(1)A.可重复级__,已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。
在__
(2)_B.已定义级_,用于软件管理与工程两方面的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。
在已管理级,对软件过程和产品质量有详细的度量标准。
在__(3)C.优化级__,通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对过程进行改进。
21、随着软件开发技术的发展,软件维护费用占整个软件生存周期全部费用的比率A①增加,大概占B②20~40,纠错性维护的费用C③60~80。
22、为了满足用户对软件提出的新功能与性能的要求,而修改或再开发软件的过程叫做完善性维护。
为使软件适应外部环境、数据环境的变化,而去修改软件的过程叫做适应性维护。
由于软件开发时测试的不彻底、不完全,部分错误隐藏在交付的软件中,这些错误在某些特定的环境下暴露了出来,而应当进行的诊断和改正错误的过程叫做纠错性维护。
其中,根据具体评估结果能够拒绝的维护是完善性维护。
1、结构化分析方法(SA)、结构化设计方法(SD)和Jackson方法是在软件开发过程中常用的方法。
人们使用SA方法时可以得到__A_④分层数据流图和数据字典_,这方法采用的基本手段是__B①分解与抽象__;使用SD方法时可以得到__C_③模块结构图及模块的功能说明书_,并可以实现__D②从数据流图导出初始结构图_,而使用Jackson方法可以实现__E_①从数据结构导出程序结构_。
A、C:
①程序流程图②具体的语言程序③模块结构图及模块的功能说明书
④分层数据流图和数据字典
B:
①分解与抽象②分解与综合③归纳与推导④试探与回溯
D、E:
①从数据结构导出程序结构②从数据流图导出初始结构图
③从模块结构导出数据结构④从模块结构导出程序结构供选择的
2、模块内聚度用于衡量模块内部各成分之间彼此结合的紧密程度。
1)一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是__A_⑤偶然性_的。
2)将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是__B_⑦逻辑性_的。
3)模块中所有成分引用共同的数据,该模块的内聚度是__C_③通信性_的。
4)模块内的某成分的输出是另一些成分的输入,该模块的内聚度是__D_②顺序性_的。
5)模块中所有成分结合起来完成一项任务,该模块的内聚度是__E①功能性__的。
它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
3、Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向__A③数据结构__的设计方法,主要适用于规模适中的__B①数据处理__系统的开发,其基本步骤依次是__C①建立数据结构__、__D③建立程序结构__、__E_②列出基本操作_。
A:
①对象②数据流③数据结构④控制结构
B:
①数据处理②文字处理③实时控制④科学计算
C~E:
①建立数据结构②列出基本操作③建立程序结构④建立控制结构⑤建立对象
4、结构化设计方法SD在软件开发中用于__A_②概要设计_,它是一种面向__B_③数据流_的设计方法。
该方法使用的图形工具是__C①程序结构图__,__C①程序结构图__中矩形表示__D_③模块_。
如果两矩形之间有直线相连,表示它们存在__E②调用__关系。
A:
①测试用例设计②概要设计③程序设计④详细设计
B:
①对象②数据结构③数据流④控制流
C:
①程序结构图②数据流程图③程序流程图④实体联系图
D:
①数据②加工③模块④存贮
E:
①链接②调用③并列④顺序执行
5、软件设计中划分模块的一个准则是__A③高内聚低耦合__。
两个模块之间的耦合方式中,__B④内容__耦合的耦合度最高,__C_②非直接_耦合的耦合度最低。
一个模块内部的内聚种类中__D_③功能_内聚的内聚度最高,__E①偶然__内聚的内聚度最低。
6、软件的易维护性是指理解、改正、改进软件的难易度。
通常影响软件易维护性的因素有易理解性、易修改性和__A④易测试性__。
在软件的开发过程中往往采取各种措施来提高软件的易维护性。
如采用__B③良好的编程风格__有助于提高软件的易理解性;__C②信息隐蔽原则__有助于提高软件的易修改性。
在软件质量特性中,__D_④易使用性_是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;__E_①安全性_是指防止对程序及数据的非授权访问的能力。
供选择的答案:
A:
①易使用性②易恢复性③易替换性④易测试性
B:
①增强健壮性②信息隐蔽原则③良好的编程风格④高效的算法
C:
①高效的算法②信息隐蔽原则③增强健壮性④身份认证
D:
①正确性②准确性③可靠性④易使用性
E:
①安全性②适应性③灵活性④容错性
1、某医院收费系统的主要功能是收取病人门诊的各项费用。
系统的收费功能分为3个方面:
病历收费、挂号收费和根据处方单内容收取检查或药物费用。
(1)病人初次来该医院看病,首先购买病历,记录病人基本情况。
(2)病人看病前要挂号。
根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。
(3)病人根据处方单进行进一步检查或取药前需交纳各项费用。
系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。
(4)所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。
(a)顶层DFD(b)0层DFD
(c)加工1子图(d)加工3子图
假定顶层图是正确的,“定价表”文件已由其他系统生成。
问题:
(1)指出哪张图的哪些文件可以不必画出。
(2)数据流图(c)中缺少2条数据流,请直接在图中添加。
(3)数据流图(d)中缺少4条数据流,请直接在图中添加。
解答:
(1)医院收费系统的0层图中“处方记录”
(2)“1.1检查病人信息”的“不合格病人信息”输出数据流。
“1.2计算费用”的“收据”输出数据流。
(3)从“病人基本情况”到“3.1检查处方单”的数据流。
从“3.2记录处方”到“处方记录”的数据流。
从“定价表”到“3.3制作收据”的数据流。
从“3.3制作收据”到“收费记录”的数据流。
2、某供销系统接受顾客的订货单。
当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采货单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单并更新了库存后.向顾客发出提货单。
该系统还可随时向总经理提供销售和库存情况表。
该供销系统的分层数据流图中部分数据流和文件的组成如下:
【文件】
配件库存=配件名+规格+数量+允许的最低率库存量
【数据流】
订货单=配件号+配件名+规格+数量+顾客名+地址
提供单=订货单+金额
采货单一配件号+配件名+规格+数量+供应商名+地址
送货单=配件号+配件名+规格+数量+金额
假定顶层图是正确的,“供应商”文件已由其他系统生成。
(a)顶层DFD(b)0层DFD
(c)加工1子图(d)加工2子图
假定题中提供的顶层图是正确的,请回答下列问题:
(1)指出哪张图中哪些文件可不必画出。
(2)指出在哪些图中遗漏了哪些数据流。
回答时请用如下形式之一:
XX图中遗漏了XX加工(或文件)流向XX加工(或文件)的XX数据流。
XX加工XX遗漏了输入(或输出)数据流XX。
解答:
(1)0层图中的“采购清单”多余,应去掉。
采购只需有采购请求就可以。
(2)加工1子图中遗漏了“配件库存”文件到1.3加工的数据流
加工1子图中1.4加工遗漏了“提货单”输出数据流
加工1子图中1.5加工遗漏了“到货通知”输入数据流
加工2子图中2.3加工遗漏了“采购请求”输入数据流
3、某图书管理系统的主要功能是图书管理和信息查询。
对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为四个方面:
购入新书、读者借书、读者还书以及图书注销。
(1)购入新书时需要为该书编制入库单。
入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。
(2)读者借书时需填写借书单。
借书单内容包括读者号和所借图书分类目录号。
系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
(3)读者还书时需填写还书单。
系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。
其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
(a)图书管理系统顶层图(b)图书管理系统第0层DFD图
(c)加工2细化的DFD图
(1)数据流图(b)中有两条数据流是错误的,请指出这两条数据流的起点和终点。
(2)数据流图(c)中缺少三条数据流,请指出这三条数据流的起点和终点。
(3)根据系统功能和数据流图填充下列数据字典条目中的
(1)和
(2):
查洵请求信息=[查询读者请求信息|查询图书请求信息]
读者情况=读者号+姓名+所在单位+{借书情况}
管理工作请求单=____________________________________________________
入库单=____________________________________________________
解答:
(1)起点:
读者文件终点:
登记读者信息或3
起点:
处理查询请求或2终点:
读者文件
(2)起点:
图书目录文件终点:
图书信息查询或2.2
起点:
借书文件终点:
读者信息查询或2.1
起点:
借书文件终点:
图书信息查询或2.2
(3)请求单=[入库单|借书单|还书单|注销单]
入库单=分类目录号+书名+作者+价格+数量+购书日期
4、某教务处理系统具有以下功能:
(1)输入报名单;
(2)自动编制准考证号;
(3)输出准考证;
(4)输入成绩清单;
(5)输出成绩通知单;
(6)输出成绩分布表;
(7)输入合格标准、输出录取通知单;
(8)试题难度分析,并输出试题难度分析表。
这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示:
报名单=报名号+姓名+通信地址
考生名册=报名号+准考证号+姓名+通信地址
成绩册=准考证号+{课程号+成绩}(其中{W}表示W重复多次)
准考证=报名号+姓名+准考证号
(a)顶层DFD(b)0层DFD
(c)加工1子图(d)加工2子图
(1)指出0层图中可以删去的部分。
(2)在加工1子图中将遗漏的数据流添加在答题纸上。
(3)加工2子图分解成如图所示的4个子加工及相关的文件(即数据存储)。
试在此基础上将相关的DFD成份添加在答题纸上,以完全该加工子图。
解答:
(1)“成绩册”文件可删
(2)
(3)
5、某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。
房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。
在安装过程中,系统给每个传感器赋予一个编号(即ID)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。
当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。
【问题1】数据流图1-1(住宅安全系统顶层图)中的A和B分别是什么?
【问题2】数据流图1-2(住宅安全系统第0层DFD图)中的数据存储“配置信息”会影响图中的哪些加工?
【问题3】将数据流图1-3(加工4的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称。
【问题4】请说明逻辑数据流图(LogicalDataFlowDiagram)和物理数据流图(PhysicalDataFlowDiagram)之间的主要差别。
解答:
【问题1】A:
传感器;B:
报警器
【问题2】4监控传感器;5显示信息和状态
【问题3】
加工名称
数据流的方向
数据流名称
4.1显示格式
输出
传感器数据
4.4读传感器
输入
传感器状态
4.5拨号
输出
电话拨号
【问题4】物理数据流图关注的是系统中的物理实体,以及一些具体的文档、报告和其他输入/输出硬拷贝。
物理数据流图用做系统构造和实现的技术性蓝图。
逻辑数据流图强调参与者所做的事情,可以帮助设计者决定需要哪些系统资源、为了运行系统用户必须执行的活动、在系统安装之后如何保护和控制这些系统。
逻辑数据流图是物理数据流图去掉了所有的物理细节后得到的变换形式,逻辑数据流图被用做系统分析的需求分析阶段的起点。
6、某学校建立了一个网上作业提交与管理系统,基本功能描述如下:
(1)帐号和密码。
任课老师用帐号和密码登录系统后,提交所有选课学生的名单。
系统自动为每个选课学生创建登录系统的帐号和密码。
(2)作业提交。
学生使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程