參考軟件工程_第1頁(yè)
參考軟件工程_第2頁(yè)
參考軟件工程_第3頁(yè)
參考軟件工程_第4頁(yè)
參考軟件工程_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余117頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Object-OrientedAnalysisandDesignwithUML2andRationalSoftwareModelerPARTII–Object-OrientedAnalysis2TableofContents05.IntroductiontoRUP06.RequirementsOverview07.AnalysisandDesignOverview08.ArchitecturalAnalysis09.Use-CaseAnalysisp.03p.17p.43p.55p.79Object-OrientedAnalysisandDesignwithUML2andRationalSoftwareModeler05.IntroductiontoRUP4SuccessRatesofSoftwareDevelopmentProjects“StandishGroup”CHAOSChroniclesYearSuccessRateFirst“Chaos”Report199416%“ExtremeChaos”200028%Last“Chaos”Report200334%Success=projectdeliveredontime,withinbudgetandmeetingtheneedsoftheusers“Weknowwhyprojectsfail,weknowhowtopreventtheirfailure--sowhydotheystillfail?”-MartinCobb5SymptomsofSoftwareDevelopmentProblemsUserorbusinessneedsnotmetRequirementsnotaddressedModulesnotintegratingDifficultieswithmaintenanceLatediscoveryofflawsPoorqualityofend-userexperiencePoorperformanceunderloadNocoordinatedteameffortBuild-and-releaseissues6TraceSymptomstoRootCausesNeedsnotmetRequirementschurnModulesdon’tfitHardtomaintainLatediscoveryPoorqualityPoorperformanceCollidingdevelopersBuild-and-releaseInsufficientrequirementsAmbiguouscommunicationsBrittlearchitecturesOverwhelmingcomplexityUndetectedinconsistenciesPoortestingSubjectiveassessmentWaterfalldevelopmentUncontrolledchangeInsufficientautomationSymptomsRootCausesBestPracticesDevelopIterativelyManageRequirementsUseComponentArchitecturesModelVisually(UML)ContinuouslyVerifyQualityManageChange7DefinitionofIterativeDevelopmentIterativedevelopment=steeringaprojectbyusingperiodicobjectiveassessments,andre-planningbasedonthoseassessmentsGooditerativedevelopmentmeans:AddressingrisksearlyUsinganarchitecture-drivenapproachMeasuringobjectivelyPlanningRequirementsAnalysis&DesignImplementationDeploymentTestEvaluationManagementEnvironmentEachiterationresultsinanexecutablerelease8ContrastingTraditionalandIterativeProcessesWaterfallProcessIterativeProcessRequirements-drivenandmostlycustomdevelopmentLateriskresolutionDiseconomyofscaleArchitecture-drivenandcomponent-basedEarlyriskresolutionEconomyofscaleRequirementsAnalysisDesignCodeandUnitTestSubsystemIntegrationSystemTest9IterationsandPhasesInception:ToachieveconcurrenceamongallstakeholdersonthelifecycleobjectivesfortheprojectElaboration:TobaselinearchitectureprovidingastablebasisforthedesignandimplementationeffortsinConstructionConstruction:TocompletethedevelopmentoftheproductTransition:ToensuretheproductisavailableforitsendusersInceptionElaborationConstructionTransitionPreliminaryIterationArchitectureIterationArchitectureIterationDevelopmentIterationDevelopmentIterationDevelopmentIterationTransitionIterationTransitionIteration10ManagingRequirementsEnsuresthatyou:SolvetherightproblemBuildtherightsystemBytakingasystematicapproachtoElicitingOrganizingDocumentingManagingThechangingrequirementsofasoftwareapplication11UseComponent-BasedArchitecturesBasisforreuseComponentreuseArchitecturereuseBasisforprojectmanagementPlanningStaffingDeliveryIntellectualcontrolManagecomplexityMaintainintegritySystem-softwareMiddlewareBusiness-specificApplication-specificComponent-basedarchitecturewith

layers12ModelVisually(UML)CapturesstructureandbehaviorShowshowsystemelementsfittogetherKeepsdesignandimplementationconsistentHidesorexposesdetailsasappropriatePromotesunambiguouscommunicationTheUMLprovidesonelanguageforallpractitioners13ContinuouslyVerifyQualityCostTimeSoftwareproblemsare

100to1000timesmorecostly

tofindandrepairafterdeploymentCosttoRepairSoftwareCostofLostOpportunitiesCostofLostCustomers14ManageChangeToavoidconfusion,have:SecureworkspacesforeachdeveloperAutomatedintegration/buildmanagementParalleldevelopmentWorkspaceManagementProcessIntegrationParallelDevelopmentBuildManagementConfigurationManagementismorethanjustcheck-in

andcheck-out15RationalUnifiedProcessImplementsBestPracticesIterativeapproachGuidanceforactivitiesandartifactsProcessfocusonarchitectureUsecasesthatdrivedesignandimplementationModelsthatabstractthesystem16BringingItAllTogetherDisciplinesgroupactivitieslogicallyInaniteration,youwalkthroughalldisciplinesObject-OrientedAnalysisandDesignwithUML2andRationalSoftwareModeler06.RequirementsOverview18WhereAreWe?IntroductiontoUse-CaseModelingFindActorsandUseCasesOtherRequirementsManagementArtifacts19RequirementsinContextThepurposeofRequirementsisto:ElicitstakeholderrequestsandtransformthemintoasetofrequirementsworkproductsthatscopethesystemtobebuiltandprovidedetailedrequirementsforwhatthesystemmustdoRUPmendsause-casedrivenapproach20WhatIsUse-CaseModeling?LinksstakeholderneedstosoftwarerequirementsDefinesclearboundariesofasystemCapturesandcommunicatesthedesiredbehaviorofthesystemIdentifieswhoorwhatinteractswiththesystemValidates/verifiesrequirementsIsaplanninginstrumentUseCase2SpecificationActor2Usecase1ModelUsecase2Usecase321AUse-CaseModelisMostlyTextUsecase1Usecase2Usecase3Use-Case-ModelSurvey-surveydescription-listofallactors-listofallusecasesUse-Case2Spec-briefdescription-flowofeventsUse-Case3Spec-briefdescription-flowofeventsActor1Actor2Actor3Use-Case1Spec-briefdescription-flowofeventsTheSystem22MajorConceptsinUse-CaseModelingAnactorrepresentsanythingthatinteractswiththesystemAusecaseisasequenceofactionsasystemperformsthatyieldsanobservableresultofvaluetoaparticularactorActorUseCase23Use-CaseDiagramBank

ConsortiumBankCustomerAnAutomatedTellerMachine(ATM)CashierWithdrawCashTransferFundsDepositFundsMaintainATMMaintenance

CrewCollectDeposits24UseCasesContainSoftwareRequirementsEachusecase:DescribesactionsthesystemtakestodeliversomethingofvaluetoanactorShowsthesystemfunctionalityanactorusesModelsadialogbetweenthesystemandactorsIsacompleteandmeaningfulflowofeventsfromtheperspectiveofaparticularactor25BenefitsofUseCasesGivecontextforrequirementsPutsystemrequirementsinlogicalsequencesIllustratewhythesystemisneededHelpverifythatallrequirementsarecapturedAreeasytounderstandUseterminologythatcustomersandusersunderstandTellconcretestoriesofsystemuseVerifystakeholderunderstandingFacilitateagreementwithcustomersFacilitatereuse:test,documentation,anddesign26WhereAreWe?IntroductiontoUse-CaseModelingFindActorsandUseCasesOtherRequirementsManagementArtifacts27DefineActors:FocusontheRolesAnactorrepresentsarolethatahuman,hardwaredevice,oranothersystemcanplayinrelationtothesystemActornamesshouldclearlydenotetheactor’srole?28CaseStudy:CourseRegistrationSystemReviewtheproblemstatementprovidedintheCourseRegistrationRequirementsDocumentActorYStudentCourseRegistrationSystemActorXActorYRegisterforCoursesAnotherUseCaseUseCase329HowShouldINameaUseCase?IndicatethevalueorgoaloftheactorUsetheactiveform;beginwithaverbImagineato-dolistExamplesofvariations

