




下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 存量房買(mǎi)賣(mài)合同修訂
- 三農(nóng)田水利設(shè)施防洪抗旱方案
- 交通行業(yè)車(chē)輛排放標(biāo)準(zhǔn)比較表
- 防災(zāi)減災(zāi)活動(dòng)方案
- 放飛心中的夢(mèng)想主題班會(huì)方案
- 2024年氯甲烷項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025屆湖南省交通規(guī)劃勘察設(shè)計(jì)院有限公司校園招聘34人筆試參考題庫(kù)附帶答案詳解
- 2024-2025學(xué)年第二學(xué)期天域全國(guó)名校協(xié)作體高三3月聯(lián)考 語(yǔ)文試卷(含答案)
- 2025寧夏寧魯石化有限公司招聘40人筆試參考題庫(kù)附帶答案詳解
- 2025年上半年宜昌猇亭區(qū)城管協(xié)管員招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 中國(guó)旅游地理(高職)全套教學(xué)課件
- 護(hù)理安全警示案例及分析
- 學(xué)習(xí)委員培訓(xùn)課件
- DB11T 2207-2023 市政橋梁工程數(shù)字化建造標(biāo)準(zhǔn)
- 科華UPS培訓(xùn)資料
- 公務(wù)員考試應(yīng)急處理預(yù)案
- 醫(yī)院安全生產(chǎn)試卷及答案
- 醫(yī)療機(jī)構(gòu)資產(chǎn)評(píng)估報(bào)告
- 5s管理考核標(biāo)準(zhǔn)
- 復(fù)方板藍(lán)根顆粒工藝驗(yàn)證方案大全
- 高效空調(diào)制冷機(jī)房智能控制系統(tǒng)技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論