1 / 21

Introduction to UML

Introduction to UML. CS320 – Software Engineering Adapted from the slide of Chris Kobryn Co-Chair UML Revision TaskForce. Quick Tour. Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies. Why model?.

winola
Download Presentation

Introduction to UML

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. Introduction to UML CS320 – Software Engineering Adapted from the slide of Chris Kobryn Co-Chair UML Revision TaskForce

  2. Quick Tour • Why do we model? • What is the UML? • Foundation elements • Unifying concepts • Language architecture • Relation to other OMG technologies Introduction to UML

  3. Why model? • Do engineers start building a bridge without blueprints? Introduction to UML

  4. Some Answers • Provide structure for problem solving • Experiment to explore multiple solutions • Furnish abstractions to manage complexity • Reduce time-to-market for business problem solutions • Decrease development costs • Manage the risk of mistakes Introduction to UML

  5. Why do we model graphically? • Graphics reveal data. • Edward TufteThe Visual Display of Quantitative Information, 1983 • “A picture is worth a thousand words” Introduction to UML

  6. Quick Tour • The UML is a graphical language for • specifying • visualizing • constructing • documenting the artifacts of software systems • Added to the list of OMG adopted technologies in November 1997 as UML 1.1 • Next minor revision was UML 1.3, adopted in November 1999 • Next minor revision was UML 1.4 • Next major revision was UML 2.0 Introduction to UML

  7. UML Goals • Define an easy-to-learn but semantically rich visual modeling language • Unify the Booch, OMT, and Objectory modeling languages • Include ideas from other modeling languages • Incorporate industry best practices • Address contemporary software development issues • scale, distribution, concurrency, executability, etc. • Provide flexibility for applying different processes • Enable model interchange and define repository interfaces Introduction to UML

  8. OMG UML Contributors Microsoft ObjecTimeOraclePtech OAO Technology SolutionsRational SoftwareReich SAP Softeam Sterling Software Sun Taskon TelelogicUnisys… AonixColorado State University Computer Associates Concept Five Data Access EDS Enea Data Hewlett-Packard IBM I-LogixInLine Software Intellicorp Kabira TechnologiesKlasse Objecten Lockheed Martin Introduction to UML

  9. OMG UML 1.4 Specification • UML Summary • UML Semantics • UML Notation Guide • UML Example Profiles • Software Development Processes • Business Modeling • Model Interchange • Model Interchange Using XMI • Model Interchange Using CORBA IDL • Object Constraint Language Introduction to UML

  10. UML 2.0 Goals • Restructure and refine the language to make it easier to apply, implement and customize • Improve support for component-based development • Refine architectural specification capabilities • Increase the scaleability, precision and integration of behavioral diagrams • augment sequence diagrams with advanced contructs from MSCs that can be combined and integrated with other behavior • update state machines diagrams to make generalizable and able to support a transition-centric view • revise activity diagrams to support more flexible parallelism and furnish more I/O options • support executable models • Review all UML 1.x constructs and diagrams Introduction to UML

  11. UML 2.0 Superstructure Diagram Interchange Defines user-level constructs to specify structure and behavior of systems (e.g., class diagrams, sequence diagrams) OCL Infrastructure Defines basic constructs to specify UML and to customize it for specific domains (e.g., real-time) Introduction to UML

  12. the Language • language = syntax + semantics • syntax = rules by which language elements (e.g., words) are assembled into expressions (e.g., phrases, clauses) • semantics = rules by which syntactic expressions are assigned meanings • UML Notation Guide – defines UML’s graphic syntax • UML Semantics – defines UML’s semantics Introduction to UML

  13. Foundation Concepts • Building blocks • Well-formedness rules Introduction to UML

  14. Building Blocks • The basic building blocks of UML are: • model elements (classes, interfaces, components, use cases, etc.) • relationships (associations, generalization, dependencies, etc.) • diagrams (class diagrams, use case diagrams, interaction diagrams, etc.) • Simple building blocks are used to create large, complex structures • cf. elements, bonds and molecules in chemistry • cf. components, connectors and circuit boards in hardware Introduction to UML

  15. Diagram: Classifier View Introduction to UML

  16. Diagram: Instance View Introduction to UML

  17. Well-Formedness Rules • Well-formed: indicates that a model or model fragment adheres to all semantic and syntactic rules that apply to it. • UML specifies rules for: • naming • scoping • visibility • integrity • execution (limited) • However, during iterative, incremental development it is expected that models will be incomplete and inconsistent. Introduction to UML

  18. Well-Formedness Rules (cont’d) • Example of semantic rule: Class [1] • English: If a Class is concrete, all the Operations of the Class should have a realizing Method in the full descriptor. • OCL:not self.isAbstract implies self.allOperations->forAll (op | self.allMethods->exists (m | m.specification-> includes(op))) Introduction to UML

  19. Well-Formedness Rules (cont’d) • Example of syntactic rules: Class • Basic Notation: A class is drawn as a solid-outline rectangle with three compartments separated by horizontal lines. • Presentation Option: Either or both of the attribute and operation compartments may be suppressed. • Example of syntactic guideline: Class • Style Guideline: Begin class names with an uppercase letter. Introduction to UML

  20. Language Architecture • Metamodel architecture • Package structure Introduction to UML

  21. Metamodel Architecture From [Kobryn 01b]. Introduction to UML

More Related