就像1.3中的场景所描述的,一个CM系统有许多不同的用户,每一种用户都属于特定的角色,对CM系统也有不同的视角,因此对CM系统有不同的需求。图1说明了项目经理、配置经理、软件工程师、测试员、QA经理和客户对CM系统的期望,每一个方框代表了一个功能域,图1中的方框(审计、统计、控制、组件、结构和构建)是可以存在于任何CM系统的功能域,但是当与团队和过程功能结合后,就可以组成了一个全盘的(或者说是复杂的)CM系统。
图1
这些功能域有:
组件:识别、分类、保存和访问组成产品的组件。
结构:代表了产品的架构。
构建:支持制品和产品的构建。
审计:保持产品和过程的审计轨迹。
统计:收集产品和过程的统计信息。
控制:控制如何和何时进行变更。
过程:支持产品功能正确性的管理。
团队:支持项目团队开发和维护一系列产品。
这些功能的需求会在下面详谈。
对于组件的需求包括:记录组件的版本,区别和区别的原因;标识组成一个配置的组件,其中包括各个版本的组件;标识产品和其扩展的基线;确定代表特定项目组件和制品集合的项目环境。此外,用户需要版本库或运行库来保存和捕获组件和CM信息,例如保存源代码、对象代码、可执行程序、图表、文档和基线等。
对于结构需求,用户需要:通过代表产品组件的列表来建立产品的模型;指出组件、版本和配置的分界点,以此使之可重用;标识和维护组件的关系;选择兼容的组件来组成正确和一致版本的产品。