RegisterforCoursesRegisteringforCoursesAcknowledgeRegistrationCourseRegistrationUseRegistrationSystemWhichvariationsshowthevaluetotheactor?Whichdonot?Whichwouldyouchooseastheuse-casename?Why?30StepsforCreatingaUse-CaseModelFindactorsandusecasesIdentifyandbrieflydescribeactorsIdentifyandbrieflydescribeusecasesWritetheusecasesOutlineallusecasesPrioritizetheuse-caseflowsDetailtheflowsinorderofpriorityOutsidethescopeofthiscourse31FindActorsWhoispressingthekeys(interactingwiththesystem)?StudentRegistrarRegistrationSystemThestudentnevertouchesthesystem;theregistraroperatesit.Or,areyoubuildinganInternetapplication?OnlineRegistrationSystem()Student32IdentifyActorsWho/whatusesthesystem?Who/whatgetsinformationfromthissystem?Who/whatprovidesinformationtothesystem?Whereinthecompanyisthesystemused?Who/whatsupportsandmaintainsthesystem?Whatothersystemsusethissystem?33FindUseCasesActorGOAL1GOAL2WhatgoalamItryingtoachievebyusingthesystem?34IdentifyUseCasesWhatarethegoalsofeachactor?Whydoestheactorwanttousethesystem?Willtheactorcreate,store,change,remove,orreaddatainthesystem?Ifso,why?Willtheactorneedtoinformthesystemaboutexternaleventsorchanges?Willtheactorneedtobeinformedaboutcertainoccurrencesinthesystem?Doesthesystemsupplythebusinesswithallofthecorrectbehavior?35GroupExerciseIdentifytheactorswhointeractwiththeCourseRegistrationSystemIdentifyusecasesforthesystemSketchause-casediagram36WhereAreWe?IntroductiontoUse-CaseModelingFindActorsandUseCasesOtherRequirementsManagementArtifacts37Use-CaseSpecificationsNameBriefdescriptionFlowofEventsRelationshipsActivitydiagramsUse-CasediagramsSpecialrequirementsPre-conditionsPost-conditionsOtherdiagramsUse-CaseSpecifications...Use-CaseModelActorsUseCases38Use-CaseFlowofEventsHasonenormal,basicflow

SeveralalternativeflowsRegularvariantsOddcasesExceptionalflows

for

handlingerrorsituations39AScenarioIsaUse-CaseInstanceScenario1Logontosystem.Approvelogon.Entersubjectinsearch.Getcourselist.Displaycourselist.Selectcourses.Confirmavailability.Displayfinalschedule.Scenario2Logontosystem.Approvelogon.Entersubjectinsearch.Invalidsubject.Re-entersubject.

Getcourselist.Displaycourselist.Selectcourses.Confirmavailability.Displayfinalschedule.StudentCourseCatalogSystemRegisterforCourses40GlossaryGlossaryCourseRegistrationSystemGlossary1.

IntroductionThisdocumentisusedtodefineterminologyspecifictotheproblemdomain,explainingterms,whichmaybeunfamiliartothereaderoftheuse-casedescriptionsorotherprojectdocuments.Often,thisdocumentcanbeusedasaninformaldatadictionary,capturingdatadefinitionssothatuse-casedescriptionsandotherprojectdocumentscanfocusonwhatthesystemmustdowiththeinformation.2.

DefinitionsTheglossarycontainstheworkingdefinitionsforthekeyconceptsintheCourseRegistrationSystem.2.1

Course:Aclassofferedbytheuniversity.2.2

CourseOffering:Aspecificdeliveryofthecourseforaspecificsemester–youcouldrunthesamecourseinparallelsessionsinthesemester.Includesthedaysoftheweekandtimesitisoffered.2.3

