Chapter1 Introduction To OO System System Development

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

SAMARA UNIVERSITY

College of Engineering &Technology


Department of Computer Science
Regular Program
Object Oriented Software Engineering
Chapter One
Introduction to O-O Software Engineering
Outline
• Introduction
• Two Orthogonal view of software
• Object oriented system development methodology.
• why an object oriented
• Overview of the unified approach.
• An object oriented philosophy
• Basic concept of object
• Attributes and Methods
02/09/2021 O-O Software Engineering 2
Introduction
• A software development methodology is a series of processes
that lead to the development of an application. A software
development activity consists of:
- System analysis - Implementation
- modeling - Testing
- Design - Maintenance
• Software process: It describes how the work is to be carried out
to achieve the original goal based on the system requirement.
• Each process consists of number of steps and rules that should be
performed during development.
02/09/2021 O-O Software Engineering 3
Two Orthogonal view of software (1)
• There are two orthogonal views of the software differs in their
primary focus.
 The traditional approach focuses on the functions of
the system and says software as a collection of programs
(or functions) and isolated data.
 Object oriented systems development centers on the
object, which combines data and functionality i.e.,
Programs = Algorithms + Data Structures.

02/09/2021 O-O Software Engineering 4


Two Orthogonal view of software (2)
TRADITIONAL APPROACH OBJECT ORIENTED SYSTEM DEVELOPMENT

Collection of procedures(functions) Combination of data and functionality


Focuses on function and procedures, Focuses on object, classes, modules that
different styles and methodologies for can be easily replaced, modified and reused.
each step of process

Moving from one phase to another Moving from one phase to another phase
phase is complex. is easier.
Increases duration of project decreases duration of project
Increases complexity Reduces complexity and redundancy

02/09/2021 O-O Software Engineering 5


O-O System Development Methodology
• Object oriented systems development methodology develops
software by building objects that can be easily replaced ,
modified and reused.
• It is a system of cooperative and collaborating objects.
• Each objects has attributes (data) and methods (functions).

02/09/2021 O-O Software Engineering 6


why an object oriented ?

Object oriented systems are


• Easier to adapt to changes
• More robust (able to recover from unexpected failure )
• Easier to maintain
• Promote greater design and code reuse
• Creates modules of functionality

02/09/2021 O-O Software Engineering 7


Reasons for working of object oriented systems
• Higher level of abstraction
- Top-down approach: It supports abstraction of the
function level.
- Objects oriented approach : It supports abstraction at
the object level. The object encapsulate both the data
(attributes) and methods

02/09/2021 O-O Software Engineering 8


Con’t…
• Seamless transition among different phases of software
development
- Traditional Approach:
Moving from one phase of software development to another
requires more complex transition.
- Object-oriented approach:
We use the same language to talk about analysis, design,
programming and database design. It returns the level of complexity
and reboundary, which makes clearer and robust system
development.
02/09/2021 O-O Software Engineering 9
Con’t…
• Encouragement of good programming techniques
- 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.
- The object oriented method tends to:
 Promote clearer designs.
 Makes implementation easier.
 Provide overall better communication.
02/09/2021 O-O Software Engineering 10
con’t …

Promotion of reusability
• The object orientation adds inheritance, which is a powerful
technique that allows classes to built from each other.
• The only different and enhancements between the classes
need to be designed and coded. All the previous functionality
remains and can be reused without change.

02/09/2021 O-O Software Engineering 11


Overview of the unified approach (UA)
• UML : is a set of notation & convention used to describe & model an
application
• UA: Specifies the task or step to develop an application. Consists of the
following concepts:
- use case driven approach - utilizing the UML for modeling
- Object oriented analysis - The layered approach
- Object oriented design - Continuous testing
- Repositories of reusable classes - Incremental dev’t & prototyping
and maximum reuse

02/09/2021 O-O Software Engineering 12


An object oriented philosophy

• Programming language can bridge the semantic gap between the


concept of application and those of underlying machine
• Object orientation emerged during the 1970s, particularly in
programming languages like Simula, Smalltalk, Eiffel and, later, C++ and
Java
• The fundamental characteristics of O-O programing is that it allows the
base concept of the language to be extended to include idea and terms
closer to those of its application.
• The fundamental difference b/n O-O system and traditional method is
that the way we approach the problem.

02/09/2021 O-O Software Engineering 13


An object oriented philosophy Con’t…

• Most traditional development methodologies are either algorithm


centric or data centric
• In O-O methodology algorithm and data structures are packed together as
an object.
• O-O Models
- Functional model (behavior)
- Dynamic model (temporal aspects)
- object model (structure)
• Important aspect of OO ==> potential for re-use of development work
• Object-orientation has also been argued to be a more natural approach
than other techniques
02/09/2021 O-O Software Engineering 14
Basic concept of object

• WHAT IS AN OBJECT ?
• Informally , an object represents an entity, either physical ,
conceptual, or software .
• The term object means a combination of data and logic that
represents some real world entity
• Classes are used to distinguish one type of object from another
• A Class = a set of objects that share a common structure and a
common behavior.
• A single object is simply an instance of a class
02/09/2021 O-O Software Engineering 15
Basic concept of object Con’t…

• A class is a specification of structure (instance variables),


behavior(methods), and inheritance for objects
• 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
• In an OO system, a method or behavior of an object is defined
by its class
• Each object is an instance of a class

02/09/2021 O-O Software Engineering 16


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

02/09/2021 O-O Software Engineering 17


Attributes and Methods Con’t…
• 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
• the attributes of an object are manipulated by the operations
02/09/2021 O-O Software Engineering 18
Thank
Thank You
You ...
...

02/09/2021 O-O Software Engineering 19

You might also like