ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:280.16KB ,
资源ID:27963843      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27963843.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程复习题库带答案完整版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程复习题库带答案完整版.docx

1、软件工程复习题库带答案完整版软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。A.应用范围 B.功能C.内部逻辑 D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。A.风险产生的原因 B.风险监控技术C.风险能否消除 D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。A.好的计划 B.不断的发布C.反馈和勇气 D.持续集成4、等价分类法的关键是(C)。A.确定等价类的边界条件 B.按照用例来确定等价类C.划分等价类 D.确定系统中相同和不同的部分5、下列不属于黑

2、盒测试的技术是(A)。A程序段或语句的功能 B模块的接口C数据的名称和用途 D模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。A.控制耦合 B.公共耦合C.内容耦合 D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。A.角色 B.活动C.制品 D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。A程序段或语句的功能 B模块的接口C数据的名称和用途 D模块的功能9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。A.只有结构化语言 B有结构化

3、语言和判定树C有结构化语言、判定树和判定表 D有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。A正确性 B适应性C完善性 D预防性11、软件危机的主要原因是(A)。A软件本身特点与开发方法 B对软件的认识不够C软件生产能力不足 D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是

4、面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。A. 经济可行性 B. 技术可行性 C. 操作可行性 D. 法律可行性15、下述任务中,不属于软件工程需求分析阶段的是( D ) 。A. 分析软件系统的数据要求B确定软件系统的功能需求C. 确定软件系统的性能要求D.确定软件系统的运行平台16、在面向对象方法中,信息隐蔽是通过对象的(C )来实现的。A分类性 B继承性 C封装性 D共享性17、采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)。A面向对象测试 B面向对象实现

5、C面向对象设计 D面向对象分析18、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)等步骤。A. 软件计划、需求分析、系统定义B. 系统定义、软件计划、需求分析C. 需求分析、概要设计、软件计划D. 软件计划、需求分析、概要设计19、一个项目为了修正一个错误而进行了变更,但这个错误被修正后,却引起以前可以正确运行的代码出错。(C)测试最有可能发现这个问题。A单元测试 B接受测试 C回归测试 D安装测试20、从工程管理的角度来看,软件设计分( A )两步完成。A) 概要设计与详细设计 B) 数据设计与接口设计C) 软件结构设计与数据设计D) 过程设计与数据设计21、某系统重用了第三方

6、组件(但无法获得其源代码),则应采用( D )对组件进行测试。A.基本路径覆盖 B.分支覆盖 C.环路覆盖 D.黑盒测试22、在软件设计与编码过程中,采取( C )的做法将使软件更容易理解和维护。A良好的程序结构,有无文档均可B使用标准或规定之外的语句C编写详细正确的文档,采用良好的程序结构D尽量减少程序中的注释23、软件维护成本在软件成本中占较大比重,为降低维护的难度,可采取的措施有( D )。A设计并实现没有错误的软件 B限制可修改的范围 C增加维护人员数量 D在开发过程中就采取有利于维护的措施并加强维护管理 24、(A)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。A.结

7、构化开发方法 B.Jackson系统开发方法C.Booch方法 D.UML(统一建模语言)25、在人机界面的设计过程中应该考虑下列()情况。26、测试用例是测试使用的文档化细则,应包括下列( B )内容的详细信息。 测试目标和被测功能。 测试环境和其他条件。 测试数据和测试步骤。 测试记录和测试结果。A B C D 27、( 螺旋 )模型适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而做出相应的反应。28、软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。A.应用范围 B.内部逻辑 C.功能 D.输入数据29、可行性分析要进行的

8、需求分析和设计应是(C)。A详细的 B全面的 C简化、压缩的 D彻底的30、下面关于面向对象分析与面向对象设计的说法,不正确的是(D)。A面向对象分析侧重于理解问题B面向对象设计侧重于理解解决方案C面向对象分析描述软件要做什么D面向对象设计一般不关注技术和实现层而的细节31、软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,应尽量做到(B)。A. 高内聚高耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 低内聚低耦合32、软件工程每一个阶段结束前,应该着重对可维护性进行复审,在系统设计阶段的复审期间,应该从(B)出发,评价软件的结构和过程。A指出可移植性问题以及可

