OO方法、RUP與UML建模(培訓課件)_第1頁
OO方法、RUP與UML建模(培訓課件)_第2頁
OO方法、RUP與UML建模(培訓課件)_第3頁
OO方法、RUP與UML建模(培訓課件)_第4頁
OO方法、RUP與UML建模(培訓課件)_第5頁
已閱讀5頁,還剩120頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

OO方法、RUP與UML建模

博訊科技(上海)有限公司浩方科技集團

主要內容一、OOAD與UML表示法二、RUP建模過程與步驟三、討論一、OOAD與UML表示法OO原則Abstraction(抽象)Encapsulation(封裝)Modularity(模塊化)Hierarchy(分層)OO三要素封裝繼承多態(tài)OO基本概念對象類屬性操作(方法)接口(多態(tài))*構件*關系包子系統*接口與多態(tài)Polymorphism:Theabilitytohidemanydifferentimplementationsbehindasingleinterface.Interfacesformalizepolymorphism,support“plug-and-play”architectures.接口與多態(tài)ComponentAnon-trivial,nearlyindependent,andreplaceablepartofasystemthatfulfillsaclearfunctioninthecontextofawell-definedarchitecture.sourcecodecomponent,runtimecomponents,executablecomponentSubsystemAcombinationofapackage(cancontainothermodelelements)andaclass(hasbehavior)Realizesoneormoreinterfaceswhichdefineitsbehavior.OOAD是主流技術OOAD大部分情況下比結構化設計好: 結構化設計是過時的東西,它強調軟件的結構按照功能來組織,一旦功能改變,軟件的結構就會不穩(wěn)定。 而OO設計把數據流和功能統一起來,IT行業(yè)絕大部分(70-80%)的軟件設計(包括數據庫設計)可以采用OO方法,目前國外流行的趨勢也是這樣,剩下的少部分有特定需求的可能還會用傳統方法。 另外在電信界,用有限自動狀態(tài)機的SDL方法仍占絕大數,但現在UML和SDL出現了融合的趨勢。ObjectOrientedAnalysis用面向對象方法分析問題域,建立基于對象、消息的業(yè)務模型,形成對客觀世界和業(yè)務本身的正確認識。生成業(yè)務對象的動、靜態(tài)模型和抽象類。ObjectOrientedDesign針對OOA給出的問題域模型,用面向對象方法設計出軟件基礎架構(概要設計)和完整的類結構(詳細設計),以實現業(yè)務功能。生成對象類的動、靜態(tài)模型(解決域)。Analysisvs.DesignAnalysisFocusonunderstandingtheproblemIdealizeddesignBehaviorSystemStructureFunctionalrequirementsAsmallmodelDesignFocusonunderstandingthesolutionOperationsandAttributesPerformanceClosetorealcodeObjectlifecyclesNon-functionalrequirementsAlargemodel“4+1”視圖UseCaseView(End-user:Functionality)LogicalView(Analysts/Designers:Structure)ProcessView(Systemintegrators:Performance,Scalability,Throughput)ImplementationView(Programmers:Softwaremanagement)DeploymentView(Systemengineering:SystemTopology,Delivery,installation,communication)UML圖示UseCaseDiagramSequenceDiagramClassDiagramCollaborationDigramStateDiagramActivityDiagramComponentDiagramDeploymentDiagramActor-用戶“AnActordefinesacoherentsetofrolesthatusersofusecasesplaywheninteractingwithusecases.Anactorhasoneroleforeachusecasewithwhichitcommunicates.”角色的集合,可以是人或外部系統。定義了“系統邊界”。UseCase-用例Thespecificationofasequenceofactions,includingvariants,thatasystem(orotherentity)canperform,interactingwithactorsofthesystem.Ausecaseisacoherentunitoffunctionalityprovidedbyasystem,asubsystem,oraclassasmanifestedbysequencesofmessagesexchangedamongthesystemandoneormoreoutsideinteractors(calledactors)togetherwithactionsperformedbythesystem.BusinessUseCase/ActorBusiness-System例子課程登記系統UseCase依賴關系?Association–Theparticipationofanactorinausecase,i.e.instancesoftheactorandinstancesoftheusecasecommunicatewitheachother.Thisistheonlyrelationshipbetweenactorsandusecases.?Extend–AnextendrelationshipfromusecaseAtousecaseBindicatesthataninstanceofusecaseBmaybeextended(subjecttospecificconditionsspecifiedintheextension)bythebehaviorspecifiedbyA.ThebehaviorisinsertedatthelocationdefinedbytheextensionpointinBwhichisreferencedbytheextendrelationship.UseCase依賴關系?Generalization–AgeneralizationfromusecaseAtousecaseBindicatesthatAisaspecializationofB.?Include–AnincluderelationshipfromusecaseAtousecaseBindicatesthataninstanceoftheusecaseAwillalsoincludethebehaviorasspecifiedbyB.ThebehaviorisincludedatthelocationwhichdefinedinA.產品定購管理ActorGeneralizationSequenceDiagram Adiagramthatshowsobjectinteractionsarrangedintimesequence.Inparticular,itshowstheobjectsparticipatingintheinteractionandthesequenceofmessagesexchanged. Unlikeacollaborationdiagram,asequencediagramincludestimesequencesbutdoesnotincludeobjectrelationships. Asequencediagramcanexistinagenericform(describesallpossiblescenarios)andinaninstanceform(describesoneactualscenario). Sequencediagramsandcollaborationdiagramsexpresssimilarinformation,butshowitindifferentways.序列圖元素UseCase描述簡述:

