软件工程试题及答案_1.pdf
软件工程 一、选择题 1、软件需求规格说明的内容不包括(B)A、主要功能 B、算法的详细描述 C、用户界面及运行环境 D、软件的性能 2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER 模型、应用模型 B、对象模型、动态模型、应用模型 C、ER 模型、对象模型、功能模型 D、对象模型、动态模型、功能模型 3、在 ER 模型中,包括以下基本成分(C)A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 4、各种软件维护的类型中最重要的是(A)A、完善性维护 B、纠错性维护 C、适应性维护 D、预防性维护 5、若有一个计算类型的程序,它的输入量只有一个 X,其范围是,现从输入的角度考虑一组测试用列,-2,20,设计这组测试用列的方法是(C)A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖 B、条件覆盖 C、判定覆盖 D、条件组合覆盖 7、确定测试计划是在(A)阶段制定的。A、总体设计 B、详细设计 C、编码 D、测试 8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计 B、数据通信 C、数据定义 D、数据维护 9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期 B、软件意向 C、结构化程序设计 D、面向对象分析 10、以下不属于 IT 企业当中过程管理和过程改进模型的是(D)A、ISO9001 B、CMMI C、软件企业文化 D、UML 11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A)。A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、PDL 属于(B)语言。A、高级程序设计语言 B、伪码 C、中级程序设计语言 D、低级程序设计语言 15、成功的测试是(发现至今尚未发现的错误)16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法)(B)。A、构建化方法 B、结构化方法 C、面向对象方法 D、快速原型方法 17、软件结构图的形态特征能反应程序重用率的是(C)A、深度 B、宽度 C、扇入 D、扇出 18、维护过程的本质是(D)的过程。A、修改程序 B、修改文档 C、修改位置 D、压缩的修改软件定义和开发 19、软件危机的表现:答:由于软件特点和长期以来一直没有发明一种高校的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在 20 世纪 60年代被定义为“软件危机”。它的具体表现如下:a)“已完成”的软件不满足用户的需求 b)开发进度不能保障,交付时间一拖再拖 c)软件开发成本难以精确估算,开发过程控制困难造成开发成本超出预算 d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现 e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低 软件危机:所谓软件危机,就是软件在开发和维护过程中所遇到一系列难以控制的问题。表现在研发大型软件时,软件开发的成本增大,进度延期,维护困难和质量得不到保障 20、进行需求分析可使用多种工具,但是(B)不适用。A、数据流图 B、PAD 图 C、用例图 D、数据字典 21、使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A、程序的内部逻辑 B、程序的复杂度 C、该软件的编译人员 D、程序的功能 22、原型化方法当中,不正确的描述(C)A、原型化方法适用于需求不明确的软年开发 B、在开发过程当中可以废弃不用早期构造的软件原型 C、原型化方法可以直接开发出最终产品 D、原型化方法利于确定各项系统服务的可用性 23、结构化程序思想提出之前。在程序设计中曾强调程序的效率,现在人们更重视的是程序的(D)A、技巧性 B、保密性 C、一致性 D、可理解性 24、系统测试时,将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试,(C)不是系统测试的内容。A、安装测试 B、可靠性测试 C、路径测试 D、安全测试 25、软件测试一般分为概要设计和详细设计,他们之间的关系是(A)A、全局和局部 B、抽象和具体 C、总体和层次 D、功能和结构 26、对象实现了数据和操作的结和,对象是数据和操作的(C)A、结合 B、隐藏 C、封装 D、抽象 27、软件测试可以发现软件中的(B),但不能证明软件没有错误。A、所有错误 B、错误 C、逻辑错误 D、设计错误 28、使用数据流图对工资系统进行需求分析建模,(A)可以视为外部实体。A、接受工资单的银行 B、工资系统代码 C、工资单 D、工资数据库维护*29、序言性注释的作用包括()A、程序对软硬件资源的要求 B、重要变量和参数的说明 C、嵌入程序中的 SQL D、程序开发的原作者,编程时间*30、需求分析的三大原则:必须能够表达和理解问题的数据域和功能域;必须按 自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图 软件工程的三大要素:方法、工具和过程 31、衡量软件独立性的标准:耦合性和内聚性 32、IT 行业开发的两大平台:和 J2EE 33、软件开发工作量的度量单位一般采用:人月 34、面向对象分析工具描述当中,(用例图)用于定义系统的行为,展示角色,参与者与系统执行服务之间的相互作用(要点用例图)35、二、简答题 1、面向对象的设计主要建立哪三种模型 答:功能模型、对象模型、动态模型 2、面向对象的设计步骤为 答:(1)需求分析,建立系统初步的功能模型、业务模型和数据模型(2)架构设计,建立系统完整的功能模型、业务模型和数据模型(3)详细设计,将功能模型、业务模型和界面模型中的各个部件加以实现(4)编程实现,将模型中的各个部件实现文档转化为相应代码 3、模块的内聚性可分为哪几种并简述之 答:(1)巧合内聚:一个模块内的各处理元素之间没有任何联系。(2)逻辑内聚:一个模块由几个逻辑上具有相似功能的处理元素组成,他们通过参数来决定由处理元素完成的处理功能。(3)时间内聚:把需要同时执行动作的处理元素组合在一起,形成一个模块。(4)过程内聚:如果一个模块内处理元素是相关的,而且必须按固定的次序来执行。(5)通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理元素使用相同的输入数据或产生相同的输出数据。(6)信息内聚:指一个模块内处理元素都密切相关于同一功能且必须顺序执行,前一个处理元素的输出,是下一个处理元素的输入。(7)功能内聚:这是最强的内聚,指模块内所有处理元素共同完成一个功能,缺一不可,模块已不能再分割,即模块在功能上具有原子性。4、模块的耦合性可分为哪几种并简述之 答:(1)非直接耦合:就是没有耦合。(2)数据耦合:就是参数传递耦合,它属于低级别耦合。(3)标记耦合:标记耦合指两个模块之间传递的是数据结构。(4)控制耦合:它属于中级别耦合,比如调度程序与进程之间的耦合,就是控制耦合。(5)外部耦合:属于高级别耦合 (6)公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(7)内容耦合:属于最高级别耦合,例如,一个模块利用分支或跳转技术,转入到另一个模块中去执行,就是内容耦合。5、软件的可维护性是什么 答:软件的可维护性 即维护人员理解、掌握和修改被维护软件的难易程度。6、可维护性的软件应具备哪 4 种性质 答:可理解性、可测试性、可修改性、可移植性*7、软件设计中的“三层结构”指哪三层三层结构有哪些特点 答:表示层、中间层、数据层 8、软件开发模型有几种并简述其特点 答:1)瀑布模型。简单直观,过程逆转性很差或者说不可逆转;2)增量模型。任务或功能模块驱动,可以分阶段提交产品;有多个任务单,集合构成项目的一个总任务书;3)原型模型。原型驱动,开发者必须先有一个原型,至少要有一个原型核心;4)迭代模型。迭代或迭代循环驱动,采用迭代、增量式的开发过程,采用 UML 语言描述软件开发过程,有强大的软件工具 Rational Rose 支撑;5)螺旋模型。由软件开发过程组成一个逐步细化的螺旋周期,整个模型紧密围绕开发中的风险分析,强调持续的判断、确定和修改用户的任务目标。9、软件估计的含义软件工程产品规模进行量化估计的方法有哪些 答:所谓软件估计,指对软件项目进行量化估计,并记录估计结果的过程。Delphi 法、类比法、功能点估计法、无礼估计法 10、简述 CMMI 的 5 个级别及特征。答:(1)初始级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。(2)可管理级。建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。(3)已定义级。已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。(4)量化管理级。分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。(5)。优化级。过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。三、综合题 1、储户到银行用存折取款的过程是这样的:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码等信息,并印出存单给储户,如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算计息并印出利息清单给储户。请用数据流图描绘系统的功能。解:2、有一个报表系统,要求用户输入需要处理的报表日期,假定日期范围是 2003 年 1 月到2008 年 12 月,如果用户输入的日期不在这个日期范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前四位数代表年,后二位数代表月。测试程序,请用等价类划分法设计报表日期输入条件的等价类。解:3、注:1、程序流程图(书 128 页)N-S 图、PDL、PAD 2、用例图(书 75 页)第一章 1、软件工程的定义:软件工程是研究软件开发和软件管理的一门工程学科。2、软件工程的三要素:方法,工具,过程。3、面向对象开发的两大平台:.Net 和 J2EE 4、软件开发工作中的工作量的度量单位:人月 5、软件危机:所谓软件危机,就是软件在开发和维护过程中所遇到一系列难以控制的问题。表现在研发大型软件时,软件开发的成本增大,进度延期,维护困难和质量得不到保障。第二章 4 6、软件开发的方法:结构化和面向对象 7、软件生命周期的定义:8、模型及特点(至少 5 种)第三章 9、软件立项的形式:订单式和非订单式 第四章 10、软件需求分析的三个原则:11、需求描述工具:数据字典的主要功能 12、E-R 图的基本成分及联系、属性 13、用例图的功能 14、什么是面向对象的需求分析 15、基本术语:对象,类,继承,多态,封装 16、Xx 基本成分 第五章 17、软件估计的含义 18、量化估计的方法 第六章(设计题里考)第七章 19、三层结构及优点 20、软件模块独立性两个衡量标准:21、概要设计和详细设计的联系 22、内聚性的种类和特点 23、耦合性的种类和特点 24、面向对象主要建立哪种模型及其设计步骤 第八章 25、成功的测试指的是什么 26、测试计划在哪个阶段制定 27、黑盒测试的方法及特点 28、白盒测试的覆盖的能力等 第九章 29、维护性是什么 30、可维护性的软件具备哪些性质 31、软件维护的类型及特点 32、“续延性”第十章 33、过程管理的三种模型 34、CMMI 五个级别及特征 设计题 1 数据流图的画法 2 等价类的划分 3 决策表的设计 4 用例的描述 5 Pdl 语言程序流程图伪代码来描述 xxx