2023年软件工程练习题.pdf

上传人:奔*** 文档编号:92972306 上传时间:2023-06-18 格式:PDF 页数:19 大小:2.40MB
返回 下载 相关 举报
2023年软件工程练习题.pdf_第1页
第1页 / 共19页
2023年软件工程练习题.pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2023年软件工程练习题.pdf》由会员分享,可在线阅读,更多相关《2023年软件工程练习题.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

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

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

5、B、等价分类法 C、边界值分析法 D、错误推测法5.关于单元测试,对的的是()。A.单元测试的依据是概要设计说明书B.单元测试中不需要使用白盒测试法C.单元测试涉及模块接口测试 D.单元测试时不需要辅助模块6.银行计算机储蓄管理信息系统中,根据客户提出的规定(如存款、取款、查询、挂失、征询等)进行相应的业务解决的该层数据流图是()A.变换型 B.事务型 C.既不是A 也不是B D.不一定7.软件具体设计的重要任务是拟定每个模块的(A.算法和使用的数据结构 B.外部接口 C.功能 D.编程语言8.()表达了类之间的“一般一特殊”关系。A.聚集B.关联C.消息传递D 继承9.面向对象开发方法定义了

6、三种模型来描述系统,()可以用状态图来表达。A.对象模型 B.功能模型 C.动态模型 D.类模型10.对象的内部实现与外部可访问性的分离体现了对象的();A.继承性 B.共享性 C.封装性 D.抽象性11.结构化分析方法用数据流图描述()。A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能12.在面向数据流的设计方法中,一般把数据流图划分为()两种类型。A.数据流和事务流B.变 换 流 和 数 据 流 C.变换流和事务流D.控制流和事务流13.产生软件危机的重要因素有().软件自身的特点 用户使用不妥 硬件可靠性差程序员水平 缺少好的开发方法和管理手段A.B.C.D.1

7、4.软件测试中,黑盒法是根据程序的()来设计测试用例的。A、应用范围 B、内部逻辑 C、功能 D、输入数据15.O O A 模型规定了一组对象如何协同才干完毕软件系统所指定的工作。这种协同在模型中是以表白对象通信方式的一组()连接来实现的。A.消息 B.记录 C.数据 D.属性16.用黑盒法设计测试用例时采用的方法涉及()。A.鉴定覆盖法 B.条件覆盖法 C.等价分类法 D.途径分析法17.有关集成测试的叙述中,()是对的的。A.测试底层模块时不需要桩模块 B.自底向上测试方法有助于提前预计测试结果C.驱动模块的作用是模拟被调模块D.自顶向下测试方法易于设计测试用例18.现有一个程序,它的输入

8、只有一个整型数Y,其范围是-50WYW50。现从输入角度考虑设计了一组测试用例:一 100,100,0 o 设计这组测试用例的方法是()。A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法19.在面向对象软件方法中,“类”是()。A.具有同类数据的对象的集合 B.具有相同操作的对象的集合C.具有同类数据的对象的定义 D.具有同类数据和相同操作的对象的定义20.面向对象开发方法定义了三种模型来描述系统,()可以用数据流图来表达A.对象模型 B.功能模型 C.动态模型 D.数据模型21.软件开发中,阶段评审是非常重要的环节,其重要目的和作用是()A.减少测试工作量 B.避免后期付出高

9、代价C.保 证 软 件 质 量 D.缩短软件开发周期22.在综合瀑布模型和快速原型模型优点的同时,螺旋模型还增长了新的阶段一 一()。A.风险分析 B.用户评价 C.版本控制 D.成本估算23.数据流是数据流图的基本成分,下列关于数据流的叙述中,()是对的的。A.某加工的输入是一个数据流,该加工的输出也必然是一个数据流B.多个不同的数据流可以流向一个加工,也可从一个加工中流出。C.数据流只能从加工流向数据存储,但不能从数据存储流向加工D.一个数据流可以从一个数据存储流向另一个数据存储24.在分层数据流图中,若某层的加工K 分解成下层的数据流图L,则()。A.K 与 L 的输入、输出数据流不一定

10、相同B.K 与 L 的输入数据流必须相同、输出数据流不一定相同C.K 与 L 的输入、输出数据流必须相同D.K 与 L 的输入数据流可以不同、输出数据流必须相同25.数据流图所描述的是实际系统的()。A.逻辑模型 B.物理模型 C.程序流程 D.数据结构26.为了提高模块的独立性,模块内部最佳是()。A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚27.由变换型数据流图转换成模块结构图,其中涉及变换模块,则()。A.变换模块就是主模块 B.变换模块的功能是将逻辑输入变换为逻辑输出C.变换模块没有下层模块 D.变换模块只能有一个输入量、一个输出量28.为了提高软件测试的效率,应 当()。A

11、、在完毕编码以后制定软件的测试计划 B、取一切也许的数据作为测试数据C、选择发现错误也许性大的数据作为测试用例I)、随机地选取测试数据29.只 有 当(),才是结束测试的时候。A.测试阶段结束后 B.设计阶段完毕后C.集成测试阶段结束后 D.软件产品停止使用后30.从下列叙述中,选择可以与软件需求分析、设计、编码阶段相相应的软件测试:()。A.集成测试、确认测试、单元测试 B.单元测试、集成测试、确认测试C.单元测试、确认测试、集成测试 D.确认测试、集成测试、单元测试31.面向对象分析(OOA)的重要活动不涉及()。A.拟定对象 B.拟定属性 C.拟定关联 D.拟定方式32.面向对象分析(O

12、OA)中,动态建模的内容不涉及()。A、设计脚本 B、划分主题 C、画事件追踪图 I)、画状态转换图33.软件生存周期中时间最长的是()阶段。A.需求分析 B.概要设计 C.测试 D.维护三、概念解释1.软件:程序、数据、和相关文档的集合;用于实现计算机系统所需要的逻辑方法、过程和控制。2.软件危机:计算机软件开发和维护过程中碰到的一系列严重问题3.软件生命周期:软件从定义、开发、运营维护,直到最终被废弃要通过一个漫长的时期4.需求分析:发现、求精、建模、规格说明和复审的过程。5.概要设计:通过仔细分析软件需求规格说明,拟定组成系统的模块及各模块之间的关系,设计出完毕预定功能的模块结构(软件结

13、构),并建立接口。具体设计:具体的设计每个模块,即拟定完毕每个模块功能所需要的算法和数据结构6.模块化:将程序划提成独立命名且可独立访问的若干模块,每个模块完毕一个子功能;将模块集成起来构成一个整体,完毕指定的系统功能。信息隐臧:一个模块内柏寒的信息对于不需要这些信息的模块来说,是不能访问的。7.耦合:一个软件结构内不同模块家之间的互连限度。内聚:一个模块内各个元素彼此结合的紧密限度。8.对象:是客观世界中事物的抽象表达;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体类:是对具有相同属性和相同操作的一组相似对象的抽象描述。9.消息:是对象之间进行通信的机制;是规定某个对象执行其操

