0% found this document useful (0 votes)
9 views18 pages

1 Oop

The document compares and contrasts structured analysis and design (SAD) with object-oriented analysis and design (OOAD). SAD focuses on processes and data flows, takes a top-down approach, and emphasizes functional decomposition. OOAD focuses on objects, takes a bottom-up approach, and emphasizes object-oriented patterns and design. The document also discusses the benefits of OOAD for creating robust, maintainable software using object-oriented programming languages.

Uploaded by

akumuxakuma
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)
9 views18 pages

1 Oop

The document compares and contrasts structured analysis and design (SAD) with object-oriented analysis and design (OOAD). SAD focuses on processes and data flows, takes a top-down approach, and emphasizes functional decomposition. OOAD focuses on objects, takes a bottom-up approach, and emphasizes object-oriented patterns and design. The document also discusses the benefits of OOAD for creating robust, maintainable software using object-oriented programming languages.

Uploaded by

akumuxakuma
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/ 18

Structured

vs
Object Oriented
Analysis and
Design

Dr. Suthir Sriram


Department of Computer Science
Engineering,
Amrita School of Computing,
Amrita Vishwa Vidyapeetham, Chennai.

1
2

Object Oriented Analysis and Design


(OOAD) Vs. Structured Analysis and Design (SAD)
Structured Analysis:

Focus on processes: Structured Analysis focuses on the processes


involved in a software system, modeling them as a series of connected
steps.

Top-down approach: Structured Analysis follows a top-down approach,


breaking down complex systems into smaller, simpler parts that can be
more easily understood.

Data-centered: Structured Analysis focuses on the data that a software


system manipulates, modeling it as data flows between processes.

Emphasis on functional decomposition: Structured Analysis


emphasizes the functional decomposition of a software system into smaller,
independent functions.
3

Object Oriented Analysis and Design


(OOAD) Vs. Structured Analysis and Design (SAD)
Object-Oriented Analysis (OOA):

Focus on objects: OOA focuses on the objects involved in a software


system, modeling them as instances of classes that encapsulate both data
and behavior.

Bottom-up approach: OOA follows a bottom-up approach, building


complex systems from smaller, simpler objects that can be more easily
understood.

Object-centered: OOA focuses on the objects that make up a software


system, modeling their relationships and interactions.

Emphasis on object-oriented design patterns: OOA emphasizes the


reuse of objects and object-oriented design patterns.
4

Object Oriented Analysis and Design


(OOAD) Vs. Structured Analysis and Design (SAD)

OOAD SAD

Catalog Librarian Library


System

Record Add Report


Book Library Loans Resource Fines
5

Object Oriented Analysis and Design


(OOAD) Vs. Structured Analysis and Design (SAD)

• Structured Analysis
• Divide and Conquer
• At the function level

• Object-Oriented Analysis
• Partition
• At the level of concepts (objects)
OOAD Vs. SAD

6
7

Object Oriented Analysis


 OOAD essential for creating well-designed, robust & maintainable software
system using OO Programming Language (e.g. C++, Java, smalltalk, etc…).

 It is the latest and most used way of design now.

 UML (Unified Modeling Language) is a modeling language for OOS.

 During OO analysis, there is an emphasis on finding and describing the objects


(or concepts) in the problem domain.
 Example: Concepts in a Library Information System include; Book and
Catalog.
8

From Analysis to Implementation

Analysis Design Construction


Investigation of Logical Solution Code
the problem

Representation in an Logical Software Objects Domain Concept


OO Programming Language Ex: Book (Concept)

Public Class Book { Book


Private String Title;
Public void Display(); Attribute: Title
}
Method: Display()
,

In Java,
 "public" makes a member accessible from any class
 "protected" permits access inside the same package and
by subclasses
 "private" restricts access to only within the declaring
class.
 The void keyword in Java is used to indicate that a
method does not return a value. A method that is declared
as void does not have a return type

9
10

Unified Modeling Language


A notational system aimed at modeling systems using object oriented
concepts.
11

The Need for Software Blueprints

 Knowing an object-oriented language and having access to a library is


necessary but not sufficient in order to create object software.

 In between a nice idea and a working software, there is much more than
programming.

 Analysis and design provide software “blueprints”, illustrated by a modeling


language.

 Blueprints serve as a tool for thought and as a form of communication with


others.

 These blueprints can then be transferred into code using any specific OO
language.
Object Oriented Languages

•What is object-oriented programming?

•Object-oriented programming (OOP) is a computer programming model that


organizes software design around data, or objects, rather than functions and logic.
An object can be defined as a data field that has unique attributes and behavior.

•OOP focuses on the objects that developers want to manipulate rather than the
logic required to manipulate them.

•The organization of an object-oriented program also makes the method beneficial


to collaborative development, where projects are divided into groups.

•Additional benefits of OOP include code reusability, scalability and efficiency.

12
Object Oriented Languages

•What is object-oriented programming?

•The first step in OOP is to collect all the objects a programmer wants to manipulate
and identify how they relate to each other -- an exercise known as data modeling.

•Examples of an object can range from physical entities, such as a human being
who is described by properties like name and address, to small computer programs,
such as widgets.

•Once an object is known, it is labeled with a class of objects that defines the kind
of data it contains and any logic sequences that can manipulate it.

•Each distinct logic sequence is known as a method. Objects can communicate


with well-defined interfaces called messages.
13
Object Oriented Languages
•What is the structure of object-oriented programming?

•The structure, or building blocks, of object-oriented programming include


the following:

•Classes are user-defined data types that act as the blueprint for individual
objects, attributes and methods.

•Objects are instances of a class can correspond to real-world objects or


an abstract entity.

•Methods are functions that are defined inside a class that describe the
behaviors of an object.

•Attributes are defined in the class template and represent the state of an
object. Objects will have data stored in the attributes field. Class attributes
14
belong to the class itself.
Object Oriented Languages

15
16
Object Oriented Languages

For example, popular pure OOP languages include:


•Ruby
•Scala
•JADE
•Emerald

Programming languages designed primarily for OOP include:


•Java
•Python
•C++

Other programming languages that pair with OOP include:


•Visual Basic .NET
•PHP
•JavaScript
17
Benefits of OOP

•Benefits of OOP include:


• Reusability. Code can be reused through inheritance, meaning a team
does not have to write the same code multiple times.
• Productivity. Programmers can construct new programs quicker through
the use of multiple libraries and reusable code.
• Easily upgradable and scalable. Programmers can implement system
functionalities independently.
• Security. Using encapsulation and abstraction, complex code is hidden,
software maintenance is easier and internet protocols are protected.
• Flexibility. Polymorphism enables a single function to adapt to the class it
is placed in. Different objects can also pass through the same interface.
18

You might also like