




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程练习题软件工程练习题一、填空题1 .软件主要包括程序、数据和文档三部分内容。2 .目前使用最广泛的软件工程方法学是传统(结构化方法)方法和面向对象方法。3 .软件可行性研究的任务是从技术、经济和社会可行性三个方面分析软件项目的可行性。4 .软件测试的目的是找出软件潜在的错误和缺陷;通常把软件测试方法分为黑盒测试(功能测试)和白盒测试(结构测试)两大类。0w6Nw5 .软件测试中,测试用例由输入数据和预期的输出结果两部分组成。6 .典型的软件生命周期模型(软件过程模型)包括瀑布模型、快速原型模型和增量模型、螺旋模型、喷泉模型等。kxQS87 .模块A调用模块B以查询学生成绩,模块A通过参
2、数向模块B传送所查询学生白学号,模块B通过参数向模块A返回学生的考试成绩。模块A和模块B之间的耦合类型属于数据耦合。8 .在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的重写。5saGx。9 .测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是驱动模块和桩模块。10 .软件生存期中时间最长的是软件维护阶段。11 .结构化分析方法中,功能模型用DFD描述;数据模型用E-R描述。12 .过程设计(详细设计)中,常用的描述工具有图形、表格和语言三类。13 .在模块结构图中,直接调用某一模块的其他模块数称为该模块
3、的扇入数。14 .面向对象分析(OOA方法中,必须定义对象间的通信机制,对象间通信是通过消息传递机制来实现的。yrUL1。15 .面向对象方法用对象分解取代了结构化方法的功能分解。16 .写出下列各对事物之间的关系(继承、聚集、一般关联):交通工具一一汽车的关系是:继承;书一一读者的关系是:一般关联;班级一一学生的关系是:聚集;多边型一一线段的关系是:聚集。17 .面向对象设计(OOD阶段,可以将面向对象的设计内容划分为四部分,分别是:人机界面部分、问题域部分、任务管理部分和数据管理部分。18 .UML的中文含义是统一建模语言;CASE勺中文含义是用例。、选择题1 .需求分析阶段,开发人员需从
4、用户那里获得的最重要信息是().用户能接受的开发周期.软件应具有何种结构)。B.一个输入流和一个输出流一个输出流)来设计测试用例的。A.用户能接受的开发费用BC.用户要让软件做什么D2 .数据流图中的每个处理至少有(A.一个输入流或一个输出流C.一个输入流D.3 .软件测试中,白盒法是通过分析程序的A应用范围B 、内部逻辑 C 、功能 D 、输入数据4.有一个计算程序,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()GRhIj。A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法5 .
5、关于单元测试,正确的是()。A.单元测试的依据是概要设计说明书B.单元测试中不需要使用白盒测试法C.单元测试包括模块接口测试D.单元测试时不需要辅助模块6 .银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是()C4rGeA.变换型B.事务型C.既不是A也不是BD.不一定7 .软件详细设计的主要任务是确定每个模块的()。A.算法和使用的数据结构B.外部接口C.功能D.编程语言pQcFh8 .()表示了类之间的“一般特殊”关系。A.聚集B.关联C.消息传递D.继承WMRL69 .面向对象开发方法定义了三种模型来描述系统,()可以
6、用状态图来表示。A.对象模型B.功能模型C.动态模型D.类模型10 .对象的内部实现与外部可访问性的分离体现了对象的();A.继承性B,共享性C.封装性D.抽象性11 .结构化分析方法用数据流图描述()。A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能12 .在面向数据流的设计方法中,一般把数据流图划分为()两种类型。A.数据流和事务流B.变换流和数据流C.变换流和事务流D.控制流和事务流rquGR13 .产生软件危机的主要原因有()。软件本身的特点用户使用不当硬件可靠性差rlFP8。程序员水平缺乏好的开发方法和管理手段INg0M。A.B.C.D.0KFxM14 .软件测试
7、中,黑盒法是根据程序的()来设计测试用例的。A应用范围B、内部逻辑C、功能D、输入数据15 .OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组()连接来实现的。MvCh9A.消息B.记录C.数据D.属性16 .用黑盒法设计测试用例时采用的方法包括()。A.判定覆盖法B.条件覆盖法C.等价分类法D.路径分析法17 .有关集成测试的叙述中,()是正确的。A.测试底层模块时不需要桩模块B.自底向上测试方法有利于提前预计测试结果C.驱动模块的作用是模拟被调模块D.自顶向下测试方法易于设计测试用例18 .现有一个程序,它的输入只有一个整型数Y,其范
8、围是-50WYW50。现从输入角度考虑设计了一组测试用例:100,100,0。设计这组测试用例的方法是()。A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法19 .在面向对象软件方法中,“类”是()。A.具有同类数据的对象的集合B.具有相同操作的对象的集合C.具有同类数据的对象的定义D.具有同类数据和相同操作的对象的定义20 .面向对象开发方法定义了三种模型来描述系统,()可以用数据流图来表示A.对象模型B.功能模型C.动态模型D.数据模型21 .软件开发中,阶段评审是非常重要的环节,其主要目的和作用是()。A.减少测试工作量B.避免后期付出高代价C.保证软件质量D.缩短软件开发周期
9、22,在综合瀑布模型和快速原型模型优点的同时,螺旋模型还增加了新的阶段一一()。A.风险分析B.用户评价C.版本控制D.成本估算sQGNe23,数据流是数据流图的基本成分,下列关于数据流的叙述中,()是正确的。A.某加工的输入是一个数据流,该加工的输出也必定是一个数据流B.多个不同的数据流可以流向一个加工,也可从一个加工中流出。C.数据流只能从加工流向数据存储,但不能从数据存储流向加工D.一个数据流可以从一个数据存储流向另一个数据存储24 .在分层数据流图中,若某层的加工K分解成下层的数据流图L,则()。A. K与L的输入、输出数据流不一定相同B. K与L的输入数据流必须相同、输出数据流不一定
10、相同C. K与L的输入、输出数据流必须相同DKL的输入数据流可以不同、输出数据流必须相同25 .数据流图所描述的是实际系统的()。A.逻辑模型B.物理模型C.程序流程D.数据Z勾bLVyT。26 .为了提高模块的独立性,模块内部最好是()。A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚vl3dt。27 .由变换型数据流图转换成模块结构图,其中包括变换模块,则()。A.变换模块就是主模块B.变换模块的功能是将逻辑输入变换为逻辑输出C.变换模块没有下层模块D.变换模块只能有一个输入量、一个输出量28 .为了提高软件测试的效率,应该()。A、在完成编码以后制定软件的测试计划B、取一切可能的数据作为
11、测试数据C、选择发现错误可能性大的数据作为测试用例D、随机地选取测试数据29 .只有当(),才是结束测试的时候。A.测试阶段结束后B.设计阶段完成后C.集成测试阶段结束后D.软件产品停止使用后30 .从下列叙述中,选择能够与软件需求分析、设计、编码阶段相对应的软件测试:()。A.集成测试、确认测试、单元测试B.单元测试、集成测试、确认测试C.单元测试、确认测试、集成测试D.确认测试、集成测试、单元测试31 .面向对象分析(OOA的主要活动不包括()。A.确定对象B.确定属性C.确定关联D.确定方式32 .面向对象分析(OOA中,动态建模的内容不包括()。A、设计脚本B、划分主题C、画事件追踪图
12、D、画状态转换图33 .软件生存周期中时间最长的是()阶段。A.需求分析B.概要设计C.测试D.维护三、概念解释1. .软件:程序、数据、和相关文档的集合;用于实现计算机系统所需要的逻辑方法、过程和控制。2. 软件危机:计算机软件开发和维护过程中遇到的一系列严重问题软件工程练习题3. 软件生命周期:软件从定义、开发、运行维护,直到最终被废弃要经过一个漫长的时期4. 需求分析:发现、求精、建模、规格说明和复审的过程。5. 概要设计:通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构),并建立接口。ySB72。详细设计:详细的设计每个模块,即
13、确定完成每个模块功能所需要的算法和数据结构6. 模块化:将程序划分成独立命名且可独立访问的若干模块,每个模块完成一个子功能;将模块集成起来构成一个整体,完成指定的系统功能。n8PUk。信息隐藏:一个模块内柏寒的信息对于不需要这些信息的模块来说,是不能访问的。7. 耦合:一个软件结构内不同模块家之间的互连程度。内聚:一个模块内各个元素彼此结合的紧密程度。8. 对象:是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体类:是对具有相同属性和相同操作的一组相似对象的抽象描述。9. 消息:是对象之间进行通信的机制;是要求某个对象执行其操作的规格说明消息传递:一个对象
14、向另一个对象发送消息时,接收消息的对象经过解释、给予响应,这种对象之间进行通信的机制称为消息传递。p9719。10. 继承:子类(新类)自动的共享父类(已有类)中定义的数据和操作的机制。多态性:在一个类层次中,不同对象对相同消息做出的不同响应。11. 软件重用:在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。12. 软件测试:根据软件开发各阶段的规格说明和程序的内部结构而设计一批测试用例,并利用这些测试用例去运行程序,以法现设计和程序错误的过程。4vjx6。13. 黑盒测试:在程序接口进行的测试,他它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数
15、据产生正确的输出信息,病保持外部信息(如数据库或文件)的完整性。qEQNT。白盒测试:按照程序内部的逻辑测试,检查程序中的每条通路是否能按照预定要求工作。14. 单元测试:集中对源代码实现的每一个程序模块进行测试;集成测试:把模块装配(即集成)在一起形成完整的软件包,在装配的同时进行测试,同时解决程序验证和程序构造这两个问题;fwv9S。确认测试:在软件集成完成之后,必须测试在需求分析阶段确定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能的需求的最终保证。sA2PN。15. 驱动模块:相当于被测试模块的上级调用模块;接收测试数据并传给被测模块;输出实测结果。存根模块(桩模块):代
16、替被测试模块调用的子模块;桩模块使用被它代替的模块的接口,可能做最少量的数据操作。TTIBS。四、简答题1. 什么是软件危机?其产生的原因是什么?如何消除软件危机?答:计算机软件开发和维护过程中遇到的一系列严重问题。原因:(1)客观原因:软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)nBjYv。(2)主观原因: 开发无计划 忽视软件需求分析的重要性 轻视软件维护 无
17、过硬评测手段 缺乏有力的开发方法和工具 不重视开发文档消除软件危机的途径:1)使用先进的开发技术(方法和工具)推广使用成功的技术和方法,并且研究探索更好更有效的技术和方法。开发和使用更好的软件工具(软件工程支撑环境)2)对软件开发过程和产品进行严格的管理软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目2. 什么是软件生命周期?、简述软件生命周期的组成阶段及各阶段基本任务。答:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。w5e9i。(1)问题定义阶段:通过调研,提出关于问题的性质、工程目标和工程规模的书面报告,并且需要得
18、到客户的确认。回答“要解决的问题是什么?”文档:问题定义报告(2)可行性研究阶段:用最小的代价在尽可能短的时间内确定问题是否能够解决。 进一步了解用户需求 提出若干种可能的系统实现方案 分析每种方案的技术、经济、社会可行性 最终确定这项工程的可行性回答“是否有行得通的解决方法?”文档:可行性研究报告,项目开发计划(3)需求分析阶段:对目标系统提出完整、准确、清晰、具体的要求。 得出经过用户确认的系统需求 用正式文档(需求规格说明)准确表达系统需求回答“系统必须做什么?”文档:需求分析规格说明书(4)概要设计阶段:设计系统实现方案设计程序的体系结构,即确定程序由哪些模块组成以及模块间的关系。概括
19、地回答“怎样实现目标系统?”文档:概要设计说明书(5)详细设计阶段:设计实现每个模块功能所需要的算法和数据结构回答“应该怎样具体地实现这个系统?”文档:详细设计说明书6)编码和单元测试:写出正确的、易理解、易维护的程序模块代码;测试编写出的每一个模块文档:经过测试的程序源代码、程序开发记录(模块开发卷宗)7)综合测试阶段:通过各种类型的测试(及相应的调试)使软件达到预定的要求。集成测试(组装测试)。验收测试测试文档:测试计划、详细测试方案、实际测试结果8)软件维护阶段:通过各种必要的维护活动使系统持久地满足用户的需要。3. 作为某软件公司的工程师,你将采用结构化方法开发一套适用于住宅小区的智能
20、家庭保安系统。简述开发步骤和每个步骤完成的主要任务。答:结构化方法的基本要点:自顶向下、逐步求精、模块化设计、结构化编码。结构化案发按软件生命周期划分:结构化分析(SA)、结构化设计(SD)、结构化实现(SP)( 1)结构化分析:分析当前的情况,做出反映当前物理模型的DFD;推导出等价的逻辑模型的DFD设计新的逻辑系统,生产数据字典和基元描述;建立人机接口,提出可供选择的目标系统物理模型的DFD确定各种方案的成本和风险等级,据此对各种方案进行分析;选择一种方案;建立完整的需求规约NtOaH( 2)结构化设计:评审和细化数据流图;确定数据流图的类型;把数据流图映射的软件模块结构,设计出模块结构的
21、上层;基于数据流图逐步分解高层模块,设计中下层模块;对模块结构进行优化,得到更为合理的软件结构;描述模块接口aQYC7( 3)结构化实现4. 什么是软件生命周期模型?典型的软件生命周期模型有哪些?答:描述了把软件生命周期划分成哪些阶段及各个阶段的执行顺序。瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。5. 什么是需求分析?简述需求分析的基本任务。答:需求分析是发现、求精、建模、规格说明、和复审的过程。( 1)准确了解用户情况和需要解决的问题( 2)对需求反复求精和细化( 3)需求建模( 4)编制需求规格说明书( 5)进行需求分析的评审6. 为什么说只有合理划分模块才能保证软件的开发成本
22、达到最小?答:当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本减少了,但随着模块数目增加,设计模块间接口所需的工作量也将增加,根据这两个因素知每个程序都相应的有一个适当多的模块是软件开发成本最低。5mKoo。7. 什么是模块独立性?如何度量和设计模块独立性?答:模块独立性是指模块内部各部分及模块之间关系的一种度量标准。其度量标准:模块之间耦合尽可能弱,每个模块的内聚尽肯能强。8. 什么是耦合性?软件设计中应该如何设计耦合性?答:(1)耦合表示一个软件结构内部不同模块之间的互连程度。(2)耦合应该尽量采取如下准则:尽量数据耦合,少用控制耦合和特征耦合,限制使用公共环境耦合的范围,完全
23、不用内容耦合。ONyS。9 .什么是内聚性?软件设计中应该如何设计内聚性?答:(1)内聚标志着一个软件模块内部各个元素之间的结合的紧密程度。10 )设计时候应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多。10 .面向数据流方法进行概要设计的步骤是什么?答:(1)根据数据流图决定问题类型(2)根据问题类型,进行变换分析或事务分析,导出系统结构图(3)改进系统结构图11 .简述变换分析设计方法的步骤。答:(1)分析具有变换特征的数据流图,确定输入流和输出流的边界,孤立出变换中心(2)完成一级分解,设计软件结构的顶层和第二层(3)完成二级分解,把数据流图中每个处理映射
24、成软件结构中一个适当模块(4)精化软件结构(5)简要描述每个模块12 结构化程序的基本特征是什么?可以用什么工具描述?答:(1)一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口SbQCA(2) 图形:程序流程图,N-S图,PAD图表格:判定树,判定表语言:PDL(13) 述对象和类的概念,二者关系如何?答:(1)对象是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递相互作用。FIrKq。类是具有相同属性和操作和一组相似对象的抽象描述。(2)类是对象的模板,对象是类的实例。(14) 三种面
25、向对象模型及其主要功能是什么?答:三种面向模型分别是:对象模型、动态模型、功能模型对象模型:是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。动态模型:它规定了对象模型中的对象的合法变化序列。功能模型:表示变化的系统的功能性质,它指明系统应该做什么,直接的反映了用户对目标系统的系统。(15) 述面向对象分析的基本步骤。答:(1),确定类和对象(16) 识别结构(17) 划分主题(18) 定义属性(19) 建立动态模型(20) 建立功能模型(21) 定义服务(22) 面向对象分析过程出发,讨论对象模型、动态模型和功能模型三者之间的关系。答:三种模型分别从三个不同的侧面
26、描述了所要开发的系统,这三种模型相互补充,相互配合,使得我们队系统的认识更加全面,功能模型指明了对象做什么,动态模型规定了什么时候做,对象模型则定义了做事情的实体,对象模型是最基本的也是最重要的,为其它模型奠定了基础。1S3H7。(23) 述继承的含义,并通过一个具体例子加以说明。答:(1)继承是子类(新类)自动地共享父类(已有类)中定义的数据和操作的机制。1 2)子类可继承父类的属性和操作;同时子类可定义自己独有的属性和操作。2 3)子类复用父类的定义,而不修改父类。3 4)继承具有传递性18 .什么是白盒测试?白盒测试中的逻辑覆盖法包括哪些覆盖类型?答:按照程序内部的逻辑测试程序,检查程序
27、中的每条通路是否都能按预定要求正确工作。包含(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖19 .什么是黑盒测试?属于黑盒测试的主要方法有哪些?答:对程序接口进行的测试,检查程序功能是否能按照规格说明书的规定正常使用。包含(1)等价类划分(2)边界值分析(3)错误推测20 .什么是等价类划分法?该方法设计测试用例的主要步骤是什么?答:定义:把程序的可能的输入数据(或输出数据)划分成若干部分(等价类),然后从每一部分中选取少数有代表性的数据作为测试用例。3Smrs。步骤:(1)确定等价类(包括合理等价类和不合理等价类)并顺序编号;(2)确定测试用例:一个测试用例
28、可以覆盖多个合理等价类;一个测试用例只能覆盖一个不合理等价类21 .软件测试要经过哪几个阶段?各阶段与前期的哪些文档有关?答:阶段:(1)单元测试(详细设计说明书)(2)集成测试(概要设计说明书)(3)确认测试(需求规格说明书)(4)系统测试g5WIb。22 .软件测试过程如何体现“测试应该从小规模开始,并逐步进行大规模测试”的测试准则?答:通常,首先重点测试单个程序模块,然后把测试重点转移到在集成的模块簇中寻找错误,最后在整个系统中寻找错误。TU4Th。23 .从自己理解和认识角度出发,谈谈“软件工程”这门学科:(1)包括哪些内容?(2)解决什么问题?答:软件工程包含技术和管理两个方面的内容
29、,是管理与技术的紧密结合。管理:所谓管理就是通过计划、组织和控制等一系列活动,合理的配置和使用各种资源以达到既定目标的过程。x4KlR。技术:通常把软件生命周期全过程中使用的一整套技术的集合成为方法学,也成为范型。解决了什么问题:五、应用题1 .某运动会管理系统的功能为:接受来自运动员的报名单,并产生运动员号码单发送给运动员、产生参赛人员报表发送给裁判;接受来自裁判的比赛项目及成绩,产生比赛结果报表发送给发布台。KtJ77用分层数据流图表示上述系统的功能。软件工程练习题(1)运动会管理系统的顶层数据流图:(2)运动会管理系统的0层数据流图:(3)运动会管理系统的1层数据流图:运动员信,艮2 .某商品进销存管理系统的部分功能如下:(1)仓库管理员负责输入商品的入/出库清单、维护商品库存信息;定时统计、打印商品库存的月报表给商品销售经理。stw2I(2)销售员负责输入商品销售、退
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模特儿培训合作协议书
- 电梯管理协议书
- 维修基金协议书
- 耕地界桩协议书
- 哥哥宅基地安置协议书
- 田亩转户协议书
- 联合开店协议书
- 签署续展协议书
- 谷歌付款协议书
- 机械厂学徒合同协议书
- 2025年全国保密教育线上培训考试试题库附完整答案(夺冠系列)含答案详解
- 视频制作拍摄服务方案投标文件(技术方案)
- 量子计算中的量子比特稳定性研究-全面剖析
- 构建健全企业资金体系
- 建筑施工现场安全管理指南
- 2025年山东济南先行投资集团有限责任公司招聘笔试参考题库附带答案详解
- 企业管理学经典课件
- 理发店签入股合同协议
- 电气设备在智能电网虚拟电厂中的应用考核试卷
- 2025至2030年液压马达行业深度研究报告
- 2025年形势与政策-加快建设社会主义文化强国+第二讲中国经济行稳致远
评论
0/150
提交评论