SlideShare a Scribd company logo
1 of 54
Diploma in Software Engineering
Module III: OOAD Using UML
Rasan Samarasinghe
ESOFT Computer Studies (pvt) Ltd.
No 68/1, Main Street, Pallegama, Embilipitiya.
Contents
1. Object Oriented Programming
2. Object and Class
3. Object Oriented Programming Concepts
4. Unified Modeling Language
5. Class Diagrams
6. Use Case Diagrams
7. Activity Diagrams
8. Interaction Diagrams
9. Sequence Diagrams
10. Collaboration Diagrams
11. State Diagrams
12. Component Diagrams
13. Deployment Diagrams
14. UML Software Tools
Object Oriented Programming
• Object-oriented programming (OOP) is a
programming language model organized
around objects rather than actions and data
rather than logic.
• Object oriented programming becoming more
popular as a designing technique, because it
has an ability to represent complex
relationships, data and data processing with
suitable notations.
Object Oriented Programming
Male Female
Son
Father Mother Daughter
Family system
Objects
Object and Class
An object is person,
place or thing which
consist of data and
behaviors. The data of
an object is its
properties (attributes)
and behavior
represent how an
object acts and reacts.
A class is simply a
representation of a
type of object. It is the
blueprint / template
that describe the
details of an object.
Class is composed of
three things: a name,
attributes, and
operations.
Object Instance
Object instance is uniquely identified
occurrences of an object
Book
Book_id
Title
Author
Lending
Reservation
Reading
Book
001 – A
Science
Peter
Lending
Reservation
Reading
Object instance
Object Oriented Programming Concepts
 Abstraction
 Inheritance
 Polymorphism
 Encapsulation
 Generalization
 Specialization
