您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 软件工程实用教程第三版 郭宁主编 课后习题及答案
第一章软件工程引论1.在下列选项中,(D)不是软件的特征。A.系统性与复制性B.可靠性与一致性C.抽象性与智能型D.有形性与可控性2.软件是一种(B)产品。A.有形B.逻辑C.物质D.消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。A.自顶向下B.自底向上C.逐步求精D.面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。A.理论性B.工程性C.原理性D.心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。A.原理探讨B.理论研究C.建造软件系统D.原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。A.应用B.测试C.检测D.以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。A.螺旋模型B.增量模型C.功能模型D.瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段B.总体设计阶段C.测试阶段D.维护阶段4.瀑布模型是一种(D)A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B.对象模型C.螺旋模型D.层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B.总体设计阶段C.可行性研究阶段D.需求分析7.增量模型是一种(B)的模型A.整体开发B.非整体开发C.灵活性差D.较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B.最初模型C.原型D.进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B.垂直原型C.用于验证设计方案的原型D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。A.在外向内B.自顶向下C.自内向外D.自底向上11.对于原型的使用建议,以下说法不正确的是(C)A.对于开发周期很长的项目,能够使用原型B.在系统的使用可能变化较大、不能相对稳定是,能够使用原型C.缺乏开发工具,或对原型的可用工具不了解的时候,能够使用原型D.开发者对系统的某种设计方案的实现无信心或无十分的把握时,能够使用原型12.原型模型的主要特点之一是(B)A.开发完毕才见到产品B.及早提供工作软件C.及早提供全部完整软件D.开发完毕才见到工作软件第三章结构化需求分析1.需求工程的主要目的是(C)A.制定系统开发的具体方案B.进一步确定系统的需求C.解决系统是“做什么的为题”D.解决系统是“如何做的问题”2.需求分析的任务不包括(B)A.问题分析B.系统设计C.需求分析D.需求评审3.软件分析的第一步要做的工作是(A)A.定义系统的目标B.定义系统的功能模块C.分析用户需求D.分析系统开发的可行性4.可行性研究的目的是用最小的代价在尽可能短的时间内确定问题的(A)A.能否可解B.工程进度C.开发计划D.人员配置5.需求分析最终结果是产生(B)A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告6.在结构化分析方法中,(C)是表达系统内部数据运动的图形化技术A.数据字典B.实体关系图C.数据流图D.状态转换图7.DFD中的每个加工至少需要(D)A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个数处理8.需求分析的主要方法有(C)A.形式化分析方法B.PAD图描述C.结构化分析方法D.程序流程图9.SA法的主要描述手段有(B)A.系统流程图和模块图B.DFD图、数据字典、加工说明C.软件结构图、加工说明D.功能结构图、加工说明10.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及(C)A.总结B.编写阶段性报告C.进行需求分析评审D.以上答案都不正确第四章结构化软件设计1.在面向数据流的软件设计方法中,一般将信息里与分为(D)A.数据流和控制流B.变换流和控制流C.事务流和控制流D.变换流和事务流2.耦合度可以分为七级,其中最松散的耦合是(A)A.非直接耦合B.数据耦合C.特征耦合D.控制耦合3.当模块中包含复杂的条件组合,只有(A)能够清晰的表达出各种动作之间的对应关系A.判定表和判定树B.盒图C.流程图D.关系图4.一个软件的宽度是指其控制的(C)A.模块数B.层数C.跨度D.厚度5.面向数据流的软件设计方法可将(C)映射成软件结构A.控制结构B.模块C.数据流D.事务流第五章面向对象的需求分析1.采用UML进行软件建模的过程中,类图是系统的一种静态视图,用(B)可明确表示两类事物之间存在的整体/部分形式的关联关系。A.依赖关系B.聚合关系C.泛化关系D.实现关系2.在UML语言中,图中的a、b、c三中图形符号按照顺序分别表示(C)A.边界对象、实体对象、控制对象B.实体对象、边界对象、控制对象C.控制对象、实体对象、边界对象D.边界对象、控制对象、实体对象3.不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做(B)A.继承B.多态C.动态绑定D.静态绑定第六章面向对象的软件设计1.下面哪种设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新(D)A.Adapter(适配器)B.Iterator(迭代器)C.Prototype(原型)D.Observer(观察者)2.UML中有多种类型的图,其中,(B)对系统的使用方式进行了分类;()显示了类及其相互关系;()显示了人或对象的活动,其方式类似于流程图;通信图显示了在某种情况下对象之间发送的消息;()与通信图类似,但强调的是顺序而不是连接。A.用例图、顺序图、类图、活动图B.用例图、类图、活动图、顺序图C.类图、顺序图、活动图、用例图D.活动图、顺序图、用例图、类图3.UML类图的类与类之间的关系有5种:继承、依赖、关联、组合和聚合,若类A需要使用标准数学函数类库中提供的功能,那么类A与标准类库中提供的类之间存在(A)关系A.依赖B.关联C.聚合D.组合第七章软件测试技术1.用边界值分析法,假定1X100,那么X在测试中应该取的边界值是(B)A.X=1,X=100B.X=0,X=1,X=100,X=101C.X=2,X=99D.X=0,X=1012.下列关于软件验收测试的合格通过准则错误的是(C)A.软件需求分析说明书中定义的所有功能已全部实现B.所有测试项没有C.立项审批表、需求分析文档、设计文档和编码实现不一致D.验收测试工件齐全3.以下关于集成测试的内容正确的有(D)①集成测试也叫组装测试或者联合测试②测试在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失③测试一个模块的功能是否会对另一个模块的功能产生不利影响④测试各个子功能组合起来,能否达到预期要求的父功能⑤测试全局数据结构是否有问题⑥测试单个模块的误差累积起来,是否会放大,从而达到不能接受的程度A.①②④⑤⑥B.②③④⑤⑥C.①②③⑤⑥D.以上全部正确Kim,KeehyunKim,HyunsooJung,Yoontae4.为了提高测试的效率,应该(D)A.随机的选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误的可能性大的数据作为测试数据5.软件调试的目的是(A)A.找出错误所在并改正之B.排除存在错误的可能性C.对错误性质进行分类D.统计出错的次数6.单元测试一般以白盒为主,测试的依据是(A)A.模块功能规格说明B.系统模块结构图C.系统需求规格说明D.统计出错的次数7.下次关于α、β测试的描述中正确的是(C)A.α测试不需要用户代表参加B.β测试不是验收测试的一种C.α测试可以有用户代表参加D.β测试是系统测试的一种8.软件测试的目的是(B)A.评价软件的质量B.发现软件的错误C.找出软件中所有的错误D.证明软件是正确的9.软件测试用例主要由输入数据和(C)两部分组成A.测试计划B.测试规则C.预期输出结果D.以往测试记录分析10.在黑盒测试中,着重检查输入条件组合的方法是(D)A.等价类划分法B.边界值分析法C.错误推测法D.因果图法第八章软件维护技术1.随着软硬件环境变化而修改软件的过程是(B)A.校正性维护B.适宜性维护C.完善性维护D.预防性维护2.为了提高软件的可维护性,在编码阶段应注意(B)A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格3.为提高系统性能而进行的修改属于(C)A.纠正性维护B.适应性维护C.完善性维护D.测试性维护4.软件生命周期中,(D)阶段所站的工作量最大A.分析阶段B.设计阶段C.编码阶段D.维护阶段5.系统维护中要解决的为题来源于(D)A.系统分析阶段B.系统设计阶段C.系统实施阶段D.上述3个阶段(A、B、C)都包括6.软件维护的副作用,是指(C)A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时的误操作第一章软件工程引论1.软件工程出现的主要原因是软件危机的出现。√2.文档是软件产品的一部分,没有文档的软件就不能称为软件。√3.软件危机的主要表现是软件需求量迅速增加,软件价格上升。×4.一个成功的项目唯一应该提交的就是运行程序法。×5.与计算机科学的理论研究不同,软件工程是一门原理性学科。×第二章软件生命周期及开发模型1.瀑布模型和增量模型都属于整体开发模型。×2.原型模型可以有效地适应用户需求的动态变化。×3.螺旋模型在瀑布模型和增量模型的基础上增加了风险分析活动。√4.软件过程改进也是软件工程的范畴。√5.在软件开发中采用原型系统策略的主要困难是成本问题。×第三章结构化需求分析1.需求分析的主要目的是制定软件开发的具体方案。×2.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。√3.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。×4.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取有价值的需求。√5.需求规格说明数描述了系统每个功能的实现。×第四章结构化软件设计1.在同一用户界面中,所有的菜单选择,命令输入、数据显示和其它功能应采用不同的形式和风格。×2.最高的耦合度是数据耦合。√3.编程中应采用统一的标准和约定,降低程序的复杂性。√4.流程图也称为框图程序,是程序最常用的一种表示法。√5.理想的人机界面应针对具有典型个性的特定的一类用户设计。√6.重视程序结构的设计,能是程序具有较好的层次结构。√7.软件过程不用遵循“自上而下,逐步求精”的原则和单入口单出口的结构化设计思想。×8.软件开发、设计几乎都是从头开始,成本和进度很难估计。√9.耦合度是对软件结构中模块间关联程度的一种度量。在设计软件是应追求耦合尽可能紧密的系统。×10.SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相适应。×第五章面向对象的需求分析1.边界对象表示了系统与参与者之间的接口。在每一个用例中,该对象从参与者处收集信息,并将之转换为一种实体对象和控制对象使用的形式。√2.采用面向对象的方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫面向对象分析。√3.继承仅仅允许单重继承,即不允许一个子类有多个父类。×第六章面向对象的软件设计1.面向对象程序设计应该在面向对象分析之前,因为只有产生了设计结
本文标题:软件工程实用教程第三版 郭宁主编 课后习题及答案
链接地址:https://www.777doc.com/doc-5528901 .html