Introduction to UML. Danang Wahyu utomo

Similar documents
Design of Embedded Systems

Introduction to UML Dr. Rajivkumar S. Mente

Basic Structural Modeling. Copyright Joey Paquet,

Object-Oriented Systems Analysis and Design Using UML

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

A Conceptual Model of the UML

LABORATORY 1 REVISION

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

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

UNIT-II Introduction to UML

Unified Modeling Language (UML) and Modeling

OO Analysis and Design with UML 2 and UP

Introduction to UML CHAPTER 1. Visualizing. Specifying LEARNING OBJECTIVES

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

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

UML Tutorial. Unified Modeling Language UML Tutorial

Advanced Software Engineering

Architecture and the UML

Object-Oriented Design

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

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

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

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

3.0 Object-Oriented Modeling Using UML

The Unified Modeling Language User Guide

Software Engineering from a

INTRODUCING THE UML. Chapter 2

UML Primer. -Elango Sundaram

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

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Course 3 7 March

UNIT-I Introduction of Object Oriented Modeling

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

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

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

IS 0020 Program Design and Software Tools

Object Oriented Modeling

Object-Oriented Analysis and Design Using UML (OO-226)

Object Oriented System Development

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Software Service Engineering

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

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

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

History of object-oriented approaches

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

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

UML Views of a System

Unified Modeling Language

Software Engineering with Objects and Components Open Issues and Course Summary

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

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

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Meltem Özturan

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

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Object-Oriented Design and Modeling Using the UML

Software Life-Cycle Models

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

The Unified Modeling Language (UML)

Introduction to Software Engineering. 6. Modeling Behaviour

Analysis and Design with UML

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

Software Engineering Lab Manual

Experiment no 4 Study of Class Diagram in Rational Rose

Darshan Institute of Engineering & Technology for Diploma Studies

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Object-Oriented Design

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Unified Modeling Language (UML)

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

Index. Add Diagram > Sequence Diagram command,

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper

Object-Oriented Design

Introduction to Software Engineering. 5. Modeling Objects and Classes

1. Introduction to Object Oriented Software Development

OO Techniques & UML Class Diagrams

The three element types, connected by relations, can form sentences of sorts.

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Pertemuan 8. Object Oriented Modeling and Design

SE 1: Software Requirements Specification and Analysis

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Unit Wise Questions. Unit-1 Concepts

Chapter 5: Structural Modeling

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD

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

EECS 4314 Advanced Software Engineering. Topic 03: UML Overview Zhen Ming (Jack) Jiang

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

Introduction to UML. (Unified Modeling Language)

Chapter 2: The Object-Oriented Design Process

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Transcription:

Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623

Evolution of OO Development Methods

History of OOAD leading to UML

Why Model? Analyse the problem domain - Simplify reality - Capture requirements - Visualize the system in its entirety - Specify the structure and/or behavior of the system Design the solution - Document the solution in terms of its structure, behavior, etc

Principles of Modeling Choose your model well The model give impacts the analysis of the problem and the design of the solution Every model may be expressed at different levels of precision The same model can be scaled up (or down) to different granularities

Principles of Modeling The best models are connected to reality Simplify the model, but don t hide important details No single model suffices Every nontrivial system has different dimensions to the problem and its solution

Unified Modeling Language UML is a modeling language, not methodology or process UML is modeling language for visualizing, specifying, constructing, and documenting the artifacts of software systems UML provides a pictorial and graphical notation for documenting the artifacts such as classes, objects, and packages that make up an OO systems

Unified Modeling Language Visualizing A graphical notation articulates and unambiguously Communicates the overall view of the system(problem-domain) Specifying UML provides the means to model precisely, unambiguously and completely the system in question

Unified Modeling Language Constructing Model built with UML have a design dimension Documenting Every software project involves a lot of documentation from the inception phase to the deliverables

Conceptual Model of UML Building Block Things Relationships Diagram Rules Common Mechanisms Specification, Adornments, common division, extensibility mechanism

Structural Things The nouns of UML; usually the static parts of the system in question Class an abstraction of a set of things in the problem domain that have similar properties and/or functionality Notation: Interface a collection of operations that specify the services rendered by a class or component Notation : Customer

Structural Things Collaboration a collection of UML building blocks (classes, interfaces, relationships) that work together to provide some functionality within the system Notation : Account System Use case an abstraction of a set of functions that the system performs; a use case is realized by collaboration Process Order

Structural Things Active Class a class whose instance is an active object; an active object is an object that owns a process or thread (units of execution) Notation : Component a physical part (typically manifest itself as a piece of software) of the systems

Structural Things Node a physical element that exists at run-time and represents a computational resource (typically, hardware resource)

