Information about Component Repository Management

Component repository management is a field of configuration management that seeks to ensure the safe storage of different components of a software product and all its versions. This topic includes product model, revision control, and software configuration management.

Product model

The product model describes the structure of a software product in a single version system, which means the version model is not taken into consideration. It can be represented by a product graph in which nodes and edges represent the software objects and their relationships.

Software object

A software object records the result of a development or maintenance activity. A SCM system has to manage all kinds of software objects created throughout the software lifecycle, including requirements specifications, designs, documentations, program code, test plans, test cases, user manuals, project plans and so on.

Relationship

Relationships are the connectors of software objects. In the product model diagram, they are the edges between nodes. Composition relationships and dependency relationships are the two main relationships used in the product model.

Composition relationships are used to organize software objects with respect to their granularity. For example, the subsystems of a software product which in turn consist of modules.

Dependency relationships or in short dependency establish directed connections between objects that are orthogonal to composition relationships. They include lifecycle dependencies between requirements specifications, designs and module implementations.

Version model

A version model defines the items to be versioned, the common properties shared by all versions of an item, and the deltas. It also determines the way version sets are organized. It introduces dimensions of evolution such as revisions and variants, it defines whether a version is characterized in terms of the state it represents or in terms of some changes relative to some baseline, it selects a suitable representation for the version graphs, and it also provides operations for retrieving old versions and constructing new versions.

Another field related to version model is software history. It records all the versions of a software product safely and properly, it also records who created the revision along with what comment. Delta is used to reduce the spaces needed for storage, since two successive versions are often very similar (98% same on average).

It also provides supports for multi-user management. The traditional locking method is still used while a new advanced synchronizing method can greatly improve the efficiency.

Version and product model structures

Because product model only considers the software structure of a single version model, and the version model does not take software structure in to consideration, methods to integrate the two models will be discussed in this section. In particular, we will investigate which items are put under version control and how versions of different items are interrelated with each other.

According to the selection order during the configuration process, we can classify the structures into 3 categories, product first, version first and intertwined:

Product first means that the product structure is selected before the version models of components. This approach is followed, for example, by SCCS and RCS. But this method suffers from the restriction that structural versioning can not be expressed (it is because the product structure is fixed for all configurations).

Version first means the version of product is selected first and uniquely determines the component versions. Different product versions may be structured in different ways. For example, a version of a component is contained only in the product version 1.0 but not 2.0. PCTE is an example of an SCM system using this organization.

Intertwined means that the selections of version model and component structure are performed in alternating order. Intertwined structure is relatively more flexible than the two methods mentioned above, because when a new change happens or a new component need to be added in the configuration, for most of time it is not necessary to change the whole configuration structure.

In addition, version first and intertwined both take in to account that different versions of a certain object may vary with respect to their relationships of other objects. This means that in addition to objects, relationships are versioned as well.

A meta-model of the AND / OR method

As shown in the intertwined configuration structure, an AND / OR graphs can be used to illustrate the interplay of product model and version model. The graphs consist of nodes and edges, and selections of the nodes represent the configuration of a certain software product of a certain version. There are two types of nodes — AND nodes and OR nodes. Analogously, a distinction is made between AND and OR edges, which emanate from AND and OR nodes, respectively. A meta-model is presented in the following figure:

An unversioned product graph can be represented by exclusively AND nodes/edges. Then this AND/OR graph will be the same as the product model or product compositions. While versioning of the product graph is modeled by introducing OR nodes. Versioned objects and their versions are represented by OR nodes and AND nodes, respective.

The dependency relationships and composition relationships can be both represented by AND edges.
In information technology and telecommunications, the term configuration management or configuration control has the following meanings:
  1. The management of features and assurances through control of changes made to hardware, software, firmware, documentation, test,

