(管理科学与工程专业论文)系统开发过程跟踪与控制的量化分析应用研究.pdf_第1页
(管理科学与工程专业论文)系统开发过程跟踪与控制的量化分析应用研究.pdf_第2页
(管理科学与工程专业论文)系统开发过程跟踪与控制的量化分析应用研究.pdf_第3页
(管理科学与工程专业论文)系统开发过程跟踪与控制的量化分析应用研究.pdf_第4页
(管理科学与工程专业论文)系统开发过程跟踪与控制的量化分析应用研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着信息技术的飞速发展,信息系统的规模越来越庞大,复杂程度越来越高, 信息系统开发项目的需求也越来越大,系统开发质量和开发效率问题成为企业乃 至整个社会关注的焦点。由于系统开发过程中影响质量和开发效率的因素有很多, 项目的成败在很大程度上取决于对其开发过程的控制,因此,软件过程已经越来 越为人们所重视。目前,越来越多的企业认识到了开发过程的重要性,也有越来 越多的有识之士投入到对系统开发过程管理以及过程改进的研究领域之中。能力 成熟度模型( c a p a b i l i t ym a t u r i t ym o d e l c m m ) 的面世带来了一种提高软件过 程能力的途径,迄今为止c m m 已经对各国软件业产生了巨大的影响。然而,c m m 仅提供了改进的框架,却没有给出具体的实施方法。尽管现在关于实施c m m 的 教程和咨询机构层出不穷,然而对于过程管理的分析却多是定性分析,对实际过 程的量化分析却十分少有。c m m 第4 级的关键过程域( k e yp r o c e s sa r e a 一k p a ) 中包含定量过程管理,提出要定量地控制软件项目的过程绩效,但对如何具体实 施定量分析、如何量化分析所关心的因素却没有说明。因此,要量化分析系统开 发过程,就必须给出一种简单、可行的分析方法,建立分析模型,这正是本文的 写作目的。 本文首先研究了实施软件过程管理的方法,结合c m m 模型提出过程改进框 架,并使用软件配置管理,对系统开发过程进行规范化管理:然后根据配置管理 中生成的开发过程文档,分析可能对开发过程产生影响的指标因素,设计了一套 过程控制评价指标体系,并对如何量化分析指标体系、建立度量模型进行研究; 最后以科技管理系统作为实际案例,将过程管理应用于系统开发中,将量化分析 方法应用于过程数据分析中,并得出最终过程度量模型,解释了影响开发效率的 因素,实现了对系统开发过程跟踪与控制的量化分析研究。 关键词:软件过程:c a m ;软件配置管理;评价指标体系;量化分析方法 英文摘要 a p p l i c a t i o nr e s e a r c ho nq u a n t i t a t i v ea n a l y s i so fd e t e c t i n g a n d c o n t r o l l i n gi ns y s t e mp r o c e s s a b s t r a c t w i t ht h ef a s td e v e l o p m e n to ft h ei n f o r m a t i o nt e c h n o l o g y , i n f o r m a t i o ns y s t e m b e c o m e sl a g e ra n dm o r ec o m p l i c a t e d ,a n dt h ed e m a n do ft h ei n f o r m a t i o ns y s t e mi s d e v e l o p i n gw i t hf a s ts p e e d s om o r ea n dm o r ec o m p a n yf o c u so nt h ee f f i c i e n c ya n dt h e q u a l i t yo fs y s t e mp r o c e s s a n das u c c e s s f u ls y s t e md e p e n d so np r o c e s sc o n t r o l l i n gd u e t ot h eu n c o u n t a b l ef a c t o r sw h i c hi n f l u e n c et h ee f f i c i e n c ya n dt h eq u a l i t yo fs y s t e m p r o c e s s ,s op r o c e s sc o n t r o l l i n gh a sb e c o m em o r ea n dm o r ei m p o r t a n t n o w , m o r ea n d m o r es p e c i a l i s t sg oi n t ot h er e s e m c ho fp r o c e s sm a n a g e m e n ta n di m p r o v i n g t h e c o m i n gf o n l lo fc m m ( c a p a b i l i t ym a t u r i t ym o d e l ) b r o u g h tam e t h o d t oi m p r o v et h e p r o c e s sc o n t r o l l i n g a n dn o wc m m h a sab i gi l _ 1 t l u e n c ei nt h ei ti n d u s t r y b u tc m m o n l yo f f e r sa ni m p r o v i n gf l a m e ,w i t h o u tt h ep r a c t i c a lm e t h o d t h e r ea r e al o to fc o u r s e s a n dc o u n s e l i n g ,w h i c hi sa l w a y sb a s e do nt h eq u a l i t a t i v ea n a l y s i si n s t e a do fq u a n t i t a t i v e a n a l y s i s q u a n t i f i c a t i o n a lp r o c e s sm a n a g e m e n ti sr e f e n - e db yk p a ,c m ml e v e l 4 ,b u t w ec a nn o tl e a r nh o wt oa n a l y z et h ek e yf a c t o r sf r o mi t s oas i m p i ea n dp r a c t i c a l a n a l y s i sm e t h o da n da n a l y z i n gm o d e li sv e r yi m p o r t a n tf o rt h eq u a n t i t a t i v ea n a l y s i so f t h es y s t e mp r o c e s s i ti st h er i g h ti n t e n t i o nt ow r i t et h ef o l l o w i n gd i s q u i s i t i o n t h et h e s i ss t u d i e st h em e t h o do fs o r w a r ep r o c e s sm a n a g e m e n tf l r s t l na n dp u t f o r w a r da ni m p r o v i n gf r a m e w o r kc o m b i n e dw i t hc m m ,a n du s e ss c mt os t a n d a r d i z e t h es y s t e mp r o c e s s t h e na n a l y z e st h ef a c t o r sw h i c hp r o b a b l yi n f u e n c es y s t e mp r o c e s s a f t e rt h a t ,d e s i g na n dv a l i d a t eas e r i e so fc r i t e r i o ns y s t e ma n ds e a r c hh o wt o q u a n t i t a t i v ea n a l y z et h ec r i t e r i o ns y s t e ma n db u i l du pq u a n t i t a t i v e m o d e l s a f t e r a p p l y i n g t h e p r o c e s sm a n a g e m e n t i nt h e s y s t e mp r o c e s s w i t ha p r a c t i c a l t e c h - m a n a g e m e n ts y s t e m ,a n a l y z i n gt h ek e yf a c t o rw i t hp r o c e s sd a t a ,f i n a l l yb r i n g so u t am e a s u r e m e n tm o d e l ,w h i c hi n t e r p r e t st h ei n f l u e n c i n gf a c t o rt ot h ep r o g r a m m i n g e f f i c i e n c ya n df u l f i l l st h ed e t e c t i n ga n dc o n t r o l l i n go fs y s t e mp r o c e s s k e yw o r d s :s o f t w a r ep r o c e s s ;c m m ;s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t e v a l u a t i o nc r i t e r i o ns y s t e m ;q u a n t i t a t i v ea n a l y s i sm e t h o d s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文:丕筮珏筮过程腿跬皇揎剑的量丝金扭廑用硒窒:。除论文中已 经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发 表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:罐挣为叼年多月秒日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 榉雠娟t 纛一 不保密翻( 请在以上方框内打“,”) 论文作者签名: 同红 导师签名: 醐:潮年 月鳓日期:年 月啪 系统开发过程跟踪与控制的量化分析应用研究 第1 章绪论 1 1 课题的研究背景 2 l 世纪是信息社会高速发展的时代。管理信息系统作为信息技术的核心,起 着至关重要的作用。随着信息技术的飞速发展、信息系统开发项目需求的快速增 长,如何更快、更好、更方便地开发管理信息系统成为了企业乃至整个社会关注 的焦点。信息系统更常见的一种说法就是“软件”,软件业作为一个新兴产业,到 目前为止已经经历了三次特别明显的发展浪潮:第一次浪潮以瀑布式生命周期和 结构化的方法为特征;第二次浪潮是过程成熟度运动;第三次浪潮将是预期中的 软件工业化1 1 。每次浪潮都是对前一次的改进。 目前,大多数国家的软件产业还处于软件成熟度浪潮的中心。以提高过程成 熟度,实现过程改进为目的软件过程运动已经在全球范围内广泛传播,并且获得 越来越多的人的支持。软件过程成熟度的起源可以追溯到已经存在了近7 0 年的产 品质量管理原则,质量管理最初以产品检查开始,逐渐发展到以统计的方法进行 过程控制。w a t t sh u m p h r e y 这样描述开发过程中统计控制的必要性;“如果整个开 发过程处于统计控制之下,那么可以仅仅通过改进过程就可以持续获得更好的结 果:如果离开了对过程的统计控制,就无法实现持续的改进,除非再次采用统计 控制的方法”圆。 本文的研究课题正是基于这样的背景提出的。本文以笔者实际参与开发的系 统为研究对象,对如何设计开发过程控制指标体系、如何运用统计学方法分析指 标、如何建立开发过程的度量模型,进行深入研究,进而实现w a t t sh u m p h r e y 所 说的开发过程中的统计控制。 1 2 国内外研究现状概述 1 2 1 过程管理研究现状 面对软件规模的不断扩大,复杂程度的不断提高,仅靠提高技术来解决问题 是不够的,先进的技术还需要有效的过程来配合。有效的过程能够将人员、工具 和方法进行有机的结合,而有效的软件过程又离不开完善的软件过程管理。 到目前为止,如何对软件过程进行管理和改进已经取得了许多关键性的研究 第1 章绪论 成果,其中,美国卡内基梅隆大学( c m u ) 的软件工程研究所( s e i ) 在软件过程 方面做出了巨大的贡献。他们推出的c m m 能力成熟度模型是s e i 专门针对软件 企业如何保证软件产品的质量和提高软件企业的管理水平而设计的,自1 9 9 1 年提 出以来,己在各国软件行业中产生了巨大的影响。它主要侧重于对软件开发过程 和开发方法的考察与评估。它为软件组织的软件过程能力提供了一个阶梯式的进 化框架,将软件过程成熟能力划分为五个等级,并通过对文档流和过程流的有效 管理,控制软件产品的开发过程。 评估以及改进软件过程的另一种比较成熟的标准是由国际标准化组织( i s o ) 制定的i s 0 9 0 0 0 系列标准,它由质量术语标准、质量保证标准、质量管理标准、 质量管理和质量保证标准的选用和实施指南、支持性技术标准五个部分组成【3 】。其 中,质量保证标准是i s 0 9 0 0 0 系列的核心内容,也是质量体系认证的依据。和c m m 一样,i s 0 9 0 0 0 也强调度量,两种模型都强调确保过程改进所必须采取的修正行动。 尽管两者具有相同的目标,即软件过程改进,但它们的应用领域不同,评估范围 不同,评估的侧重点也不同。相对而言,c m m 吸收了先进的管理思想,更注重过 程控制,在软件评估、控制、诊断方面,c m m 模型是i s 0 9 0 0 0 质量管理内容的必 要补充。 尽管这两种模型都提到以改进过程为目的的度量,提出要定量地控制软件项 目的过程绩效。然而,对如何具体实施量化分析、如何分柝出所关心的因素却没 有说明。 目前国内软件企业也掀起了c m m 的热潮,然而,很多企业忽略了过程改进 的初衷,而是仅仅注重是否通过了某一级别,能够做到量化分析开发过程更是少 之又少,这就造成过程改进形式化,偏离了其最初的目的。 1 2 2 量化分析研究现状 在计算机技术和相应统计软件迅猛发展的今天,量化分析已经成为社会科学 各个学科领域中广为应用的技术方法。统计学里提供了多指标量化分析方法,即 多元统计分析简称多元分析i 它是处理多维数据不可缺少的重要工具。它起源于 2 0 世纪初,1 9 2 8 年w i s h a r t 发表的论文多元正态总体样本协方差阵的精确分布, 可以说是多元分析的开端 4 1 。之后f i s h e r 、h o t e l l i n g 、r o y 、许宝脲等人作了一系 系统开发过程跟踪与控制的量化分析应用研究 列奠基性的工作,使多元分析在理论上得到了迅速的发展。电子计算机的出现和 发展,解决了多元分析计算量过大的问题,使其广泛应用于地质、气象、医学、 社会学等诸多领域。多元统计分析的方法也比较多,下面是比较常见的量化分析 方法以及它们的应用领域: ( 1 ) 主成分分析法:是将多指标转化为少数几个综合指标的一种统计分析方 法 3 0 l 。它是统计分析中处理降维的一种方法。1 9 3 3 年h o t e l l i n g 首先提出主成分 分析法,王华统( 2 0 0 3 ) 运用主成分分析法对科技成果转化诸多因素进行分析【卯, 盛从锋( 2 0 0 3 ) 利用主成分分析法对中国省域投资环境竞争力评价研究阐。 ( 2 ) 因子分析法:是主成分分析的推广和发展,它也是将具有错综复杂关系 的变量综合为数量较少的几个因子,以再现原始变量与因子之间的相互关系,同 时根据不同因子还可以对变量进行分类,它属于多元分析中处理降维的一种统计 方法。石金涛、壬莉( 2 0 0 4 ) 应用因子分析法分析管理技能的主要要素及其对绩 效影响并进行实证研究 7 1 。 ( 3 ) 聚类分析法:是研究“物以类聚”,解决事物分类问题的一种数学方法。 它是指在没有或不用样品所属类别信息的情况下,依据样品集数据的内在结构, 在样品间相似性度量的基础上,对样品进行分类的方法【s 1 。陕西财经学院的张立民 将聚类分析法用于综合评价排序中;钱尚玮教授利用聚类分析的本义进行分类综 合评价【9 】。 ( 4 ) 判别分析法;是判别样品所属类型的一种统计分析方法。与聚类分析不 同的是,判别分析是在了解已知研究对象的分类,并取得该分类下各种类型的已 知样品观察数据的基础上建立判别式,对未知类型的样品进行判别分类。高元源、 毕风英曾在1 9 8 6 年用二级距离判别法对二十个医药企业的综合经济效益进行分析 与排序【l o l 。 ( 5 ) 回归分析;是以事物发展的因果关系为依据,抓住事物发展的主要矛盾 因素和它们之间的相互关系,建立数学模型进行预测的方法【】。回归分析中,依 据描述自变量与因变量之间因果关系的函数表达式是线性的还是非线性的,分为 线性回归分析和非线性回归分析。线性回归分析方法在定量分析的实际研究中十 分流行,然而在许多情况下,线性回归也会受到限制。比如当变量是表示类别的 类别型变量( 第三章中会介绍) ,而不是数值型变量时,线性回归就不适用了。 第1 章绪论 以上所述的各种分析方法,被广泛应用于综合评价以及社会科学的各个领域 之中,但是在分析系统开发过程方面的实际应用中还比较少。 1 3 论文研究目标与内容 了解过程管理与量化分析方法的研究现状以后,本文的研究目标更加明确。 首先是对系统开发过程进行管理,然后通过过程管理找出对系统开发过程产生影 响的指标数据,并量化分析这些数据从而得到过程度量模型,以实现跟踪与控制 系统开发过程。在对数据进行量化分析的同时,研究一种有效、通用的量化分析 方法。对于作为数据来源的实际系统,使用c m m 模型中的几个k p a 来管理开发 过程,而不是要对开发过程实施c m m ,达到c m m 的某一级。 本文重点研究以下几方面内容: 系统开发过程管理方法的研究。概述软件过程和过程改进模型,并阐述了 实际系统是在怎样的管理方法下进行开发的。 对系统开发过程控制指标体系的研究。提出可能会影响开发过程的指标因 素,并对这些因素进行分析验证,建立指标体系模型。 过程跟踪与控制的量化分析研究。以实际案例为基础,对指标体系进行系 统的分析与验证,建立合理的度量模型,实现对系统开发过程的跟踪与控 制。 对数据分析方法的研究。在分析实际案例的同时,也对数据分析步骤以及 分析方法进行详细论述,结合统计学知识,提出一套简单有效的量化分析 方法。 系统开发过程跟踪与控制的量化分析应用研究 第2 章软件过程管理方法研究 对系统开发过程进行跟踪与控制的目的,就是为了发现系统开发过程中存在 的问题,从而改进开发过程,提高系统的过程能力和系统的质量。而跟踪系统开 发过程的手段就是实施软件过程管理和过程改进。 2 1 软件过程概述 2 1 1 什么是过程 “过程”,从字面上说可以有多种不同的定义,表2 1 列出了常见的几种关于 过程的定义。 表2 1 关于“过程”的不同定义 t a b 2 1c o n c e p t i o n so f p r o c e s s 来源过程的定义 牛漳简明词典 韦氏大词典 皿b s t d - 6 1 0 o l s o n 等人( 1 9 8 9 ) s e ic m m ( 1 - i u m p h r c y ,1 9 8 9 ;p a u l k 等人,1 9 9 3 ) 活动与操作的集合,例如一系列的生产阶段或操作 用于产生某结果的一整套操作,一系列的活动、变化 以及作为最终结果的功能 对于一个特定的目标所完成的一系列的操作步骤,例 如软件开发过程 通过一种或多种输入产生对用户有价值的输出的一系 列活动集合 一系列的活动、任务以及程序,通过对他们的执行可 以实现特定的目标。更明确地说,软件过程就是软件 开发的过程 用于生产以及软件进化的一系列的活动、方法及实践 表2 1 中的定义之所以不同,是因为它们的关注点不同,它们无一例外地强调 了过程的某一方面两忽视了其他方面。事实上,过程应该包含三方面特性:第一 是过程的定义,通常是将过程所包含的活动及程序文档化。过程的定义中,应描 述过程的步骤、规则以及活动;第二是过程的培训,应将过程的知识传授给需要 第2 章软件过程管理方法研究 执行过程的每一个人。也就是说让过程的知识深入到每个过程执行者的头脑中去, 并以此驱动他们的行为与活动;第三是执行过程的活动,获得过程结果。 2 1 2 什么是软件过程 软件过程【1 2 1 是指实施于软件开发和维护中的阶段、方法、技术、实践及相关 产物( 计划、文档、代码、模型、测试用例和手册等) 的集合【1 3 】。任何一个软件 过程,都以提高软件质量和降低软件开发成本为目标。围绕着这两个目标,软件 过程不断发展并在实际中不断改进。 1 9 9 5 年国际标准化组织和国际电工委员会联合制定并发布了一个对于软件界 有深远影响的标准,即i s o f l e c l 2 2 0 7 信息技术软件生存期过程。该标准 全面阐述了软件生存期的过程、活动和任务。它定义的1 7 个过程分别属于:基本 过程,支持过程和组织过程。i s 0 i e c l 2 2 0 7 信息技术软件生存期过程标 准定义的生存期过程 i q ,具体结构如图2 1 所示: 系统开发过程跟踪与控制的量化分析应用研究 图2 1 软件生存期过程结构图 f i g 2 1s o f t w a r el i f ec y c l ep r o c e s ss t r u c t t t r e 2 2 软件过程管理与过程改进 2 2 1 软件过程管理 软件过程管理是指在软件开发过程中,除了技术和开发方法外的一整套管理 方法。侧重的是在开发的过程中对需求管理、计划安排、合同规范、项目跟踪、 资源分配和质量要求等的管理方式。换句话讲就是对软件开发全过程规范化及标 第2 章软件过程管理方法研究 准化的管理。 软件过程管理不同于通常所说的软件项目管理,它包含了更加广泛的内容。 软件过程管理侧重于管理软件项目各个过程的衔接以及项目过程中的各种产物 ( 包括计划、代码、报告等等) ;而软件项目管理则强调对软件开发本身的管理, 比如项目中所应用的一些软件技术、对项目实施过程中相关人员的安排及相关资 源的分配等等。软件过程管理是软件组织进行过程改进的基础,只有经过严格管 理的软件过程才有改进的可能和必要。 2 2 2 软件过程改进 软件过程改进是一种使用有准备、有计划的方法,以文字方式记录下开发和 维护软件及软件相关产品的活动、方法、实践和变革,形成相应的文档,并依据 组织的增值标准对其进行分析。 软件过程改进是提高组织软件能力最重要、最直接的途径。它以软件过程管 理为基础,借鉴组织积累的丰富经验,有效地利用组织的可用资源、协调成本、 进度、范围、质量等因素,改进组织现有的软件过程,逐步提高组织的软件能力 成熟度。 2 2 3 软件过程改进框架 软件组织为了将过程能力从不成熟的过程逐步提高到成熟的过程,必须努力 改进软件过程。软件过程改进框架给软件过程改进提供了概括而全面的解释。软 件过程改进框架由以下四个部分组成: ( 1 ) 软件过程基础设施:它包含组织管理基础设施和技术基础设施。前者包 括角色与职责,后者则包括技术工具与设备。它可以为与过程改进相关的活动提 供必要的条件和支持。 ( 2 ) 软件过程改进规划图:它应提供表明高效软件过程特征的模型,并规划 出行动步骤和方法。改进规划图指明了实现软件过程所要经历的阶段及层次,以 及为实现这些目标所必经的关键点。事实上,c m m 提供的成熟度等级就属于这种 规划图。软件组织也可以根据实际情况,对这些模型进行修改,也可以看成是过 程改进规划图。 ( 3 ) 软件过程评估方法:它是评估软件组织当前的软件过程、活动和基础设 系统开发过程跟踪与控制的量化分析应用研究 旋的方法和技术。软件过程评估是根据软件改进规划图而进行的。评估的结果需 进行分析,从而找出当前过程的长处与短处,以便为更好地进行改进提供建议。 通过改进应能使过程成熟度沿着改进规划图不断提高。 ( 4 ) 软件过程改进计划:根据评估所发现的问题,有针对性地制定出相应的 改进方案,这就是软件过程改进计划所包含的内容。过程改进应能提高过程的规 范化程度以及过程有效性。 图2 2 显示了软件改进框架中四个组成部分的关系。 图2 2 软件过程改进环境框架 f i g 2 2e n v i r o n m e n tf r a m eo f s o f t w a r ep r o c e s si m p r o v e m e n t 构成框架的这四个部分是相互关联的,而且缺一不可,否则将会导致软件过 程程序中的冲突。从相互关联的角度来看,这是一种循环关系。一个完整的循环 首先从对过程的评估开始,评审是进行变革的催化剂,它与软件过程改进规划图 相关联。它的评审结果会记录在软件过程改进的计划中,以便有针对性地进行改 进,从而达到过程改进规划图中更高的软件过程成熟度级别【1 1 。 2 3c m m 能力成熟度模型使用方法与过程改进 2 3 1c m m 的定义 c l v i i v i 即“能力成熟度模型”( c a p a b i l i t ym a m f i 哆m o d e l - - - - c m m ) ,是软件 工程研究的一个重要里程碑。对于软件开发和维护来说,c m m 提供了一个基本的 第2 章软件过程管理方法研究 过程管理和质量改进的概念。它能够反映出一个软件组织如何提高自身的软件过 程成熟度水平。c m m 的“正式”定义如下: “能力成熟度模型:一种将软件组织对于软件过程的定义、实现、度量、控 制以及改进划分为不同的阶段的方法”用。 2 3 2c 姗体系结构 c i v i m 模型建立了一个描述软件组织的软件能力成熟度的分级标准,指出了软 件过程不断改进的科学途径。c m m 模型为软件组织的软件过程能力提供了一个阶 梯式的改进框架,从不成熟的软件组织到成熟的软件组织,共5 个成熟度级别。 除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这 个成熟级别,可以向下一个级别迈进。c i v i m 不主张跨越级别的进化,从第二级起, 每一个低的级别实现均是高的级别实现的基础。图2 3 显示了c i v i l v l 的5 个成熟度 等级。 1 初始级( t 1 l ei n i t i a ll e v e l ) 在初始级上,软件开发组织一般不能为软件开发和维护工作提供一个稳定的 环境。软件过程是未加定义的随意过程,项目的执行是无序的甚至是混乱的。在 危急时刻,开发项目一般会抛弃预定的规程,急于编码和测试。项目的成功,完 全要依靠一个有才能的管理者和它所领导的项目小组的能力。所以初始级的能力 是指个人的能力,而不是企业的能力。也许,有些企业制订了一些软件工程规范, 但若这些规范未能覆盖基本的关键过程,且执行没有政策、资源等方面的保证时, 那么它仍然被视为初始级。 2 可重复级( t h cr e p e a t a b l el e v e l ) 在可重复级,基本的项目管理过程已经建立起来了,这包括对成本、进度以 及功能的跟踪与监控。软件组织已经建立管理软件项目的方针和实施这些方针的 规程,因而可以根据在类似项目上的经验对新项目进行策划和管理。可重复级的 一个特点就是制度化,软件项目的计划与跟踪可以稳定的实施,而且过去的成功 可以重复再现。由于有以往的成功项目所制定的计划可以遵循,项目过程的管理 是可控的。 系统开发过程跟踪与控制的量化分析应用研究 成熟度等级 5 级 4 级 3 级 2 级 l 级 图2 3 伽模型的成熟度等级 f i g 2 3c m mm a t u r i t yl e v e l s 3 已定义级( 1 kd e f i n e dl e v e l ) 在已定义级上,组织的开发和维护软件的标准过程已文档化,包括软件工程过 程和软件管理过程,而且这些过程已被集成为一个有机的整体。在c m m 中的所有 地方,均称此标准过程为组织的标准软件过程。可以使用这个标准过程来帮助软件 管理者和技术人员,使其工作得更有效。项目通过裁剪组织的标准软件过程来建立 他们自己定义的软件过程,说明项目独有的特征。3 级的主要特点就是标准化。 4 已管理级( t h em a n a g e dl e v e l ) 在已管理级,组织为软件产品和软件过程都制订了定量化的质量目标。对所 有项目都测量其重要软件过程的生产率和质量,作为组织评价计划的一部分。利 用企业级的软件过程数据库收集、分析来自项目定义的软件过程的有用数据。在 第4 级的软件过程都包含详细定义的一致的测量活动。这些测量数据是定量地评 价项目的软件过程和产品质量的基础。这种量化控制将使软件开发真正变成一种 工业生产活动。 5 优化级( t h eo p t i m i z i n gl e v e l ) 在优化级,整个组织的工作重点是软件过程的不断改进。组织能够识别过程 的弱点并预先予以加强,以防止缺陷的产生。利用己测量的有关软件过程有效性 第2 章软件过程管理方法研究 的数据对企业软件过程中引进的新技术和交化进行成本收益分析,提出关于开发 最优的软件工程实践的革新思想,并推广到全企业范围内。等级5 的组织的所有 软件项目组都要分析缺陷,确定其原因,并且认真评价其软件过程,以防止已知 类型的缺陷再次出现。 基于这种级别的划分,既可以标识软件企业的过程能力,又可以方便地、有 所遵循地实现持续不断的软件过程改进。 2 3 3c m m 内部结构 c m m 由5 个成熟度等级组成,每个成熟度等级都有其各自的功能。除第l 级 以外,每一级都是按照相同的内部结构构成的。如图2 4 所示,成熟度等级位于顶 层,不同的成熟度等级反映了软件组织的软件过程能力和该组织可能实现的预期 结果的程度。在每一个成熟度级别中( 第l 级除外) ,包含了实现这一级目标的 若干关键过程域( k p a ,k e yp r o c e s sa r e a s ) 每一个k p a 又由目标( g o a l s ) 和公 共特性( c o m m o nf e a t u r e s ) 构成,公共特性包括执行约定( c o m d t m e o t t op e r f o r m ) 、 执行能力( a b i l i t yt op e r f o r m ) 、实施活动( a c t i v i t i e sp e r f o r m e d ) ,度量和分析 ( m e a s u r e m e n ta n da n a l y s i s ) 、验证实施( v e d 每m gi m p l e m e n t a f i o n ) 五个方面。 图2 4c 姗内部结构图 f i g 2 4c m m i n t e r i o rs t r u c t u r e 系统开发过程跟踪与控制的量化分析应用研究 2 3 4 系统开发过程改进框架与0 m m 各级的映射 本文作者所参与开发的实际系统的开发过程并不是完全依照c m m 某一级别 的标准进行的,而是借鉴c m m 关键过程域的关键活动,将其融合到开发过程中。 为了更清楚的表示开发过程与c m m 过程管理之间的融合,本文把系统开发过程 与c m m 关键过程域进行分析,重新分类,得出一个二维映射表( 如表2 2 所示) 。 需要说明的是:c m m 的每个关键过程域不止是面对某一个特定的过程,而是 对整个开发过程起作用,表2 2 中的映射关系并不限制这些k p a 对系统开发全过 程的指导作用。由于在系统开发过程的不同阶段,技术要求是不同的,容易出现 的管理问题不相同,关键过程域的应用也应有所侧重。 由于本文侧重于分析控制开发过程,需要借助于软件配置管理这个关键过程 域,因此,还要对软件配置管理进行研究。 表2 2 系统开发与c - i g l 关键过程域映射表 t a b 2 2m a pt a b l eo f s y s t e mp r o c e 8 8a n dc m mi g o a 嘉 主要参考的关键过程域一般参考的关键过程域 项g t 准备与计划 软件项目计划软件产品工程 软件配置管理缺陷预防 培训程序 需求分析 需求管理组织过程焦点 组织过程定义 系统设计软件项目跟踪和监督同级评审 系统实施软件质量保证 组间协调 系统评价与维护 软件配置管理、基线管理过程改革管理 技术改革管理 2 。4 系统开发实施配置管理 2 4 1 软件配置管理概述 配置管理( c o n f i g u r a t i o nm a n a g e m e n t ) 是通过技术或行政手段对软件产品及 其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软 件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的 产品配置【1 6 1 。 第2 章软件过程管理方法研究 s c mc o o r d i n a t i o nf a rt e a mp r o d u c t i v i t y 把软件配置管理( s o r w a r e c o n f i g u r a t i o nm a n a g e m e n t - - s c m ) 定义为:软件配置管理是一种标识、组织和 控制修改的技术,目的是协调软件开发,使得混乱减到最小,使错误达到最小并 最有效地提高生产效率【坷。 i e e e7 2 9 1 9 8 3 标准对软件配置管理的定义包括以下内容: 标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符, 并以某种形式提供对它们的存取。 控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中 对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问 题。 状态统计:记录并报告构件修改和修改请求的状态,并收集关于产品构件 的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题。 审计和复审:确认产品的完整性并维护构件闻的一致性,即确保产品是一 个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否 正确的问题。 构建:对产品的生产进行优化管理,它将解决最新发布的产品应由哪些版 本的文件和工具来生成的问题。 过程管理:确保软件组织的规程、方针和软件周期得以正确贯彻执行。它 将解决要交付给用户的产品是否经过测试和质量检查的问题。 小组协作:控制开发统一产品的多个开发人员之间的协作。例如,它将解 决是否所有本地程序员所做的修改都已被加入到新版本的产品中的问题。 总的来说,软件配置管理至少应具有配置标识、版本控制、变更管理、状态 报告和审核四种活动。s c m 的实质是进行版本控制、变更控制和过程支持的一系 列活动,其中版本管理是核心【m 。目前,s c m 已经成为对开发过程进行有效管理 和改进的最佳途径之一。 系统开发过程跟踪与控制的量化分析应用研究 2 4 2 实施软件配置管理的必要性 软件配置管理( s o f t w a r e c o n f i g u r a t i o n m a n a g e m e n t ,以下简称为s c m ) ,是在 整个软件生存周期中管理开发过程和软件产品的方法和规程,目前它已经成为软 件开发机构对开发过程进行有效管理的最佳途径之一 传统的开发过程依赖人员进行管理,这就难免会出现以下几个问题: ( 1 ) 错误修改:一旦发生错误修改很难恢复到原始版本: ( 2 ) 修改冲突:如果两个人员同时修改同一模块,就很容易造成其中一人的 修改被冲掉了; ( 3 ) 恢复困难:如果想恢复到几天前的开发状态还需要大量修改,而且难以 找到原来的程序。 这些问题导致开发过程中对程序版本的管理耗费了大量的时间和精力,同时 也会打击开发人员的积极性所以,使用有效的工具制定合理的流程十分必要。 而s c m 提供的版本控制工具,为公司建立起代码知识库,保存开发过程中每一过 程版本,这样既解决了上述问题,又大大提高了代码的重用率,还便于同时维护 多个版本和进行新版本的开发,防止系统崩溃,最大限度地共享代码。 此外,通过s c m 工具还可以量化开发人员的工作量,记录开发过程文档,便 于对开发过程数据进行收集。 2 4 3 软件配置管理工具 软件配置管理的实施离不开使用优秀的软件配置管理工具,v i s u a ls o u r c e s a f e ( v s s ) 是当今比较流行的开放型软件配置管理工具,使用简单、方便,效率较高。 v s s 是微软公司开发的版本控制系统,可以处理由各种开发语言或应用程序所创 建的任何文件类型,它最大的特点就是可以同时在文件和项目级进行工作,它面 向项目的特性能更有效地管理工作组应用程序开发或w e b 站点开发工作中的日常 任务。v s s 通过将有关项目文档( 包括文本文件、图像文件、声音文件等) 存入 数据库进行开发过程管理工作。用户可以根据需要随时快速有效地共享文件。文 件旦被加入v s s ,它的每次改动都会被记录下来,用户还可以恢复到早期版本。 v s s 使项目组间的沟通与合作更加容易,也使版本管理更加简便高效,非常适合 用作信息系统开发过程管理的配置管理工具。 第2 章软件过程管理方法研究 2 4 4 实施配置管理的流程 按照配置管理的思想和配置管理工具的特点,提出配置管理流程如图2 5 所 示。下面探讨流程图中s c m 的四大活动。 配置标识:是软件配置管理的基础性工作,是管理配置的前提。软件配置 项如果没有进行标识便无法进行区分,容易出现混乱甚至丢失。对于$ c m 计划中 的每个配置项,必须为其软件技术文档、代码和媒体建立配置标识,便于控制之 后的变更。配置标识放置在配置管理库内进行集中控制。配置标识的总体原则是, 保证配置管理工具检索便利。让项目组成员容易记住标识规则,同时要确保组织 一级标识规则的一致性。 版本控制:版本控制是配置管理的基本要求,它可以维护已标识的中间产 品之间的相关关系,记录每个文件或目录的发展过程,还可以在任何时刻恢复任 何一个文件或目录的任何一个版本,保证了版本间的可追踪性,为查找软件错误 提供帮助;版本控制还是支持并行开发的基础,避免不同开发人员修改同一个文 件时产生混乱。即避免了错误修改、修改冲突以及集成错误。 变更控制:无控制的变更将导致混乱,所以变更控制就是结合对人的规范 和自动化工具,提供一个变化控制的机制。它记录与变更有关的信息( 包括变更 的内容、原因和实现者等) ,并在整个软件生命周期中控制对软件的变更。它有助 于追踪软件开发过程中出现的各种问题。 状态报告和审核:配置状态报告是软件配置管理的一项任务,目的在于记 录配置的状态和保证基线及其变更建议的历史,并使相关人员了解配置和基线状 况。审核根据需求标准或合同协议检验软件产品配置。审核可以告知系统是否满 足需求,是否将上一版本的所有变更都加入当前版本,进而验证软件是否达到了 预期的要求。 系统开发过程跟踪与控制的量化分析应用研究 。- - - - - 一 图2 5 配置管理流程图 f i g 2 5f l o wc h a r to f c o n f i g u r a t i o nm a n a g e m e n t 本文研究配置管理是为了管理系统开发过程,使用s c m 工具记录开发过程文 档,以便于收集开发过程数据。在收集数据之前,首先要明确所要收集的是哪项 指标的数据,因此,还要对过程指标体系进行研究a 第3 章过程控制评价指标体系设计与分析方法研究 第3 章过程控制评价指标体系设计与分析方法研究 过程评价指标体系是对系统开发过程的客观反映。对系统开发过程进行跟踪 与控制研究,合理的指标体系是必不可少的。如果指标选择不恰当,即使分析方 法正确,分析出的结果也是不可信的。因而,确定评价指标并验证分析以建立过 程评价指标体系,是对系统开发过程进行跟踪与控制的先决条件。 3 1 过程控制评价指标体系构建概述 3 1 1 指标设计原则 建立合理、可行的评价指标体系是对系统开发过程进行量化分析的基础。本 文主要是对系统开发过程进行评价,这就需要考虑技术和管理两方面因素的影响。 评价指标体系不可能包含所有的指标,只能从中选取一些关键的、有代表性的指 标,为保证指标体系中指标的质量,指标选择应遵循以下原则: 代表性原则:选择的指标应能反映系统开发过程的某一特性,并在众多该 类指标中有代表意义。 系统性原则:指标体系应能全面的反映被评测对象的情况,从中抓住主要 因素,既能反映直接效果,又能反映间接效果,以保证量化分析结果的可信度。 可测性原则:选择的指标应该能客观地测量获得,指标涵义明确,所用的 数据资料应便于收集、处理与掌握。同类指标之间要能够比较,并且同一指标要 有历史可比性。 独立性原则:指标之间应尽可能避免明显的包含关系,指标与指标之间往 往存在信息的重叠,所以要尽量选择具有相对独立性的指标,将相关性高的指标 用适当的方法从模型中消除。

温馨提示

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

评论

0/150

提交评论