当前位置:文档之家› 6软件过程管理

6软件过程管理

6软件过程管理
6软件过程管理

第一部分过程思维

第一部分的内容是阅读本书其他部分的基础,它描述了关于软件过程改进的一个整体框架,并且对本书的组织结构做了简单介绍。在即将到来的“过程之旅”中,你将看到如何将一个“混乱的过程”转变为“持续改进的过程”。通过本章的阅读,读者应该能够在书中找到最适合自己的内容。

错误!未找到引用源。错误!未找到引用源。

第1章过程思维

1.1 什么是过程思维

1.1.1 开始对过程的思考

我们从这里开始过程思维。事实上,在高层面的商业运作中已采用了过程思维的方法。对于现代的商业运作来说,变化随时都会发生,面向任务的思维已不再有效。过程思维方法的激进鼓吹者Michael Hammer和James Champy认为:所有的商业运作都应以过程的方式加以分析对待。他们声称面向过程思维的转变业已开始,但是“很多商业人士仍然没有采用面向过程的方法,他们还是将注意力集中在任务、工作、人员或者结构之上,而不是集中在过程之上。在过去200多年中所采用的基于任务的思维方式(即将工作划分为最小的组件再将它们分配给指定人员的方式)对整个公司组织结构的建设造成了深远的影响”(Hammer andChampy,1993)。

另一个大力鼓吹在商业运作中采用过程思维的人是James Harrington。在他的《Business Process Improvement》一书中谈到采用过程思维时,他写道:“放弃对组织结构的思考,转而开始新的面向过程的思考吧,可以通过后者来控制与客户的接口。当你将注意力集中于过程时,你将发现一个全新的思维模式(Harrington,1991)”。

那么什么是过程思维,它又能对软件过程产生什么样的影响呢?作为倡导过程思维的先驱,Watts Humphrey将过程管理的原则引进到软件开发中已有很长一段时间了。在他那本经典之作《Managing the Software Process》中,他第一次将过程的规则引入软件行业。他认为“为了解决软件问题,重要的第一步就是将整个软件开发任务看做一个可控的、可度量的以及可改进的过程”(Humphrey,1989)。

过程思维就像是一种宗教信仰,无论你相信与否,它都会对你传统的思维方式形成挑战,并试图去加以改变。在1995年9月份的《IEEE Software》杂志上,那个将过程改进奉为信仰的John Baumert写道:“如果你相信CMM以及它在过程改进过程中所起的作用的话,那么你将踏上漫长的过程改进的传道之旅,去劝说你周围那些不相信过程改进的人们。这并不是一件轻松的工作,你会为此付出代价,也许最终会成为一名殉道者。如果真的碰上了一个强硬的反对者,你会试着用各种手段说服他”(Baumert,1995)。如果过程思维对于软件来说真是一种信仰的话,那么Humphrey 毫无疑问就是它的“先知”。在IBM工作了27年之后,Humphrey于1986年加入了卡内基梅隆大学的软件工程研究所,不久他就被任命为过程部的主任。他领导了最初的关于软件能力成熟度模型的开发,并提出了软件过程评估以及软件能力演进的概念.

1.1.2 过程思维与传统思维方式的区别

过程思维与传统的思维方式大不相同,采用这种方法会导致明显不同的结果,这一点在所有团队成员都具有相同目标并且采用过程思维时尤其突出。每个成员具有的共同目标会统一大家的行为与活动,并使大家朝最终目标而共同努力。就像磁场能将众多杂乱的铁

屑排列整齐一样,过程思维也会使大家保持行为的一致,从而实现整体能力的提升,并获得更佳的效果。假设有一个强有力的团队,当它被赋予重要使命时,每位成员都能够与他人紧密配合并为了实现共同的目标而努力工作。反之,如果没有共同的目标以及统一的行动,那么成员之间就有可能产生矛盾,从而导致整个团队效率的下降。在软件项目开发中的情况与此类似,如果采用面向过程的方法的话,就会统一成员的行为,使大家为了项目的最终目标而共同努力。

1.1.3 过程思维是一种自然的思维方式

从某种意义上说,过程思维反映了人类的大脑对知识与经验的保存及其使用的方式。人类的大脑是由成千上万的神经元构成的,所谓的“知识”就保存在神经元之间的相互连接中。开始时是一种“弱连接”,所以会造成我们常说的“弱记忆”。当我们获取了知识并且在实践中加以运用的话,上述连接就会得到加强,从而形成所谓的“强记忆”。只要你拥有了针对某一特定领域的知识与经验后,日后再遇到相同的情况,你就会自动运用头脑中保存的有关知识。此时你所做出的反映就像是自动完成的,因为这时的过程与你已经“一体化”了,所有反映就像人的本能反映一样。那时,过程的执行也将不再具有丝毫的痛苦。我们可以说正是由于无数次相同的经历和不断的培训,才导致了我们对知识的掌握,从而最终产生了人与过程的“一体化”。例如,回想一下学习驾驶技术的过程:作为一名新手,最初的学习并不轻松,你必须多次不断地练习那些单调的操作才能掌握它们。通过不断的实践与学习,使“弱记忆”慢慢变成“强记忆”,最终使你与驾驶“融为一体”,此时对你来说这些操作的完成已变成无意识的重复了。

1.2 什么是过程

1.2.1 过程的定义

在进行培训与讨论的过程中,我会让一组人写下他们对“过程”的定义。几乎每次他们都会给出各种不同的回答。从字面上说,过程可以有多种不同的定义。表l-1列出了常见的几种关于过程的定义,注意它们在范围等方面的不同。

错误!未找到引用源。错误!未找到引用源。

1.2.2 过程的三个方面

表1-1中的定义之所以会有所不同,在于它们各自的关注点不同。这些定义无一例外地强调了过程的某一方面而忽视了其他方面,而本书将给出关于过程的全面定义。过程事实上有三方面的特性:首先,过程应被定义,因此过程的第一个方面就是过程的定义,通常是将过程所包含的活动及程序文档化(可以保存于纸介质上也可以采用电子文档的形式);第二.应将关于过程的知识传授给需要执行过程的每一个人,所以第二个方面是过程的学习。也就是说应让过程的知识深入到每个过程执行者的头脑中去,并以此驱动他们的行为与活动;就像产品的形成是经过一系列的工序处理后的结果一样,通过执行过程中的活动才能获得最终(预期)的过程结果,这就是过程的第三个方面。图1-1中显示了过程的三个基本特性。如果有人问你过程的定义是什么,我建议你最好给他画出这张图,而不是大段大段地引用别人的话,因为光靠嘴说很难全面覆盖过程这三个方面的特性,也就无法给出一个准确的过程定义。

过程的三个方面都很重要。现在看一看如果遗漏了其中一个方面会产生什么样的结果。若过程只是定义在纸面上而不为人了解,那么它只能“孤芳自赏”;如果大家都接受了关于过程知识的培训,但却没有人在实践中遵循,那么则只是在浪费时间;另一方面,如果过程已被定义,而且人人都接受了相应的培训,此外大家在实际工作中也都能按照过程的要求去做,那么这才是一个真正有效的过程。过程模型以及过程的三个特性就是本书将要讨论的重点。

1.2.3 与过程的一体化以及过程的制度化

过程可以指导我们的活动。为了实现特定目标,我们所做的行为、活动以及任务反过来也

图表1-1过程的三个方面

可以反映出我们为实现目标所采用的过程的特点。一个规范化的过程可以按顺序被加以细分并且有统一的活动模式,这一点无论是针对个体还是团队都是有效的。针对特定的状态或者为实现特定的任务,过程为我们定义了活动或(事件发生时)响应方式。例如,可以针对“吃”定义一个过程,

针对“准备工作”可以定义一个过程,针对“完成工作”也可以定义一个过程……当人们以很专业化的方式自觉地执行过程时,我们就可以说此人已与过程“一体化”了。对于一个组织来说,情况也是类似的。在组织中,过程将会影响到不同的组与团队。为了实现过程的规范,在组织内部必须建立起过程或者使过程制度化。没有统一的过程,每个人将会各自为政,按照自己的方式去做,这就会导致混乱,同时在那些遵循过程的人与不遵循过程的人之间也会发生冲突。另一方面,如果过程被制度化,那么成员可以在与他人和睦相处的前提下顺利地完成任务。并且由于对过程的执行已成为企业运作中很自然的一部分,所以过程也变得“透明化”了。这时如果你发现有些人为完成他们的任务而痛苦不已时,那么他要么是个新手,要么就不是专业人士;假如你发现对于有些人来说,完成任务是易如反掌之事时,可以肯定他绝对不会是上面所说的两种人,并且他们肯定接受过关于过程的培训,而此过程也一定是个定义良好的过程。我们说这样的人才真正与过程融为一体了,即与过程一体化了,而且只有他们才具有真正的专业素质。

1.3 以过程为中心

1.3.1 以过程为中心与以产品为中心

许多组织具有以产品为中心的文化氛围。在这种文化之下,人们很自然地倾向于产生出更多的具体结果。他们期望每一个活动都能产生出一些“实实在在”的东西,并且错误地将文档化的工作程序理解为过程。在这样的组织里,人们认为每个活动都应直接产生短期效果。管理者们认为与过程相关的工作是一些低优先级的活动,它们常常被后延,直到有空闲时才去做这些“无关紧要”的事情。

与此相反,在以过程为中心的组织里,过程被看做整个商业环境中的一个问题或事件,它们会对最终的结果、组织、生产者以及三者之间的关系造成影响。对于此类组织而言,那些“实实在在”的东西只是全局中的一部分,过程文档只是帮助执行过程的一个工具,而不是最终的目标。事实上,最终的目标是接受并遵循过程,过程本身被看做商业运作的规范。

1.3.2 以过程为中心的好处

为了认识到以过程为中心的好处,让我们再看一看前面提到的一个例子:现在有一组人正在为了一个共同的目标而努力工作,如果他们不遵从同一个过程的话,那么大家就会各自为政,以自已的工作方式去完成任务。假设这个团队正在从事一个软件开发项目,那么就可能导致不同的人采用不同的开发语言,使用不同的命名规则,当一个人对系统进行改动时也不考虑其他人的情况,因而最终只能得到一个混乱的结果(Humphrey,1989)。这就是没有过程的组织中经常发生的情况。但另一方面,如果一个团队中的每个人都能遵循共同的过程,那么情况则大不相同:

●为实现共同的目标,所有成员的活动都应相互协调。

●为避免相互间产生矛盾与冲突,成员的活动应统一。

●每个成员所应达到的目标应是可度量的。

错误!未找到引用源。错误!未找到引用源。

●能够重复团队以前所获得的成功结果。因为以过程为中心会最大程度地减小对个体的依赖

性,所以能够做到再现以往的成功。对于新加入的成员,通过过程培训可以保证其活动不会对整个团队的最终结果造成负面影响。

总之,如果组织中的每位成员都能遵循以过程为中心的思想去从事他们各自的工作,那么最终会得到如下的益处:

●协调组织的活动,为达到共同的目标而努力。

●通过衡量每个人的工作对整个过程的贡献,为每一个人提供度量的基准。

●增强过程结果的一致性与可重复性,增强组织活动的一致性与可重复性。

一个有效的过程可以通过下列方法提高整个企业的运作效率:

●采用以过程为中心的方式可以帮助我们找到能够获得最大投资回报率的部分。

●采用以过程为中心的方式可以提高整个企业的运作效率,并且可以保证项目经理在预算的

费用以内按时完成项目。

●采用以过程为中心的方式有助于内部的沟通,有助于生产率的提高。在组织内部如果采用

一个通用的过程,那么它就意味着所有的人使用的相同的方法与术语。

●从管理的角度来看,采用以过程为中心的方式可以增强对过程执行以及执行结果的可视

性。

1.3.3 没有采用以过程为中心的方式时的情况

项目经理可以通过管理过程以及监控过程的执行来管理整个软件项目和开发团队。如果在项目管理中采用以过程为中心的方法的话,则可以获得更好的管理效果,因为以过程为中心的方法,则会在项目的前期即出现如Edwards Deming所说的“救火综合症”,即“由于救火这一活动可以被高层管理者发现,并且可以被量化,所以一个人会因此而得到提升。但是如果你一开始就将事情做得很好,虽然这可以满足各种要求,而且这也应当是正确的做法,但却不会为人注意。而把事情搞混乱然后再去收拾,反而能使你成为英雄”(Deming,1982)。

通过对一个没有过程规划的开发环境的仔细观察,不难发现其中不乏薄弱环节与混乱现象,而这正是不成熟的组织所特有的文化氛围——一个混乱的开发过程。很不幸,上面所说的“救火”文化却在很多企业中大行其道。很多时候,中层管理的日常工作就是“救火”。如果没有了危机,那么他们将无事可做。这有点像有些无意识地“放火”只是为了以后能够有机会去从事“救火”这一重要活动。表1-2中对比了采用过程为中心和不采用以过程为中心的方式时管理方面的不同。

表格1-2以过程为中心可能产生的影响

1.4 过程成熟度

1.4.1 成熟的过程与不成熟的过程

处于不同过程规范程度的组织就像处于不同成熟状态的人一样,成熟过程与不成熟过程之间的差别就像一个成年人与一个儿童的差别一样。采用过程思维会对我们的行为产生影响,反过来讲,通过行为就可以反映出在我们头脑中对过程的认识程度。对于新生儿,在他们的头脑中没有丝毫关于过程经验;对于婴儿与小孩,头脑中有关过程知识的保存也并不牢固。他们总是爬来爬去,不断地进行尝试和犯错误,从而增长对于过程的认知水平.Watts Humphrey将过程比做习惯:“过程就像人的习惯,养成一种习惯很难,但改变习惯也不容易”(Humphrey,1995)。表1-3中比较了儿童与成年人之间在行为与个性方面的差异。请注意:其中右边一栏反映的是成年人的特点,但并非所有的成年人都是成熟的。成熟比衰老更有意义,对于儿童而言,他们需要的是关爱与发展,需要有适当的环境与机会使他们可以学习与成长。对于过程来说也是这样。

表格1-3儿童与成熟的成年人在行为以及性格方面的比较

错误!未找到引用源。错误!未找到引用源。

1.4.2 过程中的主要角色

采用以过程为中心的方法时,会对组织中的各种角色以及他们所对应的职责、管理的方法、技能与培训、技术以及运作的自动化程度等方面产生影响。当我们用过程思维的方式去考虑组织的结构时,通常最终得到的是一个与流水线相类似的东西。以过程为中心的组织中将会包含不同的角色以及每个角色各自明确的分工、管理的方法、员工的技能、商业动作活动以及相应的支持技术等方面的内容,上述所有内容都按照流水线的方式加以组织,以便完成对整个过程的支持。贯穿于这些方面的一个统一的目标有助于提高过程的生产率并对最终实现的商业目标提供强有力的支持。

为了理解上面所说的内容,让我们来做如下的假设。在英国,全国性的彩票是每逢周三和周五的晚上开奖。每次开奖都会产生一名新的百万富翁。假设你赢了本次的奖金从而一夜暴富,而此时的你决定要用赢来的钱投资建一个工厂。那么你应考虑下列事情:首先,应选择到底要做哪种产品。这就好比是对过程的定义;其次,你需要从有关的行业专家那里得到些有益的建议,从而制定出生产的工艺流程。实际上这就是在定义组织结构,以便更好地支持采用的过程;第三,你应当定义有关的角色以及管理的方式。通过管理方面的支持,从而确保最终能平稳地实施整个过程;第四,你需要确定为了进行高效的生产,各类人员需要哪些方面的技能。根据这些技能你才能有目标地去招募合适的人员并且给他们适当的培训,这就是过程所需的技能;最后,你应确定工厂所需的其他设施以及为实现过程的自动化所需的机器和工具,这些均属于支持过程运行的技术。

图1-2所示表明了一点,即对于一个组织以及组织中的管理、人员、技术架构而言,过程应当是它们的中心。只有通过过程才能将人员、技术、组织结构以及管理组合在一起,为了实现最终目标而努力。对于组织中的角色和它相应的职责、管理方法、人员的技能以及技术的选择而言,最关键的一点就是过程以及如何对过程加以支持。在一个组织内部应当指定由谁负责过程的实施、由谁负责对过程的监控,而在管理方面应当为组织提出适当的战略方向并负责管理过程的实施。而拥有技能的员工则负责具体过程活动的完成,至于技术方面,则主要负责保障过程活动的可实施性并实现自动化。

图表1-2过程的中心角色

总之,过程应该支持企业的最终目标。组织中的各种角色以及相应的职责应当确立以便更好地支持过程。管理活动也应当定义清楚,并实现对过程的监控与支持。为了提高过程实施的效率,一

定要明确员工所需的技能。最后,应建立起相应的工具与技术,以便增强过程实施的自动化水平与效率。在某些方面,我们的讨论故意进行了简化或者夸大,以便强调以过程为中心的重要性。实际情况要比这复杂得多,尤其是关于技术对过程的影响方面。事实上,技术的运用会对过程产生影响。例如,机器人的使用就会对整个过程的设计产生重大影响,所以说技术与过程之间的关系是非常密切的。

1.4.3 混乱将会导致过程的无序

在一个组织中,过程应是组织、管理、技能以及技术实施的基础。在一个以过程为中心的环境中(遵循过程规范的环境),过程活动与完成共同的商业目标是一致的。越强调过程的规范性,整个生产活动才会越有序,否则会导致混乱,这些混乱将妨碍并降低过程的规范化程度。之所以会造成这种情况,是因为在实施活动的过程中没有真正按过程规则的要求去做,没有朝着大家共同的目标去努力,而是各自为政。这就是危害过程执行的行为,它将直接影响到最终目标的实现。为了保证过程执行的规范化,我们需要对过程中的每个活动进行连续的监控,强迫各个活动按照规范执行,并且随时对潜在的混乱加以纠正。与此同时,应加强大家对过程规范的认识。对于软件开发环境而言,在软件开发活动中,过程的规范化是通过严格地遵循共同的步骤和方法体现出来的,否则这两者之间的不一致将产生混乱,最终给整个项目带来负面影响。

1.5 小结

过程思维

●过程思维与通常所采用的思维方式是不同的。如果组内每名成员都能采用相同的过程思维

方法,必将能够统一大家的工作目标,为实现最终目标而共同努力。

●过程思维是一种自然的思维方式。我们所拥有的知识与经验事实上也是采用与过程相类似

的方法保存于大脑中的。

过程的三个方面

过程不仅仅是一堆文档,一个有效的过程环境应具有以下三个基本方面

●过程的定义、描述过程的步骤、规则以及活动。

●过程的培训,确保每一名从事过程活动的人都能有效掌握与过程有关的知识。

●过程的监控与强制,通过这种方式确保过程中活动的执行是按照已文档化的内容所执行的

并确保最终目标的实现。

由于没有采用以过程为中心从而导致“救火综合症”的产生

由于缺少一个统一的过程,组内的成员在完成相关活动时有可能产生冲突,而且可能导致目标与活动相脱节的情况,从而最终导致“救火综合症”的产生,使团队成员无法将能力发挥到极致。

过程的一体化和制度化

错误!未找到引用源。错误!未找到引用源。

●如果大家在执行过程的活动中已将遵循过程的要求作为自然而然的一部分时,可以认为有

关人员已与过程一体化了。

●如果组织对于过程规范的执行有严格的要求,并且组织中的每一位成员都严格按过程的要

求去做,那么就可称之为“过程制度化”。

以过程为中心导致规范化的行为以及能力的提升

●一个成熟的过程环境会为团队带来规范化的过程,就像成熟的人的行为一样:遵循一定的

规范、可预测,这正好与儿童无原则、不可预测的特点相反。

●不成熟的过程环境带来的是不可预测性,过程越成熟,过程结果的可预测性也就越高。

●如果一个团队中有了统一的过程,那么大家的行为就会符合规范,从而提高团队的整体能

力。

以过程为中心会创建出稳定的组织

之所以以过程为中心会创建出稳定的组织,是由于有以下原因:

●为了支持过程,角色与相应的职责已确定。

●管理过程的重点是管理过程中的活动。

●通过度量所做工作对整个过程结果的贡献比例来判断人员的工作效率。

●所需的技能以及培训计划已确定,以便提高过程的执行效果。

●为实施自动化并且监控支持过程活动,所需的技术以及工具方面的事情应该先确定下来。不完整的过程

在下列情况中,过程都是不完整的:

●过程只是被定义在纸面上(并且被锁在管理者的抽屉中),没有人关心它的存在,过程只

是一个用于“自我欣赏”的东西。

●过程已被定义好并形成了相应的文档,但是大家没有接受关于过程的培训。只能依靠个人

的主动性去学习过程规则,从而导致有的人学习了过程规则,而有的人则什么都不做。

●过程已被定义好并形成了相应的文档,同时有关人员也接受了培训,但很多人却不重视它。

因为每个人并没有明确的分工,没有监督机制,此外强制力也不够。最终导致部分人遵循过程,而其他人却我行我素。

过程的规范化

只有当下列条件满足时我们才能说过程已规范化了:

●过程已被文档化。

●已经进行过有关过程的培训。

●人们自觉地在各自的工作中遵循过程。

●过程的实施被强制并且被监控。

缺乏规范化的过程执行会导致整个组织的混乱

下面这些情况会导致混乱:

●组织结构与过程活动之间不统一,这将导致成员不知是以过程为中心还是以任务为中心,

从而造成混乱。

●从管理的角度缺少对过程的信任。

●缺少对新成员的过程培训,从而导致新成员仍然采用自己所熟悉的知识与技能从事有关活

动,因而有可能与现有过程发生冲突。

●成员缺少为执行有关活动所需的熟练程度以及技能,从而导致大家只使用所熟悉的方法去

做事。

●过程活动缺少与其相对应的自动工具,从而导致工具成为过程实施的一个瓶颈。

错误!未找到引用源。错误!未找到引用源。

第2章过程规范

2.1 过程规范

2.1.1 什么是过程规范

“规范”一词在《牛津简明词典》中解释为:用来控制或治理一个团队的一系列的准则与章程,团队里的成员必须遵守这些规章制度。因此,如果一个过程可以指定一系列的规程用以约束和规范成员的行为,则此过程可称之为一个“规范”的过程。一个有规范的过程才称得上是一个成熟的过程。“成熟”意味着实用、合理并经过充分考虑。

不规范不成熟的过程不具有一系列已明确定义的规则用以规范成员的行为,团队中的每位成员都能以各种理由和借口来违反制度,忽略规则的存在。若要实施一个有效率的过程,必须对团队成员进行过程规范化的培训,对于一些执意以个人方式来完成任务的成员,更应对其进行有关过程知识的培训。此外还有一点是关于过程的强制执行。在一个不成熟的过程中,遵循规章制度的成员往往被其他成员所嘲笑,因此如果要使过程更为有效,必须强制实行过程规范。一个成熟过程有如下一些特点:有明确的定义、有相应的培训、具有强制性与可服从性。Watts Humphrey还添加了一个属性,即成熟的过程还应该具有不断改进的特点(Humphrey,1989)。

2.1.2 过程规范是否具有抑制性

随着人们对过程以及过程规范的日趋关注,相应的一些问题也被提了出来。过程的规范化是否会抑制并制约成员的工作,而不是有利于他们的工作?在一个具有官僚作风的过程中充满了不必要的授权和冗余的步骤,这就是为什么要让过程的执行者(真正执行过程的人)参与到过程的设计中的原因。同样,在过程的执行过程中,他们可以提供反馈意见,用以判断过程的实施是真正有助于人们的工作,还是降低了工作效率。通过上述方式,就可以尽量避免过程抑制性的出现,还可以通过不断的改进使过程更容易为其使用者所接受。

“规范”与“官僚强制”之间有一个明显的区别。当我们在设计一个过程时,首先需要定义出管理的细则以及过程所要达到的商业目标。从另一个方面来说,由于某些商业上的原因,人们可能需要有意识地去设计一个具有官僚强制性质的过程、一个可靠的过程、一个限制性的过程以及一个灵活的过程等。商业目的与目标决定了过程设计的细节。

2.1.3 过程规范是否会阻碍创造性的发挥

对“过程”持反对态度的人们所提出的一个重要问题就是:过程规范是否会带来一个抑制创造力发挥的规则化的过程。事实上,正确的答案是:我们所要设计的是一个鼓励并能引导人们创造性的过程,是一个可以提高效率的过程。每个过程的用户都会受到过程的鼓励,以更具创造性的方式来提高整个过程的运作及实施效率。

让我们进一步看一看,在一个创造性的环境中是否能运用过程规范的问题。换句话说,即过程规范是有利于创造性还是抑制创造性。首先来看看世界上著名的画家与艺术家吧。让人很难相信的是,他们其实也是严格遵守有关过程的规定而一步一步地创造出伟大的艺术作品的。过程规范与科研、工程这一类需要团队协作的工作更是大有关系,因为在这些情况下,最终的工作结果更加依赖于团队的协同工作,而不是个人的单打独斗。同样,对于个人来说,制定一个规范的过程是达到预期目标的最好方式。

另外一个问题就是:在一个创造性的环境中如何把握并保证规范强制性的实施。例如,一个规范的过程可以很好地帮助团队的成员在一起进行创造性的工作,但是规范的过程中同时也还存在着一些规则会限制甚至剥夺团队中部分人创造性发挥的空间。这种情况确实会存在,但也有相应措施可以加以解决。其中一个例子就是召开以发挥创造力为目的智囊团会议,它会给团队中所有成员以机会,让他们讨论创造性的问题,而全然不必考虑并关心如何整理、组织并记录有关的讨论结果。

整个软件行业一直都在尝试着将无规无矩的软件开发过程转变为一个具有工程规范的过程。过程规范,无论对于团队还是个体而言,都是保证软件开发最终达到工程与制造标准的重要的且不可或缺的一步。同样,对于团队或者个体来说,过程规范都是实现生产目标并提高产品质量的重要因素。Fred Brooks(1995)在其著名的《神秘的人月》一书的20周年纪念版里写道:“创造力来自个人,而不是组织结构或者过程”。这是一个软件管理者所要面对的问题,即如何设计组织结构与过程,从而能使其提高而不是抑制人们的创造力和主动性的发挥(Brooks,1995)。它提醒管理人员在设计过程时必须深思熟虑,使过程成为一个鼓励成员创造力发挥的过程,而不要使之成为一个抑制并约束创造力的过程。

还有一个与之相关的问题是:在何种情况之下需要一个无规则无秩序的过程?创造力的发挥和自由放松的工作就必须要一个没有规则与秩序的环境吗?例如,对在儿童游乐室里玩耍的幼童而言,游乐室建立的目的在于鼓励孩子们尽情发挥他们的创造力,而不会受到过多的限制。在创造性方面仅对他们施以最小程度和范围的规定与制约;而在其他方面,例如如何在团队组织中协同工作方面,他们则需要接受相对更严厉的纪律与约束。关于创造力与无规则过程之间联系的问题又是与另一个问题相关联的,即:一个有创造力的个体如何独自奋斗。在这一方面尚有很多问题需要我们加以探讨和研究。本书所要讨论的是在软件开发项目中小组、团队、个体如何协同工作的问题,这需要一个有明确定义的、规范化的过程来加强。在团队和项目组中,因为以下一些理由,我们需要规范化的过程:

●团队成员的知识水平各不相同。

●团队成员的综合素质各不相同。

●团队成员的学识及专业技能水平各不相同。

●泛泛的目标对于不同的成员会有不同的理解与解释

2.1.4 过程文档的意义

现在再来探讨另外一个有意思的问题:没有文档化的过程能存在吗?对于一个小的团队而言,

错误!未找到引用源。错误!未找到引用源。

在以下几种情况下或许这种情况是可能存在的:

●团队规模很小并且对过程的目标具有强烈的认同。

●团队中有强有力的领导核心,并且有信奉规范过程的领导。

●有完善的工作评估及奖惩体系,可确保顺利实现过程目标。

●团队经过高度专业的培训,团队成员均是称职、成熟并有纪律性的。

对于一个管理完善的团队而言,其中的每一位成员都是训练有素的专家,并且对过程有着明确和强烈的意识。每位成员的行为与活动都是协调一致的,他们为了共同的项目目标而努力工作。如果团队的成员资格和人数能维持不变,那么我们就能多次并且轻易地重复已有的成功经验。

但是,缺少了人人必须遵守的过程规范,很容易导致一个特殊环境的产生,具体可能产生的结果如下:

●依赖于个体:如果团队领导者或者一名重要成员由其他人顶替时,新成员可能会实施另一

套完全不同的过程。假设新过程未经慎重考虑,则极易导致有关项目的失败或走下坡路。

●“高手”的加入:新成员可能会坚持采用他们自己独有的方式进行工作。其中不乏那些执

意认为自己的工作方式与过程设计是更为优秀的所谓“高手大师”们。他们通常以自己懂

得更多为借口,而希望团队能让他们以自己的方式来执行过程。

●孤立的新成员:新成员往往经验不足,孤立于团队之外,从而导致并影响了整个过程的实

施,使过程的实施不稳定,同时也降低了效率。

●过程知识的不一致性:在团队中,每个人对过程定义与细则都有各不相同的理解与解释。

缺乏对过程明确、统一的定义极易导致团队成员对过程的错误理解与解释。

没有明确的定义并且没有制定详细的规则会导致过程活动的失败。虽然团队中不乏精英人士,但最终因缺乏必要的过程规范而以失败告终的案例比比皆是。

2.2 过程规范的优点

2.2.1 过程规范可以使团队形成统一协调的工作方式

