UML Primer. -Elango Sundaram

Similar documents
CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Course 3 7 March

Unified Modeling Language

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)

Chapter 2, Modeling with UML, Part 2

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

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

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

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

Object Oriented Modeling

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

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

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

administrivia today UML start design patterns Tuesday, September 28, 2010

Software Engineering Lab Manual

UML Diagrams & And Some Of Their Elements

MechEng SE3 Lecture 7 Domain Modelling

Software Service Engineering

Software Development. Modular Design and Algorithm Analysis

LABORATORY 1 REVISION

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

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

Object Orientated Analysis and Design. Benjamin Kenwright

1. Software Systems Complexity, OO Paradigm, UML

Introduction to Software Engineering. 5. Modeling Objects and Classes

3.0 Object-Oriented Modeling Using UML

Software Engineering

What are the characteristics of Object Oriented programming language?

Object-Oriented Analysis and Design Using UML

OO Analysis and Design with UML 2 and UP

UNIT-IV BASIC BEHAVIORAL MODELING-I

Unit Wise Questions. Unit-1 Concepts

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

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

Introduction to UML. Danang Wahyu utomo

UML part I. UML part I 1/41

Pertemuan 8. Object Oriented Modeling and Design

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Experiment no 4 Study of Class Diagram in Rational Rose

Index. Add Diagram > Sequence Diagram command,

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

UNIT-I Introduction of Object Oriented Modeling

TTool Training. I. Introduction to UML

Object Oriented Programming. C++ 6 th Sem, A Div Ms. Mouna M. Naravani

Unified Modeling Language (UML)

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

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Model Driven Development Unified Modeling Language (UML)

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

Object Oriented Software Development CIS Today: Object Oriented Analysis

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

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

Architecture and the UML

CISC 322 Software Architecture

Modelling with Classes. CITS1220 Software Engineering

Programming Language Constructs as Basis for Software Architectures

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Computer Science for Engineers

Software Engineering Fall 2014

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

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

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

ACRONYMS AND GLOSSARY

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

James Newkirk

BUILDING BLOCKS. UML & more...

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

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

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,

Understanding the Object Paradigm

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

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

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

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

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

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

UML: Unified Modeling Language

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

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

Interaction Modelling: Sequence Diagrams

SEEM4570 System Design and Implementation Lecture 11 UML

Exam Duration: 2hrs and 30min Software Design

SEEM4570 System Design and Implementation. Lecture 10 UML

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Engineering Design w/embedded Systems

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature

Lecture #2 on Object-Oriented Modeling

Object-Oriented Systems Analysis and Design Using UML

Unified Modeling Language (UML)

Advanced Interaction

The Unified Modeling Language User Guide

Software Development Methodologies

Inheritance and Polymorphism

OBJECT ORIENTED ANALYSIS AND DESIGN

Unified Modeling Language (UML)

Transcription:

UML Primer -Elango Sundaram

About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware, operating system and network UML is becoming an industry standard Helps better communication between Client/ Vendor, Designer/Developer, Developer/Developer Can be used across domains

Brief History 1970 s Structured Programs 1980 s Abstract Data Types 1990 s Object Oriented Programs Booch Method By Grady Booch Object Oriented Software Engineering (OOSE) By Ivar Jacobson Object Modeling Technique (OMT) By James Rumbaugh Rational Corporation OMG Consortium with Industry Leaders; Release of UML 0.9 around 1996.

UML diagrams Types of UML Diagrams Structural Diagrams Class Diagram, Object Diagram, Component Diagram, and Deployment Diagram. Behavior Diagrams Use Case Diagram, Sequence Diagram, Activity Diagram, Collaboration Diagram, and State chart Diagram. Model Management Diagrams Packages, Subsystems, and Models.

Some Key terms Data Type Domain of Allowed Values together with a set of allowed operations on it Eg.. Integer (int) Abstraction Representation of an Entity with only attributes/methods of Interest Key concept in computer science and one of the oldest FORTRAN I had built in Abstract Data Type (ADT) by way of floating points circa 1950s Process Abstraction,Data Abstraction A SQL procedure like calcvalues() is an example of process abstraction Encapsulation Grouping of subprograms and data they manipulate. Eg. Classes in C++, Packages & Classes in Java