ThisusecaseallowsaStudenttoregisterforcourseofferinginthecurrentsemester.TheStudentcanalsoupdateordeletecourseselectionsifchangesaremadewithintheadd/dropperiodatthebeginningofthesemester.TheCourseCatalogSystemprovidesalistofallthecourseofferingsforthecurrentsemester.事件流BasicFlow: ThisusecasestartwhenaStudentwishestoregisterforcourseofferings,ortochangehis/herexistingcourseschedule.1.ThesystemrequeststhattheStudentspecifythefunctionhe/shewouldliketoperform(eitherCreateaSchedule,UpdateaSchedule,orDeleteaSchedule).2.OncetheStudentprovidestherequestedinformation,oneofthesubflowsisexecuted. IftheRegistrarselected“CreateaSchedule”,theCreateaSchedulesubflowisexecuted. (UpdateaSchedule,DeleteaSchedule)CreateaSchedule1.ThesystemretrievesalistofavailablecourseofferingsfromtheCourseCatalogSystemanddisplaysthelisttotheStudent.2.TheStudentselects4primarycourseofferingsand2alternatecourseofferingsfromthelistofavailableofferings.3.Oncethestudenthasmadehis/herselections,thesystemcreatesaschedulefortheStudentcontainingtheselectedcourseofferings.4.TheSubmitSchedulesubflowisexecuted.類的劃分邊界類控制類實體類選課理解UseCase和Actor1)UseCase絕不是錦上添花的東西,一方面它可以促進與用戶溝通,理解正確的需求,另一方面它可以劃分系統與外部實體的界限,是系統設計的起點,而最終應該落實到類和實現代碼上。2)UseCaseView與LogicalView應該由明確的相關性。UML中從UseCase到類包的關聯可以用依賴(或實現)關系描述。3)Actor不是指人,而是指代表某一種特定功能的角色,因此同一個人可能對應很多個Actor。Actor是虛擬的概念,可以指外部系統和設備。4)UseCase是對系統行為的動態(tài)描述,它是OO設計的起點,是類、對象、操作的來源,而通過邏輯視圖的設計,可以獲得軟件的靜態(tài)結構。