过程规范可以使团队为了达到共同目标而规范各成员的行为与活动。每个过程都必须设有一系列“可度量”的目标。这些目标往往来源于相应商业或项目目标,并且需要后者的支持。过程团队需要有相应的能力并且能够达到这些过程目标。团队应该实时监控过程的实施情况,以便掌握目标的完成情况。通过监控过程的实施状况来管理团队的方法比其他传统的管理方式更为有效。有些传统的管理方式往往注重于对成员工作量的管理,例如,许多单位都有方式更为有效。有些传统的管理方式往往重于对成员工作量的管理,例如,许多单位都有要求成员早晨9点准时上班,下午5点下班等诸如此类的管理条例,而对于工作时间如此精确的规定,不仅无法对在此段时间内的工作效率进行控制,而且也无法保证工作的质量与数量。

通常说来,团队要采用的过程必须能够规范成员的行为与活动,从而使团队朝着共同的目标而努力。过程规范的结果就是使团队具有统一、协调、规范的行为与工作方式(如图2-1所示)。只有具有过程规范特征的团队才能具有规范协调的行为与工作方式。在一个要求苛刻、任务艰巨的项目中,过程规范的作用就更为明显了。例如,在一个航天飞机项目组(无论是地面的还是舱内的成员),每位成员都要经过良好的培训,团队有一个共同而明确的目标并为之去努力,过程及有关的步骤都有明确的文档记录,对工作的评估是通过有关的业绩成果进行的。另外一个典型的例子是交响乐队,过程规范对于一个成功的交响乐队来说也是必不可少的。行为规范的作用是明显的,它在某些案例中所发挥的作用是不可替代的。

图表2-1过程规范通过有秩序的行为模式来表现自己

2.2.2 过程规范可提高团队的工作能力

通过过程规范,可以对团队中成员们的行为与工作方式加以规范。这意味着,团队成员可以在一起为了一个共同的目标而努力工作,而这可以增强整个团队作战能力。反之,没有规范化的过程会削弱团队的整体作战能力。在一个有规范的环境中,成员都能齐心协力,为着同一个目标而努力。遵守并执行过程规范的人们能够体现出“规范的影响力”。而那些在工作中不遵守过程规范的人们则是“不规范”的体现与代表,他们有着各种各样的理由与借口,从而不遵守规范,诸如“我们有更好的方法”等等。从团队的立场而言,过程就是一个团队与个体之间达成的约定。如果成员认为更好的方式可以用于完成过程目标的话,他应该通过过程改进机制来实施他的观点。而整个团队也将会受益于成员所提出的有益的建议,并且这可以在保持过程规范的同时推动过程的改进与发展。

缺乏过程规范的团队最终无法完成相应目标的例子比比皆是。让我们来试想一下,当一个交响乐园在演奏交响不时如果有如下一些情形,其结果只能是得到与最初的期望大相径庭的“噪音”,而无法享受真正的“音乐”:

●没有艺术总监(过程没有管理者)。

●没有乐谱(过程没有文档化)。

●没有练习(过程没有经过培训)。

●成员各自演奏各人的曲子(过程不具有强制实施性)。

错误!未找到引用源。错误!未找到引用源。

综上所述,具有规范的过程可以提高整个团队的工作能力(如图2.2a所示);反之,缺乏规范的过程则会极大削减团队的整体实力(如图2.2b所示)。

2.2.3 在关键时刻过程规范是决定生死的因素

在某些情形下,过程目标事关成败,甚为重要。任何有别于最初预期的过程与培训的偏差都将会导致灾难的降临。下面就是这种情形几个典型例子:

●飞行员驾飞机:如果飞行员不采纳地面指挥中心的有关飞行建议,而执意在正规操作规程

之外的飞行线路上飞行,并且飞行员又无法全面掌握有关气流及气候条件,在这种情况下,乘客的生命将因为这种缺乏过程规范的行为而命悬于丝。

●外科手术小组:如果正在对病人进行一个重要的外科手术,其中一个大夫或护士不服从主

任大夫的指挥或不遵守约定的规程,那么病人的生命将会由于过程规范的缺乏而面临死亡

的威胁。

●执行高风险任务的团队:这类团队有着严格定义的过程。典型的例子就是驾驶并管理航天

飞机的团队(无论是地面的还是舱内的成员),如果其中某人不执行预定的规程或者不通

知他人就擅自更改计划,将会带来毁灭性的后果。

或许上述例子看上去可能有些过分夸张,但事实上在生活中的很多方面,软件也同样扮演着非常重要的地位,甚至是人命关天的角色。一个不规范的软件项目将导致软件在日后的运行中出现像谜一样的复杂难解的错误。如果这样的软件被应用于一个重要产品中,例如飞行器、汽车、医疗器械或者航天飞机上时,就会埋下祸患的种子!规范的过程将是软件质量得到保证的根本所在。我们这里流传着大量由于软件问题导致的伤亡的故事。一个广为流传并为公众所熟知的故事发生在20世纪90年代初的香港,用于安排救护行程的计算机处理系统在未经过充足质量检验的情况下就过早的投入了运行,从而导致救护车按照错误的路线开到了错误地点,最终导致了一位病人的死亡。在20世纪80年代后期,由于控制放射性仪器开关的计算机控制软件出现了问题,导致产生过量的放射线,从而造成至少4名人员的死亡。以上只是随便举的两个例子,但从中已可以看出软件过程规范的重要性。

图表2-2(a)过程规范将增强团队的能力(b)缺乏规范的过程将导致混乱

2.3 过程规范与产品质量

2.3.1 规范的过程将会带来产品质量的提高

软件的质量在很大程序上取决于开发并维护此软件时所用过程的质量,这个事实已为大多数人所认同。软件过程的倡导者所采用的原则就是:一个规范的软件过程的使用必将能带来高质量的软件产品。

有一点需要注意是:一个好过程的使用未必一定就能让我们得到一个好的产品。例如。虽然采用了一个好的过程,但也有可能最终仍无法生产或得到预期的产品与服务。选择合适的产品与服务的问题应交由负责商业战略的决策者们去决定。一个规范的过程并不能代替成功的商业策略,但是只要你通过正确的商业策略选择了正确的产品和服务,那么一个有效的过程则可以帮助你得到高质

量的产品与服务。一个好的过程需要明确的行动与任务,用于确定目标产品的质量标准与特性,与

错误!未找到引用源。错误!未找到引用源。

用户在质量标准与特性上能达成共识,并且项目成员应接受相应的培训,使每个成员都了解产品的质量标准与特性。开发过程中另一个需要关注的问题是确定产品质量的标准。产品质量与过程质量息息相关,如果软件系统中部分内容质量较差时,这二者之间关系的密切程度将更为明显。缺乏规范的过程,处于开发过程中的人们将会埋头致力于缺陷的查找与修改,用Watts Humphrey的话来说即是:“整个项目的重点都集中在缺陷的查找与修补上,而真正重要的用户需求反到被束之高阁了。”

在一个规范的过程中,开发团队能够确保过程与产品的质量。团队成员会去完成分析产品质量的任务,追查产生低质量产品的原因。在过程方面,团队成员会识别出过程中的缺点并制定相应的计划来加以纠正。一个持续改进的过程环境中会存在着一个良好的反馈系统。这里的反馈是来源于对产品质量以及过程实施情况的评估与分析。对反馈的分析有助于开发团队以及管理者追踪低质量产品产生的原因,从而能够确定应从哪些方面来着手改进过程并提高产品质量。

2.3.2 是否能在缺乏规范的过程中保证产品的质量

到目前为止,对于这个问题仍没有一个明确的答案。在一个小规模的开发团队中,如果开发成员各个都经验丰富、技术过硬并且工作积极性极高,那么虽然没有明确的文档化的规范以及强制实施的过程,但仍有可能生产出高质量的产品。而对于其他情况来说,一个缺乏规范的环境意味着无法预测有关产品的质量。没有规范的过程,不仅无法对质量进行计划与管理,而且一旦出现质量问题时,也没有人能够解释为什么会出现此类的问题。同时,我们也没有办法保证以后同类问题不会再次发生。有些人可能还会觉得要证明过程规范与产品质量之间有直接的联系仍然是件比较困难的事情。

我们可以用一些比喻来解释有关过程规范对产品质量会产生影响这一论断。试想一下下面这些情况:你和你的夫人或者朋友去伦敦西区的一家高档餐厅就餐,你已点了一桌昂贵的菜肴。你自然希望过一会儿将得到满桌的美味佳肴,但你此时正好想打个电话,所以很偶然地从厨房边路过。透过厨房的门,展现在你眼前的是令人吃惊的景象:一个混乱不堪的厨房!厨师长没有主意犹豫不决;厨师们漫无目的地在厨房里东跑西颠;肮脏的地板上,蟑螂正在享用着遗落在地面上的美食;过时的食品加工设备早已到了需要维修的时间。所有这些说明了这真是一个混乱无序的过程!而一旦有了规范的过程,那么眼前的一切将变为另一种景象:清洁卫生的厨房以及高效工作的员工,他们最终会为你奉献上可口健康的美食。关于过程规范和产品质量的关系,请注意以下几点:

●在一个脏乱不堪的厨房里,使用过时的食品加工设备能献上你所期望的美味又健康的食品

吗?(不完善的过程基础组织)

●一个未经培训的厨师,不遵守那些经过多年经验积累并提炼出来的烹调原则的指导,能为

你送上可口的美食吗?(缺乏过程培训与过程文档)

●一群没有纪律性,无人可管束的厨师所在的厨房能为你做出期望的、口味一致的食品吗?

以上说明了在一个缺乏规范的过程中生产出高质量产品的可能性是如何的微小。全面质量管理,即TQM(total quality management)是一个对产品与过程质量都适用的通用概念。为了要理解

