copyright (c), no magic, inc. 2002 - 20031 welcome to no magic!

Download Copyright (C), No Magic, Inc. 2002 - 20031 Welcome to No Magic!

If you can't read please download the document

Upload: neil-garrison

Post on 19-Jan-2018

222 views

Category:

Documents


0 download

DESCRIPTION

Copyright (C), No Magic, Inc Objectives  After completion of this module you will:  Learn:  The purpose and historical development of UML  The Concept of Model Driven Architecture (MDA)  Know how to:  Summarize five views and nine diagrams of UML  Explain how UML can represent the structures of OO programming languages such as Java

TRANSCRIPT

Copyright (C), No Magic, Inc Welcome to No Magic! Copyright (C), No Magic, Inc Introduction to the OMG UML Language Copyright (C), No Magic, Inc Objectives After completion of this module you will: Learn: The purpose and historical development of UML The Concept of Model Driven Architecture (MDA) Know how to: Summarize five views and nine diagrams of UML Explain how UML can represent the structures of OO programming languages such as Java Copyright (C), No Magic, Inc Why Do We Need UML? Couldnt a system project be described in simple words? We have the following classes: class Component implements the interface ImageObserver, and has a few attributes of the following types: Font, Color, and the third one, which implements ComponentPeer interface. There are two subclasses are derived from the Component class: TextComponent and Container. Component class has an attribute parent, which is of type Container. Container class can have a set of zero or more Component type objects. Container also has its own arrangement manager, which can be any class implementing LayoutManager interface. Copyright (C), No Magic, Inc Why Do We Need Maps? Copyright (C), No Magic, Inc Why Do We Need Graphics? Picture is worth a thousand of words. UML model is worth more than that. Copyright (C), No Magic, Inc What Is UML? Nine diagrams of various types Graphical modeling language Notation standard Unified terminology A way to: Visualise Specify Document Copyright (C), No Magic, Inc UML Diagram Example Copyright (C), No Magic, Inc Modeling What is it? Why do we need modeling? Copyright (C), No Magic, Inc When We DONT Need Modeling? Single-person projects That dont need to be maintained That never will be transferred to anyones elses responsibility Copyright (C), No Magic, Inc UML History UML was developed by Rational Software company (now IBM) in the middle of 1990s, by the common efforts of Grady Booch, Ivar Jacobson and Jim Raumbaugh (also known as Three Amigos) In the November of 1997 UML was standardized by OMG (Object Management Group) Copyright (C), No Magic, Inc Long Story of UML Grady Booch Jim Rumbaugh (OMT) Other Methodologies Unified Method 0.8 UML 0.9 & 0.91 Ivar Jacobson UML 1.0 Partners Expertise UML 1.1 UML 1.3 95 96 Jan 97 Sep 97 99 Fragmentation Unification Standardization Industrialization UML 1.4 01 UML 2.0 UML 1.5 0303 Soon Copyright (C), No Magic, Inc UML Penetration According to a BZ Research survey carried out on June 2002 in USA, 34% of programmers use UML-based modeling for simulation of some (94%) or all (6%) systems Copyright (C), No Magic, Inc UML Architectural Views and Diagrams Use Case View Use Case Diagram Structural View Behavioral View Environment View Implementation View Class Diagram Object Diagram Sequence Diagram Collaboration Diagram State Diagram Activity Diagram Component Diagram Deployment Diagram Copyright (C), No Magic, Inc Use Case View: Use Case Diagram Describes the functionality provided by system Contains actors, use cases, and relationships Copyright (C), No Magic, Inc Structural View: Class Diagrams Describes static structure of the system Contains classes and relationships Copyright (C), No Magic, Inc Structural View: Object Diagrams Shows an example of specific objects and relationships that could be instantiated from the class diagram Copyright (C), No Magic, Inc Behavioral View: Activity Diagram Shows a procedural flow for a process Useful for workflow modeling Supports parallel behavior for multithreaded programming Copyright (C), No Magic, Inc Behavioral View: Sequence Diagram Describes how a process is performed by a group of classes or objects by a sequential set of steps Provides an object oriented view of a procedural views Facilitates assignment of responsibilities to classes (Diagram on next slide) Copyright (C), No Magic, Inc Behavioral View: Sequence Diagram Copyright (C), No Magic, Inc Behavioral View: Collaboration Diagram Provides an alternative view to the sequence diagram Provides the same information displayed in a different format Emphasizes how classes or objects interact and collaborate with each other Copyright (C), No Magic, Inc Behavioral View: State Diagram Describes how an object changes behavioral states through its lifecycle Describes the responses of object or class to external stimuli Copyright (C), No Magic, Inc Implementation View: Component Diagram Describes the various software components and their relationships in a system Copyright (C), No Magic, Inc Environment View: Deployment Diagram Describes physical relationships between software and hardware components (node) in delivered system Presents how components and objects route and move around a distributed system Copyright (C), No Magic, Inc Combining Component & Deployment Diagrams Place components from component diagram on the deployment diagram Display which component runs on which nodes Copyright (C), No Magic, Inc Which UML Diagrams are Used Most Frequently? Copyright (C), No Magic, Inc UML User Profiles Business AnalystsUse case, activity System AnalystsUse case, activity, class (domain entities), sequence, implementation DesignersClass, sequence, collaboration, state, implementation, package ProgrammersClass, sequence, collaboration Quality AssuranceUse case, activity, package Copyright (C), No Magic, Inc What UML is NOT Programming language (yet) Design methodology Software development process Substitute for traditional project management tools (schedule, project plan etc.) GUI design language (although it is possible to describe GUI flow and states) Magic silver bullet Copyright (C), No Magic, Inc Quiz Yourself Why do we say that UML is Unified? Whats the difference between programming languages and UML? What are the five Architectural Views of UML? What UML is NOT? Do you think UML will replace programming languages some day? Copyright (C), No Magic, Inc Where to Find More Information About UML? Internet sites Hundreds of UML-related links UML designers zone A magazine containing many articles about UML Official OMG site. There one can find UML and MDA specifications and many other related resources Copyright (C), No Magic, Inc Books on UML UML Weekend Crash Course Comprehensive book for the begginers Instant UML, Pierre-Allain Muller Comprehensive and easy-to-read book UML Toolkit, Hans-Erik Eriksson Quite large book containing many examples UML Distilled, Martin Fowler and Kendal Scott A short description of UML and RUP for the beginners.