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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

软件工程练习题.docx

1、软件工程练习题软件工程练习题一、填空题1.软件主要包括程序、 数据 和 文档 三部分内容。2.目前使用最广泛的软件工程方法学是传统(结构化方法)方法和 面向对象方法。3.软件可行性研究的任务是从技术、 经济 和 社会可行性 三个方面分析软件项目的可行性。4.软件测试的目的是 找出软件潜在的错误和缺陷 ;通常把软件测试方法分为 黑盒测试(功能测试)禾口 白盒测试(结构测试) 两大类。5.软件测试中,测试用例由输入数据和 预期的输出结果 两部分组成。6典型的软件生命周期模型(软件过程模型)包括瀑布模型、 快速原型模型 和增量模型、螺旋模型、喷泉模型等。7.模块A调用模块B以查询学生成绩,模块 A通

2、过参数向模块 B传送所查询学生的学号,模块 B通过参数向模块 A返回学生的考试成绩。模块 A和模块B之间的耦合类型属于 数据 耦合。8.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的 重写。9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是 驱动模块和桩模块 。10软件生存期中时间最长的是 _软件维护 阶段。11.结构化分析方法中,功能模型用 DFD描述;数据模型用 E-R描述。12过程设计(详细设计)中,常用的描述工具有 图形、表格和语言三类。13在模块结构图中,直接调用某一模块的其他模块数称为该

3、模块的 扇入数。14.面向对象分析(00A )方法中,必须定义对象间的通信机制,对象间通信是通过 消息传递机制来实现的。15.面向对象方法用对象分解取代了结构化方法的 功能分解。16.写出下列各对事物之间的关系(继承、聚集、一般关联) :交通工具一一汽车的关系是: 继承;书一一读者的关系是: 一般关联;班级一一学生的关系是: 聚集:多边型一一线段的关系是: 聚集。17面向对象设计(00D )阶段,可以将面向对象的设计内容划分为四部分,分别是:人机界面 部分、问题域部分、任务管理部分和数据管理部分 。18. UML的中文含义是 统一建模语言 :CASE的中文含义是 用例。、选择题1( )。B 用

4、户能接受的开发周期D .软件应具有何种结构)。B. 个输入流和一个输出流D. 一个输出流)来设计测试用例的。C、功能 D、输入数据需求分析阶段,开发人员需从用户那里获得的最重要信息是A用户能接受的开发费用C.用户要让软件做什么2数据流图中的每个处理至少有(A.个输入流或一个输出流C.一个输入流3软件测试中,白盒法是通过分析程序的(A、应用范围 B、内部逻辑4有一个计算程序,它的输入量只有一个 X,其范围是】-1.0 , 1.0L现从输入的角度考虑一组测试用例:-1.001 ,-1.0,1.0,1.001 O设计这组测试用例的方法是 ( )A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错

5、误推测法5B.单元测试中不需要使用白盒测试法.关于单元测试,正确的是 ( )。A.单元测试的依据是概要设计说明书C.单元测试包括模块接口测试6 .银行计算机储蓄管理信息系统中,D.单元测试时不需要辅助模块根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是( )D.不一定D.编程语言A.变换型 B.事务型 C.既不是A也不是B7 软件详细设计的主要任务是确定每个模块的( )oA.算法和使用的数据结构 B.外部接口 C.功能8 .( )表示了类之间的“一般特殊”关系。A .对象模型 B .功能模型 C .动态模型 D .类模型10.);对象的内部实现与外部可访

6、问性的分离体现了对象的(A.继承性 B .共享性 C. 封装性 D .抽象性11 .结构化分析方法用数据流图描述( )oA.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能12.在面向数据流的设计方法中,一般把数据流图划分为( )两种类型。A.数据流和事务流 B.变换流和数据流 C.变换流和事务流 D.控制流和事务流)。C.等价分类法 D.路径分析法是正确的。B.自底向上测试方法有利于提前预计测试结果D.自顶向下测试方法易于设计测试用例Y,其范围是-50 WYW50。现从输入角度考0。设计这组测试用例的方法是( )oC.边界值分析法 D.错误推测法)。B.具有相同操作的对

