Sunteți pe pagina 1din 40

SOFTWARE CONFIGURATION MANAGEMENT (SCM)

Thetextbook
1 1.AlexisLeon, Leon SoftwareConfiguration ManagementHandbook,2ndEdition,John Wiley 1992 Wiley, 1992.

REFERENCEBOOK:
SoftwareConfigurationManagement StrategiesandIBMRationalClearCase:A PracticalIntroduction,2ndEdition. ManagingSoftwareProcess,WattsS. Humphrey,PearsonEducation,2000. ManagingGlobalSoftwareProjects, GopalswamyRamesh,2004,TMH.

Aim
TolearnthebasicconceptsofSoftware ConfigurationManagement. Objective: TounderstandandapplySoftwareConfiguration Managementconceptsforsoftware development.

SCMMyths
SCMisadifficult,monotonousandtimeconsumingactivity SCMistheresponsibilityofmanagement. SCMisjustfordevelopers. SCMisjustfortheSCMteam SCMisjustforthemaintenanceandtechnicalsupportteam. SCMslowsdownthesoftwaredevelopmentprocess SCMisonlyneededtogetcertifications. SCMtoolswilltakecareofeveryone. SCMisexpensive. SCMisjustforthesourcecode. SCMischangingmanagementanddefecttracking. S/wdevelopmentcansucceedwithoutSCM.

AboutSCM
` WhatIsSoftwareConfigurationManagement? Softwareconfigurationmanagement(SCM)istheorganizationofthecomponentsofasoftware systemsothattheyfittogetherinaworkingorder,neveroutofsynchwitheachother.Thosewho havestudiedthebestway ytomanage g theconfiguration g ofsoftwarep partshavemoreelegant g responses.

` RogerPressmansa says sthatSCMisa"setofactivities acti itiesdesignedtocontrolchangeby b identif identifying ingthe workproductsthatarelikelytochange,establishingrelationshipsamongthem,defining mechanismsformanagingdifferentversionsoftheseworkproducts,controllingthechanges imposed,andauditingandreportingonthechangesmade.

SCM:conceptsanddefinations
` W Wethink hi kthat h Pressman's P ' description d i i is i abetter b description d i i because b we oftenviewSCMasmeaningsoftwarechange management. ` WayneBabich describesSCMas"the theartofidentifying, identifying organizing, organizing and controllingmodificationstothesoftwarebeingbuiltbyaprogramming team.Itmaximizesproductivitybyminimizingmistakes. ` SCMasthe h discipline di i li of fidentifying id if i the h configuration fi i of fasystemsat discretepointintimeforthepurposeofsystematicallycontrolling changestothisconfigurationsandmaintainingtheintegrityand traceabilityofthisconfigurationthroughoutthesystemlifecycle.

SCM:conceptsanddefinations
` TheIEEEdefinesconfigurationmanagementasdiscipline applyingthetechnicalandadministrativedirectionand surveillancetoidentifyanddocumentationthefunctional characteristicsoftheconfigurationitems,controlchanges t th to thosecharacteristics h t i ti ,record dand dreport tchange h processingandimplementationstatus,andverify compliancewithspecifiedrequirement. ` SCMf function ti configurationidentification configuration g control statusaccounting Auditingandreviews

WhatScmsays:
TheSoftwareEngineeringInstitutesaysthatitisnecessarytoestablish andmaintaintheintegrityoftheproductsofthesoftwareproject throughoutthesoftwarelifecycle. Activitiesnecessarytoaccomplishthisincludeidentifyingconfiguration items/units,systematicallycontrollingchanges,andmaintainingthe integrityandthetraceabilityoftheconfigurationthroughoutthesoftware lifecycle.

