首页 > 范文大全 > 正文

DO―178C与CMMI软件项目策划过程浅析

开篇:润墨网以专业的文秘视角,为您筛选了一篇DO―178C与CMMI软件项目策划过程浅析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要

策划过程通常是一个软件项目开发过程中较早涉及的一个活动,也是一个软件需求被顺利实现、软件项目被成功实施的基础过程。在现代航空设备制造业的软件开发过程中经常涉及的两份标准:do-178ccmmi中,分别是如何对策划过程进行定义的,两份标准对策划过程认定的目标是什么,有哪些异同,如何兼顾实施。本文从两份标准出发,对其描述的策划过程进行分析和对比,并对标准的适用范围进行了探讨。

【关键词】DO-178C CMMI 策划 软件项目

现代航空设备制造业在产品软件的设计研发过程中会经常涉及到两份认定标准――DO-178C与CMMI。这两份标准都定义和描述了机载软件的标准化开发过程,就软件研发过程的具体行为和步骤给出了要求和评价标准,并在不同领域中作为合同选择或产品使用的判断依据。

软件项目策划过程,作为一个软件项目设计过程中的首要步骤和关键环节,对整个软件项目的成败起着至关重要的作用,在这两份标准中都有着明确的规定。两份标准分别认定的项目策划目标是什么,是如何对软件项目策划过程进行定义的,有哪些相同点和区别,是否存在一种兼顾两种标准要求的项目策划实施方法?本文从两份标准的产生背景出发,重点针对如何有效的实现软件项目策划目标开展深入分析,对两份标准在软件项目策划过程中的异同和适用范围进行了探讨。

1 标准概述

1.1 DO-178C

DO-178C,机载系统与设备软件适航性要求,由RTCA(美国航空无线电委员会)第205特别委员会(SC-205)和EUROCAE(欧洲民用航空电子学组织)第71工作组(WG-71)编制,于2011年12月13日。DO-178C标准是一份“面向目标”、“面向进程”的适航标准,主要用于民用航空机载软件适航认证,为航空器及其设备的软件是否满足适航要求提供了指南。

在国际适航认证标准体系中,DO-178C是唯一一份专门针对机载软件的认定标准,同所有的适航标准法规的关注点一样,DO-178C目的是为机载系统和设备中的软件开发提供指南,以使软件在安全方面以一定的置信度完成其预定功能,并符合适航要求。在标准内部将软件失效等级和安全关键程度分为五级。

1.2 CMMI

CMMI(Capability Maturity Model Integration),能力成熟度模型集成,是由美国国防部与卡内基-梅隆大学下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Association)共同开发的能力成熟度模型集合。从软件开发的过程管理、项目管理、工程管理、支持管理四个方面提供了一系列的优秀实践集合,用于改进软件企业的能力,并对其成熟度提供了一种评价方式。CMMI的最新版本为V1.3版。

CMMI产品套件含有大量的信息和指导,用以帮助组织改进其过程。依据CMMI标准完成评价的成熟度等级,已在世界范围内被广泛应用在政府或防务领域的软件项目开发资格审定及软件企业评价中。

1.3 标准异同

DO-178C和CMMI的主要不同为:

1.3.1 应用领域不同

DO-178C应用领域为机载系统/设备软件,CMMI对应用领域没有限定,甚至不局限于软件开发领域。

1.3.2 强制性不同

虽然DO-178C自我声明是推荐性标准,但是在FAA和EASA的适航审定过程中却是强制要求项;CMMI没有领域强制要求认证,但是在政府及防务工程中通常需要考察企业的CMMI等级,作为是否具备承包资格的一项考虑。

1.3.3 关注目标不同

DO-178C关注的首要目标是安全性,CMMI关注的首要目标是过程改进。

1.3.4 关注对象不同

DO-178C关注的是具体的软件产品配置项,只要该软件产品配置项达标即被认可;CMMI关注的是软件组织的能力,相对并不关注单个软件项目的具体表现。

1.3.5 认定标准不同

DO-178C是适航类标准,规定了目标下限,即只要满足最低值要求即可通过认定;CMMI强调的是组织的持续改进能力,在CMMI的最高成熟度等级追求的是企业的自我不断改进,没有上限。

