Object Oriented Approach for Software Development
-
Upload
rishabh-soni -
Category
Engineering
-
view
405 -
download
6
description
Transcript of Object Oriented Approach for Software Development
![Page 1: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/1.jpg)
PRESENTED BY- RISHABH SONI
Object – Oriented Design Methodologies
![Page 2: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/2.jpg)
Contents
IntroductionObject-orientationObject-oriented ParadigmObject-oriented developmentObject-oriented methodologiesThe 3 ModelsObject-oriented themesAdvantages of OODReferences
![Page 3: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/3.jpg)
INTRODUCTION
It is a new way of thinking about problems using models based on real world concepts.
The basic construct is object which combines both data structure and behavior in a single entity.
Rumbaugh presents an object oriented software development methodology, the Object Modeling Technique (OMT) which extends from analysis through design to implementation.
![Page 4: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/4.jpg)
INTRODUCTION
Analysis model is built to abstract essential aspects of application domain which contains objects found in application, their properties and behavior.
Then design model is made to describe and optimize the implementation.
Finally the design model is implemented in a programming language, database or hardware.
Graphical notation is used for expressing object-oriented models.
![Page 5: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/5.jpg)
Object - Orientation
The term object-oriented (OO) means that we organize software as a collection of discrete objects that incorporate both data structure and behavior.
Includes 4 aspects:
- Identity
- Classification
- Inheritance
- Polymorphism
![Page 6: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/6.jpg)
OO - Paradigm
An approach to solution to problems in which all computations are performed in the context of objects
A running program can be seen as a collection of objects collaborating to perform a given task.
An OO-paradigm emphasizes modularity and re-usability.
The goal of an object-oriented approach is to satisfy the "open closed principle".
![Page 7: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/7.jpg)
Open Closed principle
The goal of an object-oriented approach is to satisfy the "open closed
principle".
A module is open if it supports extension. If the module provides
standardized ways to add new behaviors or describe new states. In the
object-oriented paradigm this is often accomplished by creating a new
subclass of an existing class.
A module is closed if it has a well defined stable interface that all other
modules must use and that limits the interaction and potential errors
that can be introduced into one module by changes in another. In the
object-oriented paradigm this is accomplished by defining methods that
invoke services on objects.
![Page 8: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/8.jpg)
Object-oriented development
The theme is the identification and organization of application concepts rather than final representation in a programming Language.
OOD approach encourages software developers to work and think in terms of the application domain through most of the software engineering life cycle.
It is a conceptual process independent of a programming language until the final stage.
![Page 9: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/9.jpg)
Object – Oriented Methodologies / OO SDLC stages
The OO methodology has the following stages: System Conception: Software
development begins with business analysts or users conceiving an application and formulating tentative requirements.
Analysis: The analyst scrutinizes and rigorously restates the requirements from the system conception by constructing models. The analysis model is a precise abstraction of what the desired system must do, not how it will be done. Domain & application model
System Conception
Analysis
System Design
Class Design
Implementation
![Page 10: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/10.jpg)
Object – Oriented Methodologies(Contd.)
System Design: the development team devise a high-level strategy – the system architecture – for solving the application problem
Class Design: The class designer adds details to the analysis model in accordance with system design strategy.
Implementation: Implementation translate the classes and relationships developed during class design into a particular programming language, database, or hardware.
![Page 11: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/11.jpg)
3 Models
Object modelDynamic modelFunctional model
![Page 12: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/12.jpg)
Object model
Describes basic structure of objects and their relationship
Contains object diagram
Object diagram is a graph whose nodes are object classes (Classes) and whose arcs are relationships among classes.
![Page 13: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/13.jpg)
Dynamic model
Describes the aspects of a system that change over time.
It specifies and implement control aspects of a system.
Contains state diagram.
State diagram is a graph whose nodes are states and whose arcs are data-flows.
![Page 14: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/14.jpg)
Functional Model
Describes data value transformation within a system.
Contains data flow diagram.
Data Flow Diagram is a graph whose nodes are processes and whose arcs are data flows.
![Page 15: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/15.jpg)
Object-oriented themes/OO Concepts
Abstraction Focus on essential aspects ( what an object does ) Ignore details ( such as how to implement)
![Page 16: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/16.jpg)
OO Themes (Contd.)
Encapsulation Separates external aspects of an object, which are accessible to other
objects, From the internal implementation details, which are hidden from other objects
Prevents ripple effect
![Page 17: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/17.jpg)
OO Themes (Contd.)
Combining Data and Behavior (Polymorphism) Operator polymorphism shifts the burden of deciding what implementation to
use from the calling code to the class hierarchy. The caller of an operation need not consider how many implementations
exist.
Sharing Via inheritance OO development offers the prospect of reusing design and code on future
projects.
Emphasis on the Essence of an object Stresses on what an object is, rather than how it is used Software systems built on object are more stable in the long run.
Synergy Identity, classification, polymorphism, etc. each of these concepts can be
used in isolation, but together they complement each other synergistically.
![Page 18: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/18.jpg)
Advantages of OOD
Used in developing Compilers, Graphics, UI, databases, Object oriented languages, CAD systems, simulations, etc.
Used to document existing programs that are ill-structured and difficult to understand.
Not reduces development time; it may take more time than conventional development because it is intended to promote future reuse and reduce downstream errors and maintenance.
![Page 19: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/19.jpg)
REFERENCES
Object-oriented design and modeling with UML – Michael Blaha and James Rumbaugh
Object-oriented design and analysis – Wikipedia
www.authorstream.com
![Page 20: Object Oriented Approach for Software Development](https://reader036.fdocuments.in/reader036/viewer/2022062405/5563a5edd8b42a2d538b561a/html5/thumbnails/20.jpg)
THANK YOU