Académique Documents
Professionnel Documents
Culture Documents
Introduction
It is a new way of thinking about problems
using models based on real world
concepts.
The basic construct is object which
combines both data structure and
behavior in a single entity.
What is object-oriented?
Software is organized as a collection of
discrete objects that incorporate both data
structure and behavior.
In general it includes- identity,
classification, polymorphism and
inheritance.
Identity
Identity means that data is organized into
discrete, distinguishable entities called
objects.
Objects can be concrete or conceptual.
In real world an object simply exist but
within a programming language each
object has a unique handle by which it can
be uniquely referenced.
The handle can be implemented by
address, array index or unique value of an
attribute.
4
Classification
It means that objects with same data
structure (attribute) and behavior
(operations) are grouped into a class.
A class is an abstraction that describes
important properties and ignores the rest.
Each class describes infinite set of objects.
An object has its own value for each
attribute but shares the attribute name
and operation with other instances of the
class
5
Polymorphism
It means that the same operation (i.e.
action or transformation that the object
performs) may behave differently on
different classes.
Specific implementation of an operation by
a certain class is called a method.
In oops, language automatically selects
the correct method to implement an
operation based on the name of the
operation and class of the object being
operated on
Inheritance
It is the sharing of attributes and operations
among classes based on a hierarchical
relationship.
Subclasses can be formed from broadly
defined class.
Each subclass incorporates or inherits all the
properties of its super class and adds its own
unique properties.
The ability to factor out common features of
several classes into a super class can reduce
repetition within designs and programs
7
Object-oriented
development?
Development refers to the software lifecycle: analysis, design and implementation
The theme is the identification and
organization of application concepts rather
than final representation in a programming
Language.
Object-oriented
methodology
Stages System conception
Analysis
System design
Class design
Implementation
10
System Conception
Software development begins with
business analysts or users conceiving
an application and formulating
tentative requirements
11
Analysis
The analyst scrutinizes and rigorously
restates the requirements from system
conception by constructing models
The analysts must work with the requestor
to understand the problem, because
problem statements are rarely complete or
correct
The analysis model is a concise, precise
abstraction of what the desired system
must do, not how it will be done.
12
System Design
The development team devise a high level
strategy the system architecture for
solving application problems.
The system designer must decide what
performance characteristics to optimize,
choose a strategy of attacking the
problem, and make tentative resource
allocations
14
Class Design
Class designer adds details to the analysis
model in accordance with the system
design strategy.
The class designer elaborates both domain
and application objects using OO concepts
and notations
The focus of class design is the data
structures and algorithms needed to
implement each class
15
Implementation
Implementers translate the classes and
relationships developed during class
design into a particular programming
language / database / hardware
It is important to follow good software
engineering practice so that traceability to
the design is apparent and so that the
system remains flexible and extensible.
16
17