01 Introduction To OOAD
01 Introduction To OOAD
• Software Lifecycle Process
• Software Artifact
Software Artifact
Introduction to OOAD • Software Development Approaches
• What’s Next
Maintenance
structured approach
structured approach Structured Approach
• Very fashionable since the 1970s
f hi bl i h • There are two major weaknesses with the structured
Th j k ih h d
approach:
• Adequately supported by conventional
q y pp y • Data structures is likely out scope of work in top
Data structures is likely out scope of work in top‐down
down design
design
procedural languages. • Difficult to reuse work done for other projects
Tend to produce the design that is unique to the initial problem
• Top‐down
Top down program design
program design – break the
break the when functions of the system change
when functions of the system change =>> the analysis, the design models and the
the analysis the design models and the
implementation of the system will have to be changed substantially.
problem into several pieces and work on • The above weaknesses of the structured approach have
each piece separately
each piece separately made it less cost effective when compared with the object
made it less cost‐effective when compared with the object‐
oriented approach.
• Centered on the system’s functional views
and uses different models at various stages
d diff t d l t i t
of the development process.
Object-oriented Approach Object-oriented Approach
• Base on bottom up design and modular
b d i d d l • M d l
Models a software system as a collection of
ft t ll ti f
approach collaborating objects.
• Reusable software component might be exist • Th b h i
The behaviour of the system results from the
f h l f h
collaboration of those objects
• Easy to write code since information hiding
Easy to write code since information hiding
• An object and its data interact with other
b d d h h
used objects through messages being sent and
• No effort or time is wasted by transforming
No effort or time is wasted by transforming received by the object and which manipulate
received by the object and which manipulate
and updating models in different stages. the object’s data in the process and object
itself decides what function to carry out to
itself decides what function to carry out to
service that message.