Ch6_OOAD vs structured

advertisement
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
Catalog
Book
SAD
Library
System
Librarian
Library
Record
Loans
Add
Resource
Report
Fines
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
Structured Approach
Object-Oriented Approach
•
•
•
•
•
•
•
•
• Use-case Diagram
• Use-cases’ descriptions (expanded for major
Use Case Diagram
Context level DFD
Level-0 DFD
Subsequent levels DFDs
ER Diagram if needed
DB Schema & Dictionary
Architectural Design
Structured Tables/Decision
Trees/Flowcharts ( for major
processes only) (Component
Design)
• Interface design
use cases only)
•
•
•
•
•
•
•
Conceptual Diagram
Sequence Diagrams
Class Diagram
ER Diagram if needed
DB Schema & Dictionary
Architectural Design
Pseudo code/Algorithms/Flowcharts
(Component Design)
• Interface design
9
10
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.
11
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.
12
From Analysis to Implementation
Analysis
Design
Construction
Investigation of
the problem
Logical Solution
Code
Domain Concept
Ex: Book (Concept)
Logical Software Objects
Book
Attribute: Title
Method: Display()
Representation in an
OO Programming Language
Public Class Book {
Private String Title;
Public void Display();
}
13
Unified Modeling Language
A notational system aimed at modeling systems using object oriented
concepts.
14
Steps to OOAD
1-Define use
cases
2-Conceptual
Model
3-Collaboration
Diagrams
4-Design Class
Diagram
15
Analysis and Design Activities
More Analysis Oriented
Analysis Oriented



What
Requirements
Investigation of Domain
More Design Oriented
Design Oriented


How
Logical Solution
Download