4 Software PRocess
4 Software PRocess
2
PROCESS FLOW
3
IDENTIFYING A TASK SET
4
PROCESS PATTERNS
A process pattern
describes a process-related problem that is encountered during
software engineering work,
identifies the environment in which the problem has been
encountered, and
suggests one or more proven solutions to the problem.
Stated in more general terms, a process pattern provides you
with a template [Amb98]—a consistent method for describing
problem solutions within the context of the software process.
5
PROCESS ASSESSMENT AND IMPROVEMENT
7
THE WATERFALL MODEL
Communication
project initiation Planning
requirement gathering estimating Modeling
scheduling
analysis Construction
tracking
design Deployment
code
test delivery
support
f eedback
8
THE V-MODEL
9
THE INCREMENTAL MODEL
increment #n
Communic at ion
Planning
Modeling
analys is C o n s t ru c t i o n
des ign
c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
delivery of
nth increment
increment # 2
Communic at ion
Planning
Modeling
analys is C o n s t ru c t i o n
des ign c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
delivery of
increment # 1 2nd increment
Communic at ion
Planning
Modeling
analys is C o n s t ru c t i o n
des ign c ode
t es t
De p l o y m e n t
d e l i v e ry delivery of
fe e dba c k
1st increment
Quick
Quick plan
Communication plan
communication
Modeling
Modeling
Quick design
Quick design
Deployment
Deployment Construction
Delivery
delivery & of prototype
Construction
& Feedback
feedback Construction
of
of prototype
prototype
11
EVOLUTIONARY MODELS: THE SPIRAL
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery
code
feedback test
12
EVOLUTIONARY MODELS: CONCURRENT
none
Modeling activity
Awaiting
changes
Under review
Under
revision
Baselined
Done
13
STILL OTHER PROCESS MODELS
Component based development—the process to apply when
reuse is a development objective
Formal methods—emphasizes the mathematical specification
of requirements
AOSD—provides a process and methodological approach for
defining, specifying, designing, and constructing aspects
Unified Process—a “use-case driven, architecture-centric,
iterative and incremental” software process closely aligned
with the Unified Modeling Language (UML)
14
THE UNIFIED PROCESS (UP)
Elaboration
elaboration
Inception
inception
construction
Release
transition
software increment
production
15
UP PHASES
UP Phases
Inception Elaboration Construction Transition Production
Workflows
Requirements
Analysis
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
16
UP WORK PRODUCTS
Inception phase
Elaboration phase
Vision document
Initial use-case model
Initial project glossary
Construction phase
Use-case model
Initial business case Supplementary requirements
Initial risk assessment. including non-functional Design model
Transition phase
Project plan, Analysis model Software components
phases and iterations. Software architecture Delivered software increment
Integrated software
Business model, Description. increment Beta test reports
if necessary. Executable architectural General user feedback
Test plan and procedure
One or more prototypes prototype.
I nc ept i o Test cases
n Preliminary design model Support documentation
Revised risk list user manuals
Project plan including installation manuals
iteration plan description of current
adapted workflows increment
milestones
technical work products
Preliminary user manual
17
For further Details: https://www.geeksforgeeks.org/rup-and-its-
phases/
ADVANTAGES: