Ch6_OOAD vs structured
Download
Report
Transcript Ch6_OOAD vs structured
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