福师《软件过程管理》练习题及标准答案.pdf_第1页
福师《软件过程管理》练习题及标准答案.pdf_第2页
福师《软件过程管理》练习题及标准答案.pdf_第3页
福师《软件过程管理》练习题及标准答案.pdf_第4页
福师《软件过程管理》练习题及标准答案.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 软件过程与软件管理课程复习题 (一一) 解释相关概念或术语解释相关概念或术语 1) 软件工程软件工程 是指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概 念、原理、方法和技术,进行软件的开发和维护,并与经过时间证明正确的管理方法与措施相结合,以较少 的代价获取高质量的软件。 The IEEE Computer Society:是(1) 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过 程,即将工程化应用于软件中。(2) 对(1)中所述方法的研究。 2) 软件过程软件过程 软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手 册等)的一套行为、方法、实践及变换过程 根据 IEEE 对软件过程概念的解释,软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、 软件管理、软件支持等 7 大类的软件活动 ISO12207 分别将这些活动归结为基本过程、支持过程和组织过程等 3 大类 3) 软件过程工程软件过程工程 为建造软件过程所进行的一系列工程化活动,包含如下基本活动:过程定义、过程例化、过程模拟、过程运作。 现代软件工程=软件项目工程+软件过程工程,这标志着软件过程的时代的到来。 4) 软件配置管软件配置管理理 SCM 是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的 状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995 软件工程术语) 。 针对 SCM 在软件生命周期各阶段所起的作用,一个完整的 SCM 环境要求具有版本控制、变更管理、状态统计、 和配置审计的功能。 5) CMM CMM 是指“能力成熟度模型” ,其英文全称为 Capability Maturity Model for Software,英文缩写为 SW-CMM,简 称 CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM 的核心是把软件开发视为一个过程, 并根据这一原则对软件开发和维护进行过程监控和研究, 以使其更加科学化、 标准化、使企业能够更好地实现商业目标。 6) CMM 中的关键过程域中的关键过程域 每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面, 它们的实施对达到该成熟度等级的目 标起到保证作用。这些过程域就称为该成熟度等级的关键过程域。 确定了实现一个成熟度级别所必须解决的问题 处于级别 3 的机构,必须解决级别 2 和级别 3 的所有关键过程域中的问题 每个关键过程域都确定了一套相应的活动, 完成了这些活动, 就达到了被认为是对改进过程非常重要的一组 目标 目标说明了每个关键过程域的范围、界限和意义 对于满足关键过程域的机构,一个关键过程域的所有目标都必须实现 每个关键过程域的目标总结了它的关键实践 7) CMM 中的关键实践中的关键实践 是指关键过程域种的一些主要实践活动。 每个关键过程域最终由关键实践所组成, 通过实现这些关键实践达到关 2 键过程域的目标。一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。 描述了对关键过程域的有效实施和制度化起重要作用的基础设施和活动。 每个关键过程域最终由关键实践所组成,通过实现这些关键实践来达到关键过程域的目标。 关键实践描述要做“什么” ,但没有强行规定应当“怎样”完成目标。 关键实践的下面描述更为详细的各实践。 8) PSP 个体软件过程(Personal Software Process,PSP)是一个过程描述、测度和方法的结构化集合,能够帮助软件工 程师改善其个人性能。它提供了表格、脚本和标准,以帮助软件工程师估算和计划其工作。它显示了如何定义过 程及如何测量其质量和生产率。 9) TSP TSP(Team Software Process,团队软件过程/群组软件过程)是为开发软件产品的开发团队提供指导,TSP 的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。TSP 被设计为满足 220 人规模的开发团队,大型的多团队过程的 TSP 被设计为大约最多为 150 人左右的规模。 TSP 是一个小组软件过程框架 TSP 指导你通过小组软件工程的每一个步骤 TSP 向你表明该如何在一个小组协同工作环境中工作 TSP 教会你如何规划和管理一个小组项目 TSP 教会你如何为小组成员分配不同的角色 TSP 为小组提高生产力确立了一个过程 10)SCM (Software Configuration Management) :又称软件形态管理、或软件建构管理,简称软件形管(SCM)。界定软件的 成项目,对每个项目的变更进行管控(版本控制),并维护不同项目之间的版本关联,以使软件在开发过程中任一 时间的内容都可以被追溯,包括某几个具有重要意义的数个组合,例如某一次交付给客户的软件内容。 (二二) 简要回答下列问题简要回答下列问题 1) PSP 和和 TSP 中质检过失比(中质检过失比(A/FR)是一个重要的质量度量参数。请简要说明)是一个重要的质量度量参数。请简要说明 A/FR 分别小于分别小于 1 和大于和大于 2 时对过时对过 程的意义。程的意义。 质检/过失比:质检质量成本/过失质量成本,用来测量在第一次编译前花在查找缺陷上的时间的相对值。可用复 查时间/(编译+测试)时间来计算。能很好地指示测试中发现缺陷的可能性。 当 A/FR2 时,过程产生无缺陷的可能性更大。 A/FR 的值对于小的独立的产品通常比 2.0 要大; A/FR 的值对于相对大的产品等于 1.0 较为合适。 例如,如果有实际总开发时间=262min,实际代码复查时间=29min,则质检成本=100*29/262=11.07% 如果有实际编译时间=5min,实际测试时间=10min,则过失成本=100*(5+10)/262=5.73%。此时, A/FR= 11.07/ 5.73=1.93。可用复查时间/(编译+测试)时间来计算。 2) 在软件配置管理系统中检入与检出是基本功能。请解释该功能的作用。在软件配置管理系统中检入与检出是基本功能。请解释该功能的作用。 检入就是将软件配置项从用户的工作环境存入到软件配置库的过程; 检出就是将软件配置项从软件配置库中取出的过程。 3 3) CMM 的主要用途。的主要用途。 软件过程评估:(SPA,Software Process Assessment)一组经过训练和培训的软件专业人员,确定出一个企业 软件过程的状况,找出软件企业所面对的与软件过程有关的、最急需解决的所有问题,以便取得企业领导层对软件过 程改进的支持企业内部。 软件过程改进: (SPI, Software Process Improvement)帮助软件企业对其软件过程向更好的方向改变,进行计 划、制定以及实施。 软件能力评价:(SCE, Software Capability Evaluation)一组经过训练和培训的软件专业人员,鉴别出软件承包 者的能力资格;或者是,检查、监察正用于软件制作的软件过程的状况企业外部。 4) CMM 中属于管理类别的关键过程域。中属于管理类别的关键过程域。 2 可重复级:需求管理;软件项目计划;软件项目跟踪及监督;软件子合同管理;软件质量保证;软件配置管理。 3 已定义级:集成软件管理;组间合作。 4 已管理级:定量的过程管理。 5) 简要说明简要说明 PSP 中程序规模与生产率的估计过程。中程序规模与生产率的估计过程。 先(按功能分类)估计程序可能有多少行代码 LOC,再估计编写每行代码需要多少分钟 MIN/LOC;然后(按功 能分类汇总)估算总共需要的时间。 其中对代码行的估计: 较大规模-收集一系列有关数据,建立一个历史记录,用新程序的每个功能比对历史记录中每个类似功能, 然后累加。 小规模-与历史数据比对作出好的规模估计关键是要有大量的历史数据,要进行多次规模估计,要定期将实 际结果与估计值作比较。 6) 软件基线库的要求是建立软件配置管理数据库系统。请简要给出软件配置管理数据库系统中的主要功能。软件基线库的要求是建立软件配置管理数据库系统。请简要给出软件配置管理数据库系统中的主要功能。 软件配置库又称软件受控库,是指在软件生命周期的某一阶段结束时,存放作为阶段产品而释放的、与软件开发 工作有关的计算机可读信息和人工可读信息。 软件配置库存储一般采用数据库的形式。 软件配置管理就是对软件配置 库中的各项软件项管理。 7) 软件工程过程组与软件工程组的主要区别。软件工程过程组与软件工程组的主要区别。 软件工程组(Software Engineering Group) :负责一个项目的软件开发和维护活动的团体。活动包括需求分析、 设计、编码和测试等。 软件工程过程组(Software Engineering Process Group) :是由专家组成的组,他们推进组织采用的软件过程的 定义、维护和改进工作。软件工程过程组统领 CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、 维护和跟踪与软件过程开发和改进活动有关的计划, 定义用于过程的标准和模板, 负责对全体人员培训有关软件 过程及其相关的活动。 8) 度量与分析在度量与分析在 CMM 中的作用。中的作用。 描述与软件过程相关的基本测量实践, 其目的是控制和改进过程, 度量和分析一般包括测量示例,通过这些示 例可以知道如何确定操作活动的状态和效果。 9) TSP 的启动过程主要包括的步骤及其要点。的启动过程主要包括的步骤及其要点。 启动过程是 TSP 的第一个步骤,其步骤: 1、描述了小组角色的职责 2、制定小组目标 4 3、制定小组成员目标 4、制定角色目标 5、TSP 启动流程 a、TSP 周期 1 小组启动 b、TSP 周期 n 小组启动 c、成员信息表 d、每周例会 e、每周状况报告(WEEK 表) 要点:组建小组不能随意;需要花费时间进行考虑;需要建立小组成员在工作中的相互关系;决定小组成员 所担当的角色;取得目标的一致意见。 10) UML 中活动图可以用来描述什么?中活动图可以用来描述什么? 描述活动之间的数据流或判断 提供多种不同的业务流程视图 描述用例中出现的活动 使用不同的非连续符号显示多种不同的活动 显示并行线程 用来描述事物发展变化的过程,活动图可以描述业务流程,工作流程,类中的操作流程等。 11) 简要说明“简要说明“项目计划总结表”在项目计划总结表”在 PSP 中的作用。中的作用。 作用:在 PSP 中,记录项目的计划数据和实际数据的表格叫项目计划总结表。在项目开始时,软件工程师记录 计划部分的值;项目完成时,记录实际值,并累积值和累积百分比。计划不是一个准确的过程,作为一种技能,计划 可以逐步的改善和提高,而提高的最主要途径是为所作的每一项工作做计划,然后对于每一项已经完成的工作,将它 的计划值与实际结果作比较。 这样可以更清楚的了解计划中的差错并且学会制定更好的计划。 通过对缺陷数据的记录 分析,可以清楚的看到设计过程中存在的问题,作为对日后开发有益的补充。 12) ROSE 的基本功能有哪些的基本功能有哪些 1、对业务进行建模(工作流) ; 2、建立对象模型(表达信息系统内有哪些对象,它们之间是如何协作完成系统功能的) ; 3、对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步; 4、建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等) 5、生成目标语言的框架代码,VB、JAVA、DELPHI 等 (三三) 论述题论述题 1) 从从 PSP、TSP、CMM 所关注的焦点,简要论述所关注的焦点,简要论述 PSP、TSP、CMM 之间的关系。之间的关系。 1. PSP、 TSP 和 CMM 为软件产业提供了一个集成化的软件过程框架。三者互相配合,各有侧重,形成了不 可分割的整体。 2. CMM 注重于组织能力和高质量的产品,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管 理方式。然而,它实现的成功与否和 TSP、 PSP 密不可分。 在 CMM 的 18 个关键过程域中,有 12 个与 PSP 紧密相关,16 个与 TSP 紧密相关。 3. PSP 注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追 踪个人的表现。软件工程师们在他们参与的项目工作之中若充分利用 PSP, 则可以保证项目整体的进度和质 量,有助于 CMM 目标的实现。 4. TSP 注重团队的高效工作和产品交付能力,结合 CMM 的管理方法和 PSP 的工程技能,通过告诉软件工程 5 师如何将个体过程结合进小组软件过程,通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并 且依据数据进行项目的管理,向组织展示如何应用 CMM 的原则和 PSP 的技能去生产高质量的产品。 5. CMM 关注组织所应该做的,它指明组织应达到的目标;PSP 为软件工程师个体持续改进个人的性能提供指 导;TSP 为受训的 PSP 工程师提供作为团队成员如何在高性能团队有效工作的具体指导。三者结合在一起, 使软件组织如期生产高质量的软件产品。 ) 2) 从从 CMM 的框架、结构方面,谈谈的框架、结构方面,谈谈 CMM 是如何指示软件机构的能力成熟度的。是如何指示软件机构的能力成熟度的。 1. CMM 框架中融合了全面质量管理的思想,分别是初始级、可重复级、已定义级、已管理级和优化级。这 5 个级别是机构过程能力的 5 个不同层次的状态, 从第一级到高一级的跃迁分别实现 4 个过程: 有纪律的过程、 标准一致的过程、可预测的过程、持续改进的过程。以 5 个不断进化的层次反映了软件过程定量控制中项目 管理和项目工程的基本原则。 2. CMM 的内部结构包括:成熟度级别,关键过程域,共同特性和关键实践。通过定义成熟度级别表示了过程 能力的水平;通过关键过程域确定了实现一个成熟度级别所必须解决的问题;共同特性是一组属性,指明一 个关键过程域的执行和制度化是否有效、可重复和可持续;关键实践描述了对关键过程域的有效实施和制度 化起重要作用的基础设施和活动。 3)从管理和控制的角度,谈谈建立软件基线的意义。从管理和控制的角度,谈谈建立软件基线的意义。 1. 基线是软件生命周期各阶段末尾的特定点, 其作用是把各阶段工作划分的更加准确, 使之便于检验和确认阶 段开发成果。在 CMM 中,项目建立或使用一个仓库用于存放配置项/单元和相关的 SCM 记录。仓库的内容 称为软件基线。 2. 建立软件基线库不仅仅是对软件开发的过程管理变得更加容易准确,最关键的它还是一种高效的管理方法, 有助于最大程度的降低软件开发成本,提高质量和用户满意度。 从管理角度看,其意义主要表现在以下几个方面: 软件基线是软件生命周期各阶段末尾的特定点,即里程碑。其意义在于能把各阶段工作划分的更加准确,使 之便于检验和确认阶段开发成果。 在软件的整个生命周期中,建立和维护软件产品的完整性。 对系统不同版本进行标识和跟踪的过程,可以保证软件技术状态的一致性。 指导软件组织提高软件开发管理能力; 降低软件承包商和采购者的风险; 评估软件承包商的软件开发管理能力; 从控制角度看,其意义表现在以下几个方面: 通过软件配置管理的更改控制和配置审核功能, 可以系统地控制基线的更改和那些利用软件基线库构成的软 件产品的发行。 根据文档化的规程生成由软件基线库制造的产品,并控制它们的发行。 使得软件配置管理活动是有计划的。 选定的软件工作产品是已标识的、受控的和适用的。 已标识的软件工作产品的变更是受控的。 受影响的组和个人会得到软件基线的状态和内容的通知。 4)从你已有的软件过程与软件管理的知识和软件实践经验,谈谈如何判断软件过程是成熟的和有效的。从你已有的软件过程与软件管理的知识和软件实践经验,谈谈如何判断软件过程是成熟的和有效的。 若软件过程满足如下几个标准,则认为其是成熟和有效的: 软件过程被正确无误地通知到现有职员和新雇员, 工作活动均按照己规划的过程进行, 而且和实际进行工作的方 式相一致。 软件过程中,需要时就更新过程,并且通过可控的先导性试验和(或)费效分析使其得到改进。所有项目和在整 个组织中,所有的岗位及其职责都是清楚的。 经理能够严格监控产品的质量和顾客的满意程度;有客观的、定量的基础,进度和预算是现实的基于以前的性能 数据;能达到产品的成本、进度、功能和质量的预期结果。整个过程一致地遵循一个有纪律的过程,而且存在支 6 持该过程的必要基础设施。 5)谈你学习谈你学习 PSP、TSP、CMM 的心得体会。的心得体会。 学习 PSP、TSP、CMM 之后,结合之前自己的项目经历,体会如下: 对于小项目,项目本身不大,开发周期也不长,所以看起来比较简单,比较容易成功。因而往往会忽视了这类小 项目的管理,其实这是一种误解,从本人的经验看来,小项目开发中容易犯以下的一些错误: 开发之前没有认真地进行项目可行性和工作量的估计开发之前没有认真地进行项目可行性和工作量的估计 往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成 时间往往有较大差别。 没有真正的设计过程没有真正的设计过程 开发人员少,意味着不同人员的程序之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到 尾负责一个项目。这两者都让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的结构、接口便分头去做自 己的工作了,没有一份较正式的文档。 这种做法潜在的危险 之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的) ,一个误解可能造成以后的 返工。 另一个潜在的危险是由于讨论时忽略了某些情况, 等大家都按当时的分工完成属于自己的工作后, 才发现各个模 块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。 第三个潜在的危险是一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性 自己从头来。另外,没有文档的程序,日后维护和版本升级都比较困难。 不经过单元测试而直接进入系统测试不经过单元测试而直接进入系统测试 造成这一现象的原因是每个模块相对比较简单,但是为了测试一个模块需要建立一些测试环境。例如,为了测试 一个函数是否正确,应该用一些测试数据去调用该函数,需要编写一些测试数据。但很多人嫌麻烦,觉得反正其他模 块也很快出来了,直接用真正的数据来运行几次就行了。 这样,一旦直接进入系统测试,发现运行结果不正确后需要一步步查找。由于模块间的调用关系,可能查了很久 才发现是某个模块的问题。这种方法一来效率比较低,大量的时间用在了将一个错误定位在模块上了。另外由于这种 测试不完全,真正运行系统,当调用某模块时,可能大部分时候都是正常数据,极少出现边界情况,可能某些边界情 况容易被忽视,很久之后才被发现。但是如果对每个模块进行单元测试时都进行一下边界测试,就会很容易消除一些 隐患,可谓欲速则不达。 (四)选择题和填空题参考答案 ( C )1. CMM2(可重复级)重点关注的是下列哪一个级别的软件过程 。 A. 企业 B. 机构 C. 项目 D. 小组 ( C)2. 下面有关 CMM 模型的描述中,不正确的是 。 A. CMM 模型定义了成熟的软件过程的实践活动 B. CMM 模型提供了改进软件开发过程的结构化模型 C. CMM 模型给出了适用于各种应用范围的专门技术 D. 按照 CMM 模型改进软件过程需要相当可观的费用 ( D )3. 以下哪一个 KPA 不是 CMM2(可重复级)关键过程域 。 A. 软件需求管理 B. 软件质量保证 C. 软件配置管理 D. 定量过程管理 ( B)4. 直接在测试环境中修改源代码违反了下列哪一个 KPA 的规定 。 7 A. 需求管理 B. 配置管理 C. 项目计划 D. 过程变更 ( A )5. 以下哪一项是实施 OPF(组织过程焦点)活动的前提条件 。 A. 成立 SEPG 组 B. 进行同行评审 C. 制定软件项目计划 D. 识别软件工作产品 ( C )6. “定期地评估过程,理解过程的强项和弱项”是哪一个 KPA 的活动 。 A. SQA(软件质量保证) B. OPD(组织过程定义) C. OPF(组织过程焦点) D. SCM(软件配置管理) ( C )7. OPF(组织过程焦点)的验证工作是由 来承担的。 A. SEPG 组 B. SQA 组 C. 高级管理者 D. 项目经理 ( D )8. 在 RUP 中,关于周期(Cycle) 、阶段(Phase) 、迭代(Iteration)的描述错 误的是 。 A. 一个周期由 4 个阶段构成,并产生一代软件产品 B. 每个阶段经历的时间长短可能不同 C. 每个阶段由多个迭代构成,每个迭代产生一个可运行的版本 D. 每个迭代都是一次小型的瀑布式开发,从需求分析直到测试、集成等工作都花费同 样的时间 ( D )9.下列关于过程和软件过程的描述中不正确的是 。 A. 过程对结果的影响往往是决定性的 B. 过程是需要定义的 C. 在软件过程中,产品实现过程被称为“工程过程” D. 过程就是指完成某项任务的步骤之间的先后顺序 ( B )10.下列关于“软件过程管理”和“软件工程”的描述中,不正确的是 。 A. 经典的软件过程不是不好,而是不够,所以要关注软件过程 B. 软件过程管理并不属于软件工程的范畴 C. 软件工程的诞生是为了解决软件危机, 然而软件工程近 40 年的发展并未彻底解决这 个问题 D. 在软件过程管理中并不排斥对经典软件工程方法的应用 ( A)11.软件开发的瀑布模型是 。 A. 适用于需求被清晰定义的情况 B. 一种需要快速构造可运行程序的好方法 C. 最适合于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论