0% found this document useful (0 votes)
118 views23 pages

Configuration Items

This document defines configuration items and baselines in software configuration management. It states that configuration items are discrete entities like code, documents, or hardware that are managed under configuration control. Baselines define specific approved versions of configuration items that serve as references for further development and change management. The document discusses selecting appropriate configuration items, defining versions and baselines, and how version control systems can manage different versions and track changes over time.

Uploaded by

kim goeun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views23 pages

Configuration Items

This document defines configuration items and baselines in software configuration management. It states that configuration items are discrete entities like code, documents, or hardware that are managed under configuration control. Baselines define specific approved versions of configuration items that serve as references for further development and change management. The document discusses selecting appropriate configuration items, defining versions and baselines, and how version control systems can manage different versions and track changes over time.

Uploaded by

kim goeun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Configuration Items, Baseline

Configuration Items
• Software configuration item (SCI) or configuration item (CI)
An approved unit of software code, a document or piece of hardware
that is designed for configuration management and treated as a
distinct entity in the software configuration management process.
(Galin, D. (2004))
• “An aggregation of hardware, software, or both, that is designated for
configuration management and treated as a single entity in the
configuration management process.” (Bernd Bruegge, Allen H. Dutoit)
• Configuration items are defined by configuration manager
• These activities provide the basis for the other SCM activities
Configuration Items Benefits & Purposes
• To select products based on functionality, verifiability, supportability, complexity,
risk, and management activity;
• To determine the structure (hierarchy) of a product and the organization and
relationships of its configuration documentation and other product information;
• To document the performance, interface, and other attributes of a product;
• To determine the appropriate level of identification marking of product and
• documentation;
• To provide a unique identity to a product or to a component part of a product;
• To provide a unique identity to the technical documents describing a product;
• To modify the identification of product and documents to reflect incorporation of
major changes;
Configuration Items Benefits & Purposes
• Maintenance of release control of documents for baseline
management;
• To distinguish between product versions;
• To correlate a product to related user or maintenance instructions;
• To manage information including that in digital format;
• To correlate individual product units to warranties and service life
obligations;
• To correlate document revision level to product version/configuration;
• To provide a reference point for defining changes and corrective
actions.
Define Configuration Items
• Not every entity needs to be under configuration
management control all the time
• Two Issues:
– What: Selection of Configuration Items
• What should be under configuration control?
– When: When do you start to place entities under configuration
control?
• Choices for the Project Manager:
– Starting with Configuration Items too early introduces bureaucracy
– Starting with Configuration Items too late introduces chaos.
Define Configuration Items (continued)
• Selecting the right configuration items is a skill that takes
practice
– Very similar to object modeling
– Use techniques similar to object modeling for finding
configuration items!
• Find the configuration items
• Find relationships between configuration items.
impact of Ci Selection
• Effects of Selecting Too Many Cis
– Increased administrative burden in preparing, processing, and reporting
– Increased development time and cost as well as potential creation of an
inefficient design.
– Potential increase in management effort, difficulties maintaining coordination,
and unnecessary generation of requirements, design, test, and system
specifications for each selected CI.
• Effects of Selecting Too Few Cis
– Loss of visibility down to the required level to effect maintenance or
modification.
– Difficulty in effectively managing the changes (for example, managing changes
to individual items, which are part of a CI).
Configuration Item Candidates
Configuration Item
Candidates

Models Subsystems Documents

Object Model Dynamic Model RAD ODD ....

Database User Interface ....

.... Code Data Unit Test ....

“The project”
Possible Selection of Configuration Items
• Problem Statement  Source code
• Software Project Management Plan • API Specification
(SPMP)  Input data and data bases
 Requirements Analysis Document • Test plan
(RAD)  Test data
 System Design Document (SDD)  Support software (part of the
• Project Agreement product)
 Object Design Document (ODD) • Support software (not part of the
• Dynamic Model product)
• Object model • User manual
• Functional Model • Administrator manual
 Unit tests