ClassDiagramAdiagramthatshowsacollectionofdeclarative(static)modelelements,suchasclasses,types,andtheircontentsandrelationships.ClassExportControlPublic Theelementisvisibleoutsideoftheenclosingpackageandyoucanimportittootherportionsofyourmodel.Operationsareaccessibletoallclients.Protected Theelementisaccessibleonlytonestedclasses,friends,ortotheclassitself.Private Theelementisaccessibleonlytonestedclasses,friends,ortotheclassitself.Implementation Theelementisvisibleonlyinthepackageinwhichitisdefined.Anoperationispartoftheimplementationoftheclass.類的并發(fā)性Sequential(default)-Thesemanticsoftheclassareguaranteedonlyinthepresenceofasinglethreadofcontrol.Onlyonethreadofcontrolcanbeexecutinginthemethodatanyonetime.Guarded-Thesemanticsoftheclassareguaranteedinthepresenceofmultiplethreadsofcontrol.Aguardedclassrequirescollaborationamongclientthreadstoachievemutualexclusion.Active-Theclasshasitsownthreadofcontrol.Synchronous-Thesemanticsoftheclassareguaranteedinthepresenceofmultiplethreadsofcontrol;mutualexclusionissuppliedbytheclass.參數化和實例化類Parameterized/InstantiatedClassC++TemplateUtilityClass關系AssociationAggregationCompositionDependencyRealizationGeneralization(inheritance)Realization聚合關系Aggregation:Aspecialformofassociationthatmodelsawhole-partrelationshipbetweenanaggregate(thewhole)anditsparts.合成關系Composition:Aformofaggregationwithstrongownershipandcoincidentliftimes.Thepartscannotsurvivethewhole/aggregate.Association關聯類Multiplicity關系的多重性ExactlyOne: 1Zeroormore: 0..nOneormore: 1..nZeroorone: 0..1Specifiedrange:2..4Multiple,disjointranges:2,4..6GeneralizationinheritanceDependencyAdependencyindicatesasemanticrelationshipbetweentwo(ormore)modelelements.Itrelatesthemodelelementsthemselvesanddoesnotrequireasetofinstancesforitsmeaning.Itindicatesasituationinwhichachangetothetargetelementmayrequireachangetothesource elementinthedependency.依賴關系bind–Binding:Abindingoftemplateparameterstoactualvaluestocreateanonparameterizedelement.trace–Trace:Ahistoricalconnectionbetweentwoelementsthatrepresentthesameconceptatdifferentlevelsofmeaning.refine–Refinement:Ahistoricalorderivationconnectionbetweentwoelementswithamapping(notnecessarilycomplete)betweenthem.依賴關系use–Usage:Asituationinwhichoneelementrequiresthepresenceofanotherelementforitscorrectimplementationorfunctioning.Maybestereotypedfurthertoindicatetheexactnatureofthedependency,suchascallinganoperationofanotherclass,grantingpermissionforaccess, instantiatinganobjectofanotherclass,etc.MapsintoaUsage. IfthekeywordisoneofthestereotypesofUsage(call,create,instantiate,send)thenitmapsintoaUsagewiththegivenstereotype.依賴關系derive–DerivationAcomputablerelationshipbetweenoneelementandanother(onemorethanoneofeach).access-Thegrantingofpermissionforonepackagetoreference thepublicelementsownedbyanotherpackage(subjecttoappropriatevisibility).MapsintoaPermissionwiththestereotypeaccess.import-Thegrantingofpermissionforonepackagetoreferencethepublicelementsofanotherpackage,togetherwithaddingthenamesofthepublicelementsofthesupplierpackagetotheclientpackage.MapsintoaPermissionwiththestereotypeimport.四種UML依賴關系異同綁定關系位于模板(如C++模板)和用其生成的模型元素之間,該元素完全是模板的實例化,為添加任何新的東西。可溯關系是兩個元素或元素集合之間的概念連接,用于描述位于不同語義層或多種視點下的同一個概念。這些元素間并沒有任何特定的映射關系,關系的方向可被忽略。通常用于跟蹤需求,或幫助建模者跟蹤多個模型的變化。使用關系表示一個元素為了實現或完成其全部的功能需要其它元素或元素集合的配合,例如類與類之間的多種方法調用關系。細化關系是不同語義層(如分析和設計)之間模型元素的依賴關系,表示客戶可由供應者導出。這一導出關系不一定非要用算法來描述,可以完全人為決定,因此細化關系可描述的語義范圍較廣,包括:模型的逐步細化、優(yōu)化、變換、模板、模型合成、框架組成等等。綁定和使用關系只能用于同一模型中元素的連接,而可溯和細化關系可用于連接多個模型的元素。InterfaceCollaborationDiagramAdiagramthatshowsinteractionsorganizedaroundthestructureofamodel,usingeitherclassifiersandassociationsorinstancesandlinks.Unlikeasequencediagram,acollaborationdiagramshowstherelationshipsamongtheinstances.Sequencediagramsandcollaborationdiagramsexpresssimilarinformation,butshowitindifferentways.協作圖元素ObjectClassinstance完成課程登記StateDiagramState: Aconditionorsituationduringthelifeofanobjectduringwhichitsatisfiessomecondition,performssomeactivity,orwaitsforsomeevent.選課HistoryThehistoryiconprovidesamechanismtoreturntothemostrecentlyvisitedstateoractivitywhentransitioningdirectlytoastateoractivitywithsubstates.Historyappliestothegivenlevelinwhichitappears.ActivityDiagramAnactivityisanongoingnon-atomic(inotherwords,interruptible)executionwithinastatemachine.Anactivitygraphisastatemachineinwhichmostorallofthestatesareactionstatesoractivitystates,andinwhichmostorallofthetransitionsaretriggeredbycompletionofactivityinthesourcestates.Anactivitygraphemphasizesthesequentialandconcurrentstepsofacomputationalprocedureoraworkflow.用途 Anactivitygraphisavariationofastatemachineinwhichthestatesrepresenttheperformance ofactionsorsubactivitiesandthetransitionsaretriggeredbythecompletionoftheactionsor subactivities.Itrepresentsastatemachineofaprocedureitself.描述業(yè)務模型(UseCase分析)描述類動態(tài)模型(類設計)活動圖與狀態(tài)圖比較Anactivitydiagramisaspecialcaseofastatediagraminwhichall(oratleastmost)ofthestatesareactionorsubactivitystatesandinwhichall(oratleastmost)ofthetransitionsaretriggeredbycompletionoftheactionsorsubactivitiesinthesourcestates.Theentireactivitydiagramisattached(throughthemodel)toaclass,suchasausecase,ortoapackage,ortotheimplementationofanoperation.Thepurposeofthisdiagramistofocusonflowsdrivenbyinternalprocessing(asopposedtoexternalevents).Useactivitydiagramsinsituationswhereallormostoftheeventsrepresentthecompletionofinternally-generatedactions(thatis,proceduralflowofcontrol).Useordinarystatediagramsinsituationswhereasynchronouseventsoccur.ActionstateAnactionstateisashorthandforastatewithanentryactionandatleastoneoutgoingtransitioninvolvingtheimpliciteventofcompletingtheentryaction(theremaybeseveralsuchtransitionsiftheyhaveguardconditions).Actionstatesshouldnothaveinternaltransitionsoroutgoingtransitionsbasedonexplicitevents,usenormalstatesforthissituation.Thenormaluseofanactionstateistomodelastepintheexecutionofanalgorithm(aprocedure)oraworkflowprocess.ActivitystateAsubactivitystateinvokesanactivitygraph.Whenasubactivitystateisentered,theactivitygraph“nested”initisexecutedasanyactivitygraphwouldbe.Thesubactivitystateisnotexiteduntilthefinalstateofthenestedgraphisreached,orwhentriggereventsoccurontransitionscomingoutofthesubactivitystate.Sincestatesinactivitygraphsdonotnormallyhavetriggerevents,subactivitystatesarenormallyexitedwhentheirnestedgraphisfinished.Asingleactivitygraphmaybeinvokedbymanysubactivitystates.Action-ObjectFlowActionsoperatebyandonobjects.Theseobjectseitherhaveprimaryresponsibilityforinitiatinganaction,orareusedordeterminedbytheaction.Actionsusuallyspecifycallssentbetweentheobjectowningtheactivitygraph,whichinitiatesactions,andtheobjectsthatarethetargetsoftheactions.舉例1)選課程計劃2)戶籍管理3)喝咖啡ComponentDiagram Aphysical,replaceablepartofasystemthatpackages implementationandconformstoandprovidesthe realizationofasetofinterfaces. Acomponentrepresentsaphysicalpieceofimplementationofasystem,includingsoftwarecode(source,binaryorexecutable)orequivalentssuchasscriptsorcommandfiles.componentasoftwaremodule(sourcecode,binarycode,executable,DLL,etc.)withawell-definedinterface.ComponetstereotypesMainprograms,主程序Packages,構件包Subprograms,子程序Tasks,獨立線程EXE,可執(zhí)行文件DLL,動態(tài)連接庫任務獨立線程。子程序不含類聲明。動態(tài)鏈接庫主程序構件包子系統構件依賴關系軟件模塊的編譯和運行時關系。

