1. 什么是 Jazz
1.1 Jazz 平台简介
Jazz 平台是一个应用于软件生命周期的可扩展,可伸)团队协同平台,通过它可以把很多软件生命周期中的任务无缝地集成起来。我们可以把在一个团队中完成不同的软件开发任务比喻成在一个乐队中演奏不同的乐器,每一个演奏者不仅要着力于演奏好自己的乐句,同时还要和乐队整体保持在音调,节奏方面的一致性。乐手之间必须要学会如何配合,如何进行必要的沟通以保证整个乐队的协调一致。同样的,在软件开发流程中,开发人员不仅要保证高质量的完成自己的工作,同时也要协调自己和其他开发人员的工作,以保证和整个项目协调一致。现有的很多软件开发工具都非常有助于提高开发人员个人的生产效率,而 Jazz 在提高个人生产效率的基础上,使整个团队的生产效率得以提高。
Jazz 平台主要的工作是提供一些规则和机制,按照这些实现软件生命周期中各个的模块无缝集成。上述规则和机制被封装在定义好的 API 中。
1.2 Jazz 平台的架构
Jazz 平台的基本架构是一个 Client-Server 架构,Server 端提供服务和 Repository,Client 端通过 HTTP 协议与 Server 端进行交互。Client 端可以有多种形式,比如基于 Eclipse 的客户端,基于 Web 浏览器的客户端,没有图形界面的命令行工具和 Ant 脚本等。Server 端支持 Apache Tomcat 和 IBM WebSphere Application Server 两种 Web Server。
1.3 Jazz 平台的组成
Jazz 平台由一组组件组成,其中最核心的组件是 Repository 和 Team Process,如图 1 所示。其余的组件均在这两个核心组件的基础上开发而成的。
Repository 由关系数据库来支持,目前 Jazz 支持两种关系数据库系统,分别是 Apache Derby 和 IBM DB2 数据库。Repository 主要用来存储 Jazz 平台的相关数据。
Team Process 是 Jazz 平台支持不同流程的基础,在 Rational Unified Method Architecture (UMA) 中,用来定义流程的几个基本概念包括:
基于此,一个团队的流程会直接影响到团队队员所要完成的工作。对于小团队,通常没有流程相关的文档,流程定义也不规范,但随着团队的成长,一些规则,指南,规范被记录下来,便于新的团队成员迅速学习,建立相关概念。对于一些规模较大的团队,通常都有一些记录下来的规则,指南,规范去遵循,这些项目团队一开始会借用已有的流程模板,再根据自身项目的特点在模板的基础上进行流程的定制。Jazz 平台提有两种预先定义好的流程可供使用,另外用户也可以根据项目特点自行修改或者创建流程。