9、能影响软件维护的系统界面B容易修改、模块化和功能独立的目的C强调编码风格和内部说明文档D可测试性33、软件的集成测试工作最好由(D)人员承担,以提高集成测试的效果。A.该软件的设计人员 B.该软件开发组的负责人C.该软件的编程人员 D.不属于该软件开发组的软件设计人员34、程序的三种基本控制结构是(B )。A.过程,子程序,分程序 B.顺序,条件,循环C.递归,堆栈,队列 D.调用,返回,转移35、( C )是决定软件维护成败和质量好坏的关键。A修改程序 B建立目标程序 C分析和理解程序 D重新验证程序36、数据库设计时的概念数据模型一般用(B )图表示。A.PAD B.E-R C.E-P D

10、.HIPO37、若有一个计算类型的程序,它的输入量只有一个,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C )。A逻辑覆盖 B等价类划分 C边界值分析 D错误推测38、在结构化分析方法(SA)中,( C )与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。A模块图 BE-R 图 C数据字典 D程序流程图39、面向对象的分析方法主要是建立三类模型,即( D )。A.系统模型、ER模型、应用模型B.对象模型、动态模型、应用模型C.-模型、对象模型、功能模型D.对象模型、动态模型、功能模型40、成

11、功的测试是指运行测试用例后( B )。A未发现程序错误 B发现了程序错误 C证明程序正确 D改正了程序错误41、面向数据流的设计方法把( A )映身成软件结构。A.数据流图 B.系统结构图 C.控制结构图 D.变换流图42、软件危机是指(软件开发和维护过程中遇到的一系列严重问题)。43、检查软件产品是否符合需求定义的过程称为( A )。A确认测试 B集成测试 C验证测试 D验收测试44、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。A.一般与具体 B.整体与部分 C.分类 D.is a45、详细设计的基本任务是确定每个模块的( A )设计A.算法和使用的数据结构 B.外部接口 C.功能

12、 D.编程46、软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( C )上。A.复制 B.开发方式 C.开发和研制 D.磨损和消耗47、以下(D )不属于系统设计。A总体设计 B详细设计 C过程设计 D需求设计48、需求规格说明书的作用不应该包括( D )。A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据49、软件质量必须从需求分析开始,在( D )加以保证。A开发之前 B开发之后 C可行性研究过程 D整个开发过程50、软件简略定义是(一系列按照特定顺序组织的计算机数据和指令的集合)。51、SA方法的基本思想是( C )。A自

13、底向上逐步抽象B自底向上逐步分解C自顶向下逐步分解D自顶向下逐步抽象52、软件工程是一门(指导计算机软件开发和维护的工程(交叉性))学科。53、等价分类法的关键是( C )。A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分二、填空题1 可行性研究 _的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。2采用UML进行软件设计时,可用_泛化_关系来表示两类事物之间存在的特殊/一般关系,用_ 聚集 _关系来表示事物之间存在的整体/部分关系。3继承与_ 多态 _机制,是面向对象程序中实现重用的主要手段。4成本效益分析的目的是

14、从 经济 角度评价开发一个软件项目是否可行。5对象之间通过 消息 进行通信。6在面向对象的软件中, 类 是对具有相同数据和相同操作的一组相似对象的定义;实例是由某个特定的类所描述的一个具体对象。7需求分析阶段产生的最重要的文档是 需求规格说明书 。8软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 重要特性 。9软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 功能变化。10软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中可行性研究报告属于 开发 文档。11可行性研究实质上是要进行一次 简化、压缩 了的需求分析、设计过程,是在较高层次上以

15、较抽象的方式进行需求分析和设计过程。12一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用 角色 来表述“谁做”。13在面向对象的软件中,类是对具有相同数据和相同操作的一组相似对象的定义; 实例 是由某个特定的类所描述的一个具体对象。14软件结构是以 模块 为基础而组成的一种控制层次结构。15软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级 和优化级。 16关联是建立类之间关系的一种手段,而链则是建立 对象 之间关系的一种手段。17. 软件测试方法中的 计算机辅助静态分析 属于静态测试方法。18继承与 多态 机制是面向