7、象的集合D.具有同类数据和相同操作的对象的定义20.面向对象开发方法定义了三种模型来描述系统, ( )可以用数据流图来表示A.对象模型 B.功能模型 C.动态模型 D .数据模型21软件开发中,阶段评审是非常重要的环节,其主要目的和作用是( )。A.减少测试工作量 B.避免后期付出高代价 C.保证软件质量 D缩短软件开发周期22在综合瀑布模型和快速原型模型优点的同时,螺旋模型还增加了新的阶段一一( )。A.风险分析 B.用户评价 C.版本控制 D.成本估算23数据流是数据流图的基本成分,下列关于数据流的叙述中, ( )是正确的。A.某加工的输入是一个数据流,该加工的输出也必定是一个数据流B.多

8、个不同的数据流可以流向一个加工,也可从一个加工中流出。C.数据流只能从加工流向数据存储,但不能从数据存储流向加工D.一个数据流可以从一个数据存储流向另一个数据存储24在分层数据流图中,若某层的加工 K分解成下层的数据流图 L,则( )。A . K与L的输入、输出数据流不一定相同B.K与L的输入数据流必须相同、输出数据流不一定相同C . K与L的输入、输出数据流必须相同D . K与L的输入数据流可以不同、输出数据流必须相同25数据流图所描述的是实际系统的( )。A.逻辑模型 B物理模型 C程序流程 D数据结构26.为了提高模块的独立性,模块内部最好是( )。A.逻辑内聚 B.时间内聚 C.功能内

9、聚 D.通信内聚27由变换型数据流图转换成模块结构图,其中包括变换模块,则( )。A.变换模块就是主模块 B.变换模块的功能是将逻辑输入变换为逻辑输出C变换模块没有下层模块 D.变换模块只能有一个输入量、一个输出量28.为了提高软件测试的效率,应该( )。A、在完成编码以后制定软件的测试计划 B、取一切可能的数据作为测试数据C. 选择发现错误可能性大的数据作为测试用例 D、随机地选取测试数据29只有当( ),才是结束测试的时候。A.测试阶段结束后 B设计阶段完成后C.集成测试阶段结束后 D.软件产品停止使用后30从下列叙述中,选择能够与软件需求分析、设计、编码阶段相对应的软件测试: ( )。A

10、.集成测试、确认测试、单元测试 B.单元测试、集成测试、确认测试C.单元测试、确认测试、集成测试 D.确认测试、集成测试、单元测试31面向对象分析(00A )的主要活动不包括( )。A .确定对象 B .确定属性 C .确定关联 D .确定方式32.面向对象分析(00A )中,动态建模的内容不包括( )。A、设计脚本 B、划分主题 C、画事件追踪图 D、画状态转换图33.软件生存周期中时间最长的是( )阶段。A.需求分析 B.概要设计 C.测试 D.维护三、概念解释1.软件:程序、数据、和相关文档的集合;用于实现计算机系统所需要的逻辑方法、 过程和控制。2.软件危机:计算机软件开发和维护过程中

11、遇到的一系列严重问题3 软件生命周期:软件从定义、开发、运行维护,直到最终被废弃要经过一个漫长的时期4需求分析:发现、求精、建模、规格说明和复审的过程。5.概要设计:通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构) ,并建立接口。详细设计:详细的设计每个模块,即确定完成每个模块功能所需要的算法和数据结构6.模块化:将程序划分成独立命名且可独立访问的若干模块,每个模块完成一个子功能;将模块集 成起来构成一个整体,完成指定的系统功能。信息隐藏:一个模块内柏寒的信息对于不需要这些信息的模块来说,是不能访问的。7 耦合:一个软件结构内不同模块

12、家之间的互连程度。内聚:一个模块内各个元素彼此结合的紧密程度。8.对象:是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务) 的封装体类:是对具有相同属性和相同操作的一组相似对象的抽象描述。9.消息:是对象之间进行通信的机制;是要求某个对象执行其操作的规格说明消息传递:一个对象向另一个对象发送消息时,接收消息的对象经过解释、给予响应,这种对象 之间进行通信的机制称为消息传递。10.继承:子类(新类)自动的共享父类(已有类)中定义的数据和操作的机制。多态性:在一个类层次中,不同对象对相同消息做出的不同响应。11.软件重用:在两次或多次不同的软件开发过程中重复使用相同或

