Chapter 5 – System Modeling 1. Systems and the Real World A real-world situation or problem Thinks about Makes comparisons A system that helps to understand.

Slides:



Advertisements
Similar presentations
IBM Rational Development Suite Overview
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Solutions to Review Questions
Introduction to Software Engineering 7. Modeling Behaviour.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 15: System Modeling with UML
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.
Documenting Requirements using Use Case Diagrams
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Analysis into Design. Specifying Business Rules Identifying necessary constraints in an organisation’s operations Can apply to structured or semi-structured.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Lecture.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Use Case Analysis From soft systems methodology to understanding the system functionality.
Chapter 2: Approaches to System Development
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
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
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.
1 WXGC6102: Object-Oriented Techniques Modelling Concepts References: Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis & Design 7 th Edition Chapter 5.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
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.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
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.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
©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
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Object Oriented Analysis & Design By Rashid Mahmood.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
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.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Evolution of UML.
Object-Oriented Analysis and Design
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Unified Modeling Language
System Modeling Chapter 4
CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Chapter 5 – System Modeling 1

Systems and the Real World A real-world situation or problem Thinks about Makes comparisons A system that helps to understand the real-world situation Designs Systems Developer INPUTOUTPUTPROCESS FEEDBACK A computer system that is used in the real-world

Introduction to UML UML - Unified Modelling Language - Unified - Modelling - Language - The UML is a set of different diagram types that can be used alone or together to describe all or part of a system. -Each diagram type can be used to describe a system - from a particular perspective e.g. classes show a logical view of the system

What is a Diagram? Diagrams - abstract shapes that are used to represent things or actions from the real world. Diagrams follow rules or standards The standards make sure that different people will interpret the diagram in the same way … assuming they know the notation. 40° Source: OO Analysis and Design with UML, Bennett, McRobb and Farmer, 2002 U M Language

An Example of a UML Diagram An activity diagram of the tasks involved in producing a book. Write Chapter Review Chapter AuthorPrinterTypesetterReviewer Typeset Book Correct Proofs Reset Book Print Book [book complete] [book not complete] Revise Chapter Source: OO Analysis and Design with UML, Bennett, McRobb and Farmer, U M Language

What’s the point of Diagrams? On their own Diagrams provide a convenient abstraction to clarify one’s own understanding to show to others for discussion, debate and clarification to provide high level documentation Diagrams are used to communicate information to people. Diagrams should therefore be clear, simple, unambiguous. - i.e. They should follow rules! UML defines a language, i.e. the rules, for drawing diagrams of computer systems to avoid ambiguity between developers. UML rules include the flexibility to keep diagrams clear and simple by showing only what needs to be shown. U M Language

Example: UML reduces ambiguity Business Process Order Item Ship via 1) A Visually rich but rather ambiguous diagram. 2) UML Activity Diagram describing the same flow of events. U M Language Customer requests Items Salesman agrees sale Items prepared for shipping Items shipped by Rail Items Shipped by Road Items Received by Customer

UML Classes at different levels of detail 1) A Valid UML Class 2) An equally valid alternative diagram for the same UML Class. Ant - currentPosition_X: Integer - currentPosition_Y: Integer - direction: Integer - speed: Integer - haveFood: Boolean - knownFoodPosition_X: Integer - knownFoodPosition_Y: Integer + newAnt() + drawAnt() + tellFoodLocation() + askFoodLocation() + moveAnt() - goToFood() - search ForFood() - carryFoodToNest() Key Point Users of UML should work at a level of abstraction appropriate to what they are trying to communicate. U M Language

Examining the Detail Write Chapter Review Chapter AuthorPrinterTypesetterReviewer Typeset Book Correct Proofs Reset Book Print Book [book complete] [book not complete] Revise Chapter Plan Chapter Produce First Draft Revise Draft [satisfied] [not satisfied] Add Exercises Add References to Bibliography Write Chapter Source: OO Analysis and Design with UML, Bennett, McRobb and Farmer, U M Language

History of UML Unified M L Booch Method Rumbaugh’s OMT 1995 Unified Method 0.8 OOPSLA 10/95 Jacobson’s Use CasesOther Methods UML UML patterners’ input UML 1.0 OMG Submission 1/97 UML 1.1 OMG Adoption 11/97 UML 1.3 RTF Report 1999 UML UML 2.0 Major new release 2005 UML

Domain Model: UML - Where it came from and where it’s going. IBM International Consortium Object Management Group (OMG) Microsoft Is managed by… is a member of.. Unified Modelling Language (UML) uses created Software Engineering Key to UML Is related to Is a type of Organisations are stereotyped with blue class boxes. RAD Iterative/ prototyping method Booch Method Object oriented method Rumbaugh’s OMT Jacobson’s Use Cases Development method Based on a… The Microsoft Framework bought by... created Rational Software Corporation unified process (UP) created Rational Unified Process (RUP) created SSADM “Waterfall” development Method

