已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发过程管理研究 摘要 随着计算机的广泛应用,计算机程序日益复杂,软件开发所出现的问题越来越 难以解决:软件开发无规范,软件过程无秩序、无计划、不确定,需求和进度炎控, 过程能力不可预颡等。控甫软件开发过程是生产高质量软件的必要保证。 美国软 串工程协会提出并竞善了软 牮能力残熬度模型( ( n 垃娃) ,r a t i o n a l 公司提 如了统一开发过程的开发方法( 默 p ) ,现已世界上为众多的软件企业所采用。心皿4 规定了软件开发应该“做什么”的标准,r u p 则是种可实现这种标准的具体实施 过程。针对我国很多小垄 软件企、韭软件开发不瓶范、开发过程无控制的臻状,本文 按照c m m l 缀及c v i m 2 缎熬郝分标准,透过黠r 王碧过程豹裁剪,巷定出一个适题 于小型软 牛企业的软传开发过程管理模式,对软件开发的每一个阶段进行管理和控 制,来确保生产出满足用户需求的高质量产品。该模式应用遥代式开发及面向对象 的开发方法,采用了臌j p 的核心工作流程佟为道程活动框架,其关键过獠壤逐包括 软件需求管璎、软件瑗毽计戈l 管理、软 牛震量保证翻坎终配霆管理。 我 门应用这个模式在鞍钢设计院的一个综食信息管理系统的开发过程中进行了 实践,证明在实际应用中是可行的,效果是良好的,同时也取得了一些经验和教v i l , 可为今后进步究善貔们的软件开发过程管理工作旋供借鉴。 关键词;软件开发:过程管理;餍量蝰翩:软件琵力成熬度:统开发进程 软件开发过程管理研究 a b s t r a c t w i t he x t e n s i v ea p p l i c a t i o no f c o m p u t e r , c o m p u t e r s o l w a r ei sg e t t i n gm o r ea n dm o r e c o m p l e x ,s o f t w a r ed e v e l o p m e n t i sf a c i n gm a n y p r o b l e m s t os o l v e , w h i c hi st h a ts o , w a r e d e v e l o p m e n th a sl i t t l ec r i t e r i o r kd i s c i p l i n ea n dp l a n ;r e q u i r e m e n t sa n dp r o c e s sa r eo u to f c o n t r o la n d p r o c e s sc a p a c i t y i sn o t p r e d i c t a b l e a m e r i c a ns o f t w a r ee n g m e e r i n gi n s t i m t er a i s e dt h ei d e ao fc a p a c i t ym a t u r i t ym o d e l f c m m ) 。c m mp r o v i d es o l , w a r eo r g a n i z a t i o n s 嚣i d a f 黼o nw h a t t od ot og a i nc o n t r o lo f t h e i rp r o c e s sa n da l l o wa no r g a n i z a t i o n 幻s e l e c tp r o c e s si m p r o v e m e n t 曲= 踉鳓b y d e t e r m i n i n gc u r r e n ts t a t e w e a k n e s s a n dw h e r e t op r i o r i t i z e t h e r ea r ef i v el e v e l so nc m m f r o ml o w e rt oh i g h e r , w h i c ha r er e s p e c t i v e l yl n i t i a l ,r e p e a t a b l e ,d e f i n e d ,m a n a g e da n d o p t i m 幽g e a c h l e v e l c o n s i s t s o f s o m e k e y p r o c e s s a r e a s t o c o m p l e t e t h e i r o w n g o a l c m ms p e c i f i e s h m l a t 韬d 。”o ns o f v c a r e d e v e l o p m e n ta n d r a t i o n a lu n i f i e d p r o c e s s ( r u p ) p r o v i d e s as e r i e so fp r o c e s s e st o i m p l e m e n t h o wt o d o ”f r o ma m a n a g e m e n tp e r s p e c t i v e ,t h es o t t w a r el i f e c y c l eo f t h er u pi sd e c o m p o s e do v e rt i m ei n t o f o l i t s e q u e n t i a l p h a s e s , e a c h c o n c l u d e d b y a m a j o r m i l e s t o n e ;e a c h p h a s e i s 器s 酬a l l v a s p a n o ft i m eb e t w e e nt w om a j o rm i l e s t o n e s + a te a c hp h a s e - e n da na s s e s s m e n ti sp e r f o r m e dt o d e t e m 妇ew d a e t h e rt h eo b j e c t i v e so f 攮ep h a s eh a v eb e e nm e t as a t i s f a c t o 翠a s s e s s m e n t a l l o w st h ep r o j e c tt on l o v et ot h en e x t p h a s e i a r o u 曲s e l e c t i n gs o m ep 1 1 ) c e s s e so fr u p , w ed e s i g n e do u rs c h e m eo fs o f t w a _ l e d e v e l o p m e n tp r o c e s sm a n a g e m e n ta c c r u i n g t oc m ml e v e l1a n dl e v e l2t oi n s t r u c t0 1 1 1 t e a mt od e v e l o ps o f t w a r ei na i r d n a g e m e n t i n f o r m a t i o n s y s t e m a n dh a v e g o ts o m e v a l u a b l e e x p e r i e n c ef o ri m p r o v e m e n t o f o u rs 0 1 a r ed e v e l o p m e n t p r o c e s s k e ) 懈o r d s :s o f t w a r e d c v d o p m m t ;p r o c e s s m a n a g e m m t ;q u a l i t y c o n t r o l ;c m m ;r u p 较舞弹发过程管理婿究 0 前言 隧着市场经济酶遘一步窝罄及全球经浮p 一诲纯进程自a 浃,企事娃蕈位瓣器替激蒸的 市场竞争,企般内部、夕 部壤息交滤已戏为企业发展、参与审场经济辩的迫切霉要。 企业引入先进的信息处理技术,增加信息共李程度,不仅会提高工作效率、降低成 本,露豆彀会提高锻2 管理羽褥学睦霹塞动亿程寝。镑息醺成为企夔生存与发展魏基戳。 计剿滚邋蕊技术戆逐速笈媵,特鬟是躲雌娥技末靛发麟与落及,为盛蛙2 蠹蘸、龛蛾 与步 部提供了快速、准确可嚣的信息交漉瀑邀,傣息瘫逮公踌改交了企波与企、业、企、韭 与客户、企业内部各级决策港与管理人员以及管理人员之问的信息发流方式,有效地倪 避了企监备部门之耩戬客户为中心静协佟,为企i 2 实现经赣方式、管理模式的改变奠定 了坚蜜戆基确。售恿纯垒效逡季誊营毽系纹已成为爱事遭挚筑参与全球审场竞争翡必番辩 支持系统。 正是由于这样市场需求与技术发展现状,为我国的r r 行业带_ 泉了空前发展的机遇, 特舅怒软晰亍姚。软件企业能西抓往这祥一个难得的发展机会需要多方筒的努力,其中 较箨嚣茨篱璎与霞量控露晦蒸发骚孛占裔黧耍豹燕蚕。 软件开发过程管理研究 1 软件开发过程管理 l 1 软佟开发遂疆餐理戆塞义 6 0 举代中期,随替计算机在科研、国防中的威用,计算机程序日益复杂,软件开发 所出现的问题越来越难以解决。例如;需求难以分析;错误越来越寥;经费、工期得不 黜等。祷鬟是缝妒潮题,占掭了大量天力、貔力,隘碍了赣产蕊酶嚣整,觚蕊号陵 了一系聚鹣“软终惫戳盘鼗,诞囊了赞霹软 孛筑祝豹“蓑释王疆篷藿较 串工程筑 不断发腿完善,部分缓解了软件危机所带来的冲击。当前社会对软件的需求继续增长, 企事业黪晓面临着激烈的市场竞争,捷业内部、外部信息交流已戚为企业发展、静与市 场经济竞争静迫切需要。人们的b 卷生活也离不开债患技术,i n t e m e t 的飞速发怒已充分 证骥了这一点。 解决软件危机豹途径是在软件开发组织内实漉软件工程,软件工程研究两个方面的 问题;熟一;软件开发技术。其二:软件过程管理。软件开发披求是技术的角艘来研 究软件魄开发,软件工程发展到今天,已有许多行之有效的软件开发技术用于软件开发 实践,鲡:结构健分梃设诗、垂商i 雩象努琚设诗还商大量戆c a s e 王县供赣 孛缴开发蹙 螽,尤蒸是嚣是对蒙蔽零已经或为靛伟j 手菱靛主流方法。在这墼遗镯。论较释开发技术, 仅研究软件开发的另外个问题:软件开发过程管理软件:c 稷过程。 软件工程过程是组织不断改进软件开发能力和提高软件质量的篇一要素,魁提高组 织软传开发裁力的必襄保迁。出于软 譬产品的独特矬,较箨工程过程不冠子其它:程管 理豪毽,它霹挺亵较转产嚣蕊质量零越毫茏襄麴较绺秀发瓮鸯其蠢熨为重要冀意义。软 件是一种逻辑产品,与物贡产品有缀h 大区剐。软件疑有无形牲,怒依靠人的脑力游动形 成的一个知识产品。柱软件交付使辟;i 之前,整个开发过程的进展情况较难衡量,开发质 量也难姒评价,因此镣理和控制软件开发过程相当豳难。 隐罄软件开发筑模及开发 骆题粒逐濒堰大,软件开发不要是囊过去要l 群一= :个开菱 人员瓣蜀解决靛事涛。追切需要释开发规范来静调每个秀茨天受、羲试入爨与支持入 员的工作,每个项目编戚员按约定的规则准时完成自己的工作。搦资料载,软件业的发 展存在如下的关键性闻题: ( 1 )大蛉系绞,一般常辫麟予诗划; ( 2 )哭毒l 麟鼹软箨蕤蔽潜宠或著交静篷阐; ( 3 )需求比较商的软件有2 5 无法完成。 实际上这些问题的出现很大程发上是因为没有衡效的软件开发过程管理造成的。如 果把软僻过程管理的熨施简单的认为怒把工作分发鲶每个人员,然履幻想他们将念取褥 一审鞭期魏结果匏话,许多搴霹粼戆较滓硬鹭照会走受矢效! 但舞鬃重蝴管理、 毒效瓣餐施过程管理,帮使复杂静疆秘也会或功。管理荮较释开发i 孀懿各释产物,飘 而降低产品研发成本。在组织内实黼i 软件过程已成为开发出让用户满意的高质燃的软件 产品的必要保证。 较l 孛过程是 黔廷德予较 牛开发鞠维护中麴狯羧、方法、技术、实践及相关产甥髓 鲻、文秘、搂鍪、霞鹣、溅渡焉铡黯警瓣餐麴集会,速番为一个霄窿翁 蚕宓集。警竞藏 这些活渤盾,将产生可以交付给客户的软件“产品”。一个过程怒被组织四确定义舶一个 标准,它既可以在组纵内满足典型耕项目的需要,也可为满足组织所经历的非传统项目 2 软件开发过程管理研究 的需要丽邀行裁减。这就意味蛰过理应由个可理解的活动集会组成,个毅璎晷的戏 员可以从中眺选一个子集去最好地满足项目的独特需求。软件过程是一个模板,软件过 禚实佣与软件项目是同义谲,最通过一系列的管理活动来体现的: ( 1 ) 建立软件瑗鼙憝避毽框架; ( 2 ) 建立有效的、可跟踪的软传项旦进度计划; ( 3 ) 建立软件的质量保证体系; ( 4 ) 建立软件项舀的配鬣管理体系和准刚; ( 5 ) 定义用于覆星镣汪鞫控铡静綦线; 6 ) 管理蚕控卷4 款l 牛项露进展中发生的变化; ( 7 ) 跟踪、监控软件项目实施目标,以及由于目标产生变化的控制; ( 8 ) 跟踪、监控和控嗣软件项目进展; 9 ) 1 曩i i 黢管理; ( 1 0 ) 团队建设。 行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、俐氐成本 并减少风险。软件过程管理是一门艺术,它乎衡竞争刚示、管理风险并克服制约因素, 从两最终残功交付满足爝户需要靛软传产品。实际上,狠少有软绛会获得秃哥争议的成 功,这足以说明进 亍软l 牛过程管理的难度。 软件质量是软件过程管理的重头戏,它的重要性越来越为人们所认识。软件是产品、 怒装备、也是工具。软件质擅能够让顾客满意,魑产酩市场开拓、事业得以发展的关罐。 入 闪在一些实践活淤失黢越后,总缭密一些经验教训。当然强他软件凌量静管毽正怒重 要的经验总结。 软件质量低劣造成软件不能完成八们预期的工作,这迫使人们不得不进入软件质量 这一研究领域,研究软件质量的概念和模型,研究影响软件质量的因著汲软件鼹黜0 穷法。软俘袋量楚楱朔的概念。我销常常听说;菜菜较 串好用;菜莱软件功能全、结 槐合璎、层次分明、语言流畅。这些模模糊期的语言实在不湫是软馋糜萋葬乎绘,特 别不能算作是软件质量科学的定量的评价。没有定义良好的软件过程,就无法保证软件 质量。只有在组织内实施过程管理,才魏保证生产出高质精的软件产品,从而满足嗣益 发晨舔软件需求。 1 2 我国的软件开发过程管理现状 我国软件好业发展的历史较短,靠之i t 行业技术发展速度很快,我国的软终企业存 在的问题归纳起来,主要有以下几个方面: 1 ) 软件开发管瑗不规范 舅 ;萝大部分软传公司,无论是产品燮公司还是顼蟊型公司,大部分公司没鸯形成透 合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软终 开发管理规范,但并没有从根本上解决软件开发的质攮控制问题。这样导致软件产品质 鬣不稳定,软件后潮静维护、升级漱现麻颓,同时最终也会损害鞠户的利益。 嘲时,睫萋软件开发娥模及开发是鲣的逐激增大,软件开发不再悬缘 跫去嚣撵一二 个开发人员即可解决的事慝。迫切需要一碍十开发规范来规范每个开发人员、测漩人员与 支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化 管理,专1 2 分工也可戳降 氐对开发入员静要求,扶丽隔氐产晶研发成本。 ( 2 ) 缺乏裹素质豹研茨管理人员靼礤发人员 目前,我图软件市场还处于起步与发展阶段,绝大多数的软件公司的规模很小,国 3 软件开发过程管理研究 内软件开发人员超过1 0 0 人的公司很少。软件公司的用户几乎全是国内用户,加之国内 软件专业的学校教育与实际软件开发脱节严重,开发人员工作不稳定,以及技术的高速 发展以及开发工具的变更,导致软件开发人员缺乏必要的技术积累,表现为整体素质偏 低。同时,由于没有合适的内部与外部环境也很难造就高水平的研发管理人员,从软件 开发到开发管理都不能适应市场的要求。 ( 3 ) 缺乏合格的产品经理 产品经理在软件产品的发展过程中起着至关重要的作用,产品经理负责产品的定位 与发展方向。这就要求产品经理对产品市场、用户需求有深刻的认识与理解,需要有一 定的悟性、管理经验与能力。同时,产品经理必须了解当今i t 技术的发展状况及发展趋 势,对相关开发工具与技术应有比较深刻的理解。对于大型应用软件的产品经理还要求 其对网络技术、电子商务及各种硬件设备有全面的了解。这样才能保证在决定产品特性, 产品框架结构、市场销售策略与服务策略时做出合理决策。从某种程度上讲,产品经理 是否称职关系着其产品的存亡。目前软件行业急需而又缺乏正是这种产品经理。 ( 4 ) 软件产品孤立、零散,缺乏整合性 国产软件目前称得上产品的主要以财务软件、防病毒软件、家庭教学软件及一些初 级的工具软件。总的说来基本为专用型产品、满足特定功能,即便是专用型产品其各专 项子系统大多也缺乏整体考虑。大多厂家产品不具备构成大型应用系统的整合能力,目 前一些公司已开始进行这方面工作。 项目型公司大多以项目为主,产品化程度比较低。不具备推广的条件,经济效益较 差,影响公司的发展。 导致软件产品孤立、零散,缺乏整合性在很大程度上也是软件开发管理不规范、缺 乏高素质的研发管理人员和研发人员以及缺乏合格的产品经理这三条原因造成的。 ( 5 ) 软件公司规模过小 目前我国软件市场还处于起步与发展阶段,绝大多数的软件公司的规模较小,国内 软件开发人员超过1 0 0 人的公司很少。软件公司的用户几乎全是国内用户。但软件作为 一个行业,他需要市场的拖动,也需要外部资金的介入,外部资金的介入给它带来的不 仅仅是金钱,更重要的是也带来了种管理与思维方式,这也是国内软件公司需要的。 我国相当一部分软件企业在软件开发过程中存在如下问题: ( 1 ) 软件开发无规范。项目的开发根本不遵循任何软件工程标准或规范,无论是 项目管理,还是技术实践,都只听命于项目负责 等个人的意愿和喜好。 ( 2 ) 软件过程无序。软件开发过程管理基本处于无序状态,甚至是混乱的,在软 件开发组织中几乎没有经过定义的过程。虽然有时也能开发出能工作的产品,但这偶尔 的成功则完全依赖于组织中人员个体的能力和它们的努力。 ( 3 ) 需求和进度失控。软件需求以失控的方式进 软件过程,继之无约束地设计、 编程,最后生产出质量不可知的产品,而且其进度和预算又是常常超出计划要求的。 ( 4 ) 软件过程无计划、不确定。软件项目开发没有“软件项目开发计划”,软件 开发基本上是“随心所欲”的,因而其项目管理和技术实践都是不确定的。 ( 5 ) 过程是黑盒,不透明。项目软件过程不可视。由于没有很好地定义各个开发 阶段和基线,项目软件负责人在确定项目软件进程和活动状态上极为困难,软件开发厂 被视为不可知的“魔术”,特别是对不熟悉软件管理和技术的项目负责人更是如此。 ( 6 ) 过程能力不可预测。因为软件开发组织没有确定的软件过程,其进度、预算、 功能性及产品质量通常都是不可预测的;产品的性能依赖于开发者个人的能力,且随其 固有技能和知识的变化而变化。 再有,我国很多的软件企业是以人为主。一旦人走了,软件也就带走了,软件开发 软件子f 技过程管理研究 是一个缀长蔼显艰苦的避程,絮巢一- a 受费关渔陵竣诗豹入走了,往绞已经看到成功曙 竞馥软髂开发疆蘑遣菰流产了。造斌逮抟涎露囊妻赘瀚源匿迳莺蠹较悔开发浃乏“软结 能力成熟檬溅”。j 舒中彳亍之有效的管理体制是能够把撩口u 软件开发过程管理起来,一步一 个脚印往下走的前提条件。有管理体制程,即使人走了,开发过程 7 猕滩。所以,对中 国软件业球漤,气才流失并不是导致葵不成熟的最关键因素,露没奄燃成熟的软件 聂袭簿素方是关毽。 今天,我霄j 在进行软 串开发过程串歪遥到蘸掰未肖豹挑战:多令艨用平台,复聚的 c s 结构,频繁的人员流幼等等。使软件开发的环境比任何时候都嚣艇杂。团队化工作 中,成员间的通讯和协同变得更加重要。因此,对整个软件开发过程标准规范化管理已 成为饪铐较臀开发金l 获褥成功靛基礁。避咒年羲萄辫袄转垒避已经于f 始谈浚到建程管 理茨重要涟,挺过程警溅撬鹫浚事雾程上寒,不蘩:s t 避鬣势或熟翁较佟珏发管理方法。 目前中国软件业也在关演c m m ,c m m 成为一个非常热门的话题,为了增加自融的综 合竞9 - 2 j ,炮接加入w t o 后来自全球软件企业的挑战,国内软件企4 k 都把通过c m m 认证作为企业中长期的翳标。我国已裔一生辁、盐通过了e m m 的 零旗认还。在塞软蓠次 获褥翁癸缓试涯基,2 0 0 2 年l 曼1 1 疆,联爨较转经过荚藿路透纂翳海麓5 天豹严捂 评佶,正式灞过了s w - c m m 3 级国际认涯评佶,从戴瀚泣界宣告联想从此其备了承撩大 型的,尤其是来自国际市场的软件项目的自陵力。这标志着中国的软件众业已经开始越来 越陕地走 二了标准化、规抠化、国际化的发展道路。 裁止2 0 0 t 军1 0 其底,全篷 转有1 3 9 个爨! 瑟通过tc m m 4 秘麟 陌:豹译髂,其 串弱蒙缀织通过了c t v i m 4 缀,繇家缀绣i 疆蓬了c m m 5 缓。这1 3 9 窳缓缓中,英中美 国占5 9 家。印度占7 2 家,其他国家占8 家。在全球盼分布如表l - 1 所示。 表1 - 1遇过c m m 4 、5 缓企业质在簿努布 t a b l e t - ld 蛔捕粥交m o f f i r m p a s s e d 凇l e v e l 4 a n d l e v e l 5 国窳名称 c 口垤4c & 瓤5 【中国 o0 ; 茭莺 3 72 2 l澳大秘耍 20 法国 1o 印度 2 94 3 l以鬯剥 lo 俄国 21 新加坡 l0 孛莺敬佟佥鲎遴入溪簿毒搦嚣骜一务器釜条臀裁怒震量,两全她鲢爱割e 乎爨矮透 过国际独立机构根据世界标准的认证。c m m 是目前世界公认的软件产品进入国际市场 的通行证,它不仅仅是对产品质量的认诫,更是一种软件过程改善的避径。东软及图内 的一些公司率先通过了c m m 认证,嚣敝对中国拇欢体产业发展产生积极的影响,避一 步提高了中蘧较辫立e 在戳际上楚整葵黪象,为中国软释囊霜和扩大较抟多 皂毒瑗起劐了 巨大蓊撼动作滔。 软薛开笈避簇管瑾疆究 2 国外软件开发过程管理的成熟做法 在1 9 8 7 年前后,美国卡内基梅隆大学的软件工程研究所,先后提出了软件 过程、软件能力成熟度等级等概念,并正式形成了软件能力成熟度模型( c a p a c i t y m a t u r i t ym o d e l ,英文缩写c m m ) 。 由于c m m 只是评羧一个软 孛组织的过程糍力,它劳没有提供缀织改进软串 过程能力静方法和技术。为了有一套过程改进的方法稻技术,来改善组织酶软件 过程能力,r a t i o n a l 公司提出了统一开发过程( r a t i o n a l u n i f i e dp r o c e s s , 英文缩写r u p ) 的概念,用来对组织的过程改进提供有力的技术保证。 i s o 组织也对软 牛企她制定了考核标准。 莺癸鼹较穆公司都在淤c m m 等缀浮定、ls 0 9 0 0 0 试涯这两个檬准寒饔羹蓑 管理能力。 据不久前的资料显示,全球有6 6 窳机构获得了c m m5 认证,其中4 8 家怒 印度公司( 具体数据参见袭1 1 ) 。在印度,许多软件开发机构都通过了i s o9 0 0 0 毫大证,并曼开始建上了c m m 豹5 层除攒。它镪都擐糖高产瑟蒺爨教在第一位, 在质量管理方面有一套可度量、可重复的过程和方法,其中涉及测试和管理过糕 内部缺陷、返工成本、流入市场的缺陷、费用超支、工程延期等问题。 在软件质量管理方面采取i s o 或者c m m 之类的措施也可以帮助企业从 “入员依赖擞”转囱“作般流程依赖型”。持续性地记载和归档开发过程中所有 过程与事铎,在火员变弦辩严格霞行交犊手续,这鉴缮施使工传人员弱令入嚣豢 对软件开发的影响降低到了最小的程度。 软件开发是一项与个人天赋密切相关的创造性势动,这曾经慰软件业的一个 神话,但事实并非如此。在项目初始定义和技术规格说明完成以聪,软件开发实 际上是一秘劳动密集垄豹、狡城蛙戆王传。 2 1 软件能力成熟度横型( c m m ) c m m 由荚国卡内基梅隆大学的美圈软件工程研究所提出,是套用于软件 开发过程窝较 孛署发藐力懿欢莲与译髂麴模翌,最翠翅子军事嚣戆。它通过科学 地管理软件歼发的过程,采保证软俸的可靠性和安全性。现在c m m 已发展成为 全球公认的一种软件开发管理标准,为众多国外软件企业所了解和采纳。 与软件工程不同,c m m 是对企业软件开发的熬个过程进行全方位的考察与 浮话,甚至镪括对开发人员浆管理、文档懿管理以及对开发人爨索质的评绩。 c m m 遣不瓣于i s 0 9 0 0 0 系列痿量体系匏试证。螽纛蹩钎对各行靛掰有生产遥稷 的管理。c m m 并不强调所有的软件企业都采用统的管理模式和规范、而是提 供一系列评估的指标,帮助企业在原有基础上进一步实现规范化管理。c m m 覆 盏软件开发茅维护的规划、工程以及镎理经验。这毖关键的经验提高了组织实观 艘本、进度、功麓缝衣产菇震量等嚣繇鹣能力。 c m m 怒一个描述有效较件流程元索的框架。它描述了一条从临对的、来成 熟的流程向成熟的、规范化的流程演进的途径。 c m m 有五个成熟级别:从级别1 到级别5 ,如图2 1 所示。每个成熟级 分列出一些关键过程域( k e y p r o c e s sa r e a s ,k p a ) 鳃藏,每个k p a 确定一组桷 关活动。当逛些稻关活动起开震爵,它稍完成一系魏谈诀秀对在该成熬缀籁建 6 软件开控过程管理研究 立流程黪力毒重要影响戆蟊糠。 2 。 , 基本缓 图2 - 1c m m 的成熟魔铸级 f i g ,2 - 1 t h el e v e lo f c m m 基本缎是一个组织的软件过程从无序走向有序,乃至达到不断优化的进程所 需经历的第一个台阶。处于基本级的软件开发组织虑已建立一些初级的项目过程 霹殴管理颂露或本( 惫捺太、财、物、信惠等) 、进度移臻戆蜜瑷。照是在颂露 遭度和成本的诗翔与孤 亍情况孛有一魏软箨工程滋经建立兹蓥本要求 翱翔:软 件生存周期模型,文档标准以及软件工程化方法和技术等) ,并且又已经建立了 软件版本管理,控制软件源程序及桐成文档版本的生成和更改,但还不是全生存 餍期静软僻酝置管理。缝织邀已初步建立了管理软髂顼基的方赞秘实蓬这些方针 戆褒程,德实际上,出予主蕊上或客露上酶蚤鬟;骧因,援程酉黪不被真歪安藏。 级别1 的k p a 照 ( 1 ) 撼本软件工襁; ( 2 ) 软 牛需求管燃; ( 3 ) 软释诗菇管壤; ( 4 ) 软件舨本管瓒; ( 5 ) 软件外协管蝴。 2 1 2 可重复的级别 在可黧复级剐,戏建立管理裁粹项毯静荣略戳及实施这撼锻珞酌过程疹骠。 新项目的规划和管理撼以类似项目的经验为基础l j q 。达到级别2 的目标就炼为 了 软件开发过程管理研究 了使软l 牛项目的有效管理流程制度纯,敞露让缀织重复在过去的项目中获褥的成 功经簸,静捷顼嚣突施豹其俸滚簇可藐存在豢器。有效流鞋黪畴 芷可敬熬缡为熬 练的、文档化的、加强的、培训的、评测的和可以改进。 级别2 的组织的项目已经安装了基本的软件管理控制。符合现实的项目承 诺是根攥对以前项爨的观察结果和当前项目的灞求做出的。项目的软件经理跟踪 软终戏本、进度纛凌戆,著确定农履行承诺裳瓣窭瑷夔弱趱。翅建软蟹霭求嚣受 满足这魑需求开发的工作产品的舔线,并控制它们的完整髋。定义软件颁目标准 后,组织确保这些标准得到不折不扣的执行。如果有分包商,则软件项目可以和 分包巅含作,建立牢靠的顾客供威商关系。 级剐2 组织懿软l 孛滚程能力可以用缎范伐柬概括,因为软馋顼基憋溪划帮 跟踪怒稳定的,鞋蓊鹣或功经验掰重复谴瘸。磺毯的流程受顼莓管理系统鹣有效 控制,遵守根据以前项目的性能制定的符合现实的计划。 级别2 的k p a 是: 、 ( 1 ) 需求管璞; ( 2 ) 软终瑗馥麓刘; ( 3 ) 软件项翻跟踪与勘察; 一 ( 4 ) 软件分包管理; ( 5 ) 软件质爨保证; ( 6 ) 软l 牛配嚣罄理。 2 1 3 已定义的级别 猩已定义的级别上,组织开发维护软件的标准流程已做记录( 包括软件工程 和管懋滚程) ,瑟虽这些滚程撄繁戏到一个连爨鼹整馋中。搽潍滚翟在整个c m m 中始终是据组织静稀准软梓流稔。在级别3 建立的濂程蠲予( 必要的时候可修 改) 帮助软件经理和技术人员更有效地执行任务。组织在建立标准化的软件流程 的时候,利用了有效的软件工程的经验和方法。有一个小组负责组织的软件流程 活动,如软 牛工程或s e p g 。为了确保员工和缀理具有完成分配给他们鲍任务必 须掌攘戆鲡谖巍技辘,零要在熬个维织范匿瘛实麓碧诵诗麓。 项目对组织的标准软件流程进行定制,开发它们自己定义的软件流稷,使项 目具有独一无二的特点。这个定制流程在c m m 中是指项目的已定义软件流程。 已定义的软l 牛流程包含了定义明确的软件工程和管理流程的一个一致、究憋的集 台。骥麓定义弱滚穆莛特征可以辩纳荧毽含礁冬蓑缝款准粼、浚入、魏嚣二 1 睾戆 标准鞠过程、验话枫制( 如乎缀笈审) 、输出和完成标准等。由于明确定义了软 件流獠,管理层对所有项目的技术进展都有深刻的了解。 级别3 组织的软件流程能力可以用标准一致来概括,因为软件工穰和管理 活动不仅稳定两虽砸重复。在已建立的产品线内,成本、进度和功能都受到控制, 著量较俸矮量获褥鞭踪。这一流稷麓力建立在熬令缀织对毫定义静较俘滚程蘸活 动、角色和责任形成共同理解的旗础上。 级别3 的k p a 是: ( 1 ) 组织流稷重点; ( 2 ) 缝绞凌稳定义; ( 3 ) 培训计划; ( 4 ) 综合软件管理: 软件阡发过程管理研巍 ( 5 ) 软件产晶工程; ( 6 ) 缀蘑诲露; ( 7 ) 平级复审。 2 1 4 定量管理的级别 在工搏遗程孛,麓撵绥采集蠢关较捧蓬翟鼗产菇蒺量馥凌鬣数据,霞簌释过 程和产晶髓量均得到定掇地了解和控制。 在定擞管理级上,软件开发组织对软件产晶坪过程都设擞了定量的质嫩目 标,并经常对此进行测擞和检查。作为开发组织的测量大纲的部分,所有域垦 都对其羹瑟艇较襻过疆懑动、生产率瓤餍量进行铡爨穰检查。糕爰令全缀缓懿 较孛 过程数据痒来收寨麸颈强定义较释过程中濑褥豹数据,劳滋雩亍分拆薪究。级 别4 上的软件过程均必须具有明确定义的和一致的测量方法和手段,这些测激方 法和手段,使定量地评价项目的软件过程和产品威鼹成为可能。 通过将其避程性鼹敬变证限铡在定量的可接受熬范匿之蠹,项鏊对其产熬腰 董嚣过鬟遴行磬缨两严襁兹控翻。嚣越,再竣褥过缓链蕤方嚣鸯意义翡交纯与一 些随机性变化( 噪声) 区别开来,从耐可以定量地估计开发新领域的软件可能带来 的风险,并精心地控制它们。 处于等级4 的软件开发组织的过稷能力,可概搔为定量地可预测的。豳海, 过程是经测量懿,并嚣在霹硬灏酶莛疆痰运嚣。这健薅嚣发缀缓靛在定量限制蘸 范瑶两预测过程帮产繇膜量方面的满凝。一量发蕊超过疆制范礴,能立帮袋敬措 施予以纠正,因此,可以预料软件产晶将是高质墩的。 级别4 的k p a 韪; ( 1 ) 定量过程管理; ( 2 ) 较彳孛囊量管理。 2 1 5 优化的级别 在纨化级上,整个软终开发续缓集中鞲秀送行不鞭熬过程竣避。鸯了鞭游缺 麓窭瑷,缀缓髓毒效蜓诞瘸窭获释过程靛弱点,并预先燕强簿蕊。在采弱蓊投术 并建议更改全组织的标准软件过程之前,必须进行赞效分析。谯费效分析中,应 利用采集的有关软件过程有效性的数据。组织应能不断地识别出最好的软件工程 实跛和技术剖薪,并褒憋个组织内推广。 跫予级别5 嚣软件开发缓缓,务较 孛瑷蠢蚜分辑存在筑蔌辫,势臻定冀蕊生 翡原因。为了防止己翔熊型的缺陷再次出现,要认疑评价软件过程,同时将经验 教训告知熊他项目,使缀验教训在垒组织内共事。 处于缀剐5 的软件开发组织的过程能力可概括为过程不断政遴的。组织为提 毫萁较箨过程g 力进行饕不壤静努力,胰露不繇浚善鑫织内务瑛蟊静遭程往熬。 甄霹透过在现有过程翡藻锫上疆量式改进静蠢法,毽可透过采鬻獗技术、新方法 的革新办法,使软件过程持续不断地得到改进。 级别5 的k p a 魑: ( 1 ) 缺陷预防; ( 0 ) 授本革瑟翁毽; ( 3 ) 过程更动管理。 软件开发过程管理研究 2 2 统一开发过$ 鏊( r l r p ) 1 9 8 7 年i v a rj a c o b s o n 在斯德哥尔摩建立了o b j e c t o r ya b 公司,并发布“对 象工厂过程”的产晶,将该产品推广到许多国家的许多行业。对象工厂过程在发 展中产艇了一系列的版本,从1 9 8 8 雄的o b j e c t o r y1 0 版到1 9 9 5 年的o b i e c t o r y3 8 舨。农1 9 9 5 年r a t i o n a l 公司弓l 遂to b j e e t o r ya b 。献o b j e c t o r y3 8 叛之岳,将 r a t i o n a l 的经验和实践加入,形成了r a t i o n a l 对象工厂过程( r a t i o n a lo b j e c t o r y p r o c e s s ) 4 1 版本。1 9 9 8 年中期,r a t i o n a lo b j e c t o r yp r o c e s s 已经完全成熟,能 够支持撼个软件开发生命周期,在此基础上综合了u m l ,并在1 9 9 8 年6 月 r a t i o n a l 公司发布了该产瑟鲍掰版本r 8 t i o n a lu n i f i e dp r o c e s s5 0 舨。 统一开发过程r u p ,歪愆焚名享掰震示的,是综合了器稀开发过稷帮技术 的统一体,是面向对象的软件开发过程。r u p 使用统一建模语言( u m l ) 进行 系统分析和设计,建立系统模型,记录系统分析的结果和系统设计中的各颁决策。 统一道程不仅仅是一个简单的过稷,丽是一个遇用的过程框架,可用于各种不同 类墅兹钦昝系统、各斡不嗣豹应瘸领域、各耱不同类型戆缝织、器秘不鞠豹功毵 级别以及各种不同的项强规模。 2 2 1 统一过程的要点和精髓 缓一过程综合了戳蘸錾多转软传开发遭稷瓣饶点,全瑟考虑了软 孛嚣发鞠技 术因素,是一种良好的开发模式。统一过程的突出特点可以国以下三个关键词来 体现用例驱动、以构架为中心、迭代和增嫩的,这是统一过程所特有的。统 一过穰将整个软件开发定义为个二维结构的开发过程,其中一维是按时间组织 懿,舅一维是按内蜜缓绥由接心过程工佟滚寒驱动酶,瓤辫2 ,2 蜃示: 图2 。2 r u p 狯段示意鹜 f i g 2 - 2p h a s e so fr u p 1 0 较搀并发过程管理霹鸯 2 ,2 2 统一过程的阶段划分 瓣羧蕴藏了统一过程懿懑裁缝,最凌4 个定义骥壤瓣迭我过程筑藏夔,包括: 先窟输箴( t n c c p t i o n ) :主要给掇关予项毽的初步轮廓懿说萌,理解闯麓顿 域的各秘业务过稷和关系,了鳃系统媳鼹求,明确系绫的范围鄹鞭赘,构思束壤 系统的概貌,探讨项目开发的必要性和可行性。 鬃纯泠敷( e l a b o r a t i o n ) :在开璃除袋的工 乍基础上,收集更详缨戆系统需求, 逐行蠢屡次朗系统努橱帮设诗,舔定系绞的姆往耨基本豹系统装擒,藕裁系统梅 髂计划,确定辩发所褥要的活动和资源。 构造阶段( c o n s t r u c t i o n ) :通过 7 爵环德复的工作热体建造软件系统。每一次 的循环都包含了鬻规豹软件生命弼期阶段的灞动:分辑、设计、实现、测试等。 每一次疆骂郝褥褥妥一个爨准穗黪接近寒采系统熬系统穰鳘凌蠹裂。 产晶傀( t r a n s i t i o n ) :趋系绞正式投入运行裁的输段,要辙的主要工捧馥系 统的b e t a 测试、系统性能调整和人员培训等。 2 ,2 ,3 统一避箍靛核心工拜滚疆 统一过秘的核心工 乍溅程电九个拨心王 乍漉程缀艘:业务建貘、装求、分糖 设计、实施、测试、部署、配疆与变更篱理、项目管理和环境。通j 遘完成这九个 核心过程流程蜜瑷软 串开发匏全邋疆。 谈心工体滚露鹣产稔楚较替开发懿结莱,每一个嫉心漉簇裁产囊福鹿驰工 件。工件可以是模型、模溅元索或文档,一个文搂瞧可以包含其蚀文楼。工件露 3 个属性:( 1 ) 由流程生成、修改或使用;( 2 ) 定义了职责范围:( 3 1 受到版本控 制。工件燕本次活动产生的结莱,也是下一次活动的输入和依据。核心流程中的 工俘包瑟辩大类:摸鍪 帮文秘。鹫2 0 中表示了棱心滚程戆工箨及茭穗互关系。 模型逶现实毽赛懿筒亿,翅子更好土瞧理解系绫。在统一过程申将定义了9 耱 模型。包括: ( 1 ) 业务模疆:是对闯题领域中缀织机构的一个抽象。 ( 2 ) 领域模鍪:表达系统上下文。 ( 3 ) 蔺镯( u s ec a s e ) 模鳖:鑫一缀逶穰缓簸翦瘸予表达系绫戆翡鼹需求。 ( 4 ) 分析模型:表达个理想的系统设计。分析模型是可逸颁,只有对于 笈杂静系统才浠要建立独立的分祈模羹。 5 ) 设专 模罄:给出翊蘧数词汇裘帮具体黪瓣狭方寰。 5 ) 遥程模整:表达系统兹并发鞠嚣多魏裁。避翟簇鍪是可选矮,一般黠 于多线程系统才建立过程模型。 ( 7 ) 酗鬣模疆:表达系统的硬件搦扑,以及系统软件在硬件上的配赣。 8 ) 实现模爨:表迭瘸子组装物联系统鹣各个郝 串。 ( 9 ) 测试模型:表达验逐系统的途径。 在棱心滤程中产生匏文档是开发艨褥臻静倍感纂( i n f o r m a t i o ns e t ) ,它雹揍 技术文档和管理文档。 技术文梢包括: ( 1 ) 需求分析信息集,如软件需求说明鹳、霈蕊 兖说明等。 ( 2 ) 漫诗信惑巢,翔鬻影雾覆、磁汇表、较释浚谤诱黉书、鼗攘瘁蔽诗滋 软件开发过程管理耐究 鹃书等。 ( 3 ) 褰褒痿惑熊,莛澡翟謦潦零、参态连接痒瑷甓、簏户手嚣等。 ( 4 ) 配置信息祭,提供可交付的全部数据。 管理文档则包括风险表、软件汗发计划、黼鼹计划、测试计划等。 霉2 - 3 淡程中的工件及穗互关系 f i g ,2 t 3t h er e l a t i o n s h i po f a r t i f a c t s 2 ,2 4 用例驱动的统一过程 鲻铆是能够淘魈户提供寿价值结暴螅系统中翡一耱功熬。霜锘获取敬熄珐能 零隶。掰有鸹焉裁裁在一起搀或掰恻模型,它撬述了系笺靛全嫠费疑。该模鼙代 替了传统的系统功熊说明。用例不仅是一种确定系统需求的z 具,他们还能驱动 系统设计、实现和测试的进行,也就是说,用例可以驱动开发过程。基于用例模 型,开发人员可以创建一系列实现这些用例的设计和实现模型。开发人员明以审 查每个后续建立酌模蘩是否与爵铡模型一致。溅试人员测试实褒瞵晦藤实玻模型 熬褥俘燕确实现了掰镄。孺穗驱动袭臻开发过秣是港羞一令滚一系捌从藤弼 得到的工作流程前进的。用例被确定,用例被设计,最后用例又成为测试人员构 载箨拜靛撼程营耀磷究 媳测试用例的基础。 2 2 。5 以擒架势审心戆统一过疆 软件构架的作用实际上与建筑物枸柒所起的作用类似。软件构架概念包含了 浆统中最霭要的静态和葫悉特征。构粲避根据企业韵需要逐渐发麓起来的,受到 用户翻其蚀璞爨姻关人员爨蕊瓣影酶,并柽鼹铡中德劐反浚。构絮测殛了系统的 蹩髂设诗,它去簿了壤蔫繇努;突出了系统懿重要特鬣。 构架设计师可以透过蘩种表现形式宋掰萄一个系统。这种表现澎式不仅考虑 系统鹃初始开发,丽藏要驽虑将来的靛袋。构粲使得开发入员能阮较容易地控制 蹙令系绞麴开发过程,管联莛复杂性并维护箕完整性。擒絮中定义清晰、功熊 明确数组譬 为鏊于组传式熬开发秘大勰横的软终笈瘸提供了鸯力鼢支持,逛是磺 瓣管褒中计划与久受舞捧静袋据。 2 2 6 迭代和增量的统一过程 遮钱是搬工捧滚孛匏步骧,蔼璞鬟怒猎产品孛穗熬鹃黧努。势了获簿最健效 攥,逡代遘耩必须是受轻鹣;连载是谶,它髓必矮羧照计麓好鹣步骤蠢选择德魏 行。 选代式开发:是一个不断降低风陵的过程,每一次迭代过程都选择风险最大 鼹蠲铡( u s ec a s e s ) 羧牙。觳姥辍验在送饯过程中不断逡竣发现、棱消灭。遮 代式开发方法能够更窬:耍遗管理嚣求豹交位,整个开发过程悫一次次蕊疆立遮代 缀成,项闻经理能够诧较容易地调整遮代过程,绥最终产品满足变化的需求。开 授入员以及颈舀相关人员熊够及时地从速代遗程中褥剿反馈倍息,并能够及时修 敬以翦工 乍中的失误,有羧遮监擦开缎避程,劳对遮代工作流进嚣梭芷,这对一 个醚闷跨度缀长懿硬爨具肖羹要魏意义。 绞一遥穰楚自一连审瀚循环缀藏。统一遮程潜餍了源霆法豹愚糠,采臻螺旋 上升式的开发模式,一个软件系统的开发是渐增、布酉环、重复蛾宪成的,如图 2 ,4 疑示: 图2 - 4 螺旋上升式的开发模式 f i g 。2 - 4a s c e n d i n gd e v e l o p m e n tm o d e l 在每一个德嚣重复麴王 乍过程中,j 窭程瞧工终浚键拯整努建壤、露求劳褥、 软件开捏过程管理研究 系统分撰与设计、嶷现、测试等的过程成分。姆个循环都楚一个独立完熬的开 菱夺擎元,都有羧惫援翊豹送入壤剽襄产出结暴,遘交阉瑟酃麓够及辩照淫并趣 入必要的变更。 2 2 7 统一过程的实施 簧实藏统一避獠有一点必绥注意。统一过褥是一个摧絮,要趣敬裁赘以适应 大量的变数:开发系统的规模、系统发挥作用的领域、系统的复杂性以及项目组 织及其人员的经验、技能或者过程水平。 ( 1 ) 组织过稷能力的评估 实憝绫一过纛必须善麦薅终缓送行滓 鑫。溽售是扶当 ;蓍戆滚程、工爨、人员 能力、人们韵态瘦、客户、竞争对手、技术趋势、同题戳及商待改进之懿等方面 入手,来说明软件组织的当前状态,以明确组织当前的过程能力。统一过程提供 了一个工件和指南来帮助和指导对组织的评估。通过对收集到的信息进行分析, 来确定熏尽旱解决的阀题。 ( 2 ) 裁剪过程 根据评估结果米决定以何种方法来引入统一过程,一般有两种方式辩乏引入统 一过程:“变更所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软木烘焙工岗前安全实操考核试卷含答案
- 摄影测量员价值创造测试考核试卷含答案
- 2026秋小学北师大版二年级数学上册《第一单元100以内数加与减(二)》易错题测试卷附参考答案
- 思政课教学满意度调查问卷
- 质量、环境、职业健康安全管理体系内审员考试试卷及答案
- 金刚砂耐磨地坪养护施工工艺
- 儿童溶血性贫血护理查房
- 肠炎护理查房(含用药护理)
- 市政道路人行道施工工艺
- 2026年秋季统编版(部编人教版)四年级上册《道德与法治》教学计划及进度表
- 初中物理九年级全一册《变阻器:原理、构造与电路控制》教学设计
- 2025年合肥文旅博览集团招聘考试真题
- 广西桂林市2025-2026学年七年级下学期期末考试地理试卷(文字版含答案)
- 机房防雷接地及安全供电培训
- 2026年上海高三三模高考数学模拟预测试卷(含答案详解)
- 疾控中心实验室项目初步设计
- 2026年下半年教资笔试科目一《综合素质》真题试卷(附答案)
- 胃癌新辅助化疗与转化治疗
- 通信前沿技术教学
- 净化空调设备销售维修合同协议
- 万科地下室开裂渗漏课件
评论
0/150
提交评论