0% found this document useful (0 votes)
21 views

Chapter 1

The document discusses object oriented software engineering and system development. It defines key concepts like objects, classes, encapsulation, and information hiding. It also explains the benefits of object orientation like high level of abstraction, seamless transition between phases, and encouragement of good programming techniques.

Uploaded by

Jiru Alemayehu
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)
21 views

Chapter 1

The document discusses object oriented software engineering and system development. It defines key concepts like objects, classes, encapsulation, and information hiding. It also explains the benefits of object orientation like high level of abstraction, seamless transition between phases, and encouragement of good programming techniques.

Uploaded by

Jiru Alemayehu
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/ 23

Object oriented software Engineering

 Introduction
1.1. introduction

Software development is dynamic and always undergoing major

change.

The methods we will use in future no doubt will differ significantly

from those currently in practice.

There are numbers of tools and methodologies available for system

development.
What is system development?

System development refers to all activities that go into


producing an information system solution.

System development activities consists of


 System analysis

 Modeling

 Design

 Implementation

 Testing

 maintenance
What is software development methodology?

A series of process that, if followed can lead to the


development of application.

The software processes describe how the work is to be


carried out to achieve the original goal based on the
system requirements.

Each process consists of number of steps and rules that


should be performed during development
1.2 Two orthogonal views of software
OOSD methods differ from the traditional development
techniques in that the traditional techniques views software as
a collection of programs(or functions) and isolated data.

What is program=algorithm + data structure


Traditional approach object vs. Oriented system development

Traditional approach object

Collection of procedures(functions)

Focuses on function and procedures, different styles and methodologies


for each step of process

Moving from one phase to another phase is complex.

Increases duration of project

Increases complexity
Traditional approach object vs.
Oriented system development..

Oriented system development


Combination of data and functionality

Focuses on object, classes, modules that can be easily


replaced, modified and reused.

Moving from one phase to another phase is easier

decreases duration of project

Reduces complexity and redundancy


1.3 Object Oriented System Development Methodology

OOSD (Object oriented system development)

The way to develop software by building self-contained modules


or object that can be easily replaced modified, and re used.

It encourages a view the world as a system cooperative and


collaborating objects.

In object oriented environment, software is collection of discrete


objects that encapsulate data as well as the functionality to
model real world “objects”.
Object Oriented System Development Methodology……

Each object has attributes(data) and method(function)

Objects are grouped classes.

In object oriented system development every thing is an object


and each objects is responsible for it self.
1.4 Why An object orientation?
Object oriented methods enable us to create sets of objects that
work together synergistically to produce software that better
module their problem domains than similar systems produced by
traditional techniques.

The system created using object oriented methods are easier to


adapt changing requirements, easier to maintain, more robust,
promote greater design and code use
Why An object orientation……?
Here are some reasons why object orientation works

1. High level of abstraction:

Object orientation approach support abstraction at object level.

Object encapsulates both data and functions. So they work at


higher level of abstraction.

So designing, coding, testing and maintaining the system are


much simpler.
Why An object orientation……?

2. Seamless transition among different phases of software


development
Traditional Approach:
The software development using this approach requires different
styles and methodologies for each step of the process.
So moving from one phase to another requires more complex
transition.

13
Why An object orientation……?

Object-oriented approach:
We use the same language to talk about analysis, design,
programming and database design.
It returns the level of complexity and re boundary, which
makes clearer and robust system development.

14
3. Encouragement of good programming techniques:

A class in an object-oriented system carefully delineates between


its interface and the implementation of that interface.
The attributes and methods are encapsulated within a class (or)
held together tightly.
The classes are grouped into subsystems but remain independent
one class has no impact on other classes

15
1.5 Basic concept of object

WHAT IS AN OBJECT ?

an object represents an entity, either physical, conceptual, or


software
In WHAT
an OO IS CLASS?
system, everything is an object

Classes are used to distinguish one type of object from another.


A set of objects that share a common structure and a common
behavior
16
A single object is simply an instance of a class
Classes are an important mechanism for classifying objects
Main role of a class is to define the properties and procedures (the
state & behavior) and applicability of its instances

17
In an OO system, a method or behavior of an object is defined
by its class
Each object is an instance of a class

ATTRIBUTES AND METHODS


Objects can be described by their properties (attributes ) and
methods (operations)

18
19
object behavior is described in methods or procedures
a method = a function or procedure that is defined for a
class and typically can access the internal state of an object
of that class to perform some operation
operations are things an object does or can have done to it
in an object model, all data is stored as attributes of some
object

20
CONCEPT OF MESSAGES
Objects interact with each other by sending and receiving messages
Messages are similar to procedure calls in traditional programming
languages
Objects perform operations in response to messages

Ex : when you press on the brake pedal of a car, you send a STOP
message to the car object. The car object knows how to respond to the
STOP message
21
ENCAPSULATION & INFORMATION HIDING
Information hiding is the principle of concealing(hiding) the
internal data and procedures of an object and providing an
interface to each object in such a way as to reveal as little as
possible about its inner workings

An object is said to encapsulate the data and a program :


User cannot see the inside of the object “capsule”, but can use the object by
calling the object’s methods

22
Encapsulation or information hiding is a design goal of an
OO system
In object-oriented system, everything is an object and each
object is responsible for itself.

23

You might also like