Cont
` wemustrememberthatallprojectartifactsarecandidatesdocuments, graphicalmodels,prototypes,code,andanyinternalorexternaldeliverable thatcanundergochange. ` InSWPMterminology,aconfigurationitemmightbeaproposal/estimateor bid project bid, j plan, l risk i kmanagementplan, l quality li assuranceplan, l CMplan l itself,testplan,systemrequirementsspecification,systemdesigndocument, reviewmetric,code,testresult,tool(editors,compilers,CASE),andsoon. ` Therearebasicobjectsandaggregateobjectstobeconfigured.Thenumber ofrelationshipsamongthemreflectsthecomplexityoftheconfigurationtask.

WhySCM
Softwareprojectmanagerspayattentiontotheplanningandexecutionofconfigurationmanagement,an integraltask,becauseitfacilitatestheabilitytocommunicatestatusofdocumentsandcodeaswellas changes g thathavebeenmadetothem. Highqualityreleasedsoftwarehasbeentestedandused,makingitareusableassetandsaving developmentcosts. Reusedcomponentsaren'tfree,thoughtheyrequireintegrationintonewproducts,adifficulttask withoutknowingexactlywhattheyareandwheretheyare. CMenhancestheabilitytoprovidemaintenancesupportnecessaryoncethesoftwareisdeployed.If softwaredidn'tchange,maintenancewouldn'texist.Ofcourse,changesdooccur. TheNationalInstituteofStandardsandTechnology(NIST)saysthatsoftwarewillbechangedtoadapt, perfect, f orcorrectit. i Pressman P points i outthat h newbusiness, b i newcustomerneeds, d reorganizations, i i and d budgetaryorschedulingconstraintsmayleadtosoftwarerevision.

WhoisinvolvedinSCM
VirtuallyeveryoneonasoftwareprojectisaffectedbySCM.Fromtheframers oftheprojectplantothefinaltester,werelyonittotellushowtofindthe objectwiththelatestchanges. Duringdevelopment,wheniterationsareinformalandfrequent,littleneeds tobe b k knownabout b achange h exceptwhat h i iti is,who h didi it,and dwhere h i iti is. Indeploymentandbaselining,changesmustbeprioritized,andtheimpactof achangeuponallcustomersmustbeconsidered.Achangecontrolboard (CCB)isthegoverningbodyformodificationsafterimplementation implementation.

ImportanceofSCM
Poorconfigurationmanagementoftencausesthemostfrustratingsoftware problem.
Missingsourcecode. Changedcomponentlibraries. Aninabilitytodeterminetodeterminewhathappenedtoaparticularprogramordata. data Inabilitytotrackwhy,whenandwhomadethechange. Difficultinfindingoutwhyprogramsthatwereworkingsuddenlystoppedworking. Analysis Design Development Testingandmaintenancebyensuringthroughconfigurationmangementaudits

Importantroleinsoftwaredevelopmentprocess

Cont
ThekeyroleofSCMistocontrolchangeactivity(communicationbreakdown, shareddata,simultaneousupdates,multiplemaintenance)sothatproblemcanbe avoided. Statusaccountinginformationisusedbyprojectleadersandmanagerstokeepthe projectundercontrol. control SCMisnoteasy:onehastodolotofworktokeepanSCMsystemgoodshape,but theeffortisworthit.Onlywhenproblemsbegintocropupdousersrealizethe importance p ofSCM.

BenefitsofSCM:
SCMsystemhasseveralbenefits,

Softwaredevelopmentproductivity Easierhandlingofsoftwarecomplexity Improvedsecurity Highersoftwarereuse Lowersoftwaremaintainscosts. Betterqualityassurance. Reductionofdefectsandbugs F t problem Faster bl identification id tifi ti and dbug b fixes. fi Processdependentdevelopmentratherthanperson dependentdevelopmentandassurance.

TheFourBasicRequirementsforanSCM

Identification control audit statusaccounting

Cont..
Identification Eachsoftwarepartislabeledsothatitcanbeidentified.
Furthermore,therewillbedifferentversionsofthesoftwarepartsastheyevolve overtime

Control C t lInthe h contextof fconfiguration f management,"control" " l"meansthat h


proposedchangestoaCIarereviewedand,ifapproved,incorporatedintothe softwareconfiguration.

AuditingAuditinganSCMsystemmeansthatapprovedrequestedchanges
haveindeedbeenimplemented.

Statusaccounting gReports p anddocumentationproduced p by ythestatus accountingfunctionaretheauditableentries.

Thesymptomsofoursoftwaredevelopment malaise l i
Softwaredevelopmenthastraditionallysufferedfromproducingend products d with hadefinite d f lack l kof finherent h quality. l The h symptomsof fthis h qualitylackarelistedhere:
Softwaredevelopmentprojectsareoftendeliveredlateandoverbudget. Oftenthedeliveredproductdoesnotmeetcustomerrequirementsandis neverused. Softwareproductssimplydonotworkright.

Aswelookintothesymptomsofoursoftwaredevelopmentmalaise,fiveprincipal i issues related l t d t tosoftware ft development d l tarise. i


LackofVisibility Lackofcontrol Lackoftraceability Lackofmonitoring Uncontrolledchange

SCMAuditingBenefitstoV&V

Comparisonofnewbaselinetopreviousbaseline Assurancethatstandardshavebeenmet Audittrailofthetestingprocess(verification,validation,andacceptance)ofthe softwaresystem Documentationofexperiencewithtechnicalaspectsofsystemengineeringor softwareengineering

SCMStatusAccountingBenefitstoV&V

Loggingandtrackingofincidentreports PublicationofCCBminutes

SCMIdentificationBenefitstoV&V

Automaticpreparationofreleasenotes Listofchangedsoftwaremodules Definitionofdevelopmentbaseline Generationofincidentreports Definitionofoperationalbaseline Controloftheconfigurationitemidentification ManagementofCCBmeetings Prioritizationoftestandincidentissues Establishmentofturnoverdates Approvalofauditandtestreports Approvalofincidentreportresolutions

TheminimumfeaturesforSCMtools
SCMTools
TheminimumfeaturesforSCMtoolsarecloselyrelatedtothetaskofhandlingthe differentproductdeliverablesproducedwithintheprojectsoftwareengineering process. Toolrequirements q andselectioncriteriaarebasedonaseriesoffeaturesthat provideaconsistentlookandfeelwithstateoftheartsoftwaredevelopment environments. AnSCMtoolmusthavemultiusersupport,anintuitivegraphicaluserinterface, conformitytotheorganization's organization sdevelopmentenvironment, environment scalability scalability,flexibilityin integratingothersoftwaredevelopmenttools,easeofsetup,modifiablemodels, processmanagement,extensivesupportforthedevelopmentphase,and managementofnondevelopmentobjects

Basicselectioncriteriaincludesthefollowing:
Multiusersupport InteractiveGUI Conformingtotheorgdevelopmentenvironment Scalability Flexibilityinintergrity Others/wdevelopmenttool Easyofsetup Modifiablemodels Processmanagement Extensivesupportforthedevelopmentphase Permissionmgmt.

SCMtools
Name of Tool Description p and Company p y Internet Address AllChange 2000 SEIntaSoft http://www.intasoft.net/

ClearCase

Rational (formerly PureAtria)

http://www.rational.co m/ products/clearcase
ca.com/products/ccm/

CCC/Harvest, CCC/Manager, CCC QuikTrak

Computer Associates (formerly Platinum

Thesoftwaredevelopmentprocess
` The eso software t a edevelopment de e op e tp process ocessis st that atseto of actionsrequiredtoefficientlytransformthe usersneedintotheeffectivesoftwaresolution ` Thesoftwaredevelopmentprocessdefinesthe activitiesrequiredforbuildingthesoftware system t and dincorporating i ti the th methods th d and d practicestobeadopted. ` Italsoincludetheplanningtheprojects projects,tracking theprocess,managingthecomplexitiesof building gthesoftware.