13、相似软件元素的过程。12.软件测试:根据软件开发各阶段的规格说明和程序的内部结构而设计一批测试用例,并利用这些 测试用例去运行程序,以法现设计和程序错误的过程。13 黑盒测试:在程序接口进行的测试,他它只检查程序功能是否能按照规格说明书的规定正常使 用,程序是否能适当地接收输入数据产生正确的输出信息,病保持外部信息(如数据库或文件)的 完整性。白盒测试:按照程序内部的逻辑测试,检查程序中的每条通路是否能按照预定要求工作。14.单元测试:集中对源代码实现的每一个程序模块进行测试;集成测试:把模块装配(即集成)在一起形成完整的软件包,在装配的同时进行测试,同时解决 程序验证和程序构造这两个问题;确

14、认测试:在软件集成完成之后,必须测试在需求分析阶段确定下来的确认标准,确认测试是对 软件满足所有功能的、行为的和性能的需求的最终保证。15 驱动模块:相当于被测试模块的上级调用模块; 接收测试数据并传给被测模块;输出实测结果。存根模块(桩模块):代替被测试模块调用的子模块;桩模块使用被它代替的模块的接口,可能 做最少量的数据操作。四、简答题1.什么是软件危机?其产生的原因是什么?如何消除软件危机?答:计算机软件开发和维护过程中遇到的一系列严重问题。原因:(1)客观原因:1软件是计算机系统中的逻辑部件,缺乏“可见性” ,管理和控制软件开发过程相当困难2软件在使用期间不存在机械磨损和老化问题,一旦

15、 发现错误,通常意味着修改原来的设计,因此软件难维护3软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构 成一个高质量的大型软件系统)(2)主观原因:1开发无计划2忽视软件需求分析的重要性3轻视软件维护4无过硬评测手段5缺乏有力的开发方法和工具6不重视开发文档消除软件危机的途径:1) 使用先进的开发技术(方法和工具)1推广使用成功的技术和方法,并且研究探索更好更有效的技术和方法。2开发和使用更好的软件工具(软件工程支撑环境)2) 对软件开发过程和产品进行严格的管理软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目2.什么是软件生命周期?、简

16、述软件生命周期的组成阶段及各阶段基本任务。答:一个软件从定义、开发、运行维护 ,直到最终被 废弃要经历一个漫长的时期,这个时期称为软件生命周期。(1 )问题定义阶段:通过调研,提出关于问题的性质、 工程目标和工程规模的书面报告, 并且需要得到客户的确认。回答“要解决的问题是什么?”文档:问题定义报告(2)可行性研究阶段:用最小的代价在尽可能短的时间内确定问题是否能够解决。1进一步了解用户需求2提出若干种可能的系统实现方案3分析每种方案的技术、经济、社会可行性4最终确定这项工程的可行性回答“是否有行得通的解决方法?”文档:可行性研究报告,项目开发计划(3 )需求分析阶段:对目标系统提出完整、准确

17、、清晰、具体的要求。1得出经过用户确认的系统需求2用正式文档(需求规格说明)准确表达系统需求回答“系统必须做什么?”文档:需求分析规格说明书(4 )概要设计阶段:1设计系统实现方案2设计程序的体系结构,即确定程序由哪些模块组成以及模块间的关系。概括地回答“怎样实现目标系统?”文档:概要设计说明书(5 )详细设计阶段:设计实现每个模块功能所需要的算法和数据结构回答“应该怎样具体地实现这个系统?”文档:详细设计说明书(6)编码和单元测试:写出正确的、易理解、易维护的程序模块代码;测试编写出的每一个模块文档:经过测试的程序源代码、程序开发记录(模块开发卷宗)(7 )综合测试阶段:通过各种类型的测试

18、(及相应的调试)使软件达到预定的要求。1集成测试(组装测试)。2验收测试测试文档:测试计划、详细测试方案、实际测试结果(8 )软件维护阶段:通过各种必要的维护活动使系统持久地满足用户的需要。3.作为某软件公司的工程师,你将采用结构化方法开发一套适用于住宅小区的智能家庭保安系统。 简述开发步骤和每个步骤完成的主要任务。答:结构化方法的基本要点:自顶向下、逐步求精、模块化设计、结构化编码。结构化案发按软件生命周期划分:结构化分析( SA)、结构化设计(SD)、结构化实现(SP)(1) 结构化分析:分析当前的情况,做出反映当前物理模型的 DFD ;推导出等价的逻辑 模型的DFD ;设计新的逻辑系统,