过程与产品之间的区别,我们可以设想一个制造车间,一样的生产制造过程可以用来生产不同的产品。过程关心的是如何制造产品;而产品关心的是制造出了什么。过程的质量对最终产品的质量有着直接的影响。在制造性企业中,可以找出一系列的案例,用于说明过程规范对产品质量所起的根本性的作用与保证。生产线上流程的规范化是确保有效完成制造任务的关键所在,是产品质量、功能得到保证的前提。在制造业中,制造过程中必须同步进行质量的监控管理,软件行业也应从中吸取有益的经验。

2.3.3 过程规范对产品质量的影响

软件开发过程化已经提出了好多年,它所带来的对于产品质量的提高也日益明显。l995年5月召开的SEPG委员会上曾有一篇论文对过程改进的成效进行了探讨与总结(Goldenson,Herbsleb,1995b)。论文中列举了软件过程改进对产品质量及项目计划所带来的明显改进。其中部分结果如图2-3和图2-4所示。

James Herbsleb以及其合作者很早就已对软件过程改进所带来的收益进行了调查与研究并得出了如下的结论:

●每年在每位软件工程师身上的投资为$490~$2004。

●每年工作量增长率为9%~67%。

●每年开发周期以15%~23%的速度缩减。

●每年缺陷报告以12%~94%的速度降低。

●回报与投资比为4:1~8.8:1。

图表2-3软件过程对产品质量的影响

错误!未找到引用源。错误!未找到引用源。

图表2-4软件过程改进对进度的影响

2.4 面向过程的组织

2.4.1 面向过程的组织机构的特征

表2-1对一个成熟的过程环境与一个不成熟的过程环境进行了比较,列举出了两者各自的特征、角色与职责。一个成熟的过程就如同一位成人,虽然看上去烦恼多了,但其所作所为却是正确的!从另一个方面来说,一个成熟的过程如同成人一样具有更多精细而微妙的吸引力。使过程成熟的目的在于让过程可以被预测、可以被评估、可以持续地改进。就如同你可以通过成年人日常的处事方式来判断他在大多数情况下对问题的反应以及处理方式;相反,你很难预测儿童或者未成年人的行为与反应。同样,在一个成熟的组织中,你可以对组织活动的结果进行预测。

表格2-1成熟与不成熟的过程环境对比

软件过程与管理

软件工程是①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工 程化应用到软件上;②对①中所述方法的研究。 软件工程以关注软件质量为目标,包括过程、方法和工具三个要素。 过程:支持软件生命周期的所有活动。 方法:为软件开发过程提供“如何做”的技术。 工具:为软件开发方法提供自动或半自动的软件支撑环境。 软件产品目标的三要素: 时间成本 软件工程:用工程化的思想来管理软件开发 软件过程管理是软件工程的方法之一 软件过程管理的思想:产品的质量取决于过程的质量,采用规范化的软件开发过程。 软件过程是用于软件开发及维护的一系列活动、方法及实践。 管理过程:分项目管理、质量管理、风险管理、子合同管理 工程过程是软件系统、产品的定义、设计、实现以及维护的过程。

开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。 运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程。 维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。 支持过程:文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决 管理过程是在整个软件生命周期中为工程过程、支持过程和客户-供应商过程的实践活动提供指导、跟踪和监控的过程。 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。 主要关注:时间和成本 质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注。 主要关注:质量 风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制。 子合同商管理过程,选择合格的子合同商并对其进行管理的过程。 组织过程: 业务规划过程是为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。 定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持。 改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程。 人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动。 基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程。 客户-供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程。 软件过程管理:借鉴传统行业的管理方法对软件开发中的过程进行管理。 PDCA循环(戴明环) 过程优化和改进的过程

软件配置管理过程指导说明书(超级实用)

软件配置管理过程指导说明书

目录 1 前言 (2) 1.1 目的 (2) 1.2 适用范围 (2) 1.3 术语名词解释 (2) 2 角色和职责说明 (3) 3 输入 (4) 4 入口准则 (4) 5 配置管理实施 (4) 5.1 配置库结构 (4) 5.1.1 配置库 (4) 5.1.2 配置管理库系统 (6) 5.2 配置管理流程 (6) 5.2.1 配置管理流程图 (6) 5.2.2 配置变更流程图 (7) 5.3 配置标识 (8) 5.3.1 配置库划分 (8) 5.3.2 配置库结构 (8) 5.3.3 配置项命名 (11) 5.3.4 版本编号规范 (11) 5.4 配置管理活动 (12) 5.4.1 制定配置管理计划 (12) 5.4.2 建立配置库 (12) 5.4.3 建立配置项 (12) 5.4.4 基线建立及发布过程 (12) 5.4.5 配置变更 (13) 5.4.6 配置审计 (15) 5.4.7 备份 (16) 6 输出 (16) 7 出口准则 (16) 8 本过程裁剪规定 (16)

1 前言 1.1 目的 用于描述配置管理作用和过程,规范配置管理的实施过程、活动和操作。 1.2 适用范围 适用于在软件生命周期中对各类软件项目的配置管理活动。 1.3 术语名词解释 CCB:Configuration Control Board,配置管理委员会,每个项目组需要建立项目级的CCB作为变更控制权威。CCB由质量工程师、项目经理、测试经理、配置管理员构成,有时也可以包括客户代表、上级质量部门主管。CCB组长可以是质量工程师或质量部领导,但不能是项目经理。 软件配置项:是指软件工程过程中所生产或使用的任何元素,或者是纳入软件产品的元素。它可以是说明书、计算机程序、数据结构或者开发软件产品所使用的工具等,包括:项目文档,源代码,执行程序,相关设备及资料。 软件配置管理:对软件配置项的管理称为软件配置管理。软件配置管理的目的是建立和维护软件项目整个生命周期中工作产品的完整性和可追溯性。 软件工作产品:由定义、维护和使用一个软件过程所产生的任何人工制品,包括过程描述、计划、规程、计算机程序和相关文档,无论是否打算将它们交给客户或最终用户。 软件产品:可交付给客户或最终用户的软件工作产品的子集称作软件产品 基线:基线,是开发过程中标识出的里程碑所交付的一个或多个配置项,也即指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态它有如下特征:(1)已经过正式的评审和批准;(2)作为项目发展和产品升级的基础。(3)基线变更必须经过CCB审批。 变更控制:对配置项的更改进行评价、协调、认可或不认可以及执行更改的过程。 版本发布:指从项目的配置库中将需交付给客户的所有配置项组装成一个完整的软件产品。即交付给客户的一个包括可执行程序和文档的发布基线称为发布(release)。 配置审计:可以分为物理审计和功能审计。物理审计审查配置项的外在特征的正确性与一致性,主要考查软件受控库的结构、内容及其它相关信息,以验证基线和描述它的文档的一致性;功能审计审查配置项内容的正确性与一致性,主要考核配置项在实现功能上的一致性,功能审计主要通过评审和测试报告体现。 物理审计的内容包括: ? 确认配置项标识的正确性; ? 确认已受控配置项的更改是受到控制的; ? 验证配置库内容与相应记录之间的一致性; ? 验证配置管理活动与相应记录之间的一致性; ? 验证配置管理工作是否符合适用的标准和规程; ? 验证配置管理系统与系统备份的有效性、一致性等。 功能审计的内容包括: ? 验证当前基线所含配置项对前一基线所含配置项的追溯性; ? 确认当前基线所含配置项均正确反映了项目需求; ? 评估基线的完整性; ? 验证当前基线和各基线间所含配置项的一致性; 验证配置库内容的完备性和正确性等。

软件开发项目配置管理工具的选择

软件开发项目配置管理工具的选择 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报…… 每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。 针对这一问题,最早的开发人员尝试过的解决办法是通过手工来实现: 1)文档:每次修改时都另存为一个新的文件,然后通过文件名进行区分,例如"XXX 软件需求说明书V1.0,XXX软件需求说明书V1.1,XXX 软件需求说明书V2.0.",并且在文件中注明每次版本变化的内容; 2) 源代码:每次要修改时就将整个工程目录复制一份,将原来的文件夹进行改名,例如"XX 项目V1.0、XX 项目1.01、.",然后在新的目录中进行修改; 但是这种方法,不仅十分繁琐,容易出错,而且会带来大量的垃圾数据。如果是团队协同开发或者是项目规模较大时,还是会造成很大的混乱。很显然,这样简陋的方法是无法应对这一问题的。后来,有人尝试从制造工业领域引入了"配置管理"这一概念,通过不懈的研究与实践,最终形成了一套管理办法和活动原则,这也就是软件配置管理。 通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。 常见的配置管理工具 正如前面所述,由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。 正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制

HP UNIX操作系统管理常用命令

HP UNIX操作系统管理常用命令 2009-02-05 14:41 具体的命令格式和功能可用m a n命令来查看,具体语法是m a n c o m m a n d 1、#i o s c a n-n f:列出各I/O卡及设备的所有相关信息,如逻辑单元号,硬件地址及设备文件名等。 2、#p s-e f:列出正在运行的所有进程的各种信息,如进程号,进程名等。 3、#n e t s t a t-r n:列出网卡状态及路由信息。 4、#l a n s c a n:列出网卡状态及网络配置信息。 5、#b d f:列出已加载的逻辑卷及其大小信息。 6、#m o u n t:列出已加载的逻辑卷及其加载位置。 7、#u n a m e-a:列出系统I D号,O S版本及用户权限等。 8、#h o s t n a m e:列出系统网络名称。 9、#p v d i s p l a y-v/d e v/d s k/c*t*d*:显示磁盘各种信息,如磁盘大小,包含逻辑卷,设备名称等。 10、#v g d i s p l a y-v/d e v/v g00:显示逻辑卷组信息,如包含哪些物理盘及逻辑卷等。 11、#l v d i s p l a y-v/d e v/v g00/l v o l1:显示逻辑卷信息,如包含哪些盘,是否有镜像等。 12、如需修改网络地址、主机名等,一定要用s e t_p a r m s命令 #s e t_p a r m s h o s t n a m e #s e t_p a r m s i d_a d d r e s s 13、查看网卡状态:l a n s c a n 14、确认网络地址:i f c o n f i g l a n0 15、启动网卡:i f c o n f i g l a n0u p 16、网络不通的诊断过程: l a n s c a n查看网卡是否启动(u p) p i n g自己网卡地址(i p地址) p i n g其他机器地址,如不通,在其他机器上用l a n s c a n命令得知s t a t i o n a d d r e s s,然后l i n k l o o p s t a t i o

