Software Process Model
Software Process Model
Informal
Requirements
Process
Product
Quality?
Uncertain /
Incomplete requirement
In the beginning
Problems
The assumption is that requirements can
be fully understood prior to development
Interaction with the customer occurs
only at the beginning (requirements)
and end (after delivery)
Unfortunately the assumption almost
never holds
Process as a "white box"
Informal
Requirements
Process
Product
feedback
Advantages
Reduce risks by improving visibility
Allow project changes as the project
progresses
based on feedback from the customer
Prescriptive Model
Prescriptive process models advocate an orderly approach to software
engineering
Organize framework activities in a certain order
Process framework activity with set of software engineering actions.
Each action in terms of a task set that identifies the work to be
accomplished to meet the goals.
The resultant process model should be adapted to accommodate the
nature of the specific project, people doing the work, and the work
environment.
Software engineer choose process framework that includes activities
like;
Communication
Planning
Modeling
Construction
Deployment
Prescriptive Model
Calling this model as “Prescribe”
because it recommend a set of
process elements, activities, action
task, work product & quality.
Each elements are inter related to
one another (called workflow).
Waterfall Model or Classic Life
Cycle
Waterfall Model or Classic Life
Cycle
Requirement Analysis and Definition: What - The systems services, constraints
and goals are defined by customers with system users.
Scheduling tracking -
Assessing progress against the project plan.
Require action to maintain schedule.
System and Software Design: How –It establishes and overall system
architecture. Software design involves fundamental system abstractions and
their relationships.
Integration and system testing: The individual program unit or programs are
integrated and tested as a complete system to ensure that the software
requirements have been met. After testing, the software system is delivered to
the customer.
Operation and Maintenance: Normally this is the longest phase of the software
life cycle. The system is installed and put into practical use. Maintenance involves
correcting errors which were not discovered in earlier stages of the life-cycle.
Limitations of the waterfall
model
The nature of the requirements will not change very much During
development; during evolution
The model implies that you should attempt to complete a given stage
before moving on to the next stage
Does not account for the fact that requirements constantly change.
It also means that customers can not use anything until the entire
system is complete.
The model implies that once the product is finished, everything else is
maintenance.
Surprises at the end are very expensive
Some teams sit ideal for other teams to finish
Therefore, this model is only appropriate when the requirements are well-
understood and changes will be fairly limited during the design process.
Problems:
1. Real projects are rarely follow the sequential model.
2. Difficult for the customer to state all the requirement explicitly.
3. Assumes patience from customer - working version of program will not
available until programs not getting change fully.
21
When to use the waterfall
model:
22
The V-Model
A variation of waterfall model
depicts the relationship of
quality assurance actions to
the actions associated with
communication, modeling and
early code construction
activates.
23
Advantages of V-model:
C- Communication
P - Planning
M – Modeling
C - Construction
D - Deployment
Problem Areas:
Customer cries foul and demand that “a few fixes” be applied to make
the prototype a working product, due to that software quality suffers as
a result.
Developer often makes implementation in order to get a prototype
working quickly without considering other factors in mind like OS,
Programming language, etc.
Customer and developer both must be agree that the prototype is built to
serve as a mechanism for defining requirement.
The Spiral
39
What is it?
The Spiral Development ( or Lifecycle)
Model is a systems development method
used in information technology.
It combines the features of the
prototyping model and the waterfall
model.
It is favored for large, expensive, and
complicated models.
40
Steps of the Spiral Model
1. Define the problem with as much detail
as possible by interviewing the client
and potential users of the system, as
well as, studying any existing system.
2. A preliminary design is created for the
new system.
3. A first prototype of the new system is
constructed from the preliminary
design and is a scaled down version of
the final product.
41
Steps of the Spiral Model
4. A second prototype is derived by the
following procedure
Evaluate the first prototype for
strengths, weaknesses and risks
Define the requirements of the 2nd
prototype
Plan and design the 2nd prototype
Construct and test the 2nd prototype
42
Steps of the Spiral Model
5. At this point the customer may
decide to scrap the whole project if
the risk is too high.
Development cost overruns
Operating-cost miscalculation
Other factors that might result in a
substandard product
43
Steps of the Spiral Model
6. Evaluate the current prototype in the
same way as the previous prototype
and create another one if needed
7. Iterate the proceeding steps until the
customer is satisfied that the current
prototype represents the final
product.
8. Construct the final system
44
Steps of the Spiral Model
9. The final system is thoroughly
evaluated and tested and routine
maintenance is carried out for the
life of the product.
45
Advantages
Estimates of the budget and schedule become
more realistic as work progresses because of the
questions that have been raised
Easier to cope with the changes inherent to
software development
Software engineers can start working on the
project earlier rather than wading through a
lengthy early design process.
Re-evaluation after each step allows changes in
user perspectives, technology advances, or
financial perspectives
Estimation of budget and schedule gets realistic
as the work progressses
46
Disadvantages
Estimates of budget and time are
harder to judge at the beginning of
the project since the requirements
evolve through the process
47
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 (research and
exploration)
48
Thank You