14、作的规格说明消息传递:一个对象向另一个对象发送消息时,接受消息的对象通过解释、给予响应,这种对象之间进行通信的机制称为消息传递。10.继承:子 类(新类)自动的共享父类(已有类)中定义的数据和操作的机制。多态性:在一个类层次中,不同对象对相同消息做出的不同响应。11.软件重用:在两次或多次不同的软件开发过程中反复使用相同或相似软件元素的过程。12.软件测试:根据软件开发各阶段的规格说明和程序的内部结构而设计一批测试用例,并运用这些测试用例去运营程序,以法现设计和程序错误的过程。13.黑盒测试:在程序接口进行的测试,他它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适本地接受输入数

15、据产生对的的输出信息,病保持外部信息(如数据库或文献)的完整性。白盒测试:按照程序内部的逻辑测试,检查程序中的每条通路是否能按照预定规定工作。14.单元测试:集中对源代码实现的每一个程序模块进行测试;集成测试:把模块装配(即集成)在一起形成完整的软件包,在装配的同时进行测试,同时解决程序验证和程序构造这两个问题;确认测试:在软件集成完毕之后,必须测试在需求分析阶段拟定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能的需求的最终保证。15.驱动模块:相称于被测试模块的上级调用模块:接受测试数据并传给被测模块;输出实测结果。存根模块(桩模块):代替被测试模块调用的子模块;桩模块使用被它

