Documente Academic
Documente Profesional
Documente Cultură
Managingtheproductsofsystemchange
Objectives
Toexplaintheimportanceofsoftwareconfiguration
management(CM)
TodescribekeyCMactivitiesnamelyCMplanning,change
management,versionmanagementandsystembuilding
Topicscovered
Configurationmanagementplanning
Changemanagement
Versionandreleasemanagement
Systembuilding
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide1
ConfigurationmanagementWhy
Newversionsofsoftwaresystemsarecreatedas
theychange
Fordifferentmachines/OS
Offeringdifferentfunctionality
Tailoredforparticularuserrequirements
Configurationmanagementisconcernedwith
managingevolvingsoftwaresystems
Systemchangeisateamactivity
CMaimstocontrolthecostsandeffortinvolvedinmaking
changestoasystem
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide2
ConfigurationmanagementWhy
Involvesthedevelopmentandapplicationof
proceduresandstandardstomanageanevolving
softwareproduct
Maybeseenaspartofamoregeneralquality
managementprocess
WhenreleasedtoCM,softwaresystemsare
sometimescalledbaselinesastheyareastarting
pointforfurtherdevelopment
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide3
Systemfamilies
PC
version
Initial
system
DEC
version
Sun
version
IanSommerville2000
VM S
version
Unix
version
SoftwareEngineering,6thedition.Chapter29
Mainframe
version
Workstation
version
Slide4
Configurationmanagementplanning
Startsduringtheearlyphasesoftheproject
Allproductsofthesoftwareprocessmayhave
tobemanaged
Specifications
Designs
Programs
Testdata
Usermanuals
Thousandsofseparatedocumentsmaybegenerated
foralargesoftwaresystem
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide5
TheCMplan
Definesthetypesofdocumentstobemanaged
andadocumentnamingscheme
DefineswhotakesresponsibilityfortheCM
proceduresandcreationofbaselines
Definespoliciesforchangecontrolandversion
management
DefinestheCMrecordswhichmustbe
maintained
Describesthetoolswhichshouldbeusedtoassist
theCMprocessandanylimitationsontheiruse
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide6
Configurationitemidentification
Largeprojectstypicallyproducethousandsof
documentswhichmustbeuniquelyidentified
Someofthesedocumentsmustbemaintainedfor
thelifetimeofthesoftware
Documentnamingschemeshouldbedefined
sothatrelateddocumentshaverelatednames.
Ahierarchicalschemewithmultilevelnamesis
probablythemostflexibleapproach
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide7
Theconfigurationdatabase
AllCMinformationshouldbemaintainedina
configurationdatabase
Thisshouldallowqueriesaboutconfigurationstobe
answered
Whohasaparticularsystemversion?
Whatplatformisrequiredforaparticularversion?
WhatversionsareaffectedbyachangetocomponentX?
HowmanyreportedfaultsinversionT?
TheCMdatabaseshouldpreferablybelinkedtothe
softwarebeingmanaged
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide8
Changemanagement
Softwaresystemsaresubjecttocontinual
changerequests
Fromusers
Fromdevelopers
Frommarketforces
Changemanagementisconcernedwithkeeping
trackofthesechangesandensuringthattheyare
implementedinthemostcosteffectiveway
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide9
Thechangemanagementprocess
Request change by completing a change request form
Analyze change request
if change is valid then
Assess how change might be implemented
Assess change cost
Submit request to change control board
if change is acceptedthen
repeat
make changes to software
submit changed software for quality approval
until software quality is adequate
create new system version
else
reject change request
else
reject change request
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide10
Changetrackingtools
Amajorprobleminchangemanagementis
trackingchangestatus
Changetrackingtoolstrackthestatusofeach
changerequest
Automaticallyensurethatchangerequestsaresenttotheright
peopleattherighttime
IntegratedwithEmailsystemsallowing
electronicchangerequestdistribution
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide11
Derivationhistory
Recordofchangesappliedtoadocumentorcode
component
Shouldrecord,inoutline,thechangemade,the
rationaleforthechange,whomadethechangeand
whenitwasimplemented
Maybeincludedasacommentincode
Ifastandardprologuestyleisusedforthederivation
history,toolscanprocessthisautomatically
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide12
Componentheaderinformation
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide13
Versionandreleasemanagement
Inventidentificationschemeforsystem
versions
Planwhennewsystemversionistobe
produced
Ensurethatversionmanagementproceduresand
toolsareproperlyapplied
Plananddistributenewsystemreleases
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide14
Versions/variants/releases
VersionAninstanceofasystemwhichis
functionallydistinctinsomewayfromother
systeminstances
VariantAninstanceofasystemwhichis
functionallyidenticalbutnonfunctionally
distinctfromotherinstancesofasystem
ReleaseAninstanceofasystemwhichis
distributedtousersoutsideofthedevelopment
team
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide15
Versionidentification
Proceduresforversionidentificationshould
defineanunambiguouswayofidentifying
componentversions
Threebasictechniquesforcomponent
identification
Versionnumbering
Attributebasedidentification
Changeorientedidentification
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide16
Versionderivationstructure
V1.0
V1.1b
V1.1.1
V1.1
V1.2
V2.0
V2.1
V2.2
V1.1a
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide17
Versionmanagementtools
Versionandreleaseidentification
Storagemanagement.
Systemstoresthedifferencesbetweenversionsratherthanallthe
versioncode
Changehistoryrecording
Systemsassignidentifiersautomaticallywhenanewversionis
submittedtothesystem
Recordreasonsforversioncreation
Independentdevelopment
Onlyoneversionatatimemaybecheckedoutforchange
Parallelworkingondifferentversions
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide18
Deltabasedversioning
Version
1.0
Version
1.1
D1
Version
1.2
D2
Version
1.3
D3
Creationdate
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide19
Releasemanagement
Releasesincorporatechangesforcedonthe
systembyerrorsdiscoveredbyusersandby
hardwarechanges
Theyalsoincorporatenewsystemfunctionality
Releaseplanningisconcernedwithwhento
issueasystemversionasarelease
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide20
Systemreleases
Notjustasetofexecutableprograms
Mayalsoinclude
Configurationfilesdefininghowthereleaseisconfiguredforaparticular
installation
Datafilesneededforsystemoperation
Aninstallationprogramorshellscripttoinstallthesystemontarget
hardware
Electronicandpaperdocumentation
Packagingandassociatedpublicity
SystemsarenownormallyreleasedonCDROMoras
downloadableinstallationfilesfromtheWeb
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide21
Releaseproblems
Customermaynotwantanewreleaseofthe
system
Theymaybehappywiththeircurrentsystemasthenewversion
mayprovideunwantedfunctionality
Releasemanagementmustnotassumethatall
previousreleaseshavebeenaccepted
Allfilesrequiredforareleaseshouldberecreatedwhenanew
releaseisinstalled
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide22
Releasecreation
Releasecreationinvolvescollectingallfilesand
documentationrequiredtocreateasystemrelease
Configurationdescriptionshavetobewrittenfor
differenthardwareandinstallationscriptshaveto
bewritten
Thespecificreleasemustbedocumentedto
recordexactlywhatfileswereusedtocreateit
Thisallowsittoberecreatedifnecessary
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide23
Systembuilding
Theprocessofcompilingandlinkingsoftware
componentsintoanexecutablesystem
Differentsystemsarebuiltfromdifferent
combinationsofcomponents
Invariablysupportedbyautomatedtoolsthatare
drivenbybuildscripts
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide24
Systembuildingproblems
Dothebuildinstructionsincludeallrequired
components?
Istheappropriatecomponentversionspecified?
Whentherearemanyhundredsofcomponentsmakingup
asystem,itiseasytomissoneout
Thisshouldnormallybedetectedbythelinker
Amoresignificantproblem.Asystembuiltwiththewrong
versionmayworkinitiallybutfailafterdelivery
Arealldatafilesavailable?
Thebuildshouldnotrelyon'standard'datafiles
Standardsvaryfromplacetoplace
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide25
Systembuildingproblems
Aredatafilereferenceswithincomponents
correct?
Isthesystembeingbuiltfortherightplatform
Embeddingabsolutenamesincodealmostalwayscauses
problemsasnamingconventionsdifferfromplacetoplace
SometimesmustbuildforaspecificOSversionorhardware
configuration
Istherightversionofthecompilerandother
softwaretoolsspecified?
Differentcompilerversionsmayactuallygeneratedifferentcodeandthe
compiledcomponentwillexhibitdifferentbehaviour
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide26
Systembuilding
System
builder
Build
script
IanSommerville2000
Version
management
system
Sourcecode
component
versions
Compilers
Linker
Objectcode
components
SoftwareEngineering,6thedition.Chapter29
Executable
system
Slide27
Systembuildingtools
Buildingalargesystemis
computationallyexpensive
andmaytakeseveralhours
Hundredsoffilesmaybe
involved
Systembuildingtoolsmay
provide
Adependencyspecification
languageandinterpreter
Toolselectionandinstantiation
support
Distributedcompilation
Derivedobjectmanagement
IanSommerville2000
comp
scan.o
syn.o
sem.o
cgen.o
scan.c
syn.c
sem.c
cgen.c
defs.h
SoftwareEngineering,6thedition.Chapter29
Slide28
Keypoints
Configurationmanagementisthemanagementofsystemchange
tosoftwareproducts
Aformaldocumentnamingschemeshouldbe
establishedanddocumentsshouldbemanagedinadatabase
Theconfigurationdatabaseshouldrecordinformationabout
changesandchangerequests
Aconsistentschemeofversionidentificationshouldbe
establishedusingversionnumbers,attributesorchangesets
Systemreleasesincludeexecutablecode,data,configurationfiles
anddocumentation
Systembuildinginvolvesassemblingcomponentsintoasystem
IanSommerville2000
SoftwareEngineering,6thedition.Chapter29
Slide29