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