chapter 5-configuration identification
TRANSCRIPT
-
8/7/2019 Chapter 5-Configuration Identification
1/33
Software Configuration Management
-
8/7/2019 Chapter 5-Configuration Identification
2/33
` Configuration identification is the process ofselection, designation and description of thesoftware configuration items. Selection involves grouping software into configuration
items that are subject to configuration management. Designation is developing a numbering and/or naming
scheme that correlates the components and theirassociated documentation.
Description is documenting the functional performance,
and physical characteristics for each of the softwarecomponents .
-
8/7/2019 Chapter 5-Configuration Identification
3/33
` Software items that are potential to become CIinclude: code, plans, specification and designdocuments , testing material, software tools, sourcecode and executable code, code libraries, data anddata dictionaries, and documentation for installation,maintenance, operations, and software use.
` Configuration identification process captures all thecharacteristics of software to be controlled Its contents the content of the document that describes it
different versions as the contents are changes data needed for the operation of the software any other important characteristics of the software.
-
8/7/2019 Chapter 5-Configuration Identification
4/33
` A software is divided into configurable items (CIs), also calledcomputer software configuration items (CSCIs).
` A CI is an aggregation of a software that is designated forconfiguration management and is treated as a single entity in the
SCM process.
` A variety of items, in addition to the code, which have the potential tobecome CIs are plans, specification and design documents, testingmaterials, software tools, source and executable code, code libraries, dataand data dictionaries, and documentation for installation, maintenance,operations and software use.
` E.g.: if a system contains several programs, each program andits related documentation and data might be designated a CI.
-
8/7/2019 Chapter 5-Configuration Identification
5/33
` The configuration identification process should capture all thecharacteristics of the software to be controlled: its contents, thecontents of the documents that describe it, the different versionsas the contents are changed, data needed for operation of thesoftware, and any other essential elements or characteristics.
` CI consist of other CIs also called computer softwarecomponents (CSC).
` CSC is a functional or logically distinct part of a computersoftware configuration item.
` CSCs may be top-level (TLCSCs) or low-level (LLCSCs).
` A CSU is the smallest logical entity or the actual physical entityof the program.
-
8/7/2019 Chapter 5-Configuration Identification
6/33
` The software product may be organized in one ormore CSCIs. Each CSCI is a part of a system,subsystem, or prime item and shall consist of oneor more TLCSCs.
` Each TLCSCs shall consist ofLLCSCs or CSUs.LLCSCs may consist of otherLLCSCs or CSUs.TLCSCs and LLCSCs are logical groupings. CSUsare smallest logical entities.
` The static structure of CSCIs, TCSCs, LLCSCsand CSUs shall form a hierarchical structure.
` Diagram
-
8/7/2019 Chapter 5-Configuration Identification
7/33
System
SubsystemSubsystem
CSCI CSCI
TLCSC TLCSC
CSU
LLCSCLLCSC
CSU
CSU CSU CSU
LLCSC LLCSC
Computer Software
Configuration Item
Structure (CSCI)
-
8/7/2019 Chapter 5-Configuration Identification
8/33
` Develop the criteria for selecting items to be placed underconfiguration control.
` Select CIs and define the relationships between the CIs.
` Establish a software item hierarchy and define therelationship between them. This is important as it affectsthe SCM activities e.g. like software building or analyzingthe impact of proposed changes.
` Develop an identification or naming scheme for clearly andunambiguously identifying the CIs
-
8/7/2019 Chapter 5-Configuration Identification
9/33
` Select the documentation to be used to define configurationbaselines for each CI.
` Establish a release/version mgmt system for configurationdocumentation
` Define and document interfaces to and between CIs.
` Define and establish baselines to be used.
` Assign identifier to CIs and their associated configurationdocumentation, including version number whereappropriate.
-
8/7/2019 Chapter 5-Configuration Identification
10/33
` Ensure that labeling of the items and the
documentation are in correlation with each other.
Program : PGM-XYZ and Document for the
program is DOC_XYZ.
` Ensure that the applicable identifiers are
embedded in the software and on its storage
media. E.g.: a program named as PGM_XYZ : theprogram contains the name in the source code.
-
8/7/2019 Chapter 5-Configuration Identification
11/33
` CI selection should be achieve balance betweenproviding adequate visibility for project controlpurposes and providing a manageable number ofCIs.
` Poor CI selection can become a unnecessarytechnical and administrative burden and adverselyaffects the cost and schedule.
` This decision is taken by people who design theSCM system.
-
8/7/2019 Chapter 5-Configuration Identification
12/33
` SCM tools can handle many CIs easily, so the
number of CIs is not important.
` Still the problems of reduced visibility, too muchdocumentation, inefficient design are there.
` Thus the selection of CIs is important.
-
8/7/2019 Chapter 5-Configuration Identification
13/33
` Increased administrative burden: preparing,processing and reporting changes, which isproportional to the number of CIs.
`
Increased development time and cost: with increasednumber of CIs, a lot of time goes in design anddevelopment . This also leads to design inefficiencies.
` Potential increase in management effort: maintainingcoordination and unnecessary generation ofrequirements, design, test for each selected CI isthere.
-
8/7/2019 Chapter 5-Configuration Identification
14/33
` Loss of visibility down to the required level to effect
maintenance or modification: e.g. if CI is chosen at
the module level, then finding doc at function level will
not be possible.
` Difficulty in effectively managing the changes: with
less number of CIs, check-in, check-out and change
implementation becomes difficulty : because
checkout happens at the CI level and lot of unwanteditems will also need to be checked out, tested, verified
and checked back in.
-
8/7/2019 Chapter 5-Configuration Identification
15/33
` As the CIs go through their development processmore components are developed until the final CIs areavailable for use.
` Generally, the life cycle process will result in a set of
requirements, then a design, then code for individualelements of the CI, and then integrated code with thetest cases and user manuals.
` SCM involves a concept of identifying theconfiguration of each CI at discrete points in timeduring the life cycle process, and then managingchanges to those identified configurations.
-
8/7/2019 Chapter 5-Configuration Identification
16/33
` The configuration of the software at a discrete
point in time is known as Baseline.
` Baseline is the documentation and software that
makes up a CI at a given point in the life cycle.` It includes user documentation, specification
document, software (if any) that makes up a CI at
a given point.
` Each baseline serves as a point of departure orreference for the next development stage.
-
8/7/2019 Chapter 5-Configuration Identification
17/33
` Baselines are created after each life cycle phase
at the completion of the formal review that ends
the phase.
` Thus we have requirement baseline, design
baseline, product baseline and so on.
` Each baseline is subject to configuration controland must be updated to reflect approved changes
to the CI.
-
8/7/2019 Chapter 5-Configuration Identification
18/33
` At the end of a life cycle phase, the perviousbaseline and all its approved changes to itbecomes the new baseline for the nextdevelopment stage.
` Baseline mgmt: is the discipline of controllinga series of baselines as they evolve and arethen merged into the next baseline to be
defined.SCM system provides policies, proceduresand tools for exercising baseline mgmt.
-
8/7/2019 Chapter 5-Configuration Identification
19/33
-
8/7/2019 Chapter 5-Configuration Identification
20/33
` Based on the RDD, various functions are determined.
` During the design process are these function- user
interfaces, database operations, error handling, input
data validation are allocated to various subsystems
and components.
` Then finally the design baseline is established where
the system components are assigned their
functionality.
Or : requirements defined in the requirement baseline areallotted to the CIs in the form of design documentation.
-
8/7/2019 Chapter 5-Configuration Identification
21/33
` Product baseline corresponds to the completedsoftware product delivered for system integration.
` This is the technical and support documentationestablished after successful completion of thefunctional configuration audit and physicalconfiguration audit.
` It is the initial approved technical documentation(including source code, object code, and otherdeliverable) defining a CI during the production,operation, maintenance and logistic support of its life
cycle.` The product baseline is also called deliverable
baseline.
-
8/7/2019 Chapter 5-Configuration Identification
22/33
` A software system is generally split into several CIs thatare independently developed and tested and then finallyput together as the software system integration level.
` Examples of CI ; project plan, RDD., design doc, object
code, executables, EPROMS, media, make files, tools,user documentation, quality manual, SCM plan.
` CI selection is not easy as there are no guidelines.
` Selection process involves all stakeholders : company
mgmt, software team leader, SCM administrator, QArepresentative, testers, maintenance and support teammembers , client representative.
-
8/7/2019 Chapter 5-Configuration Identification
23/33
` When a software project or system is broken downinto components, a tree structure is created.
` The decomposition can be, project-module-submodules-programs-function-link libraries-icons
and other minor components.
Various factors which should be considered forselecting an items as a CI:
` Item is critical/ high risk/ or safety item` Item is used in several places
-
8/7/2019 Chapter 5-Configuration Identification
24/33
` Item is reused or designated for reuse.
` The system is already a CI. (it is borrowed from
other project)
` Item can be designed, developed, tested andmaintained as a stand-alone unit.
` Item is newly developed. A system may be
developed to add some enhancements.
` Item will be maintained by diverse groups atmultiple locations.
` Item incorporate new technologies.
-
8/7/2019 Chapter 5-Configuration Identification
25/33
` Item is purchased off-the shelf- commercial-off-
the shelf (COTS)
` Item is supplied or developed by a subcontractor.
` Item is highly complex or it has stringentperformance requirements.
` Item encapsulates interfaces with other software
items that currently exist .
` Item is installed on a different computer platformfrom other parts of the system.
-
8/7/2019 Chapter 5-Configuration Identification
26/33
` The item is likely to subject to modification orenhancement during its service life. The rate ofmodification is higher as compared to other items.
` There is a requirement to know the exact
configuration and status of changes made to anitem during its service life. This happens to morecritical items.
` Is the size of the item manageable and be
managed by a small team. If no, do we need tosplit it in two.
-
8/7/2019 Chapter 5-Configuration Identification
27/33
Each software component must be uniquelyidentified.
` The naming convention should facilitate storage,retrieval, tracking, reproduction, distribution of the
CIs.` It also helps in making the relationship between
the CIs.
` A good naming scheme uses numbers or
alphabets to represent position of CI in thehierarchy. E.g.: Item labeled as 1.4 is definitelycreated before 1.6 and after 1.2.
-
8/7/2019 Chapter 5-Configuration Identification
28/33
-
8/7/2019 Chapter 5-Configuration Identification
29/33
` Naming should be such that it does not lead to
duplicate names. For example : complex projects
naming is usually detailed to facilitate easy
identification.
` Name part will remain constant and number part
keeps on changing.
-
8/7/2019 Chapter 5-Configuration Identification
30/33
` Soft r omponent re escri ed inspecifications( , desi nspec. , detaileddesi nspec., soft areproduct spec.)
`
T edescription ecomesmoredetailedas t edesi nanddevelopment proceeds t rough the lifecycle.
` Thedescription forms the asisofconfigurationcontrol, statusaccountingandaudits.
` Thedocuments that descri eeach I must eidentified andmadeapart of the I.
-
8/7/2019 Chapter 5-Configuration Identification
31/33
` Configuration item description (or specification) is
a document usually used contains: a list of CIs, by configuration identifiers
an indication of the owner/programmer
next higher CI name (parent)
controlling baseline
fit into the hierarchy (CSCI, subsystem, or segment
name), and other general information.
This is handy document used for reference.
-
8/7/2019 Chapter 5-Configuration Identification
32/33
` Acquisition is the last activity of the CI function.
` After this the changes to the item must be formallyapproved as appropriate CI and baseline is involved as perthe SCM plan.
` This means that CIs (both intermediate and final outputs)and the environment elements (compliers, OS, tools)should be acquired and stored in the controlledenvironment .
` A software library is a controlled collection of software andrelated documentation designed to aid in softwaredevelopment ,use ,maintenance.
-
8/7/2019 Chapter 5-Configuration Identification
33/33
` For each such library the format, location,
documentation requirements, receiving and
inspection requirements, and access control
procedures must be specified.
` Once the CIs are acquired and place in the control
library, the configuration control process applies to
them.