UML – Part 1 Introduction to concepts and syntax. Valmor Adami Jr.

Slides:



Advertisements
Similar presentations
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Advertisements

Introduction to Software Engineering 7. Modeling Behaviour.
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.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
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.
SE-565 Software System Requirements More UML Diagrams.
An Introduction to Rational Rose Real-Time
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Lecture 6: Structural 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 
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
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.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
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.
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.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Prof. Hany H. Ammar, CSEE, WVU, and
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
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.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Introduction to OOAD and UML
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
The Unified Modeling Language
Unified Modeling Language
UML: Unified Modeling Language
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Software Design Methodologies and Testing
Presentation transcript:

UML – Part 1 Introduction to concepts and syntax. Valmor Adami Jr

Introduction Unified Modelling Language Visualizing and documenting analysis and design effort. Unified because it … – Combines main preceding OO methods (Booch by Grady Booch, OMT by Jim Rumbaugh and OOSE by Ivar Jacobson) Modeling because it is … – Primarily used for visually modeling systems. Many system views are supported by appropriate models Language because … – It offers a syntax through which to express modeled knowledge

UML Partners ● Hewlett-Packard ● IBM ● Microsoft ● Oracle ● i-Logix ● Intelli Corp. ● MCI Systemhouse ● ObjectTime ● Unisys ● Sterling Software ● Rational Software ● ICON computing ● Platinum Technology ● and others…

What is UML? A language for capturing and expressing knowledge A tool for system discovery and development A tool for visual development modeling A set of well-founded guidelines A milestone generator A popular (therefore supported) tool

What UML is not! A visual programming language or environment A database specification tool A development process A quality guarantee

What UML can do for you Help you to: – Better think out and document your system before implementing it – “forecast” your system – Determine islands of reusability – Lower development costs – Plan and analyze your logic (system behavior) – Make the right decisions at an early stage (before committed to code) – Better deploy the system for efficient memory and processor usage – Easier maintenance/modification on well documented systems – Lower maintenance costs – Establish a communication standard – Minimize costs

UML diagrams

UML Diagrams Any UML diagram: –Depicts concepts as symbols –Depicts relationships between concepts as directed or undirected arcs (lines) –Depicts name as labels within or next to symbols and lines Harness Whash cycle User Interface

UML Diagrams Use-Case (relation of actors to system functions) Class (static class structure) Object (same as class - only using class instances – i.e. objects) State (states of objects in a particular class) Sequence (Object message passing structure) Collaboration (same as sequence but also shows context - i.e. objects and their relationships) Activity (sequential flow of activities i.e. action states) Component (code structure) Deployment (mapping of software to hardware)

The Main 4 UML Diagrams Use-Case Class Sequence State

Use Case Diagram (UCD) A use-case is… a simplification of (a part of) a business process model a set of activities within a system presented from the point of view of the associated actors (i.e. those actors interacting with the system) leading to an externally visible result

Use Case Diagram (UCD)

Definition: "A set of sequences of actions a system performs that yield an observable result of value to a particular actor.“ Use-case characteristics: Always initiated by an actor (voluntarily or involuntarily); Must provide discernible value to an actor; Must form a complete conceptual function.

UC Description Use-Case Number (ID) and Name – actors – pre- and post-conditions – invariants – non-functional requirements – Behavior modeled as: - activity diagram/s - decomposition in smaller UC diagrams – error-handling and exceptions – Rules modeled as: - activity diagram/s – services – examples, prototypes, etc. – open questions and contacts – other diagrams

UC Example Use-Case Service Routine – actors: Service person – pre-condition: Power cycle system + type password – post-conditions: system restart – Behavior modeled as: - activity diagram/s - decomposition in smaller UC diagrams – error-handling and exceptions: time-out of 5 min if no action is taken – Rules modeled as: - activity diagram xxx

UC Highlights Attention focuser on the part of the business process that is going to be supported. It is the end-user perspective model. It is goal driven Helps to identify system services. Sequences, branching, loops, rules, etc. cannot (and should not) be directly expressed. Are often combined with activity diagrams, which serve as their refinement.

Case Study – 30 min Air Conditioning Define the actors Define the use cases Remote Control is na actor or part of the system?

The UML Class Diagram Is a static diagram (describes system structure) –Combines a number of model elements: Classes Attributes Operations (methods) Associations Aggregations Compositions Generalizations

A UML Class Properties of class diagrams: –Static model; –Models structure and behavior; –Used as a basis for other diagrams; –Easily converted to an object diagram.

Determining Classes Textual Analysis – Finding functional blocks A common or improper noun implies a class A proper noun or direct reference implies an object (instance of a class) A collective noun implies a class made up of groups of objects from another class An adjective implies an attribute A “doing” verb implies an operation A “having” verb implies an aggregation or association relationship A transitive verb implies an operation A predicate or descriptive verb phrase implies an operation An adverb implies an attribute of a relationship or an operation

UML Class Attributes Very system dependent Describe characteristics of objects belonging to that class Can be informative - or confusing Has a definite type –Primitive (Boolean, integer, real, enumerated, etc.) –language specific –other classes –any user defined type Has different visibility, including: –public (viewed and used from other classes) –private (cannot be accessed from other classes)

Class Diagram - relationships Associação Composição Agregação Uso Herança Realização

Case Study 2 – 30 min Air Conditioning Based on the UCDs, define the Classes ( Modules or Design Modules) that will be part of the system.

UML State Diagrams Usually associated to classes and define their behavior according to the current state of their objects and affecting events. Events are taken to be messages, condition flags, errors or the passage of time. UML state diagrams contain at least one starting point and one end point. However the latter can be more than one. States can have internal variables and activities associated with them. This information can be hidden to reduce diagram complexity.

UML State Diagram Example

UML Sub-States

Standard Events in a State Entry Specify actions to be taken on entry into the given state (e.g. Assignment to an attribute or sending a message, etc.) Exit Specify actions to be taken on exit from the given state (e.g. Run housekeeping program or send message informing of termination, etc.) Do Specify actions to be taken while in the given state (e.g. Processing data, polling, etc.).

Case Study 3 – 30 min Air Conditioning Select one of the modules of the last case study and model the state diagram.

UML Sequence Diagrams Used to show object interaction Interaction takes the form of messages Can only model single-scenario situations Message type is one of the interaction types (i.e. synchronous, simple, etc. – see next slide) Sequence diagrams should be read starting from the top downwards Sequence diagrams highlight control focus in objects (i.e. object activation) Sequence diagrams can be either of “instance” or of “generic” form

Sequence Diagram Example

Types of Interaction Simple –Shows a control message without any particular details (often, but not solely, used as acknowledgement to messages) Synchronous –Shows an operation call message. Assumes that the called object operation must terminate before the caller can proceed. Could include implicit return. Asynchronous –Indicates independent process execution. No explicit "return_to_caller” action. Used mainly in real-time concurrent systems.

Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency.

Activity Diagram Examples

Thanks Thank you all for yout time and effort!! Need help: