UML part I. UML part I 1/41

Similar documents
Unified Modeling Language (UML)

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

CISC 322 Software Architecture

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Interactions A link message

3.0 Object-Oriented Modeling Using UML

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

BUILDING BLOCKS. UML & more...

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

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

UML Primer. -Elango Sundaram

Unified Modeling Language (UML)

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Unified Modeling Language - UML

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

What is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering )

Software Development. Modular Design and Algorithm Analysis

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Course 3 7 March

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

The Unified Modeling Language (UML)

Index. Add Diagram > Sequence Diagram command,

Software Service Engineering

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

Unified Modeling Language

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Unified Modelling Language

Unified Modeling Language (UML)

Index. : (colon), 80 <<>> (guillemets), 34, 56

Introduction to Software Engineering. 6. Modeling Behaviour

Object Oriented Modeling

Unified Modeling Language

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge,

UML 2.0 State Machines

1 OBJECT-ORIENTED ANALYSIS

UNIT-4 Behavioral Diagrams

Unified Modeling Language I.

Engineering Design w/embedded Systems

Model Driven Development Unified Modeling Language (UML)

Software Engineering Lab Manual

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

UML: Unified Modeling Language

Object Oriented Methods with UML. Lecture -4

APPENDIX M INTRODUCTION TO THE UML

CSE 308. UML Overview Use Case Diagrams. Reference. en.wikipedia.org/wiki/class_diagram. Robert Kelly, B. Bruegge,

What's New in UML 2.0

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

TTool Training. I. Introduction to UML

Modeling Requirements

Object-Oriented and Classical Software Engineering

UML Start-Up Training UB1

Interaction Modelling: Sequence Diagrams

Course "Softwaretechnik Modeling with UML Stephan Salinger

Unified Modeling Language (UML)

12 Tutorial on UML. TIMe TIMe Electronic Textbook

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

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

Advanced Software Engineering

JOURNAL OF OBJECT TECHNOLOGY

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

BDSA Introduction to OOAD. Jakob E. Bardram

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Unit Wise Questions. Unit-1 Concepts

Software Design And Modeling BE 2015 (w. e. f Academic Year )

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

UML (Unified Modeling Language)

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Object-Oriented Analysis and Design Using UML

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

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

Unified Modeling Language (UML) Object Diagram and Interaction Diagrams

JOURNAL OF OBJECT TECHNOLOGY

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

Introduction for using UML

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

THE UNIFIED MODELING LANGUAGE

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

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

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

Chapter 2, Modeling with UML, Part 2

Meltem Özturan

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Models are used for several purposes. We believe that some of the most important are:

Lecture 17: (Architecture V)

Introduction to Unified Modelling Language (UML)

Software Development Methodologies

On behalf of ASE crew, I welcome you onboard. We will cover this journey in roughly 50 minutes.

Object-Oriented Systems Analysis and Design Using UML

Modeling automatic train regulation systems

Transcription:

UML part I UML part I 1/41

UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

UML part I 3/41 UML properties Properties of UML: it s a formal language it s concise it s comprehensive it s scalable it s built on lessons learned it s the standard

UML part I 4/41 UML history Three amigos OOAD (Object-Oriented Analysis and Design) Grady Booch OOSE (Object-Oriented Software Engineering) Ivar Jacobson OMT (Object Modeling Technique) James Rumbaugh

UML part I 5/41 UML now OOSE Jacobson Directly Influenced UML 2.0 diagram types Use Case Class OOAD Booch Object OMT Rumbaugh Sequence State Machine Component Activity Brought about by the adoption of best practices across many other approaches Composite Structure Package Interaction Overview Timing Communication Deployment

UML part I 6/41 Degrees of UML Levels: UML as a sketch UML as a blueprint UML as a programming language

UML part I 7/41 Model views Logical View Process View Use Case View Physical View Development View Figure: Philippe Kruchten s 4+1 view model

UML part I 8/41 Components of UML elements relationships diagrams

UML part I 9/41 A First Taste of UML Notes additional comments that aren t captured in your diagrams Stereotypes signify a special use or intent <<actor>> Client Client

UML part I 10/41 Modeling Requirements Use Cases Use Case is a case (or situation) where your system is used to fulfill one or more of your user s requirements is a functional requirement does not specify what the system shall not do

UML part I 11/41 Modeling Requirements Actors Actors don t have to be actual people. should be treated as black boxes must interact with your system

UML part I 12/41 Use Cases Actors Identify a "thing" from your requirements Is a "thing" an actual person interacting with the system? Yes No Is a "thing" something that I can change within the system s design? No Yes A thing is not an actor A thing is an actor

UML part I 13/41 Use Cases Actors The more general "Person" actor Person The Generalization Arrow The more specialized "Student" actor Student Figure: Refining actors

UML part I 14/41 Use Cases Create a new personal Wiki Figure: Notation Use Case from the user s perspective is a complete use of the system consists of interaction with the system, as well as some output from that interaction must have very clear pass/fail criteria

UML part I 15/41 Communication Lines Create a new personal Wiki Administrator Figure: A communication line joins the actor to the use case communication between the actor and the use case an arrow at one end of communication line shows the flow of information between the actor and the use case, or show who starts the use case.

UML part I 16/41 System Boundaries Content Management System Create a new personal Wiki Administrator Figure: The Administrator actor is located outside of the CMS, explicitly showing that the system boundary box use cases must fall within the system boundary box

UML part I 17/41 Use Case Descriptions Use case description detail Related Requirements Goal In Context Preconditions Successful End Condition Failed End Condition Primary Actors Secondary Actors Trigger Main Flow Extensions What the detail means and why it is useful? Some indication as to which requirements this use case partially or completely fulfills. The use case s place within the system and why this use case is important. What needs to happen before the use case can be executed. What the system s condition should be if the use case executes successfully. What the system s condition should be if the use case fails to execute successfully. The main actors that participate in the use case. Often includes the actors that trigger or directly receive information from a use case s execution. Actors that participate but are not the main players in a use case s execution. The event triggered by an actor that causes the use case to execute. The place to describe each of the important steps in a use case s normal execution. A description of any alternative steps from the ones described in the Main Flow.

UML part I 18/41 A complete use case description Use case name Create a new Blog Account Related Requirements Requirement A.1. Goal In Context A new or existing author requests a new blog account from the Administrator. Preconditions The system is limited to recognized authors and so the author needs to have appropriate proof of identity. Successful End Condition A new blog account is created for the author. Failed End Condition The application for a new blog account is rejected. Primary Actors Administrator. Secondary Actors Author Credentials Database. Trigger The Administrator asks the CMS to create a new blog account. Main Flow Step Action 1. The Administrator asks the system to create a new blog account. 2. The Administrator selects an account type. 3. The Administrator enters the author s details. 4. The author s details are verified using the Author Credentials Database. 5. The new blog account is created. 6. A summary of the new blog account s details are emailed to the author. Extensions Step Branching Action 4.1. The Author Credentials Database does not verify the author s details. 4.2. The author s new blog account application is rejected.

UML part I 19/41 Use Case Relationships Content Management System Create a new personal Wiki <<include>> Check Identity Administrator <<include>> Author Credentials Database Create a new Blog Account Figure: The <<include>> relationship supports reuse between use cases

UML part I 20/41 Use Case Relationships Content Management System Create a new personal Wiki <<include>> Check Identity Administrator <<include>> Author Credentials Database Create a new Blog Account Create a new Editorial Blog Account Create a new Regular Blog Account Figure: Two types of blog account, regular and editorial, can be created by the Management System

UML part I 21/41 Use Case Relationships Content Management System Create a new personal Wiki <<include>> <<extend>> Record Application Failure Check Identity Administrator <<extend>> <<include>> Author Credentials Database Create a new Blog Account Create a new Editorial Blog Account Create a new Regular Blog Account Figure: The <<extend>> relationship comes into play to show that both the Create a new Personal Wiki and Create a new Blog Account use cases might occasionally share the application rejection recording behavior

