0% found this document useful (0 votes)
6 views18 pages

Chapter 2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views18 pages

Chapter 2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter

II
Object Orientation the new software
paradigm
Chapter
Outline
 The potential benefits of object orientation

 The potential drawbacks of object


orientation

 Object standards

 The object orientation software process


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.
Object-oriented Paradigm
 The main concept behind the object-oriented paradigm is that instead of defining
systems as two separate parts (data and functionality), the system is defined as a
collection of interacting objects.
– Describes and build system that consists object.
Cntd…
 An object-oriented system comprises several software objects that interact to achieve the
system objective.
The Potential Benefits of the Object Oriented
paradigm
 I ncreased 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. 5
Cntd..
.
 F inancial 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
Cntd…

 Reduce maintenance Burdon


 Software organizations currently spend significant resources (80%) maintaining
and
 operating software, and because of the long waiting list of work to be done,
 it takes significant time to get new projects started.
 These two problems are respectively called
– the maintenance Burdon and
– The application backlog
• These are problems that object orientation can help you to overcome
The Potential Drawbacks of
OO
 Nothing is perfect including OO. While many exciting 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 build a system unless you know how it all fits together (you need
to do analysis and design)
2. Developers must closely work with users
 Users are the experts but they have their 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
Cntd…

4. OO requires the development culture of the IS dept to change


 The change in the mind set of individual developers actually reflect an over all
change
in the development culture
 Do more analysis and design but (less programming) and working with users
5. OO is just more than programming
6. Many OO benefits are long term
– OO truly pays off when you extend and enhance your system
7. OO demands up front investments in training education and tools
– Organizations must train and educate their development staff.
– Buy books, development tools and magazines
Cntd…

8. OO techniques do not guarantee you will build the right system


– While OO increases the probability of project success, it still depends on the
ability of individuals involved.
– developers, users, and managers must be working together to have a good working
atmosphere
9. OO necessitates increased testing
– O-O is typically iterative in nature, and probably developing complex
systems using the objects, the result is you need to spend more time in
testing.
10. OO is only part of the solution
– You still need CASE tools
– Need to perform quality assurance (QA)
Object
Standards
 OO orientation today becomes the significant part of the software development .

 Objects are the primary enabling technology for components.

 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
Cntd…

 Sun Microsystems ,Http://www.sum.com actively maintains, enhances and supports a de


facto
standard definition for java and related standards such as Enterprise Java Beans (EJB).
 The Object Database Management group (ODMG)- Http://www.odmg.org actively maintains,
enhances and supports a standard definition for object oriented databases and object query
language (OQL).
The object orientation software
process
 The Object-Oriented Modeling (OOM) technique visualizes things in an
application by
using models organized around objects.
 Any software development approach goes through the following stages:
 Analysis
 Design and
 Implementation
.
software engineering, the software developer identifies
 In object-oriented and
organizes the application in terms of object-oriented concepts, prior to their final
representation in any specific programming language or software tools.
Cntd…
Phases in Object-Oriented Software Development
 The major phases of software development using object– oriented methodology
are object-oriented analysis, object-oriented design, and object-oriented
implementation.

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
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.
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.
Cntd…

I I I . Object–Oriented I mplementation and Testing


In this stage, the design model developed in the object design is translated into
code.
 In an appropriate programming language or software tool.

 The databases are created and the specific hardware requirements

are ascertained.

 Once the code is in shape, it is tested using specialized techniques

to identify and remove the errors in the code


E nd of Chapter Tw o
Any Question?

You might also like