Chapter Five SAD
Chapter Five SAD
Chapter Five SAD
1 Compiled Yilkal B.
Chapter Outline
Object standards
Compiled
2 Yilkal B. 2
Structured vs. Object Orientation paradigm
Structured paradigm
It is a development strategy based on the concept that a system should be separated
into two parts:
• Data and functionality (modeled using a process model).
Using the structured approach, you develop applications in which data is separated
from behavior in both the design model and in the system implementation (i.e , the
program).
Object oriented Paradigm
The main concept behind the object-oriented paradigm is that instead of defining
systems as two separate parts (data and functionality), system defined as a collection of
interacting objects.
– Describes and build system that consists object.
Compiled Yilkal B. 3
Cntd…
An object-oriented system comprises a number of software objects that interact to achieve the
system objective.
Compiled Yilkal B. 4
The Potential Benefits of the Object Oriented paradigm
Increased reusability:
• The OO paradigm provides opportunities for reuse through the concepts of inheritance,
polymorphism, encapsulation, modularity, coupling and cohesion.
• It provides more opportunities for reuse than the structured paradigm
Increased extensibility : Because classes have both data and functionality, when you
add new features to the system you need to make changes in one place, the class
Improved Quality : Quality systems are on time, on budget and meet or exceed the
expectations of their users.
• Improved quality comes from increased participation of users in systems development.
• OO systems development techniques provide greater opportunity for users to participate
in the development process.
Compiled Yilkal B. 5
Cntd...
Financial benefits
• Reusability, extensibility, and improved quality are all technical benefits.
• Object orientation enables you to build systems better, faster and cheaper (BFC)
• The benefits OO are realized through out the entire development life cycle, not just
programming
Increased Chance of Project success
• A project is successful if it is on time, on budget and meets the needs of the its users.
• Users are expert at business and they are the only ones who can tell you what they need.
• You need to know the right question to ask, know the business very well.
• You need models that communicate the required information and that users understand.
• You need to work closely with users
Compiled Yilkal B. 6
Cntd…
Compiled Yilkal B. 7
The Potential Drawbacks of OO
Nothing is perfect including OO. While many exiting benefits exist to OO, they come at a
price:
1. OO requires greater concentration on requirements analysis and design
You cannot build a system that meets users needs unless you know what those needs
are( you need to do requirements)
You cannot built a system unless you know how it all fit together (you need to do
analysis and design)
2. Developers must closely work with users
Users are the experts but they have their own jobs to do (busy)
3. OO requires a complete change in the mindset on the part of individuals
they should understand the benefits of OO
Compiled Yilkal B. 8
Cntd…
Compiled Yilkal B. 9
Cntd…
It also stays in the future because of the standard set by the OMG.
It also stays in the future because of the standard set by the OMG.
CORBA( Common object request broker architecture): the standard architecture for
supporting distributed objects.
UML ( Unified modeling language)-the standard modeling language for the object oriented
software.
ANSI(Americans National Standards Institute)-Defined standards for C++.
Http://www.ansi.org Compiled Yilkal B. 11
Cntd…
Compiled Yilkal B. 5
Cntd…
Phases in Object-Oriented Software Development
i. Object–Oriented Analysis
In this stage, the problem is formulated, user requirements are identified, and then a
model is built based upon real–world objects.
The analysis produces models on how the desired system should function and how it
must be developed.
The models don’t include any implementation details so that it can be understood and
examined by any non–technical application expert.
Compiled Yilkal B. 5
Cntd…
ii. Object–Oriented Design
Object-oriented design includes two main stages, namely, system design and object
design.
I. System Design:
In this stage, the complete architecture of the desired system is designed.
The system is considered as a set of interacting subsystems that in turn is composed of a
hierarchy of interacting objects, grouped into classes.
System design is done according to both the system analysis model and the proposed
system architecture.
Here, the emphasis is on the objects comprising the system rather than the processes in
the system.
Compiled Yilkal B. 5
Cntd…
II. Object Design: In this phase, a design model is developed based on both the models
developed in the system analysis phase and the architecture designed in the system design
phase.
All the classes required are identified.
The designer decides whether: new classes are to be created from scratch,
any existing classes can be used in their original form, or
new classes should be inherited from the existing classes
The associations between the identified classes are established and the hierarchies of
classes are identified.
Besides, the developer designs the internal details of the classes and their associations, i.e.,
the data structure for each attribute and the algorithms for the operations.
Compiled Yilkal B. 5
Cntd…
In this stage, the design model developed in the object design is translated into code.
The databases are created and the specific hardware requirements are
ascertained.
Compiled Yilkal B. 5
oo
Compiled Yilkal B. 18
End of chapter Five
Any Question?
Compiled Yilkal B. 19