16、对象程序中实现重用的主要手段。19系统详细设计阶段最后产生的文档是 详细设计说明书 。20DFD利用图形符号表示系统中的各个元素,表达了系统中各种元素之间的 信息流动 。21在设计阶段,要充分体现软件工程的“ 模块化 ”、“抽象”、“信息隐蔽”等基本原则。22在面向对象分析和OOD中,通常将对象的操作称为 方法或服务 。23单元测试一般以_ 白盒法 为主,测试的依据是系统的模块功能规格说明。24当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数据耦合 。25软件测试用例主要由输入数据和 预期输出结果 两部分组成。26为适应软硬件环境变化而修改软件的过程是 适应

17、性维护 。27提高程序效率的根本途径在于选择良好的设计方法、良好的 数据结构 和 算法 ,而不是靠编程时对程序语句做调整。三、名词解释1数据字典:描述数据流图的数据存储、数据加工(最底层加工)和数据流。2模块独立性:指每个模块只完成系统要求的独立的子功能(即:功能单一),并且与其他模块的联系最少且接口简单(比如:只有一个接口)。 3软件复用:将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。4内聚:一个模块内部各成分之间相关联程度的度量5测试用例:为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求6软件生存周期模型:描述

18、软件开发过程中各种活动如何执行的模型7.信息隐蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理8.McCabe度量法:由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法9.动态模型:用于描述系统的过程和行为10.软件维护:在软件运行或维护阶段对软件产品所进行的修改11CMM:软件过程能力成熟度模型12软件调试:软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。13耦合:块间联系,软件系统结构中各模块间相互联系紧密程度的一种度量14配置管理:一种标识、组织和控制修改的技术,应用于整个软件工程过程15软件项目计划:一

19、个软件项目进入系统实施的启动阶段四、简答题1软件工程的两大范型分别是什么?它们有什么不同?分别是传统的结构化范型和面向对象范型。结构化范型要么面向行为要么面向数据,但没有既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。2如何画分层数据流图?第一步,画子系统的输入输出:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实

20、体,就可以画出输入输出图。这张图称为顶层图。第二步,画子系统的内部:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。3面向对象程序设计有哪些优点?1)易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2)质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。3)效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,

21、产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。4)易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。4在软件测试中,应注意哪些原则? 1)认真执行测试计划2)“尽早和不断地进行软件测试/评审”3)优选测试工具、技术和方法4)精心设计测试用例5)交叉进行软件检测6)重点测试群集现象7)全面检查并分析测试结果8)妥善保管测试文档5为了具有良好的程序设计风格,应注意哪些方面的问题?程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。要形成良好的程序设计风格,应从源程序文档化、

22、数据说明、语句构造、输入输出和追求效率几个方面加以注意。6面向对象分析与面向对象设计的关系?面向对象分析与面向对象设计的任务相同,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。7成本-效益分析的目的是什么?可用哪些指标进行度量?成本/效益分析的目的是从经济角度论证开发一个特定的新系统开发是否划算,是决定是否投资开发新系统的依据。(1)货币的时间价值:货币的价值本身随时间的增加而产生增值(2)投资回收期:累计的经济效益等于最初的投资所需的时间。(3)纯收入:在整个生存周期内系统的累计经济效益(折合现在的钱)与投资之差。(4

23、)投资回收率-投资的年利率8软件设计分哪几个阶段,它们的主要任务是什么?软件设计可以分为概要设计和详细设计两个阶段。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。9用户需求和系统需求各有什么特点?用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程