Softwarecanbetwotypes Genericproduct C Customized i dproduct d

SDLCphases
Projectstartup Requirementanalysisandrequirementspecification Systemanalysis Systemdesign Development/codingandunittesting System/integrationtesting Acceptancetesting Implementation Projectwindup Maintenance retirement

Projectstartup
Studytheprojectproposalandcontractdocument,estimationworkpaper,and otherdocumentavailable. Obtainclarificationonmatterssuchasscope,contractualobligationandclient participationintheproject. D fi the Define th operational ti lprocessfor f the th project. j t Decidetheformatandstandards Documenttheprojectplan Pl design Plan, d i and dimplementation i l i the h SCM Ensurethattherequiredhardwareandsoftwareareinplace. Testtheenvironment. Ob i the Obtain h working ki space,machine hi and dinfrastructure i f requirements i f forthe h team member.

Standardsandguidelines
` ` ` ` ` ` ` ` ` ` ` Documentstandardforrequireddefinitiondocument(RDD) Documentationstandardforsystemanalysisdocumentation(SAD) Guidelinesforvariousanalysistechniques Databaseandfilestandard Documentationstandardfortestplanandtestspecification Documentationstandardforuserdocuments Documentationstandardforlowleveldesign Programmingstandards Systemtestplanstandards Testdatastandards Testingstandards

Requirementanalysisandrequirement specification f
Understandingthecurrentsystem Userrequirementhavebeendefined,preparetheRDD FromthisphaseonwardmajorSCMactivities configuration fi ti id identification tifi ti changemanagementandcontrol statusaccounting configurationauditandreviewarepreformed Identifiedconfigurationitems Physicalandfunctionalcharacteristicsarerecorded Establishedbaseline

Systemanalysis
StudytheapprovedRDD Generatealternative Evaluatealternative Selectanalternative Determinesystemrequirementwithrespecttoreliability Discusstheproposedsystemwithclient MajoractivitiesinPrototyping Determinetheobjectiveoftheprototype prototype. Decideonthetypeofprototype. Decideonthesoftwareandhardwareplatform Buildaprototypetomeetthechosenobjective demonstratetheprototypetotheclientorusersandobtainfeedback. PreparetheSAD Duringthisphase,refineprojectplan,SCMPlanandRDDarerefined

Highleveldesign
StudytheSADandensuretherequirementareunderstoodsothatHLDdoccanbe properly l written. itt UnderstoodthefeaturesandcapabiltiesofH/Wands/wenvironmentinwhichthe proposedsystemistobeimplemented. Study ystandards&g guideline Establishdesignobjectives,constraints,andguidelinewithrespecttouseability. Systemcomponentlist. Userinterfacedesign Pgmandtheinterfacedefinitionb/wpgm Screenandreportdefinition Screennavigationdetail Help l screenand dmsg

Lowleveldesign
Inthisphase Copyoflib Commonroutines Pgmskeletonstobefinalised Majortask Writespecificationforthepgminthesystem

Coding&unittesting
StudytheLLDdoc,testcaseanddata Includeadditionaltestcaseifneeded Codethepgmperthepgmspecification Finalizeallerrorandhelpmsg Conductunittesting Recordthetestresult Dignoseandfixtheerror Updatethedefectlogs Consolidatetestresultsandfindingandrecordthemapprpriately

Systemtesting
Carryoutsystemtestsaccordingforalpatest,betatesting Recordthetestresult Logthetesterrors Diagnoseandfixtheerrors Updatethedefectlogs initiativecorrectiveactionasapplicable Performregressiontesting Consolidateandreporttestresultandfinding

Acceptancetesting
Providesupporttotheclientinconductingtheacceptancetest. Ensurethatdocrelatedtestsarecompleted. Recordacceptancetestresults Logacceptancetesterrors. Diagnoseandfixerrors Updatethedefectlogs. RevisitearlierphasesoftheSDLCasrequiredIordertofixtheerror Performregressiontesting Prepareareportsummarizingthetestresult

implementation
Thesoftwareproductisturnedovertothecustomerorclientorinstalledatclient site. Themembersofthedevelopmentteamwillbesupervisetheinstallationincaseof largeproject. I caseof In fshrink h i kwrapped dproject j tth thecustomer t will illinstall i t ll Incaseoflargeprojecttheinstallationteamwiththeenduserinstallthesystem andtrainsoncethesystemisupandrunningandtheusersarefamiliarwiththe product Theimpisfinished. Themaintianceteamwilltakecareofit.

windup
Carryoutprojectendappraisal Releaseprojectteammembersandh/wands/wresources Returnclientsuppliedproducts,ifany Ensuretheavailabilityofprojectdocumentationcopiesinlibrary

Projectmaintenance&retirement. retirement

Lifecyclephasesandtheirrelationshipwith SCM

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