Chapter 5-Configuration Identification

Embed Size (px)

Citation preview

  • 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.