2 软件项目策划的意义

IEEE对软件工程的定义为:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。因此,软件项目策划方法也大量借鉴了传统工程的策划原理。

2.1 项目启动时的策划工作

“凡事预则立,不预则废”,策划是一个软件项目的启动工作,也是整个软件项目的成败关键。与传统工程项目管理类似,软件工程策划过程的核心工作成果之一是进度表。进度表的基本功能为:

(1)获得执行者什么时候完成任务的承诺;

(2)将各执行者的工作组织整合为一个整体;

(3)提供一种追踪项目进度或将工作拆分为若干个易于管理的小块的工具。

由此可见,良好的策划能够合理的分解项目目标,建立可测量和实现的里程碑节点,向执行者明确工作子项并将各类执行者有序的组织起来。

2.2 项目执行过程中的策划工作

项目策划过程作为一种预测未来的行为,在项目的初期制定出一份完美的没有任何误差的进度表是不可能的。项目策划的难度在于,策划过程试图规划的时间跨度越长,其偏差度就越大,就像对着一个极远的靶标进行射击,其距离越远,偏差的概率就越大。

熵是无处不在的,计划执行中的异常情况会对策划的结果产生很大的影响。即使是一份完全精确估计,符合实际工作量的进度策划,由于执行过程中产生的偏差,同样会导致计划执行结果的巨大偏差。如果在计划中存在五个里程碑,每一个里程碑的按期执行概率为90%,那么计划最终被按期执行的概率仅为5*90%=45%。

因此项目的策划活动绝不是在项目初期开展的一次性活动,而是需要在项目的执行过程中不断开展的一项工作。

综上所述,策划活动一方面需要通过科学的方法,在项目初期实现尽可能精确的预测估算,使进度表能够最大程度的贴近实际情况;另一方面也需要在进度表被执行的过程中进行不断的监控和修订、维护工作。DO-178C与CMMI两份标准各自提供了一类策划活动的方法集,用于要求和支持软件项目的策划过程。

3 项目策划过程异同点分析

3.1 DO-178C项目策划过程

DO-178C规定的软件策划过程目的是定义软件实现的方法,使软件既满足其需求,也能够提供与软件等级一致的置信度。

DO-178C为软件策划过程提供了7项目标,分别对定义开发过程、确定生命周期、定义软件生命周期环境、定义系统安全目标、制定软件计划、确保计划协调等方面予以说明。

在DO-178C中详细描述了软件策划过程活动、应的软件计划、软件生命周期环境策划、制定软件开发标准、软件策划过程的评审等策划活动中应满足的要求和开展的活动,为其应当满足的标准进行了定义。

3.2 CMMI项目策划过程

CMMI的策划过程域综合了一系列的最佳实践,以指导项目策划人员制作一份基于项目需求并可指导具体工作的计划制定方法和修订准则,并为每一类实践指明了目标。

3.2.1 项目启动时的策划工作

策划活动是CMMI基础项目管理过程中的一个过程域,其目的是“制定和维护定义项目活动的计划”,共包含三个特定目标:建立估计、制定项目计划和获得计划的承诺,这三个目标存在时间先后顺序,后一个目标均以前一个目标的结果为输入,依次运行并形成最终的结果:一份软件项目初始或迭代的“软件开发计划”。

第一个目标:建立对项目的项目计划参数估计,是通过当前的输入推算出整个软件项目基本属性和数值的过程。CMMI要求以需求为基准,对需求和工作任务进行拆分,形成工作分解结构(WBS),并据此建立工作产品和任务的项目属性(包括交付物、文件及功能点数等),根据这些属性选择确定软件生命周期模型,并最终通过一系列的估算确定项目的工作量和成本的估计值。这些估计值是“制定项目计划”的基础。

第二个目标:制定项目计划,是在估算的基础上完成计划的科学制定的过程。在工作量、成本、投入人力资源、时间进度要求的基础上,对这些因素进行平衡,以WBS工作包为最小单元,制定预算和进度表,同时完成确保项目被顺利推进的其他计划,包括风险计划、数据管理计划、项目资源计划、知识技能计划、利益相关方参与计划等计划的编制,并最终整合形成软件开发计划。这些计划是“获得计划承诺”的输入。

