Lecture 5 UML and Modelling Behaviour. UML Unified Modelling Language Successor to a number of Object-Oriented Analysis and Design methods the 3 Amigos:

Slides:



Advertisements
Similar presentations
1 Lecture 2: Processes, Requirements, and Use Cases.
Advertisements

7M701 1 Information Systems Modelling and Design with.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
CS3773 Software Engineering Lecture 03 UML Use Cases.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
1 Lecture 1: Processes, Requirements, and Use Cases.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
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 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
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.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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.
Unit-3 Identifying use cases Object Analysis Classification
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
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.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Unified Modeling Language
Introduction to the Unified Modeling Language
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Presentation transcript:

Lecture 5 UML and Modelling Behaviour

UML Unified Modelling Language Successor to a number of Object-Oriented Analysis and Design methods the 3 Amigos: Booch, Rumbaugh, Jacobson the company Rational markets Case tools (Rose), Development tools, courses and methods: RUP (Rational Unified Process) UML standardised by the OMG Very widely used

UML Diagrams Core Diagrams: –Class Diagram cf ER diagrams –State Diagram cf lifecyle diagrams Others have added to describe –Analysis ( Use case, Activity Diagram) –Interaction (Sequence Diagrams) –Delivery ( Package Diagram)

Real World Machine StaticDynamic Class Diagram Activity Diagram Use Case Diagram Sequence Diagram Collaboration Diagram State Diagram Package Diagram Deployment Diagram UML Diagrams Specification

Real World - Specification - Construction The development process requires models of different domains of the whole system real world –models of the real world - people, documents, activities, relationships specification –models of an ideal system - a specification independent of how the system will be construction constructed –models which explain how the constructed system works

General - Concrete General models describe the things that are true for a wide range of objects - for all objects of a given type or the common processing for a task Concrete models describe a specific collection of specific objects, or a specific sequence of events boat name,pos hoursTo() ‘perdika’ 15N 35W

Static - Dynamic Static: –Defines the structure of the software –Class (type) model - shows the classes, their attributes, methods and relationships –Package model - shows major subsystems Dynamic: –Defines the way the software behaves when it undertakes some activity, or responds to some event

User Interface Forms, Reports ‘Real World’ HTML, Windows Actors StakeholdersFlesh and Blood, Paper object DB layerOracle/SQLServer PL/SQL, J2EE,.NET Business Rules Middleware

Member Functions read –hoursTo(pos: Latlong) : Real update –moveTo(newpos: Latlong) : Latlong position := newpos; –to make this change persistant: select value(b) into cur from boats b where name=‘perdika’; cur.moveto(newpos); update boats b set row=cur where name=‘perdika’; object

Use Case : report boat position report boat position radio operator net controller

Use Case description During the role call each morning, the net controller will call each boat in turn. When the boat’s radio operator hears the name, she will reply and once connection has been established, the operator will report the boat’s current position and speed. The net controller records the new position.

Concrete Scenario The net controller on the morning of 18 May 2002 calls for ‘Perdika’. The skipper replies and reports the position as 23N 15E. The net controller enters this position but the system detects that this is too far from yesterdays position of 22N 14W. The net controller reports this error. ‘Perdika’ is not able to receive, but another operator reports that Perdika’s skipper doesn’t know his E from his W, and the net controller records 23N 15W which is accepted.

Sequence Diagram (concrete) calling ‘Perdika’ hello net position please 23N 15W radio op.net controller system move(Perdika,23N15W) ok thanks Perdika

Sequence Diagram calling hello net position please radio op.net controller system move(, ) ok thanks

Sequence Diagram - detailed calling hello net position please radio op.net controller GUI boats table move(, ) ok thanks a Boat moveTo( ) Server get boat( ) put boat( ) DB

Handling Errors Much of the complexity of a system lies in handling all the things which can go wrong with a basic use case: –RW problems: no reply from boat only part of the position heard position invalid w.r.t. previous position in database –Interface: controller enters name incorrectly –Machine problems - (failures) database out of date (bad restore) lost connection with server

Sequence Diagram (concrete) calling Perdika hello net position please 23N 15E radio op.net controller system move(perdika,23N,15E) error(out of range) are you sure? repeat 23N 15W move(perdika,23N,15W) ok thanks Perdika

Sequence Diagram - outofrange error calling roger position please radio op.net controller system move(, ) outofRange(pos,oldpos) error - repeat move(, ) ok

Generalised process Need to define a single process to handle –the normal error-free case boat name found, pos ok, –the normal errors boat name not found, pos ok, pos invalid, pos outofrange –the exceptional errors lost server connection, db error.. General case involves multiple sequences –choice - selection of paths –iteration - repeated paths –exceptions - quit main sequence

Activity Diagram Like a flow chart - describes an activity with multiple stages of processing Shows choice, iteration Allows parallel sub activities

Morning call process get name find name call name no more report pos input pos validate pos report/request update pos boat systemnet controller error

State Diagram Describes what happens to an object throughout its life cycle from creation to deletion. ‘Long Running Transaction’ Entity Life History

unknown pos new(name) safe at risk moveto() [no report for two days] moveto(pos) moveto() moveto(pos) drop

Work to do Tutorial - behaviour modelling –Mayday: boat reports trouble, net controller finds nearest boat and asks it to go to the aid of the boat in trouble –Emp-Dept: employee moves department manager approves salary increase for emp to top of salary grade Next week –Common tasks - matching –Patterns in design and analysis