Abstraction
• Abstraction is a mechanism that enables the
designer to focus on the essential details of a
program component without regard to
irrelevant low level details.
• As we move through the design process, the
level of abstraction is reduced. Finally, the
lowest level of abstraction is reached when
source code is generated.
Inheritance
Inheritance is sharing of attributes and operations
among classes based on a hierarchical relationship.
Vehicle
v-no
Model
color
Drive
Stop
Bus
v-no
Model
color
Drive
Stop
Car
v-no
Model
color
Drive
Stop
Super class
operations and
attributes are
inherited to the
sub classes
Polymorphism
• Polymorphism is simply the ability for an
object behaves differently depending on its
type.
• Ex: both cat and dog are animals which has
the same method called makeNoise(). But
they are making noise in a different way.
Polymorphism
Encapsulation
• According to encapsulation attributes and
operations are encapsulated (hidden) within
the object.
• The outside world know what the object can
do but don’t know how it does or where data
is stored. These features are hidden from the
user.
Generalization / Specialization
Generalization and specialization both refer to
inheritance but the approach in which they
are implemented are different.
If many similar existing
classes are combined
to form a super class
to do common job of
its subclass, then it is
known as
Generalization.
If some new
subclasses are created
from an existing super
class to do specific job
of the super class,
then it is known as
Specialization.
Generalization / Specialization
Vehicle
v-no
Model
Color
Drive
Stop
Motorbike
v-no
Model
color
Drive
Stop
Car
v-no
Model
Color
Airbag
Drive
Stop
Reverse
Specialization
Generalization
Car and Motorbike specialize Vehicle to their
own sub-type.
Vehicle Generalize what is
common between Car and
Motorbike
Unified Modeling Language (UML)
• UML can be described as a general purpose
visual modeling language to visualize, specify
and document software systems.
• The most important goal for developing UML
is to define some general purpose modeling
language which all modelers can use and
simple to understand and use.
Unified Modeling Language (UML)
1. Class Diagrams
2. Use Case Diagrams
3. Activity Diagrams
4. Interaction Diagrams
1. Sequence Diagrams
2. Collaboration Diagrams
5. State Diagrams
6. Component Diagrams
7. Deployment Diagrams
Class Diagrams
• A class diagram shows the static structure of
an object oriented model.
• Also it shows object classed and their internal
structures (attributes and operations) and
their relationships.
Class Diagrams
Structure of a Class
Student
Name
Address
Phone
Display
Add
Edit
Delete
Class Name
Attributes
Operations
Relationships
• Association
• Aggregation
• Composition
• Generalization
Association
• An association is a relationship among classes
or objects.
• Ex: Student follows Course, Lecturer teaches
Student, Manager manages company.
manager company
Aggregation
• When an object has an another object, then
you have got an aggregation between them.
• Ex: Library has Students
Student Library
Composition
• When an object contains the other object, if
the contained object cannot exist without the
existence of container object, then it is called
composition.
• Ex: University consist from Buildings, Shirt
consist from Collar, buttons, etc.
Generalization
Person
Employer Customer
Multiplicity
Multiplicity indicates the number of instance
of one class linked to instance of another
class.
One to One One to Many
Many to Many
1 1 1 *
* *
Multiplicity
Multiplicity Meaning
1 Only One instance can be linked
* Many instances can be linked
0..* Zero or many instance can be linked
0..1 Zero or one instance can be linked
1..* One or many instance can be linked
5..9 Between 5 and 9 instance can be linked
3,4,5 Only 3,4 or 5 instance can be linked
Class Diagrams
A sample class diagram
Purpose of the class diagrams
Describing the static view of the system.
Describing the functionalities performed by
the system.
Construction of software applications using
object oriented languages.
Use Case Diagrams
• A use case diagram is a graphical
representation of a user's interaction with the
system.
• The purpose of use case diagram is to capture
the dynamic aspect of a system.
Use Case Diagrams
Use Case Diagrams
Purpose of use case diagrams
Used to gather requirements of a system.
Used to get an outside view of a system.
Model the context of a system.
Understand the project scope.
Activity Diagrams
• Activity diagram is basically a flow chart to
represent the flow from one activity to
another activity.
• The activity can be described as an operation
of the system.
Activity Diagrams
Activity Diagrams
Purpose of activity diagrams
Modeling business requirements.
High level understanding of the system's
functionalities.
Draw the activity flow of a system.
Describe the parallel, branched and
concurrent flow of the system.
Interaction Diagrams
• Interaction diagrams are used to describe
some type of interactions among the different
elements in the model.
• This interactive behavior is represented in
UML by two diagrams known as:
1. Sequence diagrams
2. Collaboration diagrams
Sequence Diagrams
Sequence diagram emphasizes on time
sequence of messages
Sequence Diagrams
Collaboration Diagrams (Communication)
Diagrams)
Collaboration diagram emphasizes on the
structural organization of the objects that
send and receive messages.
Collaboration Diagrams (Communication)
Collaboration Diagrams (Communication)
Purpose of interaction diagrams
 To capture dynamic behavior of a system.
 To describe the message flow in the system.
 To describe structural organization of the
objects.
 To describe interaction among objects.
State Diagrams
• State diagrams used to model dynamic nature
of a system.
• It describes different states of an object during
its lifetime. And these states are changed by
events.
State Diagrams
Vacancy Opened Updated Vacancy
Closed
/ Create / Update
[isOpen] / Close
Deleted
/ Delete
/ Delete
State Diagrams
Job Seeker Inserted Updated Info
Deleted
/ Create / Update
/ Delete
/ Delete
Purpose of State diagrams
To model dynamic aspect of a system.
To identify events responsible for state
changes.
To describe different states of an object during
its life time.
Component Diagrams
• Component diagrams are used to model
physical aspects of a system.
• These physical aspects are the elements like
executables, libraries, files, documents etc
which resides in a node.
Component Diagrams
Customer.java Order.java
SpecialOrder.javaNormalOrder.java
Purpose of component diagrams
Visualize the components of a system.
Model executables of an application.
Model system's source code.
Describe the organization and relationships of
the components.
Deployment Diagrams
Deployment diagrams are used to visualize the
topology of the physical components
(hardware) of a system where the software
components are deployed.
Deployment Diagrams
Purpose of Deployment diagrams
To model the hardware topology of a system.
Describe runtime processing nodes.
Describe the hardware components used to
deploy software components.
UML Software Tools
• Microsoft Office Visio
• IBM Rational Rose
• Creately
The End
http://twitter.com/rasansmn

