SE-Process Models PDF
SE-Process Models PDF
SE-Process Models PDF
ENGINEERING
SOFTWARE: Software consists of Programs, Documentation of any part of the
program and Operating Procedures to setup and operate the software system.
SOFTWARE CHARACTERISTICS
3. Reusability of components.
4. Software is flexible.
A life cycle model represents all the activities required to make a software product transit
through its life cycle phases. It also captures the order in which these activities are to be
undertaken.
Different life cycle models may map the basic development activities to phases in different
ways. Thus, no matter which life cycle model is followed, the basic activities are included in
all life cycle models though the activities may be carried out in different orders in different life
cycle models.
1. WATERFALL MODEL (also known as LINEAR SEQUENTIAL MODEL)
Feasibility study - The main aim of feasibility study is to determine whether it would
be financially and technically feasible to develop the product.
Requirements analysis and specification: - The aim of the requirements analysis and
specification phase is to understand the exact requirements of the customer and to
document them properly. This phase consists of two distinct activities, namely
• Requirements gathering and analysis
• Requirements specification
The goal of the requirements gathering activity is to collect all relevant information
from the customer regarding the product to be developed. This is done to clearly
understand the customer requirements so that incompleteness and inconsistencies are
removed.
The requirements analysis activity is begun by collecting all relevant data regarding the
product to be developed from the users of the product and from the customer through
interviews and discussions. And then the requirements are written in the document
known as SRS (Software Requirement Specification).
Design: - The goal of the design phase is to transform the requirements specified in the
SRS document into a structure that is suitable for implementation in some programming
language. In technical terms, during the design phase the software architecture is
derived from the SRS document.
Coding and unit testing: - The purpose of the coding phase (sometimes called the
implementation phase) of software development is to translate the software design into
source code. Each component of the design is implemented as a program module. It
involves testing each module in isolation as this is the most efficient way to debug the
errors identified at this stage.
Maintenance: -Maintenance of a typical software product requires much more than the
effort necessary to develop the product itself.
3. PROTOTYPING MODEL
4. EVOLUTIONARY MODEL
In this model firstly a simple working model is built. Subsequently it undergoes
functional improvements & new functions are added till the desired system is built.
Applications:
Large projects where you can easily find modules for incremental implementation.
Often used when the customer wants to start using the core features rather than waiting
for the full software.
Advantages:
• User gets a chance to experiment partially developed system
• Reduce the error because the core modules get tested thoroughly.
Disadvantages:
• It is difficult to divide the problem into several versions that would be acceptable
to the customer which can be incrementally implemented & delivered.
This model was introduced by IBM in 1980. It involves active participation of the user
or the customer throughout the process.
The process starts by building a rapid prototype and it is given to the user for the
evaluation. The user then provides feedback and then the prototype is refined.
Cut over phase incorporates testing by the user , installation of the system and user
training.