0% found this document useful (0 votes)
23 views37 pages

Software Process Models

safsef

Uploaded by

assim4u
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views37 pages

Software Process Models

safsef

Uploaded by

assim4u
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

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