UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering

Slides:



Advertisements
Similar presentations
UML Unified MODELING Language
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
UML: An Introduction.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Unified Modeling (Part I) Overview of UML & Modeling
Component and Deployment Diagrams
7M822 UML Introduction 7 September 2010.
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.
Itntroduction to UML, page 1 Introduction to UML.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Class, Sequence and UML Model.  Has actors and use cases.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
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,
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
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.
TAL7011 – Lecture 4 UML for Architecture Modeling.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
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,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©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)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
1 Using Rational Rose ® to construct UML diagrams.
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.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
M. ARIFUR RAHMAN OBJECT ORIENTED ANALYSIS & DESIGN 1.0 System Modeling.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Unified Modeling Language
Introduction to UML.
Uml diagrams In ooad.
Presentation transcript:

UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering

DEFINITION Unified Markup Language is the successor to the wave of Object-oriented Analysis and Design methods that appear in the late `80s and early `90s. Most directly unifies the methods of Booch, Rumbaugh (OMT), and Jacabson, but its reach is wider than that. UML went through a standardization process with the OMG (Object Management Grouop) and is now an OMG standard.

WHAT IT IS UML is a modeling language, not a method Most methods consist, at least in principle, of both a modeling language and a process. Modelling Language is the (mainly graphical) notation that methods use to express designs. Process is their advice on what steps to take in doing a design. Modeling Language is the most important part of the method, which is the key part of communication.

WHY USE UML Helps Analysis and Design Used for communication Use the advantages of OO Documentation As stated in The Unified Modeling Language User Guide; UML is a language for; Visualizing Specifying Constructing Documenting

Visualizing It makes it easier to understand and work through problem Since it is a formal language, it enables other developers familiar with the language to more easily interpret our drawings.

Specifying We must communicate our software system using some common, precise, and unambiguous communication mechanism. Again the formal nature of the UML facilitates this specification quite nicely.

Constructing We know that the UML is a formal language with its own set of syntactical rules. Because of this formality, we can create tools that interpret our models. They can map the elements to a programming language, such as Java, C++. Many tools such as Rational Rose, supports this forward engineering. In fact this is one of the advantages of using a formal modeling tool.

Documenting The models we create are just one of the articats produced throughout the development lifecycle. Using the UML in a consistent fashion produces a set of documentation that can serve as a blueprint of our system.

FUNDAMENTAL UML Models and Views Core Diagrams Fundamental Elements

Models and Views UML is more than disjointed diagrams Turn attention to an illustration of the UML from three different perspectives Further insight into these divisions enables us to realize one of the greatest benefits of modeling, which is creating different views of our software system.

Fundamental Elements These are the elements of which diagrams are composed Understanding the intent of each element enables us to create precise diagrams, because each of them has unambiguous meaning.

DIAGRAMS Individual diagrams contribute more to the specification of a software system. They are composition of many of the fundamental elements. Are mechanism that developers use to communicate and solve problems in the complex aspects of the system. The most common diagram is the Class Diagram, which describe the structural relationships that exist among the classes, can guide developers in understanding our software system’s class structure.

VIEWS As we become more proficient in modeling, we begin to realize that using a combination of diagrams to communicate is most effective. We may need to combine class diagram with a diagram whose intent is to give systems dynamics. By combining these called views. View is a depiction of our system from a particular perspective. By making different views, we can represent our system from different perspectives.

VIEWS There are five main views, Use case Design Development Process Physical They must be consistent with each other, because all of them are representing the same system. Can be used to validate each other.

USE CASE VIEW This view documents the system from the customer’s perspective. Terminology used in this view should be domain specific. Depending on the technical nature of our audience, we should avoid obscure technical terms. Diagrams most common in this view are the use case diagrams and, less common, activity diagrams. Organizations transitioning to the UML may wish to work only with use case diagrams early and experiment with activity diagrams over time.

Design VIEW This view documents the system from designer’s and architect’s perspective. Diagrams most common in this view are class and interaction diagrams (either sequence or collaboration), as well as package diagrams illustrating the package structure of our Java application.

