《软件工程期末考试复习题1.pdf》由会员分享,可在线阅读,更多相关《软件工程期末考试复习题1.pdf(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 软件工程选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号,每小题1分)软件工程1.软件产品的开发主要是(D)。A.复制 B.再生产 C.拷贝 D.研制2.作坊式小团体合作生产方式的时代是(C)时代。A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C)oA.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论4.与计算机科学的理论研究不同,软件工程是一门(C)学科。A.理 论 性 B.原理性 C.工程性 D.心理性5.软件工程的出现主要是由于(C)。A.程序设计方法学的影响 B.其它
2、工程科学的影响C.软件危机的出现 D.计算机的发展6.在软件工程项目中,谨参与人数的增加而使软件的生产率增加的主要问题是(D)A、工作阶段间的等待时间 B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难7.软件工程方法学的目的是:使软件生产规化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境 B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质8、下列不属于软件工程方法学三要素的是(D):A、方法 B、工具 C、过程 D、操作周期1.将每个模块的控制结构转换成计算机可接受的程序代码是(A)阶段的任务。A.编码 B,需求分析 C.详细设计 D.
3、测试2.可行性研究的目的是决定(B)。A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在(C)阶段完成的?A.可行性研究和计划 B.需求分析 C.概要设计 D.详细设计4、初步用户手册在(B)阶段编写。A.可 行 性 研 究 B.需求分析 C.软件概要设计 D.软件详细设计5.在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是(B)A、经济可行性 B、技术可行性 C、操作可行性 D、法律可行性6.瀑布模型把软件生命周期划分为八个阶段
4、:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)oA、详细计划 B、可行性分析 C、运行阶段 D、测试与排错7.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性8.进行需求分析可使用多种工具,但(C)是不适用的。A.数据流图(DFD)B.判定表C.PAD图D.数据字典9.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段 B、概要设计阶段 C、需求
5、分析阶段 D、测试和运行阶段10.软件概要设计结束后得到(B)oA.初始化的软件结构图 B.优化后的软件结构图C.模块详细的算法 D.程序编码11.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的容(D)a.数据描述b.功能描述c.模块描述d.性能描述A.b B.c和dC.a,b和c D.a,b和d12.软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具(C)a.结构图b.实体联系图C.IPO 图d.层次图A、a和b B、c和d C、a,c,d D、全部13.PDL是软件开发过程中用于(C)阶段的描述工具。A.需求分析 B.概要设计 C.详细设计 D.编程1
6、4.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及(B)A.软件的总结B.需求分析评审C.阶段性报告D.以上答案都不正确SA1 .SA方法用DFD描述(D)。A.系统的控制流程 B.系统的数据结构C.系统的基本加工 D.系统的功能2.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是(A)oa.结构化语言;b.判定树;c.判定表。A.b和c B.a,b和c C.a和c D.a和b3、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成容之一,常用
7、的加工描述方法(C)oA.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表4、结构化分析SA方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。A、DFD图 B、PAD图 C、IPO图 D、数据字典5.SA方法的组适建是首先调查了解当前系统的工作流程,然后(A)oA.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的物理模型,
8、建立当前系统的物理模型,建立目标系统的物理模型6 .结构分析方法就是面向(D)自顶向下逐步求精进行需求分析的方法。A.目标 B.功能 C.对象 D.数据流7.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象(B)A、控制流 B、数据流 C、程序流 D、指令流8.在结构化分析方法中,用以表达系统数据的运动情况的工具有(A)oA.数据流图 B.数据词典 C.结构化语言 D.判定表与判定树10.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是(D)A.逻辑判断 B.层次分解 C.操作条目 D.组合条件11、在软件结构化设计中,好的软件结构设计应该力求做到(B)。A
9、、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较直,中间层扇出较少,底层模块置扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、顶层扇入较少,中间层扇入较高,底层模块低扇入测试白盒测试1.软件测试中,目食法是通过分析程序的(B)来设计测试用例的。A.应用围 B.部逻辑 C.功能 D.输入数据2.使用白箱测试方法时确定测试数据应根据(A)和指定的覆盖标准。A.程序的部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能3 白箱测试方法重视(A)的度量。A.测试覆盖率 B,测试数据多少 C.测试费用 D.测试周期4.在软件工程中,白箱测试方法可用于测试程序的部结构。此方法将程
10、序可作为(A)A.路径的集合 B.循环的集合 C.目标的集合 D.地址的集合5.在软件测试中,逻辑覆盖标准主要用于(B)A.黑箱测试方法 B.白箱测试方法C.灰箱测试方法 D.软件验收方法6.下面的逻辑测试覆盖中,测试覆盖最弱的是(C)A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.条件及判定覆盖黑盒测试1 .在设计测试用例时,(A)是用得最多的一种黑盒测试方法。A.等价类划分 B.边界值分析 C.因果图 D.判定表2.黑盒选是根据程序的(C)来设计测试用例的。A.应用围 B.部逻辑 C.功能 D.输入数据3、黑盒测试在设计测试用例时,主要需要研究(A)oA、需求规格说明与概要设计说明 B、
11、详细设计说明C、项目开发计划 D、概要设计说明与详细设计说明其他1、为了提高软件测试的效率,应该(D)。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性较大的数据作为测试用例2.与设计测试用例无关的文档是(A)oA.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序3、软件的集幽试工作最好由(D)承 担,以提高集成测试的效果。A.该软件的设计人员 B.该软件开发组的负责人C.该软件的编程人员 D.不属于该软件开发组的软件设计人员4、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是(C)A.初
12、级、高级、高级、初级 B.中级、中级、高级、中级C.高级、中高级、初级、中 高 级 D.中级、中高级、中级、初级5.McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、(D)、可移植性、可复用性、效率、可测试性、互联性。A.模块独立性、安全性 B.文档完备性、灵活性C.可维护性、安全性 D.可维护性、灵活性6、软件开发中大约要付出(C)%的工作量进行测试和排错。A.20 B.30 C.40 D.507、软件测试的手段有多种通过人工来评审文档或程序借以发现其中错误,该手段(D)0A、黑盒测试 B、正确性测试 C、动态测试 D、静态测试8.如果一个软件是给许多客
13、户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,(A)测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。A.a B.p C.Y D.。9.集成测试的主要方法有两个,一个是 一个是(B)A.白箱测试方法、黑箱测试方法B.渐增式测试方法、非渐增式测试方法C.等价分类方法、边缘值分析方法D.因果图方法、错误推测方法10、系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。(A)不是系统测试的容。A.路径测试 B.可靠性测试 C.安装测试 D.安全测试1 1.软件测试是软件质量保证的主要手段之一,测试的费用已超过(
14、A)的30%以 上,因此提高测试的有效性非常重要。A.软件开发费用 B.软件维护费用C.软件开发和维护费用 D.软件研制费用聚1.为了提高模块的独立性,模块部最好是(C)。A.逻辑聚 B.时间聚 C.功能聚 D.通信聚2、如果某种聚要求一个模块中包含的任务必须在亘二塾幽旦执行,则这种聚(A)oA、时间聚 B、逻辑聚 C、通信聚 D、信息聚3.模块的独立性是由聚性和耦合性来度量的,其中聚性是(B)A、模块间的联系程度 B、模块的功能强度C、信息隐蔽程度 D、接口的复杂程度4.模块的聚性最低的是(C)A.逻辑聚 B.时间聚C.偶然聚D.功能聚5.软件设计中划分模块的一个准则是(C)。A.低聚低耦合
15、 B.低聚高耦合C.高聚低耦合 D.高聚高耦合其他1.把一组具有相似特性的对象组合在一起,称之为(C)oA、多态性 B、继承性 C、类 D、消息2.面向对象的主要特征除对象唯一性、封装、继承外,还 有(A)A、多态性 B、完整性 C、可移植性 D、兼容3.下列模型属于成本估算方法的有(A)A、COCOM。模型 B、McCall模型C、McCabe度量法 D、时间估算法4.程序的三种基本控制结构的共同特点是(D)oA,不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现 D.只有一个入口和一个出口5.程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程
16、序,具有如下哪种特点(C)A、运行效率低,开 发 效 率 低 B、运行效率低,开发效率高C、运行效率高,开发效率低 D、运行效率高,开发效率高6.下面的叙述哪些是正确的(C)(1)在软件开发过程中,编程作业的代价最高。(2)良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为原则。(3)为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法。(4)对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。(5)C0B0L是一种非过程型语言。(6)LISP是一种逻辑型程序设计语言。A、(3)、B、C、(3)D、(4)、(6)7.软件部件的部实现与外部可访问性的分离,是
17、指软件的(C)0A.继承性 B.共享性 C.封装性 D.抽象性8、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是(A).A、设计稳定 B、变 换 分 析 C、事务分析 D、模块独立性9、软件管理的主要职能包括(D)A.人员管理、计划管理 B.标准化管理、配置管理C.成本管理、进度管理 D.(A)和(B)10、任何项目都必须精心做好项目管理工作,最常用的计划管理工具是(D)A.数据流程图 B.程序结构图 C.因果图 D.PERT图11.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原
18、型化方法 C、面向对象的方法 D、控制流方法12.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型 B、对象模型 C、螺旋模型 D、层次模型13.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流(A)oA.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等14.面向数据流的设计方法把(D)映射成软件结构。A、数据流 B、模块化 C、控制结构 D、信息流15.软件结构使用的图形工具,一般采用(C)图。A.DFD B.PAD C.SC D.ER16.在面向数据流的软件设计方法中,一般将信息流分为(A)A、变换流和事
19、务流 B、变换流和控制流C、事务流和控制流 D、数据流和控制流17、每个对象可用它自己的一组属性和它可以执行的一组(C)来表征。A、行为 B、功能 C、操作 D、数据18、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质 是(B),一个类获得其父亲的全部描述(数据和操作)A、传递性 B、继承性 C、复用性 D、并行性19、软件邕用的单位是(A)oA.软件模块B.性能 C.系统 D.功能20、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相
20、互排斥 B、相互补充 C、独立使用 D、交替使用21、系统分析员是(B)A、用户中系统的直接使用者 B、用户和软件人员的中间人C、软件的编程人员 D、用户和软件人员的领导22、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(D)A、组织与管理B、分析与估算C、设计与测试D、规划与调度23、结构图(SC)和层次方框图是不同的,前 者(B)。A、描述程序的过程特性 B、描述程序的层次特性C、描述程序的过程特征和层次特征 D、即不描述程序的过程特征,也不描述程序的层次特征24、软件详细设计主要采用的方法是(D)oA、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计
21、25、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指(B)A、模块间的关系 B、模块的操作细节C、软件层次结构 D、软件开发过程26、下列哪个改变不属于软件维护中的副作用?(C)A.修改代码 B.修改数据 C.修改需求分析 D.修改文档27.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。2 9.在软件需求规中,下述哪些要求可以归类为过程要求(A)A.CAD B.CAIC.CAM D.CASE2 8.螺旋模型综合了(A)的优点,并增加了风险分析。A.瀑布模型和演化模型B.瀑布模型和喷泉模型C.演化模型和喷泉模型D.原型和喷泉模型C
22、.可靠性要求A.执行要求B.效率要求D,可移植性要求30.设计软件结构一般不确定(C)。A.模块的功能B.模块的接口C.模块的局部数据 D.模块间的调用关系31.Jackson方法实现从(A)导出(C)。A.数据结构 B.数据流图 C.程序结构 D.软件模块层次结构32.程序设计语言的心理特性在语言中表现不应包括(C)oA.歧义性 B.简洁性 C.保密性 D.传统性33、软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向(A)发 展,重要的基本假设是过程的质量直接影响产品的质量。A.过程质量的控制B.过程的改进C.产品的改进D.技术的革新3 4.软件是一种(
23、B)产品。A.物质 B.逻辑C.有形 D.消耗35.需求规格说明书的容还应包括对(B)的描述。A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能36、项目管理工具中,将网络方法用于工作计划安排的评审和检查的是(A)oA.Gantt图 B.PERT网图C.因果分析图 D.流程图37、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定(C)oA.模块间的操作细节B.模块间的相似性C.模块间的组成关系D.模块的具体功能38、下述任务中,不属于软件工程需求分析阶段的是(D)。A.分析软件系统的数据要求 B,确定软件系统的功能需求C.确定软件系统的性能要求
24、 D.确定软件系统的运行平台39、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D)关系。A.组装 B.整体成员 C.hasa D.一般具体40、动态模型的描述工具是(C)oA.对象图 B.结构图 C.状态图 D.设计图41、McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组(A)A.产品需求 B.产品运行 C.产品修正 D.产品转移42.瀑布模型的存在问题是(B)A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求43.数据耦合、公共相合、标记耦合、控制耦合的耦合性从低到高的顺序是(B)A.数据、公共、标记、控制 B.数据、标记、控制
25、、公共C.控制、数据、标记、公共 D.控制、数据、公共、标记44.在SD方法中全面指导模块划分的最重要的原则是(D)A.程序模块化 B.模块高聚C.模块低耦合 D.模块独立性45.Jackson图 中,模块框之间若有直线连接,表示它们之间存在(B)。A.调用关系 B.组成关系 C.关系 D.顺序执行关系46.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p-(1+i-n)B.p-(i+1)nC.p-(1+i)-nD.p-(i+n)47.模 块(B)定义为受该模块一个判断影响的所有模块集合。A.控制域B.作用域C.宽度D.接口48.在对数据流的分析中,主要是找到中心变换,这是从(
26、C)导出结构图的关键。A.数据结构 B.实体关系 C.数据流图 D.ER图49.通 过(B)可以完成数据流图的细化。A.结构分解 B、功能分解 C、数据分解 D、系统分解50.Jackson方法是面向(B)的设计方法。A.系统设计 B、数据结构 C、DFD D、0 051.在考察系统的一些涉及时序和改变的状态时,要用对象-行为模型来表示。动态模型着重于系统的控制逻辑,它包括三个图:一个是事件轨迹图和事件流图,另一个是(A 卜A.状态转换图 B.数据流图 C.系统结构图 D.时序图52.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)oA.调用关系 B.组成关系 C.关 系 D.顺序
27、执行关系53.在详细设计阶段,经常采用的工具有(A)。A.PAD B.SA C.SC D.DFD54.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(C)A.教正性维护 B.适应性维护C.完善性维护 D.预防性维护二、填空题(请把答案写在相应的横线上,每小题1.5分)1、软 件 是 数 据、计算机程序及其说明程序的 各种文档。2、概要设计主要是把各项功能需求转换成系统的 体 系 结 构。3、面 向 对 象 开 发 方 法 包 括POP,OOP三部分。4、结 构 化 设 计 中 以 数 据 流 图 为 基 础 的 两 种 具 体 分 析 设 计 方 法 是 事物分析设计。5、在单元测试时
28、,需要为被测模块设计驱 动 模 块 和桩 模 块。6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。8.软件工程管理的具体容包括对型上园、组织、用 户、文档资料 等方面的管理。9、可行性研究的三个方面是技术可行性、社会可行性和经济可行性10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份 处理说明 和一接口说明11、在画分层的DFD时,父图与子图的输入输出数据流要12、在详细设计阶段,除了对模块的算法进行设计,还应对模块的数据结构一 进行设计。14.基线的作用是把各阶段的开发工作划分得更加明确,便于
29、检查与确认阶段成果。因 此,基线可以作为项目的一个 检查点15.软件工程包括软件开发技术和软件工程管理两大部分容。16、开发过程管理包括项目计划、控制和 任务管理等。17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。18、数据字典中有四类条目,分别是 数 据 流、数据项、数据存储、基本加工。19、用于描述基本加工的小说明的三种描述工具是幽继量、判 定 表、判定树一。20、子类只继承一个父类的属性和操作,这称为=单重继承=。21、McCabe复杂性度量又称一22、喷泉模型是一种以用户需求为动力,以对象为驱动的模型。23、Jackson图不仅可表示程
30、序结构,还可表示 数据结构24、详细设计的任务是确定每个模块的部特性,即 模 块 的魅 和数据结构 o25、UML提供的构建系统动态模型的机制有 动态视图 视 图(包括顺序图和协作图 _静态 视 图 视 图、功能视图。26、软件质量管理由软件质量保证、软 件 质 量 规 划 和软件质量控制三方面活动组成。27、用等价类划分法设计一个测试用例时,使 其 覆 盖 亘 熊 典 尚未被覆盖的合理等价类;覆盖_ 一个一不合理等价类。28、需求分析阶段产生的最重要的文档是雷求现修邈玉一。29、两个模块都使用同一表,模块的这种耦合称为 公共置合_。30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助
31、分析检测的手段称为一谑_ 测试。31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种非结构化维护。32、结构化方法是一种面向数据流的开发方法。由结构化分析、一 结构化设计一、结构化程序设计构成。33、对象之间进行通信的构造叫做一道且一。34、按 软 件 服 务 对 象 的 围 可 以 把 软 件 划 分 为 软 件 和 上 星 软件。35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过上档 实现过渡的。36、概要设计主要是把各项功能需求转换成系统的隹 强 胞38、结构化程序设计方法提倡开发人员的组织形式是生 也 羞 鲤 二40、类具有操作,它是对象弛 一 的 抽 象。41、产
32、品管理包括版本管理和配置管理o42、集 成 测 试 中 的 具 体 方 法 是 和 非 渐 增 式 测试方法。43、增量模型适合于毂任谈一不明确、设计方案有一定风险的软件项目。44、结构化分析方法的分析策略是 自顶向下逐步求精45、可行性研究实质上是要在较高层次上以较抽象的方式进行 需求分析和设计的过程。46、衡量模块独立性的两个定性标准是段 支 隹 遨 煌 _。47、Jackson方法是一种面向谑 例 _ 的 设 计 方 法。48、维护阶段是软件生存周期中花费精力和费用 量多 的阶段。49、继承性是子类自动共享其父类的数 调 结 槌 咤 笠 机制。50、在面向对象方法中,人们常用状态图描述类
33、中对象的一返她一。51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为容错软件。52.软件工程包括3个要素,即方笠、工具、涯。53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详 细 设 计 编码_ ,测 试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成54.数据流图中的箭头表示数超逾软件结构图中的箭头方向表示 摸 坦 鲤 _。55.一 旦 自 典 究 的目的就是用最小的代价在尽可能短的时间确定该软件项目是否能够开发,是否值得去开发。56.数据流图仅反映系统必须完成的
34、逻辑功能,所以它是一种些熊_ 模型。软件工程简答题三、简答题(简要回答下列问题,每小题4分*5=20)1、什么是软件工程?它目标和容是什么?软件工程就是用科学的知识和技术原理来定义,开 发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程容:包括开发技术和开发管理两个方面。2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。其中喷泉模型、统一软件过程适用于面向对象
35、的软件开发。4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:设计软件系统结构进行数据结构及数据库的设计编写概要设计的文档评审6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?(答案不是很好,书本上的V模 型,画出V模 型)软件测试要经过的步骤是:单元测试f 集成测试r 确认测试r 系统测试。单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。集成测试是为了检查与设计相关的软件体系结构的有关问题
36、也就是检查概要设计是否合理有效。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。7、什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包 括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编 码,测 试,维护。8、衡量模块独立性的两个标准是什么?各表示什么含义?聚和耦合。聚:又称为块联系,指模块部各成分之间相互关联的程度,以高聚为设计目标。耦 合:也称块间联系,模块之间相互联系程度的
37、度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。10、什么是需求分析?需求分析阶段的基本任务是什么?需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。基本任务:问题识别分析与综合,导出软件的逻辑模型编写文档12、单元测试有哪些容?单元测试主要针对模块的以下五个基本特征进行测试:(1)模块接口(2)局部数据结构(3)重要的执行路径(4)错误处理(5)边界条件14、软件设计的基本原理包括哪些容?模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的
38、要求。抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。信息隐蔽:将模块实现自身功能的细节与数据 隐蔽 起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。21、说明面向对象的特征?(答案错误,自己去整理答案)面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(4)多态
39、性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。24、请简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法?黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;黑盒测试常用方法有:边界值、等价类、因果图、错误推测法等。26、CMM全称是什么?分为哪几个级别?CMM全称是软件能力成熟度模型;从无序到有序的进化分成5个级别,分别为:1 初始级;2 可重复级;3 已定义级;4 已管理级;5 优化级。28、软件生命周期划分为哪几个阶段?软件生命周期分为三个时期八个阶段:软件定义:问题定义、可行性研究;软件开发:需求分析、概要设计、详细设计、编码、测 试;软件运行:软件维护
40、四、应用题(每小题10分*3=30)1 .某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一收费收据。要 求:(1)对以上问题画出数据流程图。(2 )画出该培训管理的软件结构图。解 答:(1)数据流图(2)
41、软件体系结构培训计算机管理软件结构主图2.建立窗口系统的对象模型,问题述如下r窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折 线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。”解 答:(泛化关系)I窗口 Is:3 .假设某航空公司规定,乘客可以免费托运行的重量不超过30公斤。当行的重量超出30公 斤 时,对一般舱的国乘客超重部分每公斤收
42、费4元,对头等舱的国乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。客 条 件 标 准(元 标 席tf30国内乘客国外乘客一般舱头等舱一般舱头等舱残疾普通残疾普通残疾普通残疾普通免费V2X(w-30)73X(w-30)/4X(w-30)76X(w-30)8X(w-30)12 X(w-30)4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。Ml ”7 -v(1)a=5b=l(2)a=5b=-
43、l(3)a二5b=l(4)a=5b=la=-5b=-la=0b=-l(5)a 二5b=-l(6)a 二5b=la 二一5b=la=0b 二0a=-5b=-la=-5b=-la二5b=l(8)a=5b=la 二0b=la=0b=-la=0b=-la=-5b=la 二一5b=la 二一5b=-l流程图如下:解 答:达到判定覆盖为(4);达到条件覆盖为(3);达到判定/条件覆盖为(6);达到条件组合覆盖为(8);达到路径覆盖为(7,7.某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的、住 址(或人身份证、存款类型、存款日期、到期日期、利率
44、及密码(可 选)等信息,并印出存款单给储户;如果是取款而且存款时留有密 码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能,并画出系统的E-R图。解 答:DFD 图:存 款+(记录存)存 款 利 息/打印存)存单取款信息类 型)到期日期|利 率)8.请对下列子程序进行测试:procedure example(y,z:real;var x:real)beginif(yl)and(z=0)then x:=x/y;if(y=2)or(x=l)then x:=x+l;该子程序接受x,y,z 的 值,并将计算结果x 的值返回给调用程序
45、。要 求:(1)画出程序流程图。(2)依据条件组合覆盖标准设计测试用例。(1)程序流程图(2)条件组合覆盖设计测试用例 y=2,z=0,x=4;y=2,z=1,x=1;y=1,z=0,x=2;y=1,z=1,x=1.9.自学考试报名过程中有个“记录报”的加工。该加工主要是根据报名表(、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目。解 答:(1)DFD 图:开考课程正式准考0考生着册(2)数据流词典报=+性 别+身份证号+课程名开考课程=课 程 名+开考
46、时间考生名册=准考证号+课程12.某“调整工资”处理模块接受一个“职称”的变 量,根据职称的不同(助 教,讲 师,副教 授,教 授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。解 答;划分等价类:输入条件合理等价类不合理等价类职称教授副教授讲师四种职称之外任意一种职称兼工龄助教兼工龄大于2年助教兼工龄等于两年助教兼工龄小于两年计测试用例:输入数据预期结果覆盖范围教授输入有效.进行调整工资处理副教授输入有效,进行调整工资处理讲师输入有效,进行调整工资处理助 教 3输入有效.进行调整工资处理助教 2输入有效,不调整工资处理助教 1输入有效,
47、不调整工资处理工程师输入无效17.某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25 元,讲师20 元,助 教 15元。请用判定表描述上述问题。解 答:判定表:12345教授TFFF副教授FTFF讲师FFTF助教FFFT讲座TFFFF50X30X25X20X15X软件工程分析题五、分 析 题(每 小 题15分*1=15)4.(写下每一个聚的特征)低高相合性无直接耦合数据耨合标记耀合控制耨合外部相合控制相合高模块独立性低内聚性低高 一功能内聚顺序内聚遹信内聚过程内聚时间内聚
48、逻辑内聚巧合内聚强-模块独立性功能单一-弱功能分散聚:1.巧合聚指一个模块的各处理元素之间关系松散。2.逻辑聚指一个模块完成的任务在逻辑上属于相同或相似的一类3.时间聚指一个模块包含的任务必须在同一段时间执行。4.过程聚指一个模块的处理元素是相关的,而且必须以特定的次序执行5.通信聚模块中所有元素都使用同一个输入数据和(或)产生一个输出数据6.顺序聚值一个模块的处理元素和同一个功能密切相关,而且这些处理必须顺序执行7.功能聚指模块所有处理元素属于一个整体,完成一个单一的功能耦 合:1.无直接藉合:不传递任何消息2.数据霜合:传递的是值3.标记精合:传递的数据结构4.控制耦合:传递的是控制变量5.外部相合:传递的是I/O环境6.容相合:传递的是一个模块的部数据,往往出现在汇编语言中12.需求开发过程的重要里程碑题义段问定阶用户确认I需求评审