clientcomponentcaninheritfrom,containinstancesof,use,andotherwisedependonclassesthatareexportedfromthesuppliercomponent.Youcandrawadependencyrelationshipfromacomponenttoaninterfaceofanothercomponent,whichmeansthattheclientcomponentusestheoperationsoftheothercomponent.Youcanalsodrawarealizerelationshipfromacomponenttoaninterfaceofanothercomponent,whichmeansthattheclientcomponentprovidestheoperationsoftheothercomponent.DeploymentDiagram Adiagramthatshowstheconfigurationofrun-timeprocessingnodesandthecomponents,processes,andobjectsthatliveonthem.Componentsrepresentrun-timemanifestationsofcodeunits.處理機設備處理機Characteristics

硬件的物理描述。theconnectiontypeandbandwidth,themanufacturer,model,memory,anddisksofamachine,orthekindandsizeofadevice.Processes Processesdenotetherootofamainprogramfromacomponentdiagramorthenameofanactiveobjectfromacollaborationdiagram.進程優(yōu)先級處理機Scheduling,進程調度方式preemptive(缺?。?,搶占式non-preemptive,非搶占式cyclic,循環(huán)式executive,算法控制manual,外部控制Device無計算能力的外部設備,如modem、終端。theconnectiontypeandbandwidth,themanufacturer,model,memory,anddisksofamachine,orthekindandsizeofadeviceConnection連接,兩個實體間的硬件耦合,通信通道。直接連接,如RS-232。間接連接,如衛(wèi)星。二、RUP建模過程與步驟系統分析、設計工作流UseCase分析步驟SupplementtheUse-CaseDescriptionForeachuse-caserealizationFindClassesfromUse-CaseBehaviorDistributeUse-CaseBehaviortoClassesForeachresultinganalysisclassDescribeResponsibilitiesDescribeAttributesandAssociationsQualifyAnalysisMechanismsUnifyAnalysisClassesCheckpoints[舉例]UseCaseViewBusinessObjectModel(可選)

describingthebusinessUseCaseModel forthesystemamodelofthebehaviorofasystemwhichsupportsthebusinessprocesses.UseCaseModelTheUse-CaseModelistraceableto(andderivesfrom)theBusinessModel.Thesystem(asdescribedintheUseCaseModel)providesbehaviorthatsupportsthebusiness.UseCasepackageUseCasepackage AllUseCasesinthesystemarecontainedinthispackage.Thisisdonestrictlyasawaytoorganizethemodelandmakeiteasiertounderstand. UseCasesareoftendocumentedinaseparatetextfile,usetheRationalUnifiedProcesstemplateorusetheusecasetemplateinRationalRequsitePro. The"UseCaseRealizations"thatcorrespondtotheseusecasesarecreatedintheDesignModel..UseCasepackageIncludedUseCasespackage contains"common"usecaseswhicharetextuallyincludedinoneormoreotherusecases.Theyareorganizedinthispackagetopromotegreaterreuse.ArchitecturallySignificantUseCasesdiagram containsallarchitecturallysignificantusecases.<Annotationsmaybeaddedtothediagramtoexplainwhyparticularusecasesarearchitecturallysignificant.>ActorPackageActorpackage AllActorsinthesystemarecontainedinthispackage.Thisisbothasawaytoorganizethemodel,makingiteasiertounderstand,andtoprovideawaytomanagetheactorsinasingleconfigurationitem.LogicalViewAnalysisModel(optional) containsasetofAnalysisClasses,whichdescribeanabstractrealizationoftheusecasesofthesystem;evolveintoassociateddesignelementswhicharemodeledintheDesignModel.BusinessObjectModelDesignModelBusinessObjectModelcontainsasetofinteractingworkersandbusinessentity(domain)classeswhichcollaboratetoenactthebusinessprocesses.Insomecases,onlythebusinessentityclassesaredocumented.Thebusinessentityclassesasawholearesometimesreferredtoasa'domainmodel'.ThebusinessmodelingworkflowinRationalUnifiedProcessproducestwomodels:thebusinessuse-casemodel,andthebusinessobjectmodel.Bothshowthebusinessprocesses,butdifferentaspectsofthem.Inthebusinessuse-casemodeleachbusinessusecaserepresentsabusinessprocess,described(textand/oractivitydiagrams)froman"external"viewpointwithoutworryingaboutwhodoeswhattowhominsideoftheorganization.Inthebusinessobjectmodel,youincluderealizationsofeachbusinessusecasetoshowhowworkersandentitiescollaboratetoperformtheprocess.Youdothatusingclassdiagrams,activitydiagramswithswimlanes,collaborationdiagrams,and/orinteractiondiagrams.DesignModelisadaptedtomodeltherealimplementationenvironment,andservesasanabstractionofthesourcecode.Itisa"blueprint"ofhowthesourcecodeisstructuredandwritten.Thedesignmodelisahierarchyofpackages(designsubsystemsanddesign-servicepackages),with"leaves"thatareclasses.Subsystemsareadesign"view"ofthecomponentsthataredefinedintheImplementationModel.Thedesignmodelhierarchyconsistsoflayers.Classesrepresentabstractionsofclassesinthesystem'simplementation.Theydefinetheobjects,whichinturnareabstractionsoftheobjectsinthesystem'simplementation.Theusecasesarerealizedbytheobjects,andthisisrepresentedbyuse-caserealizationsintheDesignModel.Eachuse-caserealizationhasarealizedependencytoausecaseintheUse-CaseModel.

DesignModelLayerProcessView Anarchitecturalviewthatdescribestheconcurrentaspectofthesystem:tasks(processes)andtheirinteractions.UseCaseRealizationsArchitecturallySignificantModelElementsArchitectureOverview-Package,SubsystemLayeringLayerThedesignmodelisnormallyorganizedinlayers.Thenumberoflayersisnotfixed,butvariesfromsituationtosituation.Duringarchitecturalanalysis,focusisnormallyonthetwohigh-levellayers,thatis,theapplicationandbusiness-specificlayers;thisiswhatismeantbythe"high-levelorganizationofsubsystems."Theotherlower-levellayersareinfocusduringarchitecturaldesign,refertotheactivityArchitecturalDesignformoreinformation.Layer-packageApackageshouldbeusedincaseswhereasetofclassesand/orotherpackagesneedtobegroupedtogetherformodelorganizationpurposes.Thoughthecontentsofthepackagecanhavepublicvisibility,whichmakesthemvisibletomodelelementsoutsidethecontainingpackage,packagesareprimarilyjustgroupingmechanisms.Ifasetofclassesistobeencapsulatedandcanbehiddenbehindawell-definedinterface,asubsystemisamoreappropriatecontainer.Layer-subsystemAsubsystemshouldbeusedincaseswhereasetofclassesand/orotherpackagesneedtobeencapsulatedwithinacontainerandhiddenbehindasetofwell-definedinterfaces.Byconvention,noneofthecontentsofsubsystemarevisibleexcepttheinterfacesofthesubsystem.Thisallowssubsystemstobeeasilyreplaced,andtheimplementationschanged,providedtheinterfacesremainunchanged.Itoffersadegreeofencapsulationgreaterthanthatofthepackage.Ifasetofclassesismerelytobegroupedtogether,butpublicvisibilityofclassesisstilldesirable,apackageisamoreappropriatecontainer.Subsystem設計步驟DistributeSubsystembehaviortoSubsystemElementsDocumentSubsystemElementsDescribeSubsystemDependenciesCheckpointsClass設計步驟CreateInitialDesignClassesIdentifyPersistentClassesDefineOperationsDefineClassVisibilityDefineMethodsDefineStatesDefineAttributesDefineDependenciesDefineAssociationsDefineGeneralizationsResolveUseCaseCollisionsHandleNon-FunctionalRequirementsinGeneralCheckpointsProcessViewProcessviewdiagram-

illustratesthecompositionofprocessesandthreads,andthemappingofclassesontothoseprocessesandthreads.UseCase設計步驟DescribeInteractionsBetweenDesignObjectsSimplifyInteractionDiagramsUsingSubsystems(optional)DescribePersistence-RelatedDescriptionRefinetheFlowofEventsDescriptionUnifyClassesandSubsystemsCheckpointsUseCaseRealizationspackageInthisPackagewewilldescribe"UseCaseRealizations"asstereotypedusecases.Ause-caserealizationdescribeshowaparticularusecaseisrealizedwithinthedesignmodel,intermsofcollaboratingobjects.Arealizedependencyisusedbetweenthe"UseCaseRealization"andthe"UseCase"intheuse-casemodelthatisrealized.UseCaseRealizationParticipatingclassesdiagramrealizedependiciesSequenceDiagram basictype,otherflowtypeComponentViewImplementationModel isacollectionofcomponents,andtheimplementationsubsystemsthatcontainthem.

Anarchitecturalviewthatdescribesoneorseveralsystemconfigurations;themappingofsoftwarecomponents(tasks,modules)tothecomputingnodesintheseconfigurations. Definesexecutables,dlls,files,subsystems,compilationorderetc. Itisrecommendedthat,inmostcases,themappingshouldbe 1:1betweendesignandimplementation,thatis,foreachpackageindesignthereisonesubsystemintheimplementationmodel.DeploymentViewDefinesthetypicalphysicalnetworkconfigurations,includingthosetypicallyusedbyendusers,aswellasspecialconfigurationsusedfordevelopmentandtest.Allocateprocessestothevariousnodes.Allocationtakesintoaccountthecapacityofthenodes(intermsof bothmemoryandprocessing),bandwidthofthecommunicationmedium(bus,LANs,WANs),andthe availabilityofthehardwareandcommunicationlinks,rerouting,andsoon.三、討論

3.RUP的方法是迭代式的,是不是可以理解為軟件開發(fā)時先做一個簡單的,實現基本功能的軟件,然后再不斷的改進,但是以前的開發(fā)過程中,有些情況應該首先將界面設計好,然后在編寫業(yè)務代碼的同時,同步進行使用手冊、產品演示等工作,如果采用RUP應該如何協調?

Risk-drivenMilestone

4.我覺得完全按照Rose的各種框圖設計太繁瑣了,能不能推薦一種簡化的方案?

應動靜結合,不能隨意簡化,否則對系統的認識不完整,最終以說清楚為準。可參考RoseRUPFramework。

5.Rose的中文化問題,哪些對象的命名可用中文?如Sequence圖中的Message命名是否不能用中文?

業(yè)務模型、抽象類,不影響代碼生成的圖形元素均可以。

6.Sequence圖與Class圖是否是同時生成并交互修改?

1)嚴格地說,一上來就畫靜態(tài)結構(類圖)不對,靜態(tài)結構是為動態(tài)模型完成的功能服務的,所以應該先有需求階段的順序圖(動態(tài)模型),后有靜態(tài)模型,這是因果關系。

2)類模型中有邊界類、控制類和實體類。實體類是客觀存在的,所以在需求階段的靜態(tài)結構中,主要是指實體類(即業(yè)務對象)和重要的邊界類、控制類(但一般是抽象類)。

3)順序圖有兩種分別在UseCaseView和LogicalView中出現,用途不同,都可能修改,類圖應隨之變化。

7.請列舉出運用Rose系列工具進行軟件開發(fā)的全過程。

RUP9.生成的代碼中能不能體現UseCase圖中順序圖所展示出來的業(yè)務流程?RoseRealTime模型本身可以執(zhí)行。將來Rose也可以在模型中加入代碼。

10.在VB語言的模型中,VBForm如何在模型中實現?

ordersys.mdl11.Stereotype的不同類型如何在模型中體現?Astereotypeis,ineffect,anewclassofmodelingelementthatisintroducedatmodelingtime.Itrepresentsasubclassofanexistingm

溫馨提示

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

評論

0/150

提交評論