欢迎来到天天文库
浏览记录
ID:36677061
大小:2.15 MB
页数:44页
时间:2019-05-13
《cmm下软件过程应用初探》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CMM下软件过程应用初探1引言1.1本文的来源本文取自HP中国软件研发中心国外某电信企业基于大型数据仓库与数据挖掘的信息管理系统项目,项目名称为Promis。该项目是国外某电信企业的固定电话网络的信息管理系统,其主要功能是分析和过滤通信数据,从异构和分布式数据源中收集数据,这些数据首先被聚合,然后按照OLAP所定义的组织标准进行定制,并通过自动报表工具产生客户所需的各种报表(PDF,CSV,HTML等)。各项目历时预计一年多,开发方式onsite与offshore两国四地协作开发;参与人数近半百人,参与人的性质众多,中外合作,中国人(上海、北
2、京),新加坡人、印度人…笔者参与了这个项目的工作,先后参加了测试工作、GUI(WEB)的开发工作和ETL(C++后台)的开发工作,并且有幸与项目经理做比较深入的交流,感触颇丰,遂将其做为论文的来源。1.2研究的意义多数软件开发仍然是一个显得混乱的活动,设计过程充斥着短期的,即时的决定,而无完整的规划。这种模式对小系统开发其实很管用,但是当系统变得越大越复杂时,要想加入新的功能就越来越困难。同时错误问题越来越多,越来越难于排除。人们经过研究,借鉴其它工程领域的实践,发明了“正规方法”.这些正规方法已存在了很长时间了,但是并没有取得令人瞩目的成功
3、,甚至就没怎幺引起人们的注意。对这些方法最常听见的批评就是它们的官僚繁琐,要是按照它的要求来,那有做太多的事情需要做,而延缓整个开发进程。这种方法一般被称做“巨型”(monumental)方法。为了克服巨型方法的缺陷,最近开始流行一群被称为“敏捷型”方法的软件开发方法。它们在无过程和过于繁琐的过程中达到了一种平衡,使得能以不多的步骤过程获取较满意的结果。XP(极限编成)就是一种“敏捷型”方法。理论上有了各种各样的开发过程方法了,那么真正的项目是不是应该完全按理论的指引来贯彻执行呢?在一个真实的项目中应该做什么、怎么做呢?笔者所在的HP中国软件
4、研发中心今年刚刚通过了CMM5级认证,而Promis项目的正好经历了HP软件中心从CMM3到5的一个变化。那么在有着良好的CMM背景的公司里面,象Promis这样的一个大项目又是如何开发的呢?软件CMM从广义上回答做什么,但没有说明怎样做;Promis项目的过程实践了一种独特的开发大型项目的方法,软件开发的方法就是应该从项目中来,再运用到其它项目中去。Promis是一套很好的包括非常详细的“怎样做”惯例的实例。通过对这个项目中运用的项目管理方法的分析对在CMM下灵活应用软件过程进行总结、归纳,并与当前流行的RUP(统一软件过程)工程方法、XP
5、(极限编程)工程方法倡导的软件工程惯例进行比较,进而阐述一种适应范围更广、应用更灵活、规范而又简单的软件开发过程,以期对软件开发过程及软件项目管理具有一定的指导意义,使软件的开发更加顺利,项目能够更好的获得成功。1.1本文的工作本文通过笔者在项目中的亲历感受,对项目中的工作流程、工作方法、项目管理的最佳实践进行了总结,然后把这些工作流程、工作方法与CMM各个级别的KPA(关键过程领域)要求内容进行比较,把项目管理的最佳实践分别与RUP、XP的最佳实践进行比较,分析各自的优缺点与适用范围,指出Promis项目可以改进的地方,最后归纳项目成功的经
6、验、摒弃不利的做法,提出了一套软件开发过程的三维立体模型,和一套适用于大型组织的以项目为主导的动态的组织结构模型,并且规范了项目组成员的职责与工作。下面是本文特别创新的工作:l提出了一种大型项目中可运用的多种版本控制服务器;l使用Panorama进行软件白盒测试;l提出了一个软件开发过程的三维立体模型;l提出了一个支持复杂人员组成的动态的组织结构。1.2本文的安排本文共分为8章:(1)阐述了本研究的起因和意义,给出了所做的几点工作;(2)简要地介绍了有关CMM、软件过程的概念,并且对当今学术界流行的RUP软件开发过程及XP过程进行非常简单的描
7、述;分析CMM规范与软件开发方法之间的联系与区别,并且指出在CMM的规范下面使用RUP过程以及XP过程的适应度,为后面分析CMM规范下的Promis项目过程做个铺垫;(3)重点介绍Promis项目的开发过程及特点,总结了项目过程的一般性流程,给出了关键做法的流程图;(4)把CMM五个级别的18个KPA拿出来逐一的与Promis过程的实践进行比较,分析Promis过程的规范程度与可借鉴程度;(5)把流行的软件开发过程的最佳实践逐一的与Promis过程的做法进行比较、分析,得出在一般型目的开发中应该采取的实践方法;(6)对Promis中做的还不够
8、好的地方提出改进意见,这些建议对其他的大型、超大型项目的开发工作都有指导意义;(1)详细的描述了通过对Promis总结、归纳与去粗取精后,得到的比较通用的软件开发过
此文档下载收益归作者所有