19、生产数据字典和基元描述;建立人机接口,提出可供选择的 目标系统物理模型的 DFD ;确定各种方案的成本和风险等级,据此对各种方案进行分析;选择 一种方案;建立完整的需求规约(2) 结构化设计:评审和细化数据流图; 确定数据流图的类型; 把数据流图映射的软件 模块结构,设计出模块结构的上层;基于数据流图逐步分解高层模块,设计中下层模块;对模块结构进行优化,得到更为合理的软件结构;描述模块接口(3) 结构化实现4.什么是软件生命周期模型?典型的软件生命周期模型有哪些?答:描述了把软件生命周期划分成哪些阶段及各个阶段的执行顺序。瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。5.什么是需求分析

20、?简述需求分析的基本任务。答:需求分析是发现、求精、建模、规格说明、和复审的过程。(1 )准确了解用户情况和需要解决的问题(2 )对需求反复求精和细化(3 )需求建模(4) 编制需求规格说明书(5) 进行需求分析的评审6.为什么说只有合理划分模块才能保证软件的开发成本达到最小?答:当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本减少了,但随着模块数目增加,设计模块间接口所需的工作量也将增加,根据这两个因素知每个程序都相应的有一个适 当多的模块是软件开发成本最低。7什么是模块独立性?如何度量和设计模块独立性?答:模块独立性是指模块内部各部分及模块之间关系的一种度量标准。其度量标准:模

21、块之间耦合尽可能弱,每个模块的内聚尽肯能强。8什么是耦合性?软件设计中应该如何设计耦合性?答:(1)耦合表示一个软件结构内部不同模块之间的互连程度。(2)耦合应该尽量采取如下准则:尽量数据耦合,少用控制耦合和特征耦合, 限制使用公共环 境耦合的范围,完全不用内容耦合。9什么是内聚性?软件设计中应该如何设计内聚性?答:(1)内聚标志着一个软件模块内部各个元素之间的结合的紧密程度。(2)设计时候应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多。10.面向数据流方法进行概要设计的步骤是什么?答:(1 )根据数据流图决定问题类型(2 )根据问题类型,进行变换分析或事务分析

22、,导出系统结构图(3 )改进系统结构图11.简述变换分析设计方法的步骤。答:(1 )分析具有变换特征的数据流图,确定输入流和输出流的边界,孤立出变换中心(2) 完成一级分解,设计软件结构的顶层和第二层(3) 完成二级分解,把数据流图中每个处理映射成软件结构中一个适当模块(4) 精化软件结构(5) 简要描述每个模块12 结构化程序的基本特征是什么?可以用什么工具描述?答:(1) 一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口(2)图形:程序流程图,N-S图,PAD图表格:判定树,判定表语言:PDL13.简述对象和类的概念,二者关系如何?答:(1

23、)对象是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递相互作用。类是具有相同属性和操作和一组相似对象的抽象描述。(2)类是对象的模板,对象是类的实例。14.三种面向对象模型及其主要功能是什么?答:三种面向模型分别是:对象模型、动态模型、功能模型对象模型:是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。动态模型:它规定了对象模型中的对象的合法变化序列。功能模型:表示变化的系统的功能性质,它指明系统应该做什么,直接的反映了用户对目标系统的系统。15.简述面向对象分析的基本步骤。答:(1),确定类和对象(2)

24、识别结构(3) 划分主题(4) 定义属性(5) 建立动态模型(6) 建立功能模型(7) 定义服务16.从面向对象分析过程出发,讨论对象模型、动态模型和功能模型三者之间的关系。答:三种模型分别从三个不同的侧面描述了所要开发的系统,这三种模型相互补充,相互配合,使得我们队系统的认识更加全面,功能模型指明了对象做什么,动态模型规定了什么时候做,对象模型则定义了做事情的 实体,对象模型是最基本的也是最重要的, 为其它模型奠定了基础。17.简述继承的含义,并通过一个具体例子加以说明。答:(1 )继承是子类(新类)自动地共享父类(已有类)中定义的数据和操作的机制。(2 )子类可继承父类的属性和操作;同时子

