Software Process
Model - A (software/system) process model is a description of
the sequence of activities carried out in an SE project, and the relative order
of these activities. These models
provide a basis for controlling various activities required to develop and
maintain the software. In addition, they help the software development team
in understanding the activities involved
in the project. There are hundreds of different process models to
choose from, e.g:
•waterfall,
•Build-and-fix
•spiral
•rapid
prototyping
•Evolutionary
•Incremental
By
changing the process model, we can improve and/or tradeoff:
•Development
speed (time to market)
•Product
quality
•Project
visibility
•Cost
overhead
•Risk
•Customer
relations
Normally,
a process model covers the entire lifetime of a product.
Advantages of Software Process
Model are:
Enabling Effective Communication: It helps in understanding and provides a specific
basis for process execution.
Facilitating process reuse: Process development is a time-consuming and
expensive activity. Thus, the software development team utilizes the existing
processes for different projects.
Effectiveness:
Process models can be used again and again; reusable processes provide an
effective means for implementing processes for software development.
Facilitating process management: Process models provide a framework for defining
process status criteria and measures for software development.
Every Software
development process model takes requirements as input and delivers products as
output. However, a process should detect defects in the phases in which they
occur. This requires verification and validation of the products after each and
every phase of the software development life cycle.
|
Process
Phase
|
Verification
and
Validation
|
. Input
output
Requirements Products
Phases
in Development Process
Verification is
the process of evaluating a system or its components for determining the
product developed at each phase of software development. IEEE defines
verification as “a process for determining whether the software products of an
activity fulfill the requirements or conditions imposed on them in the previous
activities.
Verification:
Are we building the right product?
Validation
is the process of evaluating the product at the end of each phase to check
whether the requirements are fulfilled or not. In addition, it is the process
of establishing a procedure and method, which performs according to the
intended outputs. IEEE defines Validation as “a process for determining whether
the requirements fulfills its specific intended use.
Validation: Are
we building the product right?
No comments:
Post a Comment