Software System EngineeringSlide 2Slide 3The Value of the UMLContributions to the UMLOverview of the UMLBuilding Blocks of the UMLThings in the UMLRelationships (1)Relationships (2)Diagrams in UMLDiagramsUse Case DiagramSlide 14Class Diagram (1)Class Diagram (2)Object Diagram (1)Object Diagram (2)Component Diagram (1)Component Diagram (2)Deployment Diagram (1)Deployment Diagram (2)Activity Diagram (1)Activity Diagram (2)Sequence Diagram (1)Sequence Diagram (2)Collaboration Diagram (1)Slide 28Statechart Diagram (1)Statechart Diagram (2)Architecture and the UMLUML Software Development Life Cycle (1)UML Software Development Life Cycle (2)Lifecycle PhasesDiscussion QuestionsQuestions for the Next Lecture© M.E. Fayad 2000 -- 2006SJSU -- CmpESoftware System Engineering Dr. M.E. Fayad, ProfessorComputer Engineering Department, Room #283I College of EngineeringSan José State UniversityOne Washington SquareSan José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S2 UML Overview2Lesson 6:Unified Modeling Language (UML) Overview© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S3 UML Overview Lesson ObjectivesObjectives3 The value of the UML Contribution to the UML Building Blocks of the UML Diagrams in the UML© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S4 UML OverviewIs an open standardSupports the entire software development lifecycle – DebateSupports diverse applications areasIs based on experience and needs of the user communitySupported by many tools4The Value of the UML© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S5 UML Overview5Contributions to the UMLGuess who?© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S6 UML OverviewThe UML is a language for–visualizing–specifying–constructing–documentingthe artifacts of a software-intensive system6Overview of the UML© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S7 UML OverviewThingsRelationshipsDiagrams7Building Blocks of the UML© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S8 UML OverviewStructural things–mostly static parts of a model•class, interface, collaboration, use case, active class, component, nodeBehavioral things–dynamic parts of UML models•interaction, state machineGrouping things–organizational parts of UML•package, subsystemOther things–explanatory parts of UML•noteThings in the UML© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S9 UML OverviewDependency–a semantic relationship between two things in which a change to one thing (the independent thing) may affect the semantics of the other thing (the dependent thing)Association–a structural relationship that describes a set of linksRelationships (1)9© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S10 UML OverviewGeneralization–a specialization/generalization relationship in which the child shares the structure and the behavior of the parentRealization–a realization is a relationship in which one classifier, such as an interface or a use case, specifies a "contract" that another classifier, such as a class or a collaboration, guarantees to carry out10Relationships (2)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S11 UML Overview11Diagrams in UMLUse CaseDiagramsUse CaseDiagramsUse CaseDiagramsScenarioDiagramsScenarioDiagramsCollaborationDiagramsStateDiagramsStateDiagramsComponentDiagramsComponentDiagramsComponentDiagramsDeploymentDiagramsStateDiagramsStateDiagramsObjectDiagramsScenarioDiagramsScenarioDiagramsStatechartDiagramsUse CaseDiagramsUse CaseDiagramsSequenceDiagramsStateDiagramsStateDiagramsClassDiagramsActivityDiagramsModels+© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S12 UML OverviewA diagram is a view into a model–Presented from the aspect of a particular stakeholder–Provides a partial representation of the system–Is semantically consistent with other viewsIn the UML, there are nine standard diagrams–Static views: use case, class, object, component, deployment–Dynamic views: sequence, collaboration, statechart, activity12Diagrams© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S13 UML OverviewShows a set of use cases and actors and their relationships13Use Case Diagram© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S14 UML OverviewCaptures system functionality as seen by usersBuilt in early stages of developmentPurpose–Specify the context of a system–Capture the requirements of a system–Validate a system’s architecture–Drive implementation and generate test casesDeveloped by analysts and domain experts14Use Case Diagram© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S15 UML OverviewShows a set of classes, interfaces, and collaborations and their relationships15Class Diagram (1)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S16 UML OverviewCaptures the vocabulary of a systemAddresses the static design view of a systemBuilt and refined throughout developmentPurpose–Name and model concepts in the system–Specify collaborations–Specify logical database schemasDeveloped by analysts, designers, and implementers16Class Diagram (2)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S17 UML OverviewShows a set of objects and their relationships17Object Diagram (1)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S18 UML OverviewRepresents static snapshots of instances of the things found in class diagramsAddresses the static design view or static process view of a systemBuilt during analysis and designPurpose–Illustrate data/object structures–Specify snapshotsDeveloped by analysts, designers, and implementers18Object Diagram (2)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S19 UML OverviewShows the organizations and dependencies among a set of components19Component Diagram (1)© M.E. Fayad 2000 -- 2006SJSU – CmpE M.E. Fayad L3-2-S20 UML OverviewAddresses the static implementation view of a systemBuilt as part of architectural specificationPurpose–Organize source code–Construct an executable release–Specify a physical
View Full Document