Anda di halaman 1dari 26

Lecture # 1 Instructor: Salma Imtiaz

INTRODUCTION TO OOAD,UML AND UP

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 Contains checks to help eliminate 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 visualization of domain concept

representation in an object-oriented programming language

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

Flight IS

Plane domain concept tailNumber

visualization of domain concept

representation in an object-oriented programming language

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 OO terms - 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? Collaboration


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...
Business Analogy OO Analysis and Design Associated Documents Use cases

What are the Requirements business analysis processes? What are Domain analysis employee roles? Who is responsible for what? Responsibility assignment;

Conceptual model Design class diagrams

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

Conceptual model - dice game


Player name 1 Plays 1 DiceGame 1 Includes 1 Rolls 2 Die faceValue 2

Conceptual model is not a description of the software components; it represents concepts in the real world problem domain

Defining Interaction diagram


OO Design is concerned with
defining software objects their responsibilities and

collaborations

Essential step - allocating responsibility to

objects and illustrating how they interact with other objects Expressed as interaction diagrams
Sequence Diagrams Communication Diagrams

Example Sequence Diagram

Defining class diagrams


Key questions to ask
How do objects connect to other objects?
What are the behaviors (methods) of these objects?

interaction diagrams suggests connections; to support

these connections methods are needed Expressed as class diagrams

Example - Class diagram

Defining Models and Artifacts


Models provide a mechanism for decomposition and expressing specifications
Objectives
analysis and design models
familiarize UML notations and diagrams

Real world software systems are inherently

complex

Analysis and Design models


Analysis model - models related to an investigation of the domain and problem space (Use case model qualifies as an

example) Design model - models related to the solution (class diagrams qualifies as an example)

QUESTIONS?

Anda mungkin juga menyukai