More Related Content

What's hot

Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
Komal Singh
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 

What's hot (20)

Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Software design
Software designSoftware design
Software design
 
Ooad
OoadOoad
Ooad
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Uml
UmlUml
Uml
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief Overview
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineering
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Case tools
Case tools Case tools
Case tools
 

Viewers also liked

Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
Kunal Kishor Nirala
 
DISE - Database Concepts
DISE - Database ConceptsDISE - Database Concepts
DISE - Database Concepts
Rasan Samarasinghe
 

Viewers also liked (20)

DISE - Windows Based Application Development in C#
DISE - Windows Based Application Development in C#DISE - Windows Based Application Development in C#
DISE - Windows Based Application Development in C#
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
 
DISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in JavaDISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in Java
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
CPP14 - Encapsulation
CPP14 - EncapsulationCPP14 - Encapsulation
CPP14 - Encapsulation
 
An introduction to papyrus
An introduction to papyrusAn introduction to papyrus
An introduction to papyrus
 
DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update) DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update)
 
DITEC - Expose yourself to Internet & E-mail (updated)
DITEC - Expose yourself to Internet & E-mail (updated)DITEC - Expose yourself to Internet & E-mail (updated)
DITEC - Expose yourself to Internet & E-mail (updated)
 
DITEC - Expose yourself to Internet & E-mail
DITEC - Expose yourself to Internet & E-mailDITEC - Expose yourself to Internet & E-mail
DITEC - Expose yourself to Internet & E-mail
 
DITEC - Programming with C#.NET
DITEC - Programming with C#.NETDITEC - Programming with C#.NET
DITEC - Programming with C#.NET
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
 
DITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NETDITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NET
 
Applications of extrusion in encapsulation technology
Applications of extrusion in encapsulation technologyApplications of extrusion in encapsulation technology
Applications of extrusion in encapsulation technology
 
2CPP09 - Encapsulation
2CPP09 - Encapsulation2CPP09 - Encapsulation
2CPP09 - Encapsulation
 
encapsulation
encapsulationencapsulation
encapsulation
 
DITEC - Programming with Java
DITEC - Programming with JavaDITEC - Programming with Java
DITEC - Programming with Java
 
DISE - Database Concepts
DISE - Database ConceptsDISE - Database Concepts
DISE - Database Concepts
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
 

Similar to DISE - OOAD Using UML

Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
Aravind NC
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
naina-rani
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
RAJESH S
 

Similar to DISE - OOAD Using UML (20)

Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
432
432432
432
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
fdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.pptfdocuments.in_unit-2-ooad.ppt
fdocuments.in_unit-2-ooad.ppt
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
 
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Uml
UmlUml
Uml
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 

More from Rasan Samarasinghe

More from Rasan Samarasinghe (20)

Managing the under performance in projects.pptx
Managing the under performance in projects.pptxManaging the under performance in projects.pptx
Managing the under performance in projects.pptx
 
Agile project management with scrum
Agile project management with scrumAgile project management with scrum
Agile project management with scrum
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
IT Introduction (en)
IT Introduction (en)IT Introduction (en)
IT Introduction (en)
 
Application of Unified Modelling Language
Application of Unified Modelling LanguageApplication of Unified Modelling Language
Application of Unified Modelling Language
 
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST APIAdvanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...
 
Advanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with GitAdvanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with Git
 
DIWE - Working with MySQL Databases
DIWE - Working with MySQL DatabasesDIWE - Working with MySQL Databases
DIWE - Working with MySQL Databases
 
DIWE - Using Extensions and Image Manipulation
DIWE - Using Extensions and Image ManipulationDIWE - Using Extensions and Image Manipulation
DIWE - Using Extensions and Image Manipulation
 
DIWE - File handling with PHP
DIWE - File handling with PHPDIWE - File handling with PHP
DIWE - File handling with PHP
 
DIWE - Advanced PHP Concepts
DIWE - Advanced PHP ConceptsDIWE - Advanced PHP Concepts
DIWE - Advanced PHP Concepts
 
DIWE - Fundamentals of PHP
DIWE - Fundamentals of PHPDIWE - Fundamentals of PHP
DIWE - Fundamentals of PHP
 
