Module 2 PDF
Module 2 PDF
Module 2
Objectives
Upon completion of this module, you should be able to:
• Describe the Object-Oriented Software Development
(OOSD) process
• Describe how modeling supports the OOSD process
• Describe the benefits of modeling software
• Explain the purpose, activities, and artifacts of the
following OOSD workflows: Requirements Gathering,
Requirements Analysis, Architecture, Design,
Implementation, Testing, and Deployment
OO Technology
Influences
Tool Choices
Supports
Tools/ Activities
Implemented by Tools
Artifacts
Activities
Workflows
Guides Flow
Methodology/Phases
Client-Side Development-Side
Business Owner Project Manager
Software Designer
Software Programmer
Software Tester
Deployment Specialist
Artifacts include:
Use case diagrams,
Use case scenarios,
Use case description
including (FRs + NFRs),
Meet project stakeholders to identify Additional specifications:
additional and refined requirements System-wide NFRs,
Project risks,
Stakeholders’ Project constraints,
Mental Model Business rational (purpose),
Artifacts
Future business direction,
Stakeholders,
Glossary of terms
C
R C
C
Determine the key abstractions R C
Domain artifacts
Create a detailed Deployment diagram for Client Server
the architecturally significant use cases.
PC Ultra60 SunFire
close() save()
TCP
Client Server Create the Solution model by merging
the Design and Architecture models.
Clean Dirty
close() save()
What is a Model?
“A model is a simplification of reality.” (Booch UML User Guide
page 6)
Architecture
Model
Rs
NF
Requirements Solution Code
Model Model
FR
Stakeholders s Design
Mental Model Model
UML Elements
Things Relationships
Actors and Uses Cases Classes and Objects
Dependencies
Class Class
use case -load : float = 0
-maxLoad : float = 0
actor obj:Class +getLoad() : float
+getMaxLoad() : float
+addBox(float weight)
Associations
Components and Hardware employer employer
client:PC/Win95
Component States and Activities
browser Generalizations
search for available rooms
and populate room list in GUI
Applet.java calculator.jar
Idle
Realizations
weight in newtons
package
UML Diagrams
Class Object Use Case Activity
Clean Dirty
domain
close() save()
Profile Timing
Metamodel
Stereotypes
Constraints
Clean Dirty
domain
close() save()
Profile Timing
Metamodel
Stereotypes
Constraints
Open
Door
Lock
Close Door
Door
Lock
Door
Notes
Account
number:String
balance:double balance := balance + amt
type:String
credit(amt:double)
debit(amt:double)
getBalance():double
balance := balance - amt
Account Account
number number:String
balance balance:double
«refines»
type type:String
credit credit(amt:double)
debit debit(amt:double)
getBalance getBalance():double
UML Tools
UML itself is a tool. You can create UML diagrams on paper
or a white board. However, software tools are available to:
• Provide computer-aided drawing of UML diagrams
• Support (or enforce) semantic verification of diagrams
• Provide support for a specific methodology
• Generate code skeletons from the UML diagrams
• Organize all of the diagrams for a project
• Automatic generation of modeling elements for design
patterns, Java™ Platform, Enterprise Edition (Java™
EE platform) components, and so on
Summary
• The OOSD process starts with gathering the system
requirements and ends with deploying a working
system.
• Workflows define the activities that transform the
artifacts of the project from the requirements model to
the implementation code (the final artifact).
• The UML supports the creation of visual artifacts that
represent views of your models.