第三个目标:获得对计划的承诺,是确保计划被利益相关方和执行人充分理解并获取支持、投入和承诺的过程。该过程对计划进行评审,同时获得两方面的承诺:一方面是管理者和相关人员对计划所需各类资源(人力、物力、财力、参与投入等)的承诺,另一方面是计划执行者对计划工作分解和时间要求的认可和执行承诺。

3.2.2 项目执行过程中的策划工作

在CMMI的项目监控过程域中的“采取纠正措施”及需求管理过程域中的“标识项目工作与需求之间的不一致性”,为项目执行过程中出现的因不准确的估计、执行偏差、需求和承诺的变更等导致的计划变更而产生的维护活动定义了触发时机和计划修订入口。

3.3 策划过程异同

通过前文分析,可得出DO-178C与CMMI在策划过程中的主要区别为:

3.3.1 目的不同

CMMI的策划目的为形成能够指导软件开发工作的计划,DO-178C的策划目的为定义软件实现方法,并提供必要的置信度。

CMMI关注的是如何通过一系列活动形成一个具体的工作产品,即软件开发计划,而DO-178C是通过计划帮助软件开发过程受控并达到既定的安全等级。

3.3.2 关注点不同

CMMI关于项目策划活动的关注目标为三个,都围绕如何形成软件开发计划而设置,并未直接关注工程细节和安全性,并且目标的实现存在前后的逻辑关系,不能跳过上一个目标而直接实现下一个目标。

DO-178C关于策划活动的目标有七个,分别覆盖了软件开发计划的形成、生命周期环境、软件安全等级、开发标准等方面,较CMMI相比,其关注范围更加广泛,围绕确保软件安全等级提出了更为全面的要求,但目标之间没有严格的先后时间顺序要求。

3.3.3 内容侧重点不同

CMMI为软件策划过程提供了一种具体的框架和方法集,在其中定义了推荐的最佳实践,按照标准规定的目标和特殊实践,能够演推出可实现的计划和进度表。

DO-178C对软件策划的内容与其他适航标准类似,规定了策划过程中的最低要求,但要求之间并没有明显的关联性,直接使用DO-178C很难形成一份可实现的计划和进度表。较CMMI而言,DO-178C规定的策划过程更像是一份符合性的检查单而非一份作业指导书,适用于检查评定策划活动是否达标,而不适用于指导该过程。

4 结论

综上所述,由于DO-178C重点关注的是安全及规范的研制流程,CMMI重点关注的是成熟度(即各个过程与的实现程度),所以两份标准对策划过程的定义也体现了关注点的不同。在机载航空产品的研制过程中,两份标准并不矛盾,可以共同施用,也可按照自身产品的目标市场,选择其一施用。需要注意的是,DO-178C是针对具体一个产品的过程认证,更类似与事后评价(获得产品研发协议或意向后再评价),企业可以先行组织产品研制,但如果适航审定不能通过,那么对应的设备无法获得装机许可。CMMI是针对整个软件组织的成熟度认证,在认证过程中并不完全以单个设备的表现而做出评价,而是对整个组织的软件工程管理水平给予评价,更类似于事前评价(获得产品研发协议或意向前就做出评价),如果现场审查不能通过,则企业将无法获得有CMMI成熟度要求的合同意向。在企业对两份标准的共同施用过程中,如果企业具备较强的软件工程管理能力和经验,则可以直接利用两份标准进行对标审查,查找遗漏项并在体系文件和开发过程中完善;如果企业策划活动能力较弱,则建议先按照CMMI标准指导搭建软件策划过程的基本流程,再利用DO-178C进行对标补遗。

参考文献

[1]Royal Technical Commision on Aviation.DO-178C.P5.

[2]Dennis M. Ahern,Aaron Clouse,Richard Turner.CMMI Distilled Third Edition.P46.

[3]Scott Berkun.Making Things Happen Mastering Project Management.P30,P31.

[4]the Software Engineering Institute,Carnegie Mellon University.Capability Maturity Model Integration,V1.3.

作者单位

陕西千山航空电子有限责任公司 陕西省西安市 710065