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