..... Click the link for more information.
Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information.
..... Click the link for more information.
Software development process
Activities and steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting disciplines
..... Click the link for more information.
Structure is a fundamental and sometimes intangible notion covering the recognition, observation, nature, and stability of patterns and relationships of entities. From a child's verbal description of a snowflake, to the detailed scientific analysis of the properties of magnetic
..... Click the link for more information.
Software development process
Activities and steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting disciplines
..... Click the link for more information.
In business and engineering, new product development (NPD) is the term used to describe the complete process of bringing a new product or service to market. There are two parallel paths involved in the NPD process : one involves the idea generation, product design, and detail
..... Click the link for more information.
In artificial systems and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered device, taking account of the possibly conflicting requirements of the various stakeholders, such as
..... Click the link for more information.
Design, usually considered in the context of the applied arts, engineering, architecture, and other such creative endeavors, is used both as a noun and a verb. As a verb, "to design" refers to the process of originating and developing a plan for a product, structure, system, or
..... Click the link for more information.
In communications, a code is a rule for converting a piece of information (for example, a letter, word, or phrase) into another form or representation, not necessarily of the same type.
..... Click the link for more information.
Software development process
Activities and steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting disciplines
..... Click the link for more information.
Manual may mean:
  • Instructions
  • Instruction manual (computer and video games)
  • Online help

..... Click the link for more information.
In a project network, a dependency is a link amongst a project's terminal elements.

There are four kinds of dependencies with respect to ordering terminal elements (in order of decreasing frequency of use):
  1. Finish to start (FS)
  2. * A FS B =

..... Click the link for more information.
In business and engineering, new product development (NPD) is the term used to describe the complete process of bringing a new product or service to market. There are two parallel paths involved in the NPD process : one involves the idea generation, product design, and detail
..... Click the link for more information.
In artificial systems and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered device, taking account of the possibly conflicting requirements of the various stakeholders, such as
..... Click the link for more information.
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.

In computer science, an implementation is a realization of a technical specification or algorithm as a program, software
..... Click the link for more information.
Delta (uppercase Δ, lowercase δ) is the fourth letter of the Greek alphabet. In the system of Greek numerals it has a value of 4. It was derived from the Phoenician letter Dalet .
..... Click the link for more information.
ReVision: A Journal of Consciousness and Transformation is a peer-reviewed interdisciplinary quarterly journal issued by Heldref Publications. Topics covered include religion and spirituality, consciousness studies, psychology, philosophy, anthropology, sociology, ecology,
..... Click the link for more information.
Delta (uppercase Δ, lowercase δ) is the fourth letter of the Greek alphabet. In the system of Greek numerals it has a value of 4. It was derived from the Phoenician letter Dalet .
..... Click the link for more information.
In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies.
..... Click the link for more information.
In telecommunication, the term synchronizing has the following meanings:
  1. Achieving and maintaining synchronism.
  2. In fax, achieving and maintaining predetermined speed relations between the scanning spot and the recording spot within each scanning line.

..... Click the link for more information.
Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information.
..... Click the link for more information.
A version is any change in form.
  • For the process of assigning software version numbers, see Software versioning.
  • For the movement of an eye, see Version (eye).
  • For the obstetric procedure to reorient a breech baby, see External cephalic version
Version
..... Click the link for more information.
SCCS may refer to any of the following:
  • Source Code Control System, a method of controlling software versions
  • Switching Control Center System, an Operations Support System used by telephone companies from the 1970s to 1990s

..... Click the link for more information.
The term RCS can stand for:
  • Racing Club de Strasbourg
  • Radar cross section
  • Radio carrier station
  • Radio channel server
  • Radio Computing Services
  • Reaction control system
  • Reactive carbon species
  • Real-Time Control System

..... Click the link for more information.
PCTE can refer to:
  • Portable Common Tool Environment, an ISO (ISO 13719) and ECMA standard for exchanging data between CASE tools.
  • Punjab College of Technical Education, an engineering college in Ludhiana, India.

..... Click the link for more information.
In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter