0% found this document useful (0 votes)
9 views17 pages

Benefits and Drawbacks of Object Orientation

The document discusses the object-oriented paradigm in software development, contrasting it with the structured paradigm and highlighting its benefits such as increased reusability, extensibility, and improved quality. It also addresses drawbacks like the need for thorough requirement analysis and a shift in mindset. Additionally, it outlines the object-oriented software process lifecycle aimed at enhancing productivity in software development.

Uploaded by

...............
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)
9 views17 pages

Benefits and Drawbacks of Object Orientation

The document discusses the object-oriented paradigm in software development, contrasting it with the structured paradigm and highlighting its benefits such as increased reusability, extensibility, and improved quality. It also addresses drawbacks like the need for thorough requirement analysis and a shift in mindset. Additionally, it outlines the object-oriented software process lifecycle aimed at enhancing productivity in software development.

Uploaded by

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

Haramaya University

College of Computing and Informatics


Department of Information Systems

Chapter Two
Object Orientation the new software paradigm

G..
hak
Yi se
nst:
I
Contents
 Structured paradigm vs object-oriented paradigm
 The Potential Benefits of Object Orientation
 Drawbacks of OO
 The Object-Oriented Software Process Lifecycle
Structured paradigm vs object oriented paradigm

 The structured paradigm is a development strategy based on the concept


that a system should be separated into two parts: data and functionality
where on the other hand, the main concept behind the object-oriented
paradigm is that instead of defining systems as two separate parts, you
now define systems as collection of interacting objects.
The Potential Benefits of Object Orientation
Popularized in the late 1980’s
Became the standard in mid – 1990s
Benefits
 Increased reusability
 Increased extensibility
 Improved quality
 Financial benefits
 Increased chance of project success
 Reduced maintenance burden
 Reduced application backlog
 Managed complexity
Con’d
Increased Reusability
Through the concepts
Inheritance
Polymorphism
Encapsulation
Modularity
Coupling
Cohesion
Con’d
Increased Extensibility
Because classes have both data and functionality when you add new
features to the system, you only need to make changes in one place: the
applicable class
Structured – change in single business rule could affect many programs
Objects encapsulate both functionality and data, making it easier to
maintain your software
Inheritance enables you to reuse existing behaviors, making it easier to
enhance your software
Con’d
Improved Quality
On time, on budget, meet user expectations
OO dev’t techniques provide greater opportunity for users to participate in the
development process.
Bulk requirement definitions
Essential Use Case and CRC models
Con’d
Financial Benefits
The previous benefits are all technical benefits – giving business
benefits of OO
Better Faster Cheaper (BFC)
The less code the less effort to maintain
A system that is easily extensible is easy to maintain
System that meets user needs receive fewer changes
Benefits of OO are realized throughout the entire development
lifecycle, not just during programming
Therefore, because Technical Benefits are achieved BFC can be
achieved
Con’d
Increased Chance of Project Success
Success - On time, On budget, meeting user needs
OO is the way to develop systems quickly and inexpensively
Con’d
Reduced Maintenance Burden
Problems
Maintenance Burden – Spending Significant Resources maintaining software
Application Backlog – Long waiting list of things to be done making new projects not
to start
The Maintenance Burden exists for several reasons
Many systems were developed in the past that are still in use
System documentation is poor, if it exists at all
Compared to the standards of today, legacy systems are poorly built
Con’d
Reduced Application Backlog

2-5 year AB exists

Because OO techniques are more productive, organizations are able to


free up resources sooner to tackle new projects
Con’d

Managed Complexity
You can build complex software from well designed reusable objects
Expect the software you build today will need to be changed
tomorrow
Well designed object oriented software enables you to react quickly to
changes in your environment
Drawbacks of OO
Requires a greater concentration on requirement analysis which is
often ignored in reality
Developers must work closely with users, which is easier said than
done
Requires a complete change in mindset on the part of individuals
Is more than just programming, not easy and not that quick
Benefits are on the long run
Demands up-front investments in training, education and tools
Con’d

Techniques do not guarantee you will build the right system


Necessitates increased testing
OO is only part of the solution – not a silver bullet or a panacea
Need CASE tools
Quality Assurance Tasks
Develop user interface tasks
The Object Oriented Software Process Lifecycle
Con’d
Software process
Set of project phases, stages, methods, techniques, and practices that
people employ to develop and maintain software and its associated
artifacts
Enables organs' to increase productivity when developing software
Thank You!!!

You might also like