Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006 The Unified Modeling Language Patrick Bailey Keith Vander Linden Calvin College
Smith’s Aerospace © P. Bailey & K. Vander Linden, Dilbert © United Feature Syndicate, Inc.
Smith’s Aerospace © P. Bailey & K. Vander Linden, The Unified Modeling Language ● UML is a visual language for specifying, constructing and documenting the artifacts of systems. ● Characteristics: – A collection of diagramming languages – Non-proprietary – Semi-formal – Object-oriented – Process-neutral
Smith’s Aerospace © P. Bailey & K. Vander Linden, Outline ● Modeling Modeling ● History History ● Diagrams Diagrams ● Example Example ● Using UML Using UML
Smith’s Aerospace © P. Bailey & K. Vander Linden, Modeling: Architecture Images from Calvin College, August, 2005 Models are a representations of certain aspects of the world.
Smith’s Aerospace © P. Bailey & K. Vander Linden, System Modeling: Systems database Models are a representations of certain aspects of the world.
Smith’s Aerospace © P. Bailey & K. Vander Linden, Modeling and Reality ● Blueprints aren’t buildings. ● Models aren’t systems. Image from August, 2005www.wikipedia.org Ceci n’est pas une système
Smith’s Aerospace © P. Bailey & K. Vander Linden, ● Each amigo (and dozens of others) had created their own modeling languages / processes in the 1980’s. ● They joined forces at Rational in the mid-90’s to create a “Unified” Modeling Language. The Three Amigos UML Images from January, 2003www.rational.com Grady Booch James Rumbaugh Ivar Jacobson
Smith’s Aerospace © P. Bailey & K. Vander Linden, ● The OMG, a non-profit consortium of companies, produces and maintains standards. ● UML Standards: – UML 2.0 Superstructure, 2004 ● UML Profiles – Real-time profile, 2005 Images from August, 2005www.omg.org OMG UML Standards
Smith’s Aerospace © P. Bailey & K. Vander Linden, UML Tools There are many tools that support UML: – IBM Rational Rose – iLogix Rhapsody – Microsoft Visio – Sparx Enterprise Architect – …
Smith’s Aerospace © P. Bailey & K. Vander Linden, Diagramming Languages ● UML Diagramming languages provide various views on a single meta-model. ● These views are loosely organized into the following types of diagrams: – Structural – Behavioral ● UML 2.0 includes 13 languages.
Smith’s Aerospace © P. Bailey & K. Vander Linden, UML 2.0 Diagrams
Smith’s Aerospace © P. Bailey & K. Vander Linden, Example: Use-Case Diagram Example from August, 2005www.ilogix.com
Smith’s Aerospace © P. Bailey & K. Vander Linden, Example: Class Diagram Example from August, 2005www.ilogix.com
Smith’s Aerospace © P. Bailey & K. Vander Linden, Example: State Diagram Example from August, 2005www.ilogix.com
Smith’s Aerospace © P. Bailey & K. Vander Linden, Example: Compilation Example from August, 2005www.ilogix.com
Smith’s Aerospace © P. Bailey & K. Vander Linden, Example: Execution Example from August, 2005www.ilogix.com
Smith’s Aerospace © P. Bailey & K. Vander Linden, Using UML Language = syntax + semantics + pragmatics ● 20% of UML is used 80% of the time. ● UML can model garbage or gold with equal ease.
Smith’s Aerospace © P. Bailey & K. Vander Linden, Using UML: Why? ● Conceptual modeling ● Software modeling
Smith’s Aerospace © P. Bailey & K. Vander Linden, Using UML: How? ● Sketch ● Blueprint ● Programming language
Smith’s Aerospace © P. Bailey & K. Vander Linden, Using UML: Directionality ● Forward engineering ● Reverse engineering ● Round-trip
Smith’s Aerospace © P. Bailey & K. Vander Linden, UML and Software Process ● UML fits naturally into traditional software development processes. ● UML is also compatible with agile development processes: – Model to support discovery/communication. – Don’t model all of the system. – Prefer simple tools.
Smith’s Aerospace © P. Bailey & K. Vander Linden, Criticisms of UML ● UML is often seen as: – too informal – too big – not big enough ● Bell, Alex E., “Death by UML Fever”, ACM Queue, 2(1), March, 2004.