Summary – The Key Points about UML It’s a set of diagrams with notation rules. Diagrams can be used in problem solving. Visual Modelling is a term used to describe an approach to problem solving which is based on using diagrams to model a problem or proposed solution. UML is now firmly established as the de facto world standard. UML has it historical roots in Object-Oriented Systems Development BUT... as a world standard for diagram notation it’s potentially valuable to –any systems development effort –any problem solving effort suitable for visual modelling Unified Modelling Language

The Nine UML Diagrams Use Case Class Activity StateSequence Collaboration Object Component Deployment

A Quick Tour of the Nine Diagrams Requirements View Use Case Diagrams Logical (Static) View Class Diagrams Object Diagrams Dynamic View Collaboration Diagrams Sequence Diagrams State Diagrams Activity Diagrams Physical (Static) View Component Diagrams Deployment Diagrams

Use Case Diagrams These diagrams show the users and what functions the system must provide for them. The functions are described as “transactions of value”. Use Case Class Activity StateSequence Collaboration Object Component Deployment Sales Coordinator Sales Manager Review Sales Performance Add a Customer Update Customer Details Take a Customer Booking Review Staff Performance Booking Sales System

Class Diagrams These diagrams present the static (logical) structure of the system. They are the core of the UML notation and of an object-oriented design. Use Case Class Activity StateSequence Collaboration Object Component Deployment Customer Corporate Customer Customer Contact Event Booking Item required for Booking Internal Customer Room Venue Stock Items

Object Diagrams An Example of Object Diagram Use Case Class Activity StateSequence Collaboration Object Component Deployment Basically the same as a Class diagram but showing single Object Instances and their relationships rather than Classes.

Collaboration Diagrams Note that these are Object Diagrams with added message arrows to show the messages. These diagrams show the sequence of message sent between collaborating objects for a particular task. The diagrams highlight the relationships between the collaborating objects. Note that in UML 2.0 collaboration diagrams have been renamed Communication Diagrams Use Case Class Activity StateSequence Collaboration Object Component Deployment :Customer :Customer Contact Sales Coordinator 1. Add Customer() 2. Add Contact() 3. Confirm Details()

Sequence Diagrams These diagrams show the sequence of message sent between collaborating objects for a particular task. They highlight the flow of control between the objects. Use Case Class Activity StateSequence Collaboration Object Component Deployment Add Customer() Add Contact() Confirm Details() :Customer :Customer Contact Sales Coordinator

Notation of Interaction Diagrams (Sequence and Collaboration Diagrams) Some Computer Aided Software Engineering (CASE) tools allow you to generate collaboration diagrams from sequence diagrams (and vice versa). The diagrams show the same information but using different notation. Add Customer() Add Contact() Confirm Details() :Customer :Customer Contact Sales Coordinator :Customer :Customer Contact Sales Coordinator 1. Add Customer() 2. Add Contact() 3. Confirm Details() Messages are numbered Messages are arranged vertically over time

State Diagrams A Statechart, (or state, or state transition diagram) illustrates the states an object can be in and the transitions which move the object between these states. Guard Conditions using [square brackets] determine which transitions are possible. Use Case Class Activity StateSequence Collaboration Object Component Deployment Provisional Confirmed Complete Invoiced Cancelled [Deposit received] [Cancelled]

Activity Diagrams These diagrams describe the flow of activities or tasks. They are basically just flow charts! They have - decision points - synchronisation bars The synchronisation bars show activities that can happen in either order or even at the same time. In UML 2.0 the syntax for activities has been changed to the same syntax as states, i.e. a box with rounded corners. Use Case Class Activity StateSequence Collaboration Object Component Deployment [No] Check availability Get a quote Make a Provisional Booking Pay Deposit Attend Event Pay Balance Cancel? [Yes]

Notation of Transition Diagrams (Activity and State Diagrams) Start state black circle Decision points diamond Guard conditions in square brackets Final state black circle in white circle [campaign to add] [no campaign to add] Add a New Client Assign Staff Contact Add New Campaign

Component Diagrams Component diagrams illustrate the physical structure of the system in terms of its Software. They show the software components and the dependencies between them. Use Case Class Activity StateSequence Collaboration Object Component Deployment Salesperson Diary & Contacts Customer Database Event Booking User Interface Events System Salesperson Diary & Contacts In UML 2.0 these diagrams have been renamed Composite Structure diagrams. The syntax for component has been changed to a rectangle with the component symbol in the top right hand corner – like this:

Deployment Diagrams Deployment diagrams illustrate the physical architecture of the system in terms of the Hardware it is deployed on and the communication links between hardware nodes. Use Case Class Activity StateSequence Collaboration Object Component Deployment :Salesperson’s PC :Booking Server >

Implementation Diagrams - Component and Deployment Diagrams together Here’s an example where a Deployment Diagram shows the physical deployment of the implementation Components. It shows how and where the components will be implemented, including the dependencies between components that are physically on different nodes. :Salesperson’s PC :Booking Server > Customer Database Salesperson Diary & Contacts Event Booking User Interface Events System

The Nine UML Diagrams Use Case Class Activity StateSequence Collaboration Object Component Deployment

Seminar CASE Tools (Computer Aided Software Engineering).