DIWE - Programming with JavaScript
DIWE - Programming with JavaScriptDIWE - Programming with JavaScript
DIWE - Programming with JavaScript
 
DIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web DesigningDIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web Designing
 
DIWE - Multimedia Technologies
DIWE - Multimedia TechnologiesDIWE - Multimedia Technologies
DIWE - Multimedia Technologies
 
Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++Esoft Metro Campus - Programming with C++
Esoft Metro Campus - Programming with C++
 
Esoft Metro Campus - Certificate in c / c++ programming
Esoft Metro Campus - Certificate in c / c++ programmingEsoft Metro Campus - Certificate in c / c++ programming
Esoft Metro Campus - Certificate in c / c++ programming
 
Esoft Metro Campus - Certificate in java basics
Esoft Metro Campus - Certificate in java basicsEsoft Metro Campus - Certificate in java basics
Esoft Metro Campus - Certificate in java basics
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 

DISE - OOAD Using UML

  • 1. Diploma in Software Engineering Module III: OOAD Using UML Rasan Samarasinghe ESOFT Computer Studies (pvt) Ltd. No 68/1, Main Street, Pallegama, Embilipitiya.
  • 2. Contents 1. Object Oriented Programming 2. Object and Class 3. Object Oriented Programming Concepts 4. Unified Modeling Language 5. Class Diagrams 6. Use Case Diagrams 7. Activity Diagrams 8. Interaction Diagrams 9. Sequence Diagrams 10. Collaboration Diagrams 11. State Diagrams 12. Component Diagrams 13. Deployment Diagrams 14. UML Software Tools
  • 3. Object Oriented Programming • Object-oriented programming (OOP) is a programming language model organized around objects rather than actions and data rather than logic. • Object oriented programming becoming more popular as a designing technique, because it has an ability to represent complex relationships, data and data processing with suitable notations.
  • 4. Object Oriented Programming Male Female Son Father Mother Daughter Family system Objects
  • 5. Object and Class An object is person, place or thing which consist of data and behaviors. The data of an object is its properties (attributes) and behavior represent how an object acts and reacts. A class is simply a representation of a type of object. It is the blueprint / template that describe the details of an object. Class is composed of three things: a name, attributes, and operations.
  • 6. Object Instance Object instance is uniquely identified occurrences of an object Book Book_id Title Author Lending Reservation Reading Book 001 – A Science Peter Lending Reservation Reading Object instance
  • 7. Object Oriented Programming Concepts  Abstraction  Inheritance  Polymorphism  Encapsulation  Generalization  Specialization
  • 8. Abstraction • Abstraction is a mechanism that enables the designer to focus on the essential details of a program component without regard to irrelevant low level details. • As we move through the design process, the level of abstraction is reduced. Finally, the lowest level of abstraction is reached when source code is generated.
  • 9. Inheritance Inheritance is sharing of attributes and operations among classes based on a hierarchical relationship. Vehicle v-no Model color Drive Stop Bus v-no Model color Drive Stop Car v-no Model color Drive Stop Super class operations and attributes are inherited to the sub classes
  • 10. Polymorphism • Polymorphism is simply the ability for an object behaves differently depending on its type. • Ex: both cat and dog are animals which has the same method called makeNoise(). But they are making noise in a different way.
  • 12. Encapsulation • According to encapsulation attributes and operations are encapsulated (hidden) within the object. • The outside world know what the object can do but don’t know how it does or where data is stored. These features are hidden from the user.
  • 13. Generalization / Specialization Generalization and specialization both refer to inheritance but the approach in which they are implemented are different. If many similar existing classes are combined to form a super class to do common job of its subclass, then it is known as Generalization. If some new subclasses are created from an existing super class to do specific job of the super class, then it is known as Specialization.
  • 15. Unified Modeling Language (UML) • UML can be described as a general purpose visual modeling language to visualize, specify and document software systems. • The most important goal for developing UML is to define some general purpose modeling language which all modelers can use and simple to understand and use.
  • 16. Unified Modeling Language (UML) 1. Class Diagrams 2. Use Case Diagrams 3. Activity Diagrams 4. Interaction Diagrams 1. Sequence Diagrams 2. Collaboration Diagrams 5. State Diagrams 6. Component Diagrams 7. Deployment Diagrams
  • 17. Class Diagrams • A class diagram shows the static structure of an object oriented model. • Also it shows object classed and their internal structures (attributes and operations) and their relationships.
  • 18. Class Diagrams Structure of a Class Student Name Address Phone Display Add Edit Delete Class Name Attributes Operations
  • 19. Relationships • Association • Aggregation • Composition • Generalization
  • 20. Association • An association is a relationship among classes or objects. • Ex: Student follows Course, Lecturer teaches Student, Manager manages company. manager company
  • 21. Aggregation • When an object has an another object, then you have got an aggregation between them. • Ex: Library has Students Student Library
  • 22. Composition • When an object contains the other object, if the contained object cannot exist without the existence of container object, then it is called composition. • Ex: University consist from Buildings, Shirt consist from Collar, buttons, etc.
  • 24. Multiplicity Multiplicity indicates the number of instance of one class linked to instance of another class. One to One One to Many Many to Many 1 1 1 * * *
  • 25. Multiplicity Multiplicity Meaning 1 Only One instance can be linked * Many instances can be linked 0..* Zero or many instance can be linked 0..1 Zero or one instance can be linked 1..* One or many instance can be linked 5..9 Between 5 and 9 instance can be linked 3,4,5 Only 3,4 or 5 instance can be linked
  • 26. Class Diagrams A sample class diagram
  • 27. Purpose of the class diagrams Describing the static view of the system. Describing the functionalities performed by the system. Construction of software applications using object oriented languages.
  • 28. Use Case Diagrams • A use case diagram is a graphical representation of a user's interaction with the system. • The purpose of use case diagram is to capture the dynamic aspect of a system.
  • 31. Purpose of use case diagrams Used to gather requirements of a system. Used to get an outside view of a system. Model the context of a system. Understand the project scope.
  • 32. Activity Diagrams • Activity diagram is basically a flow chart to represent the flow from one activity to another activity. • The activity can be described as an operation of the system.
  • 35. Purpose of activity diagrams Modeling business requirements. High level understanding of the system's functionalities. Draw the activity flow of a system. Describe the parallel, branched and concurrent flow of the system.
  • 36. Interaction Diagrams • Interaction diagrams are used to describe some type of interactions among the different elements in the model. • This interactive behavior is represented in UML by two diagrams known as: 1. Sequence diagrams 2. Collaboration diagrams
  • 37. Sequence Diagrams Sequence diagram emphasizes on time sequence of messages
  • 39. Collaboration Diagrams (Communication) Diagrams) Collaboration diagram emphasizes on the structural organization of the objects that send and receive messages.
  • 42. Purpose of interaction diagrams  To capture dynamic behavior of a system.  To describe the message flow in the system.  To describe structural organization of the objects.  To describe interaction among objects.
  • 43. State Diagrams • State diagrams used to model dynamic nature of a system. • It describes different states of an object during its lifetime. And these states are changed by events.
  • 44. State Diagrams Vacancy Opened Updated Vacancy Closed / Create / Update [isOpen] / Close Deleted / Delete / Delete
  • 45. State Diagrams Job Seeker Inserted Updated Info Deleted / Create / Update / Delete / Delete
  • 46. Purpose of State diagrams To model dynamic aspect of a system. To identify events responsible for state changes. To describe different states of an object during its life time.
  • 47. Component Diagrams • Component diagrams are used to model physical aspects of a system. • These physical aspects are the elements like executables, libraries, files, documents etc which resides in a node.
  • 49. Purpose of component diagrams Visualize the components of a system. Model executables of an application. Model system's source code. Describe the organization and relationships of the components.
  • 50. Deployment Diagrams Deployment diagrams are used to visualize the topology of the physical components (hardware) of a system where the software components are deployed.
  • 52. Purpose of Deployment diagrams To model the hardware topology of a system. Describe runtime processing nodes. Describe the hardware components used to deploy software components.
  • 53. UML Software Tools • Microsoft Office Visio • IBM Rational Rose • Creately