Behavioral Things The verbs of UML models; usually the dynamic parts of the system in question Interaction some behavior constituted by messages exchanged among objects; the exchange of messages is with a view to achieving some purpose Notation :

Behavioral Things State machine a behavior that specifies the sequence of states an object goes through, during its lifetime. A state is a condition or situation during the lifetime of an object during which it exhibits certain characteristics and/or perform some function

Grouping Things The organizational part of the UML model; provides a higher level of abstraction (granularity) Package a general purpose element that comprises UML element structural, behavioral or even group things. Package are conceptual groupings of the system and need not necessarily be implemented as cohesive software modules

Notational Things The explanatory part of the UML model; adds information/meaning to the model elements Note a graphical notation for attaching constraints and/or comments to the element of the model

Relationships Dependency a semantic relationships where a change in one thing (the independent thing) causes a change in the semantics of the other thing (the dependent thing) Association a structural relationship that describes the connection between two things Notation : Arrow-head points to the independent thing

Relationships Generalisation a relationship between a general thing (called parent or superclass) and a more specific kind of that thing (called child or subclass) such that the latter can substitute the former Arrow-head points to the superclass

Relationships Realization a semantic relationship between two things where in one specifies the behavior to be carried out, and the other carries out the behavior A collaboration realizes a use case The use case specifies the behavior (functionality) to be carried out (provided), and the collaboration actually implements that behavior Arrow-head points to the thing being realized

UML Diagrams

UML Diagrams Class Diagrams Diagram shows a set of classes, interfaces, collaborations and their relationships. Models the static view of the system Object diagram Snapshot of a class diagram; models the instances of things contained in a class diagram Use case diagram Shows a set of use cases, the actor and their relationships What the system is expected to do

UML Diagrams Sequence Diagram Models the flow of control by time-ordering, depicts the interaction between various objects by of messages passed, with a temporal dimension to it Collaboration diagram Models the interaction between objects, without the temporal dimension; depict the messages passed between objects Statechart diagram Shows the different state machines and the events that leads to each of these state machines

UML Diagrams Activity Diagram Shows the flow from activity to activity; an activity is an ongoing non-atomic execution within a state machine Component Diagram Shows the physical packaging of software in terms of components and the dependencies between them Deployment Diagram Shows the configuration of the processing nodes at run-time and the components that live on them

Dimensions

UML Diagrams

Diagrams and Process

Diagrams and Process Use Case Diagrams

Diagrams and Process Class & Package Diagrams

Diagrams and Process Interaction Diagrams (Scenarios)

Diagrams and Process Activity Diagrams (Workflow, Interclass Behavior)

Diagrams and Process State Transition Diagrams (Intraclass Behavior)

Texts and Process Source Code

Diagrams and Process Deployment Diagrams

Why Modeling? Business Process Computer System Modeling capture important part of system (James Rumbaugh)

Unified Modeling Language UML diagrams can be divided into three categories : 1. Structure diagrams 2. Behavior diagrams 3. Interaction diagrams

Structure Diagrams Structure diagrams show the static architecture of the system irrespective of time Structure diagram may depict: - The architectural organization of the system - The physical elements of the system Example : Structure diagram for a university system Diagram depict of classes such as student, faculty

Structure Diagrams Package Diagram Class Diagram Component Diagram Deployment Diagram Object Diagram Composite Structure Diagram

Behavior Diagrams Diagram depict the behavior of system or business process The UML behavior diagrams include the following: - Use case diagram - Activity diagram - State machine diagram

Interaction Diagrams Show the methods, interactions and activities of the object The UML interaction diagrams include the following: Sequence Diagram, Communication Diagram, Timing Diagram, Interaction Overview Diagram

Class Diagram Show the classes, methods, and fields A class diagram is used to show the existence of classes and their relationship in the logical of a system Class diagram is represented by a box, which is divided into three categories : 1. The name of the class is given in the top of rectangle 2. The attributes are shown in the second box 3. The methods with their return types and parameter are shown in the third box

Example

Class Relationships Classes collaborate with other classes in a variety of ways The essential connections among classes: - Association - Generalization - Aggregation - composition

Use Case Diagram Use case diagram are used to depict the context of the system to be built and the functionality provided by the system Who/what interact with the system What the system to do Use case involves a user and the system Example: student registration for a course

Use Case Diagram Actor - Actor are entities that interface with the system - They can be people or other system Use cases - Use cases represent what the actor want your system to do for them

Include Relationship <<include>> relationship represents behavior that is factored out of the use case <<include>> behavior is factored out for reuse. Not because it is an exception <<include>> relationship is to the using use case

Extend Relationship <<extend>> relationships represent exceptional or seldom invoked cases The exceptional event flows are separated from the main event flow for clarity A use case representing exceptional event flows may extend one or more use case The direction of a <<extend>> relationships is to the extended use case

TERIMA KASIH