软件开发过程与配置管理:基于Rational的敏捷方案设计与应用
基本信息
内容简介回到顶部↑
本书以软件配置管理对软件开发过程和团队开发的支持为主旨,借助ibm rational软件开发和配置管理工具clearcase和clearquest,详尽阐释了一种能有效支持软件开发过程的集成式软件配置管理方案的设计、实现和应用。全书分为4篇,分别为理论与背景、设计与实现、实施与应用、扩展与升华。全书力图以由浅入深、由理论到实践、由传统到现代的方式为读者展示软件开发过程和配置管理的方法和工具的使用。
本书可供软件开发过程和配置管理系统设计和实施专家、软件开发人员、软件开发管理者,以及转型期软件企业的决策者参考,也供软件工程和软件配置管理教学研究人员参考。
本书可供软件开发过程和配置管理系统设计和实施专家、软件开发人员、软件开发管理者,以及转型期软件企业的决策者参考,也供软件工程和软件配置管理教学研究人员参考。
作译者回到顶部↑
目录回到顶部↑
第1篇 理论与背景
第1章 典型软件开发过程及主要模型
第2章 软件配置管理的基本概念原理
第3章 常用软件配置管理工具简介
第2篇 设计与实现
第4章 面向软件开发过程的软件配置管理系统
第5章 基于clearcase/clearquest的方案总体设计
第6章 工作流程的详细设计
第7章 数据模型设计
第8章 变更控制信息设计
第9章 基于角色的权限控制
第10章 实现对项目整体的支持
第11章 关键变更控制点的设计与实现
第12章 代码集成与构造过程
第13章 查询与统计图表设计
第3篇 实施与应用
第14章 模拟项目“电网计费系统”介绍
第15章 开发团队部署
第16章 安装基本配置管理系统
第17章 搭建集成式配置管理环境
第1章 典型软件开发过程及主要模型
第2章 软件配置管理的基本概念原理
第3章 常用软件配置管理工具简介
第2篇 设计与实现
第4章 面向软件开发过程的软件配置管理系统
第5章 基于clearcase/clearquest的方案总体设计
第6章 工作流程的详细设计
第7章 数据模型设计
第8章 变更控制信息设计
第9章 基于角色的权限控制
第10章 实现对项目整体的支持
第11章 关键变更控制点的设计与实现
第12章 代码集成与构造过程
第13章 查询与统计图表设计
第3篇 实施与应用
第14章 模拟项目“电网计费系统”介绍
第15章 开发团队部署
第16章 安装基本配置管理系统
第17章 搭建集成式配置管理环境
前言回到顶部↑
软件开发过程和配置管理是软件开发产业中的一个永恒的话题。随着软件产品日益复杂化,软件开发团队不断庞大化,软件配置管理在软件开发过程及整个软件生命周期中越发处于举足重轻的地位。优秀的软件配置管理方案有助于优化软件开发过程,提高软件产品质量,改进团队开发效率;低效的软件配置管理方案将使软件开发过程紊乱,项目进度失控,团队协作不畅,使所开发出的产品漏洞百出,最终甚至导致开发机构人心涣散,业务发展举步维艰。
近些年来,随着我国科技和经济的繁荣发展,我国软件开发企业急剧增多,规模不断扩大,涉及行业和领域也日益广泛。如何实现软件开发开发团队在数量和质量上同步提高是多数企业所有者或管理者十分关心的问题。
笔者十几年前刚踏入软件开发行业时,软件开发项目中开发工具的应用还极其有限,开发过程和配置管理工具的应用就更少了。笔者当时在一个规模较小的系统集成公司从事软件开发工作,参与的开发项目都是通过手工的方式进行代码管理的。通常的做法是每个开发人员每天或定期将自己负责的代码复制一份到软盘上,交给项目负责人或集成人员去拼装整个项目的代码,而公共模块的修改完全依靠相关开发人员手工进行合并。由于缺乏工具的支持,根本不可能在开发项目中形成成熟的开发流程和稳定的开发团队,最终的结果是不断地招募新的开发人员重复地进行失败的项目。本书中虚构的“陷入泥潭的项目”就是这种早期开发项目的缩影。
两年后,带着“大型、成熟的软件开发团队如何有效地管理软件开发过程”的疑问,笔者离开了最初的公司,并有幸加入了著名的贝尔实验室的中国开发分部,参与软件配置管理和软件构造工具的开发项目。由此接触到成熟软件开发团队的开发过程,并为久困的疑问找到了答案:正是软件配置管理工具支撑着大型软件开发团队的开发过程,为软件开发项目提供有效管理的机制。凭着这种“欣然发现”的冲动,笔者在1999年的“中国软件工程研讨会”上进行了“如何构造软件企业的配置管理方案”的演讲。限于工作经历和角色,笔者当时对配置管理和软件开发过程的理解的深度和实践的广度还很有限,只能泛泛介绍配置管理的重要性和部署配置管理工具的主要步骤,没有提供针对软件开发过程的全面可操作性的指导方案。
在后续的工作过程中,特别是加入IBM中国开发中心之后,笔者负责主持了多个配置管理系统的部署和开发流程定制项目,帮助不同开发机构中的十多个项目建立并运行有效的软件开发和配置管理过程,包括IBM中国开发中心重要的办公软件开发项目Lotus Symphony项目的开发流程和工具定制。这些项目的开发人员数量由几个到上百个不等,所部署的工具包括开源的CVS、Bugzilla、Aegis和IBM自有的ClearCase、ClearQuest、RTC等产品。经过多次系统部署过程之后,笔者发现尽管所采用的工具不同,部署和定制的细节不同,但每种工具都有特定的方法来实现完整的软件开发过程的支持,包括需求收集、任务分配、开发、构造、测试、发布等主要开发环节的控制和协调支持。
考虑到许多软件开发机构都可能有部署这些工具或其他类似工具的需求,如果用一本书完整地介绍软件开发和配置管理工具的部署和使用方式,或许能起到抛砖引玉的作用,笔者由此萌生了编写本书的想法。
本书是基于作者对软件开发过程和配置管理理论的重新认识和多年的项目实施经验总结而成的,不以理论为教条,唯以实用为目的。书中力图从软件开发过程和软件配置管理基本原理开始,引导读者建立一套行之有效的软件开发过程和配置管理方案,并以实例演示该方案在敏捷开发方法中的应用,以协助相关软件企业顺利地采用相应的工具和方法来克服规模增长带来的困顿,实现开发团队由量变到质变的飞跃。
全书以软件配置管理对软件开发过程和开发团队的支持为主旨,借助IBM Rational软件开发和配置管理工具ClearCase和ClearQuest,详尽阐释了一种能够有效支持软件开发过程的集成式软件配置管理方案的设计、实现和应用。本书分为4篇,第1篇为“理论与背景”,第2篇为“设计与实现”,第3篇为“实施与应用”,第4篇为“扩展与升华”。全书力图以由浅入深、由理论到实践、由传统到现代的方式为读者展示软件开发过程和配置管理的方法和工具的应用。
第1篇概述软件开发过程和配置管理的基本原则、方法、过程和工具,从软件开发过程中的人员、任务、方法、产品4个要素分析配置管理对开发过程的支持作用,并揭示实现这种支持的主要方法。
第2篇详述一种基于IBM Rational ClearCase和ClearQuest的集成式软件开发过程与配置管理方案的设计与实现细节,包括工作流程、数据模型、任务信息、权限控制、集成构造和项目管理等方面的设计思路和实现方法。
第3篇以一个模拟项目演示该方案在敏捷软件开发项目中的部署和应用情景,包括敏捷开发方法的引入、开发工具的部署和使用、敏捷开发团队日常工作与协作、每日集成构造、敏捷项目管理等开发场景,为读者展示一个完整的敏捷开发项目的运作过程。
第4篇介绍该方案与其他软件开发工具,如最新的Rational Team Concert开发平台及Rational其他相关新产品的集成使用方式,同时为读者了解和选择Rational最新的软件开发过程和配置管理支持工具提供参考信息。
本书可供软件开发过程和配置管理系统设计和实施专家、软件开发人员、软件开发管理者,以及转型期软件企业的决策者参考,也供软件工程和软件配置管理教学研究人员参考。
本书的编写前后历时数年,创作团队经历了多次人员更替。本书最终能够完成,既出乎所料又在预料之中,因为在整个构思和创作的过程中,一直得到各方面的支持和帮助。在此全体作者向所有支持和帮助过我们的同事、朋友和亲人表示由衷的感谢。
首先要感谢Lotus Symphony开发总监寇育新、Debbi Best和戴宏女士,你们在IBM中国开发中心开创和发展了大型软件开发项目Symphony,并全力支持我们在该项目中专注于配置管理和开发过程建设,这为我们在软件开发过程、配置管理技术探索和开发实践提供了一个长期稳定的平台,因此为本书的创作奠定了坚实的基础。同时要感谢笔者在开发Symphony项目时的经理周建平女士和张海峰先生,你们的支持和鼓励帮助我们不断解决实践中的问题并克服各种困难,也是你们的不断关心和鼓励使我们能坚持写完本书。
感谢IBM中开发中心高级经理阎小兵、开发经理刘慎锋和岳志宇,以及笔者现在所在的Ratoinal实验室服务部经理付鲁平,你们耐心的协调、细致的审阅和宝贵的建议为本书的最终顺利交付铺平了道路。
感谢IBM中国开发中心经理和敏捷社区领导者常红平先生在敏捷开发方法上提供的很好的指导和生动的素材。感谢IBM中国开发中心第一本技术专著的作者肖习攀、贾迎乐和宫奕平等同事在创作经验上的分享。
特别感谢笔者在Symphony开发项目中的同事和朋友们。你们的支持和信任、苛求和建议使我们能够循序渐进地优化配置管理方案、不断探讨引入新的开发过程和配置管理实践。同样感谢曾经或正在Symphony配置管理和构造小组中与笔者一起探索开发配置管理方案、进行配置管理实践的同事和朋友们,包括王小蕾、刘京虎、贾子河、李宝盛、李明珠、方海诺、易传佳、董林等,本书介绍的主要方案和方法是你们与笔者共同开发探索的结果。
感谢IBM大中华区软件服务和解决方案部总经理胡晓专先生的大力支持和鼓励。同时感谢IBM Rational实验室服部门和IBM中国开发中心Rational开发团队的同事,以及在以往工作中与笔者在软件开发与配置管理上合作共事的朋友们,你们的经验分享和技术支持使本书介绍的方案更加合理、可行。
最后,全体作者深切地感谢我们的家人,你们的付出和支持是本书完成的保障和动力。
近些年来,随着我国科技和经济的繁荣发展,我国软件开发企业急剧增多,规模不断扩大,涉及行业和领域也日益广泛。如何实现软件开发开发团队在数量和质量上同步提高是多数企业所有者或管理者十分关心的问题。
笔者十几年前刚踏入软件开发行业时,软件开发项目中开发工具的应用还极其有限,开发过程和配置管理工具的应用就更少了。笔者当时在一个规模较小的系统集成公司从事软件开发工作,参与的开发项目都是通过手工的方式进行代码管理的。通常的做法是每个开发人员每天或定期将自己负责的代码复制一份到软盘上,交给项目负责人或集成人员去拼装整个项目的代码,而公共模块的修改完全依靠相关开发人员手工进行合并。由于缺乏工具的支持,根本不可能在开发项目中形成成熟的开发流程和稳定的开发团队,最终的结果是不断地招募新的开发人员重复地进行失败的项目。本书中虚构的“陷入泥潭的项目”就是这种早期开发项目的缩影。
两年后,带着“大型、成熟的软件开发团队如何有效地管理软件开发过程”的疑问,笔者离开了最初的公司,并有幸加入了著名的贝尔实验室的中国开发分部,参与软件配置管理和软件构造工具的开发项目。由此接触到成熟软件开发团队的开发过程,并为久困的疑问找到了答案:正是软件配置管理工具支撑着大型软件开发团队的开发过程,为软件开发项目提供有效管理的机制。凭着这种“欣然发现”的冲动,笔者在1999年的“中国软件工程研讨会”上进行了“如何构造软件企业的配置管理方案”的演讲。限于工作经历和角色,笔者当时对配置管理和软件开发过程的理解的深度和实践的广度还很有限,只能泛泛介绍配置管理的重要性和部署配置管理工具的主要步骤,没有提供针对软件开发过程的全面可操作性的指导方案。
在后续的工作过程中,特别是加入IBM中国开发中心之后,笔者负责主持了多个配置管理系统的部署和开发流程定制项目,帮助不同开发机构中的十多个项目建立并运行有效的软件开发和配置管理过程,包括IBM中国开发中心重要的办公软件开发项目Lotus Symphony项目的开发流程和工具定制。这些项目的开发人员数量由几个到上百个不等,所部署的工具包括开源的CVS、Bugzilla、Aegis和IBM自有的ClearCase、ClearQuest、RTC等产品。经过多次系统部署过程之后,笔者发现尽管所采用的工具不同,部署和定制的细节不同,但每种工具都有特定的方法来实现完整的软件开发过程的支持,包括需求收集、任务分配、开发、构造、测试、发布等主要开发环节的控制和协调支持。
考虑到许多软件开发机构都可能有部署这些工具或其他类似工具的需求,如果用一本书完整地介绍软件开发和配置管理工具的部署和使用方式,或许能起到抛砖引玉的作用,笔者由此萌生了编写本书的想法。
本书是基于作者对软件开发过程和配置管理理论的重新认识和多年的项目实施经验总结而成的,不以理论为教条,唯以实用为目的。书中力图从软件开发过程和软件配置管理基本原理开始,引导读者建立一套行之有效的软件开发过程和配置管理方案,并以实例演示该方案在敏捷开发方法中的应用,以协助相关软件企业顺利地采用相应的工具和方法来克服规模增长带来的困顿,实现开发团队由量变到质变的飞跃。
全书以软件配置管理对软件开发过程和开发团队的支持为主旨,借助IBM Rational软件开发和配置管理工具ClearCase和ClearQuest,详尽阐释了一种能够有效支持软件开发过程的集成式软件配置管理方案的设计、实现和应用。本书分为4篇,第1篇为“理论与背景”,第2篇为“设计与实现”,第3篇为“实施与应用”,第4篇为“扩展与升华”。全书力图以由浅入深、由理论到实践、由传统到现代的方式为读者展示软件开发过程和配置管理的方法和工具的应用。
第1篇概述软件开发过程和配置管理的基本原则、方法、过程和工具,从软件开发过程中的人员、任务、方法、产品4个要素分析配置管理对开发过程的支持作用,并揭示实现这种支持的主要方法。
第2篇详述一种基于IBM Rational ClearCase和ClearQuest的集成式软件开发过程与配置管理方案的设计与实现细节,包括工作流程、数据模型、任务信息、权限控制、集成构造和项目管理等方面的设计思路和实现方法。
第3篇以一个模拟项目演示该方案在敏捷软件开发项目中的部署和应用情景,包括敏捷开发方法的引入、开发工具的部署和使用、敏捷开发团队日常工作与协作、每日集成构造、敏捷项目管理等开发场景,为读者展示一个完整的敏捷开发项目的运作过程。
第4篇介绍该方案与其他软件开发工具,如最新的Rational Team Concert开发平台及Rational其他相关新产品的集成使用方式,同时为读者了解和选择Rational最新的软件开发过程和配置管理支持工具提供参考信息。
本书可供软件开发过程和配置管理系统设计和实施专家、软件开发人员、软件开发管理者,以及转型期软件企业的决策者参考,也供软件工程和软件配置管理教学研究人员参考。
本书的编写前后历时数年,创作团队经历了多次人员更替。本书最终能够完成,既出乎所料又在预料之中,因为在整个构思和创作的过程中,一直得到各方面的支持和帮助。在此全体作者向所有支持和帮助过我们的同事、朋友和亲人表示由衷的感谢。
首先要感谢Lotus Symphony开发总监寇育新、Debbi Best和戴宏女士,你们在IBM中国开发中心开创和发展了大型软件开发项目Symphony,并全力支持我们在该项目中专注于配置管理和开发过程建设,这为我们在软件开发过程、配置管理技术探索和开发实践提供了一个长期稳定的平台,因此为本书的创作奠定了坚实的基础。同时要感谢笔者在开发Symphony项目时的经理周建平女士和张海峰先生,你们的支持和鼓励帮助我们不断解决实践中的问题并克服各种困难,也是你们的不断关心和鼓励使我们能坚持写完本书。
感谢IBM中开发中心高级经理阎小兵、开发经理刘慎锋和岳志宇,以及笔者现在所在的Ratoinal实验室服务部经理付鲁平,你们耐心的协调、细致的审阅和宝贵的建议为本书的最终顺利交付铺平了道路。
感谢IBM中国开发中心经理和敏捷社区领导者常红平先生在敏捷开发方法上提供的很好的指导和生动的素材。感谢IBM中国开发中心第一本技术专著的作者肖习攀、贾迎乐和宫奕平等同事在创作经验上的分享。
特别感谢笔者在Symphony开发项目中的同事和朋友们。你们的支持和信任、苛求和建议使我们能够循序渐进地优化配置管理方案、不断探讨引入新的开发过程和配置管理实践。同样感谢曾经或正在Symphony配置管理和构造小组中与笔者一起探索开发配置管理方案、进行配置管理实践的同事和朋友们,包括王小蕾、刘京虎、贾子河、李宝盛、李明珠、方海诺、易传佳、董林等,本书介绍的主要方案和方法是你们与笔者共同开发探索的结果。
感谢IBM大中华区软件服务和解决方案部总经理胡晓专先生的大力支持和鼓励。同时感谢IBM Rational实验室服部门和IBM中国开发中心Rational开发团队的同事,以及在以往工作中与笔者在软件开发与配置管理上合作共事的朋友们,你们的经验分享和技术支持使本书介绍的方案更加合理、可行。
最后,全体作者深切地感谢我们的家人,你们的付出和支持是本书完成的保障和动力。
序言回到顶部↑
我一直感到庆幸的是,2002年,我在一大堆应聘者中找到刘江华,从此IBM CDL有了第一个专门从事软件配置管理(SCM)和构建(Build)的小组。
之前,我们参与的所有开发项目,源代码都由美国或其它海外实验室管控,我们无需为软件配置管理操心。那时候IBM还没有收购Rational,用的工具是IBM CMVC(Configuration Management Version Control),这是IBMAIX开发组为自己写的软件配置工具,后来又作为商业软件出售,功能非常强大,至今还有很多客户以及IBM的一些较有历史的产品组在使用。
我们当时要在CDL做一款新软件,软件配置管理就成了当务之急。考虑到CMVC只能运行在AIX的机器上,配置和维护的开销也较大,我们决定采用开源软件CVS进行版本管理,用Bugzilla进行缺陷跟踪。由于两个系统各自独立,并不方便对代码变更的追踪,刘江华带领SCM和Build小组大胆地提出要开发一套整合的机制,将所有的代码变更和缺陷(defect)或特性(feature)联动起来。这个系统被命名为“ChangeZilla”。ChangeZilla为CDL第一款软件产品立下了汗马功劳。
随着Rational加入IBM,Rational ClearCase和ClearQuest开始在IBM推广。刘江华带领的小组立刻着手在CDL部署ClearCase和ClearQuest。这应该是IBM内部除Rational团队之外最早的Rational UCM(Unified Configuration Management)部署。比起开源软件,Rational的软件发挥了更大的优势,除了支持多地域开发,更好的安全性,还有着无与伦比灵活性,以及用户友好性。Rational UCM不仅为开发和测试人员所依赖,而且管理层还可以利用其强大的查询统计功能,分析软件缺陷分布,缺陷率,代码复用率,开发效率等,甚至在绩效考评时参考其中的数据…这些年来,CDL的ClearCase系统中管理着十几个产品的源代码……
其实他们的工作远远超过软件配制管理本身。他们对软件开发流程的建立和优化也起了关键的作用。他们推动了每日构建和自动化冒烟测试,实现了对多达几十个的Substream的并行开发及代码合并的支持,尤其是最近的自动化流程执行使得构建的过程更加透明、容易操控……我们都开玩笑地称SCM小组为CDL软件项目的“上帝”…
配置管理是软件开发项目的枢纽,形象地比喻应该是和军队的供给线一样重要。“兵马未动,粮草先行”,任何一个软件开发组织,都需要先具备良好的开发流程和配置管理工具,而且要在管理层和所有的开发人员中普及软件配置管理的知识。刘江华所带领的小组在IBM内部做了很多的相关培训和知识分享,这也是软件配制管理在IBMCDL非常成功的原因之一。我也很欣喜地看到,他们终于联手IBM Rational开发部门和其他团队的专家,将多年的经验和积累凝于笔端,付梓成书,让更多的人受益。
寇育新
IBM协同办公产品总监
之前,我们参与的所有开发项目,源代码都由美国或其它海外实验室管控,我们无需为软件配置管理操心。那时候IBM还没有收购Rational,用的工具是IBM CMVC(Configuration Management Version Control),这是IBMAIX开发组为自己写的软件配置工具,后来又作为商业软件出售,功能非常强大,至今还有很多客户以及IBM的一些较有历史的产品组在使用。
我们当时要在CDL做一款新软件,软件配置管理就成了当务之急。考虑到CMVC只能运行在AIX的机器上,配置和维护的开销也较大,我们决定采用开源软件CVS进行版本管理,用Bugzilla进行缺陷跟踪。由于两个系统各自独立,并不方便对代码变更的追踪,刘江华带领SCM和Build小组大胆地提出要开发一套整合的机制,将所有的代码变更和缺陷(defect)或特性(feature)联动起来。这个系统被命名为“ChangeZilla”。ChangeZilla为CDL第一款软件产品立下了汗马功劳。
随着Rational加入IBM,Rational ClearCase和ClearQuest开始在IBM推广。刘江华带领的小组立刻着手在CDL部署ClearCase和ClearQuest。这应该是IBM内部除Rational团队之外最早的Rational UCM(Unified Configuration Management)部署。比起开源软件,Rational的软件发挥了更大的优势,除了支持多地域开发,更好的安全性,还有着无与伦比灵活性,以及用户友好性。Rational UCM不仅为开发和测试人员所依赖,而且管理层还可以利用其强大的查询统计功能,分析软件缺陷分布,缺陷率,代码复用率,开发效率等,甚至在绩效考评时参考其中的数据…这些年来,CDL的ClearCase系统中管理着十几个产品的源代码……
其实他们的工作远远超过软件配制管理本身。他们对软件开发流程的建立和优化也起了关键的作用。他们推动了每日构建和自动化冒烟测试,实现了对多达几十个的Substream的并行开发及代码合并的支持,尤其是最近的自动化流程执行使得构建的过程更加透明、容易操控……我们都开玩笑地称SCM小组为CDL软件项目的“上帝”…
配置管理是软件开发项目的枢纽,形象地比喻应该是和军队的供给线一样重要。“兵马未动,粮草先行”,任何一个软件开发组织,都需要先具备良好的开发流程和配置管理工具,而且要在管理层和所有的开发人员中普及软件配置管理的知识。刘江华所带领的小组在IBM内部做了很多的相关培训和知识分享,这也是软件配制管理在IBMCDL非常成功的原因之一。我也很欣喜地看到,他们终于联手IBM Rational开发部门和其他团队的专家,将多年的经验和积累凝于笔端,付梓成书,让更多的人受益。
寇育新
IBM协同办公产品总监
媒体评论回到顶部↑
配置管理是软件开发项目的枢纽,形象地比喻应该是和军队的供给线一样重要。“兵马未动,粮草先行”,任何一个软件开发组织,都需要先具备良好的开发流程和配置管理工具,而且要在管理层和所有的开发人员中普及软件配置管理的知识。刘江华所带领的小组在旧M内部做了很多的相关培训和知识分享,这也是软件配制管理在IBM CDL非常成功的原因之一。我也很欣喜地看到,他们终于联手IBM Rational开发部门和其他团队的专家,将多年的经验和积累凝于笔端,付梓成书,让更多的人受益。
——IBM协同办公产品总监 寇育新
——IBM协同办公产品总监 寇育新







点击看大图





加载中...
