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

OOAD-Object Oriented Analysis and Design

1. Object-oriented analysis and design (OOAD) involves modeling a system using real-world objects that combine data and methods. 2. The phases of OO software development are object-oriented analysis, design, and implementation. 3. Analysis involves building models of objects to understand requirements, design develops the system architecture and identifies classes, and implementation codes the design in a programming language.

Uploaded by

Lakshay Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

OOAD-Object Oriented Analysis and Design

1. Object-oriented analysis and design (OOAD) involves modeling a system using real-world objects that combine data and methods. 2. The phases of OO software development are object-oriented analysis, design, and implementation. 3. Analysis involves building models of objects to understand requirements, design develops the system architecture and identifies classes, and implementation codes the design in a programming language.

Uploaded by

Lakshay Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

OOAD- Object

Oriented
Analysis and
Design.
Generally…how everyone think
about programming?

1. Got the problem


2. Start Programming

I. e.g. Simple program with 10-20 lines of code.


II. e.g. Program for a project with 2000 lines of code.
Think…!!!!

– Think about the system and its flaw, how it was overlooked, and how it could
have been avoided with a bit more thought during design.
– How much time you have spend on analysis, design, coding and
testing/debugging/fixing. How do you go about estimating how much effort a
project will require?
– How difficult is it to add new features to the system? Is it maintainable?
– How could the failure have been avoided?
System/Software Life Cycle
(SLC)
– Life cycle is the series of steps that software undergoes from concept
exploration through retirement

– Intended to develop information systems in a very deliberate, structured and


methodical way, reiterating each stage of the life cycle.
Source: http://upload.wikimedia.org/wikipedia/commons/b/bb/Systems_Development_Life_Cycle.jpg
Importance of Lifecycle Models

– Provide guidance for project management


– what major tasks should be tackled next? milestones!
– what kind of progress has been made?
– The necessity of lifecycle models
– characteristics of software development has changed
– early days: programmers were the primary users
– modest designs; potential of software unknown

– more complex systems attempted


– more features, more sophistication  greater complexity, more chances for error
– heterogeneous users
– Object-oriented design is an approach to systems development that proposes
the use of system objects to build new systems and rebuild old ones. An
important goal of object-oriented development is to change the nature of
traditional software development from designing and writing models from
scratch to building systems through the assembly of reusable software objects.
Object Oriented Approach

– Software development based on modeling objects from the real world and then use
the models to build a language independent design organized around those objects.
– Promote better understanding of requirements, cleaner designs, and more
maintainable systems.
– Use language-independent graphical notation for analyzing problem requirements,
design a solution to the problem and then implement the solution.
– Same concept and notation throughout the software development process.
– Object oriented concepts throughout the software life cycle, from analysis through
design to implementation.
Cont.

– Coding - last stage in the process of development.


– A good design technique defers implementation details until later stages of
deign to preserve flexibility.
– Mistakes in the front of development process have a large impact on the
ultimate product and on the time needed to finish.
– OOT is a way of thinking abstractly about a problem using real world concepts,
rather than a computer concepts.
– Graphical notations helps developer to visualize a problem without prematurely
resorting to implementation
Why Modeling..?
Modelling

– A model is a simplification of reality


– A hypothetical description of a complex entity or process

– A good model includes those elements that have broad effect and omits minor
elements

– A model of a system is not the system!

– Modeling is used in many disciplines – architecture, aircraft building, …


Why Modelling..?

 Models help us to visualize a system as it is or as we want it to be.


 Models permit us to specify the structure or behavior of a system.
 Models give us a template that guides us in constructing a system.
 Models document the decisions we have made.
Object-Oriented Vs Traditional
analysis
– Traditional procedural systems separate data and procedures, and model these
separately
– Object orientation –views data and functions together; data abstraction is the
basis
– OO view more closely reflects the real world where humans are used to
think in terms of things which possess both attributes and behaviors.
– OO provides reuse possibility from the class hierarchy views of the system.
– OO analysis centers on objects which combines data and methods.
– Software extensibility is easy.
OOAD - Object Oriented System

– Object-Oriented Modelling (OOM) technique visualizes things in an application


by using models organized around objects. Any software development approach
goes through the following stages −
– Analysis,
– Design, and
– Implementation.
Phases in Object-Oriented Software
Development

– The major phases of software development using object–oriented methodology


are object-oriented analysis, object-oriented design, and object-oriented
implementation.
Object–Oriented Analysis
Object–Oriented Design
Object–Oriented Implementation
Object–Oriented Analysis

– In this stage, the need of the user or problem is analyzed and the user
requirements are identified.
– then a model is built based upon real–world objects.
– The analysis produces models on how the desired system should function and
how it must be developed.
– The models do not include any implementation details so that it can be
understood and examined by any non–technical application expert.
Object–Oriented Design

– Object-oriented design includes two main stages, namely, system design and
object design.
System Design
In this stage, the complete architecture of the desired system is designed.
The system is conceived as a set of interacting subsystems that in turn is composed
of a hierarchy of interacting objects, grouped into classes.
System design is done according to both the system analysis model and the
proposed system architecture. Here, the emphasis is on the objects comprising the
system rather than the processes in the system.
– Object Design
– In this phase, a design model is developed based on both the models developed in
the system analysis phase and the architecture designed in the system design phase.
All the classes required are identified. The designer decides whether −
– new classes are to be created from scratch,
– any existing classes can be used in their original form, or
– new classes should be inherited from the existing classes.
– The associations between the identified classes are established and the hierarchies
of classes are identified. Besides, the developer designs the internal details of the
classes and their associations, i.e., the data structure for each attribute and the
algorithms for the operations.
Object–Oriented
Implementation
– In this stage, the design model developed in the object design is translated into
code in an appropriate programming language.

You might also like