Chapter One: Object Orientation The New Software Paradigm
Chapter One: Object Orientation The New Software Paradigm
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Chapter One
Object Orientation the New Software Paradigm
Abebaw Degu
1 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Outline
1 Introduction
2 Object - Orientation
Object Oriented Paradigm
Open Closed Principle
Object-oriented development
3 Structured paradigm Vs object oriented paradigm
4 The potential benefits of object orientation
5 The potential drawbacks of object orientation
6 The Object orientation software process
The object orientation software process phases
2 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction
OO modeling and design is a way of thinking about problems
using models organized around real world concepts
Fundamental construct is the object, which combines both
data structure and behavior
OO modeling and design promotes
Better understanding of requirements
OO characteristics
Identity
•Data is quantized into discrete, distinguishable entities called
objects
Each object has is own inherent identity
Two objects are distinct even if all their attribute values are
identical
3 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction[2]
OO Characteristics continued...
Classification
•Objects with the same data structure (attributes) and behaviour
(operations) are grouped into a class.
•A class is an abstraction that describes properties important to an
application and ignores the rest
•Each class describes an infinite set of individual objects
•An Object is an instance of a class
4 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction[3]
OO Characteristics continued...
Object and Classes
5 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction
OO Characteristics continued...
Examples for Class and Object
6 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction[4]
OO Characteristics continued...
•An object is an instance of a class
Inheritance
Sharing of attributes and operations (features) among classes
based on a hierarchical relationship
•Super class has general information that subclasses refine and
elaborate
•Each subclass incorporates, or inherits, all the features of its
super class and adds its own unique features
Greatly reduce repetition
•factor out common features of several classes into a super class
7 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Introduction[5]
OO Characteristics continued...
Polymorphism
•Same operation behaves differently for different classes
•An operation is a procedure or transformation that an object
performs
Method
•An implementation of an operation by a specific class
•Each object “ knows how” to perform its own operation.
•OO operator is polymorphic
8 / 37
Introduction
Object - Orientation
Object Oriented Paradigm
Structured paradigm Vs object oriented paradigm
Open Closed Principle
The potential benefits of object orientation
Object-oriented development
The potential drawbacks of object orientation
The Object orientation software process
Object - Orientation
•The term Object-oriented (OO) means that we organize
software as a collection of discrete objects that incorporate both
data structure and behavior.
Includes 4 aspects:
Identity
Classification
Inheritance
Polymorphism
Object Oriented Paradigm
An approach to solution to problems in which all
computations are performed in the context of objects
A running program can be seen as a collection of objects
collaborating to perform a given task.
An OO-paradigm emphasizes modularity and re-usability.
9 / 37
Introduction
Object - Orientation
Object Oriented Paradigm
Structured paradigm Vs object oriented paradigm
Open Closed Principle
The potential benefits of object orientation
Object-oriented development
The potential drawbacks of object orientation
The Object orientation software process
10 / 37
Introduction
Object - Orientation
Object Oriented Paradigm
Structured paradigm Vs object oriented paradigm
Open Closed Principle
The potential benefits of object orientation
Object-oriented development
The potential drawbacks of object orientation
The Object orientation software process
Object-oriented development
•The theme is the identification and organization of application
concepts rather than final representation in a programming
Language.
•OOD approach encourages software developers to work and think
in terms of the application domain through most of the software
engineering life cycle.
•It is a conceptual process independent of a programming
language until the final stage.
Combination of data and functionality
Focuses on object, classes, modules that can be easily
replaced, modified and reused.
Moving from one phase to another phase is easier.
decreases duration of project
Reduces complexity and redundancy
11 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
12 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
13 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
16 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
19 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
21 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Object-oriented programming
The purpose of object-oriented programming is to build your
actual system – to develop the code that fulfills your system’s
design.
The most important implication is that design and
programming are highly interrelated and iterative.
Your programming efforts will immediately reveal weaknesses
in your design that will have to be addressed.
Perhaps the designers were unaware of specific features in the
programming environment and, therefore, did not take
advantage of them.
24 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
27 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
31 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
32 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
33 / 37
Introduction
Object - Orientation
Structured paradigm Vs object oriented paradigm
The object orientation software process phases
The potential benefits of object orientation
The potential drawbacks of object orientation
The Object orientation software process
Transition Phase
Transition Phase
The transition phase is entered when a baseline is mature
A usable subset of the system has been built with acceptable
quality levels and user documents
It can be deployed to the user community
For some projects the transition phase means the starting
point for another version of the software system
For other projects the transition phase means the complete
delivery of the software system to a third party responsible for
operation, maintenance and enhancement.
Transition Phase[2]
Transition Phase: Objectives Cont...
Deployment baseline is complete and consistent with the
criteria in the project agreement
Thank You!!!
36 / 37