SE Lec5

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

1

Chapter 6:
Structured Vs.
Object Oriented Analysis and Design
2

Overview

Why do we need Modelling ”Blue prints” ?

Object Oriented Analysis and Design (OOAD) vs. Structured

Oriented Analysis and Design (SAD).

Steps to SAD and OOAD.

Object Oriented Analysis and Design - OOAD.

Unified Modelling Language - UML.


3

By the end of this chapter, you will..

Understands what Structured Analysis and Design is.

Understands what Object Oriented Analysis and Design is.

Understands what is Unified Modeling Language “UML” and the


UML models.

Distinguishes between the analysis oriented and design oriented.


4

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.
5

Object Oriented Analysis and Design


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

OO Analysis expresses Requirements and Specs expressed as

Population of interacting objects of a system

as opposed to

The traditional data or functional views.


6

OOAD Vs. SAD

OOAD SAD
7

OOAD Vs. SAD

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

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

8
OOAD Vs. SAD

9
OOAD Vs. SAD
Structured Approach Object-Oriented Approach

•Use Case Diagram •Use-case Diagram


•Context level DFD •Use-cases’ descriptions (expanded for major
•Level-0 DFD use cases only)
•Subsequent levels DFDs •Conceptual Diagram
•ER Diagram if needed •Sequence Diagrams
•DB Schema & Dictionary •Class Diagram
•Architectural Design •ER Diagram if needed
•Structured Tables/Decision •DB Schema & Dictionary
Trees/Flowcharts ( for major •Architectural Design
processes only) (Component •Pseudo code/Algorithms/Flowcharts
Design) (Component Design)
•Interface design •Interface design

10
11

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.

 An investigation of the problem (rather than how a solution is defined).

 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.
12

Object Oriented Design

 Emphasizes a conceptual solution that fulfills the requirements


specified in the analysis.

 Need to define software objects and how they collaborate to fulfill


the requirements.

 Designs are implemented in a Programming Language.


 Example: in the Library Information System, a Book software object may
have a title attribute and a display() method. And implemented using any
OO programming language; e.g. Java.
13

From Analysis to Implementation

Domain Concept Logical Software Objects Representation in an


Ex: Book (Concept) OO Programming Language
Book
Public Class Book {
Attribute: Title Private String Title;
Public void Display();
Method: Display() }
14

Unified Modeling Language


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

Steps to OOAD
16

Analysis and Design Activities

Analysis Oriented Design Oriented

What How
Requirements Logical Solution
Investigation of Domain

You might also like