KEMBAR78
OOSADLect 1 | PDF | Object Oriented Programming | System
0% found this document useful (0 votes)
7 views24 pages

OOSADLect 1

The document discusses Object Oriented System Analysis and Design, highlighting the differences between object-oriented and procedural programming paradigms. It explains key concepts such as objects, classes, and the software development lifecycle, emphasizing the benefits and limitations of object-oriented systems. Additionally, it outlines various software process models for further reading and investigation.

Uploaded by

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

OOSADLect 1

The document discusses Object Oriented System Analysis and Design, highlighting the differences between object-oriented and procedural programming paradigms. It explains key concepts such as objects, classes, and the software development lifecycle, emphasizing the benefits and limitations of object-oriented systems. Additionally, it outlines various software process models for further reading and investigation.

Uploaded by

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

Object Oriented System Analysis and Design

Chapter One: Object Orientation the New Software Paradigm

Ewnetu E.(MSc.)

April 19, 2021

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 1 / 24
Contents
What is object oriented system?
Object oriented vs procedural paradigm
Software development life cycle

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 2 / 24
What is object oriented system?
Object-oriented system is a software engineering concept/discipline
output, in which the inputs to the system are represented as
“objects”.
The process of creating an object oriented system is object
orientation.
What is object oriented programing? a development strategy based
on the concept of building systems from the reusable components
(objects).
Paradigm: overall strategy or viewpoint for doing things.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 3 / 24
Object Orientation Xcs.
Objects are abstractions of real-world or system entities and manage
themselves through their attributes and methods.
Objects are independent and encapsulate state and behavior.
System functionality is expressed in terms of object services.
Objects communicate by message passing.
Objects may be distributed in a system and may be executed
sequentially or in parallel.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 4 / 24
Key Components of Object Oriented Software Development

A class is a description of a set of objects that share the same


properties or behavior.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 5 / 24
What are Classes and Objects?
An object is an instance of a class.
An object is an entity with a well-defined boundary and identity that
encapsulates state and behavior.
State: is usually called attribute , and shows the characteristic
properties that the object holds.
Represented by data type.
In Car example the car’s attributes are: color, manufacturer, cost,
owner, model, etc.
Behavior: is represented by operations & methods, and it represents
the externally visible activities performed by the object.
Methods: define objects behavior and specify the way in which an
object’s data are manipulated.
In the Car example the car’s methods are: drive(), lock(),
carrypassenger()....

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 6 / 24
Procedural Programing
What is procedural programing?
Is based on the concept that the system is separated into two major
parts:
Data: modeled through persistence/data model
Function: modeled though the process model
Note: data & behavior are separated both at the design and
implementation phase which increases system complexity.
Traditional approach.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 7 / 24
Object Oriented Vs Structural Paradigm
Structured software development paradigm
Applications are developed in such way that the data is separated
from behavior or functionality.
Procedures and functions are used.
Moving from one phase to another is complex.
Increases project duration.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 8 / 24
...Cont’d
Object oriented paradigm
Instead of defining systems as two separate parts (data and
functionality), you define it as a collection of interacting objects.
Because object have both data/state and behavior, state is described
in fields and behavior is described in methods.
Moving from one phase to another is easy.
Decreases duration of the project.
Faster development, acceptable re-usability and good quality.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 9 / 24
Potential Benefits of Object Oriented Systems over the
Procedural one

Complex software system become easier to understand, since it


provides close representation of the real world.
In well designed object oriented system, it is possible to make changes
at each level in the system development process, which reduces the
maintenance process & testing phase complexity.
Through polymorphism and inheritance it allows to re-use individual
components.
Improved communication among users, analysts, designers, and
programmers.
In an object oriented system the amount of work needed in revising &
debugging as well as maintaining the system will be easy/reduced.
Re-usability of analysis, design, and programming results more fruitful
outcome.
Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 10 / 24
Drawbacks (Limitations) of Object Orientation
Larger program size: measured in lines of code and function points.
Slower programs: because it used many steps SDLC.
Not suitable for all types of problems: e.g; for simple projects.
Steep learning curve: more difficult to understand the system and
make feasible → needs more effort to master/to work with.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 11 / 24
Software Development Lifecycle
Process of progressively developing a system through the phases of
feasibility study, requirement gathering, analysis, design, and
implementation....
The model is abstract in the early stages
As the model evolves, it becomes more and more detailed

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 12 / 24
...Cont’d
Requirement Gathering: getting all the requirements that are
useful to develop a software.
Analysis: the process of refining the gathered requirements,
elicited from different requirement sources with different
gathering techniques.
Design: model of the application is developed showing its
important properties and subcomponents.
Model specifies the functional behavior of the system
independent of implementation details
Breaks down the system into small components.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 13 / 24
...Cont’d
Implementation: design is implemented using a programming
language or database management system.
Testing: a mechanism of ensuring that the produced software is
safe before going to production environment.
Deployment: the activity of making a software usable by
installing on the target machines.
Maintenance: the act of taking a corrective action after the
software product is failed.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 14 / 24
...Cont’d
Software lifecycle: set of activities and the relationships with one an
other to support the development of a software/system.

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 15 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 16 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 17 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 18 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 19 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 20 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 21 / 24
...Cont’d

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 22 / 24
Reading Assignment
Read about the following software process models and investigate the
difference between each, and when they are applicable.
Waterfall model
Agile model
Iterative/incremental/evolutionary model
Spiral model
RAD

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 23 / 24
Thank you!!!

Ewnetu Endalamaw Object Oriented System Analysis and Design April 19, 2021 24 / 24

You might also like