24、人员系统设计的起点。系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。10面向对象设计的准则?1)模块化2)抽象3)信息隐藏4)弱耦合5)强内聚6)可重用11需求分析过程主要有哪几个步骤?需求分析过程主要有沟通、导出需求、分析与精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理等步骤。12软件设计分哪几个阶段,它们的主要任务是什么?总体设计概要设计、软件结构设计、高层设计,仔细地分析需求规格说明,研究开发产品的模块划分。详细设计(模块)过程设计、低层设计,为结构设计中的各个模块设计过程细节,确定模块所需的算法和数据结构等。设计测试测试和复审,确保设计的正确和优化。13什么是软

25、件结构图?它有哪些主要元素?软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。主要元素有:14面向对象方法的特点是什么?为什么要用面向对象方法开发软件?面向对象方法的特点是:方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。从生存期的一个阶段到下一个阶段的高度连续性,即生存期后一阶段的成果只是在前一阶段成果的补充和修改。把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。使用面向对象方法开发软件的好处是:开发方法的唯一性,开发阶段的高度连续性,表示方式的一致性;问题空间实体的自然表示,减轻了设

26、计者的负担,在设计系统之初不必考虑一个很完整的解决方案。建立稳定的系统结构,可促进复用性,易于维护,易于修改,可合理利用共同性,减少复杂性。15什么是编码风格?请根据自己的编程经验编写一个编程注意事项。是指一个人编制程序时所表现出来的特点、习惯和逻辑思路等。注意事项:源程序文档化、数据说明、语句构造、输入输出、追求效率等。1)源程序文档化(1)标识符应按意取名。(2)程序应加注释。2)数据说明原则(1)数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。例如按以下顺序:常量寿命、类型说明、全程量说明、局部量说明。(2)一个语句说明多个变量时,各变量名按字典序排列。(3)对于

27、复杂的数据结构,要加注释,说明在程序实现时的特点。3)语句构造原则:简单直接,不能为了追求效率而使代码复杂化4)输入输出原则(1)输入操作步骤和输入格式尽量简单。(2)应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。(3)输入一批数据时,使用数据或文件结束标志,而不要用计数来控制。(4)交互式输入时,提供可用的选择和边界值。(5)当程序设计语言有严格的格式要求时,应保持输入格式的一致性。(6)输出数据表格化、图形化。5) 追求效率原则(1)效率是一个性能要求,目标在需求分析给出。(2)追求效率建立在不损害程序可读性或可靠性基础上,要先使程序正确,再提高程序效率,先使程序清晰,

28、再提高程序效率。五、应用题1画XXX系统的状态图。2McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。根据给出的程序流程图,画出它的程序图,并计算它的McCabe复杂性度量。3请将下面的DFD转换为软件结构图(注:图中表示“或者”)。(作业上有)4下面是某程序的流程图:(1) 先画出流图,再计算它的环路复杂性。(2) 为了完成基本路径测试,求它的一组独立的路径。(1) 环路复杂性=判断数1314(个)流图:(2)独立路径:1:a-b2:a-c-d3:a-c-e-f4:a-c-e-g-h5建立微机的对象模型。(作业上有)6画出银行取款过程的DF

29、D图。问题描述:储户用存折取款首先填写取款的,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登陆“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。(以下是另外发现的题,Web版式视图中找到,不知道是不是考试题目)二、填空题(每空2分,共20分)21一个模块把数值作为参数传送给另一个模块的耦合方式称为 。22成本效益分析的目的是从角度评价开发一个软件项目是否可行。23软件结构是以 为基础而组成的一种控制层次结构。24在单元测试时,需要为被测模块设计驱动模块和桩模块。 的作用是返回被测模块所需的信息。25 是引起系统状态转换的控制信息。2

30、6继承与 机制,是面向对象程序中实现重用的主要手段。27对象具有 状态,一个对象用来描述它的状态。28为协调软件开发使得混乱减到最小,使用 技术,使变更所产生的错误达到最小并最有效地提高生产率。29软件开发环境是 相关的一组集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。30关联是建立类之间关系的一种手段,而链则是建立 之间关系的一种手段。三、名词解释(每题3分,共15分)31数据字典32模块独立性33软件生存周期模型34CMM35动态模型四、简答题(每题5分,共20分)36软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1