download

Object-Oriented Design
Lecturer: Raman Ramsin
Lecture 2: USDP Overview
Department of Computer Engineering
1
Sharif University of Technology
Object-Oriented Design – Lecture 2
Software Development Methodology (SDM)
„
A framework for applying software engineering practices with the
specific aim of providing the necessary means for developing
software-intensive
software
intensive systems
„
Consisting of two main parts:
… A sett off modeling
d li conventions
ti
comprising
i i a Modeling
M d li Language
L
(syntax and semantics)
… A Process, which
„ provides guidance as to the order of the activities,
„ specifies what artifacts should be developed using the
Modeling Language,
„ directs the tasks of individual developers and the team as a
whole, and
„ offers criteria for monitoring
g and measuring
g a project’s
p j
products and activities
Department of Computer Engineering
2
Sharif University of Technology
Object-Oriented Design – Lecture 2
UML, RUP, and USDP
Department of Computer Engineering
3
Sharif University of Technology
Object-Oriented Design – Lecture 2
Unified Software Development Process (USDP)
„
Also known as Unified Process (UP)
„
First introduced in 1999
„
A refined, simplified, and non
non-proprietary
proprietary version of the
Rational Unified Process (RUP)
„
UML-Based
„
Use-Case-Driven
„
Architecture-centric
„
Iterative and Incremental
Department of Computer Engineering
4
Sharif University of Technology
Object-Oriented Design – Lecture 2
Use Cases
„
A Use Case can be defined as a piece of
functionality that gives a user a result of value
„
Use cases capture
p
functional requirements
q
replace the traditional functional specification
Department of Computer Engineering
5
Sharif University of Technology
Object-Oriented Design – Lecture 2
Architecture
„
Can be described as the different high-level
high level
views of the system being built
„
Embodies the most significant static and
dynamic
y
aspects
p
of the system
y
… Influenced
by platform (operating systems, DBMS,
etc.)
… View off the
h whole
h l design
d
with
h the
h important
characteristics made more visible by leaving the
details aside
Department of Computer Engineering
6
Sharif University of Technology
Object-Oriented Design – Lecture 2
Unified Software Development Process
„
Software lifecycle is decomposed over time in four sequential phases
… Inception (Vision Milestone)
„ Define the vision of the product, scope of the project and the business case
… Elaboration (Architecture Milestone)
„ Refine the definition of the product
„ Define and baseline an architecture
„ Develop a more precise plan for its development and deployment
… Construction (Initial Operational Capability Milestone)
„ Build the product to the point where it can be delivered to its end-users for
the first time
… Transition (Product Release Milestone)
„ Transition the
h product
d
to the
h user community; this
h includes
l d manufacturing,
f
delivering, training, supporting and maintaining the product
Inception
Elaboration
Construction
Transition
Time
Vision
Department of Computer Engineering
Baseline Architecture
7
Initial Capability
Product Release
Sharif University of Technology
Object-Oriented Design – Lecture 2
Phases and Iterations
I
Inception
ti
Prelim
Iteration
El b ti
Elaboration
Arch
Iteration
Release
Release
Department of Computer Engineering
C
Construction
t ti
Dev
Dev
Iteration Iteration
Release
Release
8
T
Transition
iti
Trans
Iteration
Release
Release
Release
Release
Sharif University of Technology
Object-Oriented Design – Lecture 2
Iterations and Workflows
Phases
Workflows
Inception
Elaboration
Construction
Transition
Requirements
An iteration in the
elaboration phase
Analysis
Design
Implementation
Test
P re lim ina ry
Ite ration (s)
iter.
#1
iter.
#2
iter.
#n
iter.
#n+1
ite r.
# n +2
iter.
#m
ite r.
#m +1
Iterations
Department of Computer Engineering
9
Sharif University of Technology
Object-Oriented Design – Lecture 2
Features of the iterative approach
„
Continuous integration
… Not
„
done in one lump near the delivery date
Frequent, executable releases
… Some
„
internal; some delivered
Attack risks through demonstrable progress
… Progress
measured in products, not documentation or
engineering
i
i estimates
ti t
Department of Computer Engineering
10
Sharif University of Technology
Object-Oriented Design – Lecture 2
Risk Profile of an Iterative Development
p
Process
Inception
Waterfall
El b ti
Elaboration
Risk
Construction
Transition
Preliminary
Iteration
Architect.
Iteration
Architect.
Iteration
Devel.
Iteration
Devel.
Iteration
Devel.
Iteration
Transition
Iteration
Transition
Iteration
Postdeployment
Time
Department of Computer Engineering
11
Sharif University of Technology
Object-Oriented Design – Lecture 2
Use Cases Drive the Iteration Process
I
Inception
ti
El b
Elaboration
ti
Iteration 1
Iteration 2
C
Construction
t
ti
T
Transition
iti
Iteration 3
“Mini-Waterfall” Process
Iteration Planning
Rqmts Capture
Analysis & Design
Implementation
Test
Prepare Release
Department of Computer Engineering
12
Sharif University of Technology
Object-Oriented Design – Lecture 2
Project Management Activities in each Iteration …
„
Iteration planning
… Before the iteration begins, the general objectives of the
iteration should be established based on
„ Results of previous iterations ( if any)
„ Up-to-date risk assessment for the project
… Determine the evaluation criteria for this iteration
… Prepare detailed iteration plan for inclusion in the
development plan
„ Include intermediate milestones to monitor progress
„ Include walkthroughs and reviews
Department of Computer Engineering
13
Sharif University of Technology
Object-Oriented Design – Lecture 2
… Project
j
Management
g
Activities in each Iteration
„
Prepare the release description
… Synchronize code and design models
… Place products of the iteration in controlled libraries
Department of Computer Engineering
14
Sharif University of Technology
Object-Oriented Design – Lecture 2
Unified Process Models
Use Case Model
specified by
verified by
Models Use Cases
and their relationships to
users
Analysis Model
Test Model
Refines the use cases and
makes an initial allocation of
behavior to set of objects
Describes the test cases
that verify the use cases
realized by
distributed by
Design Model
Defines the static structure
of the system as
subsystems, classes and
interfaces and defines the
use cases as collaborations
of subsystems, classes and
interfaces
Deployment Model
implemented by
Defines the physical nodes
of computers and the
mapping of the components
t those
to
th
nodes
d
Implementation
Model
Includes components
(representing source code)
and the mapping of classes to
components
Department of Computer Engineering
15
Sharif University of Technology
Object-Oriented Design – Lecture 2
Workflows and Models
Requirements
Use Case
Model
Analysis
Design
Analysis
y
Model
Design
Model
Impl.
Model
Implementation
Test
Model
Test
Department of Computer Engineering
Depl.
Model
16
Sharif University of Technology
Object-Oriented Design – Lecture 2
Inception Phase
„
The purpose of Inception is to "get the project
off the ground":
ground :
… establishing
feasibility - this may involve some
technical prototyping to validate technology decisions
or proof of concept prototyping to validate business
requirements;
… creating a business case to demonstrate that the
project will deliver quantifiable business benefit;
… capturing
p
g essential requirements
q
to help
p scope
p the
system;
… identifying critical risks.
Department of Computer Engineering
17
Sharif University of Technology
Object-Oriented Design – Lecture 2
Inception
p
– Concerns
„
The inception phase is a preparatory stage that
attempts to answer the following questions:
… What
is the purpose and objectives of the project? Is
it worth the effort?
… Is the p
project
j
feasible (e.g.
( g technologically,
g
y,
financially, with current personnel)?
… Should we buy the system, or build it?
… Will it be developed now, or built from an existing
system?
… What are the estimated costs and risks?
… Should we proceed with the project?
„
This phase also deals with project planning and
project management
… This
Thi
includes
i l d Gantt
G
charts
h
and
d plans,
l
budgets,
b d
etc.
Department of Computer Engineering
18
Sharif University of Technology
Object-Oriented Design – Lecture 2
Inception
p
– Postconditions and Deliverables
Department of Computer Engineering
19
Sharif University of Technology
Object-Oriented Design – Lecture 2
Inception Timeline
„
An important idea with Inception is that we do
not yet know if a project will take place!
… Often
„
1 or 2 iterations are required for Inception
Therefore, since a project may be rejected, it
makes sense that the Inception
p
phase
p
should be
very short
… Therefore,
if the project gets scrapped, little time
( d money)) would
(and
ld have
h
been
b
wasted
t d
… It is not uncommon for Inception to last a few days
to a few weeks, maximum
Department of Computer Engineering
20
Sharif University of Technology
Object-Oriented Design – Lecture 2
Elaboration Phase
„
The purpose of Inception is to understand the problem,
whereas Elaboration explores the solution:
…
…
…
…
…
…
create an executable architectural baseline;;
refine the risk assessment;
define quality attributes (defect discovery rates, acceptable
defect densities
densities, and so on);
capture use cases to 80% of the functional requirements;
create a detailed p
plan for the construction phase;
p
;
formulate a bid that includes resources, time, equipment,
staff, and cost.
Department of Computer Engineering
21
Sharif University of Technology
Object-Oriented Design – Lecture 2
Elaboration and the Workflows
„
In the Elaboration phase
phase, the focus in each of
the core workflows is as follows:
… requirements
- refine system scope and
requirements;
… analysis - establish what to build;
… design - create a stable architecture;
… implementation
i l
t ti - build
b ild the
th architectural
hit t l baseline;
b li
… test - test the architectural baseline.
Department of Computer Engineering
22
Sharif University of Technology
Object-Oriented Design – Lecture 2
Elaboration - Concerns
„
After Elaboration, project risks are essentially
eliminated
… The
Architecture and UI have been approved by
customers and managers
… Technically
T h i ll difficult
diffi lt software
ft
components
t have
h
been
b
implemented, or proof-of-concept code has been
created to prove it was possible
… Cost
C t estimates
ti t are fi
finalized,
li d so budgets
b d t can be
b
approved
… Preliminary user manuals have been created and
analyzed
„
Analysis, architecture and design well underway
after Elaboration
Department of Computer Engineering
23
Sharif University of Technology
Object-Oriented Design – Lecture 2
Elaboration – Postconditions and Deliverables
Department of Computer Engineering
24
Sharif University of Technology
Object-Oriented Design – Lecture 2
Construction Phase
„
The purpose of Construction is to iteratively
enhance and evolve the previously created
artefacts into the target system:
… complete
all requirements, analysis, and design
… evolve
the architectural baseline generated in
Elaboration into the final system.
system
Department of Computer Engineering
25
Sharif University of Technology
Object-Oriented Design – Lecture 2
Construction and the Workflows
„
We can summarize the kind of work undertaken
in each workflow during Construction as follows:
… requirements
- uncover any requirements that had
been missed;
… analysis - finish the analysis model;
… design - finish the design model;
… implementation - build the Initial Operational
Capability;
… test - test the Initial Operational Capability.
Department of Computer Engineering
26
Sharif University of Technology
Object-Oriented Design – Lecture 2
Construction – Postconditions and Deliverables
Department of Computer Engineering
27
Sharif University of Technology
Object-Oriented Design – Lecture 2
Transition Phase
„
The purpose of Transition is the ultimate deployment of
the soft
software
aep
produced
od ced at the end of Const
Construction:
ction
…
…
…
…
…
…
…
co duct beta test a
conduct
and
d accepta
acceptance
ce test, a
and
d co
correct
ect de
defects;
ects;
prepare the user sites for the new software;
tailor the software to operate at the user sites;
modify the software if unforeseen deployment problems
arise;
create user manuals and other documentation;;
provide user consultancy;
conduct a post-project review.
Department of Computer Engineering
28
Sharif University of Technology
Object-Oriented Design – Lecture 2
Transition and the Workflows
„
We can summarize the kind of work undertaken
in each workflow during Transition as follows:
… Requirements
- not applicable.
… Analysis - not applicable.
… Design - modify the design if problems emerge in
testing.
… Implementation - tailor the software for the user site
and correct problems uncovered in testing.
testing
… Test - beta testing and acceptance testing at the user
site.
Department of Computer Engineering
29
Sharif University of Technology
Object-Oriented Design – Lecture 2
Transition – Postconditions and Deliverables
Department of Computer Engineering
30
Sharif University of Technology
Object-Oriented Design – Lecture 2
R f
Reference
„
„
Jacobson, I., Booch, G. and Rumbaugh, J. The Unified
Software Development Process, Boston, MA: AddisonWesley 1999
Wesley,
1999.
Arlow, J., Neustadt, I., UML 2 and the Unified Process:
P ti l Object-Oriented
Practical
Obj t O i t d Analysis
A l i and
d Design
D i , 2ndd Ed.
Ed
Addison-Wesley, 2005.
Department of Computer Engineering
31
Sharif University of Technology