Sie sind auf Seite 1von 18

Introduction to OOAD

Lecture # 1

OO Objectives
We want a development method which:
Is able to guide us through analysis, design,
and implementation using one consistent
paradigm throughout those phases
Is less likely to generate errors
Facilitates reuse of designs and code

Analysis & Design


Analysis
Investigation of problem and requirements,
rather than a solution.
E.g. Requirements analysis and OO analysis.

Design
It emphasizes a conceptual solution that fulfills
the requirements.
E.g. Database design or OO design

Implementation expresses the true and complete


realized design

Object Oriented Analysis (OOA)


OOA is a method of analysis that
examines requirements from the
perspectives of the classes and objects.
(Booch 1995)
Emphasis is on finding and describing
conceptual objects in the problem
domain.

Object Oriented Design (OOD)


OOD is a method of design
encompassing the process of OO
decomposition and a notation for depicting
both logical and physical as well as static
and dynamic models of the system.
(Booch 1995)
Emphasis is on defining software
objects, and how they collaborate to fulfill
system requirements

What is OO analysis and design?


Essence of OO analysis - consider a
problem domain from the perspective of
objects (real world things, concepts)
Essence of OO design - define the
solution as a collection of software
objects (allocating responsibilities to
objects)

Examples- Library IS
OO Analysis - in the case of the library
information systems, one would find
concepts like book, library, patron
OO Design - emphasis on defining the
software objects; ultimately these objects
are implemented in some programming
language; Book may have a method
named print.

Example - contd.
Book

domain concept

title

representation in an
object-oriented
programming language

public class Book


{
private String title;
public Chapter getChapter(int) {...}
}

visualization of
domain concept

Flight IS

Plane
tailNumber

domain concept

representation in an
object-oriented
programming language

visualization of
domain concept

public class Plane


{
private String tailNumber;
public List getFlightHistory() {...}
}

What are the business processes?


First step - consider what the business
must do; in the case of a library - lending
books, keeping track of due dates, buying
new books.
In requirements analysis; represent the
business processes in textual narration
(Use Cases).

Business processes - contd.


Identifying and recording the business processes
as use cases is not actually an object oriented
activity; though a necessary first step.

Roles in the organization


Identify the roles of people who will be
involved in the business processes
In OO terms - domain analysis
Examples - customer, library assistant,
programmer, navigator, sensor, etc.

Who does what?


Business processes and roles (actors);
time to determine how to fulfill the
processes and who does these processes
in OO terms - object oriented design;
assigning responsibilities to the various
software objects
often expressed in class diagrams

In Summary...

Simple example to see big picture


Define use cases
Define domain model
Define interaction diagrams
Define design class diagrams

Define use
cases

Define domain
model

Define
Interaction
diagrams

Define design
class diagrams

Short Example
Dice game
A software simulates a player rolling two dice. If
the total is seven, they win; otherwise, they
lose.

Define use cases


Use cases
Narrative descriptions of domain processes in a
structured prose format
They are stories or scenarios of how people use
the system

Use case:
Actors:

Play a game
Player

Description: Player requests to roll the dice. System


presents results: If the dice face value totals seven,
player wins; otherwise, player loses.

Define conceptual model


OO Analysis concerns
specification of the problem domain
identification of concepts (objects)

Decomposition of the problem domain


includes
identification of objects, attributes, associations

results can be expressed in conceptual


model

Das könnte Ihnen auch gefallen