16、代替的模块的接口,也许做最少量的数据操作。四、简答题1.什么是软件危机?其产生的因素是什么?如何消除软件危机?答:计算机软件开发和维护过程中碰到的一系列严重问题。因素:(1)客观因素:软件是计算机系统中的逻辑部件,缺 少“可见性”,管理和控制软件开发过程相称困难软件在使用期间不存在机械磨损和老化问题,一 旦 发现错误,通常意味着修改本来的设计,因此软件难维护软件规模庞大,程序复杂性增长,需多人分工合作(不能保证每个人完毕的工作合在一起构成一个高质量的大型软件系统)(2)主观因素:开发无计划忽视软件需求分析的重要性轻视软件维护无过硬评测手段 缺少有力的开发方法和工具 不重视开发文档消除软件危机的

17、途径:1)使用先进的开发技术(方法和工具)推广使用成功的技术和方法,并且研究探索更好更有效的技术和方法。开发和使用更好的软件工具(软件工程支撑环境)2)对软件开发过程和产品进行严格的管理软件开发应当是一种组织良好、管理严密、各类人员协同配合、共同完毕的工程项目2.什么是软件生命周期?、简述软件生命周期的组成阶段及各阶段基本任务。答:一个软件从定义、开发、运 营 维 护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。(1)问题定义阶段:通过调研,提出关于问题的性质、工程目的和工程规模的书面报告,并且需要得到客户的确认。回 答 要解决的问题是什么?”文档:问题定义报告(2)可行性研

18、究阶段:用最小的代价在尽也许短的时间内拟定问题是否可以解决。进一步了解用户需求提出若干种也许的系统实现方案分析每种方案的技术、经济、社会可行性最终拟定这项工程的可行性 回 答“是否有行得通的解决方法?”文 档:可行性研究报告,项目开发计划(3)需求分析阶段:对目的系统提出完整、准确、清楚、具体的规定。得出通过用户确认的系统需求 用 正 式 文 档(需求规格说明)准确表达系统需求 回 答“系统必须做什么?”文 档:需求分析规格说明书(4)概要设计阶段:设计系统实现方案设计程序的体系结构,即拟定程序由哪些模块组成以及模块间的关系。概括地回答“如何实现目的系统?”文档:概要设计说明书(5)具体设计阶

19、段:设计实现每个模块功能所需要的算法和数据结构回 答“应当如何具体地实现这个系统?”文档:具体设计说明书(6)编码和单元测试:写出对的的、易理解、易维护的程序模块代码;测试编写出的每一个模块文档:通过测试的程序源代码、程序开发记录(模块开发卷宗)(7)综合测试阶段:通过各种类型的测试(及相应的调试)使软件达成预定的规定。集成测试(组装测试)。验收测试测试文档:测试计划、具体测试方案、实际测试结果(8)软件维护阶段:通过各种必要的维护活动使系统持久地满足用户的需要。3.作为某软件公司的工程师,你将采用结构化方法开发一套合用于住宅社区的智能家庭保安系统。简述开发环节和每个环节完毕的重要任务。答:结

20、构化方法的基本要点:自顶向下、逐步求精、模块化设计、结构化编码。结构化案发按软件生命周期划分:结构化分析(S A)、结构化设计(S D)、结构化实现(S P)(1)结构化分析:分析当前的情况,做出反映当前物理模型的D F D;推导出等价的逻辑模型的D F D;设计新的逻辑系统,生产数据字典和基元描述;建立人机接口,提出可供选择的目的系统物理模型的D F D;拟定各种方案的成本和风险等级,据此对各种方案进行分析;选择一种方案;建立完整的需求规约(2)结构化设计:评审和细化数据流图;拟定数据流图的类型;把数据流图映射的软件模块结构,设计出模块结构的上层;基于数据流图逐步分解高层模块,设计中下层模块

