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

Mastering Object-Oriented Analysis

and Design with UML


Module 4: Analysis and Design Overview
Objectives: Analysis and Design Overview
 Review the key Analysis and Design terms
and concepts
 Introduce the Analysis and Design process,
including roles, artifacts and workflow
 Explain the difference between Analysis
and Design

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 2
Analysis and Design in Context
The
Thepurposes
purposesof
ofAnalysis
Analysisand
andDesign
Design
are
areto:
to:
 Transform
Transformthe
therequirements
requirementsinto
intoaa
design
designof
ofthe
thesystem-to-be.
system-to-be.
 Evolve
Evolveaarobust
robustarchitecture
architecturefor
forthe
the
system.
system.
 Adapt
Adaptthe
thedesign
designto tomatch
matchthe
the
implementation environment,
implementation environment,
designing
designingititfor
forperformance.
performance.

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 3
Analysis and Design Overview

Design Model
Use-Case Model Analysis and
Design

Architecture
Document
Glossary
Supplementary
Specification

Data Model
Mastering Object Oriented Analysis and Design with UML
Copyright © 2003 Rational Software, all rights reserved 4
Analysis & Design Overview Topics
 Key Concepts
 Analysis and Design Workflow

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 5
Analysis Versus Design
 Analysis  Design
 Focus on understanding  Focus on understanding
the problem the solution
 Idealized design  Operations and
 Behavior attributes
 System structure  Performance
 Functional requirements  Close to real code
 A small model  Object lifecycles
 Nonfunctional
requirements
 A large model

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 6
Analysis and Design Are Not Top-Down or Bottom-Up
Analysis and Design

Top
Down Subsystems

Use Cases Analysis Classes


(Define a
middle level)
Bottom
Up

Design Classes

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 7
What Is Architecture?
 Software architecture encompasses a set of
significant decisions about the organization
of a software system.
 Selection of the structural elements and their
interfaces by which a system is composed
 Behavior as specified in collaborations among
those elements
 Composition of these structural and behavioral
elements into larger subsystems
 Architectural style that guides this organization
Grady Booch, Philippe Kruchten, Rich Reitman, Kurt Bittner; Rational
(derived from Mary Shaw)
Mastering Object Oriented Analysis and Design with UML
Copyright © 2003 Rational Software, all rights reserved 8
Architecture Constrains Design and Implementation

 Architecture involves a set of strategic


design decisions, rules or patterns that
constrain design and construction.

Code
Implementation
Design
Architecture

Architecture decisions are the most fundamental


decisions, and changing them will have significant effects.

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 9
Software Architecture: The “4+1 View” Model

Logical View Implementation View

End-user
Analysts/Designers Programmers
Structure Functionality
Software management
Use-Case View

Process View Deployment View


System integrators System engineering
Performance System topology
Scalability Delivery, installation
Throughput communication

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 10
•The logical view describes the (object-oriented system) system in terms of
abstractions, such as classes and objects. The logical view typically contains
class diagrams, sequence diagrams, and collaboration diagrams. Other types of
diagrams can be used where applicable.

•It is the structural view of the system. This gives an idea of what a given system
is made up of. Class diagrams and object diagrams form the design view of the
system.

•The implementation view describe the structure of modules, files, and/or


packages in the system. The component diagram can be used to describe this
view. It shows the grouped modules of a given system modeled using the
diagram.

•The process view describes the processes of the system and how they
communicate with each other. The dynamic behavior of a system can be seen
using the process view. The different diagrams such as the state diagram, activity
diagram, sequence diagram, and collaboration diagram are used in this view.

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 11
 The deployment view describes how the system is installed and how it
executes in a network of computers. Deployment diagrams are often used to
describe this view.

 The use case view describes the functionality of the system. This view can be
described using case diagrams and use case specifications.

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 12
 The UML diagrams that fall under each of these
categories are:
 Static
 Use case diagram
 Class diagram
 Dynamic
 Object diagram
 State diagram
 Activity diagram
 Sequence diagram
 Collaboration diagram
 Implementation
 Component diagram
 Deployment diagram

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 13
Analysis & Design Overview Topics
 Key Concepts
 Analysis and Design Workflow

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 14
Analysis and Design Workflow
[Early
Elaboration [Inception
Iteration] Iteration (Optional)]

Define a Candidate Perform


Architecture Architectural
Synthesis

Analysis

Analyze Behavior

(Optional)
Refine the
Architecture

Design Define Design the


Components Database

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 15
Designer

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 16
Software Architect

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 17
Analysis and Design Activity Overview

Architect

Designer

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 18
Software Architect’s Responsibilities
 The
Software
Architect Analysis Model
leads and Architect
coordinates
technical
activities
and artifacts. Design Model

Software
Reference Architecture
Deployment Model Architecture Document
Mastering Object Oriented Analysis and Design with UML
Copyright © 2003 Rational Software, all rights reserved 19
Designer’s Responsibilities
 The designer
must know
use-case
modeling Use-Case
techniques, Realization Designer
system
requirements,
and software
design
techniques. Package/
Subsystem Class

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 20
Review: Analysis and Design Is Use-Case Driven
 Use cases defined for a system are the
basis for the entire development process.
 Benefits of use cases:
 Concise, simple, and understandable by a wide range of
stakeholders.
 Help synchronize the content of different models.

Check Balance

Customer

Withdraw Money

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 21
What Is a Use-Case Realization?
Use-Case Model Design Model

Use Case Use-Case Realization

Collaboration Diagrams
Sequence Diagrams

Use Case
Class Diagrams

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 22
Analysis and Design in an Iterative Process

Start of Use Case A Use Case B


iteration
Scenarios 1 & 2 Scenario 1

Use Case A
Scenario 3

Use-Case
Realization A

Use-Case
End of Realization A
iteration Use-Case
Realization B
Iteration n Iteration n + 1
Mastering Object Oriented Analysis and Design with UML
Copyright © 2003 Rational Software, all rights reserved 23
Review: Analysis and Design Overview
 What is the purpose of the Analysis and
Design Discipline?
 What are the input and output artifacts?
 Name and briefly describe the 4+1 Views of
Architecture.
 What is the difference between Analysis
and Design?
 What is architecture?

Mastering Object Oriented Analysis and Design with UML


Copyright © 2003 Rational Software, all rights reserved 24
Mastering Object Oriented Analysis and Design with UML
Copyright © 2003 Rational Software, all rights reserved 25

You might also like