1、2013 年 10 月全国自考(软件工程)真题试卷及答案与解析一、单项选择题1 20 世纪 80 年代以来,软件工程的主要特征可概括为 ( )(A)主要研究系统实现技术(B)关注软件质量和软件工程管理(C)开发了若干过程式语言(D)以软件复用技术为基础开展一系列软件生产技术2 根据软件需求分类,下列选项中不属于设计约束的是 ( )(A)通信接口(B)法规政策(C)审计功能(D)握手协议3 一个模块直接修改另一个模块的内部数据,这样的耦合被称为 ( )(A)内容耦合(B)控制耦合(C)公共耦合(D)数据耦合4 几种常见的内聚类型中,最理想的内聚是 ( )(A)逻辑内聚(B)顺序内聚(C)功能内聚
2、(D)过程内聚5 对软件结构宽度影响最大的因素是模块的 ( )(A)扇入(B)扇出(C)深度(D)控制域6 下列工具中,常用在需求分析阶段的是 ( )(A)HIPO 图(B) N-S 图(C) PAD 图(D)DFD 图7 UML 表达关系的术语中,聚合是一种特殊的 ( )(A)关联(B)依赖(C)泛化(D)细化8 UML 用来表达系统功能模型的图形化工具是 ( )(A)用况图(B)状态图(C)类图(D)顺序图9 根据 RUP 实现活动,输入为设计类、接口,活动为实现类,则输出为 ( )(A)用况(B)构件(C)接口(D)子系统10 白盒测试技术依据的是 ( )(A)程序的逻辑结构(B)程序的
3、物理结构(C)软件行为的描述(D)软件功能的描述11 从测试完成程度来看,下列选项中测试覆盖率最低的是 ( )(A)分支覆盖(B)语句覆盖(C)路径覆盖(D)条件组合覆盖12 对一个软件工程来说,占总工作量百分比重最大的工作是 ( )(A)系统分析(B)软件设计(C)编码工作(D)软件测试13 软件开发的增量模型是一种(A)适用于需求被清晰定义的项目(B)快速构造产品第一版本的好方法(C)适合于大型团队迭代开发的模式(D)支持面向对象技术的创新模型14 相对于螺旋模型,瀑布模型缺少(A)制定计划(B)客户评估(C)实施工程(D)风险分析15 CMMI 能力等级中的第三级为 ( )(A)已执行级
4、(B)已管理级(C)已定义级(D)已定量管理级二、填空题16 计算机软件一般是指计算机系统中的程序及其_。17 如何实现不同抽象层术语和处理逻辑之间的映射,涉及到两方面的内容:一是过程方向,二是_,后者即求解软件的开发手段。18 需求发现的常用技术中,需求人员把自己作为系统的最终用户的是_。19 数据流的归宿地是_。20 结构化设计的主要任务是在_的基础上,确定_的问题。21 UML 图形化工具分为两类:_和 _,前者用于表达系统或系统成分的静态结构模型。22 在 UML 提供的图形化工具中,用于创建有关系统交互模型的是_。23 RUP 利用 UML 提供的术语和工具定义了需求获取层、_、设计
5、层和实现层,并给出了实现各层模型之间映射的基本活动以及相关指导。24 RUP 采用_技术来获取需求。25 黑盒测试技术完全不考虑程序的_,它依据的是_。26 提高模块的内聚程度,可简化_测试。27 集成测试是软件组装的一个系统化技术,其目标是发现与_有关的错误,一般以_作为测试驱动模块。28 在标准ISOIEC 软件生存周期过程 122071995中,按过程主体把软件生存周期过程分为_、支持过程和组织过程。29 CMMI 模型基于过程途径思想,通过过程把软件质量的 3 个支撑点:受训人员、_、_进行集成,以开发所期望的系统/产品。30 CMMI 有 6 个共用目标,用于表征过程制度化的程度。目
6、标编号越小,说明该过程的制度化程度就越_。三、简答题31 简述初始需求发现的常用技术。32 什么是模块的控制域?什么是模块的作用域? 并对比分析题 32 图中 3 个模块结构图的优劣。 说明:图中的矩形(无底纹)块代表判定所在的位置,灰色的模块为受该判定影响的模块。33 什么是用况(Use Case)?什么是用况图?一个用况图通常包含哪些模型元素 ?34 简述演化模型,及其与 RUP 迭代、增量式开发之间的关系。35 简述白盒测试技术的要点。36 简述螺旋模型以及可适应的情况。四、综合应用题37 某论坛发帖子系统有如下几个需求。(1)记录帖子内容:系统对访客的输入内容进行检查,无非法内容,则将
7、内容存入发帖内容文件中,否则提示内容非法。(2)显示帖子内容:从发帖内容文件中读出帖子内容,按一定格式显示在屏幕上。请根据要求:画出该子系统的数据流图;将其转换为软件结构图。38 若有一个程序:输入 3 个整数 ABC,把这 3 个数看作是一个三角形的 3 条边。这个程序要输出信息,来说明这个三角形的几种情况:是三边不等的、是等腰的、还是等边的。请根据给出的说明,用等价类划分法完成题 38 表,并给每个等价类规定唯一的编号。在“ 答题纸 ”上列表作答。2013 年 10 月全国自考(软件工程)真题试卷答案与解析一、单项选择题1 【正确答案】 D【试题解析】 20 世纪 80 年代中到 90 年
8、代,软件工程研究的重点转移到面向对象的分析和设计,从而演化成一种完整的软件开发方法和系统的技术体系。2 【正确答案】 A【试题解析】 设计约束包括与其他应用的接口,但不包括通信接口,通信接口属于外部接口需求。3 【正确答案】 A【试题解析】 当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。如果发生下列情形,两个模块之间就发生了内容耦合。4 【正确答案】 C【试题解析】 功能内聚:最理想的内聚,模块的所有成分对于完成单一的功能都是基本的。功能内聚的模块对完成其功能而言是充分必要的。5 【正确答案】 B【试题解析】 宽
9、度越大系统越复杂,而对宽度影响最大的因素是模块的扇出。6 【正确答案】 D【试题解析】 需求分析阶段用的工具有:数据流图(DFD 图)、数据字典、判定树、判定表。7 【正确答案】 A【试题解析】 聚合(aggregation) 关系:关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即 has 一 a 的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。8 【正确答案】 A【试题解析】 用况图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。9 【正确答案】 B【试
10、题解析】 在 RUP 实现活动中,若输入是设计类,活动时实现类则输出是构件。10 【正确答案】 A【试题解析】 白盒测试技术依据的是程序的逻辑结构。11 【正确答案】 B【试题解析】 语句覆盖是指选择足够的测试用例,使运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误,对程序的逻辑覆盖很少。语句覆盖只关心判定表达式的值,而没有分别测试判定表达式中每个条件取不同值时的情况。12 【正确答案】 A【试题解析】 系统分析所占工作量最大。13 【正确答案】 B【试题解析】 在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互
11、作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。14 【正确答案】 D【试题解析】 相对于螺旋模型,瀑布模型缺少风险分析。瀑布模型是基于质量的,而螺旋模型是风险驱动的。15 【正确答案】 C【试题解析】 CMMI 全称是 Capability Maturity Model Integration,即软件能力成熟度模型集成(也有称为:软件能力成熟度集成模型)。第三级属于定义级。二、填空题16 【正确答案】 文档【试题解析】 计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程
12、序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。17 【正确答案】 过程途径【试题解析】 如何实现不同抽象层术语和处理逻辑之间的映射,涉及到两方面的内容,分别是过程方向和过程途径。18 【正确答案】 自悟【试题解析】 自悟(Introspection) 。需求人员把自己作为系统的最终用户,审视该系统并提出问题:“如果是我使用这一系统,则我需要”。19 【正确答案】 数据潭【试题解析】 数据源是数据流的起点;数据潭是数据流的归宿地。20 【正确答案】 需求分析满足需求所需要的结构【试题解析】 结构化设计的主要任务是在需求分析的基础上,定义满足需求所需
13、要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题。21 【正确答案】 结构图行为图【试题解析】 结构图(表达静态结构)和行为图(表达动态结构)。22 【正确答案】 顺序图【试题解析】 顺序图是一种交互图,可用于创建有关系统的交互模型,表达系统中有关对象之间的交互结构,给出系统中一些对象如何协作的信息。23 【正确答案】 系统分析层【试题解析】 RUP 和 UML 构成了一种特定的软件开发方法学。其中 UML 作为一种可视化建模语言,给出了表达事物和事物之间关系的基本术语,而 RUP 利用这些术语定义了需求获取层、系统分析层、设计层、实现层。24 【正确答案】 用户的使
14、用场景【试题解析】 RUP 是一种通过用户的使用场景获得需求的技术。25 【正确答案】 程序内部结构软件行为描述【试题解析】 黑盒测试技术完全不考虑程序的程序内部结构,它依据的是软件行为描述。26 【正确答案】 单元测试【试题解析】 单元测试的对象是软件设计的最小单位模块。单元测试的依据是详细描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。提高模块的内聚程度,可简化单元测试。27 【正确答案】 接口主控模块【试题解析】 集成测试是软件组装的一个系统化技术,其目标是发现与接口有关的错误,集成测试是以主控
15、模块为测试驱动模块,设计承接模块替代其直接的下属模块,依据所选取的测试方式,在组合模块时进行测试。28 【正确答案】 基本过程【试题解析】 按过程主体把软件生存周期过程分为基本过程、支持过程和组织过程。29 【正确答案】 规程和方法工具和设备进行集成【试题解析】 CMMI 通过过程把软件质量的 3 个支撑点受训的人员、规程和方法、工具和设备进行集成,以开发所期望的系统/产品。30 【正确答案】 高【试题解析】 在 CMMI 中的共用编号越大,说明该过程的制度化程度就越高。三、简答题31 【正确答案】 有 5 种常用的需求发现技术:自悟、交谈、观察、小组会和提炼32 【正确答案】 模块的作用域是
16、指模块中判定的作用范围,它是指所有受这个判定影响的模块。如果模块中含有受判定影响的操作,则该模块在这个判定的作用范围之中。如果模块执行与否取决于判定的结果,则该模块及其直接或间接调用的模块均在这个判定的作用范围之中。模块的控制域是指模块本身及其直接或间接调用的模块。如果模块的作用域不在控制域之内,则会增加模块间数据的传递量,使模块间出现控制耦合。一个设计好的系统中,所有受判定影响的模块应该都从属于作出判定的那个模块,即在该模块的控制域之内。所以 3 个模块中,C 的设计是最好的,受影响的模块都在控制域中,A 次之,B 最差。33 【正确答案】 用况是对一组动作序列(其中包括它的变体)的描述,系
17、统执行该动作为执行此动作的参与者产生一个可观察的结果值。用况图是一幅由参与者、用况以及这些元素之间的关系组成的图。这些关系是参与者和用况之间的关联、参与者之间的继承,以及用况之间的包含、扩展和继承。根据需要,用况图也可以有注释。用况图中的元素包括:参与者、用例、一个方框和一些表示关系的连接线,所有的用例都位于方框之内,该方框称为“系统边界” 。方框内是棋牌管理系统的多个用例,方框外是外部参与者。34 【正确答案】 RUP 迭代、增量式开发是演化模型的一个变体,即规定了“ 大的”迭代数量的 4 个阶段,并规定了每次迭代的目标初始阶段:获得与特定和平台无关的系统体系结构轮廓,以此建立产品功能范围;
18、编制实例业务实例,从业务角度指出该项目的价值,减少项目主要的错误风险精华阶段:通过捕获并描述系统的大部分需求,建立系统体系结构基线的第一个版本,主要包括用况模型和分析模型,减少次要的错误风险,到该阶段末,就能够估算成本、进步,并能详细地规划构造阶段。构造阶段:通过演化,形成最终的系统体系结构基线,开发完整的系统,确保产品可以开始向客户交付,即具有初始操作能力。35 【正确答案】 白盒测试技术依据程序的逻辑结构,以控制流程图作为被测对象建模工具,其中涉及过程块、分支、节点、链以及路径,并针对测试,给出了 4 种覆盖策略:语名覆盖、分支覆盖、条件组合覆盖和路径覆盖,它们之间具有偏序关系,并且可根据
19、项目需求给出其他覆盖策略。36 【正确答案】 螺旋模型是在瀑布模型与深化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最佳方案,遵循动作步骤并实施后续工作,突出特征,在开发的迭代中实际上只有一个迭代过程真正开发了可交付的软件。螺旋模型强调风险分析,使开发人员和用户对每个演化层出现的风险有所了解,继而作出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。四、综合应用题37 【正确答案】 数据流图: 软件结构图:【试题解析】 数据流图:反应数据走向,它不考虑时序关系,主要用于业务分析,用作详细设计。途中的
20、有向线段表示了数据流。系统结构图:反应的是系统中模块的调用关系和层次关系,谁调用谁有一个先后次序关系。途中的有向线段表示调用时程序的控制从调用模块一道被调用模块,并隐含了当调用结束时控制将交回给调用模块。数据流图有两种典型的结构:变换型结构和事务型结构,对这两种结构,可以分别通过变换分析和事务分析方法导出标准形式的结构图。采用这些方法时,都是先设计结构图的顶端主模块,然后自顶向下逐步细化,最后得到满足数据流图要求的系统结构。变换分析过程可以分为三步:(1)找出系统的逻辑输入、主加工和逻辑输出。系统的逻辑输入是“发帖内容”,主加工是“系统检查”,逻辑输出是 “发帖内容文件、屏幕输出”和“提示非法
21、输入”。(2)设计顶层模块和第一层模块。系统的主加工就是系统的顶层模块,其功能就是整个系统的功能“系统检查”。第一层模块按照输入、变换、输出等分支来处理,并起一个合适的模块名。第一层模块与顶层模块传递的数据应该同数据流图相对应。(3)设计中、下层模块。对输入、变换、输出模块逐个分解,便可以得到系统结构图。38 【正确答案】 【试题解析】 分析题目中给出和隐含的对输入条件的要求:(1)整数;(2)三个数;(3)非零数;(4)正数;(5)两边之和大于第三边;(6)等腰;(7) 等边。如果 a、b、c 满足条件(1)一(4) ,则输出下列四种情况之一:如果不满足条件(5) ,则程序输出为“非三角形”。如果三条边相等即满足条件(7) ,则程序输出为“等边三角形”。如果只有两条边相等、即满足条件(6) ,则程序输出为“等腰三角形”。如果三条边都不相等,则程序输出为“一般三角形 ”。