Some Key terms Class Grouping of Data with associated Methods A class is a description of a set of objects that share the same attributes, operations, methods,relationships, and semantics. Object Instance of class Inheritance Ability to extend exiting features of an entity and make some modifications Such inherited entities become sub-classes Calling a method is called a message Entire collection of methods of an entity is referred as message interface or message protocol Can be Single inheritance or multiple inheritance depending n the number of direct parents a class extends from) Java Permits only Single Inheritance whereas C++ provides for multiple inheritance

Some Key terms Information Hiding Preventing access to variable/methods to outsides Example in Java private, protected.. Overriding A child deciding to change the way a parent functions; by changing the implementation Overloading Method Overloading refers to the way a same method NAME can be made to function in different ways. Example add(int,int), add( array of numbers) Interface An interface is a named set of operations that characterize the behavior of an element. Method A method is the implementation of an operation. It has the procedure/s that affect the results of an operation.

Some Key terms Polymorphism Characteristics by which the class/object exhibits dynamic behavior Eg. public class Child extends Parent{ public void invoke(){ System.out.println("CHILD"); } } public class Parent { public void invoke(){ System.out.println("PARENT"); } } /// Parent p = (Parent) new Child(); p.invoke();.. This will invoke the child.. ///

Use Case Model A use case represents a coherent unit of functionality provided by a system A use case diagram is a graph of actors, a set of use cases and the relationships between these elements. A use case is shown as an ellipse containing the name of the use case. An extension point is a reference to one location within a use case at which action sequences from other use cases may be inserted. The use cases may be enclosed by a rectangle that represents the boundary of the containing system.

Use Case Contd. Relationships among use cases are as follows: Association The participation of an actor in a use case, i.e. instances of the actor and instances of the use case communicate with each other. Include An include relationship from use case A to use case B indicates that an instance of the use case A will also contain the behavior as specified by B. Extend An extend relationship from use case A to use case B indicates that an instance of use case B may be augmented (subject to specific conditions specified in the extension) by the behavior specified by A. Generalization A generalization from use case A to use case B indicates that A is a specialization of B.

Use Case Contd.

Use Case Contd. Captures business scenarios of the application Use Case : Name Actors Pre Conditions Descriptions Use Case : BookTravelTicket Actors: TravelAgent, AgentManager Pre Conditions: authentication Descriptions Check Availability of Ticket Payment Post Conditions Special requirements Post : Display Tickets Booked Special requirements:

Class Diagrams Classes Diagrams show Classes Interrelationships Inheritance Generalization Associations

A Class Name Attributes Normally based on Functionality/ Representation eg. Vector Content, type, values Student rolenumber section Methods Logic / Implementations getrolenumber updatesection

Class Diagram Contd. Association An association declares a connection (link) between instances of the associated classifiers (e.g.,classes). Multiplicity The multiplicity property of an association end specifies how many instances of the classifier at a given end (the one bearing the multiplicity value) may be associated with a single instance of the classifier at the other end. A multiplicity is a range of nonnegative integers. 0..1 1 0..* * 1..* 1..6 1..3,7..10,15,19..*

Class Diagram Contd. Association & Multiplicity The Company has 1 to many Employees. Com pany 1..n Em ployee Dependency A dependency indicates a semantic relationship between two model elements. In the following example, the sort() method depends on the BubbleSortImpl to do the sorting. BubbleSortImpl Sort sort()

Class Diagram Contd. Generalization A generalization is a relationship between a more general element and a more specific element. Car MarutiZen Aggregation This defines Whole and part relationship between two classes.

Class Diagram Contd. Composite aggregation Composite aggregation is a strong form of aggregation. This means that the composite object is responsible for the creation and destruction of the parts. If a composite object is destroyed, it must destroy all of its parts.

Sequence Diagrams A sequence diagram shows an interaction arranged in time sequence. It does not show the associations among the objects. Sequence diagram has two dimensions: the vertical dimension represents time and The horizontal dimension represents different objects. Sequence diagram shows: Types of objects involved in a scenario Messages exchanged Return values

Sequence Diagrams Contd..

Collaboration Diagrams A collaboration diagram shows the relationships among the objects playing the different roles. Collaboration diagram does not show time as a separate dimension, The sequence of interactions and the concurrent threads must be determined using sequence numbers. Collaboration and Sequence Diagram are called Interaction Diagrams.

Collaboration Diagrams

THANK YOU FOR YOU TIME. Happy Coding and Diagramming.