Sunday, 22 December 2013

UCM(Unified Change Management) Concepts


          ClearCase with UCM  allows the developer to work in a predetermined controlled environment to perform daily operations against development artifacts (code, models, documentation). 

UCM Project:  
            When working in ClearCase with UCM, all work is done inside of a UCM Project.  This UCM Project is the definition of the development environment.  A developer joins a UCM project to perform work in it's context.

Activity: 
          Once a developer joins a project, all work is done in the context of an activity.  Activities are created to perform specific tasks in the UCM project.  For example. an activity may be a fix for a defect, the implementation of a new requirement, or an enhancement request. The purpose of the activity is to record all the artifacts that have been modified to satisfy the activity.  This is known as the activity's change set.

Elements and Versions:  
             When a developer works on an activity, all artifacts placed under source control are called elements. Elements can be files or directories.

          Each revision of an element is called a version. An element encompasses the entire set of versions of the artifact.

Element content is not limited to code under development. Any file can be placed under ClearCase version control as a ClearCase element. Examples include:
l  Marketing materials
l  Data for testing
l  Directories
l  HTML
l  XML
l  Models


Components:
           UCM manages the large number of artifacts by collecting related files and directories into a component, an entity that can be managed as a whole.Elements in a component can be added, removed, or modified at any point during the life of the project. Most often, the elements that make up a component are developed, integrated, and released together.Components can be shared among multiple UCM projects. For example, the same GUI might be used in several releases of a software product. The GUI component would be shared by each UCM project.

Baselines:  
           A baseline is a stable configuration of one or more components. At the beginning of a project, a configuration manager creates an initial baseline. It identifies one version of each element to be used by developers as a starting point for their development.

In this context, stable means that once a baseline is defined, it doesn't change. You cannot infer that the versions indicated form a "good" configuration based on their presence in a baseline alone.For example, an integrator creates a baseline to identify the versions to be used in a nightly build and the build fails. That baseline can be marked "Do Not Use," but it still exists.

During the course of the UCM project, the configuration manager or an integrator will incorporate the changes made by developers into a new baseline. The new baseline becomes the new stable configuration that developers work with.Baselines can also be used to reproduce an earlier release of a software project.

Component VOB:  
          ClearCase stores elements and their versions in repositories called Version Object Bases (VOB).  The definition of one or more UCM components is contained within the VOBs.  This is where a developer retrieves and modifies component artifacts.

Project VOB:  
         ClearCase stores all the meta data that defines the UCM projects, components, baselines, activities and additional UCM objects in a Project VOB (PVOB).  No data (artifacts) are stored in a PVOB.  No development is done in the context of a PVOB.

Development Stream:  
         In a traditional UCM project model, a development stream is automatically created when a developer joins a UCM project.  A development stream is an isolated workspace that provides a work environment for the developer.  Developers isolate their work-in-progress from the potentially destabilising changes of other developers.A project can have multiple developer workspaces. Each developer can have multiple workspaces.

         The activity used to change artifacts is associated with the development stream.  An activity can only be associated with one stream.Each developer has a development view that is associated with their development stream. The developer uses this view to modify, build and test changes to the activity they are working.

Integration Stream:  
         Every UCM project contains one Integration stream.  The integration stream provides a workspaces for all developers to deliver their changes (activities).  Its primary functions are to:
·        Enable access to versions of the project’s shared elements.
·        Share the results of each developer’s completed activities.
·  Maintain baselines created at various points in time during the development effort

Each developer has an integration view that is associated with the project’s integration stream. The developer uses this view to build and test the latest versions of a project’s shared elements
Views:
         When you join a UCM project, you must select whether to set up a dynamic view or a snapshot view in which to view your elements.

         A dynamic view uses the ClearCase Multi-Version File System (MVFS) to provide immediate, transparent access to files and directories stored in repositories. ClearCase maps a dynamic view to a drive letter in Windows Explorer.  As an alternative, you can specify ‘none’ as a drive letter and access the view through the M: drive on your computer.  You can automatically see changes in a dynamic view when your project uses a single stream or when you are using shared streams.

          A snapshot view copies files and directories from the repository to a local directory on your computer (also known as the view root).

         Each developer has an integration view that is associated with the project’s integration stream. The developer uses this view to build and test the latest versions of a project’s shared elements.

No comments:

Post a Comment