软件需求工程lecture_第1页
软件需求工程lecture_第2页
软件需求工程lecture_第3页
软件需求工程lecture_第4页
软件需求工程lecture_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lecture9:Lecture9:RequirementsYanTheSchoolofSoftwareandMicroelectronicsPekingUniversityNo.24JinYuanRD,Beijing9-IntroductiontosoftwareRequirementsEngineering14-09-GoodPracticesforRequirements14-09-RequirementsElicitationRequirementsAnalysis(1)RequirementsAnalysis(2)RequirementsSpecificationProjectandDiscussion(1)RequirementsValidation14-09-14-10-14-10-14-10-14-11-14-11-14-11-14-11-14-12-14-12-Lecture10:ProjectandDiscussion(2)Lecture11:PracticesandToolsLecture12:Examination9-UnderstandRequirementsManagementUnderstandRequirementsManagementPrinciplesandPracticesUnderstandChange-ControlProcessandImpactAnalysisProcedureUnderstandLinksintheRequirementsUnderstandBenefitsofUsingaRequirementsManagementTool10-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementToolPrinciplesandTherequirementsagreementisthebridgebetweenrequirementsdevelopmentandrequirementsmanagement.Requirementsmanagementincludesallactivitiesthatmaintaintheintegrity,accuracy,andcurrencyoftherequirementsagreementastheproject10-PrinciplesandPrinciplesandPractices10-PrinciplesandPracticesControllingchangestotherequirementsKeepingprojectplanscurrentwiththeControllingversionsofbothindividualrequirementsandrequirementsdocumentsTrackingthestatusoftherequirementsintheManagingthelogicallinksbetweenindividualrequirementsandotherprojectworkproducts9-需求需求管理项的关PrinciplesandPracticesTheprojectcanrespondtoneworchangedrequirementsinvariousways:Deferlower-priorityObtainadditionalMandateovertimework,preferablywithpay,forashorttimeSlipthescheduletoaccommodatethenewLetqualitysufferinthepresstoshipbytheoriginaldate(Toooften,thisisthedefaultreaction.)/9-TheTheRequirementsTherequirementsbaselineisthesetoffunctionalandnonfunctionalrequirementsthatthedevelopmentteamhascommittedtoimplementinaspecificrelease.Definingabaselinegivestheprojectstakeholdersasharedunderstandingofthecapabilitiesandpropertiestheycanexpecttoseeintherelease.9-ConsideraddressingthefollowingTools,techniques,andconventionsforcontrollingversionsofthevariousrequirementsdocumentsandofindividualHowtherequirementsareTherequirementstatusesthatyouwilluseandwhomaychangethem9-ProceduresConsideraddressingthefollowingtopicsThewaysthatnewrequirementsandchangestoexistingonesareproposed,processed,negotiated,andcommunicatedtoallaffectedHowtoanalyzetheimpactofaproposedHowtheproject'splansandcommitmentswillreflectrequirementschanges/9-RequirementsRequirementsVersionVersioncontrolisanessentialaspectofmanagingrequirementsspecificationsandotherprojectdocuments.Everyversionoftherequirementsdocumentsmustbeuniquelyidentified9-RequirementsRequirementsVersionEachcirculatedversionoftherequirementsdocumentsshouldincludearevisionhistorythatidentifiesthechangesmade,thedateofeachchange,theindividualwhomadethechange,andthereasonforeachchange.9-RequirementsRequirementsVersionThesimplestversioncontrolmechanismistomanuallylabeleachrevisionoftheSRSaccordingtoastandardconvention.Themostrobustapproachtoversioncontrolistostoretherequirementsinthedatabaseofacommercialrequirementsmanagementtool9-ThinkofThinkofeachrequirementasanobjectwithpropertiesthatdistinguishitfromotherInadditiontoitstextualdescription,eachfunctionalrequirementshouldhaveseveralsupportingpiecesofinformationorattributesassociatedwithit.Theseattributesestablishacontextandbackgroundforeachrequirementthatgoeswellbeyondthedescriptionofintendedfunctionality.9-RequirementRequirementAttributesConsiderspecifyingattributessuchasthefollowingforeachrequirement:9-RequirementAttributesDatetherequirementwasItsRequirementAttributesDatetherequirementwasItscurrentversionAuthorwhowrotethePersonwhoisresponsibleforensuringthattherequirementissatisfiedOwneroftherequirementoralistofstakeholders(tomakedecisionsaboutproposedRequirementOriginorsourceoftheTherationalebehindtheSubsystem(orsubsystems)towhichtherequirementisProductreleasenumbertowhichtherequirementisVerificationmethodtobeusedoracceptancetestcriteriaImplementationStability(anindicatorofhowlikelyitisthattherequirementwillchangeinthefuture;unstablerequirementsmightreflectill-definedorvolatilebusinessprocessesorbusinessrules)/9-TrackingTrackingRequirementsSeveralpossiblerequirementstatusesClassifyingrequirementsintoseveralstatuscategoriesismoremeaningfulthantryingtomonitorthepercentcompletionofeachrequirementorofthecomplete9-TrackingRequirementsTrackingthedistributionTrackingRequirementsTrackingthedistributionofrequirementsstatusthroughoutaproject'sdevelopmentcycle9-MeasuringManagementCountMeasuringManagementCounttheeffortdevotedtothefollowingactivitiesasrequirementsmanagementeffort:SubmittingrequirementschangesandproposingnewEvaluatingproposedchanges,includingperformingimpactChangecontrolboardUpdatingtherequirementsdocumentsorCommunicatingrequirementschangestoaffectedgroupsandTrackingandreportingrequirementsstatusCollectingrequirementstraceabilityinformation/9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-ChangeChangeAnorganizationthat'sseriousaboutmanagingitssoftwareprojectsmustensurethatProposedrequirementschangesarecarefullyevaluatedbeforebeingcommittedto.Theappropriateindividualsmakeinformedbusinessdecisionsaboutrequestedchanges.ApprovedchangesarecommunicatedtoallaffectedTheprojectincorporatesrequirementschangesinaconsistentfashion.9-ChangeChangeHappensSoftwarechangeisn'tabadIt'svirtuallyimpossibletodefineallofaproduct'srequirementsupfront,andtheworldchangesasdevelopmentprogresses.ButchangealwayshasaRevisingasimpleWebpagemightbequickandeasy;makingachangeinanintegratedchipdesigncancosttensofthousandsofdollars.9-ChangeChangeHappensWhenyouneedtomakeachange,startatthehighestlevelofabstractionthatthechangetouchesandcascadetheimpactofthechangethroughrelatedsystemcomponents./9-ManagingManagingScopeCapersJones(1994)reportsthatcreepingrequirementsposeamajorriskto80percentofmanagementinformationsystemsprojects.70percentofmilitarysoftware45percentofoutsourcedsoftware9-ManagingManagingScopeCreepCreepingrequirementsincludenewfunctionalityandsignificantmodificationsthatarepresentedaftertheprojectrequirementshavebeenbaselined.Thefirststepinmanagingscopecreepistodocumentthevision,scope,andlimitationsofthenewsystemaspartofthebusinessrequirements/9-TheTheChange-ControlAchange-controlprocessletstheproject'sleadersmakeinformedbusinessdecisionsthatwillprovidethegreatestcustomerandbusinessvaluewhilecontrollingtheproduct'slifecycleCustomersandotherstakeholdersoftenbalkatbeingaskedtofollowanewprocess,butachange-controlprocessisnotanobstacletomakingnecessarymodifications.9-Change-ControlChange-ControlAllrequirementschangesshallfollowtheprocess.Ifachangerequestisnotsubmittedinaccordancewiththisprocess,itwon'tbeconsidered.Nodesignorimplementationworkotherthanfeasibilityexplorationshallbeperformedonunapprovedchanges.Simplyrequestingachangedoesn'tguaranteethatitwillbemade.Theproject'schangecontrolboard(CCB)willdecidewhichchangestoimplement.Thecontentsofthechangedatabaseshallbevisibletoallprojectstakeholders.9-Change-controlpolicystatementsTheoriginaltextofachangerequestshallnotbemodifiedordeleted.ImpactanalysisshallbeperformedforeveryEveryincorporatedrequirementchangeshallbetraceabletoanapprovedchangerequest.Therationalebehindeveryapprovalorrejectionofachangerequestshallbe9-Sampletemplateforachange-controlprocessdescription9-FourcomponentsinallproceduresandprocessEntrycriteria—theconditionsthatmustbesatisfiedbeforeexecutingtheprocessorprocedureThevarioustasksinvolvedintheprocessorprocedure,theprojectroleresponsibleforeachtask,andotherparticipantsinthetaskStepstoverifythatthetaskswerecompletedExitcriteria—theconditionsthatindicatewhentheprocessorprocedureissuccessfullycompleted9-1.Theintroductiondescribesthepurposeofthisprocessandidentifiestheorganizationalscopetowhichitapplies.2.RolesandListtheprojectteammembers—byrole,notbyname—whoparticipateinthechange-controlactivitiesanddescribetheirresponsibilities.(sample)9-Achangerequestpassesthroughadefinedlifecycle,havingadifferentstatusateachstageinitslife.9-9-State-transitiondiagram9-State-transitiondiagramforachange4.EntryThebasicentrycriterionforyourchange-controlprocessisAvalidchangerequesthasbeenreceivedthroughanapprovedchannel.5.Thenextstepistoevaluatetherequestfortechnicalfeasibility,cost,andalignmentwiththeproject'sbusinessrequirementsandresourceconstraints.9-6.Requirementschangesaretypicallyverifiedthroughapeerreviewtoensurethatmodifiedspecifications,usecases,andmodelscorrectlyreflectallaspectsofthechange.9-7.ExitThestatusoftherequestisRejected,Closed,orAllmodifiedworkproductsareinstalledintothecorrectlocations.Theoriginator,CCBChair,projectmanager,andotherrelevantprojectparticipantshavebeennotifiedofthechangedetailsandthecurrentstatusofthechangerequest.Therequirementstraceabilitymatrixhasbeen9-8.Change-ControlStatusIdentifythechartsandreportsyou'llusetosummarizethecontentsofthechange-controlAppendix:DataItemsStoredforEachRequest(sample)9-TheTheChangeControlThechangecontrolboard(sometimesknownastheconfigurationcontrolboard)hasbeenidentifiedasabestpracticeforsoftwaredevelopment(McConnell1996).TheCCBisthebodyofpeople,beitoneindividualoradiversegroup,whodecideswhichproposedrequirementchangesandnewlysuggestedfeaturestoacceptforinclusionintheproduct.9-CCBCCBProjectorprogramProductmanagementorrequirementsTestingorqualityMarketingorcustomerUserTechnicalsupportorhelp9-CCBCCBAcharterdescribestheCCB'spurpose,scopeofauthority,membership,operatingprocedures,anddecision-makingprocess(Sorensen1999).9-CCBCCBCharterMakingAswithalldecision-makingbodies,eachCCBneedstoselectanappropriatedecisionruleandprocess.CommunicatingOncetheCCBmakesitsdecision,adesignatedindividualupdatestherequest'sstatusinthechangedatabase.9-CCBCCBCharterRenegotiatingIt'snotrealistictoassumethatstakeholderscanstuffmoreandmorefunctionalityintoaprojectthathasschedule,staff,budget,andqualityconstraintsandstillsucceed.9-Change-ControlChange-ControlAutomatedtoolscanhelpyourchange-controlprocessoperatemoreefficiently.Manyteamsusecommercialproblem-orissue-trackingtoolstocollect,store,andmanagerequirementschanges.9-Change-ControlChange-ControlToolsLookforthefollowingfeaturesinatooltosupportyourrequirementschangeLetsyoudefinethedataitemsincludedinachangerequestLetsyoudefineastate-transitionmodelforthechange-requestlifecycleEnforcesthestate-transitionmodelsothatonlyauthorizeduserscanmakethepermittedstatuschanges9-Change-ControlChange-ControlToolsLookforthefollowingfeaturesinatooltosupportyourrequirementschangeprocessRecordsthedateofeverystatuschangeandtheidentityofthepersonwhomadeitLetsyoudefinewhoreceivesautomatice-mailnotificationwhenanoriginatorsubmitsanewrequestorwhenarequest'sstatusisupdatedProducesbothstandardandcustomreportsand9-MeasuringMeasuringChangeSoftwaremeasurementsprovideinsightsintoyourprojects,products,andprocessesthataremoreaccuratethansubjectiveimpressionsorvaguerecollectionsofwhathappenedinthepast.Themeasurementsyouselectshouldbemotivatedbythequestionsyouoryourmanagersaretryingtoanswerandthegoalsyou'retryingtoachieve.9-MeasuringChangeMeasuringChangeActivityMeasuringchangeactivityisawaytoassessthestabilityoftheItalsorevealsopportunitiesforprocessimprovementthatmightleadtofewerchangerequestsinthefuture.9-MeasuringChangeMeasuringChangeActivityConsidertrackingthefollowingaspectsofyourrequirementschangeactivity:Thenumberofchangerequestsreceived,currentlyopen,andclosedThecumulativenumberofchangesmade,includingadded,deleted,andmodifiedrequirements(Youcanalsoexpressthisasapercentageofthetotalnumberofrequirementsinthebaseline.)Thenumberofchangerequeststhatoriginatedfromeachsource9-MeasuringChangeMeasuringChangeActivityConsidertrackingthefollowingaspectsofyourrequirementschangeactivity(cont’d):ThenumberofchangesproposedandmadeineachrequirementsinceitwasbaselinedThetotaleffortdevotedtoprocessingandimplementingchangerequestsThenumberofcyclesthroughthechangeprocessthatittooktocorrectlyimplementeachapprovedchange(Sometimeschangesareimplementedimproperlyorcauseothererrorsthatneedtobe9-MeasuringChangeMeasuringChangeActivitySamplechartofrequirementschange9-MeasuringChangeMeasuringChangeActivitySamplechartofrequirementchange9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-ChangeIsn'tChangeIsn'tFree:ImpactImpactanalysisisakeyaspectofresponsiblerequirementsmanagement.Itprovidesaccurateunderstandingoftheimplicationsofaproposedchange,whichhelpstheteammakeinformedbusinessdecisionsaboutwhichproposalsto9-ImpactImpactAnalysisImpactanalysishasthreeUnderstandthepossibleimplicationsofmakingthechange.Changeoftenproducesalargerippleeffect.Stuffingtoomuchfunctionalityintoaproductcanreduceitsperformancetounacceptablelevels,aswhenasystemthatrunsdailyrequiresmorethan24hourstocompleteasingleexecution.Identifyallthefiles,models,anddocumentsthatmighthavetobemodifiediftheteamincorporatestherequestedchange.Identifythetasksrequiredtoimplementthechange,andestimatetheeffortneededtocompletethose9-ImpactAnalysisProcedureImpactAnalysisProcedureChecklistofpossibleimplicationsofaproposedchangeChecklistofpossiblesoftwareelementsaffectedbyaproposedchange9-ForsubstantialWorkForsubstantialWorkthroughthechecklistWorkthroughthechecklistinavailabletraceabilityinformation.,Usetheworksheetinthenextslidetoestimatetheeffortrequiredfortheanticipatedtasks.9-arequirement9-ForForsubstantialchangesTotaltheeffortIdentifythesequenceinwhichthetasksmustbeperformedandhowtheycanbeinterleavedwithcurrentlyplannedtasks.Determinewhetherthechangeisontheproject'scriticalpath.9-ForForsubstantialchangesEstimatetheimpactoftheproposedchangeontheproject'sscheduleandcost.Evaluatethechange'sprioritybyestimatingtherelativebenefit,penalty,cost,andtechnicalriskcomparedtootherdiscretionaryrequirements.ReporttheimpactanalysisresultstotheCCBsothattheycanusetheinformationtohelpthemdecidewhethertoapproveorrejectthechange9-ImpactAnalysisImpactAnalysisReport9-面对面对客户的需求变更,接受还是拒绝9-需求一定要与投入有联需求一定要与投入有联系小的需求变更也要经过正规的需求管理流精确的需求与范围定义并不会阻止需求的变更注意沟通的技巧9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-LinksinLinksintheRequirementsSimplerequirementchangesoftenhavefar-reachingimpacts,necessitatingthatmanypartsoftheproductbemodified.It'shardtofindallthesystemcomponentsthatmightbeaffectedbyarequirementmodification.Changeimpactanalysisiseasierifyouhavearoadmapthatshowswhereeachrequirementorbusinessrulewasimplementedinthesoftware.9-LinksLinksintheRequirementsRequirementstracingdocumentsthedependenciesandlogicallinksbetweenindividualrequirementsandothersystemTheseelementsincludeotherrequirementsofvarioustypes,businessrules,architectureandotherdesigncomponents,sourcecodemodules,testcases,andhelp9-LinksLinksintheRequirementsTraceabilityinformationfacilitatesimpactanalysisbyhelpingyouidentifyalltheworkproductsyoumighthavetomodifytoimplementaproposedrequirementchange.9-TracingTracingTraceabilitylinksallowyoutofollowthelifeofarequirementbothforwardandbackward,fromoriginthroughimplementation.Topermittraceability,eachrequirementmustbeuniquelyandpersistentlylabeledsothatyoucanrefertoitunambiguouslythroughoutthe9-FourtypesofFourtypesofrequirements9-SomepossiblerequirementstraceabilitySomepossiblerequirementstraceability9-MotivationsforMotivationsforYoucanuseinformationwhencertifyingasafety-criticalproducttodemonstratethatallrequirementswereimplemented—althoughitdoesn'tconfirmthattheywereimplementedcorrectlyor9-MotivationsforMotivationsforChangeimpactWithoutinformation,there'sahighprobabilityofoverlookingasystemelementthatwouldbeaffectedifyouadd,delete,ormodifyaparticularReliabletraceabilityfacilitatesmakingchangescorrectlyandcompletelyduringmaintenance,whichimprovesyourproductivity.9-MotivationsMotivationsforProjectIfyoudiligentlyrecordthetraceabilitydataduringdevelopment,you'llhaveanaccuraterecordoftheimplementationstatusofplannedfunctionality.Missinglinksindicateworkproductsthathavenotyetbeencreated.9-MotivationsMotivationsforYoucanlistthefunctionsinalegacysystemyou'rereplacingandrecordwheretheywereaddressedinthenewsystem'srequirementsandsoftwarecomponents.Definingtraceabilitylinksisawaytocapturesomeofwhatyoulearnthroughreverseengineeringofanexistingsystem.9-MotivationsforreusingMotivationsforreusingproductcomponentsbypackagesofrelatedrequirements,designs,andRiskDocumentingtheinterconnectionsreducestheriskifakeyteammemberwithessentialknowledgeaboutthesystemleavestheproject.Whenatestyieldsanresult,thelinksbetweentests,requirements,andcodepointyoutowardlikelypartsofthecodetoexamineforadefect.9-TheTheRequirementsThemostcommonwaytorepresentthelinksbetweenrequirementsandothersystemelementsisinarequirementstraceabilitymatrix,alsocalledarequirementstracematrixoratraceabilitytable(SommervilleandSawyer1997)9-SampletraceabilitychainforrequirementsdealingwithapplicationSampletraceabilitychainforrequirementsdealingwithapplication9-RequirementsTraceabilitySomeexamplesofRequirementsTraceabilitySomeexamplesofthepossiblelinkOnedesignelementisimplementedonecodeOnefunctionalrequirementisbymultipletestEachusecaseleadstofunctionalrequirements,andcertainfunctionalrequirementsarecommontoseveralusecases.Similarly,asharedorrepeateddesignelementmightsatisfyanumberoffunctionalrequirements.9-RequirementsTraceabilityRequirementsTraceabilityAtwo-waytraceabilitymatrix.LikelySourcesofTraceabilityLinkInformation(Sample)9-ToolsforRequirementsSuspectLinksToolsforRequirementsSuspectLinksinaRequirementsTraceability9-SelectSelectthelinkrelationshipsyouwanttodefinefromthepossibilities.Choosethetypeoftraceabilitymatrixyouwanttouse:thesinglematrixshowninTable20-1orseveralofthematricesillustratedinTable20-2.Selectamechanismforstoringthedata:atableinatextdocument,aspreadsheet,orarequirementsmanagementtool.9-ProcedureIdentifythepartsoftheproductforwhichyouwanttomaintaintraceabilityinformation.Startwiththecriticalcorefunctions,thehigh-riskportions,ortheportionsthatyouexpecttoundergothemostmaintenanceandevolutionovertheproduct'slife.9-ProcedureModifyyourdevelopmentproceduresandcheckliststoreminddeveloperstoupdatethelinksafterimplementingarequirementoranapprovedchange.Definethetaggingconventionsyouwillusetouniquelyidentifyallsystemelementssothattheycanbelinked9-ProcedureIdentifytheindividualswhowillsupplyeachtypeoflinkinformationandthepersonwhowillcoordinatethetraceabilityactivitiesandmanagethedata.Educatetheteamabouttheconceptsandimportanceofrequirementstracing,yourobjectivesforthisactivity,wherethetraceabilitydataisstored,andthetechniquesfordefiningthelinks (forexample,byusingthetraceabilityfeatureofarequirementsmanagementtool).9-ProcedureAsdevelopmentproceeds,haveeachparticipantprovidetherequestedtraceabilityinformationastheycompletesmallbodiesofAuditthetraceabilityinformationperiodicallytomakesureit'sbeingkeptcurrent.Ifarequirementisreportedasimplementedandverifiedyetitstraceabilitydataisincompleteorinaccurate,yourrequirementstracingprocessisn'tworkingasintended.9-IsRequirementsIsRequirementsFeasible?IsItManagingtraceabilityonahugeproductwithmanyinterrelatedsubsystemsisalotofwork.SomeCommercialRequirementsManagementTools9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-BenefitsofUsingaBenefitsofUsingaManagementManageversionsandprojectshoulddefinearequirementsbaseline,aspecificcollectionofrequirementsallocatedtoaparticularattributes:shouldrecordseveraldescriptiveattributesforeachrequirement9-BenefitsofBenefitsofUsingaManagementToolFacilitateimpactTheenablerequirementstracingbylettingyoudefinelinksbetweendifferenttypesofrequirements,betweenrequirementsindifferentsubsystems,andbetweenindividualrequirementsandrelatedsystemcomponents(forexample,designs,codemodules,tests,anduserdocu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论