UML Is Not a Methodology

Similar documents
Object-Oriented and Classical Software Engineering

Unit-4 OBJECT ORIENTED DESIGN WORKFLOW

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object Oriented Methods with UML

Unified Modeling Language (UML) Class Diagram

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Introduction to Software Engineering. 5. Modeling Objects and Classes

Unified Modeling Language (UML)

UML: Unified Modeling Language

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Chapter 2: Entity-Relationship Model

Restricted Use Case Modeling Approach

Practical UML - A Hands-On Introduction for Developers

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Practical UML : A Hands-On Introduction for Developers

Software Specification 2IX20

Chapter 1: Principles of Programming and Software Engineering

COSC 3351 Software Design. An Introduction to UML (I)

Object-Oriented Systems Development: Using the Unified Modeling Language

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

The Object-Oriented Design Process

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.

System Modeling III: Dynamic Modeling

Entity-Relationship Model

DESIGNING A BIOMETRIC STRATEGY (FINGERPRINT) MEASURE FOR ENHANCING ATM SECURITY IN INDIAN E-BANKING SYSTEM

UML Tutorial. Unified Modeling Language UML Tutorial

UML. By Somenath Mukhopadhyay.

Chapter 5: Structural Modeling

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Basic Structural Modeling. Copyright Joey Paquet,

Importance of Rational ROSE in Software Development Process Models

Unified Modeling Language (UML)

USE CASE BASED REQUIREMENTS VERIFICATION

Sofware Requirements Engineeing

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Object Modeling. Entity-Relationship (ER) diagrams (1976) Object Modelling Technique (OMT) diagrams (1991)

CS 451 Software Engineering

Interactions A link message

Unified Modeling Language (UML)

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Object-Oriented Software Engineering Practical Software Development using UML and Java

Darshan Institute of Engineering & Technology for Diploma Studies

OO System Models Static Views

Chapter 6: Entity-Relationship Model

Contents(1) Basic Concepts to represent the world Basic Concepts for Reuse Information Hiding Principle and Java Program Superiority of OOT

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Design and UML Class Diagrams

Chapter 5, Analysis: Dynamic Modeling

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review

Structural specification

Use C ases Cases 7/09

The OO Solution. Objects

Chapter 1: Programming Principles

Introducing the UML Eng. Mohammed T. Abo Alroos

Object-Oriented Systems Analysis and Design Using UML

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

Introduction to Classes and Objects Pearson Education, Inc. All rights reserved.

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Chapter 7: Entity-Relationship Model

UML Class Diagrams Revisited

Chapter 7: Entity-Relationship Model

Introduction to Unified Modelling Language (UML)

Introduction to Classes and Objects

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML in Practice. The Art of Modeling Software Systems Demonstrated through Worked Examples and Solutions. Pascal Roques

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Intro to DB CHAPTER 6

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 2: The Object-Oriented Design Process

1. Introduction to Object Oriented Software Development

LABORATORY 1 REVISION

EE 446 EMBEDDED ARCHITECTURE Embedded System in UML (2)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

Object Oriented Modeling

Chapter 7: Entity-Relationship Model

How does the Prepaid Travel Card work?

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Relationships. Association Aggregation/Composition Multiplicity Dependencies

Prepaid Access MIDWEST ANTI-MONEY LAUNDERING CONFERENCE Federal Reserve Bank of Kansas City March 5, 2014

Object-Oriented Design and Modeling Using the UML

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Unified Modeling Language (UML) and Modeling

Outline of Unified Process

Requirements Engineering

OO Analysis and Design with UML 2 and UP

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Transcription:

UML COSC 4354 1

UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology It can be used in conjunction with any methodology UML has become a world standard Every software engineer today needs to know UML 2

System Views Any system can be viewed from three different angles: Static View: describes the structure of the system; the different components of the system Ex: Class diagram Functional View: describes the functionality of the system from the user s view, what the system offers to external entities. Ex: Use Case diagram Dynamic View: describes how the system behaves under different scenarios. Ex: Seuence diagram 3

Class Diagrams A class diagram depicts classes and their interrelationships Here is a simple possible component of a class diagram 4

Class Diagrams (contd) Class diagram showing more details of Bank Account Class Add as many details as appropriate Attributes and Operations 5

Class Diagrams: Visibility Prefixes (contd) UML visibility prefixes (used for information hiding) Prefix + indicates that an attribute or operation is public Visible everywhere Prefix denotes that the attribute or operation is private Visible only in the class in which it is defined Prefix # denotes that the attribute or operation is protected Visible either within the class in which it is defined or within subclasses of that class 6

