总的来说:
* Repository包含多个Project Area
* 每个Project Area包含Process Specification, development lines(多个), team areas(多个)
* 每个development line包含多个iteration
* 每个iteration包含多个work items
* 每个team area会分配一组team member,通常还会与一个work item category关联。
- Repository 你可以把Jazz server看作是一个repository,所有的data都会存储在repository里。Repository可以包含多个Project area。
- Project area Project area代表a project在repository的开发区域。Project area包含了Process Specification, development lines(多个), team areas(多个).
- Team area 一个project area里可以包含多个team area(例如上图中包含了Core Dev team, Web Dev team等等)。每个team area都会自己这个team的membership, roles assignments, and team artifacts.
- Work item category Work item category是根据project里不同的components or functional areas来对work items进行分类,每个 category都必须关联到一个team area上去。当你create/modify a work item,并为它设置了 category,那么只有与该category相关联的team area的member才会receive notification
- Process Process is the collection of roles, practices, rules, and guidelines used to organize and control the flow of work.
Process可以用来定义user roles and their permissions。
由于jazz里每个component都是process aware的, 你还可以给process behavior (包含preconditions [预处理] and follow-up actions [后续处理]) 添加rules。
Process还可以用来定义project reports, queries, and work item types.
Project process specification定义了project级, team级, 以及role-specific级3种级别的behavior and permissions:
* Client-side and server-side project initialization
* Predefined project reports and queries
* Work item types, workflows, and enumerations
* Roles available for a team
* Team and role-specific permissions for client and server-side operations
* Team and role-specific preconditions that define the conditions under which client-side and server-side operations are allowed to proceed
* Team and role-specific follow-up actions for client-side and server-side operations
RTCE缺省定义了几个process templates,你通常只需要使用这些template就可以,不需要自定义process。其中最常用的template是“The Eclipse Way process template”
- Development line 在开发项目时,通常会把project分成几条支线同时进行,每条支线之间相对的独立,每条支线有自己的schedule, deliverables, teams, and process。例如象上图所看到的,一个project可能有2条支线,一条负责Main Development,一条负责Maintenance。
一个“development line”就代表一条支线,一个project area可以包含多个development line。
- Iteration 敏捷编程中的迭代计划概念。每条development line都包含多个iteration。一个iteration包含多个work items。
- Roles 当把user add into到某个project area or 某个project下的team area时,需要为user设置其在该project area or team area的Process Role。缺省会为每个要加入project area or team area的user都分配一个“default” Process Role。你可以为一个user分配多个process role。除了default process role,还有2种Process Role:
* Teamload: A team member leading a team.
* Contributor: A team member who may release changes to the team's streams in the repository.
- Permissions Repository Permissions是用来控制user access jazz repository的权限。Repository Permissions有下列4种:
* JazzAdmins: Administrators of a Jazz Repository with full read-write access
* JazzDWAdmins: Administrators of a Jazz Repository with specific permissions to control the data warehouse on a Jazz Server
* JazzGuests: Users with read-only access to the Jazz Repository
* JazzUsers: Users with regular read-write access to the Jazz Repository
注意:Repository Permissions是for the jazz server level的设置
- Behavior Process behavior是用来定义一些operations的preconditions[预处理] and follow-up[后续处理] actions。它的作用在于鼓励或者强制你的project or team执行某些process rules。Behavior是被定义在project's process specification里,它也可以被team area进行自定义.
例如,对于“Work Item Save”Operation,你就可以使用一个precondition(预处理)来定义在save之前某个field(例如comment field)必须不能为空,如果为空则执行save operation出错。
Jazz process templates包含了a collection of process operations with preconditions and follow-up actions. 通常我们都是使用behavior,而不需要自己去定义behavior。
- Process templates Process templates就是之前提到的process的一些已经定义好的模板。我们通常不需要自己定义process,而只需要这些templates。当你在create project area时,选定其中一个template即可。当process template被设置到project area之后,你可以对其进行修改,也就是说独立于最初的template。
Jazz提供的process templates有:
* Agile process template
* The Eclipse Way process template
* OpenUp process template
* Cloudburst Sample process template
* Scrum process template
* Simple Team process template