Water Industry Process Automation & Control Monthly - April 2024
Software process
1. Software Process
Submitted To:
Pr. Bhavesh D. Chaudhari
(Assistant Professor)
AABMI,NAU
Submitted by:
Patel Amisha D.
M.Sc.(ICT in Agriculture)
Sem-II
3. Objectives
To study about software process
Discuss software process models
To know about activities involved in
process models
4. Process
“Process is a series of steps involving
activities,constarints and resources that
produce an intended output”
“Process is define as program in execution”
5. Software process
A structured set of activities required to
develop a software system
– Specification
– Analysis, design and implementation.
– Validation
– Evolution
8. Umbrella Activities
“Applied throughout the 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
10. Process Flow
Linear process 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
A software 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”
14. Prescriptive Process Model
Defines a 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
Oldest software 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
20. Waterfall Model
Problems
Real projects rarely 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
22. Incremental Model
All requirement 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
24. 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
Needs good 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 to use 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
RAD is 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
28.
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
Customer not clear
1. Initial requirement
2. Initial prototype
3. Test and Revise
4. Sign off(After customer satisfaction)
User Involvement active
p1
32. Prototype model
Follows an evolutionary 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
The customer 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
• Invented by Dr. Barry Boehm in 1988
• Follows an evolutionary approach
• similar to the incremental model,
36. 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 amount of 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 be a 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 to use 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.
41.
42. BENEFITS
• Fault multiplication can 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 of money 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
• Does not 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
45.
46.
47. Advantages
• In iterative model we are building and
improving the product step by step.
• In iterative model we can get the reliable user
feedback.
48. Disadvantages
• Costly system architecture 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.
52. 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 of Evolutionary
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 model have 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