Class Diagrams: Visibility Prefixes (contd) Example: Class diagram with visibility prefixes added Attribute accountbalance is visible only within the Bank Account Class Operations deposit and withdraw are accessible from anywhere within the software product 7

Aggregation Example: A car consists of a chassis, an engine, wheels, and seats 8

Multiplicity Example: A car consists of one chassis, one engine, 4 or 5 wheels, an optional sun roof, zero or more fuzzy dice hanging from the rearview mirror, and 2 or more seats 9

Multiplicity (contd) The numbers next to the ends of the lines denote multiplicity The number of times that one class is associated with the other class The line connecting Chassis Class to Car Class The 1 at the part end of the line denotes that there is one chassis involved The 1 at the whole end denotes that there is one car involved Each car has one chassis, as reuired Similar observations hold for the line connecting Engine Class to Car Class 10

Multiplicity (contd) If the exact multiplicity is known, use it Example: The 1 that appears in 8 places If the range is known, use the range notation Examples: 0..1 or 4..7 If the number is unspecified, use the asterisk Example: * If the range has upper limit unspecified, combine the range notation with the asterisk notation Example: 2..* 11

Composition Aggregation example: Every chess board consists of 64 suares This relationship goes further It is an instance of composition, a stronger form of aggregation 12

Composition (contd) Aggregation Models the part whole relationship Composition Also models the part whole relationship but, in addition, Every part belongs to only one whole, and If the whole is deleted, so are the parts Example: A number of different chess boards Each suare belongs to only one board If a chess board is thrown away, all 64 suares on that board go as well 13

Composition (contd) Composition is depicted by a solid diamond 14

Generalization (contd) Every instance of Investment Class or its subclasses has an attribute investmenttype (the discriminator) This attribute can be used to distinguish between instances of the subclasses 15

Association General form of a relationship An example of association: A radiologist consults a lawyer The optional navigation triangle shows the direction of the association 16

Developing a Class Diagram Identify your candidate classes A class is a thing which has behavior, state, and identity. Booch Reflected in operations, attributes, and title, respectively. Identify all relationships between the different classes Revisit your classes Do you need to add? Do you need to omit? Identify the attributes and operations of every class 17

Functional View: Use-Case Diagrams A use case is a model of the interaction between Actors: External users of a software product and More precisely, an actor is a user playing a specific role The software product itself A use-case diagram is a set of use cases Every use case usually has its own use case diagram 18

Use Case Diagrams First, identify the external entities that may interact with the system; actors. Second, identify the different functions that an actor can use or be used by the system to accomplish; use cases. Third, expand every use case to its functional components in a separate use case diagram Last, describe every use case in a textual form Identification Summary: a title or a number for the use case + one line summary of what this use case offers Flow of Events: Describe the main successful scenario of this use case Describe possible errors Describe the preconditions and postconditions 19

Exercise Develop a Use Case diagram for an ATM system with the following specifications Distribution of money to every holder of an ATM or credit card via a card reader and a cash dispenser Consultation of account balance, cash and check deposit facilities for bank customers who hold an ATM card from the ATM s owner bank All transactions are made secure by a Visa Authorization System and the Bank Information System It is sometimes necessary to refill the dispenser, maintain the ATM etc. 20

Actors Bank Customer Cardholder Bank IS Visa AS Maintenance Operator 21

Use Cases Cardholder Withdraw money Bank Customer Withdraw money Consult balance Deposit cash Deposit checks Maintenance Operator Refill dispenser Retrieve checks Fix problems 22

Use Cases (cont.) Visa Authorization System (secondary) Withdraw money Bank IS (secondary) Withdraw money Consult balance Deposit cash Deposit checks 23

Use Cases: Textual Description Title: Check Balance Summary: This use case allows a bank customer to check his/her balance on the account associated with the ATM card used. Actors: Bank Customer, Bank IS Preconditions: ATM is working properly and connected to the Bank IS No card in the reader 24

Use Cases: Textual Description (cont.) Flow of Events: Main Successful Scenario The bank customer inserts the card in the reader The ATM verifies that the card inserted is indeed a smartcard The ATM asks the customer to enter the card s PIN. Alternative Scenarios: A1: Incorrect PIN The ATM informs the bank customer that the PIN is incorrect and asks him to reenter it. 25

Use Cases: Textual Description (cont.) Postconditions: Same as preconditions 26

Interaction Diagrams Dynamic View Interaction diagrams show how objects interact with one another UML supports two types of interaction diagrams Seuence diagrams Collaboration diagrams Seuence diagrams model the interactions involved in the execution of An operation (usually associated with classes) A use case s scenario 27

Seuence Diagrams 28