This document discusses software process models. It begins by defining a software process as a structured set of activities required to develop software, including specification, analysis, design, implementation, validation, and evolution. It then describes several prescriptive process models: the waterfall model executes phases sequentially; incremental and evolutionary models iterate phases; and concurrent models perform phases in parallel. The document evaluates the strengths and weaknesses of each model to determine the most appropriate approach based on project requirements and risks.
Introduction to software processes, their models, and weaknesses/strengths. Emphasizes study objectives.
Defines a process and outlines software processes, framework activities, and various flow models.
Overview of software process models aimed at high-quality development, with references to SDLC.
Description of the oldest software lifecycle model, its advantages & disadvantages in practical scenarios.
Details the incremental model, its advantages & disadvantages, and when it's suitable for use.
Overview of the RAD model as a high-speed approach, along with its advantages and disadvantages.
Description of the prototype model, highlighting its iterative nature, user involvement, and associated issues.
Detailed analysis of the spiral model, outlining its phases, advantages, disadvantages, and ideal usage scenarios.Discussion of the V-model, focusing on its efficiency, benefits such as improved quality, and disadvantages.
Insights into the iterative model, advantages of gradual improvement, and use case definitions.
Examines the concurrent model, blending iterative and parallel elements, while discussing general weaknesses.
Summarizes that each model has pros and cons, affirming the necessity for comprehensive understanding when choosing.
Objectives
To study aboutsoftware process
Discuss software process models
To know about activities involved in
process models
4.
Process
“Process is aseries of steps involving
activities,constarints and resources that
produce an intended output”
“Process is define as program in execution”
5.
Software process
A structuredset of activities required to
develop a software system
– Specification
– Analysis, design and implementation.
– Validation
– Evolution
Umbrella Activities
“Applied throughoutthe software process”
Help a software team manage and control
progress, quality, change, and risk
Activities
Software project tracking and control
Risk management
Software quality assurance
Measurement
Software configuration management
Reusability management
Work product preparation and production
Process Flow
Linearprocess flow executes each of the five activities in
sequence.
An iterative process flow repeats one or more of the
activities before proceeding to the next.
An evolutionary process flow executes the activities in a
circular manner. Each circuit leads to a more complete
version of the software.
A parallel process flow executes one or more activities in
parallel with other activities ( modeling for one aspect of
the software in parallel with construction of another
aspect of the software.
11.
Software Process models
Asoftware process model is a road map that
helps you create a timely, high-quality
software.
Aim to produce a high quality software that
meets customer expectation
Each process model followed the SDLC
“Describing how to develop, maintain, replace and alter or enhance specific
software”
Prescriptive Process Model
Definesa distinct set of activities, actions,
tasks, milestones, and work products that are
required to engineer high-quality software
The activities may be linear, incremental, or
evolutionary
15.
Prescriptive Process Models
Waterfall Model –represents elements of a linear process
flow
Incremental Model – combines elements of linear and parallel
process flows
Evolutionary Model – follows the evolutionary process flow that
combines elements of linear and iterative process flows
• Prototyping
• Spiral
Concurrent Model – combines elements of iterative and parallel
process flows
Badariah Solemon 2010
16.
Waterfall Model
Oldestsoftware lifecycle model
Proposed by Winston Royce in 1970
Used when requirements are well understood
and risk is low
Work flow is in a linear (i.e., sequential) fashion
Waterfall Model
Problems
Real projectsrarely follow the sequential flow
that the model propose
It is often difficult for the customer to state all
the requirements explicitly
The customer must have patience
Incremental Model
Allrequirement knows
Combines the advantages of both waterfall and prototype
models.
System will be delivered in parts
Work flow is in a linear (i.e., sequential) fashion within an
increment and is staggered between increments
Incremental Process Models
Advantages
Generates working software quickly and early during
the software life cycle.
This model is more flexible – less costly to change
scope and requirements.
It is easier to test and debug during a smaller iteration.
In this model customer can respond to each built.
Lowers initial delivery cost.
Easier to manage risk because risky pieces are
identified and handled during it’d iteration.
25.
Incremental Process Models
Disadvantages
Needsgood planning and design.
Needs a clear and complete definition of the
whole system before it can be broken down
and built incrementally.
Total cost is higher than waterfall.
26.
Incremental Model
When touse the Incremental model
When the requirements of the complete system are
clearly defined and understood.
Major requirements must be defined; however, some
details can evolve with time.
There is a need to get a product to the market early.
A new technology is being used Resources with needed
skill set are not available
Problem
User inconveniency
27.
The RAD Model
RADis an incremental process model
RAD model is “high speed” adaptation of
waterfall model
RAD process enables a development team to
create a “fully functional system” within a very
short time period
29.
The RAD Model
Advantages
Very high speed
Disadvantages
Require sufficient human resources
Cannot be properly modularized
Not be appropriate when technical risks are
high(eg,when new application makes heavy use of new
technology)
30.
P2
Prototype model
Basic principle
Customernot clear
1. Initial requirement
2. Initial prototype
3. Test and Revise
4. Sign off(After customer satisfaction)
User Involvement active
p1
Prototype model
Follows anevolutionary and iterative
approach
Used when requirements are not well
understood
Serves as a mechanism for identifying
software requirements
Focuses on those aspects of the software that
are visible to the customer/user
Feedback is used to refine the prototype
33.
Prototype model
Problems
Thecustomer sees a "working version" of the software,
wants to stop all development and then buy the
prototype after a "few fixes" are made
Developers often make implementation compromises to
get the software running quickly (e.g., language choice,
user interface, operating system choice, inefficient
algorithms)
34.
Spiral Model
• Inventedby Dr. Barry Boehm in 1988
• Follows an evolutionary approach
• similar to the incremental model,
Spiral Model
Planning Phase
Requirements are gathered(BRS &SRS)
Risk Analysis
a process is undertaken to identify risk and alternate solutions.
A prototype is produced at the end of the risk analysis phase.
Engineering Phase
software is developed,
Testing at the end of the phase
Evaluation phase:
This phase allows the customer to evaluate the output of the
project to date before the project continues to the next spiral.
37.
Spiral Model
Advantages
High amountof risk analysis hence, avoidance of
Risk is enhanced.
Good for large and mission-critical projects.
Strong approval and documentation control.
Additional Functionality can be added at a later
date.
Software is produced early in the software life
cycle.
38.
Spiral Model
Disadvantages
Can bea costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the
risk analysis phase.
Doesn’t work well for smaller projects.
39.
Spiral Model
When touse Spiral model
When costs and risk evaluation is important
For medium to high-risk projects
Long-term project commitment unwise because
of potential changes to economic priorities
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected
40.
History of V-model
•Defined by the late Paul Rook in 1980’s.
• To improve the efficiency and effectiveness of
software development.
• Accepted in Europe and UK as an alternative
to Waterfall model.
• Quality is guaranteed at each project stage.
42.
BENEFITS
• Fault multiplicationcan be reduced.
• Improved quality and reliability.
• Reduction in the amount of Re-work.
• Improved Risk Management
• Validation and Verification at each level of stage
containment
• Developing critical knowledge and confidence in
the initial stages.
43.
Disadvantages
• Lot ofmoney and resources are required.
• Very rigid and less flexible.
• Suitable for long term / large projects.
• Ignorance of any of the test phases may lead to
poor quality.
• No software prototype available.
• Any modifications, then the test documents along
with requirement documents has to be updated.
44.
Iterative model
• Doesnot attempt to start with a full
specification of requirements.
• Begins by specifying and implementing just
part of the software
1. rough product
2. improve it in next iteration
3. until it’s finished
47.
Advantages
• In iterativemodel we are building and
improving the product step by step.
• In iterative model we can get the reliable user
feedback.
48.
Disadvantages
• Costly systemarchitecture or design issues
may arise because not all requirements are
gathered up front for the entire lifecycle
49.
use iterative model
•Requirements of the complete system are
clearly defined and understood. When the
project is big. Major requirements must be
defined; however, some details can evolve
with time.
Concurrent Development Model
A process model that combines the iterative
and parallel elements of any of the
prescriptive process models.
In this process model, all SE activities
(framework or umbrella activities) exist
concurrently but reside in different states.
53.
53
General Weaknesses ofEvolutionary
Process Models
1) Prototyping poses a problem to project planning because of the
uncertain number of iterations required to construct the product
2) Evolutionary software processes do not establish the maximum speed
of the evolution
• If too fast, the process will fall into chaos
• If too slow, productivity could be affected
3) Software processes should focus first on flexibility and extensibility, and
second on high quality
• We should prioritize the speed of the development over zero defects
• Extending the development in order to reach higher quality could result in
late delivery
54.
Conclusion
Different Process modelhave their own pros
and cons
According to the requirement the appropriate
software model we can use
To choose any software model for the project
must understand the all model well
55.
References
Software Engineering:A Practitioner's Approach, 7/e
Roger S Pressman, R. S. Pressman & Associates, Inc.
http://www.tutorialspoint.com/sdlc/sdlc_overview.htm
http://www.cs.iit.edu/~cs561/cs487/lifecycle/rm.html
http://www.sakshieducation.com/Story.aspx?nid=9483
2