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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

软件工程导论综合复习题.docx

1、软件工程导论综合复习题一、选择题1、软件是一种( B )性工业产品。(1)理论 (2)知识(或逻辑) (3)消耗 (4)体力2、需求分析是在( B )进行的。(1)用户 (2)用户和分析人员之间 (3)开发人员内部 (4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。(1)经济可行性 (2)技术可行性 (3)操作可行性 (4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。(1)工作阶段的等待时间 (2)生产原型的复杂性(3)参与人员所需的工作站数 (4)参与人员之间

2、的沟通困难5、需求分析阶段的研究对象是( A )。(1)用户需求 (2)分析员要求 (3)系统需求 (4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行(D)。()系统设计()系统分析()系统详细调查()系统初步调查7、系统分析员应当(D)。()善于使用户接受自已的观点()善于使自已获得成就()是用户与计算机技术人员的有效协调与组织者()满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统(A)的过程。()逻辑模型()物理模型()总体方案()可行性报告9、系统测试的目的是(D)。()找出编码错误()找出数据错误()要证明程序无错()发现软

3、件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。(1)时间内聚 (2)功能内聚 (3)通信内聚 (4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组( )和它可以执行的一组操作来定义。(1)服务 (2)参数 (3)属性 (4)调用12、最高程度也是最差的耦合是( )。(1)公共耦合 (2)内容耦合 (3)控制耦合 (4)数据耦合13、概要设计阶段产生的文档不包括( )。(1)概要设计说明书 (2)数据库设计说明书 (3)用户手册 (4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( )。(1)一般具体关系 (2)整体部分关系

4、 (3)分类关系 (4)is a 关系15、覆盖准则最强的是( )。(1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)路径覆盖16、下面对数据流图描述不正确的是()。()是组织中信息运动的抽象()是系统模型的主要形式()它与对系统的物理描述无关()所描述的内容是面向管理员的17、在基本的数据加工中,决策树适合于表达()。()决策或判断步骤较多的加工问题()决策或判断条件较多,各条件又相互组合的问题()非结构化决策问题()半结构化决策问题18、调试应该由( )完成。(1)与源程序无关的程序员 (2)编制该源程序的程序员(3)不了解软件设计的机构 (4)设计该软件的机构19、导出模块结构图的基

5、础是()()系统结构图()数据流图()数据结构图()控制结构图20、程序员进行程序设计的主要文档依据是()()模块说明书()系统流程图()控制流程图()数据流图21、一切软件开发都毫无例外地必须从( )。软件功能出发 用户出发 软件性能出发 需求出发22、在分析阶段通常包含两个方面的工作:建立一个以类图表示的反映问题域静态关系的(概念模型);建立一个以用例模型表示的反映(系统行为)的动态模型。1 用户需求 关系模型 系统行为 概念模型23、发现类的基本方法不包括( )。 确定客户 跟踪资金流 事件是潜在的类 系统是潜在的类24、继承的基本技巧和技术不包括( )。 寻找相似之处 寻找已有的类 选

6、择性继承 遵循单句规则25、关联的多重性可用来表达一个( )、特定值、无限定的范围或者一组( )。 取值范围 属性 对象 离散值26、当一个类没有足够的( )去完成它的职责时,就要依靠与其它类的协作来完成工作。 信息 操作 功能 数据27、一般情况下,区分主要参与者与次要参与者应该以使用系统时的( )为依据,或者以一个( )是谁发起的作为主要依据。 重要程度 业务量 业务过程 交互过程28、前置条件描述了( )之前系统必须满足的条件。 系统运行 执行用例 系统启动 成功执行29、用例之所以被广泛采用的主要原因是,用例详细地描述了系统被使用时的( ),使得用户能够明白新系统到底是什么样的。 执行

7、过程 操作细节 行为细节 功能细节30、面向对象的主要特征除对象唯一性、封装、继承外,还有( )。(1)多态性 (2)完整性 (3)可移植性 (4)兼容性31.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期 C.软件危机 D.软件产生32.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性33.黑盒测试在设计测试用例时,主要需要研究( ) A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明34.若有一个计算类型的程序

8、,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法35.下列属于维护阶段的文档是( ) A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告36.快速原型模型的主要特点之一是( ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件37.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A.改正性维护 B.适应性维护 C.完善性维护 D

9、.预防性维护38.只有单重继承的类层次结构是( )层次结构。 A.网状型 B.星型 C.树型 D.环型39.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性 B.可靠性 C.正确性 D.完整性40.下列文档与维护人员有关的有( ) A.软件需求说明书 B.项目开发计划 C.概要设计说明书 D.操作手册二、填空题1、可行性研究的目的不是去开发一个软件项目,而是研究这个项目是否值得去开发 ,其中的问提能否解决。2、软件结构的设计是以 模块 为基础的。3、软件设计阶段,是把软件“ 做什么 ”的逻辑模型变换为“ 怎么做 ”的物理模型。4、需求分析的关键

10、是必须准确理解用户的要求,同时要满足用户的要求。最终解决目标系统“做什么”的问题。5、数据流图一般可分为 变换型 和 事务型 两类。6、HIPO图中 H 图用于描述软件总的模块层次结构, IPO 图用于说明模块间的信息传递及模块内部的处理。7、详细设计也称 过程设计 ,它是软件设计的第二阶段,主要确定每个模块 的具体执行过程。8、处理过程设计中最典型的方法是 结构化程序设计(SP) 方法,其基本要点是采用的程序设计方法是 自顶向下 、 逐步求精 。9、测试用例由 输入数据 和预期的 输出数据 两部分组成。10、白盒法必须考虑程序的 内部结构 和 处理过程 ,以检查 处理过程 的细节为基础,对程

11、序中尽可能多的逻辑路径进行 测试 。11、软件测试过程中需要3类信息: 软件配置 、 测试配置 和 测试工具 。12、在详细设计阶段,需要对处理过程的 模块 和数据库的 物理 结构做评审。13、需求调研是(了解问题),分析是(定义问题),而设计则是(解决问题)。14、数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。15、任何程序都可由 顺序 、 选择 和 重复 3种基本控制结构构造。这3种基本结构的共同点是 单入口 、 单出口 。16、测试的目的就是发现程序中的错误,而不是调试程序没有错误。17、建立概念模型的目的是帮助开发团队理解(问题域)的各种概念、各种名词、以及

12、它们之间的各种关系。而建立用例模型的目的是帮助开发团队( 理解 )用户对系统的各种功能需求。18、子类应该从父类继承所有的东西,这种概念叫做(纯粹)继承。如果不这样的话,代码将很难(理解)和维护。19、面向数据流的设计又称 结构化程序设计(SP) ,它是以需求分析阶段产生的 数据流图 为基础,按一定的步骤映射成软件结构。20、可行性分析包括技术可行性、经济上的可行性和社会因素可行性分析。21、类的职责是类知道或要完成的(事情)。类所知道的事情是它的(数据),它要完成的事情就是它的(功能)。22、概念模型是“帮助开发团队了解并在此基础上理解用户所处的环境”,而用例模型则是“帮助开发团队弄清楚用户

13、具体想解决什么问题”。前者是(静态模型),为后者工作的展开建立了一个总体框架;后者是(动态模型),为实现前者注入了活力。两者相辅相成,一般情况下,其(工作顺序)不分先后,而是以一种(迭代的)方式向前推进。23、首先,用例是由一组( 用例实例 )组成的,用例实例也就是常说的“使用场景”,就是用户使用系统的一个特定的、实际的场景;其次,用例应该给参与者带来(可见)价值,即参与者的参与应该能得到好处;最后,用例是在(系统中)的,而不是(系统外)的东西。24、用例是满足需求的(过程),而需求则是过程背后所实现的(价值)。这正是用例建模的(核心思想)。25、假设描述的是系统在使用用例之前必须满足的状态,

14、这些(条件)并没有经过用例的检测,(用例)只是假设它们为真。26、识别用例时的一个常见错误是把用例当成是(单独)的步骤、操作或事务的处理。27、构建用例模型需要经历三个阶段:确定系统的(参与者)、合并(需求)获得用例、细化用例描述。28、用例图显示了系统的( 一组用例 )、用例的参与者以及用例和参与者之间的(关系)。三、名词解释1、软件测试软件测试是指为了发挥软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。2、详细设计系统的详细设计是系统总体设计的深入,对总体设计中的各个具体的任务选择适当的技术手段和处理方法。详细设计主要包括代码设计,数据库设

15、计,输出设计,输入设计,对话设计,处理流程设计,制定设计规范等。3、数据耦合如果两个模块之间通过数据交换信息,且每一个参数均为数据,那么这种模块间的耦合称为数据耦合。4、模块化模块化就是把程序划分成若干个模块的过程,每个模块完成一个子功能,把这些模块集中起来组成一个整体,从而完成指定的功能,满足问题的要求。5、信息隐蔽信息隐蔽是指在设计模块时,应让一个模块内包含的信息(过程和数据)对于其他不需要这些信息的模块来说是不能访问的。6、耦合耦合性是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块间接口的复杂程度。7、功能内聚如果模块内所处理的元素属于一个整体,完成一个单一的功能,则称为

16、功能内聚。8、事务流在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务流。事务流的特点是接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。9、集成测试集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。10、需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义

17、阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。11、白盒法白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。12、黑盒法黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。13、渐增式测试逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每

18、加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。14、非渐增式测试首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。15、软件概要设计进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件的概要设计或结构设计。16、模块模块在程序重视数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等等。17、路径覆盖指设计足够的测试用例

19、,覆盖被测程序中所有可能的路径。18、条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。满足条件覆盖并不一定满足判定覆盖。19、判定/条件覆盖指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。20、条件组合覆盖是指设计足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。四、简述题1、软件设计的基本原理包括哪些内容?软件设计的基本原理:(1)模块化(四个属性:接口、功能、逻辑、状态);(2)抽象;(3)信息隐蔽;(4)模块独立性(两个

20、定性的度量标准:耦合性与内聚性)2、需求分析应遵循的原则是什么? 所有这些分析方法都遵守下述准则:(1) 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。(2) 必须定义软件应完成的功能,这条准则要求建立功能模型。(3) 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。(4) 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。3、为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网? 软件测试是软件开发中不可缺少的重要一环,原因是:A、测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作

21、量还要成倍增加。B、软件测试代表了需求分析、设计、编码的最终复审。 软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。4、软件测试的目的是什么?为什么把软件测试的目标定义为只是发现错误?软件测试的目的有: 软件测试是为了发现错误而执行程序的过程。 一个好的测试用例能够发现至今尚未发现的错误。 一个成功的测试是发现了至今尚未发现的错误。软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标

22、定义为只是发现错误。5、增量开发和原型开发有什么相同和不同的地方? 增量模型和原型模型都是从概要的需求出发进行开发的,但两者有明显的不同。增量模型是从一些不完整的系统需求出发开始开发,在开发过程中逐渐发现新的需求规格说明,并进一步充实完善该系统,使之成为实际可用的系统。原型开发的目的是为了发现并建立一个完整的经过证实的需求规格说明,并以此作为正式系统的开发基础。因此,原型开发阶段的输出是需求的规格说明,是为了降低整个软件生成期的费用而拉大需求分析阶段的一种方法,大部分原型是“用完就扔”的类型。6、类与对象之间有什么区别?类是对资源的定义,它所包含的信息主要用来描述某种类型实体的特征以及对该类型

23、实体的使用方法。对象是具体的实体,它遵守类制定的规则。从软件的角度看,程序通常包含的是类的集合以及类所定义的行为,而实际创建信息和管理信息的是遵守类的规则的对象。7、组合与聚合有什么异同?在聚合关系中,其中一个类是整体,它由一个或者多个部分类组成,当整体类不存在时,部分类仍能存在,但是当它们聚集在一起时,就用于组成相应的整体类。组合关系与聚合关系的异同之处在于组成的关联中,整体类同样都是由部分类组成,但是部分类需要整体类才能存在,当整体类被销毁时,部分类将同时被销毁。8、建立概念模型有哪些步骤?1、找出问题域中候选概念。用概念类分类列表和名词短语分别识别的方法找出当前需求中的候选概念类。2、将

24、概念绘制到概念模型中。在概念模型中描述找出的概念类。3、在概念之间加入必要的关联来记录概念之间需要保持的联系。在概念类之间添加必要的关联来记录那些需要保存记忆的关系。4、为概念添加必要的属性,来满足需求信息。9、什么是参与者?参与者(actor)是系统外部的一个实体,它以某种方式参与了用例的执行过程。参与者用于表示使用系统的对象,或者说,参与者由它们参与用例时所担当的角色来代表。10、简述结构化程序设计方法的基本要点。1. 采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。 2. 使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本

25、控制结构构造。1)用顺序方式对过程分解,确定各部分的执行顺序。2)用选择方式对过程分解,确定某个部分的执行条件。 3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。 4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 3. 主程序员组的组织形式11、简述文档在软件工程中的作用。文档是影响软件可维护性的决定因素。由于长期使用的大型软件系统在使用过程中必然会经受多次修改,所以文档比程序代码更重要。12、简述提高可维护性的方法。1、使用宏定义取代常数2、代码设计逻辑简单、容易理解3、各模块之间耦合性小4、软件文档:需求分析、概要设计和详细设计要齐全5、代码编

26、写要符合一定的规范6、注释至少要占代码行数的20%13、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?模块的影响范围:受该模块内的一个判定影响的所有模块的集合。 模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。 一个模块的影响范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。14、用例有什么特征?(1)用例总是由参与者启动。用例所代表的功能必须由参与者激活,而后才能执行。一般情况下,参与者可能没有意识到启动了一个用例。换句话说,参与者需要系统完成的功能,其实都是通过用例具体完成的,参与者一定会直接或间接的命令系统执行

27、用例。(2)用例为参与者提供结果值。用例必须为参与者提供实在的结果值,虽然这个值并不总是重要的,但是能被参与者识别。(3)用例具有完整性。用例是一个完整的描述。虽然编程实现时,一个用例可以被分解成几个小用例(函数),每个小用例之间互相调用执行,一个小用例可以先执行完毕,但是该小用例执行结束并不能说这个用例执行结束。也就是说,不管用例内部的小用例是如何通信工作的,只有最终产生了返回给参与者的结果值,才能说用例执行完毕。15、什么是基本事件流?举例说明。参与者在用例中所遵循的逻辑路径。因为它描述了当各项工作都正常进行时用例的工作方式,所以通常称为基本路径。事件流描述了用户和执行用例之间交互的每一步

28、。例如,图书馆借出图书用例的基本事件流为:管理员输入借书证信息系统要确保借书证信息的有效性检查是否有超期的借阅信息管理员输入要借阅的图书信息系统将借阅者的借阅信息添加到数据库中系统显示该借阅者的所有借阅信息16、识别用例和描述用例有什么区别?识别用例和描述用例并不是一回事。识别是指对系统需要做的事情进行界定、探索和发现。描述用例则是指对用例中的流程和步骤进行细化。描述用例贯穿了项目的整个生命周期,而识别用例则必须尽可能早地完成。17、什么是模型?开发软件时为什么要建立模型?所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。模型可以帮助我们思考问题、定义术语、在选

29、择术语时作出适当的假设,并且可以帮助我们保持定义和假设的一致性。建模的目的主要是为了减少复杂性。五、应用题1、研究生入学考试的科目为英语、数学、政治,录取规则是:a) 总分200分以下(不含200分)不录取。b) 总分200分以上(含200分)时:i. 英语、数学均为60分以上(含60分)录取。ii. 数学55分以上(含55分),英语70分以上(含70分)需参加复试。iii. 其它情况不录取。用决策树表达此项处理逻辑。2、某银行发放贷款原则如下:(1) 对于贷款未超过限额的客户,允许立即贷款;(2) 对于贷款已超过限额的客户,若过去还款记录好且本次贷款额在2万元以下,可作出贷款安排,否则拒绝贷款。或者是如果已超过贷款限额则如果客户过去还款记录差则拒绝贷款否则如果本次贷款额2万则拒绝贷款否则作出贷款安排否则允许立即贷款请用结构化语言描述该原则。答:IF 已超过贷款限额 IF 客户过去还款纪录差 拒绝贷款 ELSE IF 本次贷款额 2万 拒绝贷款 ELSE 作出贷款安排 ENDIF ELSE 允许立即贷款 ENDIF3、银行确定储蓄类型部分数据流图如下: 存款单试作出事务分析结构的控制结构图。

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

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