Documente Academic
Documente Profesional
Documente Cultură
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
Cont..
Identification Eachsoftwarepartislabeledsothatitcanbeidentified.
Furthermore,therewillbedifferentversionsofthesoftwarepartsastheyevolve overtime
AuditingAuditinganSCMsystemmeansthatapprovedrequestedchanges
haveindeedbeenimplemented.
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.
SCMAuditingBenefitstoV&V
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
http://www.rational.co m/ products/clearcase
ca.com/products/ccm/
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.
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