UML复习题.docx
《UML复习题.docx》由会员分享,可在线阅读,更多相关《UML复习题.docx(20页珍藏版)》请在冰豆网上搜索。
UML复习题
ØWhatisthepurposeofaninteractiondiagram?
Aninteractiondiagramshowsaninteractionthatconsistsofasetofobjectsandtheirrelationships,includingthemessagesthatmaybedispatchedamongthem.
Itmodelsthedynamicaspectsofasystem.
ØWhatisasequencediagram?
Acollaborationdiagram?
Asequencediagramisaninteractiondiagramthatemphasizesthetimeorderingofmessages.
Acollaborationdiagramemphasizestheorganizationoftheobjectsthatparticipateinaninteraction.
Semanticallyequivalent(Canconvertonediagramtotheotherwithoutlosinganyinformation)
Modelthedynamicaspectsofasystem
Modelause-casescenario
ØWhatarethesimilaritiesbetweensequenceandcollaborationdiagrams?
ØWhatarethedifferencesbetweensequenceandcollaborationdiagrams?
Collaborationdiagrams
⏹Showrelationshipsinadditiontointeractions
⏹Betterforvisualizingpatternsofcollaboration
⏹Betterforvisualizingalloftheeffectsonagivenobject
⏹Easiertouseforbrainstormingsessions
Sequencediagrams
⏹Showtheexplicitsequenceofmessages
⏹Showfocusofcontrol
⏹Betterforvisualizingoverallflow
⏹Betterforreal-timespecificationsandforcomplexscenarios
ØWhatisaclassdiagram?
Staticviewofasystem.
ØClassDiagramUsage
Whenmodelingthestaticviewofasystem,classdiagramsaretypicallyusedinoneofthreeways,tomodel:
⏹Thevocabularyofasystem
⏹Collaborations
⏹Alogicaldatabaseschema
ØWhat'sapackage?
⏹Ageneralpurposemechanismfororganizingelementsintogroups.
⏹Amodelelementthatcancontainothermodelelements.
Apackagecanbeused:
⏹Toorganizethemodelunderdevelopment
⏹Asaunitofconfigurationmanagement
ØWhatIsanAssociation?
⏹Thesemanticrelationshipbetweentwoormoreclassifiersthatspecifiesconnectionsamongtheirinstances.
⏹Astructuralrelationshipspecifyingthatobjectsofonethingareconnectedtoobjectsofanotherthing.
ØWhatIsMultiplicity?
⏹MultiplicityisthenumberofinstancesoneclassrelatestoONEinstanceofanotherclass.
⏹Foreachassociation,therearetwomultiplicitydecisionstomake,oneforeachendofthe
association.
✓ForeachinstanceofProfessor,manyCourseOfferingsmaybetaught.
✓ForeachinstanceofCourseOffering,theremaybeeitheroneorzeroProfessorastheinstructor.
ØWhatIsanAggregation?
⏹Aspecialformofassociationthatmodelsawhole-partrelationshipbetweentheaggregate(thewhole)anditsparts.
Anaggregationisan“isapart-of”relationship.
⏹Multiplicityisrepresentedlikeotherassociations.
ØWhatIsGeneralization?
⏹Arelationshipamongclasseswhereoneclasssharesthestructureand/orbehaviorofoneormoreclasses.
⏹Definesahierarchyofabstractionswhereasubclassinheritsfromoneormoresuperclasses.
Singleinheritance
Multipleinheritance
⏹Isan“isakindof”relationship.
ØWhatdoesaclassdiagramrepresent?
ØWhatbenefitsdopackagesprovidetothemodel?
ØDefineassociation,aggregation,andgeneralization.
ØHowdoyoufindassociations?
ØWhatismultiplicity?
Whatinformationdoesmultiplicityprovidethemodeler?
ØAnObjectHasState
⏹Thestateofanobjectisoneofthepossibleconditionsinwhichanobjectmayexist.
⏹Thestateofanobjectnormallychangesovertime.
ØWhatAreStatechartDiagrams?
⏹Astatechartdiagramshowsastatemachine.
⏹Itspecifiesthesequenceofstatesthatanobjectcanbein:
Theeventsandconditionsthatcausetheobjecttoreachthosestates
Theactionsthattakeplacewhenthosestatesarereached
ØDrawingStates
⏹Astateisrepresentedasaroundedrectangleonastatechartdiagram.
⏹Asacomparison,notethesubtledifferencebetweenastateandanactivity.
ØWhatAreEvents?
⏹Aneventisthespecificationofasignificantoccurrencethathasalocationintimeandspace.
⏹Aneventisanoccurrenceofastimulusthatcantriggerastatetransition.
ØWhatAreTransitions?
⏹Atransitionisachangefromanoriginatingstatetoasuccessorstateasaresultofsomestimulus.
⏹Atransitionmaytakeplaceinresponsetoanevent.
⏹Transitionscanbelabeledwithevents.
ØWhatIsaDeploymentDiagram?
Thedeploymentdiagramshows:
⏹Configurationofprocessingnodesatrun-time
⏹Communicationlinksbetweenthesenodes
⏹Componentinstancesandobjectsthatresideonthem
ØWhatIsaNode?
⏹Aphysicalelementthatexistsatrun-timeandrepresentsacomputationalresource.
⏹Types:
◆ProcessorNode
•Executessystemsoftware
◆DeviceNode
•Supportdevice
•Typicallycontrolledbyaprocessor
ØWhatIsaConnection?
⏹Aconnectionrepresentsa:
Communicationmechanism
•Physicalmedium
•Softwareprotocol
ØWhatIsaComponentDiagram?
Adiagramthatshowstheorganizationofandthedependenciesamongasetofcomponents.
ØWhatIsaComponent?
⏹Amodular,deployable,andreplaceablepartofasystemthatencapsulatesimplementationandexposesasetofinterfaces.
⏹Itconformstoandprovidesthephysicalrealizationofasetofinterfaces.
ØDefinestate.Howdoyoudeterminetheclasseswithsignificantstate?
ØWhatisastatechartdiagram?
Describethedifferentpartsofthediagram.
ØHowdostatechartdiagramsmaptotherestoftheworld?
ØWhatisthepurposeofadeploymentdiagram?
ØWhatisacomponentdiagram?
ØSymptomsofSoftwareDevelopmentProblems
⏹Userorbusinessneedsnotmet
⏹Requirementsnotaddressed
⏹Modulesnotintegrating
⏹Difficultieswithmaintenance
⏹Latediscoveryofflaws
⏹Poorqualityofend-userexperience
⏹Poorperformanceunderload
⏹Nocoordinatedteameffort
⏹Build-and-releaseissues
ØBestPractices
⏹ProcessMadePractical
⏹DevelopIteratively
⏹ManageRequirements
⏹UseComponent
⏹Architectures
⏹ModelVisually(UML)
⏹ContinuouslyVerifyQuality
⏹ManageChange
ØRequirementsManagement
Makingsureyou
✓solvetherightproblem
✓buildtherightsystem
bytakingasystematicapproachto
✓eliciting
✓organizing
✓documenting
✓managing
thechangingrequirementsofa
softwareapplication.
ØAspectsofRequirementsManagement
⏹AnalyzetheProblem
⏹UnderstandUserNeeds
⏹DefinetheSystem
⏹ManageScope
⏹RefinetheSystemDefinition
⏹ManageChangingRequirements
ØResilientComponent-BasedArchitectures
⏹Resilient
✓Meetscurrentandfuturerequirements
✓Improvesextensibility
✓Enablesreuse
✓Encapsulatessystemdependencies
⏹Component-based
✓Reuseorcustomizecomponents
✓Selectfromcommerciallyavailablecomponents
✓Evolveexistingsoftwareincrementally
ØPurposeofaComponent-BasedArchitecture
⏹Basisforreuse
✓Componentreuse
✓Architecturereuse
⏹Basisforprojectmanagement
✓Planning
✓Staffing
✓Delivery
⏹Intellectualcontrol
✓Managecomplexity
✓aintainintegrity
ØWhyModelVisually?
⏹Capturesstructureandbehavior
⏹Showshowsystemelementsfittogether
⏹Keepsdesignandimplementationconsistent
⏹Hidesorexposesdetailsasappropriate
⏹Promotesunambiguouscommunication
TheUMLprovidesonelanguageforallpractitioners
ØWhatDoYouWanttoControl?
⏹Secureworkspacesforeachdeveloper
⏹Automatedintegration/buildmanagement
⏹Paralleldevelopment
ØAspectsofaCMSystem
⏹ChangeRequestManagement(CRM)
⏹ConfigurationStatusReporting
⏹ConfigurationManagement(CM)
⏹ChangeTracking
⏹VersionSelection
⏹SoftwareManufacture
ØUnifiedChangeManagement(UCM)
UCMinvolves:
⏹Managementacrossthelifecycle
✓System
✓ProjectManagement
⏹Activity-BasedManagement
✓Tasks
✓Defects
✓Enhancements
⏹ProgressTracking
✓Charts
✓Reports
ØAchievingBestPractices
⏹Iterativeapproach
⏹Guidanceforactivitiesandartifacts
⏹Processfocusonarchitecture
⏹Usecasesthatdrivedesignandimplementation
⏹Modelsthatabstractthesystem
ØATeam-BasedDefinitionofProcess
AprocessdefinesWhoisdoingWhat,When,andHow,inordertoreachacertaingoal.
⏹RationalUnifiedProcesshasfourphases:
✓Inception-Definethescopeofproject
✓Elaboration-Planproject,specifyfeaturesandbaselinearchitecture
✓Construction-Buildtheproduct
✓Transition-Transitiontheproductintoend-usercommunity
Aniterationisadistinctsequenceofactivitiesbasedonanestablishedplanandevaluationcriteria,resultinginanexecutablerelease(internalorexternal).
ØReview
⏹BestPracticesguidesoftwareengineeringbyaddressingrootcauses.
⏹BestPracticesreinforceeachother.
⏹Processguidesateamonwhodoeswhat,when,andhow.
⏹TheRationalUnifiedProcessisameansofachievingBestPractices.
ØWhatIsSystemBehavior?
⏹Systembehaviorishowasystemactsandreacts.
Itistheoutwardlyvisibleandtestableactivityof
asystem.
⏹Systembehavioriscapturedinusecases.
Usecasesdescribethesystem,itsenvironment,andtherelationshipbetweenthesystemanditsenvironment.
Anactorrepresentsanythingthatinteractswiththesystem.
Ausecaseisasequenceofactionsasystemperformsthatyieldsanobservableresultofvaluetoaparticularactor.
ØWhatIsaUse-CaseModel?
⏹Amodelthatdescribesasystem’sfunctionalrequirementsintermsofusecases
⏹Amodelofthesystem’sintendedfunctionality(usecases)anditsenvironment(actors)
ØWhatAretheBenefitsofaUse-CaseModel?
⏹Communication
⏹Identification
⏹Verification
ØUse-CaseSpecifications
⏹Name
⏹Briefdescription
⏹FlowofEvents
⏹Relationships
⏹Activitydiagrams
⏹Use-Casediagrams
⏹Specialrequirements
⏹Pre-conditions
⏹Post-conditions
⏹Otherdiagrams
ØUse-CaseFlowofEvents
⏹Hasonenormal,basicflow
⏹Severalalternativeflows
⏹Regularvariants
⏹Oddcases
⏹Exceptionalflows