You are on page 1of 37

Software Process

Models
Software Process model

 A simplified representation of a software


process, presented from a specific
perspective
 Process model describes the workflow
 How the process elements interact together.
Software Development Life-
Cycle (SDLC)
 The steps through which the product
progresses
 Requirements Specification phase
 Design phase
 Implementation phase
 Integration phase
 Maintenance phase
 Retirement
Process Models
 Waterfall model
 Incremental Process Models
 Rapid application development model
 Incremental model
 Evolutionary Process Models
 Prototyping model
 Spiral model
 Specialized Process Models
 Component-Based Development
 Formal Method model
 Comparison of life-cycle models
Waterfall model

 Consists of a number of dependent phases


that are executed in a sequential order with
no feedback loops. The complete solution is
not released until the final phase.
Waterfall model

 Requirements are reasonably understood.


 When work flow is linear in fashion
 Systematic sequential approach
( or) r)
del le (o el
ll Mo cyc Mod
t e rfa l Life ntial
Wa ssica eque
Cla ear S
Lin
Process Models
 Waterfall model
 Incremental Process Models
 Rapid application development model
 Incremental model
 Evolutionary Process Models
 Prototyping model
 Spiral model
 Specialized Process Models
 Component-Based Development
 Formal Method model
 Unified Process
 Comparison of life-cycle models
Incremental model
 Evolution of waterfall model
 New features added to 1st Increment(core
product)
 Incremental software development model
may be applicable to projects where:
 Software Requirements are well defined, but
realization may be delayed.
 The basic software functionality are required early
SW Functionality and features
Time

Inc 1

Inc 2

Inc 3
Incremental Model’s Use

 Each increment product is to be delivered.


 When team has few people by the deadline
of the project.
RAD Model
 Rapid Application Development
 Short development cycle
 Faster development (60-90) days
 High quality results
 Use of (CASE) Tools
 Component based construction
 System delivered in short time (2 to 3 months)
 Useful where requirements are well understood and
scope is limited
RAD
RAD Model (four phases)
Process Models
 Waterfall model
 Incremental Process Models
 Rapid application development model
 Incremental model
 Evolutionary Process Models
 Prototyping model
 Spiral model
 Specialized Process Models
 Component-Based Development
 Formal Method model
 Unified Process
 Comparison of life-cycle models
Evolutionary Development
Waterfall model
Prototyping
 Early approximation of a final system
 Linear and iterative
 Customer is unable to define the system
 Requirements are not freezed
 a prototype is built to understand the requirements
Communication
Communication

Quick
Deployment QuickPlan
Plan
DeploymentDelivery
Delivery&&
Feedback
Feedback

Modeling
ModelingQuick
QuickDesign
Design
Construction
ConstructionofofPrototype
Prototype
Spiral Model

 Simplified form
 Waterfall model plus risk analysis
 Precede each phase by
 Alternatives
 Risk analysis
 Follow each phase by
 Evaluation
 Planning of next phase
Progress through steps
Determine Evaluate
Objectives, Alternatives, identify
Alternatives, Resolve risks
Constraints

1 2
p1 p2 Operational prototype

4 3
Develop, verify
Plan
Next level Product
nextphase
Process Models
 Waterfall model
 Incremental Process Models
 Rapid application development model
 Incremental model
 Evolutionary Process Models
 Prototyping model
 Spiral model
 Specialized Process Models
 Component-Based Development
 Formal Method model
 Unified Process
 Comparison of life-cycle models
Component Based Development

 COTS
 Commercial off-the-shelf software components
developed by vendors who offer them as
products.
 Decomposition of the engineered systems
into functional or logical components with
well-defined interfaces used for
communication across the components.
Co
De mp
Mo sig one
Co dul n ar nt in
mp e I chi teg
re nte tec rat
he ge tur io
ns ra e n
ive tio
tes n.
tin
g.
Formal Methods Model
 Mathematically based techniques for
representing and analysis of software.
 Formal methods include
 Formal specification
 Specification analysis and proof
 Transformational development
 Program verification
Formal Methods Model
 Reduces requirements errors as it forces a detailed
analysis of the requirements
 Incompleteness and inconsistencies can be
discovered and resolved
 Currently very time consuming and expensive
 Extensive training required
 Difficult to use this model to communicate with the
customer.
Unified Process

 Contains features of OOA and OOD.


 UML- Unified Modeling Language
 It was created to support the OO design and
modeling.
 iterative and incremental process
Phases of Unified process

All the phases are concurrent in nature


 Inception

 Elaboration

 Construction

 Transition

 Production
UP (contd)
 Inception
 Customer communication
 Planning
 Identify resources, assess risks, defines schedule
 Business requirements are identified
 In the form of use cases.
 Rough architecture
 A tentative outline of major sub-systems, functions and
features that populate them.
UP (contd)
 Elaboration
 Customer communication
 Modeling activity
 Expands the use cases.
 Expands the architecture to:
 Use case model, analysis model, design model,
implementation model and deployment model.
 Review plan and make modifications
 Evaluate scope, risks, project delivery dates
UP (contd)

 Construction
 Develop software components (that make the use
cases operational).
 Complete the analysis and design models.
 Implement all functions and features for that
increment.
 Conduct unit testing for the components
 Integrate components.
UP (contd)

 Transition
 Create user manuals, guidelines, installation
procedures.
 Software is given to users for beta testing.
 Get user feedback
 The increment is now a useable software release.
UP (contd)

 Production
 On going use of the software is monitored.
 Provide support
 Defect reports and request for changes are
submitted and evaluated.
Few Differences..
 Waterfall Model:
 Good for project management
 Well constructed product.
 Evolutionary Models:
 All activities are in iterative fashion
 Incremental Models:
 Requirements are established initially
 development activities are iterative.
 Unified Process:
 Dealing with objects
References

 Chapter 1 ,2,3, Roger S. Pressman


“Software Engineering- A practitioner’s
approach”, 6th Ed.
 WCB/McGraw-Hill, 2002, Object-Oriented
and Classical Software Engineering 5th
Edition

You might also like