Sunteți pe pagina 1din 29

Configurationmanagement

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

S-ar putea să vă placă și