Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Object-Oriented Analysis and Design
UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML Overview Unified Modeling Language Basic Concepts.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Unified Modeling (Part I) Overview of UML & Modeling
Rational Worldwide Software Symposium
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Software Architecture and the UML Grady Booch. 2 Dimensions of software complexity Higher technical complexity - Embedded, real-time, distributed, fault-tolerant.
The definition and history of creating the UML Lection №1.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
Principles of Object Technology Module 1: Principles of Modeling.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Software Architecture and the UML Grady Booch. 2 Dimensions of software complexity Higher technical complexity - Embedded, real-time, distributed, fault-tolerant.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Unified Modeling Language User Guide Section 1—Getting Started.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Unit I/UML/MCA/NIEVenkata Ratnam K1 Introducing the UML and UML Diagrams.
COP43311 Copyright © 1997 by Rational Software Corporation Unified Modeling Language (UML) Based on slides and papers from Rational’s UML website
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Introduction to OOAD and the UML
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Introduction to Rational Unified Process
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
M. ARIFUR RAHMAN OBJECT ORIENTED ANALYSIS & DESIGN 1.0 System Modeling.
Introduction to UML.
UNIT 1.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
System Development Process
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML: Unified modeling language
Rational Worldwide Software Symposium
The Unified Modeling Language
Unified Modeling Language
Introduction to UML.
Rational Worldwide Software Symposium
Rational Worldwide Software Symposium
Uml diagrams In ooad.
Software Development Process Using UML Recap
Presentation transcript:

Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch

The Value of the UML  Is an open standard  Supports the entire software development lifecycle  Supports diverse applications areas  Is based on experience and needs of the user community  Supported by many tools

Creating the UML Booch methodOMT Unified Method 0.8 OOPSLA ´95 OOSE Other methods UML 0.9 Web - June ´96 public feedback Final submission to OMG, Sep ‘97 First submission to OMG, Jan ´97 UML 1.1 OMG Acceptance, Nov 1997 UML 1.3 UML 1.0 UML partners

Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Wirfs-Brock Responsibilities Odell Classification Shlaer - Mellor Object lifecycles Rumbaugh OMT Booch Booch method Jacobson OOSE Contributions to the UML

Overview of the UML  The UML is a language for ­visualizing ­specifying ­constructing ­documenting the artifacts of a software-intensive system

Building Blocks of the UML  Things  Relationships  Diagrams

Things in the UML  Structural things ­mostly static parts of a model  class, interface, collaboration, use case, active class, component, node  Behavioral things ­dynamic parts of UML models  interaction, state machine  Grouping things ­organizational parts of UML  package, subsystem  Other things ­explanatory parts of UML  note

Relationships  Dependency ­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 links

Relationships  Generalization ­a specialization/generalization relationship in which the child shares the structure and the behavior of the parent  Realization ­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 out

Diagrams in UML Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models

Diagrams  A 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 views  In the UML, there are nine standard diagrams ­Static views: use case, class, object, component, deployment ­Dynamic views: sequence, collaboration, statechart, activity

Use Case Diagram  Shows a set of use cases and actors and their relationships

Use Case Diagram  Captures system functionality as seen by users  Built in early stages of development  Purpose ­Specify the context of a system ­Capture the requirements of a system ­Validate a system’s architecture ­Drive implementation and generate test cases  Developed by analysts and domain experts

Class Diagram  Shows a set of classes, interfaces, and collaborations and their relationships

Class Diagram  Captures the vocabulary of a system  Addresses the static design view of a system  Built and refined throughout development  Purpose ­Name and model concepts in the system ­Specify collaborations ­Specify logical database schemas  Developed by analysts, designers, and implementers

Object Diagram  Shows a set of objects and their relationships

Object Diagram  Represents static snapshots of instances of the things found in class diagrams  Addresses the static design view or static process view of a system  Built during analysis and design  Purpose ­Illustrate data/object structures ­Specify snapshots  Developed by analysts, designers, and implementers

Component Diagram  Shows the organizations and dependencies among a set of components

Component Diagram  Addresses the static implementation view of a system  Built as part of architectural specification  Purpose ­Organize source code ­Construct an executable release ­Specify a physical database  Developed by architects and programmers

Deployment Diagram  Shows the configuration of run-time processing nodes and the components that live on them

Deployment Diagram  Captures the topology of a system’s hardware  Built as part of architectural specification  Purpose ­Specify the distribution of components ­Identify performance bottlenecks  Developed by architects, networking engineers, and system engineers

Activity Diagram  Shows the flow from activity to activity within a system

Activity Diagram  Captures dynamic behavior (activity-oriented)  A special kind of statechart diagram  Purpose ­Model the function of a system ­Model the flow of control among objects ­Model business workflows ­Model operations

Sequence Diagram  Emphasizes the time-ordering of messages

Sequence Diagram  Captures dynamic behavior (time-oriented)  A kind of interaction diagram  Purpose ­Model flow of control ­Illustrate typical scenarios

Collaboration Diagram  Emphasizes the structural organization of the objects that send and receive messages

Collaboration Diagram  Captures dynamic behavior (message- oriented)  A kind of interaction diagram  Purpose ­Model flow of control ­Illustrate coordination of object structure and control

Statechart Diagram  Shows a state machine, consisting of states, transitions, events, and activities

Statechart Diagram  Captures dynamic behavior (event- oriented)  Purpose ­Model object lifecycle ­Model reactive objects (user interfaces, devices, etc.)

Architecture and the UML Organization Package, subsystem Dynamics Interaction State machine Design ViewImplementation View Process View Components Classes, interfaces, collaborations Active classes Deployment View Nodes Use Case View Use cases

UML Software Development Life Cycle  Use-case driven ­use cases are used as a primary artifact for establishing the desired behavior of the system, for verifying and validating the system’s architecture, for testing, and for communicating among the stakeholders of the project  Architecture-centric ­a system’s architecture is used as a primary artifact for conceptualizing, constructing, managing, and evolving the system under development

UML Software Development Life Cycle  Iterative ­one that involves managing a stream of executable releases  Incremental ­one that involves the continuous integration of the system’s architecture to produce these releases

Lifecycle Phases time InceptionElaborationConstruction Transition  Inception Define the scope of the project and develop business case  Elaboration Plan project, specify features, and baseline the architecture  Construction Build the product  Transition Transition the product to its users