Vous êtes sur la page 1sur 13

OOMD Unit 1

Introduction
• 1.1 What is Object-Orientation?
• Object Oriented Approach means organizing
software as a collection of discrete objects
that incorporate both data structure and
behavior. OO approach includes four aspects:
Identity
• Data can be quantized into discrete, distinguishable
entities which are called objects.
• E.g. for objects: personal computer, bicycle, queen in
chess etc.
• Objects can be concrete (such as a file in a file system)
or conceptual (such as scheduling policy in a
multiprocessing OS).
• Each object has its own inherent identity. (i.e two
objects are distinct even if all their attribute values are
identical).
Classification
• Classification means that objects with the
same data structure (attribute) and behavior
(operations) are grouped into a class.
• E.g. paragraph, monitor, chess piece.
• Each object is said to be an instance of its
class.
Inheritance
• It is the sharing of attributes and operations
(features) among classes based on a
hierarchical relationship.
• A super class has general information that sub
classes refine and elaborate.
• E.g. Manager and Supervisor are subclass of
Employee.
Polymorphism
• Polymorphism means that the same operation
may behave differently for different classes.
• For E.g. Calculation of Salary behaves
differently for a Daily wage employee and a
permanent employee.
Object Oriented Development
• It is a way of thinking about software based on
abstractions that exist in the real world as well
as in the program.
• OO concepts and notations are used to
express a design and to provide
documentation.
• It’s a modeling concept not implementation
Object Oriented Methodology
1. System Conception – software development begins
with business analysts or users conceiving an
application and formulating tentative requirement.
2. Analysis - An analysis model is a concise, precise
abstraction of what the desired system must do, not
how it will be done. It should not contain any
implementation details. The objects in the model
should be application domain concepts and not the
computer implementation concepts.
3. System design - The designer makes high level
decisions about the overall architecture. In system
design, the target system is organized as various
subsystems based on both the analysis structure and
the proposed architecture.
4. Object design - The designer builds a design model
based on the analysis model but containing
implementation details. The focus of object design is
the data structures and algorithms needed to
implement each cycle.
5. Implementation - The object classes and
relationships developed during object design
are finally translated into a particular
programming language, database, or
hardware implementation. During
implementation, it is important to follow good
software engineering practice so that the
system can remain the traceability, flexibility
and extensibility.
Three models:
1. Class Model
– Its for the objects in the system & their
relationships.
– It describes the static structure of the objects in
the system and their relationships.
– Class model contains class diagrams- a graph
whose nodes are classes and arcs are relationships
among the classes.
2. State model
– Its for the life history of objects.
– It describes the aspects of an object that change
over time.
– It specifies and implements control with state
diagrams-a graph whose nodes are states and
whose arcs are transition between states
caused by events.
3. Interaction Model- for the interaction among
objects.
– It describes how the objects in the system co-
operate to achieve broader results.
Use case – focuses on functionality of a system – i.e
what a system does for users.
Sequence diagrams – shows the object that interact
and the time sequence of their interactions.
Activity diagrams – elaborates important processing
steps.

Vous aimerez peut-être aussi