21、;对模块结构进行优化,得到更为合理的软件结构;描述模块接口(3)结构化实现4.什么是软件生命周期模型?典型的软件生命周期模型有哪些?答:描述了把软件生命周期划提成哪些阶段及各个阶段的执行顺序。瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。5.什么是需求分析?简述需求分析的基本任务。答:需求分析是发现、求精、建模、规格说明、和复审的过程。(1)准确了解用户情况和需要解决的问题(2)对需求反复求精和细化(3)需求建模(4)编制需求规格说明书(5)进行需求分析的评审6.为什么说只有合理划分模块才干保证软件的开发成本达成最小?答:当模块数目增长时每个模块的规模将减小,开发单个模块需要的成本减少

22、了,但随着模块数目增长,设计模块间接口所需的工作量也将增长,根据这两个因素知每个程序都相应的有一个适当多的模块是软件开发成本最低。7.什么是模块独立性?如何度量和设计模块独立性?答:模块独立性是指模块内部各部分及模块之间关系的一种度量标准。其度量标准:模块之间耦合尽也许弱,每个模块的内聚尽肯能强。8.什么是耦合性?软件设计中应当如何设计耦合性?答:(1)耦合表达一个软件结构内部不同模块之间的互连限度。(2)耦合应当尽量采用如下准则:尽量数据耦合,少用控制耦合和特性耦合,限制使用公共环境耦合的范围,完全不用内容耦合。9.什么是内聚性?软件设计中应当如何设计内聚性?答:(1)内聚标志着一个软件模块

23、内部各个元素之间的结合的紧密限度。(2)设计时候应当力求做到高内聚,通常中档限度的内聚也是可以采用的,并且效果和高内聚相差不多。1 0.面向数据流方法进行概要设计的环节是什么?答:(1)根据数据流图决定问题类型(2)根据问题类型,进行变换分析或事务分析,导出系统结构图(3)改善系统结构图1 1.简述变换分析设计方法的环节。答:(1)分析具有变换特性的数据流图,拟定输入流和输出流的边界,孤立出变换中心(2)完毕一级分解,设计软件结构的顶层和第二层(3)完毕二级分解,把数据流图中每个解决映射成软件结构中一个适当模块(4)精化软件结构(5)简要描述每个模块1 2 .结构化程序的基本特性是什么?可以用

24、什么工具描述?答:(1)一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只有一个入口和一个出口(2)图形:程序流程图,N-S 图,P A D 图表格:鉴定树,鉴定表语言:P D L1 3 .简述对象和类的概念,两者关系如何?答:(1)对象是客观世界中事物的抽象表达;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递互相作用。类是具有相同属性和操作和一组相似对象的抽象描述。(2)类是对象的模板,对象是类的实例。1 4 .三种面向对象模型及其重要功能是什么?答:三种面向模型分别是:对象模型、动态模型、功能模型对象模型:是对模拟客观世界实体的

25、对象以及对象彼此之间的关系的映射,描述了系统的静态结构。动态模型:它规定了对象模型中的对象的合法变化序列。功能模型:表达变化的系统的功能性质,它指明系统应当做什么,直接的反映了用户对目的系统的系统。1 5 .简述面向对象分析的基本环节。答:(1),拟定类和对象(2)辨认结构(3)划分主题(4)定义属性(5)建立动态模型(6)建立功能模型(7)定义服务1 6.从面向对象分析过程出发,讨论对象模型、动态模型和功能模型三者之间的关系。答:三种模型分别从三个不同的侧面描述了所要开发的系统,这三种模型互相补充,互相配合,使得我们队系统的结识更加全面,功能模型指明了对象做什么,动态模型规定了什么时候做,对

26、象模型则定义了做事情的 实体,对象模型是最基本的也是最重要的,为其它模型奠定了基础。1 7.简述继承的含义,并通过一个具体例子加以说明。答:(1)继承是子类(新类)自动地共享父类(已有类)中定义的数据和操作的机制。(2)子类可继承父类的属性和操作;同时子类可定义自己独有的属性和操作。(3)子类复用父类的定义,而不修改父类。(4)继承具有传递性1 8.什么是白盒测试?白盒测试中的逻辑覆盖法涉及哪些覆盖类型?答:按照程序内部的逻辑测试程序,检查程序中的每条通路是否都能按预定规定对的工作。包含(1)语句覆盖(2)鉴定覆盖(3)条件覆盖(4)鉴定/条件覆盖(5)条件组合覆盖1 9.什么是黑盒测试?属于

27、黑盒测试的重要方法有哪些?答:对程序接口进行的测试,检查程序功能是否能按照规格说明书的规定正常使用。包含(1)等价类划分(2)边界值分析(3)错误推测2 0.什么是等价类划分法?该方法设计测试用例的重要环节是什么?答:定义:把程序的也许的输入数据(或输出数据)划提成若干部分(等价类),然后从每一部分中选取少数有代表性的数据作为测试用例。环节:(1)拟定等价类(涉及合理等价类和不合理等价类)并顺序编号;(2)拟定测试用例:一个测试用例可以覆盖多个合理等价类;一个测试用例只能覆盖一个不合理等价类2 1 .软件测试要通过哪几个阶段?各阶段与前期的哪些文档有关?答:阶段:(1)单元测试(具体设计说明书

28、)(2)集成测试(概要设计说明书)(3)确认测试(需求规格说明书)(4)系统测试2 2 .软件测试过程如何体现“测试应当从小规模开始,并逐步进行大规模测试”的测试准则?答:通常,一方面重点测试单个程序模块,然后把测试重点转移到在集成的模块簇中寻找错误,最后在整个系统中寻找错误。2 3 .从自己理解和结识角度出发,谈 谈“软件工程”这门学科:(1)涉及哪些内容?(2)解决什么问题?答:软件工程包含技术和管理两个方面的内容,是管理与技术的紧密结合。管理:所谓管理就是通过计划、组织和控制等一系列活动,合理的配置和使用各种资源以达成既定目的的过程.技术:通常把软件生命周期全过程中使用的一整套技术的集合

29、成为方法学,也成为范型。解决了什么问题:五、应用题1.某运动会管理系统的功能为:接受来自运动员的报名单,并产生运动员号码单发送给运动员、产生参赛人员报表发送给裁判;接受来自裁判的比赛项目及成绩,产生比赛结果报表发送给发布台。用分层数据流图表达上述系统的功能。(1)运动会管理系统的顶层数据流图:(2)运动会管理系统的0 层数据流图:(3)运动会管理系统的1 层数据流图:2.某商品进销存管理系统的部分功能如下:(1)仓库管理员负责输入商品的入/出库清单、维护商品库存信息;定期记录、打印商品库存的月报表给商品销售经理。(2)销售员负责输入商品销售、退换信息,并打印购货清单给客户;商品销售的相关信息要

30、存入相应文献。请画出描述上述功能的分层数据流图。(画出顶层、1 层和2层数据流图)(1)商品进销存管理系统的顶层数据流图:(2)商品进销存管理系统的0 层数据流图:(3)商品进销存管理系统的1 层数据流图:画 DFD的 思 绪(注意图形符号使用规范):(1)顶层:拟定系统与外界的信息流(即系统的输入流、输出流)(2)一层:将系统的几个重要功能分解成几个相应的解决(3)二层:继续细化系统功能(分解一层图中的解决)3.设有下列语句序列:r e a d(x,y);i f (x l)a n d (y l)and(yl)and(y1)取“r 联“F”;条件2(j 1)、(y 1)、(y 1)THEN X3=X1*X2;IF(Xl2)AND(X2=0)THEN X3=Xl-3;OUTPUT(X3);STOP2.考试管理系统的功能如下:审查考生填写的报名单,对合格考生发准考证。考试报名结束后将考生名单发给阅卷站。考式结束后,阅卷站负责改卷并将考生成绩录入系统。系统按当年标准审查成绩,对成绩合格者发结业证,对成绩不合格者发告知单。根据上述陈述画出考试管理系统的分层数据流图。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