• Integration test strategy
General configuration items
• Design documents
• Software code
•        * Source code
•       * Object code
• * Prototype software
• Data files
•        * Test cases and test scripts
•        * Parameters, codes, etc.
• Software development tools (the versions applied in the development
and maintenance stages)
•        * Compilers and debuggers
•      * Application generators
•        *  CASE tools
Sample of configuration items with versions
Terminology: Baseline

“A specification or product that has been formally reviewed and


agreed to by responsible management, that thereafter serves as the
basis for further development, and can be changed only through
formal change control procedures.”

Examples:
Baseline A: The API of a program is completely defined; the bodies of the methods are empty.
Baseline B: All data access methods are implemented and tested; programming of the GUI can start.
Baseline C: GUI is implemented, test-phase can start.
Baselines
• Baselines may be specified using a configuration language, which
allows you to define what components are included in a version of a
particular system.
• Baselines are important because you often have to recreate a specific
version of a complete system.
– For example, a product line may be instantiated so that there are individual
system versions for different customers. You may have to recreate the version
delivered to a specific customer if, for example, that customer reports bugs in
their system that have to be repaired.

13
More on Baseline
• As systems are developed, a series of baselines is
developed, usually after a review (analysis review, design
review, code review, system testing, client acceptance, ...)
– Developmental baseline (RAD, SDD, Integration Test, ...)
• Goal: Coordinate engineering activities.
– Functional baseline (first prototype, alpha release, beta release)
• Goal: Get first customer experiences with functional system.
– Product baseline (product)
• Goal: Coordinate sales and customer support.
• Many naming scheme for baselines exist (1.0, 6.01a, ...)
7.5.5
• 3 digit scheme:
Major Minor Small
Release Internal Release Revision
(Customer) (Developer) (Developer)
Baselines in SCM

Baseline A (developmental)
All changes relative to baseline A

Baseline B (functional)
All changes relative to baseline B

Baseline C (beta test)


All changes relative to baseline C

Official Release
Three digit version identification scheme
MUE.0.0.1:Release Alpha test release

MUE.1.0.0:Release First major release

Second minor release


MUE.1.2.1:Release with bug fixes

Second major
MUE.2.0.3:Release release with three
series of bug fixes

Three-digit version identification scheme


<version> ::= <configuration item name>.<major>.<minor>.<revision>
<major> ::= <nonnegative integer>
<minor> ::= <nonnegative integer>
<revision> ::= <nonnegative integer>
Version management systems
• Version and release identification
– Managed versions are assigned identifiers when they are submitted to the
system.
• Storage management
– To reduce the storage space required by multiple versions of components that
differ only slightly, version management systems usually provide storage
management facilities.
• Change history recording
– All of the changes made to the code of a system or component are recorded
and listed.

17
Check-in and check-out from a version repository

18
Ver 4.1 IN

Ver 4.0 BL Ver d1.1 IN Ver e1.1 BL Ver c2.0 BL

Ver 3.0 BL
Ver b1.1 IN
Ver 2.2 IN Ver d1.0 BL Ver e1.0 BL Ver c1.1 BL
Color
Ver 2.1 IN Black printer
printer
Ver b1.0 BL Ver c1.0 BL
Ver 2.0 BL
Printer Printer- fax

Ver 1.0 BL Ver a1.0 BL


General
Linear evolution model Tree evolution model
Firefox Release version
Change Log
Summary
• Configuration items includes all (codes, documents, data tests,
manuals,etc).
• Configuration items are also have versioning, which the change based
on basedline.
• One of the version of Software naming is 3 digit scheme;
– Release
– Version
– Revision
• There are couple of type of evolution on versioning (linear, tree)
Reference
• Galin, Daniel. Software quality assurance: from theory to
implementation. Pearson Education India, 2004.
• Ian sommervile
• Bernd Bruegge, Allen H. Dutoit
• Jessica Keys

You might also like