CourseCatalog:Theunabridgedcatalogofallcoursesofferedbytheuniversity.41SupplementarySpecificationFunctionalityUsabilityReliabilityPerformanceSupportabilityDesignconstraintsSupplementarySpecification42ExercisePerformtheexerciseprovidedbytheinstructorObject-OrientedAnalysisandDesignwithUML2andRationalSoftwareModeler07.AnalysisandDesignOverview44AnalysisandDesigninContextThepurposesofAnalysisandDesignareto:Transformtherequirementsintoadesignofthesystem-to-beEvolvearobustarchitectureforthesystemAdaptthedesigntomatchtheimplementationenvironment,designingitforperformance45AnalysisandDesignOverviewSupplementarySpecificationUse-CaseModelAnalysisModelDataModel(optional)ArchitectureDocument(outsidethescopeofthiscourse)AnalysisandDesignGlossaryDesignModel46TheAnalysisandDesignWorkflowDefineSystemContextArchitecturalAnalysisAssessViabilityofArchitecturalPoCConstructArchitecturalPoCDefineSystemContextArchitecturalAnalysisUse-CaseAnalysisOperationAnalysisIdentifyDesignElementsUse-CaseAnalysisOperationAnalysisPrototypetheUser-InterfaceDesigntheUser-InterfaceIdentifyDesignMechanismsIdentifyDesignElementsOperationAnalysisIdentifyServices

IncorporateExistingDesignElements

StructuretheImplementationModelDescribetheRun-timeArchitectureDescribeDistributionUse-CaseDesign

SubsystemDesignOperationDesignClassDesignDefineTestabilityElementsDesignTestabilityElements

CapsuleDesign

SoftwareArchitectDesignerrolesOtherroles47SimplifiedWorkflowfortheOOADCourseEarlyElaborationiterationGoalofElaboration:TobuildarobustarchitecturethatwillsupporttherequirementsofthesystematareasonablecostandinareasonabletimeToachievethisgoal,weneed:Toproduceanevolutionaryexecutableofproduction-qualitycomponentsthatwilladdressallarchitecturallysignificantrisksoftheprojectAddressingarchitecturallysignificantrisksmeansselectingfortheiterationtheuse-casescenariosthatexposethoserisks48AComponent-BasedArchitectureInRUP,thearchitectureofasoftwaresystemis:Theorganizationorstructureofthesystem'ssignificantcomponentsinteractingthroughinterfaces,WithcomponentscomposedofsuccessivelysmallercomponentsandinterfacesTheactivitiesoftheAnalysisandDesigndisciplineareorganizedaroundtwomajorthemes:Structure,undertheresponsibilityofthesoftwarearchitectArchitecturallayersComponentsandinterfacesContents,undertheresponsibilityofthedesignersAnalysisanddesignclasses49RoadmapfortheOOADCourseAnalysisArchitecturalAnalysis(DefineaCandidateArchitecture)Use-CaseAnalysis(AnalyzeBehavior)DesignIdentifyDesignElements(RefinetheArchitecture)IdentifyDesignMechanisms(RefinetheArchitecture)ClassDesign(DesignComponents)SubsystemDesign(DesignComponents)DescribetheRun-timeArchitectureandDistribution(RefinetheArchitecture)DesigntheDatabaseAnalysisDesign50AnalysisVersusDesignAnalysisDesignFocusonunderstandingtheproblemIdealizeddesignBehaviorSystemstructureFunctionalrequirementsAsmallmodelFocusonunderstandingthesolutionOperationsandattributesPerformanceClosetorealcodeObjectlifecyclesNonfunctionalrequirementsAlargemodel51ArchitecturalViews:The4+1ViewModelProcessViewDeploymentViewLogicalViewUse-CaseViewImplementationViewEnd-userFunctionalityProgrammersSoftwaremanagementPerformance,scalability,throughputSystemintegratorsSystemtopology,delivery,installation,communicationSystemengineeringAnalysts/DesignersStructure52OrganizingModelsinRSA/RSMNeedforwell-definedguidelinestorepresentthearchitecturalviewsinyourmodelinganddevelopmentenvironmentWhitepaper:“ModelStructureGuidelinesForRationalSoftwareModelerAndRationalSoftwareArchitect(2004Release)”AvailableonIBMdeveloperWorks()ModelsandpackagescancontainanynumberofdiagramsOnediagramisthe“default”diagram,i.e.thediagramthatwilldisplaywhentheowningmodelorpackageisopenedThedefaultdiagramshouldcontainallthenecessaryinformationtonavigateinthepackage,forinstance:Ownedpackages(double-clickopensthepackage)Othermajorownedelements,e.g.publicclassesandinterfacesShortcutstootherdiagrams(createdbydrag-and-drop)Explanatoryfreetextand/ornotesOtherguidelineswillbeintroducedaswegoalong53Determiningthe(Elaboration)IterationScopeTheiterationscopeisdefinedintermsofuse-casescenariosthatbestaddressthedriversfortheiterationIntheElaborationphase,thefocusisonarchitecturallysignificantuse-casescenariosTheimplementationofaspecificusecasewillbeinmostcasesspreadoverseveraliterations–andinfactphasesTherearethreemaindriversfordefiningtheobjectivesofaniterationinelaboration:RiskCriticalityCoverage54Object-OrientedAnalysisandDesignwithUML2andRationalSoftwareModeler08.ArchitecturalAnalysis56RoadmapfortheOOADCourseAnalysisArchitecturalAnalysis(DefineaCandidateArchitecture)Use-CaseAnalysis(AnalyzeBehavior)DesignIdentifyDesignElements(RefinetheArchitecture)IdentifyDesignMechanisms(RefinetheArchitecture)ClassDesign(DesignComponents)SubsystemDesign(DesignComponents)DescribetheRun-timeArchitectureandDistribution(RefinetheArchitecture)DesigntheDatabaseAnalysisDesign57ArchitecturalAnalysisPurposeTodefineacandidatearchitectureforthesystembasedonexperiencegainedfromsimilarsystemsorinsimilarproblemdomainsTodefinethearchitecturalpatterns,keymechanisms,andmodelingconventionsforthesystemRoleSoftwareArchitectMajorStepsDefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsDevelopDeploymentOverview

IdentifyAnalysisMechanisms58WhereAreWe?DefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsDevelopDeploymentOverviewIdentifyAnalysisMechanisms59DefinetheHigh-LevelOrganizationofSubsystemsPurposeTocreateaninitialstructurefortheDesignModelNormallythedesignmodelisorganizedinlayers–acommonarchitecturalpatternformoderatetolarge-sizedsystemsDuringarchitecturalanalysis,youusuallyfocusonthetwohigh-levellayers,thatis,theapplicationandbusiness-specificlayersThisiswhatismeanbythehigh-levelorganizationofsubsystems60PatternsandFrameworksPatternProvidesacommonsolutiontoacommonprobleminacontextAnalysis/DesignpatternProvidesasolutiontoanarrowly-scopedtechnicalproblemProvidesafragmentofasolution,orapieceofthepuzzleFrameworkDefinesthegeneralapproachtosolvingtheproblemProvidesaskeletalsolution,whosedetailsmaybeAnalysis/Designpatterns61WhatIsanArchitecturalPattern?AnarchitecturalpatternexpressesafundamentalstructuralorganizationschemaforsoftwaresystemsItprovidesasetofpredefinedsubsystems,specifiestheirresponsibilities,andincludesrulesandguidelinesfororganizingtherelationshipsbetweenthem–Buschmanetal,“Pattern-OrientedSoftwareArchitecture—ASystemofPatterns”Examples:LayersModel-view-controller(MVC)PipesandfiltersBlackboard62TheModel-View-Controller(MVC)ArchitectureConceivedinthemid-1980'sExtensivelyappliedinmostobject-orienteduserinterfacesAdaptedtorespondtospecificplatformrequirements,suchasJ2EEModelManagestheapplicationdomain’sconcepts,bothbehaviorandstateControllerCapturesusereventsanddetermineswhichactionstotakeViewRetrievesthedatafromthemodelorreceivesitfromthecontroller,anddisplaysittotheuserinawaytheuserUserEventChangeNotificationStateQueryViewSelectionStateChange63AnMVCExample:StrutsComponents(FromtheIBMRedbook,RationalApplicationDeveloperV6ProgrammingGuide,June2005)64LayeredArchitecturesEquipmentandcustomerspecificcodeProcessesandotherapplicationcodeMajorabstractions,classes,etc.Mechanisms,servicesH/Wspecificcode,O/Sspecificcode,general-purposecode(ex.ORB,MQS,etc.)ApplicationframeworkApplicationInfra-structureMoreGenericMoreReuseMoreSpecificLessReuse65LayeringConsiderationsLevelofabstractionGroupelementsatthesamelevelofabstractionSeparationofconcernsGrouplikethingstogetherSeparatedisparatethingsApplicationvs.domainmodelelementsResiliencyLoosecouplingConcentrateonencapsulatingchangeUserinterface,businessrules,andretaineddatatendtohaveahighpotentialforchange66ModelingArchitecturalLayersArchitecturallayerscanbemodeledusingpackagesstereotyped<<layer>>SoftwareLayersforaGenericJ2EEApplication