25、类可定义自己独有的属性和操作。(3 )子类复用父类的定义,而不修改父类。(4 )继承具有传递性18.什么是白盒测试?白盒测试中的逻辑覆盖法包括哪些覆盖类型?答:按照程序内部的逻辑测试程序,检查程序中的每条通路是否都能按预定要求正确工作。包含(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖19.什么是黑盒测试?属于黑盒测试的主要方法有哪些?答:对程序接口进行的测试,检查程序功能是否能按照规格说明书的规定正常使用。包含(1)等价类划分(2)边界值分析(3)错误推测20.什么是等价类划分法?该方法设计测试用例的主要步骤是什么?答:定义:把程序的可能的输入数据(或输出数

26、据)划分成若干部分(等价类) ,然后从每一部分中选取少数有代表性的数据作为测试用例。步骤:(1)确定等价类(包括合理等价类和不合理等价类)并顺序编号;(2)确定测试用例:一个测试用例可以覆盖多个合理等价类;一个测试用例只能覆盖一个不合理等价类21.软件测试要经过哪几个阶段?各阶段与前期的哪些文档有关?答:阶段:(1 )单元测试(详细设计说明书) (2)集成测试(概要设计说明书) (3 )确认测试(需求规格说明书)(4 )系统测试22.软件测试过程如何体现“测试应该从小规模开始,并逐步进行大规模测试”的测试准则?答:通常,首先重点测试单个程序模块,然后把测试重点转移到在集成的模块簇中寻找错误,最

27、后在整个系统中寻找错误。23.从自己理解和认识角度出发,谈谈“软件工程”这门学科:(1)包括哪些内容?( 2 )解决什么问题?答:软件工程包含技术和管理两个方面的内容,是管理与技术的紧密结合。管理:所谓管理就是通过计划、组织和控制等一系列活动,合理的配置和使用各种资源以达到既定目标的过程。技术:通常把软件生命周期全过程中使用的一整套技术的集合成为方法学,也成为范型。解决了什么问题:五、应用题1.某运动会管理系统的功能为:接受来自运动员的报名单,并产生运动员号码单发送给运动员、产生参赛人员报表发送给裁判; 接受来自裁判的比赛项目及成绩, 产生比赛结果报表发送给发布台。用分层数据流图表示上述系统的

28、功能。(1)运动会管理系统的顶层数据流图:(2)运动会管理系统的0层数据流图:(3)运动会管理系统的1层数据流图:2.某商品进销存管理系统的部分功能如下:(1)仓库管理员负责输入商品的入 /出库清单、维护商品库存信息;定时统计、打印商品库存 的月报表给商品销售经理。(2) 销售员负责输入商品销售、退换信息,并打印购货清单给客户; 商品销售的相关信息要 存入相应文件。请画出描述上述功能的分层数据流图。 (画出顶层、1层和2层数据流图)(D商品进销存管理系统的顶层数据流图;C2)商品进销存管理系统的0层数据流图;(3)商品进销存管理系统的1层数据流图*画DFD的思路(注意图形符号使用规范):(1)

29、 顶层:确定系统与外界的信息流(即系统的输入流、输出流)(2) 一层:将系统的几个主要功能分解成几个相应的处理(3)二层:继续细化系统功能(分解一层图中的处理)3.设有下列语句序列read(x,y);if (x1) and (y=5)the n z = x*yelse z = x+y;if z = 12 then z = 2*z;write(z).分别使用语句覆盖、判定覆盖、条件覆盖方法设计测试用例逻辑覆盖法设计测试用例的思路:(1) 测试目的是什么? (覆盖类型?)(2)为了达到相应测试目的,应该满足什么条件?(分析、设计过程?)(3)给出一组测试用例:满足(2)中条件的输入数据、相应的预期输出结果解:(D语句覆盖测试用例的设计过程如下:语句覆盖要求被测程序中每一可执行语句至少执行一次。程序中可执行语句分别为,z=x*y; z=x+y; z=2*z测试用例1需满工的条件=and (y = (4.3)预期输出结果z二242测试用例丢 输入政据预期输出结果z=3解;(2)条件覆盖测试用例的设计过程如下;条件覆盖要求被澳曜序中每个判定表达式中每个条件的可能取值至少执 行一次a程序中的条件及取值分别为:条件1(21)取仃,或吓冷条件2 (1) . (y1) . (y=5) . (z=12)三个条件同时取件”由以上分析得到如下测试用例:1测试用例仁输入数据(Kfy) = (4,3)预

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

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