25-06-2012, 05:48 PM
Object-Oriented Analysis and Design
Object-Oriented Analysis and Design.pdf (Size: 177.47 KB / Downloads: 55)
Objectives
Module Objective
To provide a brief, hands-on overview of object-oriented analysis and
design. Topics covered include analysis, design, complementary
procedures, and process improvement.
In-Class Exercises
Case studies based on small project specifications will be used by
participants to develop object-oriented models and identify
implementation strategies.
Module Completion Requirement
Participants will be required to demonstrate that they can apply basic
object oriented techniques to create and modify object oriented analysis
and design models.
Introduction to OO
Object Oriented Model.
Comparison of Other Approaches.
Object Oriented Abstractions.
Object Oriented Model
An Object Oriented model is based on entities.
• Hidden state.
• Operations on that state.
An Object Oriented model uses information hiding.
• Minimal dependence on global state information.
• Increases understanding of the design.
It views software as a set of interacting objects.
• Compare to viewing software as a set of functions.
It uses various object-oriented abstractions
• Classification, Inheritance, Aggregation, Polymorphism.
OOAD differs from Object Oriented Programming.
• OOAD is a design strategy.
• It is not dependent on any specific implementation language.
Characteristics of OOAD
Shared data areas are eliminated.
• Objects communicate by exchanging messages.
• Reduces the overall system coupling.
Objects are independent entities.
• Changes to implementation of a class should not impact overall
system.
• The separation of external and internal behavior should enhance
reuse.
Objects can execute either sequentially or in parallel.
• This is a design decision which can be deferred to later in the design
process.
For many systems, there is a clear mapping between real-world entities
and objects within the system.
• This improves the understandability of the design.
Functional Decomposition Model
Map the problem domain to a set of functions and sub-functions.
Transform concepts into various functions.
• This is an indirect conversion that is highly volatile and sometimes
arbitrary.
The original and probably the still the most commonly used approach.
Useful to OOA within the context of defining services.