2010年软件设计师考试复习资料 (42页完美打印版)
?
非直接耦合(无耦合) 模块间无任何关系,独立工作
原则上讲,模块化设计总是希望模块之间的耦合表现为非直接耦合方式。 在以上耦合中,耦合度从高到低,内容耦合度最高,非直接耦合度最低。
总结:内公不好,家外被控了,标志数年心血白非了!(内功不好,家外被控了,标志数年心血白费了!) 2005年5月
● 下列叙述中,与提高软件可移植性相关的是___(18)____ (18) A.选择时间效率高的算法 B.尽可能减少注释
C.选择空间效率高的算法 D.尽量用高级语言编写系统中对效率要求不高的部分
● 在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为___(19)____;在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为_____(20)_____。
(19)A.直接转换 B.位置转换 C.分段转换 D.并行转换(20)A.直接转换 B.位置转换 C.分段转换 D.并行转换 ● 在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 (6)。 (6)A. 原型法 B. 瀑布模型 C. V-模型 D. 螺旋模型 ● 应该在(7)阶段制定系统测试计划。
(7)A. 需求分析 B. 概要设计 C. 详细设计 D. 系统测试
解析:需求分析中的文档
? 需求规格说明书 ? 初步用户使用手册 ? 确认测试的测试计划 ? 修改完善的软件开发计划 ? 系统测试计划文档
● 软件开发中的瀑布模型典型的刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是__(9)__。 (9)A.构件化方法 B.结构化方法 C.面向对象方法 D.快速原型法 ● 渐增式开发方法有利于___(4)___。
(4)A. 获取软件需求 B. 快速开发软件 C. 大型团队开发 D.商业软件开发
● 在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt 图的描述中,不正确的是___(5)___。 (5)A. Gantt 图表现了各个活动的持续时间 B. Gantt 图表现了各个活动的起始时间 C. Gantt 图反映了各个活动之间的依赖关系D. Gantt 图表现了完成各个活动的进度 解析:
● 使用LOC (lines of code)度量软件规模的优点是___(9)___。
共42页 第36页
2010年软件设计师考试复习资料 (42页完美打印版)
(9)A. 容易计算 B. 与使用的编程语言相关 C. 与使用的开发模型有关 D. 在设计之前就可以计算出LOC 2006年11月:
●常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中(5)模型适用于需求明确或很少变更的项目,(6)主要用来描述面向对象的软件开发过程。
(5) A瀑布模型 B.演化模型 C.螺旋模型 D.喷泉模型 (6)A.瀑布模型 B.演化模型 C.螺旋模型 D.喷泉模型
●软件能力成熟度模型(CMM)是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。该模型将软件能力成熟度自低到高依次划分为初始级、可重复级、已定义级、已管理级、优化级。从(17)开始,要求企业建立基本的项目管理过程的政策和管理规程,使项目管理过程有章可循。
(17)A.初始级 B. 可重复级 C. 已定义级 D. 已管理级 解析:
软件过程的评估,通常采用软件能力成熟度模型(Capability Maturity Model,CMM)。 CMM1.1的5个等级(由低级到高级):
? ? ?
初始级 可重复级 已定义级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式(消防式)的。 建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。 已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准化软件过程。所有项目均使用经标准、裁减的标准软件过程来开发和维护软件。
? ?
已管理级 优化级
收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制。
加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能持续不断地改进。巧记:初级程序员,可重复写程序,现已定义了管理策略来优化程序设计!
●软件项目开发成本的估算依据,通常是开发成本估算模型,常用的模型有: ① IBM模型②Putnam模型③基本COCOMO模型④中级COCOMO模型⑤高级OCOMO模型 其中(18)都是静态单变量模型。
(18)A.①② B. ②④⑤ C. ①③ D. ③④⑤ 解析:
IBM模型估算法:
该模型是Watson和Felix在1977年发布的,是基于IBM联合系统分布负责的60个项目的总结而得到的模型。该模型是一个静态单变量模型,而参考数据只有60多个项目,因此有很大的局限性。 Putnam模型和COCOMO模型:
Putnam模型和COCOMO模型是常用的成本估算模型。 ? ?
Putnam模型:是一种动态多变量模型,它是假设在软件开发的整个生存期中工作量的分布。 COCOMO模型:是结构性成本模型,是最精确、最易于使用的成本估算模型之一。该模型可以分为:
(1)基本COCOMO模型,是一个静态单变量模 型,它是对整个软件系统进行估算。
(2)中级COCOMO模型,是一个静态多变量模型。它将软件系统模型分为系统和部件两个层次,系统由部件构成,它把软件开发所需人
力(成本)看作是程序大小和一系列“成本驱动属性”的函数。
(3)详细COCOMO模型,它将软件系统模型分为系统、子系统和模块3个层次,它除包括中级模型所考虑的因素外,还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响。 ?
过程(UP)的基本特征是“用例驱动,以架构
为中心的和受控的迭代式增量开发”。UP将一个周期的开发过程化分为4个阶段,其中 (26) 提交结果包含了系统架构。 (26)A.先启阶段 B.精化阶段 C.构建阶段 D.提交阶段 解析:
共42页 第37页
2010年软件设计师考试复习资料 (42页完美打印版)
先启(Inception):确定项目开发的目标和范围 精化(Elaboration):确定系统架构和明确需求 构建(Construction):实现剩余的系统功能
产品化(Transition):完成软件的产品化工作,将系统移交给客户
●某软件在运行初期运行在Windows NT环境中,现因某种原因,该软件需要在UNIX环境中运行,而且必须完成同样的功能。为适应这个要求,软件本身需要进行修改,而所需的工作量取决于该软件的(27) (27)A.可扩充性 B.可靠性 C.复用性 D.可移植性
●按照ISO/IEC 9126软件质量度量模型定义,一个软件可靠性的子特性包括(28): (28)A.容错性和安全性 B.容错性和适应性 C.容错性和易恢复性 D.易恢复性和安全性 解析:
ISO/IEC 9126软件质量模型可从软件功能性、可靠性、可用性、效率、可维护性、可移植性6个方面来衡量。 (1).功能性
与功能及其指定的性质的一组软件属性。 (2)可靠性
软件在规定的一段时间内和规定的条件下保持其性能水平有关的一组软件属性。也可以称为在规定的条件下和规定的时间间隔内,(3)可用性
与使用的难易程度及规定或隐含用户对使用 (4)效率
与在规定条件的性能水平与所用资源量之间的关系有关的一组软件属性。 (5)可维护性
与软件维护的难易程序有关的一组软件属性。 (6)可移植性
软件可从某一环境转移到另一环境的能力有关的一组属性。即软件从一个计算机系统转换到另一个计算机系统运行的难易程度是指方式所做的评价有关的软件属性。 软件实现其规定功能的概率。
软件的可移植性。
巧记:功能方面,可靠、可用;效率方面,可维护、可移植
●(29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。
(29)A.概要设计说明书 B.详细设计说明书 C.用户手册 D.用户需求说明书 ●各类软件维护活动中,(30)维护占整个维护工作的比重最大。 (30) A.完善性 B.改正性 C.适应性 D.预防性 ●给出C语言程序:
共42页 第38页
2010年软件设计师考试复习资料 (42页完美打印版)
?
当用路径覆盖法测试时,至少需要设计(31)个测试用例。
(31) A.3 B. 4 C. 5 D. 8
●软件的测试通常分为单元测试、组装测试、确认测试、系统测试四个阶段进行。(32)属于确认测试阶段的活动。 (32)A.设计评审 B.代码审查 C.结构测试 D.可靠性测试 2007年5月
●结构化开发方法中,数据流图是 (15) 阶段产生的结果(2)。 (15) A.需求分析 B.总体设计 C.详细设计 D.程序编码 ●CVS是一种 (16) 工具.
(16) A.需求分析 B.编译 C.程序编码 D.版本控制 ●以下关于原型化开发方法的叙述中,不正确的是 (17) (2).
(17) A.原型化方法适应于需求不明确的软件开发 B.在开发过程中,可以废弃不用早期构造的软件原型
C.原型化方法可以直接开发出最终产品 D.原型化方法利用于确认各项系统服务的可用性 ●通常在软件的(18)活动中无需用户参与. (18)A.需求分析 B.维护 C.编码 D.测试
●进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是 (19) 活动中需要考虑的问题. (19) A.风险识别 B.风险预测 C.风险评估 D.风险控制
●统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代中主要的工程流包括捕获需求,分析,设计,实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过(29)得到的。 (29)A捕获需求 B分析 C设计 D实现
●序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示,名称和版本号,程序功能描述,接口于界面描述,输入,输出数据说明,开发历史,与运算环境有关的信息等。下列叙述中不属于序言性注释的是 30 。
A.程序对硬件,软件资源的要求B.重要变量和参数设计C.嵌入在程序中的SQL语句 D.程序开发的原作者,审查者,修改者,编程日期等。 ●软件(32)的提高,有利于软件可靠性的提高。
(32)A.存储效率 B.执行效率 C.容错性 D.可移植性 ●LOC是软件规模的一种量度,它表示 34
(34)A.软件功能数 B.源代码行数 C.每单位成本数 D.工作量 2007年下半年: ●阅读下列流程图
共42页 第39页
2010年软件设计师考试复习资料 (42页完美打印版)
●当用判定覆盖法进行测试时,至少需要设计 35 个测试用例 (35)A.2 B.4 C.6 D.8
●在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是 37 (37)A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类
C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类
● 在软件开发中, (29) 不能用来描述项目开发的进度安排。在其他三种图中,可用 (30) 动态地反映项目开发进展情况。
(29)A. 甘特图 B. PERT图 C. PERT/CPM图 D. 鱼骨图(30)A. 甘特图 B. PERT图 C. PERT/CPM图 D. 鱼骨图 ● 选择软件开发工具时,应考虑功能、 (31) 、稳健性、硬件要求和性能、服务和支持。
(31)A. 易用性
B. 易维护性
C. 可移植性
D. 可扩充性
● 内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求 (32) 。
(32)A. 高内聚,高耦合 B. 高内聚,低耦合 C. 低内聚,高耦合 D. 低内聚,低耦合 ● 对于如下的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计(34)个测试案例。
输入X和Y否Y = Y + XX > 0是Y = Y - X否Y > 0是X = -1X = 1
(34)A. 1 (36) 。
(35)A. 单元测试 B. 集成测试 C. 确认测试 D. 系统测试(36)A. 单元测试 B. 集成测试 C. 确认测试 D. 系统测试 2008年上半年:
●(15) 是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
(4)A . 结构化开发方法 B.Jackson 系统开发方法 C. Booch方法 D.UML(统一建模语言)
●某项目制定的开发计划中定义了3个任务,其中任务A首先开始,且需要3周完成,任务B必须在任务A启动1周后开始,且需要2周完成,任务C必须在任务A完成后开始,且需要2周完成。该项目的进度安排可用下面的甘特图(17)来描述。 (17)
B. 2
C. 3
D. 4
● 为验证程序模块A是否正确实现了规定的功能,需要进行 (35) ;为验证模块A能否与其他模块按照规定方式正确工作,需要进行
共42页 第40页