Note:<<global>>isamereconventionusedheretoindicatelayersthatcanbeusedbyallothers67WhereAreWe?DefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsDevelopDeploymentOverviewIdentifyAnalysisMechanisms68WhatAreKeyAbstractions?Akeyabstractionisaconcept,normallyuncoveredinRequirements,thatthesystemmustbeabletohandleSourcesforkeyabstractionsDomainknowledgeRequirementsGlossaryDomainModel,ortheBusinessModel(ifoneexists)69DescribingKeyAbstractionsKeyabstractionsaremodeledasanalysisclassesForeachclass,provideAshortdescriptionoftheclassItsmainattributesItsrelationshipswithotherclassesDon'tspendtoomuchtimedescribingclassesindetailatthisinitialstageThepurposeisnottoidentifyclassesthatwillsurvivethroughoutdesignYouwillprobablyidentifyclassesandrelationshipsnotactuallyneededbytheusecasesThisinitialsetofclassesisusefulto“jump-start”theUse-CaseAnalysistaskDonotturnthenextpagebeforebeingtoldtodoso!70GroupExerciseIdentifythekeyabstractionsfortheCourseRegistrationSystem71KeyAbstractionsfortheCourseRegistrationSystem72WhereAreWe?DefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsDevelopDeploymentOverviewIdentifyAnalysisMechanisms73DevelopDeploymentOverviewPurpose:TogainanunderstandingofthegeographicaldistributionandoperationalcomplexityofthesystemDevelopthehighleveloverviewofhowthesoftwareisdeployedtoshow:RemoteaccessDistributionacrossmultiplenodesExistinghardwareandsoftwarecomponents74WhereAreWe?DefinetheHigh-LevelOrganizationofSubsystemsIdentifyKeyAbstractionsDevelopDeploymentOverviewIdentifyAnalysisMechanisms75WhatAreAnalysisMechanisms?Analysismechanismsarearchitecturalmechanisms*usedearlyintheAnalysisandDesignprocess:CapturethekeyaspectsofasolutioninawaythatisimplementationindependentAre“computerscience”concepts,usuallyunrelatedtotheproblemdomainProvidespecificbehaviorstoadomain-relatedclassorcomponentExamples:PersistenceInter-processcommunicationErrororfaulthandlingNotificationMessagingEtc.*Architecturalmechanisms=Commonconcretesolutionstofrequentlyencounteredproblems76WhyUseAnalysisMechanisms?AnalysismechanismsareusedduringanalysistoreducethecomplexityofanalysisandtoimproveitsconsistencybyprovidingdesignerswithashorthandrepresentationforcomplexbehaviorOhno!Ifoundagroupofclassesthathaspersistentdata.HowamIsupposedtodesignthesethingsifIdon’tevenknowwhatdatabasewearegoingtobeusing?Thatiswhywehaveapersistenceanalysismechanism.Wedon’tknowenoughyet,sowecanbookmarkitandcomebacktoitlater.77IdentifyingandDescribingAnalysisMechanismsAnalysismechanismscanbeidentifiedtop-down(aprioriknowledge)orbottom-up(discoveredasyougoalong)Initiallythenamemightbeallthatexists(forinstance,persistence)Asclientclassesgetidentify,itesnecessarytoqualifytheuseofeachmechanismForpersistence,identifycharacteristicslikegranularity(size),volume(number),retrievalmechanism,updatefrequency,etc.Eventually,analysismechanismswillberefinedintodesignmechanismsAdesignmechanismassumessomedetailsoftheimplementationenvironment,butitisnottiedtoaspecificimplementationExample:DBMSasthedesignmechanismforpersistenceAnddesignmechanismsintoactualimplementationmechanismsExample:Oracle78ExercisePerformtheexerciseprovidedbytheinstructorObject-OrientedAnalysisandDesignwithUML2andRationalSoftwareModeler09.Use-CaseAnalysis80RoadmapfortheOOADCourseAnalysisArchitecturalAnalysis(DefineaCandidateArchitecture)Use-CaseAnalysis(AnalyzeBehavior)DesignIdentifyDesignElements(RefinetheArchitecture)IdentifyDesignMechanisms(RefinetheArchitecture)ClassDesign(DesignComponents)SubsystemDesign(DesignComponents)DescribetheRun-timeArchitectureandDistribution(RefinetheArchitecture)DesigntheDatabaseAnalysisDesign81Use-CaseAnalysisPurposeToidentifytheanalysisclassesofoursystem,including:their“responsibilities”,attributesandassociationstootherclasses,andusageofanalysismechanismsRoleDesignerMajorStepsCreateAnalysisUse-CaseRealizationSupplementtheUse-CaseDescriptionModelUse-CaseScenarioswithInteractionDiagramsModelParticipatingClassesinClassDiagramsReconciletheAnalysisUse-CaseRealizationsQualifyAnalysisMechanisms82AnalysisClasses:AFirstStepTowardExecutablesUseCasesAnalysis

ClassesSourceCodeExecDesign

ElementsUse-CaseAnalysis83WhereAreWe?CreateAnalysisUse-CaseRealizationSupplementtheUse-CaseDescriptionModelUse-CaseScenarioswithInteractionDiagramsModelParticipatingClassesinClassDiagramsReconciletheAnalysisUse-CaseRealizationsQualifyAnalysisMechanisms84WhatIsaUse-CaseRealization?ThebridgebetweenRequirements-centrictasksandAnalysis/Design-centrictasksItprovides:AwaytotracebehaviorintheAnalysisandDesignModelsbacktotheUse-CaseModelAconstructintheAnalysisandDesignModels,whichorganizesworkproductsrelatedtotheusecasebutwhichbelongtothedesignmodelTypicallyconsistofsequenceandclassdiagramsShownasacollaboration*stereotyped<<use-caserealization>>* UMLCollaboration=structureofcollaboratingelements(roles),eachperformingaspecializedfunction,whichcollectivelyplishsomedesiredfunctionality85WhatIsaUse-CaseRealization?ClassDiagramsCommunicationDiagramsUse-CaseModelAnalysis/DesignModelUseCaseUse-CaseRealizationSequence

DiagramsRealizationRelationship86WhereAreWe?CreateAnalysisUse-CaseRealizationSupplementtheUse-CaseDescriptionModelUse-CaseScenarioswithInteractionDiagramsModelParticipatingClassesinClassDiagramsReconciletheAnalysisUse-CaseRealizationsQualifyAnalysisMechanisms87SupplementtheUse-CaseDescriptionPurpose:Tocaptureadditionalinformationneededin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論