Date: Thu, 19 Aug 93 16:52:36 EDT From: mitu@vnet.IBM.COM To: dalamb@qucis.queensu.ca Subject: Addition to software-eng FAQ From: Adrian Mitu Internet: mitu@vnet.ibm.com VNET: TOROLAB6(MITU) Subject: Addition to software-eng FAQ David, Can you please add the following product description to the CM products section of your FAQ? Thanks! Adrian. ----------------------------------------------------------------------------- Configuration Management Version Control (CMVC) =============================================== Product Description =================== CMVC tightly integrates the following functions: 1) Configuration Management (CM) Software Configuration Management (SCM) is the process of identifying, tracking, and controlling changes to software configuration items (SCI). SCI's in CMVC terminology are called components. A configuration consists of a family of components. CMVC components can represent any objects that need to be managed: software modules, documentation sets, design requirements, object code, etc. Within the family, the components are arranged in a tree-like hierarchical structure that reflects the structure of your organization and the structure of the projects you are working on. 2) Version Control (VC) Version Control manages all the versions of all the SCI's. Any version of any SCI is available at any time. The mechanism used is forward-delta versioning, that enables version branching with a minimum of storage wasted. Both ASCII and binary files can be stored under CMVC's Version Control mechanism. All of the SCI are available to users from a CMVC server, although their physical location can be distributed. This eliminates confusion when looking for a particular source code file belonging to a particular product, for example. 3) Problem Tracking (PT) Problem Tracking works through two mechanisms: Defects and Features. Defects will track the lifecycle of a problem with any of the SCI's from identification all the way through to final resolution. CMVC introduces and enforces a methodology for resolving Defects and implementing Features. An established software development process is essential for improving the quality of the product. Moving your organization from a low level of process maturity to a higher one is dependent on everybody in the organization knowing and following a repeatable process. CMVC makes it easy to follow and learn the process by notifying the users who need to take some action that they must provide some input, or take certain actions. 4) Change Control (CC) Change Control provides an audit Track that identifies which files have gone through what changes, when, who modified them, and why. A Defect or Feature may result in the modification of hundreds of files across more than one product, including documentation and testcases. The Change Control process, through the mechanism of Tracks, will produce and keep records of each file modified in each separate product as related to the particular defect or feature. When you are ready to include the changes for the defect in the release and build the release, you only need to specify the Track number (same as the Defect number) and all the changes will be committed to the database and included in the release. Product baselines (called Levels in CMVC's terminology) are created by specifying which fixed defects and implemented features are to be included. All the changes associated with a particular defect or feature are therefore treated as a unitary set. 5) Access Control (AC) Access control is done at the CMVC component level. Access authority is inherited downward from parent components to children components. There is a fine grain of access permissions that can be configured in CMVC, going far beyond typical read/write permissions. Access is also granted automatically by CMVC to authorized users who must take certain actions. For example, a developer cannot normally change source code files, but when he is responsible for fixing a defect, CMVC automatically gives him permission to modify the files belonging to that particular release, until the developer indicates to CMVC that he has finished fixing the defect. 6) Automatic Notification All the users who must take some action are notified by CMVC automatically. Also all the users who wish to be notified (for interest) of changes in CMVC, will be notified by CMVC. The level of interest is configurable by component and by action. The notification is done via electronic mail, so users do not have to 'log in' to CMVC to find out about that they must take an action or about the changes they are interested in. 7) Release Management A CMVC Release groups together a set of files belonging to one or more components into a logical unit. Files and components can be shared by more than one release. This feature encourages software reusability between different projects. A maximum of commonality is maintained even if the versioning of a particular file is split by the projects that are using it. CMVC Releases allow you to extract an older version (e.g. a previous release) of your source code and work on that (as opposed to on the most recent) for fixing a problem or deriving a new strand of your product. Baselines (called Levels in CMVC) can be defined as snapshots of a Release. Also, levels can be classified as development levels, productions levels, etc. . You can extract all the files in any level at any time, and you can also extract the differences between two consecutive levels. Other features of CMVC include: Client-Server architecture All the files and the data reside on one server (although it is possible to distribute the stored files over a LAN), eliminating the search for 'the right copy of file X' and minimizing the backup effort. The users access the server through the CMVC clients. Multiple Hardware Platforms Supported The CMVC supports: RISC/6000 (AIX 3.2.x), Sun SPARCstations (Sun OS4.1.x) HP Apollo 9000 series 400, 700 and 800 (HP-UX 9.x). Ports to other platforms are under way for both the server and the client. All the CMVC clients and servers can co-exist in a totally heterogeneous environment. Integration through SDE Workbench or Softbench CMVC uses BMS to provide integration with any tool in the SDE Workbench or Softbench environment. Graphical Interface CMVC's Motif graphical interface makes using CMVC a snap. It provides intuitive panels and graphical views of the configuration stored and of the project status. The graphical interface looks identical across all the platforms supported. A command-line interface is also provided. ***************************************************************************** *CMVC is an IBM product. Contact your (any) IBM rep for pricing and product * *info. If you can't get hold of an IBM rep, you can send me e-mail at * *mitu@vnet.ibm.com, and I'll try to locate one. You can also send me e-mail * *if you have technical questions. * ***************************************************************************** =============================================================== Adrian Mitu IBM Canada Ltd. tel:(416)-448-6177 1150 Eglinton Ave East, Toronto, fax:(416)-448-4414 Ontario, M3C 1H7, CANADA