Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
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.
CS 501: Software Engineering Fall 2000 Lecture 11 Object-Oriented Design I.
Introduction to UML Visual modeling Models and its importance
Unified Modeling (Part I) Overview of UML & Modeling
7M822 UML Introduction 7 September 2010.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
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.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Unified Modeling Language, Version 2.0
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
An Introduction to the Unified Modeling Language
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.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
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.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
The Unified Modeling Language (UML)
Software Engineering Lecture 8 Object-Oriented Analysis.
©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)
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
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.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
M. ARIFUR RAHMAN OBJECT ORIENTED ANALYSIS & DESIGN 1.0 System Modeling.
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
UML: An Introduction.
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
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Software Architecture & Design Pattern
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
The Unified Modeling Language
Unified Modeling Language
Introduction to UML.
Software Design Lecture : 15.
Presentation transcript:

Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and expressive notation is important to the process of software development.” – Grady Booch ©SoftMoore ConsultingSlide 1

Why Model? Less expensive to build and modify Can be built more quickly Can be “tested” before building Promotes better communication among developers and with customers Allows visualization of proposed solutions and alternatives ©SoftMoore ConsultingSlide 2 “All models are wrong. Some models are useful.” – George Box

The Unified Modeling Language The UML is a language for –specifying –constructing –visualizing –documenting the artifacts of a software-intensive system. ©SoftMoore ConsultingSlide 3

UML Origins The UML Represents an evolution and unification of OOAD methods Integrates many of the best features from earlier methods, including –Booch method (Grady Booch) –Object Modeling Technique (Rumbaugh et al.) –Object-Oriented Software Engineering (Jacobson et al.) ©SoftMoore ConsultingSlide 4

The Three Amigos ©SoftMoore ConsultingSlide 5 Grady Booch Ivar Jacobson James Rumbaugh

Model Elements Class A description of a set of objects that share the same attributes, operations, relationships, and semantics. Active Class A class whose objects own a process or thread and can initiate control activity. (concurrent behavior) Interface A collection of operations that specify a service of a class or component. ©SoftMoore ConsultingSlide 6

Model Elements (continued) Use Case A description of a set of sequences of actions, including variants, that a system performs that yields an observable result of value to a particular actor. Collaboration A society of roles and other elements that work together to provide some cooperative behavior. Component A modular part of the system design that hides its implementation behind a set of external interfaces. Components with same interfaces can be substituted. ©SoftMoore ConsultingSlide 7

Model Elements (continued) Package A general purpose mechanism for organizing model elements into groups. Node A physical element that exists at run time and represents a computational resource, generally having at least some memory and often processing capability. State A situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. ©SoftMoore ConsultingSlide 8

Model Elements (continued) Message A specification of a communication between objects that conveys information with the expectation that activity will ensue. Artifact A physical part of a system at the level of the implementation platform. Note A graphic symbol for rendering constraints or comments attached to an element or a collection of elements. ©SoftMoore ConsultingSlide 9 message «artifact»

Relationships Dependency A semantic relationship between two elements in which a change to one element (the independent element) may affect the semantics of the other element (the dependent element). Association A static, structural relationship between classifiers (classes, interfaces, components, etc.) ©SoftMoore ConsultingSlide 10

Relationships (continued) Generalization A specialization/generalization relationship, in which objects of the specialized element (the subclass or child) are substitutable for objects of the generalize element (the superclass or parent). Realization A semantic relationship between classifiers in which one classifier (e.g., an interface) specifies a contract that another classifier (e.g., a class or component) guarantees to carry out. ©SoftMoore ConsultingSlide 11

Diagrams (bold = most used in this course) Class Diagram (classes, interfaces, relationships) Object Diagram (objects, relationships) Use Case Diagram (actors, use cases, relationships) Interaction Diagram (objects, relationships, messages) –Sequence Diagram –Communication Diagram Statechart Diagram (states, transitions, events) Activity Diagram (activities, flow of control) Component Diagram (components and relationships) Deployment Diagram (nodes and connections) ©SoftMoore ConsultingSlide 12

Example: Class Diagram ©SoftMoore ConsultingSlide 13 Subject attach(Observer) detach(Observer) notify() ConcreteSubject subjectState getState() Observer update() ConcreteObserver observerState update() for each i in observers i.update() * observers

Example: Sequence Diagram ©SoftMoore ConsultingSlide 14 : Passenger : Call Button: Scheduler r : Request : Lamp push() turnOn() «create» schedule(r) : Elevator service(r)

Example: Statechart Diagram ©SoftMoore ConsultingSlide 15 OffOn CoastingCruising on button off button brake set speed resume coast button depressed coast button released brake

Notes A note is a graphical symbol for rendering comments attached to an element or a collection of elements. A note is rendered as a rectangle with a “dog-eared” corner, together with a textual and/or graphical comment. Use notes to specify things like requirements, observations, reviews, and explanations. ©SoftMoore ConsultingSlide 16 See for an explanation of this pattern.

Attaching Notes to Modeling Elements A note may be used to comment the diagram as a whole, or it may be attached to one or more modeling elements using undirected dependencies. ©SoftMoore ConsultingSlide 17 «requirement» must be stable «utility» Collections EMPTY_SET EMPTY_LIST min() max() sort()...