Development VIEW This view documents the components that the system is composed of. This view typically contains component diagrams. Except for the most complex Java applications, this view is optional.

Process This view documents the processes and threads that compose our application. These processes and threads typically are captured on class diagrams using an active class. Because of the advanced nature of active classes, coupled with the volume of use, active classes are beyond the scope of this discussion.

Physical VIEW This view documents the system topology. Deployment diagrams that compose this view illustrate the physical nodes and devices that make up the application, as well as the connections that exist between them.

VIEWS (cont.) We are not limited with the listed views. If there is something that architecturally important, for example security, then we may create a new view (ex: security view) into the system from that perspective.

DIAGRAMS As we’ve seen, we can combine diagrams that form models and that can serve as views into our system. If an advantage in modeling is to combine diagrams to form views into our system, then it only makes sense that each diagram has a different focus on what it communicates. Each falls into one of two categories: behavioral, and structural. Most commonly used are use case, sequence, and class diagrams.

Behavioral diagrams Behavioral diagrams depict the dynamic aspects of our system.They are most useful for specifying the collaborations among elements that satisfy the behavior of our system’s requirements. Five diagrams that fall into this category are; Use case Activity State Sequence Collaboration Mostly used are use case, sequence, and collaboration. Activity and state diagrams are used on an as-needed basis. Activity diagrams visually represent behaviors captured by use cases. State diagrams, on the other hand, are used to illustrate complex transitions in behavior for a single class.

Use case diagrams Use case diagrams are centered around the business processes that our application must support. Most simply, use case diagrams enable us to structure our entire application around the core processes that it must support. Doing so enables us to use these use cases to drive the remainder of the modeling and development effort. Shows a set of actors and use cases, and the relationships between them. Use case diagrams contribute to effective model organization, as well as modeling the core behaviors of a system.

Activity Diagrams Models the flow of activity between processes. These diagrams are most useful in detailing use case behavior. An activity diagram doesn’t show collaboration among objects.

State Diagrams Illustrates internal state-related behavior of an object. Transitions between states help identify, and validate, complex behavior. A class can have at most a single state diagram.

Sequence Diagrams Semantically equivalent to a collaboration diagram. sequence diagram is a type of interaction diagram that describes time ordering of messages sent between objects. Almost in all software development activity, this diagram is used.

Collaboration Diagrams A type of interaction diagram that describes the organizational layout of the objects that send and receive messages. Semantically equivalent to a sequence diagram. It uses class diagrams layout, and can be used to make more cohesive and less coupled classes.

STRUCTURAL DIAGRAMS Diagrams in this category are focused on specifying the static aspects of our system. Of these four diagrams, the class diagram is most often used. when transitioning to the UML, most organizations tend to use class diagrams first because they are excellent mechanisms for communication among developers, as well as tools that can be used for problem solving. There are two forms of class diagrams. The first is the most commonly understood and consists of the classes that compose our system and of the structure among these classes. Unfortunately, the second is not often used but is of equal importance and can be most effective in helping developers understand our system from a high level. A type of class diagram, called a package diagram, often represents the Java packages and the dependencies between them that our application consists of.

Class Diagrams Illustrates a set of classes, packages, and relationships detailing a particular aspect of a system. This diagram is likely the most common one used in modeling.

Object Diagrams Provides a snapshot of the system illustrating the static relationships that exist between objects. Object diagrams depict the structural relationship that exists among the objects within our running application at a given point in time. When we think of the runtime version of our system, we typically think of behavior. Many people have found that object diagrams are most useful in fleshing out the instance relationships among objects, which in turn can help verify our class diagrams. Beyond this, object diagrams are not often used.

Component Diagrams Addresses the static relationships existing between the deployable software components. Examples of components may be.exe,.dll,.ocx, jar files, and/or Enterprise JavaBeans. Component diagrams might be used to show the software components within our application. Components aren’t equivalent to classes.

Deployment Diagrams Describes the physical topology of a system. Typically includes various processing nodes, realized in the form of a device (for example, a printer or modem) or a processor (for example, a server). Deployment diagrams are most useful when we have a complex configuration environment. If our application is to be deployed to multiple servers, across locations, a deployment diagram might be useful.