TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”

26
TCS2411 Software Engineering 1 Software Configuration Management “The only constant is change ...”
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    232
  • download

    0

Transcript of TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”

TCS2411 Software Engineering 1

Software Configuration Management

“The only constant is change ...”

TCS2411 Software Engineering 2

Lecture ObjectivesTo understand the activities in

managing software changesTo identify the software configuration

items that needs to be managedTo describe the different tasks in

software configuration management

TCS2411 Software Engineering 3

What is S/w Configuration Management?

SCM is the discipline for systematically controlling the changes that take place during development

Umbrella activity that is applied throughout SE process

SCM is easier at the start of development and gets more complex towards the end

TCS2411 Software Engineering 4

Sources of Change

New business or market conditionsNew customer needsReorganisation and/or business

downsizingBudgetary or scheduling constraints

TCS2411 Software Engineering 5

Main Elements of SCM

Identification What are the configuration items?

Control How changes should be controlled?

Status Accounting What changes have been made?

Auditing Is the system being built to satisfy the

needs?

TCS2411 Software Engineering 6

Software ConfigurationComputer programs

Source code Executable code

Documents that describe the computer programs For technical staff For users

Data Within the program and external to it

TCS2411 Software Engineering 7

Software Configuration Item

A document or an artifact that is explicitly placed under configuration control and that can be regarded as a basic unit for modification

Examples: requirement documents design document code of a module test plan

TCS2411 Software Engineering 8

Baselines Definition

IEEE definition:“A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures”

TCS2411 Software Engineering 9

BaselinesA baseline is essentially a set of SCIsThe items have been reviewed,

corrected, and approvedBaselines should be used as

reference pointBaselines should only be changed

through formal proceduresCareful definition and control of

different baselines should be done

TCS2411 Software Engineering 10

Examples of Baselines

Functional baseline (requirements)Design baselineProduct baseline (developed system)

TCS2411 Software Engineering 11

Configuration Control

Version control - procedures and tools to manage different versions of configuration objects

Change control - procedures and tools to provide a mechanism for the control of changes

TCS2411 Software Engineering 12

Version Control

Process of identifying and keeping track of different versions and releases of a system

Procedures to ensure that different versions of a system may be retrieved when required and not accidentally changed

Version management is almost always supported by automated tools

TCS2411 Software Engineering 13

Evolution Graph

Obj1.0

Obj1.1.1

Obj1.1.2

Obj1.1

Obj1.2

Obj2.0

Obj1.3

Obj1.4

Obj2.1

TCS2411 Software Engineering 14

Versions, releases & variants

Version - an instance of a system that differs from other instances different functionality performance repair of system faults

Release - version that is distributed to customers

Variant - sometimes used when differences are small

TCS2411 Software Engineering 15

Change Control

Focuses on managing changes to the different forms of the SCIs

Engineering change proposal - basic document used for defining & requesting for a change.

Configuration Control Board (CCB) is responsible for configuration management

CCB evaluate proposal & approve/reject it

TCS2411 Software Engineering 16

Change Control Process

Needfor

change

OtherSCMtasks

Changerequest

generated

Changereport

generated

Place onqueue

for change

ECOgenerated

Requestoris informed

Evaluation

CCAdecision

Reject

Approve

Technical merits, Side effectsOverall impact, Project cost

TCS2411 Software Engineering 17

Engineering Change Proposal

proposed changereason(s)baselines & SCIs that are affectedcostschedule impactsprocedures for the change

TCS2411 Software Engineering 18

Engineering Change Order

Change descriptionConstraintsAudit review criteria

TCS2411 Software Engineering 19

Change Process

Object to be changed is “checked out”

Change is madeAppropriate SQA activities appliedObject is “checked in” to the

databaseVersion control mechanisms applied

for next version

TCS2411 Software Engineering 20

Change Process Diagram

SoftwareEngineer Project

Database

Check-out

Check-in

Accesscontrol

Configuration object(baseline version)

Configuration object(baseline version)

Ownershipinfo

lock

unlock

Configuration object(extracted version)

Configuration object(modified version)

Audit info

TCS2411 Software Engineering 21

Status Accounting/Reporting

Keeps record of how the system evolves and what is its current status (administrative nature)

Can be complex due to the existence of executable and non-executable forms

TCS2411 Software Engineering 22

Status Reporting Process

ConfigurationIdentification

ConfigurationAudit

ConfigurationControl

StatusReporting

CSRReport

CSRDatabase

SCIs

Changes

Deficiencies

TCS2411 Software Engineering 23

Status Accounting Tasks

Record baseline establishment timeRecord when SCI came into beingInformation about each SCIEngineering change proposal statusStatus of the approved changes

TCS2411 Software Engineering 24

Configuration Audit

Concerned with determining how accurately the current software system implements the system defined in the baseline & requirements document

Also concerned with increasing the visibility and traceability of the software

Also establish a new baseline

TCS2411 Software Engineering 25

AuditingHow do we know a change is properly

implemented? Formal technical reviews - assess the SCI to

determine consistency with other SCIs Software configuration audit

SCI changes made?FTR conducted?SE standards followed?SCM procedures followed & updates properly

done?Related SCIs updated?

TCS2411 Software Engineering 26

References

“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001

“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001