软件配置管理流程

配置管理流程规定 (Ver1.0) 拟制:___________________ 审核:___________________ 签发:___________________

目录 1.配置管理流程 (3) 1.1概述 (3) 1.2总体流程图 (3) 1.3软件需求分析阶段 (4) 1.4软件设计阶段 (4) 1.5制定配置管理计划 (4) 1.6配置库管理 (4) 1.6.1相关人员分配权限 (4) 1.6.2配置项 (5) 1.7版本控制 (6) 1.8变更控制 (6) 1.9配置审计 (8) 1.9.1配置审核的类别 (8) 1.9.2配置审核执行的时机 (8) 1.9.3不符合项的处理 (8) 2.0.0配置状态报告 (8) 2.0.1配置状态报告的目的 (8) 2.0.2配置状态报告记录的内容 (8) 2.0.3配置状态报告的生成 (9) 2.1.0发行管理 (9) 2.1.1交付管理 (9) 2.软件基线化规范 (10) 2.1正常开发期 (10) 2.2版本发布期 (11) 2.3项目发布期 (13) 3.Jira配置管理 (14)

1.配置管理流程 1.1概述 规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。 1.2总体流程图

1.3软件需求分析阶段 参加需求分析会议,配置管理负责人记录,有关文档提交归档。如《需求分析》。 1.4软件设计阶段 参加设计阶段,为了详细制定配置管理计划。针对需求分析报告进行系统设计,配置时应说明系统设计的版本与需求分析报告版本的对应关系。设计书评审通过后,建立设计基线。 1.5制定配置管理计划 配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配置项计划、备份计划等,审批该计划。 1.6配置库管理 配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根据自己的权限操作配置库。 1.6.1相关人员分配权限 项目经理: 1)与(有关负责人员)协商确定项目起始基线 2)接受配置管理计划,并按相关规定贯彻执行; 3)接受配置控制委员会的报告。 4)提出配置管理计划的修改要求; 5)提出管理管理的建议和要求。 配置管理员 1)编制配置管理计划; 2)执行配置项管理; 3)执行版本控制和变更控制方案; 4)编制配置状态报告; 5)配置库的建立和权限分配; 6)配置管理工具的日常管理与维护; 7)配置库的日常操作和维护 开发人员

16软件配置管理报告

份号:001 密级: XXXXXXXX项目 软件配置管理报告 XXXX-RPB-R01.00 XXXXXXXX公司 XXXX年XX月XX日

辑要页

文档修改记录

目次 1 范围 (1) 1.1标识 (1) 1.2系统概述 (1) 1.3文档概述 (1) 2 引用文挡 (1) 3 软件配置管理情况综述 (1) 4 软件配置管理基本信息 (1) 5 专业组划分及权限分配 (1) 6 配置项记录 (1) 7 变更记录 (2) 8 基线记录 (2) 9 入库记录 (2) 10 出库记录 (2) 11 审核记录 (2) 12 备份记录 (2) 13 测量 (2) 14 主释 (2)

1 范围 1.1 标识 本条应描述本文档所适用的系统和软件的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号。 1.2 系统概述 本条应概述本文档所适用的系统和软件的用途。它还应描述系统与软件的一般特性;概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构等;标识当前和计划的运行现场;列出其他有关文档。 1.3 文档概述 本条应概括本文档的用途和内容,并描述与其使用有关的保密性考虑。 2 引用文挡 本章应列出引用文档的编号、标题、编写单位、修订版及日期,还应标识不能通过正常采购活动得到的文档的来源。 3 软件配置管理情况综述 本章应描述软件配置管理活动进展,与软件配置管理计划的偏差;软件配置管理活动与规程是否相符;对不符合项所采取的措施;完成软件配置管理工作的工作量等。 4 软件配置管理基本信息 本章应概述软件配置管理的基本信息,包括项目负责人、各级软件配置管理机构组成人员和负责人、软件配置管理所用的资源(如计算机、软件和工具)等。 5 专业组划分及权限分配 本章应列出项目专业组的划分、各专业组的成员以及各成员的权限分配,如专业组可分为项目负责人、开发组、测试组、质量保证组、配置管理组等,权限可分为读出、增加、替换、删除等。 6 配置项记录 本章所列出项目的所有配置项,包括配置项名称、配置项最后发布日期、配置项控制力度(控制力度可分为基线管理、非基线管理(受到管理和控制))、配置项版本变更历史、配置项变更累计次数等内容。

[华为]路由器基本的系统管理命令

[华为]路由器基本的系统管理命令 [华为]路由器基本的系统管理命令 strong>基本的系统管理命令 1.3.1clockset 设置路由器当前日期和时钟。 clocksethour:minute:seconddaymonthyear 【参数说明】 hour:minute:second为当前时钟,hour范围为1~24,minute和second范围为1~60。 year、month和day分别为当前年、月和日,year范围为1997~2025,month范围为1~12,day范围为1~31。 【缺省情况】 系统启动时缺省为1997年1月1日0:0:0。 【命令模式】 普通用户模式、特权用户模式 【使用指南】 由于Quidway(R)系列路由器在下电后不能继续计时,因此在需要严格获取绝对时间的应用环境中,必须设定路由器的当前日期和时钟。 【举例】 设置路由器当前日期为2000年1月1日0时0分0秒。 Quidway#clockset0:0:0112000 【相关命令】 showclock 1.3.2hostname 设置路由器的域名。 hostnamehostname 【参数说明】 hostname为一字符串。 【缺省情况】 路由器缺省域名为Quidway。 【命令模式】 全局配置模式 【使用指南】 修改路由器的域名将影响命令行接口的提示符,如路由器的域名为Quidway,特权用户模式下的提示符为Quidway#。 【举例】 设置路由器的域名为QuidwayR2501。 Quidway#hostnameQuidwayR2501 QuidwayR2501# 【相关命令】 showhostname

管理体系的过程方法概念和应用的指南

2000年 版ISO 9000标准介绍和支持文集: 管理体系的过程方法概念和应用的指南 1 Our ref ISO/TC 176/SC 2秘书处 日期: 2004年5月13 日 2000年版ISO 9000标准介绍和支持文集: 管理体系的过程方法概念和应用的指南 相关的ISO 9001:2000 and ISO 9004:2000, ISO/TC 176/SC 2已出版了一些指南模块: N524 –ISO 9001:2000 条款 1.2 '应用'指南; N525 –ISO 9001:2000文件要求指南; N526 –ISO 9001:2000 and ISO 9004:2000术语指南_1); N544 –管理体系的过程方法概念和应用的指南; N630 –'外包过程'指南。 (1) 此模块与ISO/TC 176/SC1/WG2共同完成。ISO/TC 176/SC1负责完成 IS O 9000:2000 质量管理体系- 基础和术语) 上述文件组成ISO/TC 176/SC 2 '2000年版ISO 9000标准介绍和支持文集。 来自标准使用者的反馈信息将被用于决定该模块增加或修订。 ISO 9000标准的模块和进一步信息可在此下载: https://www.doczj.com/doc/1215711205.html, https://www.doczj.com/doc/1215711205.html,/iso-tc176-sc2 C Corrie for BSI Secretariat ISO/TC 176/SC 2 文件号: ISO/TC 176/SC 2/N 544R2(r)

1) 1) 引言 关键词: 管理体系、过程方法、管理的系统方法 内容 1. 引言 (2) 2. 什么是过程? (3) 3. 过程的种类 (4) 4. 过程方法理解 (4) 5. 过程方法实施 (6) 5.1 识别组织的过程(管理的系统方法) (6) 5.2 过程策划 (8) 5.3过程的实施和测量 (11) 5.4 过程的分析 (11) 5.5. 过程的纠正措施和改进 (11) 1. 引言 本指南文件提供ISO 9000质量管理体系标准族的“过程方法”的概念、意图和应用理解。本指南可作为任何管理体系应用过程方法的指南,而不论其组织类型和规 模,包括但不限于以下体系: - 环境 (ISO 14000 标准族); - 职业健康和安全; - 业务风险; - 社会责任。 本指南文件目的也在于推行过程描述和与过程应用相关的术语的统一途径。 过程方法的目的是增强组织实现规定目标的有效性和效率。 过程方法的益处: ?综合和协调所有过程以利实现策划的结果; ?集中努力提高过程有效性和效率的能力; ?为顾客和其它受益方提供对组织持续业绩的信心; ?组织运作的透明性; ?通过资源的有效利用,降低成本和缩短周期; ?改进的、一致的和可预测的结果; ?提供专注的和有优先顺序的改进动力的机会; ?激励全员参与和职责分明。

软件过程管理作业

1. 软件能力成熟度模型(CMM):CMM其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。 2. 软件过程能力:是指软件开发过程能够达到的能力,此过程能力包括能够达到的质量、效率、工期、成本等。 3. 组织过程焦点:组织过程包括组织与项目所使用的所有过程。组织过程与过程资产的可能改进由不同的来源取得,包括过程的度量、执行过程的学习心得、过程评鉴的结果、产品评估活动的结果、以其它组织过程标竿比较的结果,以及组织中其它改进构想的建议。 4. 变更控制:变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。 5. MSF的过程模型:是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考。MSF的最大特性是商业化,并一直体现在项目的实施过程中。所谓商业化意味着客户的商业利益。客户投入多少,得到多少回报,客户要用到哪些最新的技术,最后如何把项目计划(Project)变成产品(Product)直至产生效益,等等,这些都是MSF要考虑的问题。 6.软件过程改进: (SPI,Software Process Improvement)帮助软件企业对其软件过程向更好的方向改变,进行计划、制定以及实施。 l 论述题(5选2) 1) 从你已有的软件过程与软件管理的知识和软件实践经验,谈谈如何判断软件过程是成熟的和有效的。 答:若软件过程满足如下几个标准,则认为其是成熟和有效的: 软件过程被正确无误地通知到现有职员和新雇员,工作活动均按照己规划的过程进行,而且和实际进行工作的方式相一致。 软件过程中,需要时就更新过程,并且通过可控的先导性试验和(或)费效分析使其得到改进。所有项目和在整个组织中,所有的岗位及其职责都是清楚的。 经理能够严格监控产品的质量和顾客的满意程度;有客观的、定量的基础,进度和预算是现实的基于以前的性能数据;能达到产品的成本、进度、功能和质量的预期结果。整个过程一致地遵循一个有纪律的过程,而且存在支持该过程的必要基础设施。 2) 从PSP、TSP、CMM所关注的焦点,简要论述PSP、TSP、CMM之间的关系。 答: PSP、TSP 和CMM为软件产业提供了一个集成化的软件过程框架。三者互相配合,各有侧重,形成了不可分割的整体。 CMM注重于组织能力和高质量的产品,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。然而,它实现的成功与否和TSP、PSP密不可分。在CMM的18个关键过程域中,有12个与PSP紧密相关,16个与TSP紧密相关。 PSP注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现。软件工程师们在他们参与的项目工作之中若充分利用PSP,则可以保证项目整体的进度和质量,有助于CMM目标的实现。

SCMS软件配置管理过程

C M M文件软件配置管理过程 XXXXXXXXXXXX (版权所有,翻版必究)

文档变更请求(DCR)

文档变更记录

目录 1 概述 (1) 1.1 目的 (1) 1.2 范围 (1) 1.3 术语与定义 (1) 1.4 参考文档 (1) 1.5 引用文档 (2) 2 过程目标 (2) 3 过程定义 (2) 3.1 责任人 (2) 3.2 输入 (3) 3.3 入口准则 (3) 3.4 过程活动 (3) 3.5 出口准则 (6) 3.6 输出 (6) 附录 A :软件配置项/产品包标识 (8) A.1 文档的编号 (8) A.2 程序的名称 (9) A.3 软件产品包的标识 (9) A.4 系统、数据库、开发与支持软件工具的编号 (9) 附录 B :配置项状态报告 (10) B.1 系统软件、数据库、开发与支持软件工具列表 (10) B.2 软件基线/配置项状态报告 (10) B.3 软件基线软件基线变更报告 (10) 附录 C :软件配置管理测量报告 (11)

1概述 1.1目的 软件配置管理(简写为SCM)是维护项目软件整个生命周期产品完整性的重要活动,本文档明确规定了公司软件配置管理活动的目标和过程定义,为公司软件配置管理提供所遵循的过程、程序和指导方针。 1.2范围 本文档适用于管理公司所有软件项目在各阶段标识的软件配置。软件配置管理的大部分活动用“软件配置管理工具”实现。 1.3术语与定义 1.3.1软件工作产品:作为定义、维护或应用软件过程的一部分所生成的任何人工制品,包括过程描述、 计划、规程、计算机程序和相关文档,这些可能交付也可能不交付给顾客或最终用户。 1.3.2软件基线:软件配置项经软件验证、确认、评审和认定后,形成了软件基线,也就成了该阶段的一 个基准。下一个阶段只能在这个基准上进行开发活动。 1.3.3软件配置项:是指一个软件产品在软件生存周期各个阶段所产生或应用的各种形式(机器可读或人 工可读)和各种版本的文档、程序及其数据。 1.3.4SCCB:软件配置管理委员会(Software Configuration Control Board)(关于责任,参见“责任 人”)。 1.3.5SCM:软件配置管理(Software Configuration Management) 包括了标识软件工作产品、控制对 软件工作产品的更改、和维护在整个软件生存周期中的软件工作产品的完整性和可跟踪性。 1.4参考文档 1.4.1Mark C. Paulk,Bill Curtis,Mary Beth Chrissis,Charles V. Weber,Capability Maturity Model for Software (Version 1.1) 1.4.2Roger S. Pressman,Software Engineering –A Practitioner’s Approach (Fourth Edition) 1.4.3《计算机软件配置管理计划规范》GB/T 12505-90

管理体系过程方法的概念和使用指南

最新国际质量管理文件 管理体系过程方法的概念和使用指南 1 引言 本文件为理解“过程方法”的概念、意图及其在ISO9000族质量管理体系标准中的应用提供指南。本指南也可用于其他管理体系采用过程方法,不论组织的类型和规模如何。 本指南的目的是推动描述过程的方法的一致性,并使用与过程有关的术语。 过程方法的目的是提高组织在实现规定的目标方面的有效性和效率。 过程方法的好处有: ?对过程进行排列和整合,使策划的结果得以实现; ?能够在过程的有效性和效率上下功夫; ?向顾客和其他相关方提供组织一致性业绩方面的信任; ?组织内运作的透明性; ?通过有效使用资源,降低费用,缩短周期; ?获得不断改进的、一致的和可预料的结果; ?为受关注的和需优先安排的改进活动提供机会; ?鼓励人员参与,并说明其职责。 2 什么是过程? “过程”可以定义为“将输入转化为输出的一组相互关联、相互作用的活动”。这些活动需要配置资源,如人员和材料。图1所示为通用的过程。

与其他方法相比,过程方法的主要优点是对这些过程间的相互作用和组织的职能层次间的接口进行管理和控制(在第4章中详细说明)。 输入和预期的输出可以是有形的(如设备、材料和元器件)或无形的(如能量或信息)。输出也可能是非预期的,如废料或污染。 每一个过程都有顾客和受过程影响的其他相关方(他们可以是组织内部的,也可以是外部的),他们根据其需求和期望规定所需要的输出。 应通过系统进行收集数据、分析数据,以提供有关过程业绩的信息,并确定纠正措施或改进的需求。 所有过程都应与组织的目标相一致,要规定所有过程都增值,与组织的规模和复杂程度相适应。 过程的有效性和效率可通过内部和外部评审过程予以评审。 3 过程的类型 可规定以下类型的过程 ——组织的管理过程。包括与战略策划、制定方针、建立目标、提供沟通、确保获得所需的资源和管理评审有关的过程。 ——资源管理过程。包括为组织的管理、实现、测量过程提供所需资源的所有过程。 ——实现过程。包括提供组织预期输出的所有过程。 ——测量、分析和改进过程。包括测量和收集业绩分析及提高有效性和效率的数据的那些过程,如测量、监视和审核过程,纠正和预防措施,它们是管理、资源管理和实现过程不可缺少的一部分。 4 过程方法的理解 过程方法是一种对如何使活动为顾客和其他相关方创造价值进行组织和管理的有力方法。

软件过程管理总结

大纲: 第1章软件过程规范 1、软件过程:过程的定义、软件过程的分类和组成、软件过程定义的层次性 2、过程规范:过程规范的涵义、内容、影响及作用 3、软件生命周期的过程需求:理解ISO/IEC15504所定义的软件过程的5大需求,并进一步理解其子过程 4、软件生命周期标准:了解ISO和IEEE两大软件生命周期标准体系 5、软件过程建模:掌握软件过程模型的定义,了解软件过程模型 第2章软件过程成熟度 1.过程成熟度标准: 掌握软件过程能力、软件过程性能、软件过程成熟度的概念,了解成熟和不成熟软件过程的特点 2.能力成熟度模型:重点掌握CMM,了解其起源,掌握其基本内容和结构。理解CMMI 的目标 3.过程成熟度级别:理解CMM/CMMI成熟度的5个等级及其过程特征,了解CMMI过程域 4.软件过程框架:了解软件过程环境中的活动,掌握软件过程环境内容、软件组织的层次,掌握组织、过程和环境的关系,了解软件过程文化。掌握PSP/TSP和CMM组成的软件过程框架 第3章软件过程的组织管理 1.组织过程的焦点:了解组织过程焦点的基础、活动和评估 2.组织过程定义:理解组织过程定义的概念、了解软件过程定义基础、掌握剪裁标准软件过程指南和准则 3.PSP过程框架和成熟度模型: 理解PSP概念、原则和思想,掌握PSP过程框架及其成熟度模型并能在实际中实施4.TSP结构和启动过程:理解TSP概念、原则和思想,掌握TSP结构及其启动过程和工作流程 第4章软件过程的需求管理 1.需求管理的模型和流程:理解软件需求的三个不同层次和需求过程系统模型 2.需求开发:了解需求获取的过程和方法,掌握基于用例的需求获取和分析方法 3.需求管理:掌握需求管理流程,并能结合实际案例运用所学知识进行分析 第5章软件过程的技术管理 1.软件过程的技术架构:理解软件过程的技术架构定义、层次、内容,了解软件资源管理2.软件过程的问题分析和决策方法: 掌握系统分析过程逻辑结构、了解原因分析和缺陷分析、决策分析与决定 3.软件过程的技术路线:掌握软件项目过程的技术解决流程的主要内容,了解其过程4.知识传递:掌握知识传递的有效方法 第6章软件过程的项目管理 1.软件配置管理:掌握SCM的定义和变更控制流程,了解软件配置管理中经常使用的一些基本概念 2.软件项目开发计划:理解WBS的内涵,掌握WBS的分解步骤、工作编码,并能进行实际分解。掌握软件项目估算的概念,理解规模、成本、进度估算,重点掌握进度估算。网络图的形式及特点,并能结合实际项目制定开发计划。 3.项目风险评估:风险的概念、分类,了解风险识别、风险评估、风险计划、风险控制与管理过程,结合实际项目进行风险管理。 4.项目跟踪和监督:项目跟踪包括的内容,项目跟踪的基本步骤。了解项目过程的跟踪和控制。 第7章软件过程的质量管理 1.质量管理概述:理解三种不同的管理方式,软件的质量。 2.软件质量方针和计划:掌握质量计划的输入因素,质量计划的制定步骤,质量计划的方法和技术。 3.软件评审过程和方法:掌握评审的入口条件包含的内容,软件评审流程的6个步骤。掌握常用的软件评审方法,并能在软件开发过程的不同阶段应用。掌握好的缺陷管理系统的特点,了解缺陷发展趋势图、缺陷分布图,掌握鱼骨图分析法,并能结合项目画出完整的鱼骨图。了解两种比较常见的缺陷预防方法。了解质量度量的主要作用和其所包括的主要度量的含义。掌握PSP中预防缺陷的三种方法。 第8章软件过程的集成管理

软件配置管理流程

软件配置管理流程

目录 1.配置管理流程 (3) 1.1 概述 (3) 1.2 总体流程图 (3) 1.3 软件需求分析阶段 (4) 1.4 软件设计阶段 (4) 1.5 制定配置管理计划 (4) 1.6 配置库管理 (4) 1.6.1 相关人员分配权限 (4) 1.6.2 配置项 (5) 1.7 版本控制 (6) 1.8 变更控制 (6) 1.9 配置审计 (7) 1.9.1 配置审核的类别 (7) 1.9.2 配置审核执行的时机 (7) 1.9.3 不符合项的处理 (7) 2.0.0 配置状态报告 (7) 2.0.1 配置状态报告的目的 (7) 2.0.2 配置状态报告记录的内容 (7) 2.0.3 配置状态报告的生成 (7) 2.1.0 发行管理 (8) 2.1.1 交付管理 (8) 2.1.1 软件配置管理员的处理规范 (8) 2.1.1.1 现阶段使用的版本配置服务器 (8) 2.1.1.2 主要操作流程 (8) 2.1.1.3 版本规范化处理 (8) 2.1.1.4 客户反馈问题处理 (8) 2.软件基线化规范 (9) 2.1 正常开发期 (9) 2.2 版本发布期 (9) 2.3 项目发布期 (9) 2.4 项目维护期 (9)

1.配置管理流程 概述 规范配置管理活动,明确配置项正确的唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。 总体流程图

软件需求分析阶段 参加需求分析会议,配置管理负责人记录,有关文档提交归档。如《需求分析》。 软件设计阶段 参加涉及阶段,为了详细制定配置管理计划。针对需求分析报告进行系统设计,配置时应说明系统设计的版本于需求分析报告版本的对应关系。设计书评审通过后,建立设计基线。 制定配置管理计划 配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配置项计划、备份计划等,审批该计划。 配置库管理 配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根据自己的权限操作配置库。 相关人员分配权限 项目经理: 1)与(有关负责人员)协商确定项目起始基线; 2)接受配置管理计划,并按相关规定贯彻执行; 3)接受配置控制委员会的报告; 4)提出配置管理计划的修改要求; 5)提出管理的建议和要求。 配置管理员 1)编制配置管理计划; 2)执行配置项管理; 3)执行版本控制和变更控制方案; 4)编制配置状态报告; 5)配置库的建立和权限分配; 6)配置管理工具的日常管理与维护; 7)配置库的日常操作和维护; 开发人员 1)根据确定的配置管理计划和相关规定,提交配置项

软件配置管理计划示例

软件配置管理计划示例 作者:赵文锋计划名CADCSC软件配置管理计划 项目名中国控制系统CAD工程化软件系统 项目委托单位 代表签名年月日 项目承办单位 代表签名年月日 1 引言 1.1 目的 本计划的目的在于对所开发的CADCSC软件规定各种必要的配置管理条款,以保证所交付的CADCSC软件能够满足项目委托书中规定的各种原则需求,能够满足本项目总体组制定的且经领导小组批准的软件系统需求规格说明书中规定的各项具体需求。 软件开发单位在开发本项目所属的各子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可以根据各自的情况对本计划作适当的剪裁,以满足特定的配置管理需求。剪裁后的计划必须经总体组批准。 1.2 定义 本计划中用到的一些术语的定义按GB/T 11457 和GB/T 12504。 1.3 参考资料 ◆GB/T 11457 软件工程术语 ◆GB 8566 计算机软件开发规范 ◆GB 8567 计算机软件产品开发文件编制指南 ◆GB/T 12504 计算机软件质量保证计划规范 ◆GB/T 12505 计算机软件配置管理计划规范 ◆CADCSC 软件质量保证计划 2 管理

2.1 机构 在本软件系统整个开发期间,必须成立软件配置管理小组负责配置管理工作。软件配置管理小组属项目总体组领导,由总体组代表、软件工程小组代表、项目的专职配置管理人员、项目的专职质量保证人员以及各个子系统软件配置管理人员等方面的人员组成,由总体组代表任组长。各子系统的软件配置管理人员在业务上受软件配置管理小组领导,在行政上受子系统负责人领导。软件配置管理小组和软件配置管理人员必须检查和督促本计划的实施。各子系统的软件配置管理人员有权直接向软件配置管理小组报告子项目的软件配置管理情况。各子系统的软件配置管理人员应该根据对子项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划规定的所有要求。 2.2 任务 在软件工程化生产的各个阶段中,与本阶段的阶段产品有关的全部信息在软件开发库存放,与前面各个阶段的阶段产品有关的信息则在软件受控库存放。在研制与开发阶段的阶段产品的过程中,开发者和开发小组长有权对本阶段的阶段产品作必要的修改;但是如果开发者或开发小组长认为有必要个性前面有关阶段的阶段产品时,就必须通过项目的配置管理小组办理正规的审批手续。因此,软件开发库属开发这个阶段产品的开发者管理,而软件受控库由项目的配置管理小组管理。软件经过组装与系统测试后,应该送入软件产品库,如欲对其修改,必须经软件配置管理小组研究同意,然后报项目总体组组长批准。关于软件配置要进行修改时的具体审批手续,将在第条中详细规定。 2.3 职责 在软件配置管理小组中,各类人员要互相配合、分工协作,共同担负起整个项目的软件配置管理工作。其中各类人员的分工如下: A.组长是总体组代表,他对有关软件配置管理的各项工作全面负责,特别要对更改建议的审批和评审负责; B.软件工程小组组长负责监督在软件配置管理工作中认真执行软件工程规范; C.项目的专职配置管理人员检查在作配置更改时的质量保证措施; D.各子系统的配置管理人员具体负责实施各自的配置管理工作,并参与各子系统的功能配置检查和物理配置检查;

对质量管理体系之过程方法的指南

对质量管理体系之过程方 法的指南 Updated by Jack on December 25,2020 at 10:00 am

对质量管理体系之过程方法的指南 1)介绍 新版ISO 9000:2000标准鼓励在制定、实施和改进质量管理体系(QMS)时采用过程方法。 ISO 9000:2000条款过程方法描述到: "任何使用资源将输入转化为输出的活动或一组活动可视为一个过程。 为使组织有效运行,必须识别和管理许多相互关联和相互作用的过程。通常,一个过程的输出将直接成为下一过程的输入。系统地识别和管理组织内所应用的过程,特别是这些过程之间的相互作用,称为'过程方法'"。 过程方法取代了ISO 9001:1994的"20个要素",体现在ISO 9004:2000("质量管理体系--业绩改进指南")及ISO 9001:2000("质量管理体系--要求")的新结构中。 作为新标准基础的八项质量管理原则的其中两项是"过程方法"和"管理的系统方法": 过程方法:将活动和相关的资源作为过程进行管理,可以更高效地得到期望的结果。

管理的系统方法:将相互联系的过程作为系统加以识别、理解和管理,有助于组织提高实现目标的有效性和效率。 本指南旨在帮助新标准ISO 9000:2000的使用者理解"过程方法"相对于管理的概念和目的。 2)过程方法 过程方法力求实现持续改进的动态循环,使组织获得可观的收益,典型表现在产品、业绩、有效性、效率和成本方面。 过程方法还通过识别组织内的关键过程、过程的后续发展和持续改进来促使组织以顾客为关注焦点,提高顾客满意度。如ISO 9004:2000附录A所表述的自我评价方法,可用来评价过程成熟水平。 过程方法鼓励组织清楚理解其所有过程,而非局限于其质量管理体系所需过程。一个过程包含将输入转化为输出的一个或多个活动。输入和输出通常是有形和/或无形的产品。输入和输出可包括设备、材料元件、能量、信息和财务资源等。要在过程中实施活动,就应该分配适宜的资源。测量系统可用来收集信息和资料,以便分析过程绩效和/或输入及输出特点。 ISO 9001:2000要求组织识别、实施、管理和持续改进其质量管理体系所需过程的有效性,并管理这些过程的相互作用,以便实现组织的目标。这些过程包括最高管理者、产品实现和相关支持过程以及监视和测量过程。

计算机管理命令大全

winver检查Windows版本 dxdiag检查DirectX信息 mem.exe显示内存使用情况 Sndvol32音量控制程序 sfc.exe系统文件检查器 gpedit.msc 组策略 regedit.exe 注册表 Msconfig.exe 系统配置实用程序 cmd.exe CMD命令提示符 chkdsk.exe Chkdsk磁盘检查 mem.exe显示内存使用情况 gpedit.msc 组策略 regedit.exe 注册表 Msconfig.exe 系统配置实用程序 cmd.exe CMD命令提示符 services.msc 服务 lusrmgr.msc 本地账户管理 drwtsn32 系统医生 cleanmgr 整理 iexpress 木马捆绑工具,系统自带 mmc 控制台 dcpromo 活动目录安装 ntbackup 系统备份和还原 rononce -p 15秒关机 taskmgr 任务管理器 conf 启动netmeeting devmgmt.msc 设备管理器 diskmgmt.msc NT的磁盘管理器 compmgmt.msc 计算机管理 winchat 局域网聊天 dvdplay DVD播放器 mplayer2 简易widnows media player mspaint 画图板 nslookup 网络管理的工具 syskey 系统加密,一旦加密就不能解开,保护windows xp系统的双重密码wupdmgr WIDNOWS UPDATE Clipbrd 剪贴板查看器

Odbcad32 ODBC数据源管理器Nslookup IP地址侦测器

相关主题
文本预览
相关文档 最新文档