0% found this document useful (0 votes)
121 views31 pages

SEWP ZG512 Object Oriented Analysis and Design Prof. Santosh Chobe

This document provides an overview of object-oriented analysis and design. It defines key concepts like classes, objects, attributes, methods, encapsulation, inheritance, and polymorphism. It explains that analysis focuses on investigating requirements, while design focuses on conceptual solutions. Object-oriented analysis involves finding the objects/concepts in the problem domain, and object-oriented design defines how software objects will collaborate to fulfill requirements. Iterative development is also discussed, which breaks a project into iterations that each implement a portion of requirements, as opposed to the waterfall process which divides work into sequential phases.

Uploaded by

sanchobe1
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)
121 views31 pages

SEWP ZG512 Object Oriented Analysis and Design Prof. Santosh Chobe

This document provides an overview of object-oriented analysis and design. It defines key concepts like classes, objects, attributes, methods, encapsulation, inheritance, and polymorphism. It explains that analysis focuses on investigating requirements, while design focuses on conceptual solutions. Object-oriented analysis involves finding the objects/concepts in the problem domain, and object-oriented design defines how software objects will collaborate to fulfill requirements. Iterative development is also discussed, which breaks a project into iterations that each implement a portion of requirements, as opposed to the waterfall process which divides work into sequential phases.

Uploaded by

sanchobe1
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/ 31

Course No.

& Title : SEWP ZG512 Object Oriented Analysis and Design


Instructor : Prof. Santosh Chobe
Contact details :[email protected]


DISTANCE LEARNING PROGRAMMES DIVISION

BIRLA INSTITUE OF TECHNOLOGY& SCIENCE, PILANI

MS in Software Engineering

2
PROCEDURAL PROGRAMMING
Concentrates more on actions and logic
No data hiding
Reusability is difficult
3
OBJECT-ORIENTED PROGRAMMING

Object-oriented programming (OOP) is a programming language
model organized around "objects" rather than "actions" and data
rather than logic.
4
DATA
METHOD METHOD
METHOD METHOD
Object = data + method
OBJECT
Data
Methods
Bicycle as an Object
5
A class is the blueprint from which individual objects are created.
CLASS
A class defines the characteristics of a thing (object), including its
attributes or properties and the thing's behaviors (the things it can do,
or methods, operations).
The properties and methods defined by a class are called members.
6
CLASS
7
Things that the object stores data in, generally variables.
These store information about the object.
In the example above we store the fuel and maxSpeed.
The attributes are attached to the classes, and if there are
several instances (objects) of the classes then each will
store its own version of these variables.
ATTRIBUTES
8
Functions and Procedures are attached to an Object and
allow the object to perform actions.
Unlike structures, OOP allows you to attach functions and
procedures to your code.
This means that not only can you store details about you
car (the attributes), you can also allow for sub routines such
as drive() and refuel(), which are attached to each class.
METHODS
9
CLASS STRUCTURE
struct room
{
int length,breadth;
};
class room
{
private:
int length,breadth;
public:
void getdata();
}
10
A particular instance of a class.
OBJECT
11
Features of Object-Oriented Language
12
ENCAPSULATION
The wrapping up of data and methods into a single unit (called class)
Encapsulation is the mechanism that binds together code and
the data it manipulates, and keeps both safe from outside
interference and misuse.
13
ENCAPSULATION
14
DATA HIDING
The insulation of the data from direct access by the program.
15
The process by which one object acquires the properties
of another object.
Child Classes can inherit attributes and behaviors from
their parent classes, and can introduce their own.
INHERITANCE
16
INHERITANCE
Bird

Attributes:
Features
Lay eggs
Flying Bird

Attributes:
______
______
Non Flying
Bird

Attributes:
_______
_______
Robin

Attributes:
______
Swallow

Attributes:
______
Penguin

Attributes:
______
Kiwi

Attributes:
______
17
POLYMORPHISM
The ability to take more forms.
e. g. + is used for addition and
concatenation.
18
POLYMORPHISM
Shape

Draw()
Triangle Object

Draw(triangle)
Box Object

Draw(box)
Circle Object

Draw(circle)
19
BENEFITS OF OOP
Reusability
Information Hiding
Software Complexity can be managed
Systems can be easily upgraded from small to
large systems.

20
WHAT IS ANALYSIS AND DESIGN?
21
Analysis emphasizes an investigation of the problem and
requirements, rather than a solution.
For example, if a new computerized library information
system is desired, how will it be used?
"Analysis" is a broad term, best qualified, as in
requirements analysis (an investigation of the requirements)
or object analysis (an investigation of the domain objects).
ANALYSIS
22
Design emphasizes a conceptual solution that fulfills the
requirements, rather than its implementation.
For example, a description of a database schema and
software objects.
Ultimately, designs can be implemented.
DESIGN
23
Analysis and design have been summarized in the phase
do the right thing (analysis), and do the thing right (design).
ANALYSIS AND DESIGN
WHAT IS OBJECT ORIENTED ANALYSIS?
The emphasis is on finding and describing the objects
(or concepts) in the problem domain.
In a Library Information System, some of the concepts
include Book, Library, and Student.
24
WHAT IS OBJECT ORIENTED DESIGN?
The emphasis is defining software objects and how they
collaborate to fulfill the requirements.
In a Library Information System, a Book software object
may have a title attribute and a getChapter method.
25
IMPLEMENTATION
During Implementation, or Object-Oriented Programming,
design objects are implemented, such as a book class in
Java.
Implementation is also known as Coding or Construction.
26
27
ITERATIVE AND WATERFALL PROCESSES
The essential difference between the two is how you break
up a project into smaller chunks.
28
WATERFALL PROCESSES
The waterfall style breaks down a project based on activity.
To build Software, you have to do certain activities :
requirements analysis, design, coding, and testing.
Our 1-year project might thus have a 2-month analysis
phase, followed by a 4-month design phase, followed by a
3-month coding phase, followed by a 3-month testing
phase.
29
ITERATIVE PROCESSES
In this lifecycle approach, development is organized into a
series of short, fixed-length (for example, three-week) mini-
projects called iterations; the outcome of each is a tested,
integrated, and executable partial system.
Each iteration includes its own requirements analysis,
design, implementation, and testing activities.
30
ITERATIVE PROCESSES
The iterative style breaks down a project by subsets of
functionality .
You might take a year and break it into 3-month iterations.
In the first iteration, you'd take a quarter of the requirements
and do the complete software life cycle for that quarter :
analysis, design, code, and test .
At the end of the first iteration, you'd have a system that does
a quarter of the needed functionality .
Then you'd do a second iteration so that at the end of 6
months, you'd have a system that does half the functionality .
31
BENEFITS OF ITERATIVE DEVELOPMENT
less project failure, better productivity, and lower defect rates;
shown by research into iterative methods
early rather than late mitigation of high risks (technical,
requirements, objectives, usability, and so forth)
early visible progress
early feedback, user engagement, and adaptation, leading to a
refined system that more closely meets the real needs of the
stakeholders
the learning within an iteration can be methodically used to
improve the development process itself, iteration by iteration

You might also like