因果关系矩阵矩阵与下面哪个工具没有联系

第1页/共3页
六西格玛辅导公司工具之因果矩阵分析流程及小案例分析六西格玛因果矩阵是寻找影响主要过程输出变量的主要输入变量的方法。
一、因果矩阵分析流程为:
1、确定主要过程输出变量。
2、确定主要过程输出变量的重要度。按从重要到不重要排10-1级、
3、列出过程步骤(工序)。
4、针对每个主要过程输出变量,在过程的每个工序确认对该输出有影响的输入变量。
5、确定输入变量和输出变量之间的相关程度,由相关程度大小排10-0级。
6、计算每个工序输入变量的总分。
7、根据总分确定输入变量的优先级别(得分最高的几个输入变量可能为关键输入变量) 。
8、对关键输入变量影响的真实性做以验证。
二、因果矩阵小案例分析
例某公司来料加工PCBA ,为了确认对输出存在主要影响的过程输入变量,该公司决定对生产过程进行因果分析。因为缺陷有几种,所以用因果图分析效率较低,该公司改善小组最终确定用因果矩阵分析法来分析。
1、确定过程主要输出变量。
小组经过脑力激荡,结合目前的过程缺陷,得出PCBA 加工过程主要输出如图1所示
图1 主要输出
2、确定过程主要输出变量的重要度,如下表:
第1页/共3页
寻找更多 ""六西格玛之因果矩阵图(ppt 37页)_六西格玛管理_精品资料网
您现在的位置:&&>>&&>>&&>>&资料信息
六西格玛之因果矩阵图(ppt 37页)
所属分类:
文件大小:
下载地址:
相关资料:
六西格玛之因果矩阵图(ppt&37页)内容简介
之因果矩阵图内容提要:&Cause and Effects Matrix因果矩阵:此为简易的Qualy Function Deployment()质量功能展开矩阵,强调了解客户需求的重要性以图为主要依据,使主要输入和输出(顾客需求)相关联依据对客户的重要性来评价(打分)主要输出根据与输出之间的关系来评价(打分)主要输入&Cause and Effects Matrix输出C&E输出可以在及control plans作更深入的C&E输出可以作为Measurement Phase中能力的输入C&E输出可以作为control Plan 初步评估的输入Cause & Effects Matrix步骤:1. 从图确认关键的顾客需求(输出)2. 对每项输出排序并指定重要权数(1到10等级)3. 从流程图确认所有步骤和输入4. 评估评估每个输入与每个输出之间的相关系数5. 将输出 与输入之间的相关系数与其重要性权数之乘积相加..............................
六西格玛之因果矩阵图(ppt&37页)简介结束,下载后阅读全部内容皇马线上娱乐
当前位置: >>
软件工程概论的练习题及答案
概述一、填空题 1、软件由计算机程序、数据和文档组成。 2、软件是一种逻辑产品,它与物质产品有很大的区别。 3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。 4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。 5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产 方式是工程化。
6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。 7、 计算机科学的成果都可用于软件工程, 但计算机科学着重于理论和原理, 软件工程着重于建造软件系统。 8、软件工程研究的主要内容是方法、过程和工具等三个方面。 9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。 10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了各阶段的活动 由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 11、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用户并征求意见, 然后逐步完善,最终获得满意的产品。 12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、 开发实施、用户评估。 13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和无间隙性,适 用于面向对象开发方法。 二、单项选择题 1、软件产品的生产主要是 C。 A. 制造 B. 复制 C. 开发 D. 研制 2、个体手工劳动是 B 时代的软件生产方式。 A. 程序系统 B. 程序设计 C. 软件工程 D. 程序编码 3、软件工程是一门 C 学科。 A. 理论性 B. 原理性 C. 工程性 D. 心理性 4、软件开发费用只占软件生存期全部费用的 B。 A. 1/2 B. 1/3 C. 1/4 D. 2/3 5、在软件开发过程中大约要花费 C%的工作量进行测试和调试。 A. 20 B. 30 C. 40 D. 50 6、准确地解决“软件系统必须做什么”是 B 阶段的任务。 A. 可行性研究 B. 需求分析 C. 软件设计 D. 程序编码 7、软件生存期中时间最长的是 D 阶段。 A. 需求分析 B. 软件设计 C. 软件测试 D. 软件运行/维护 8、在软件生存期的模型中,D 适合于大型软件的开发它吸收了软件工程中“演化”的概念。 A .喷泉模型 B. 基于知识的模型 C. 瀑布模型 D. 螺旋模型 9、在软件生存期中,用户的参与主要在 A。 A. 软件定义阶段 B. 软件开发阶段 C. 软件维护阶段 D. 整个软件生存期过程中 10、在软件开发过程中的每个阶段都要进行严格的 D,以尽早发现在软件开发过程中产生的错误。 A. 检验 B. 验证 C. 度量 D. 评审 11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的 B A. 产品检验 B. 产品控制 C. 产品标准化 D. 开发规范 12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的 D。 A. 可靠性 B. 可使用性 C. 安全性 D. 可维护性 13、为了提高软件开发过程的 A,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开 发组织的责任和产品标准。 A. 可见性 B. 生产率 C. 安全性 D. 有效性 14、随着开发小组人数的 A,因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。 A. 增加 B. 降低 C. 稳定 D. 不稳定 15、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程 C。 A. 原则 B. 工具 C. 过程 D. 方法 三、选择填空题 1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 ?软件是计算机系统中与硬件相互依存的另一部分, 它是包括(②)、 (⑦)及(⑤)的完整集合。 其中, (②) 是按事先设计的功能和性能要求执行的指令序列。(⑦)是使程序能够正确操纵信息的数据结构。(⑤)是与 程序开发、维护和使用有关的图文材料。 供选择的答案: A~C. ① 软件 ② 程序 ③ 代码④ 硬件 ⑤ 文档 ⑥ 外设 ⑦ 数据 ⑧ 图表 2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 开发软件时对提高软件开发人员工作效率至关重要的是(①)。软件工程中描述生存周期的瀑布模型一般包 括计划、(①)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(③)和(⑥) 两步。 供选择的答案:A.① 程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力 B.① 需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据 设计⑤运行设计⑥详细设计⑦故障处理设计 ⑧ 软件体系结构设计 3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 有人将软件的发展过程划分为 4 个阶段: 第一阶段( 年代末)称为“程序设计的原始时期”,这时既没有( 序员只能用机器指令编写程序。 第二阶段(1950 年代末~1960 年代末)称为“基本软件期”。出现了(①),并逐渐普及。随着(④)的发展, 编译技术也有较大的发展。 第三阶段(1960 年代末~1970 年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反, 软件开发费急剧上升。人们提出了(⑤)和(⑧)等程序设计方法,设法降低软件的开发费用。 第四阶段(1970 年代中期~现在)称“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包 括了与软件开发的各个阶段,如(⑤)、(④)、编码、单元测试、综合测试、(①)及其整体有关的各种管理 技术。 供选择的答案: A~D:①汇编语言 ②操作系统 ③虚拟存储器概念 ④高级语言 ⑤结构式程序设计 ⑥数据库概念 ⑦固件 ⑧ 模块化程序设计 E~G:① 使用和维护 ② 兼容性的确认 ③ 完整性的确认 ④ 设计 ⑤ 需求定义 ⑥ 图象处理 4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程 技术应遵循(⑦)、(④)、(⑥)、(③)、一致性、确定性、完备性、可验证性、抽象和信息隐蔽。 原型法适用于开发较复杂的系统,原型可分为三种:(②)、(⑤)和(④)。 供选择的答案:A~D①有效性 ②合理性 ③局部化 ④协同性 ⑤实用性 ⑥模块化 ⑦抽象 ⑧信息隐蔽 E~G:① 复用型 ② 实验型 ③ 废弃型 ④ 演化型 ⑤ 探索型 A ),也没有( B ),程四、问答题 1、什么是软件?它的特性是什么? 答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的 完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正 常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是: (1) 软件是一种逻辑实体,而不是具体的物理实体。它具有抽象性。 (2) 软件的生产与硬件不同,它没有明显的制造过程。 (3) 在软件的运行和使用期间, 没有硬件那样的机械磨损, 老化问题。 然而它存在退化问题。 (4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。 (5) 软件的开发至今尚未完全摆脱手工艺的开发方式。 (6) 软件本身是复杂的。 软件的复杂性可能来自它所反映的实际问题的复杂性, 也可能来自 程序逻辑结构的复杂性。 (7) 软件成本相当昂贵。 2、试比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件开发组织、决定 质量的因素、开发技术和手段等几个方面说明它们的差别。 答:3、软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 答:软件工程包括三个要素:方法、工具和过程。 软件工程方法为软件开发提供了“如何做”的技术。 它包括了多方面的任务, 如项目计 划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、 测试以及维护等。 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。 软件工程的过程则将软件工程的方法和工具综合起来以达到合理、 及时地进行计算机软 件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化 所需要的管理、及软件开发各个阶段完成的里程碑。 4、软件工程过程有哪几个基本过程活动?试说明之。 答:软件工程过程的基本过程活动有4步: ? P (Plan) : 软件规格说明。规定软件的功能及其运行的限制; ? D (Do) : 软件开发。产生满足规格说明的软件; ? C (Check) : 软件确认。确认软件能够完成客户提出的要求; ? A (Action) : 软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。 5、试说明“软件生存期”的概念。 答:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。这就是 软件的生存期。它分为6个阶段: (1) 软件项目计划 :在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所 需要的资源,建立成本与进度的估算。根据有关成本与进度的限制分析项目的可行性。 (2) 软件需求分析和定义 :在这一步详细定义分配给软件的系统元素。可以用以下两种方 式中的一种对需求进行分析和定义。 一种是正式的信息域分析, 可用于建立信息流和信息结 构的模型,然后逐渐扩充这些模型成为软件的规格说明。另一种是软件原型化方法,即建立 软件原型,并由用户进行评价,从而确定软件需求。 (3) 软件设计 :软件的设计过程分两步走。第一步进行概要设计,以结构设计和数据设计 开始,建立程序的模块结构,定义接口并建立数据结构。第二步做详细设计,考虑设计每一 个模块部件的过程描述。经过评审后,把每一个加细的过程性描述加到设计规格说明中去。 (4) 程序编码 :在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。应 当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。 (5) 软件测试 :单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造软 件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。在 每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。 (6) 软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件 维护相关联的那些任务依赖于所要实施的维护的类型。 6、试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。 答:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义, 软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序, 如同瀑布流水,逐级下落。瀑布模型为软件开发和软件维护提供了一种有效的管理图式。根 据这一图式制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为 手段有效地对整个开发过程进行指导, 从而保证了软件产品及时交付, 并达到预期的质量要 求。瀑布模型的缺点是缺乏灵活性,特别无法解决软件需求本身不明确或不准确的问题。这 些问题的存在对软件开发会带来严重影响, 最终可能导致开发出的软件并不是用户真正需要 的软件,并且这一点在开发过程完成后才有所察觉。面对这些情况,无疑需要进行返工或是 不得不在维护中纠正需求的偏差。 但无论上述哪一种情况都必须付出高额的代价, 并将为软 件开发带来不必要的损失。 7、试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。 答: 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰, 因而使得开发项目难 于做到一次开发成功,出现返工再开发在所难免。因此,可以先做试验开发,其目标只是在 于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得 到的试验性产品称为“原型”。 演化模型从需求分析开始。 软件开发人员与用户一起定义待开发软件系统的总目标, 定义需 求,确定软件的工作范围。然后快速设计软件中对使用者可见部分的表示,进而建造原型, 再让用户或客户评估原型,根据评估结果,修改和细化待开发软件系统的需求,使之满足用 户的需求。这个过程是一个迭代的过程。 演化模型的优点是: ? 演化模型能够得到更好的软件需求,它不仅能够处理模糊的需求,而且开发人员与用户 可通过原型充分进行交流; ? 演化模型给用户提供了机会,以更改用户原来设想的不尽合理的最终系统; ? 演化模型使得开发出来的最终系统更容易维护,对用户更友好; ? 演化模型可以降低总的开发费用,缩短开发时间。 演化模型的缺点是: ? 对于开发人员不熟悉的领域, 演化模型可能误导开发者把系统的次要部分当作主要框架, 作出不切题的原型; ? 原型过快地收敛于需求集合,使得某些基本方面被忽视; ? 长期在原型环境下开发,只注意得到令人满意的原型,容易“遗忘”用户环境与实际客 户环境之间的差别。 8、试说明螺旋模型软件开发方法的基本过程,比较它的优点和缺点。 答:对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型与演化模型 结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足。 螺旋模型是一种风险驱动的模型。在软件开发中存在各种风险。项目越复杂,设计方案、资 源、成本、进度等因素的不确定性越大,项目开发的风险也就越大。及时对风险进行识别、 分析,采取对策,可消除或减少风险的损害。 螺旋模型将开发过程分为几个螺旋周期, 每个螺旋周期大致和瀑布模型相吻合。 在每个螺旋 周期内按四个象限,分为四个工作步。第一,制定计划:确定软件目标,选定实施方案,明 确项目开发的限制条件;第二,风险分析:分析所选方案,识别风险,通过原型消除风险; 第三,开发实施:实施软件开发;第四,客户评估:评价开发工作,提出修正建议,建立下 一个周期的计划。 螺旋模型适合于大型软件的开发,应该说它是最为实际的方法,它吸收了软件工程“演化” 的概念,使得开发人员和客户对每个演化层出现的风险有所了解,继而做出应有的反映。螺 旋模型的优越性比起其它模型来说是明显的, 但并不是绝对的。 模型的使用需要具有相当丰 富的风险评估经验和专门知识。如果项目风险较大,又未能及时发现,势必造成重大损失。 此外,螺旋模型是出现较晚的新模型,远不如瀑布模型普及,要让广大软件人员和用户充分 肯定它,还有待于更多的实践。 9、软件工程的基本目标有哪些?试说明它们之间的关系。 答:组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望达到以下 几个主要的目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发 的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。 在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。 10、软件工程的基本原则有哪些?试说明之。 答:在软件开发过程中必须遵循下列软件工程原则。 ? 抽象 : 采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由 抽象到具体、由复杂到简单,逐步得到问题的解。 ? 信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实 现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。 ? 模块化 : 按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息隐 蔽和抽象,有助于表示复杂的系统。 ? 局部化 : 按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模 块内部高内聚。这有助于控制解的复杂性。 ? 确定性 : 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于 人们之间的沟通,保证整个开发工作协调一致。 ? 一致性 : 强调软件开发过程的标准化、 统一化。 包括文档格式的一致, 工作流程的一致, 内、外部接口的一致,系统规格说明与系统行为的一致等。 ? 完备性 : 软件系统不丢失任何重要成分,可以完全实现系统所要求功能。 ? 可验证性 : 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统 易于检查、测试、评审的原则,以确保系统的正确性。 11、软件工程的基本原理有哪些?试说明之。 答:软件工程的基本原理是: ? 按软件生存期分阶段制定计划并认真实施。在软件生存期中需要完成许多不同性质的工 作,所以应把软件生存期划分为若干阶段,并相应制定出可行的计划,且按照计划对软件的 开发和维护活动进行管理。 不同层次的管理人员都必须严格按照计划各尽其职地管理软件的 开发和维护工作。 ? 坚持进行阶段评审。软件的质量保证工作不能等到编码阶段结束之后再进行。错误发现 得越晚,为改正它所需付出的代价就越大。因此,在每个阶段都要进行严格的评审,以尽早 发现在软件开发过程中产生的错误。 ? 坚持严格的产品控制。在软件开发过程中不应随意改变需求,因为改变一项需求往往需 要付出较高的代价。 但由于外界环境的变化或软件工作范围的变化, 在软件开发过程中改变 需求又是难免的, 不能硬性规定禁止客户改变需求, 只能依靠科学的产品变更控制技术来顺 应需求的变更。其中主要是实施基线配置管理。 ? 使用现代程序设计技术。实践表明,采用先进的技术可提高软件开发的生产率,还可提 高软件的可维护性。其中包括结构化程序设计技术,Jackson 程序设计技术,面向对象程序 设计技术等。 ? 明确责任。软件产品是看不见摸不着的逻辑产品。为了提高软件开发过程的可见性,有 效地进行管理, 应当根据软件开发项目的总目标及完成期限, 规定开发组织的责任和产品标 准,使得工作结果能够得到清楚的审查。 ? 用人少而精。合理安排软件开发小组人员的原则是参与人员应当少而精,即小组的成员 应当具有较高的素质,且人数不应过多。人员素质高能大大提高软件开发的生产率,明显减 少软件中的错误。 软件开发小组人员少而精可以减少因交流开发进展情况和讨论遇到的问题 而造成的通信开销。 ? 不断改进开发过程。必须不断地灵活地改进软件工程过程,积极主动地采用新的软件技 术,注意不断总结经验。此外,需要注意收集和积累出错类型、问题报告等数据,用以评估 软件技术的效果和软件人员的能力,确定必须着重开发的软件工具和应当优先研究的技术。 12、有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否? 请解释你的回答。 答:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。这个说法是对的。 在 1970 年代,GTE、TRW 和 IBM 等三家公司对此问题做了独立研究,最后它们得到相似的结论: 从表中可以看出, 在需求分析阶段检查和修复一个错误所需的代价只有编码阶段所需代价的 1/5 到 1/10,而在维护阶段做同样的工作所付出的代价却是编码阶段的 20 倍。项目管理一、填空题 1、要成功地完成软件开发工作的一个主要的决定性因素是项目管理 。 2、软件过程是软件生存期中的一系列相关工程活动集合。 3、所有的软件开发都可以看成是一个问题循环解决过程,其中包括 4 个截然不同的阶段:状态捕捉、问 题定义、技术开发和方案综合。 4、在制定软件项目计划之前,必须先明确项目的目标和范围。项目的目标标明了软件项目的目的但不涉 及如何去达到这些目的。 5、对软件进行度量,是为了表明软件产品的质量,弄清软件开发人员的生产率,建立项目估算的基线, 帮助调整对新的工具和附加培训的要求。 6、软件质量的事后度量包括正确性、可维护性、完整性和可使用性。其中完整性包括危险性和安全性。 7、软件范围包括功能、性能、限制、接口和可靠性。 8、软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。资源包括人与工具。 9、对于一个大型的软件项目,要进行一系列的估算处理。主要靠分解和类推的手段进行。 10、基本 COCOMO 模型是一个静态单变量模型,它用一个已估算出的源代码行数(LOC)为自变量的(经验) 函数来计算软件开发工作量。 11、成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。 12、风险估计从两个方面估价风险。一是估计一个风险发生的可能性。一是估价与风险相关的问题出现后 将会产生的结果。 13、一个软件任务由一个人单独开发,生产率最高。 14、在与软件成本相关的影响因素中,人员的能力是最大影响因素。 15、软件开发所需的人力随开发的进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。 16、在建立项目组织时应注意的原则有三:① 尽早落实责任 ,指定专人负责;② 减少接口,要有合理 的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失;③责权均衡。 17、风险出现概率可以使用从过去项目、直觉或其它信息收集来的度量数据进行统计分析估算出来。 18、用各种不同的方法对风险进行分类是可能的。从宏观上来看,可将风险分为项目风险、技术风险和商 业风险。 二、选择题 1、所有的软件开发都可以看成是一个问题 B 过程。 A. 顺序解决 A. 开发过程 B. 循环解决 C. 分类解决 D. 分组解决 B. 运行与维护过程 C. 定义过程 D. 生存期 2、软件项目管理所涉及的范围覆盖了整个软件 D。 3、为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、里程碑、成本,进度 等做到心中有数,而 C 可以提供这些信息。 A. 计算机辅助工程 A. 定量 B. 软件开发工具 C. 软件项目管理 D. 软件估算 4、软件范围标明了软件要实现的基本功能,并尽量以 A 的方式界定这些功能。 B. 规范 C. 统一 D. 定性 B. 直接度量 C. 间接估算 D. 直接估算 5、只要事先建立特定的度量规程,很容易做到 B 开发软件所需要的成本和工作量、产生的代码行数等。 A. 间接度量 6、为了计算特征点,可以像计算功能点那样,对信息域值进行计数和加权。此外,需要对一个新的软件 特征 A 进行计数。 A. 算法 B. 计算误差 C. 程序复杂性 D. 效率 7、对于软件的 D,有一种简单的面向时间的度量,叫做平均变更等待时间 MTTC(Mean Time To Change)。 这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用 户。 A. 可靠性 B. 可修改性 C. 可测试性 D. 可维护性 8、软件的完整性是度量一个系统抗拒对它的 C 攻击(事故的和人为的)的能力。 A. 可靠性 B. 正确性 C. 安全性D. 容错性9、对每一种软件资源,应说明 4 个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用 资源的持续时间。最后两个特性统称为 A。 A. 时间窗口 B. 时间安排 C. 日程安排 A. 过程性语言 B. 形式化语言 C. 元语言 A. 劳动力 B. 工作量 C. 资源 D. 资源定义 D. 伪码 10、业务系统计划工具借助特定的 C 建立一个组织的战略信息需求的模型,导出特定的信息系统。 11、软件开发成本主要是指软件开发过程中所花费的 B 及相应的代价。 D. 持续时间 12、自顶向下估算软件成本的方法主要是从项目的整体出发进行 B,即根据已完成项目的总成本(或总工 作量),来推算待开发软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去。 A. 分解 B. 类推 C. 推导 D. 评估 13、自底向上估算软件成本的方法主要是把待开发软件 A,直到每一个子任务都已经明确所需要的开发工 作量,然后把它们加起来,得到软件开发的总工作量。 A. 分解 A. 大于 B. 类推 C. 推导 D. 评估 B. 等于 C. 小于 D. 不等于 16、系统的经济效益 B 因使用新系统而增加的收入加上使用新系统可以节省的运行费用。 17、项目复杂性、规模和结构的不确定性构成 C(估算)风险因素。 A. 技术 B. 经济 C. 项目 D. 商业 18、识别风险的一种最好的方法就是利用一组 A 来帮助人们了解在项目和技术方面有哪些风险。因此, Boehm 建议使用一个“风险项目检查表” 。 A. 提问 B. 项目 C. 脚本 D. 场景 19、在做风险评价时常采用的一个非常有效的方法就是定义 D。 A. 风险评价标准 B. 风险影响因子 C. 风险调整因素 D. 风险参照水准 21、当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间 的 A 问题,即所谓通信问题。 A. 接口 B. 衔接 C. 调用 D. 控制 22、假设一个人单独开发软件,生产率是 5000 行/人年。若 4 个人组成一个小组共同开发这个软件,在 每条通信路径上耗费的工作量是 250 行/人年。则组中每人的生产率降低为 C A. 4200 B. 4350 C. 4675 D. 4375 23、PERT 技术叫做 B 技术,它是采用网络图来描述一个项目的任务网络,安排开发进度,制定软件开发 计划的最常用的方法。 A. 日程安排 B. 计划评审 C. 关键路径 D. 因果图 24、在进度压力下赶任务,其成果往往是以 B 产品的质量为代价的。 A. 浪费 B. 牺牲 C. 抵押 D. 维持 三、选择填空题 1、从供选择的答案中选出与下列有关软件过程叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件过程是软件(4)中的一系列相关软件工程(3)的集合。每一个软件过程又是由一组(6)、项目(8)、软件 工程产品和交付物以及质量保证(SQA)点等组成。 一个软件过程可以用右图的形式来表示。 首先建立一个(2) 过程框架,其中定义了少量可适用于所有软件项目的框架(3),再给出各个框架(3)的任务集合,最后是保 护伞活动,如软件质量保证、软件配置管理以及测量等。软件过程模型的选择基于项目和应用的特点、采 用的(5)和工具、要求的控制和需交付的产品。 A.④B.③C.⑥D. ⑧E. ②F. ⑤供选择的答案: A~F.?① 工程 ② 公共 ③ 活动 ④ 生存期 ⑤ 方法 内。⑥ 工作任务 ⑦ 功能 ⑧ 里程碑2、从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧 ?由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难。软件产品(2)。(6)标准的过程。 大型软件项目往往是(3)项目。(2)的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它 所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出(4);(5)实际上就是贯穿于软 件工程过程中一系列风险管理步骤。最后,每一个软件项目都要制定一个(1),一旦(6)制定出来,就可以 开始着手(5)。 供选择的答案:A. ② B. ⑥ C. ③ D. ② E. ④ F. ① G. ⑥ H. ⑤ A~C. ①可见的 ②不可见的 ③“一次性”④“多次”⑤存在 ⑥不存在 D~H.?①进度安排 ②度量 ③风险分析 ④估算 ⑤追踪和控制 ⑥开发计划 3、从供选择的答案中选出与下列有关软件度量叙述相对应的正确答案,将其编号填入到相应的括弧内。 ?软件的度量包括( 品的( B A1 )和( B4 D )。软件产品的( A 1 )包括产生的代码行数、执行速度等。软件产 C )度量主 E ) F ) )则包括若干质量特性。我们还可进一步将软件度量如右图所示那样分类。软件(要关注软件工程过程的结果; ()度量则指明了软件适应明确和不明确的用户要求到什么程度; ( G度量主要关注软件的一些特性而不是软件开发的全过程。从图中还可看到另一种分类方法:面向( 的度量用于收集与直接度量有关软件工程输出的信息和质量信息。面向( 度。面向( 息。 H)的度量提供直接度量的尺)的度量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信A. ①B. ④C. ④D. ①E. ②F. ⑤G. ⑦H. ③ C~E.?①质量 ②技术供选择的答案:A~B.?①直接度量 ②尺度度量 ③二元度量 ④间接度量 ③成本 ④生产率F~H.?①过程 ②对象 ③人 ④存取 ⑤规模 ⑥进程 ⑦功能 ⑧数据4、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本 身带有( A )。项目的复杂性越高,规模越大,开发工作量( D ),而风险将( B E ),估算的( A )就( C F )。项目的 ),总的风 结构化程度提高,进行精确估算的能力就能( )。有用的历史信息( 险会减少。 供选择的答案:A. ③ 大 5、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 ?在软件项目估算时,将代码行 LOC 和功能点 FP 数据在两个方面使用:一是作为一个估算变量,度量软 件每一个( ( ( C F 所需要的( A D )的大小;一是联合使用从过去的项目中收集到的( )不同。当用( E B )和其它估算变量,进行成本和 )估算。LOC 和 FP 是两种不同的估算技术,但两者有许多共同的特征,只是 LOC 和 FP 技术对于分解 )作为估算变量时,功能分解是绝对必要且应达到很详细的程度,而用 E )是直接估算,( H )。 G. ②, H. ③。 F )是间接估算。若计划人员 )作为估算变量时,分解程度可以不很详细。( B. ② C. ⑦ D. ① E. ③ F. ② A. ①风范(范型)②风格 ③风险 ④度量 B~F.?①增加 ②越多 ③降低 ④不变 ⑤越少 ⑥越高 ⑦越对每个功能分别按最佳的、可能的、悲观的三种情况给出 LOC 或 FP 估计值,记作 a, m, b,则 LOC 或 FP 的 期望值 E 的公式为( G 供选择的答案:A. ③, ),m 是加权的最可能的估计值,遵循( B. ⑦, C. ⑤, D. ①, E. ②, F. ①,A~C.①模块 ②软件项目 ③分量 ④持续时间 ⑤工作量 ⑥进度 ⑦基线数据 ⑧改进数据 D.①详细程度 ②分解要求 ③改进过程 ④使用方法 ③E = (2a+3m+4b)/3 ④ E,F. ①FP ②LOC G.①E = (a+m+b)/3 ②E = (a+4m+b)/6H.①χ 概率 ②γ 概率 ③β 概率 ④泊松6、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 ?在考虑各种软件开发资源时,( 在塔的上层是最基本的资源( 的质量,可建立( F )。 B. ③ C. ② D. ④ E. ⑥ F. ⑤ C, D.?①虚拟机 ②目标机 ③自动机 ④宿主机 A A )是最重要的资源。如果把软件开发所需的资源画成一个金字塔形: )。 ( B )包括硬件资源和软件资源。 C ( E )、 D ( ) )。为了提高软件的生产率和软件产品 ), 在底部为( B和其它硬件设备属于硬件资源。IPSE 工具属于软件资源中的( 供选择的答案:A. ②A, B.① 方法 ②人力 ③工具 ④上下文环境 工具E, F.①维护工具 ②分析设计工具 ③支持工具 ④编程工具 ⑤可复用构件库 ⑥框架工具 ⑦原型化模拟 7、 从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案, 将其编号填入到相应的括弧内。 ?定义一个人参加劳动时间的长短为( 件项目(或软件任务)所需的( A 地,定义单位( 指( E A )所能完成的软件( F C A ),其度量单位为 PM(人月)或 PY(人年)。而定义完成一个软 ),其度量单位是人月/项目(任务),记作 PM(人月)。进一步 )的数量为软件( D ),其度量单位为 LOC/PM。它表明一般 G ) (LOC/PM)。 )为( B)的一个平均值。 例如, 一个软件的开发工作量如下表所示。 该软件共有源代码 2900 行, 其中, 500 )的源代码。则劳动生产率是(行用于测试,2400 行是执行(供选择的答案:A. ④ 务B. ②C. ④D. ①E. ①F. ②G. ④A, B, D.①生产率 ②工作量 ③成本 ④劳动量 E.①开发全过程 ②某开发阶段 ③软件生存期 ④某开发任 F, C.①软件 ②程序 ③进程 ④产品 G.①520 ②120 ③320 ④240 8、 从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案, 将其编号填入到相应的括弧内。 ?对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按( 手段进行。估算的方法分为三类:从项目的整体出发,进行( B )的方法称为( C A )和( B ) )估算法。把待开发 的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工 作量的方法称为( D )估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分 E )估算法。( D. ③, F )是由多位专家进行成本估算的方法。 E. ①, F. ④ B. ①, C. ②, 和不同部分分别处理的方法称为( 供选择的答案:A. ③,A,B.?① 类推 ②类比 ③分解 ④综合 C~F.①差别 ②自顶向下 ③自底向上 ④专家判定技术 ⑤循序渐进⑥比较 10、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧 内。 一个规模为 10KDSI 的商用微机远程通信的嵌入型软件,使用中间 COCOMO 模型进行软件成本估算。程序的 名义工作量 MM = ( A );程序实际工作量 MM = ( B );开发所用的时间 TDEV = ( C D )。 );如果软件 开发人员的工资都按每月 6000 美元计算,则该软件项目的开发人员的工资总额 = ( ?表 1 中间 COCOMO 模型的名义工作量与进度公式??表 2 影响工作量的因素 fi 的取值A. ③, 供选择的答案:A,B. ①45.8 ②51.5 ③44.38 ④54.2B. ②,C. ①,D. ④C.①8.9 月 ②9.8 月 ③7.8 月 ④10.9 月D.①26.4 万美元 ②36 万美元 ③20.96 万美元 ④30.9 万美元 11、从供选择的答案中选出与下列有关软件成本-效益分析叙述相对应的答案,将其编号填入到相应的括弧 内。 ?假设开发某个计算机应用系统的投资额为 3000 元,该计算机应用系统投入使用后,每年可以节约 1000 元,5 年内可能节约 5000 元。3000 元是现在投资的钱,5000 元是 5 年内节省的钱,两者不能简单地比较。 假定年利率为 12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省 的金额的现在价值。A. ④, 则该系统的纯收入是( 2.78 元 内。 ?在特定情况下,是否必须进行风险分析,是对项目开发的形势进行( 标是( B ),项目成功的标准也是( B A ),投资回收期是( B ),投资回收率为(B. ②, C )。C. ③供选择的答案:A.①512.3 元 ②729.28 元 ③602.4 元 ④612.27 元 B.①2. 4 年 ②3.93 年 ③4.25 年 ④ C.①25% ②30% ③20% ④15% 12 从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧 A )后确定的。( C A )可以按如下步骤进行:明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目 );考虑采用某些条目作为项目成功的( );根据估计的结果 来确定是否要进行风险分析。 ?一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分 3 步进行。第一 步识别潜在的风险项,首先进行( ( 定( E G D )过程;第二步估计每个风险的大小及其出现的可能性,选择一种 F ),确 ),它可以估计各种风险项的值;第三步进行风险评估。风险评估也有三个步骤:确定( ),把风险与“参照风险”做比较。 B. ① C. ② D. ② E. ③ F. ④ G. ③供选择的答案:A. ②A.①风险管理 ②风险估计 ③风险评价 ④风险测试 B.①可度量的 ②不可度量的 ③准确的 ④不确定的 C.①规范 ②标准 ③过程模型 ④ 设计要求 具 ⑥信息获取 略 13、从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧 内。 ?风险分析实际上是 4 个不同的活动,按顺序依次为( 对风险评价很有用的技术是定义( 析的上下文环境中一个( 供选择的答案:A. ②, E E )。( F )、( A )、( H B )、风险评价和( )是三种典型的( I C )。在风险评 E )。在做风险分 J )。 I. ②, J. ④ 价时,应当建立一个三元组:[ ri, li, xi ],ri 是风险描述,li 是( G )、( )就存在一个单独的点,叫做参照点或( C. ①, D. ②, E. ①, F. ③, D ),而 xi 是风险的影响。一个 )。在这个点上要公正底给出判 H. ⑥, D,E.①信息分类 ②信息收集 ③度量尺度 ④标准 ⑤度量工 F,G.①风险的范围 ②风险的特性 ③风险的级别 ④风险的评价标准 ⑤风险的排除策断。实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个( B. ③, G. ④, A~C.①风险驾驭和监控 ②风险识别 ③风险估计 ④风险消除 D.① 风险的大小②风险的概率③风险的时间④风险的范围 E.①风险参照水准②风险度量③风险监控④风险工具F~H.①生产率 ②功能 ③成本 ④进度 ⑤范围 ⑥性能 I, J.①凹点②崩溃点 ③终点 ④区域 ⑤拐点 ⑥ 原点 14、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括弧 内。 任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是( A ),当某一开发项目的进度有 可能拖延时,应该( B )。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是 ( C )。各阶段所需不同层次的技术人员大致是( D ),而管理人员在各阶段所需数量也不同,相对而言 E )。 大致是(供选择的答案:A.①数据流图 ②程序结构图 ③因果图 ④PERT 图 B.①增加新的开发人员 ②分析拖期原因加以补救 ③从别的小组抽调人员临时帮忙 ④推迟预定完成时间A. ④B. ②C. ③D. ③E. ①15 从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。 ?对于一个小型的软件开发项目,一个人就可以完成需求分析、设计、编码和测试工作。但随着软件项目 规模增大,需要有多人共同参与同一软件项目的工作。当几个人共同承担软件开发项目中的某一任务时, 人与人之间必须通过交流来解决各自承担任务之间的( 会引起软件错误( 则共有( ( ③ E D B ),( C A )问题,即通信问题。通信需花费时间和代价, )软件生产率。如果一个软件开发小组有 n 个人,每两人之间都需要通信,)条通信路径。假设一个人单独开发软件,生产率是 5000 行/人年,且在每条通信路径上耗 F )。因此,有人提出,软件开发小 B. ② C. ① D. ② E.费的工作量是 250 行/人年。若 4 个人组成一个小组共同开发这个软件,则小组中每个人的软件生产率为 )。若小组有 6 名成员,则小组中每个成员的软件生产率为( G F. ② G. ④ 组的规模不能太大,人数不能太多,一般在( )人左右为宜。A. ③供选择的答案:A.①分配 ②管理 ③接口 ④协作 B,C. ①降低 ②增加 ③不变 D.①n(n+1)/2 ②n(n-1)/2 ③n(n-1)(n-2)/6 ④n2/2 E,F. ①4875 ②4375 ③4625 ④5735 软件项目的进度管理有许多方法,但( ( ( B F 找出关键子任务。在( )。 B. ① C. ③ D. ⑥ E. ③ F. ⑤ 供选择的答案: :A. ② C G.①8~15 ②1~2 ③2~5 ④2~8 A )不是常用的进度控制图示方法。在几种进度控制图示方法中, C D )不仅能表达子任务之间的逻辑关系,而且可以 ),用圆圈结点表示( E ),它标明( D )的 16、 从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案, 将其编号填入到相应的括内。 )难以表达多个子任务之间的逻辑关系,使用( )中,用带箭头的边表示(A~C.①甘特图 ②IPO ③PERT ④时标网状图 D~F.①数据流②控制流③事件④处理⑤起点或终点 ⑥任务 17 从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧 内。 ?软件项目管理的主要职能包括:( A ),建立组织,配备人员,( D B )和( C )。由于软件项目的特 有性质,使得项目管理存在一定困难。第一、( ),软件工程过程充满了大量高强度的脑力劳动;第二、 ( ( (E G H),在特定机型上,利用特定的硬件配置,由特定的系统软件和支撑软件支持,形成了特定的开发环 F ),软件项目经历的各个阶段都深透了大量的手工劳动,远未达到自动化的程度;第四、 ),用户要经过专门的培训,才能掌握操作步骤,且需要配备专职维护人员进行售后服务;第五、 ),为高质量地完成软件项目,充分发掘人员的智力才能和创造精神。 I )工作有关。在软件境;第三、(?在总结和分析足够数量失误的软件项目之后可知,造成软件失误的原因大多与( 项目开始执行时,执行的过程中及项目进行的最后阶段都会遇到种种问题。 供选择的答案:A. ② B. ④ C. ⑥ D. ② E. ③ F. ⑤ G. ④ H. ①I. ④A~C.①编码 ②制定计划 ③开发 ④指导⑤ 测试 ⑥检验 D~H.①软件工作渗透了人的因素 ②智力密集,可见性差 ③单件生产 ④使用方法繁琐,维护困难 ⑤劳 动密集,自动化程度低 I.① 设计 ②维护 ③测试 ④管理 ⑤实践 ⑥指导 ⑦审核 ⑧分析 18 从供选择的答案中选出与下列有关软件项目组织叙述相对应的正确答案,将其编号填入到相应的括弧 内。 ?软件项目组织的原则是( 的模式。( F )实际上是( A D )、( )和( C. ⑥ B E )和( C )。一般有( D E )、( E )、( F )三种组织结构 )两种模式的复合。( D. ③ E. ④ )这种模式在小组之间的联系形成的接口较多,但便于软件人员熟悉小组的工作,进而成为这方面的专家。 供选择的答案:A. ② B. ③ F. ① A~C.①推迟责任的落实 ②尽早落实责任 ③减少接口 ④增加联系 ⑤责权分离 ⑥责权均衡 D~F.①矩阵形模式 ②主程序员小组模式 ③按课题划分的模式 ④按职能划分的模式 ⑤民主制小组模式 19 从供选择的答案中选出与下列有关软件开发小组叙述相对应的正确答案,将其编号填入到相应的括弧 内。 软件开发小组的目的是发挥集体的力量进行软件研制。因此,小组从培养( 计消除软件的( 属于( D B ),c 属于( E )。 A. ② B. ④ C. ③ D. ② A )的观点出发进行程序设 C ),b )的性质。通常,程序设计小组的组织形式有三种,如下图所示的 a 属于( E. ①供选择的答案:A, B.①“局部”②“全局”③“集体”④“个人” C~E.①层次式小组②民主制小组③主 程序员制小组需求分析一、填空 1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是功能要求。 2、需求分析阶段产生的最主要的文档是需求规格说明书。 3、解决一个复杂的问题,往往采取的策略是分解。 4、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该软件项目是否能够开发。 5、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。 6、可以从 4 个方面研究可行性,即技术可行性、经济可行性、社会可行性、( 7、结构化分析方法从三个方面建模:数据建模、功能建模、行为建模。 8、实体D关系图用于数据建模,它最初用于数据库设计。 9、数据流图中的每一个加工至少有一个输入数据流和一个输出数据流。 10、状态D迁移图用于行为建模,状态中包含活动,状态因事件发生转移。 )可行性。 11、数据词典中有四类条目,分别为数据流、加工、数据存储、外部实体。 二、单项选择 1、软件需求分析阶段的工作可以划分以下四个方面:对问题的识别、分析与综合、制定需求规格说明和 C。 A.总结 B. 阶段性报告 C. 需求分析评审 D. 以上答案都不正确 2、各种需求分析方法都有它们共同适用的 D。 A. 说明方法 B. 描述方法 C. 准则 D. 基本原则 3、软件需求分析应从问题的信息域和功能域出发。信息域应包括信息流、信息内容和 C。 A. 信息项 B. 数据结构 C. 信息结构 D. 信息内容 4、需求分析产生的文档是 C。 A. 项目开发计划 B. 可行性分析报告 C. 需求规格说明书 D. 软件设计说明书 5、需求分析中,分析人员要从用户那里解决的最重要的问题是 A。 A. 要让软件做什么 B. 要给该软件提供什么信息 C. 要求软件工作效率如何 D. 要让该软件具有何种结构 6、可行性研究的目的是 B。 A.?开发项目 B.?项目值得开发否 C.?规划项目 D.?维护项目 7、技术可行性要解决 D。 A. 存在侵权否 B. 成本效益问题 C. 运行方式可行 D. 技术风险问题 8、研究开发资源的有效性属于 A 可行性的一部分。 A. 技术 B. 经济 C. 社会 D. 操作 9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料 D。 A. 系统流程 B. 组成系统的物理元素清单、成本D效益分析 C. 实现该系统的进度计划 D. 以上全部 10、软件需求分析的任务不应包括 C。 A. 问题分析 B. 信息域分析 C. 结构化程序设计 D. 确定逻辑模型 11、结构化语言、判定表和判定树属于 A 规格说明的描述工具。 A. 加工 B. 控制 C. 数据描述 D. 脚本 12、加工激活表属于 B 规格说明的描述工具。 A. 加工 B. 控制 C. 数据描述 D. 脚本 13、基数和参与性属于 C 图的描述工具。 A. 控制流 B. 数据流 C. 实体D关系 D. 状态D迁移 14、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的 B。 A. 细节 B. 输入与输出 C. 软件的作者 D. 绘制的时间 15、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流 A。 A. 必须一致 B. 数目必须相等 C. 名字必须相同 D. 数目必须不等 16、在数据流图的基本图形符号中,加工是以信息结构或 B 作为加工对象的。 A. 数据结构 B. 信息内容 C. 信息流 D. 数据内容 17、一个局部数据存储当它作为 D 时就把它画出来。 A. 某些加工的数据接口 C. 某个加工的特定输出 B. 某个加工的特定输入 D. 某些加工的数据接口或某个加工的特定输入/输出18、软件需求规格说明书的内容不应包括对 B 的描述。 A. 主要功能 B. 算法的详细过程 C. 用户界面及运行环境 D. 软件的性能 19、需求规格说明书的作用不应包括 B。 A. 软件设计的依据 C. 软件验收的依据 B. 软件可行性研究的依据 D. 用户和开发人员对软件要做什么的共同理解20、快速原型化思想是在研究 D 阶段的方法技术中产生的。 A. 可行性研究 B. 软件设计 C. 程序编码 D. 需求分析 21、用于整个开发阶段,及早提供一个原型系统的是 D 原型。 A. 实验型 B. 探索型 C. 提交型 D. 演化型 22、用于软件设计阶段,考察实现方案是否可行的是 C 原型。 A. 探索型 B. 演化型 C. 实验型 D. 增量型 三、选择填空 1、 从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案, 将其编号填入到相应的括弧内。 ?软件需求分析的任务不应包括( A )。进行需求分析可使用多种工具,但( C E )。 B )是不适用的。在需求 D )。 分析中,分析员要从用户那里解决的最重要的问题是( 供选择的答案:A.③, B.③, C.①, D.②, E.④ A.①问题分析 ②信息域分析 ③结构化程序设计 ④确定逻辑模型 B.①数据流图 ②判定表 ③PAD 图 ④数据词典 C.①要让软件做什么②要给该软件提供哪些信息 ③要求软件工作效率如何 ④要让软件具有什么样的结构 D.①对重要功能的描述 ②对算法的详细过程性描述 ③软件确认准则 ④软件的性能 E.①软件设计的依据 ②用户和开发人员对软件要“做什么”的共同理解 ③软件验收的依据 ④软件可行 性分析的依据 2、 从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案, 将其编号填入到相应的括弧内。 当前系统的(A )模型描述现行系统的实际业务处理过程,反映了现行系统具体( B )的现实。当前系统 的( C )模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统( D )的本质。 ?目标系统是指待开发的新系统。 根据计算机系统的特点, 分析、 比较目标系统和当前系统逻辑上的差别, 确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织 以及动态行为,从而建立起目标系统的( E )模型。 B, D:①怎么做②何时做③做什么④为何做⑤谁来做 A ) ,它描述了所有在目标系统中使用和 D )( 。 B )描述数据对象及其 供选择的答案 :A.②, B.①, C.⑤, D.③, E.⑤ A, C, E:①对象②物理③服务④过程⑤逻辑 3、 从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案, 将其编号填入到相应的括弧内。 结构化分析模型从多视角来描述系统。在分析模型的核心是( 生成的数据对象。围绕着这个核心有三种图: ( 关系,用于建立数据模型; ( 要给出加工规格说明; ( D C B )( 、 C )和( )。需求规格说明书的内容不应当包括(该文档在软件开发中具有重要的作用,但其作用不应当包括()描述数据在系统中如何被传递和变换,用于建立功能模型,同时还需 E )的处理系统。)描述系统对外部事件如何响应,用于建立行为模型,同时还需要给出控制规格说明。 Petri 网主要用于描述相互独立,协同操作的处理系统,即( 【供选择的答案】A.②, B.⑧, C.④, D.③, E.①A~D: ①对象图 ②数据词典 ③状态迁移图 ④数据流程图 ⑤时序图 ⑥事件追踪图 ⑦控制流程图 ⑧实体 关系图 ⑨仿真图 ⑩行为图 E:①并发执行 ②事件驱动 ③时钟驱动 ④随机执行 ⑤顺序执行 4、 从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案, 将其编号填入到相应的括弧内。 软件需求分析方法必须能够理解和表达问题领域的信息域和功能域。信息域包括(A)(B)和(C) 、 。 ?( ?( ?( A B C )表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成数据和控制的( D ) 信息,然后再变换成输出结果信息。 )表示信息在计算机中的组织形式。各种数据和控制对象按什么逻辑关系组织在一起,又按什么 B )分析来解决。 E ) 。 )可以利用数据词典明确地表示,也可以通过数据或数据对象的层次结构隐含地表示。 物理关系存储在计算机中,必须靠(对数据进行变换就是程序所表现的功能。两个功能之间的数据传递确定了功能之间的( 【供选择的答案】A.⑦, B.②, C.⑥, D.③, E.②A~C:①信息属性 ②信息结构 ③信息服务 ④信息通信 ⑤信息抽象 ⑥信息内容 ⑦信息流 ⑧信息层次 ⑨信息项 ⑩信息行为D~E:①连接 ②接口 ③中间 ④通讯 ⑤联系 A )系统。它从用户界面的开发 E )型的设计过程。5、 从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案, 将其编号填入到相应的括弧内。 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( 入手,首先形成( B ),用户( C ),并就( 供选择的答案:A.① B.③ C.④ D.① E.① A. ①需求不确定性高的 ②需求确定的 ③管理信息 ④决策支持 B. ①用户界面使用手册 ②用户界面需求分析说明书 ③系统界面原型 ④完善的用户界面 C. ①改进用户界面的设计 ②阅读文档资料 ③模拟用户界面的运行 ④运行用户界面原型 D. ①同意什么和不同意什么 ②使用和不使用哪一种编程语言 E. ① 自外向内 ② 自顶向下 ③ 自内向外 ④ 自底向上 ③程序的结构 ④执行速度是否满足要求 D )提出意见,它是一种(四、问答题 1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻 辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别? 答: 所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统, 也可能是一个 人工的数据处理过程。 当前系统的物理模型客观地反映当前系统实际的工作情况。 但在物理 模型中有许多物理的因素, 随着分析工作的深入, 有些非本质的物理因素就成为不必要的负 担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素 即可获得反映系统本质的逻辑模型。 所以当前系统的逻辑模型是从当前系统的物理模型抽象 出来的。 2、软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常 阻塞? 答:软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、 对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间 通信的需求。首先,由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表 达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。其次, 用户和分析员之间经常存在无意识的“我们和他们”的界限, 不是按工作需要组成统一的精 干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以 及提问和回答来相互通信。历史已经证明,这样会产生大量误解。忽略重要信息,无法建立 成功的工作关系。 3、你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。 答:系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着 桥梁的作用。 一方面要协助用户对所开发的软件阐明要求, 另一方面还要与高级程序员交换 意见, 探讨用户所提要求的合理性以及实现的可能性。 最后还要负责编写软件需求规格说明 和初步的用户手册。为能胜任上述任务,分析员应当具备如下的素质: (1) 能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。 (2) 善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整 理成为各种逻辑成分,并给出简明、清晰的描述。 (3) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。 (4) 善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。 (5) 能够倾听他人的意见,注意发挥其它人员的作用。 (6) 具有良好的书面和口头交流表达能力。 4、可行性研究主要研究哪些问题?试说明之。 答:可行性研究主要做4个方面的研究:经济可行性 :进行成本?效益分析。从经济角度判 断系统开发是否“合算”。技术可行性 :进行技术风险评价。从开发者的技术实力、以往 工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。 法律可行性 :确定系统开发可能导致的任何侵权、妨碍和责任。方案的选择 :评价系统或 产品开发的几个可能的候选方案。最后给出结论意见。 5、信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系 统? 答:什么是信息?广义地讲,信息就是消息。宇宙三要素(物质、能量、信息)之一。它是 现实世界各种事物在人们头脑中的反映。此外,人们通过科学仪器能够认识到的也是信息。 信息的特征为:可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可 共享。我们通常讲的信息域就是对信息的多视角考虑。信息域包含3个不同的视图:信息内 容和关系、信息流和信息结构。为了完全理解信息域,必须了解每一个视图。 信息结构:它是信息在计算机中的组织形式。一般表示了各种数据和控制对象的内部组 织。数据和控制对象是被组织成n维表格,还是组织成有层次的树型结构? 在结构中信息与 其它哪些信息相关? 所有信息是在一个信息结构中, 还是在几个信息结构中? 一个结构中的 信息与其它结构中的信息如何联系? 这些问题都由信息结构的分析来解决。 信息流:表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成中间信息 (数据或控制),然后再变换成输出结果信息。沿着变换路径,可能从已有的数据存储(如 磁盘文件或内存缓冲区) 中引入附加的信息。 对数据进行变换是程序中应有的功能或子功能。 两个变换功能之间的数据传递就确定了功能间的接口。 所以, 没有信息流的系统相当于 没有功能的系统, 这样的系统的存在是毫无意义的。 而没有信息结构的系统是没有信息的系 统,这样的系统不是计算机能够处理的系统。 6、软件需求分析的操作性原则和需求工程的指导性原则是什么? 答:所有的需求分析方法都与一组操作性原则相关联: ? 必须理解和表示问题的信息域。 ? 必须定义软件将完成的功能。 ? 必须表示软件的行为(作为外部事件的结果)。 ? 必须对描述信息、功能和行为的模型进行分解,能够以层次方式揭示其细节。 ? 分析过程应当从要素信息转向细节的实现。 通过使用这些原则,分析员可以系统地处理问题。首先检查信息域以便更完整地理解目 标软件的功能,再使用模型以简洁的方式表达目标软件的功能和行为,并利用自顶向下、逐 层分解的手段来降低问题的复杂性。 在这些处理过程中, 因处理需求带来的逻辑约束和因其 它系统元素带来的物理约束需要通过软件要素和视图的实现加以检验和确认。 除此以外,Davis建议了一组针对“需求工程”的指导性原则: ? 在开始建立分析模型之前应当先理解问题。如果问题没有很好理解就急于求成,常常 会产生一个解决错误问题的完美的软件。 ? 强力推荐使用原型。这样做可以使用户了解将如何与计算机交互,而人们对软件质量 的认识常常是基于对界面“友好性”的切身体会。 ? 记录每一个需求的起源和原因。这是建立对用户要求的可追溯性的第一步。 ? 使用多个视图,建立系统的数据、功能和行为模型。这样做可帮助分析员从多方面分 析和理解问题,减少遗漏,识别可能的不一致之处。 ? 给需求赋予优先级。因为过短的时限会减少实现所有软件需求的可能性。因此,对需 求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。 ? 注意消除歧义性。因为大多数需求都是以自然语言描述,存在叙述的歧义性问题,造 成遗漏和误解。采用正式的技术评审是发现和消除歧义性的好方法。 遵循以上原则,就可能开发出较好的软件需求规格说明,为软件设计奠定基础。 7、数据流图的作用是什么?它有哪些基本成份? 答:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式 刻画数据流从输入到输出的移动变换过程, 同时可以按自顶向下、 逐步分解的方法表示内容 不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流 建模的机制,从而可以建立起系统或软件的功能模型。 数据流图的基本成份有4种:8、考务处理系统的分层数据流图如下图所示。 该考务处理系统有如下功能: ① 对考生送来的报名表进行检查; ②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷 站; ③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者; ④填写考生通知单(内容包含考试成绩及合格?不合格标志),送给考生; ⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生 统计分析表。 (1) 图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图(b)中,加工2的输 出数据流是( C ),它是由( D )和( E )组成。 供选择的答案:答:A. ② B. ⑤ C. ① D. ⑥ E. ⑧ F. ②其中,D与E的答案可互换。 A~E. ①统计分析表 ②报名表 ③准考证 ④考生通知单 ⑤合格报名表 ⑥难度分析表 ⑦错误成绩表 ⑧分类统计表 (2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。 供选择的答案: F. “①试题得分表”没有在图(b)中画出,是错误的。 “ ②试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。 “ ③试题得分表”是多余的。 应注意的问题: ①适当地为数据流、加工、文件、数据的源?汇点命名。名字应反映该元素的实际含义, 避免空洞的名字。如数据、信息处理、计算等名字都不好。 ②画数据流时不要夹带控制流。数据流图中各种数据的加工没有考虑时序关系,引入控 制流后,加工之间就有了时序关系,这与画数据流图不考虑实现细节的初衷相违背。 ③一个加工的输出数据流不要与该加工的输入数据流重名,即使它们的组成成分相同。 例如图(c)中加工1.1的输入数据流“报名表”与输出数据流“合格报名表”。 ④允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据 流流向两个不同的加工。 ⑤保持父图与子图的平衡。就是说,父图与它的子图的输入数据流与输出数据流应当在 数量与名字上都相同。特别的是,如果父图的一个输入(或输出)数据流对应于子图中几个 输入(或输出)数据流,但子图中这几个数据流中的数据项合起来正好是父图中的那个数据 流,这时它们还算是平衡的。例如,图(b)中加工2的输出数据流“统计分析表”是由“难度 分析表”和“分类统计表”组成,那么图(b)与图(d)仍满足父图与子图平衡的条件。 ⑥在自顶向下的分解过程中,若一个文件首次出现时只与一个加工有关,那么这个文件 应作为这个加工的内部文件而不必画出。例如,图(d)中的文件“试题得分表”就是图(b) 中加工的内部文件,所以在图(b)中没有画出。 ⑦保持数据守恒。就是说,一个加工的所有输出数据流中的数据必须能从该加工的输入 数据流中直接获得,或者是通过该加工产生的数据。 9、Petri网可以描述计算机软件系统的执行。现有一个程序如下(类似于Pascal语言) L : S1; WHILE P1 DO BEGIN IF P2 THEN S2 ELSE S3; COBEGIN S4; S5; S6; COEND END; GOTO L; S6是单个执行语句,COBEGIN和COEND是并行执行开始和并行执行结束(即S4,S5和S6语 句并行执行)。试用Petri网描述这段程序的执行过程。 其中,P1和P2为逻辑表达式, S1 答:采用条件?事件网(C?E网,CDCondition, EDEvent)式Petri网。其定义如下: ①当事件e激发时条件c开始成立,则称c是e的后继。此关系用“ ”表示; ②当事件e激发时条件c消失成立,则称c是e的前驱。此关系用“ ”表示; ③当事件e激发时条件c不受影响,则c和e之间没有前驱、后继关系,无边。 根据定义,给定程序的C?E网如下: 10、数据词典的作用是什么?它有哪些基本词条? 答:分析模型中包含了对数据对象、功能和控制的表示。在每一种表示中,数据对象和控制 项都扮演一定的角色。为表示每个数据对象和控制项的特性,建立了数据词典。数据词典精 确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得 用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。 在数据词典的每一个词条中应包含以下信息: ①名称:数据对象或控制项、数据存储或外部实体的名字。 ②别名或编号。 ③分类:数据对象?加工?数据流?数据文件?外部实体?控制项(事件?状态)? ④描述:描述内容或数据结构等。 ⑤何处使用:使用该词条(数据或控制项)的加工。 11、传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型开发模型的主要 优点是什么? 答: 传统软件生存期范型的典型代表是“瀑布模型”。 这种模型的核心是将软件生存期划分 为软件计划、需求分析、软件设计、编码、测试和运行维护等阶段,根据不同阶段工作的特 点,运用不同的方法、技术和工具来完成该阶段的任务。软件开发人员遵循严格的规范,在 每一阶段工作结束时都要进行严格的阶段评审和确认,以得到该阶段的一致、完整、正确和 无歧义性的文档资料,并以它们做为下一阶段工作的基础。 传统思想强调每一阶段的严格性, 尤其是开发初期要有良好的软件规格说明, 主要是源 于过去软件开发的经验教训, 即在开发的后期或运行维护期间来修改不完善的规格说明要付 出巨大的代价。但是,要想得到一个完整准确的规格说明不是一件容易的事。特别是对于一 些大型的软件项目, 在开发的早期用户往往对系统只有一个模糊的想法, 很难完全准确地表 达对系统的全面要求, 软件开发人员对于所要解决的应用问题认识更是模糊不清。 经过详细 的讨论和分析, 也许能得到一份较好的规格说明, 但却很难期望该规格说明能将系统的各个 方面都描述得完整、准确、一致,并与实际环境相符。很难通过它在逻辑上推断出(不是在 实际运行中判断评价)系统运行的效果,以此达到各方对系统的共同理解。随着开发工作向 前推进,用户可能会产生新的要求,或因环境变化,要求系统也能随之变化;开发人员又可 能在设计与实现的过程中遇到一些没有预料到的实际困难, 需要以改变需求来解脱困境。 因 此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利推进 的障碍。尽管在传统软件生存期管理中通过加强评审和确认,全面测试,甚至依靠维护阶段 能够缓解上述问题,但不能从根本上解决这些问题。 为了解决这些问题,逐渐形成了软件系统的快速原型的概念。由于运用原型的目的和方 式不同,原型可分为以下两种不同的类型: ①废弃型:先构造一个功能简单而且质量要求不高的模型系统,针对这个模型系统反复 进行分析修改,形成比较好的设计思想,据此设计出更加完整、准确、一致、可靠的最终系 统。系统构造完成后,原来的模型系统就被废弃不用。 ②追加型或演化型:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统 的核心,然后通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统。 建立快速原型进行系统的分析和构造,有以下的优点: ①增进软件者和用户对系统服务需求的理解, 使比较含糊的具有不确定性的软件需求 (主 要是功能)明确化。由于这种方法能在早期就明确了用户的要求,因此可防止以后由于不能 满足用户要求而造成的返工,从而避免了不必要的经济损失,缩短了开发周期。 ②软件原型化方法提供了一种有力的学习手段。通过原型演示,用户可以亲身体验早期 的开发过程, 获得关于计算机和被开发系统的专门知识。 软件开发人员也可以获得用户对系 统的确切要求,学习到应用范围的专业知识。 ③使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性, 确认系统设计的可行性, 确认系统作为产品的结果。 因而它可以作为理解和确认软件需求规 格说明的工具。 ④软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终 系统的一个组成部分,这样有利于建成最终系统。 12、试简述原型开发的过程和运用原型化方法的软件开发过程。 答:原型的开发和使用过程叫做原型生存期。下图是原型生存期的模型及其细化。①快速分析 :在分析者和用户的紧密配合下,快速确定软件系统的基本要求。 ②构造原型 :根据基本规格说明,尽快实现一个可运行的原型系统。 ③运行和评价原型 :用户试用原型,考核评价原型的特性。纠正过去交互中的误解和分析 中的错误,增补新的要求,提出全面的修改意见。 ④修正和改进 :根据修改意见进行修改。如果用修改原型的过程代替快速分析,就形成 了原型开发的迭代过程。在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。 ⑤判定原型完成 :经过修改或改进的原型,达到参与者一致认可,则原型开发的迭代过 程可以结束。为此,应判断有关应用的实质是否已经掌握,判定的结果有两个不同的转向, 一是继续迭代验证,一是进行详细说明。 ⑥判断原型细部是否说明 :判断组成原型的细部是否需要严格地加以说明。 ⑦原型细部的说明 :通过文件加以说明那些不能通过原型说明的项目。 ⑧判定原型效果 : 考察新加入的需求信息和细部说明信息, 看其对模型有什么影响? 是 否会影响模块的有效性? 如果模型受到影响,则要进行修正和改进。 ⑨整理原型和提供文档 快速原型方法的提出使得传统的软件生存期在思想方法上受到了影响。如果只是在局部 运用原型化方法, 若将原型开发过程用于软件生存期的某一个阶段内, 那么传统的软件生存 期依然不变, 只是阶段内部的软件定义或开发活动采用了新的方法。 但若原型开发过程代替 了传统生存期中的多个阶段,则软件开发过程就成为一种新的形式。 图(a)表示了使用原型方法的软件生存期模型。 原型开发过程处于核心, 表示可在生存期 的任何阶段中引入原型开发过程,也可合并若干阶段,用原型开发过程代替。图(b)详细描 述了在各个阶段可能引入原型开发过程的软件开发过程。 其中在原型开发过程的最后加上了 一个“是否构造新原型”的判断, 这是针对在系统开发的过程中有可能为不同的目的而要使 用多个原型的情况而设。 ①辅助或代替分析阶段 :在分析阶段利用快速原型方法可以得到良好的需求规格说明。 在整体上仍然采用传统的模式, 但使用原型化方法来补充和完善需求说明以达到一致、 准确、 完整、 无多义性地反映用户要求, 从而代替了传统的仅由复审和确认来提高需求规格说明质 量的方法。并能在早期克服潜在的误解、遗漏和错误,尽量不让潜在的问题遗留到开发的后 期,减少将来维护的代价。 ②辅助设计阶段 :在设计阶段引入原型,可根据需求分析得到的规格说明进行快速分析, 得到实现方案后立即构造原型,通过运行,考察设计方案的可行性与合理性。在这个阶段引 入原型,可以迅速得到完善的设计规格说明。原型可能成为设计的总体框架,也可能成为最 终设计的一部分或补充的设计文档。 ③代替分析与设计阶段 : 这时不再遵循传统的严格按阶段进行软件开发的要求, 而是把 原型方法直接应用到软件开发的整体过程。 在实施原型开发的过程中, 不再考虑完善的需求 说明,把分析、定义和设计交织在一起,通过原型的构造、评价与改进的迭代过程,逐步向 最终系统的全面要求靠近。 由于在分析的同时也考虑了设计与实现的要求, 能更有效地确定 系统的需求和设计规格说明。 ④代替分析、 设计和实现阶段 : 在软件开发环境的支持下, 通过原型生存期的反复迭代, 直接得到软件的程序,交付系统测试。这属于进化型的原型开发,由初始的基本需求得到最 初的原型开始,一直进化到软件的整体系统,并满足用户的一切可能的要求。 ⑤代替全部定义与开发阶段 : 这是典型的进化型原型开发方法。 完全摆脱了传统的软件 生存期模式,通过反复的原型迭代过程,直接得到最终的软件产品。系统测试作为原型评价 工作的一部分,融入原型的开发过程。 13、软件需求分析说明书主要包括哪些内容? 答:软件需求规格说明是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行 为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。 软件需求规格说明的框架如下:14、阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。 某大企业最近决定采用高性能微机开发人事管理系统,将四台联机终端分置于人事处的 三个科室。 该系统可供操作员和程序员使用, 也可供人事处负责人和主管人事的副厂长等查 询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事 文件,通过搜索这些文件进行各类人事信息的查询。 该企业有3000多个工人、干部和技 术人员,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。厂领导决 定由计算机应用科来负责协调和开发应用系统。 计算机应用科科长指示系统工程师张某负责 进行系统分析。 考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点, 计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。 系统工程师张某通过调查收集到如下10条意见: (1) 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响 操作人员的工作效率。 (2) 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系 统应当提供HELP功能。 (3) 某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应出 现击键后,计算机没有任何反应的情况。 (4) 某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能 告诉我们出错的性质和错在什么地方。 (5)某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维 护人事管理系统。 (6) 教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系 统的设计技巧,有助于提高系统的使用效率。 (7) 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能 缩短和减少操作员输入的信息,以降低出错概率。 (8) 某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会 话系统在响应时间较长时应给予使用者以提示信息。 (9) 人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系 统使用十分清晰的格式,并容易对输入数据中的错误进行修改。 (10) 人事处干部丁认为: 人事管理系统应当具有相当的保密性和数据安全性, 因此在屏 幕上显示出的信息应该含混一些,以免泄密。 系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的 10 条意见中有 3 条 意见是不能接受的,写出编号并各用 40 字以内叙述理由。 答:不能接受的 3 条意见是 (5)、(6)、(10)。人机交互界面首先考虑的是用户如何使用起 来方便,与编程习惯、设计技巧无关。此外,屏幕上信息应很清晰易懂,安全保密与屏幕显 示无关。面向对象一、填空题 1、面向对象的特征是对象唯一性、分类性、继承性和多态性 2、面向对象有三个基本要素,它们是抽象、封装性和共享性。 3、类具有属性,它是对象状态的抽象,用数据结构来描述类的属性。 4、类具有操作,它是对象行为的抽象,用操作名和操作方法实现来描述。 5、在类层次中,子类只继承一个父类的属性和方法,则称为单继承。子类继承了多个父类的属性和方法, 则称为多继承。 6、OMT 方法是 RumBaugh 等人提出的面向对象开发方法。开发工作的基础是对现实世界的对象建模,然后 围绕这些对象使用分析模型来进行独立于语言的设计。 。 7、Coad 和 Yourdon 方法完成了从需求角度出发的对象和分类结构认定工作,面向对象设计可以在此基础 上,从设计的角度进一步进行类和类层次结构的认定。 8、Booch 方法通过分析问题陈述正文,将其中的名词映射为对象,将其中的动词映射为方法,从而为对 象和方法的认定提供了一种简单的策略,虽然 Booch 方法原是面向 Ada 的语言,但仍处于面向对象开发方 法的奠基性地位。 9、UML 不仅统一了 Booch 方法、OMT 方法、OOSE 方法的表示方法,而且对其作了进一步的发展,最终成 为为国际对象组织(OMG)认可的同一建模语言。 10、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般化―特 殊化关系和整体-部分关系。 11、在面向对象设计中存在三种内聚,即操作内聚、类内聚和一般化-特殊化内聚。 二、单选填空题 1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组 C 和它可以执行的一组操作来定义。 A. 服务 B. 参数 C. 属性 D. 调用 2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为 B。此定义包括一组数 据属性和在数据上的一组合法操作。 A. 聚合 B. 类 C. 结构 D. 主题 3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。一个类的 上层可以有父类,下层可以有子类。这种系统的类层次结构的一个重要性质是 D,通过它,一个类可共享 其父类的全部数据和操作。 A. 传递性 B. 复用性 C. 并行性 D. 继承性 4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方 法相比,它具有 A 的优点。 A. 设计稳定 B. 性能稳定 C. 模块独立 D. 硬件独立 5、封装性是指所有软件部件都有明确的范围以及清楚的外部边界。每个软件部件都有友好的 B,软件部 件的内部实现和外部使用分离。 A. 使用方式 B. 界面 C. 调用 D. 继承 6、属性指的是类中对象具有的特性(数据) 。不同对象的同一属性可具有相同的或不同的 A。 A. 属性值 B. 操作 C. 服务 D. 控制 7、操作是类中对象所使用的一种功能或变换。类中的各个对象可以共享操作,方法是类中操作的 B。 A. 别名 B. 实现步骤 C. 功能 D. 脚本 8、A 应当在应用分析之前进行,因为我们在了解问题之前应对问题敞开思想考虑,不应加以限制。 A. 论域分析 B. 高层设计 C. 实例建立 D. 类的开发 9、应用程序可以通过执行对象的操作来改变对象的属性值,但它必须通过 C 的传递。 A. 接口 B. 控制 C. 消息 D. 实例 10、在软件开发过程中,抽取和整理用户要求并建立问题论域精确模型的过程叫做 D。 A. 生存期 B. 面向对象分析 C. 面向对象程序设计 D. 面向对象设计 11、Rumbaugh 等人提出的对象模型化技术 OMT 把分析时收集到的信息组织在三种模型中,即对象模型、 动态模型和 C。 A. 信息模型 B. 控制模型 C. 功能模型 D. 行为模型 12、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构。它是从现实世界实体的相 互关系的角度来描述、表现对象间的相互关系。该模型主要关心系统中对象的结构、属性和操作,使用了 B 的工具来刻划。 A. E-R 图 B. 对象图 C. 系统流程图 D. 系统结构图 13、组装关系是一种“整体-部分” 关系。在这种关系中,有整体类和部分类之分。组装关系中最重要的 性质是 D,它还具有逆对称性。 A. 局部性 B. 完整性 C. 一致性 D. 传递性 14、分类关系是“一般化-特殊化”关系。一般化类又称为父类,特殊化类又称为子类。分类关系和 C 是 同时存在的。 A. 传递性 B. 逐步求精 C. 继承性 D. 全局性 15、继承有单继承和多继承。单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该 类层次结构是树形结构。多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层 次结构是 C 层次结构。 A. 树形 B. 星形 C. 网状 D. 环形 16、动态模型描述与时间和变化有关的系统的性质。该模型描述了系统的控制结构,表示了瞬时的行为化 的系统控制性质,它关心的是系统的控制、操作的执行顺序。它从系统涉及的事件和对象的 A 出发,表现 了对象及对象间的相互行为。 A. 状态 B. 属性 C. 操作 D. 控制 17、动态模型描述的系统属性是触发事件、事件序列、状态、事件和状态的组织。使用 A 作为描述工具。 A. 状态图 B. 顺序图 C. 活动图 D. 进程图 18、功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能。数据流图有助于表示功 能依赖关系,其中的处理对应于状态图中的活动和动作,数据流对应于对象图中的 B。 A. 实例连接 B. 对象或属性 C. 消息传递 D. 关联 19、操作与对象模型中的属性和关联的查询有关,与动态模型中的 A 有关,与功能模型中的加工有关。 A. 事件 B. 状态 C. 变换 D. 处理 20、面向对象设计阶段中的高层设计是要确定实现系统的策略和目标系统的 A。 A. 体系结构 B. 算法设计 C. 类结构 D. 类设计 21、面向对象设计阶段中的类设计是要确定实现方案中的类、关联和接口形式及实现操作的 D。 A. 逻辑 B. 顺序 C. 控制 D. 算法 22、状态是对象属性值的抽象,状态指明了对象对 A 的响应。 A. 输入事件 B. 输入信息 C. 输入数据 D. 输入序列 23、活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与 B 联系在一起 的操作。 A. 时间 B. 事件 C. 控制 D. 状态 24、 事件可以看成是信息从一个对象到另一个对象的单向传送。 因此要确定各事件的发送对象和接收对象。 A 用来表示事件、事件的接收对象和发送对象。 A. 事件追踪图 B. 进程图 C. 脚本 D. 状态序列图 三、选择填空题 2、从供选择的答案中选出与下面有关面向对象范型的叙述最适合的答案,将其编号填入相应的括号内。 ?对象是面向对象范型的( 来表征。应用执行对象的( 以认为,这种( D A C ) 。每个对象可用它自己的一组( )可以改变该对象的( B B )和它可以执行的一组( D C ) ) 。它的应用必须通过( E ) 。 )的传递。可)的传递大致等价于过程性范型中的函数调用。某些语言提供了特殊功能,允许对象引用自己。若一个对象没有显式地被引用,则可让该对象( 供选择的答案:A①B⑤C.③D.②E.③A.①基本单位 ②最小单位 ③最大单位 ④语法单位 B~C. ①行为 ②功能 ③操作 ④数据 ⑤属性 D.①接口 ②消息 ③信息 ④操作 ⑤过程 E.①撤消 ②歇着 ③缺省 ④隐式引用 ⑤引用自己 3、 从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案, 将其编号填入相应的括号内。 ?在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的应 用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个( A )的单元。这样 就有一个(B)生存期问题。 (B)生存期有自己的步骤,与任一特定应用的开发( D BC) 。按照这些步骤,可以完整地描述一个基本() 。而不仅仅考虑当前正在开发的系统。系统开发的各个阶段都 )生存期引导开发工作逐个阶段循序渐进。可能会标识新的类。随着各个新类的标识, ( ( E )复用既存类;对既存类进行( F?在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是: )以得到满足要求的类;重新开始进行开发。 供选择的答案:A.①,B.③,C.④,D.②,E.③,F.④ A.①可复用 ②可测试 ③可适用 ④可靠 B. ①应用 ②寿命 ③类 ④软件 C. ①相关②密切相关③负相关④无关 D.①概念②实体③事件④事情 E, F. ①修改 ②更新 ③照原样 ④ 演化 7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。 ?从分析到设计的过程流如图所示。一旦已经开发完成一个合理完整的( 的设计。这需要描述( 旦定义了各个( 为( E )。 B B ),就开始( C A )模型后,就要着手( B ) )的特征,以准确表达待实现的用户需求,以及实现需

我要回帖

更多关于 因果矩阵 的文章

 

随机推荐