UML part I 22/41 Activity Diagrams they belong to the process view they show high-level actions chained together to represent a process occurring in system simple notation

UML part I 23/41 Activity Diagrams example Ask System to Create new Blog Account Select Account Type Enter the Author s Details Verify the Author s Details [authorized] [not authorized] Create new Blog Account Reject Application Email Blog Account Summary to Author

UML part I 24/41 Activity Diagrams Activity name Action Activity frame Wash car Lather Rinse Dry Initial node Edge Activity final node

Activity Diagrams Figure: decision node Guard conditions: statements that evaluate to true or false examples of guard conditions: [Authorization], [wordcount >= 100], [wordcount > 0 & wordcount < 100] only one condition can evaluate to true UML part I 25/41

UML part I 26/41 Activity Diagrams Prepare Case Install Motherboard Install Drives Install Video Card and other Parts Prepare Motherboard Fork Join Figure: Both outgoing paths are followed at the fork

UML part I 27/41 Objects and pins Receive Order Request Request Approve Payment Submit Order Object node Figure: The Order object node emphasizes that it is important data in this activity and shows which actions interact with it Receive Order Request Order Order Approve Payment Submit Order Output pin Input pin Figure: Pins in this change request approval process allow finer-grained specification of input and output parameters

UML part I 28/41 Activity diagrams Calculate Total Send Request for Credit Card Approval Receive Response Upadate Order Status Send Signal Node Receive Signal Node Figure: Send and receive signal nodes show interactions with external participants

UML part I 29/41 Activity diagrams Other elements partitions (swimlanes) time events Calling Other Activities

UML part I 30/41 Sequence Diagrams logic view show runtime interactions between the parts that make up a system

UML part I 31/41 Sequence Diagrams Participants participant1:participantclass1 participant2:participantclass2 participants lifelines Figure: Participants in a Sequence Diagram

UML part I 32/41 Sequence Diagrams Participants Participant Names Admin :ContentManagementSystem admin:administrator :ContentManagementSystem ref cmsinteraction

UML part I 33/41 Sequence Diagrams Messages The Message Caller The Message Signature The Message Receiver participant1:participantclass1 participant2:participantclass2 message(arguments) Message Caller Activation Bar (optional) Return Arrow (optional) The Message The Message Receiver Activation Bar (optional) Figure: Sending a message

UML part I 34/41 Sequence Diagrams Messages Message Signatures dosomething() dosomething(number1:number, number2:number) dosomething():returnclass myvar = dosomething():returnclass

UML part I 35/41 Sequence Diagrams Messages A Synchronous Message An Asynchronous Message A Return Message <<create>> p1:class A Participant Creation Message <<destroy>> A Participant Destruction Message Figure: Types of message arrow for use on sequence diagram

UML part I 36/41 Sequence Diagrams Example The Create a new Regular Blog Account use case Main Flow Step Action 1. The Administrator asks the system to create a new blog account. 2. The Administrator selects the regular blog account type. 3. The Administrator enters the author s details. 4. The author s details are checked using the Author Credentials Database. 5. The new regular blog account is created. 6. A summary of the new blog account s details are emailed to the author.

UML part I 37/41 Sequence Diagrams Example Figure: The Create a new Regular Blog Account sequence diagram

UML part I 38/41 Sequence Diagrams Example Figure: The Create a new Regular Blog Account sequence diagram with Sequence Fragments

UML part I 39/41 Sequence Diagrams Example Figure: The Create a new Regular Blog Account sequence diagram with Sequence Fragments cont.

UML part I 40/41 Sequence Diagrams Example sd Select Blog Account Type <<actor>> admin:administrator :ContentManagementSystem createnewblogaccount() selectblogaccounttype(type) Figure: The Create a new Regular Blog Account sequence diagram with Sequence Fragments cont.

UML part I 41/41 Bibliography Miles R., Hamilton K.: Learning UML 2.0, Helion, Gliwice 2007