您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程学复习与思考
一、选择题1、软件是一种(C)A、程序B、数据C、逻辑产品D、物理产品2、可行性研究要进行一次(D)需求分析。A、深入的B、详尽的C、彻底的D、简化和压缩了的3、瀑布模型本质上是一种(A)A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型4、需求分析最终结果是产生(B)A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告5.开发软件所需的高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生6.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性7.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析8.下列模型属于成本估算方法的有(A)A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法9.盒图也称为(D)或Chapin图.这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题.A.流程图B.框图C.判定表D.N-S图10.快速原型模型的主要特点之一是(D)A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件11.需求分析的任务不包括(B)A.问题分析B.系统设计C.需求描述D.需求评审.12.软件详细设计的主要任务是确定每个模块的(A)A、算法和使用的数据结构B、外部接口C、功能D、编程13.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括(D)A.设计软件的模块结构B.定义接口并建立数据结构C.生成概要设计规格说明和组装测试计划D.模块设计14.判定表由四部分组成:左上部列出(B)A、条件组合与动作之间的对应关系B、所有条件C、所有可能的动作D、可能的条件组合15.当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系A.判定表和判定树B.盒图C.流程图D.关系图16.软件结构图的形态特征中能反映程序重用率的是(C)A、深度B、宽度C、扇入D、扇出17.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)A、调用关系B、组成关系C、链接关系D、顺序执行关系18.在大型数据处理系统的功能分析与设计中,数据库的概念设计对应于系统开发的(A)A、需求分析B、概要设计C、详细设计D、程序设计19.为了提高模块的独立性,模块内部最好是(C)A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚20.中级结构性成本模型COCOMO是一个(C)A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型21.在McCall软件质量度量模型中,(A)属于面向软件产品操作的质量因素。A、可用性B、可维护性C、适应性D、互操作性22.面向对象的开发方法中,(C)将是面向对象技术领域内占主导地位的标准建模语言。A、Booch方法B、Coad方法C、UML语言D、OMT方法23.模块的内聚性最高的是(D)A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚24.软件详细设计主要采用的方法是(D)A.模块设计B.结构化设计C.PDL语言D.结构化程序设计25.下列关于JSP方法不正确的说法是(D)A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构,因此它只适用于详细设计阶段26.汽车有一个发动机。汽车和发动机之间的关系是(B)关系。A、一般-具体B.整体-部分C.分类D.主从27.程序设计语言的工程特性之一为(A)A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性28.统计表明:软件测试工作往往占软件开发总工作量的(B)%以上。A.20B.40C.60D.8029.单元测试的测试对象是(B)A.系统B.程序模块C.模块接口D.系统功能30.为了提高测试的效率,应该(D)A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据31.黑盒测试在设计测试用例时,主要需要研究(A)A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明32.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法33.用黑盒技术设计测试用例的方法之一为(A)A、因果图B、逻辑覆盖C、循环覆盖D、基本路径测试34.软件测试方法中的(D)属于静态测试方法。A、黑盒法B、路径覆盖C、错误推测D、人工检测35.下列属于维护阶段的文档是(C)A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告36.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)A.纠正性维护B.适应性维护C.完善性维护D.预防性维护37.类库这种机制是(D)级别的信息共享。A.同一类B.不同类C.同一应用D.不同应用38.面向对象的开发方法中,(C)将是面向对象技术领域内占主导地位的标准建模语言。A.Booch方法B.Coad方法C.UML语言D.OMT方法39.软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性称为(B)A.可用性B.可靠性C.正确性D.完整性40.下列文档与维护人员有关的有(C)A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册41.采用Gantt图表示软件项目进度安排,下列说法中正确的是(D)A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系42.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构.A.程序B.数据C.逻辑D.物理43.以下不属于白盒测试技术的是(D)A.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分44.为改正软件系统中潜藏的错误而进行的维护活动称为(A)A.纠错性维护B.适应性维护C.改善性维护D.预防性维护45.一个软件的宽度是指其控制的(C)A.模块数B.层数C.跨度D.厚度46.以下不属于逻辑覆盖的是(D)A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径47.从事物的组成部件及每个部件的属性、功能来认识事物.这种方法被称为(A)的方法A.面向对象B.面向数据C.面向过程D.面向属性48.软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即(A)A.软件B.硬件C.文本D.说明49.维护工作量的估算模型为:M=P+Ke(c-d)其中:M代表(A)A.维护所用工作量B.生产性工作量C.助动性工作量D.经验常数50.只有单重继承的类层次结构是(C)结构。A、网状型B、星型C、树型D、环型51.软件可维护性的特性中相互矛盾的是(C)A、可修改性和可理解性B、可测试性和可理解性C、效率和可修改性D、可理解性和可读性52.软件维护产生的副作用是指(C)A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作53.维护的副作用可分三类,不包括(D)A.代码副作用B.数据副作用C.文档副作用D.人员副作用二、判断题1、缺乏有力的方法学指导和有效的开发工具支持,这往往是产生软件危机的原因之一。2、面向数据结构的设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和循环三种基本形式表示数据结构等步骤。3、数据输入的一般准则中包括尽量增加用户输入的动作。4.数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致、允许用户定做输入格式等内容。5、用穷举测试是较现实的测试方法。6、McCabe建议模块规模应满足:V(G)≤20。7、面向数据的设计方法的适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统、系统软件(如操作系统)等。8、缺乏处理大型软件项目的经验是产生软件危机的唯一原因。9、用穷举测试是较现实的测试方法。10、测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。11、面向对象的的方法是以类作为最基本的元素,它是分析问题、解决问题的核心。12、继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。13、多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。14、活动图显示动作及其结果,着重描述操作实现中所完成的工作以及用例实例或类中的活动。15、用例模型的基本组成部件是用例、角色和用例之间的联系。16、用例之间有扩展、使用、组合等几种关系。三、名词解释1、软件工程2、数据字典3、软件复用4、SA5、JSP方法6、信息隐蔽7、集成测试8、多态性9、UML四、简答题1、简述软件工程的目标和面临的主要问题。软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高;面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。2、软件产品具有哪些特性?①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。)②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。3、软件生命周期可分为哪三个时期?GB8567中规定可分为哪几个阶段?定义时期:问题的定义(客户需求)、可行性研究(为什么做);开发时期:需求分析、总体设计、详细设计、编码、测试;运行时期:软件维护。4、简述如何检查数据流图的正确性和提高它的易理解性?可从以下几个角度来检查数据流图的正确性:数据守恒、文件的使用、父图和子图的平衡等;(3分)提高数据流图的易理解性可从以下几方面进行:简化加工间的联系、注意分解的均匀、适当地命名等。5、简述文档在软件工程中的作用。(1)提高软件开发过程的能见度;(2)提高开发效率;(3)作为开发人员阶段工作成果和结束标志;(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。6、衡量模块独立性的两个标准是什么?它们各表示什么含义?两个定性的度量标准:耦合与内聚。耦合性也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量,模块之间联系越紧密,其耦合性就越强;内聚性也称块内联系,指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度,模块内元素联系越紧密,内聚性越高。7、详细设计的基本任务是什么?有哪几种描述方法?设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评申。程序流程图、PAD图、PDL等。8、简述结构化程序设计方法的基本要点。(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环。(3)采用主程序员组的组织形式。9、简述提高可维护性的方法。(1)建立明确的软件质量目标和质量保证工作;(2)利用先进的软件开发技术和工具;(3)选择可维护的程序设计语言;(4)改进程序文档。10.为什么软件测试不应该由程序的编写人员来做?软件测试的目的是为了发现程序中的错误而执行程序的过程。正确认识测试的目标十分重
本文标题:软件工程学复习与思考
链接地址:https://www.777doc.com/doc-8641876 .html