1
Chapter 9Chapter 9Software Configuration Software Configuration
ManagementManagement
2
The “First The “First Law”Law”
No matter where you are in the system No matter where you are in the system life cycle, the system will change, and the life cycle, the system will change, and the desire to change it will persist throughout desire to change it will persist throughout the life cycle.the life cycle.
Bersoff, et al, 1980Bersoff, et al, 1980
3
What Are These What Are These Changes?Changes?
datadata
otherotherdocumentsdocuments
codecodeTestTest
ProjectProjectPlanPlan
changes in changes in technical requirementstechnical requirements
changes in changes in business requirementsbusiness requirements
changes inchanges inuser requirementsuser requirements
software modelssoftware models
4
Software Configuration Software Configuration ItemsItems(SCIs)(SCIs)
programsprograms documentsdocuments
datadataThe piecesThe pieces
5
BaselinBaselinee
6
Software Configuration Software Configuration ItemsItems(SCIs)(SCIs)
7
SCM TasksSCM Tasks
Software EngineeringSoftware Engineering
a foundation
procedures
methods
toolsSCMSCM• • identificationidentification• • version controlversion control• • change controlchange control• • auditingauditing• • reportingreporting
8
IdentificatiIdentificationon
Object-oriented approachObject-oriented approachTypesTypes
• basic objectbasic object• aggregate objectaggregate object• FeaturesFeatures
namename descriptiondescription set of resourcesset of resources realizationrealization
• RelationshipRelationship Data model <part-of> design Data model <part-of> design
specificationspecification Data model <interrelated> data flow Data model <interrelated> data flow
modelmodel• EvolutionEvolution
Evolution graphEvolution graph
9
10
Change & SCMChange & SCM
Software EngineeringSoftware Engineering
a TQM foundation
procedures
methods
toolsSCMSCM• • identificationidentification• • version controlversion control• • change controlchange control• • auditingauditing• • reportingreporting
11
Version Version ControlControl
TechniquesTechniques•Evolution GraphEvolution Graph•Attribute TupleAttribute Tuple•Object PoolObject Pool
12
Evolution Evolution GraphGraph
13
Attribute Attribute TupleTuple
AttributesAttributes•customercustomer•development development languagelanguage
•development statusdevelopment status•hardware platformhardware platform•creation datecreation date
14
Object Object PoolPool
15
Change & SCMChange & SCM
Software EngineeringSoftware Engineering
a TQM foundation
procedures
methods
toolsSCMSCM• • identificationidentification• • version controlversion control• • change controlchange control• • auditingauditing• • reportingreporting
16
Change Control Change Control Process—IProcess—I
change request from userchange request from user
developer evaluatesdeveloper evaluates
change report is generatedchange report is generatedchange control authority decideschange control authority decides
request is queued for actionrequest is queued for action ECO generatedECO generated change request is deniedchange request is denied
user is informeduser is informed
need for change is recognizedneed for change is recognized
change control process—IIchange control process—II
17
Change Control Change Control Process-IIProcess-II
assign people to SCIsassign people to SCIs
check-out SCIscheck-out SCIs
make the changemake the change
review/audit the changereview/audit the change
establish a “baseline” for testingestablish a “baseline” for testing
change control process—IIIchange control process—III
““Check in” the SCIs that have been changedCheck in” the SCIs that have been changed
18
Change Control Change Control Process-IIIProcess-III
perform SQA and testing activitiesperform SQA and testing activities
promote SCI for inclusion in next releasepromote SCI for inclusion in next release
rebuild appropriate versionrebuild appropriate version
review/audit the changereview/audit the change
include all changes in releaseinclude all changes in release
distribute the new versiondistribute the new version
19
20
Change & SCMChange & SCM
Software EngineeringSoftware Engineering
a TQM foundation
procedures
methods
toolsSCMSCM• • identificationidentification• • version controlversion control• • change controlchange control• • auditingauditing• • reportingreporting
21
Configuration Configuration AuditAudit
Has the change Has the change specifiedspecified in the ECO in the ECO been made? Have any been made? Have any additionaladditional modifications been incorporated?modifications been incorporated?
Has a Has a formal technical reviewformal technical review been been conducted to assess technical conducted to assess technical correctness?correctness?
Has the Has the software processsoftware process been been followed and have software followed and have software engineering engineering standardsstandards been been properly applied?properly applied?
22
Has the change been Has the change been ““highlightedhighlighted” in the SCI? Have ” in the SCI? Have the change the change datedate and change and change authorauthor been specified? Do the been specified? Do the attributesattributes of the configuration of the configuration object reflect the change?object reflect the change?
Have Have SCM proceduresSCM procedures for noting for noting the change, recording it, and the change, recording it, and reporting it been followed?reporting it been followed?
Have Have all related SCIsall related SCIs been been properly updated?properly updated?
23
Configuration Status Configuration Status ReportingReporting
(CSR)(CSR)
SCIsSCIs
ChangeChangeRequestsRequests
Change Change ReportsReports ECOsECOs
Status AccountingStatus Accounting
ReportingReporting
24
Software Project Software Project PlanPlan