1 / 49

Unified Modeling Language User Guide

Unified Modeling Language User Guide. Section 1—Getting Started. Paper. Konsep Object dan Class Intro UML Enrollkey: pbotik-h Minngu depan Review intro UML Object oriented modeling. Overview. Why we model Importance Principles Object-oriented modeling Introducing UML UML Overview

Télécharger la présentation

Unified Modeling Language User Guide

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Modeling LanguageUser Guide Section 1—Getting Started

  2. Paper • Konsep Object dan Class • Intro UML • Enrollkey: pbotik-h • Minngu depan • Review intro UML • Object oriented modeling CS6359

  3. Overview • Why we model • Importance • Principles • Object-oriented modeling • Introducing UML • UML Overview • Conceptual model of UML • Architecture • Software development life-cycle CS6359

  4. What is a model? • A model is a simplification of reality. • A set of blueprints of a system. • Semantically closed abstraction of the system. • A model is an abstraction of something for the purpose of understanding it before building it. CS6359

  5. Why We Model • Communicate a desired structure and behavior of a software system. • Visualize and control a system’s architecture. • Assist in understanding a system under development. • Expose opportunities for simplification and reuse. • Manage risk. • Document decisions. CS6359

  6. Importance of Modeling • Proven and accepted engineering technique; divide-and-conquer. • We build models of complex systems because we cannot comprehend such a system in its entirety. • Desire to build the right software right. CS6359

  7. Principles of Modeling • The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. • Every model may be expressed at different levels of precision. • The best models are connected to reality. • No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models. CS6359

  8. Modeling Comparison • Functional • Algorithmic perspective • Building blocks of functions or procedures • Yields brittle systems • Object-Oriented • Building blocks of classes or objects. • Drawn from the vocabulary of the problem space. CS6359

  9. Object vs. Class • Object • Thing drawn from the problem domain or solution space. • Instantiation of class. • Has identity, state, and behavior. • Class • Description of a set of common objects. CS6359

  10. Introducing UML • Used to visualize, specify, construct, and document • …appropriate for modeling systems ranging from enterprise information systems to distributed Web-based applications and even to hard real time embedded systems. • Process independent. CS6359

  11. UML is a Language • Vocabulary and rules for communication. • Focus on conceptual and physical representations of a system. • A language for software blueprints. • Not a process. CS6359

  12. A UML Compatible Process • Use case driven • Architecture-centric • Iterative • Incremental CS6359

  13. UML is for Visualizing • An explicit model facilitates communication. • UML is a graphical language. • UML symbols are based on well-defined semantics. CS6359

  14. UML is for Specifying • Specifying means building models that are: • Precise • Unambiguous • Complete • UML addresses the specification of all important analysis, design, and implementation decisions. CS6359

  15. UML is for Constructing • Models are related to OO programming languages. • Round-trip engineering • Forward engineering—direct mapping of a UML model into code. • Reverse engineering—reconstruction of a UML model from an implementation. • Requires tool and human intervention to avoid information loss. CS6359

  16. UML is for Documenting • Architecture • Requirements • Tests • Activities • Project planning • Release management CS6359

  17. Conceptual Model of UML • Three basic building blocks of UML • Things—abstractions that are first class citizens in a model. • Relationships—tie things together. • Diagrams—group interesting collections of things. CS6359

  18. Things • Structural—nouns of UML models. • Behavioral—dynamic parts of UML models. • Grouping—organizational parts of UML models. • Annotational—explanatory parts of UML models. CS6359

  19. Structural Things • Nouns of UML models. • Conceptual or physical elements. • Seven Kinds • Classes • Interfaces • Collaborations • Use cases • Active classes • Components • Nodes CS6359

  20. Window name attributes operations origin size open() close() Classes • Description of a set of objects that share the same attributes, operations, relationships, and semantics. • Implement one or more interfaces. CS6359

  21. Interfaces • Collection of operations that specify a service of a class or component. • Describes the externally visible behavior. IWindow <<interface>> IWindow name operations open() close() CS6359

  22. Collaborations • Defines an interaction. • Society of roles and other elements. • Provide cooperative behavior. • Structural and behavioral dimensions. Chain of responsibility CS6359

  23. Use Cases • Description of a sequence of actions that produce an observable result for a specific actor. • Provides a structure for behavioral things. • Realized by a collaboration. Place order CS6359

  24. Active Classes • Special class whose objects own one or more processes or threads. • Can initiate control activity. Event Manager heavy border name attributes operations suspend() flush() CS6359

  25. Components • Physical and replaceable part. • Conforms to a set of interfaces. • Physical packaging of logical components. CS6359

  26. Node • Physical element that exists at run time. • Represents a computational resource. • Generally has memory and processing power. Node CS6359

  27. Variations on Structural Things • Actors • Signals • Utilities • Processes and Threads • Applications • Documents • etc. CS6359

  28. Behavioral Things • Verbs of UML models. • Dynamic parts of UML models. • Usually connected to structural elements. • Two kinds • Interactions—behavior that comprises a set of messages exchanged among a set of objects. • State Machines—specifies the sequences of states an object or interaction goes through in response to events. display Idle CS6359

  29. Business rules Grouping Things • Organizational parts of UML. • Purely conceptual; only exists at development time. • One kind • Package—general-purpose mechanism for organizing elements. CS6359

  30. Annotational Things • Explanatory parts of UML. • Comments regarding other UML elements. • Information best expressed as text. • One kind • Note—symbol for rendering constraints or comments attached to an element. Return copy of self CS6359

  31. Relationships in UML • Dependency • Association • Generalization • Realization CS6359

  32. Relationships • Dependency—semantic relationship between two things in which a change to one thing may affect the semantics of the other. • Association—structural relationship that describes a set of links; a link being a connection among objects. 0..1 * employer employee CS6359

  33. Relationships (cont’d) • Generalization—specialization relationship in which child objects are substitutable for the parent. • Realization—semantic relationship between classifiers, wherein one classifier specifies a contract that the other guarantees to carry out. CS6359

  34. Diagrams • Graphical representation of a set of elements. • Rendered as a connected graph • Vertices are things. • Arcs are behaviors. • Projection into a system form a specific perspective. • Five most common views built from nine diagram types. CS6359

  35. Class Object Use case Sequence Collaboration Statechart Activity Component Deployment Common Diagram Types CS6359

  36. Rules of UML • Well formed models—semantically self-consistent and in harmony with all its related models. • Semantic rules for: • Names—what you can call things. • Scope—context that gives meaning to a name. • Visibility—how names can be seen and used. • Integrity—how things properly and consistently relate to one another. • Execution—what it means to run or simulate a dynamic model. CS6359

  37. Models in Development • Elided—certain elements are hidden for simplicity. • Incomplete—certain elements may be missing. • Inconsistent—no guarantee of integrity. UML encourages the most important aspects such that models become well-formed over time. CS6359

  38. Common Mechanisms in UML • Specifications—textual statement of the syntax and semantics of a building block. • Adornments—other details attached to UML elements. • Common divisions—dichotomy representation of elements (i.e. Class vs. Object) CS6359

  39. Common Mechanisms (cont’d) • Extensibility mechanisms • Stereotypes—extends vocabulary. • Tagged values—extends properties of UML building blocks. • Constraints—extend the semantics of UML building blocks. CS6359

  40. Architecture • Set of significant decisions regarding: • Organization of a software system. • Selection of structural elements and interfaces from which a system is composed. • Behavior or collaboration of elements. • Composition of structural and behavioral elements. • Architectural style guiding the system. CS6359

  41. Design View Implementation View Process View Deployment View Architecture Views system assembly configuration mgmt. vocabulary functionality Use Case View behavior system topology distribution delivery installation performance scalability throughput CS6359

  42. Use Case View • Encompasses the behavior as seen by users, analysts and testers. • Specifies forces that shape the architecture. • Static aspects captured in use case diagrams. • Dynamic aspects captured in interaction diagrams, statechart diagrams, and activity diagrams. CS6359

  43. Design View • Encompasses classes, interfaces, and collaborations that define the vocabulary of a system. • Supports functional requirements of the system. • Static aspects captured in class diagrams and object diagrams. • Dynamic aspects captured in interaction diagrams, statechart diagrams, and activity diagrams. CS6359

  44. Process View • Encompasses the threads and processes defining concurrency and synchronization mechanisms. • Addresses performance, scalability, and throughput. • Static and dynamic aspects captured as in design view; emphasis placed on active classes. CS6359

  45. Implementation View • Encompasses components and files used to assemble and release a physical system. • Addresses configuration management. • Static aspects captured in component diagrams. • Dynamic aspects captured in interaction diagrams, statechart diagrams, and activity diagrams. CS6359

  46. Deployment View • Encompasses the nodes that form the system hardware topology. • Addresses distribution, delivery, and installation. • Static aspects captured in deployment diagrams. • Dynamic aspects captured in interaction diagrams, statechart diagrams, and activity diagrams. CS6359

  47. Software Process • Use case driven—use cases are primary artifact for defining behavior of the system. • Architecture-centric—the system’s architecture is primary artifact for conceptualizing, constructing, managing, and evolving the system. • Iterative and incremental—managing streams of executable releases with increasing parts of the architecture included. CS6359

  48. Phases • Span of time between two major milestones. • Primary phases • Inception—seed idea is brought up to point of being a viable project. • Elaboration—product vision and architecture are defined. • Construction—brought from architectural baseline to point of deployment into user community. • Transition—turned over to the user community. CS6359

  49. Summary • Modeling. • UML introduction. • Building blocks of UML. • Rules of UML. • Common UML mechanisms. • Architectural views. • Software lifecycle. CS6359

More Related