SlideShare a Scribd company logo
Software Design
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Software Design Process
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Software Design Process
■ Software design provides interaction between requirements and implementation
■ Software design process is a problem solving process
1. Understand the problem
2. Identify one or more solutions
3. Create abstractions (model diagrams) for the identified solution
4. Refine the each abstraction
■ Software design process is refined through different stages
1. Informal design outline
2. Informal design
3. Formal design
4. Finished (final) design
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Software Design Quality Attributes
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Software Design Quality Attributes
■ Abstraction
– Generalization by reducing the information content of a concept
– Retain only relevant information
– Easier to understand the concept without dealing with unnecessary details
■ Modularity
– Software is divided into different components called modules
– Degree to which a system's components can be separated and recombined
– Structural organization containing individual modules and their interconnections
■ Cohesion (High or Low)
– Degree to which the elements of a module belong together
– Concerns relationships within a module
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Software Design Quality Attributes
■ Coupling (Loose or Tight)
– Degree of interdependence between modules
– Concerns relationships between modules
■ Information Hiding
– Hide irrelevant details of a module (Abstraction)
– Module contains related functionality (High Cohesion)
– Modules are independent (Loose Coupling)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Design Objectives
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Design Objectives
■ Correctness
– Full fill all requirements
– Implement every constraint
■ Efficiency
– Proper management of resources
– Maximize performance
■ Cost
– Minimize cost
■ Maintainability
– Facilitate debugging and testing
– Easy to modify and extend
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Object Oriented Design
(Classes & Objects)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Classes & Objects
■ Object is an entity in a software system which represent an instance of a thing from
real-world. It has a state (set of attributes or properties) and a defined set of
operations (behaviors or methods) which operate on that state.
■ Class is a blueprint or template definition for an object which create objects and
define their state and operations.
■ Class is a type and object is an instance.
■ Object-Oriented design
– Approach of software design
– Identify problem domain objects and represent them with classes
– Define the classes and relationships between their objects
– Create system of interacting objects to solve a problem
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Object Oriented Design
(Attributes & Behavior)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Attributes & Behaviors
■ Class defines the attributes and behaviors for the objects
■ Attributes (properties) define the data in an object
– Describe the state of an object
– Represented by variables in an object
■ Behaviors (methods) define the functionality of an object
– Describe how object responds to messages passed to it
– Represented by functions of an object
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Object Oriented Design
(Relations among Classes & Objects)
(Association, Aggregation & Composition)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Association
■ Association is a relationship or a connection between two classes where there is no
owner and all objects have their own lifecycle
■ Removing the objects does not change the lifecycle of their related objects
■ Association relation between two classes A and B can be defined when
– A uses B
– A knows B
– A is related to B
■ Association multiplicity between two classes can be defined as
– One-to-one (one object of class is related to exactly one object of other class)
– One-to-many (one object of class is related to multiple objects of other class)
– Many-to-many (Multiple objects of class are related to multiple objects of other class)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Aggregation
■ Aggregation is a special type of Association where there is an ownership relation
(one class owns the other class) but all objects have their own lifecycle
■ Removing the owned objects does not change the lifecycle of their owner objects
■ Removing the owner objects does not change the lifecycle of their owned objects
■ Aggregation relation between two classes from A to B can be defined when B can
exist without A and
– A has a B
– A consists of B
– A owns B
– B belongs to A
– B is a part of A
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Composition
■ Composition is a special type of Aggregation where there is an ownership relation
(one class owns the other class) and lifecycle of owned objects depend on the
lifecycle of their owner objects
■ Removing the owned objects does not change the lifecycle of their owner objects
■ Removing the owner objects also ends the lifecycle of their owned objects
■ Composition relation between two classes from A to B can be defined when B
cannot exist without A and
– A has a B
– A consists of B
– A owns B
– B belongs to A
– B is a part of A
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Object Oriented Design
(Inheritance)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Inheritance
■ Inheritance is a relationship or a connection between two classes where one class
extends an existing class and inherit all the characteristics of existing class
■ Inheritance relation between two classes from A (sub class, derived class or child
class) to B (super class, base class or parent class) can be defined when
– A is a B
– A is kind / type of B
– A is like B
■ Child class can implement its own attributes and behaviors
■ Child class can access the attributes and behaviors of its parent class
■ Child class can override the behaviors of its parent class
■ Class can also extend an already extended class, creating a hierarchyof classes
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Object Oriented Design
(Polymorphism)
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Polymorphism
■ Polymorphism provides different implementation of behaviors (methods) that are
implemented with same name
■ Static polymorphism occurs due to behavior (method) overloading in same class
■ Dynamic polymorphism occurs due to behavior (method) overriding in a hierarchy of
classes related by inheritance
1. Parent class (generalization) is extended by specific child classes (specialization)
2. Child classes override the behaviors (methods) of parent class
3. Behaviors (methods) are invoked depending on the child class of the object
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
Reference
■ Using UML: Software Engineering with Objects and Components by Perdita Stevens,
Rob Pooley, Addison-Wesley, 2006
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY

More Related Content

PDF
4-Object Oriented Design Heuristics (Object Oriented Software Engineering - B...
PDF
5-Object Oriented Analysis (Object Oriented Software Engineering - BNU Spring...
PDF
3-Software Anti Design Patterns (Object Oriented Software Engineering - BNU S...
PDF
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
PDF
1-Introduction to Software Engineering (Object Oriented Software Engineering ...
PPTX
B tech cse syllabus - MITAOE
DOC
qaiser updated resume
PDF
6-Animation in Game (Game Development - UMT Spring 2017/2018)
4-Object Oriented Design Heuristics (Object Oriented Software Engineering - B...
5-Object Oriented Analysis (Object Oriented Software Engineering - BNU Spring...
3-Software Anti Design Patterns (Object Oriented Software Engineering - BNU S...
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
1-Introduction to Software Engineering (Object Oriented Software Engineering ...
B tech cse syllabus - MITAOE
qaiser updated resume
6-Animation in Game (Game Development - UMT Spring 2017/2018)

Viewers also liked (20)

PDF
software engineering
PDF
Chapter 5 software design
PPT
Software design methodologies
PDF
1-Introduction (Game Development - UMT Spring 2017/2018)
PPTX
PPT
Ch01lect1 ud
PDF
3-Graphics in Game (Game Development - UMT Spring 2017/2018)
PPTX
Object Oriented Software Engineering
PDF
software development, process model, requirement engineering, srs, structured...
PDF
Software Design patterns on Android English
PPTX
Introduction To Software Engineering
PDF
Designing Teams for Emerging Challenges
PDF
Visual Design with Data
PDF
How to Become a Thought Leader in Your Niche
PDF
Advanced designs for reusable lightning components
PDF
Cloud computing and software engineering
PPT
Ch05lect1 ud
PPT
Ch03lect1 ud
PPT
Ch07lect1 ud
PPT
Ch03lect2 ud
software engineering
Chapter 5 software design
Software design methodologies
1-Introduction (Game Development - UMT Spring 2017/2018)
Ch01lect1 ud
3-Graphics in Game (Game Development - UMT Spring 2017/2018)
Object Oriented Software Engineering
software development, process model, requirement engineering, srs, structured...
Software Design patterns on Android English
Introduction To Software Engineering
Designing Teams for Emerging Challenges
Visual Design with Data
How to Become a Thought Leader in Your Niche
Advanced designs for reusable lightning components
Cloud computing and software engineering
Ch05lect1 ud
Ch03lect1 ud
Ch07lect1 ud
Ch03lect2 ud
Ad

Similar to 2-Software Design (Object Oriented Software Engineering - BNU Spring 2017) (20)

PPT
Object Oriented Design
PPT
Object Oriented Design
PPT
AI_Module_2_Engineering_Computer_Science.ppt
PPTX
Object Oriented Analysis and Design - OOAD
PPTX
introofUML.pptx
PDF
ppt_ooad.pdf
PDF
DOCX
Ooad unit 1
PPTX
SAD02 - Object Orientation
PPT
Unit 1( modelling concepts & class modeling)
PPT
Object analysis and design
PPT
Software Engineering Lec5 oop-uml-i
PPT
Unit IV Software Engineering
PDF
Object oriented software engineering concepts
PPT
Ooad ch 2
PPTX
Concepts of oops
PPT
Ooad
PPTX
Introduction
PPT
Ooad ch 1_2
Object Oriented Design
Object Oriented Design
AI_Module_2_Engineering_Computer_Science.ppt
Object Oriented Analysis and Design - OOAD
introofUML.pptx
ppt_ooad.pdf
Ooad unit 1
SAD02 - Object Orientation
Unit 1( modelling concepts & class modeling)
Object analysis and design
Software Engineering Lec5 oop-uml-i
Unit IV Software Engineering
Object oriented software engineering concepts
Ooad ch 2
Concepts of oops
Ooad
Introduction
Ooad ch 1_2
Ad

More from Hafiz Ammar Siddiqui (8)

PDF
4-Game Physics (Game Design and Development)
PDF
3-Game Graphics (Game Design and Development)
PDF
2-Game Design (Game Design and Development)
PDF
1-Introduction (Game Design and Development)
PDF
9-Software Verification and Validation (Object Oriented Software Engineering ...
PDF
7-Refactoring (Object Oriented Software Engineering - BNU Spring 2017)
PDF
9-Game Design (Game Development - UMT Spring 2017/2018)
PDF
6-Software Design Reviews (Object Oriented Software Engineering - BNU Spring ...
4-Game Physics (Game Design and Development)
3-Game Graphics (Game Design and Development)
2-Game Design (Game Design and Development)
1-Introduction (Game Design and Development)
9-Software Verification and Validation (Object Oriented Software Engineering ...
7-Refactoring (Object Oriented Software Engineering - BNU Spring 2017)
9-Game Design (Game Development - UMT Spring 2017/2018)
6-Software Design Reviews (Object Oriented Software Engineering - BNU Spring ...

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Cell Structure & Organelles in detailed.
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Cell Types and Its function , kingdom of life
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Institutional Correction lecture only . . .
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Basic Mud Logging Guide for educational purpose
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
RMMM.pdf make it easy to upload and study
PPH.pptx obstetrics and gynecology in nursing
TR - Agricultural Crops Production NC III.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Cell Structure & Organelles in detailed.
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Cell Types and Its function , kingdom of life
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Institutional Correction lecture only . . .
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Microbial diseases, their pathogenesis and prophylaxis
O7-L3 Supply Chain Operations - ICLT Program
Sports Quiz easy sports quiz sports quiz
Basic Mud Logging Guide for educational purpose
Anesthesia in Laparoscopic Surgery in India
Final Presentation General Medicine 03-08-2024.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
RMMM.pdf make it easy to upload and study

2-Software Design (Object Oriented Software Engineering - BNU Spring 2017)

  • 1. Software Design FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 2. Software Design Process FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 3. Software Design Process ■ Software design provides interaction between requirements and implementation ■ Software design process is a problem solving process 1. Understand the problem 2. Identify one or more solutions 3. Create abstractions (model diagrams) for the identified solution 4. Refine the each abstraction ■ Software design process is refined through different stages 1. Informal design outline 2. Informal design 3. Formal design 4. Finished (final) design FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 4. Software Design Quality Attributes FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 5. Software Design Quality Attributes ■ Abstraction – Generalization by reducing the information content of a concept – Retain only relevant information – Easier to understand the concept without dealing with unnecessary details ■ Modularity – Software is divided into different components called modules – Degree to which a system's components can be separated and recombined – Structural organization containing individual modules and their interconnections ■ Cohesion (High or Low) – Degree to which the elements of a module belong together – Concerns relationships within a module FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 6. Software Design Quality Attributes ■ Coupling (Loose or Tight) – Degree of interdependence between modules – Concerns relationships between modules ■ Information Hiding – Hide irrelevant details of a module (Abstraction) – Module contains related functionality (High Cohesion) – Modules are independent (Loose Coupling) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 7. Design Objectives FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 8. Design Objectives ■ Correctness – Full fill all requirements – Implement every constraint ■ Efficiency – Proper management of resources – Maximize performance ■ Cost – Minimize cost ■ Maintainability – Facilitate debugging and testing – Easy to modify and extend FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 9. Object Oriented Design (Classes & Objects) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 10. Classes & Objects ■ Object is an entity in a software system which represent an instance of a thing from real-world. It has a state (set of attributes or properties) and a defined set of operations (behaviors or methods) which operate on that state. ■ Class is a blueprint or template definition for an object which create objects and define their state and operations. ■ Class is a type and object is an instance. ■ Object-Oriented design – Approach of software design – Identify problem domain objects and represent them with classes – Define the classes and relationships between their objects – Create system of interacting objects to solve a problem FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 11. Object Oriented Design (Attributes & Behavior) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 12. Attributes & Behaviors ■ Class defines the attributes and behaviors for the objects ■ Attributes (properties) define the data in an object – Describe the state of an object – Represented by variables in an object ■ Behaviors (methods) define the functionality of an object – Describe how object responds to messages passed to it – Represented by functions of an object FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 13. Object Oriented Design (Relations among Classes & Objects) (Association, Aggregation & Composition) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 14. Association ■ Association is a relationship or a connection between two classes where there is no owner and all objects have their own lifecycle ■ Removing the objects does not change the lifecycle of their related objects ■ Association relation between two classes A and B can be defined when – A uses B – A knows B – A is related to B ■ Association multiplicity between two classes can be defined as – One-to-one (one object of class is related to exactly one object of other class) – One-to-many (one object of class is related to multiple objects of other class) – Many-to-many (Multiple objects of class are related to multiple objects of other class) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 15. Aggregation ■ Aggregation is a special type of Association where there is an ownership relation (one class owns the other class) but all objects have their own lifecycle ■ Removing the owned objects does not change the lifecycle of their owner objects ■ Removing the owner objects does not change the lifecycle of their owned objects ■ Aggregation relation between two classes from A to B can be defined when B can exist without A and – A has a B – A consists of B – A owns B – B belongs to A – B is a part of A FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 16. Composition ■ Composition is a special type of Aggregation where there is an ownership relation (one class owns the other class) and lifecycle of owned objects depend on the lifecycle of their owner objects ■ Removing the owned objects does not change the lifecycle of their owner objects ■ Removing the owner objects also ends the lifecycle of their owned objects ■ Composition relation between two classes from A to B can be defined when B cannot exist without A and – A has a B – A consists of B – A owns B – B belongs to A – B is a part of A FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 17. Object Oriented Design (Inheritance) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 18. Inheritance ■ Inheritance is a relationship or a connection between two classes where one class extends an existing class and inherit all the characteristics of existing class ■ Inheritance relation between two classes from A (sub class, derived class or child class) to B (super class, base class or parent class) can be defined when – A is a B – A is kind / type of B – A is like B ■ Child class can implement its own attributes and behaviors ■ Child class can access the attributes and behaviors of its parent class ■ Child class can override the behaviors of its parent class ■ Class can also extend an already extended class, creating a hierarchyof classes FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 19. Object Oriented Design (Polymorphism) FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 20. Polymorphism ■ Polymorphism provides different implementation of behaviors (methods) that are implemented with same name ■ Static polymorphism occurs due to behavior (method) overloading in same class ■ Dynamic polymorphism occurs due to behavior (method) overriding in a hierarchy of classes related by inheritance 1. Parent class (generalization) is extended by specific child classes (specialization) 2. Child classes override the behaviors (methods) of parent class 3. Behaviors (methods) are invoked depending on the child class of the object FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
  • 21. Reference ■ Using UML: Software Engineering with Objects and Components by Perdita Stevens, Rob Pooley, Addison-Wesley, 2006 FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY