➢ It is always advisable that to follow a software development process
model for building the software system in cost effective manner.
➢ A development process model encourages development in a systematic
and disciplined manner.
➢ Adherence to a software process development model is must for
professional software development.
➢ The software development process model depicts all process graphically
through which a software system passes through his life cycle.It is a
abstract representation of the real development process.
➢ It is also accompanied by textual description of all activities that needs
to be carried out during each phase.
The most important software development process model are:
a) Waterfall model
b) Incremental Development model
c) Evolutionary model
d) Agile method
e) RAD (Rapid Application Development)
f) Spiral model
g) RUP(Rational Unified Process)
h) Reuse based development
i) Flexible method
➢ Besides the above process model a company may use its own
developed life cycle model based on their requirements but it is
very important to follow a life cycle model for professional
software development.
➢ A new comer joining the system development must have a clear
idea about the process model which is being used for system
development.
➢ All the above life cycle models have some core activities which is
followed in every software development process. These are listed
below:
a) Feasibility Study: The main focus of feasibility study is to
determine whether it technically and economically feasible to
, develop the software. In this phase various alternatives to
approach the problems is discussed. Feasibility study is
normally carried out for those systems which have neither
developed earlier.
b) Requirement Analysis and specification: The goal of this phase
is to collect the requirements from client and document the
functional and non functional requirements(such as usability,
security, response time) without any ambiguity. At the end of
the phase all documented requirements are compiled in a
document known as SRS(Software requirement specification)
which is used for system validation after the delivery of system
at customer site.
c) Design: In this phase the requirements collected from the
customer is transformed it such a way that can be easily coded
and developed. Design activities are often divided into two
categories first is high level design which a big system is often
divided into different modules. The modules should display high
cohesion and low coupling. High cohesion is achieved by putting
all the related functionality in one module and low coupling is
achieved by less communication between modules.A example of
good design with high cohesion and low coupling should be:
M E commerce system
M1
M2 M3
Payment module cart module checkout
➢ For above example a ecommerce system the system is divided into
different modules such as payment module,cart page module and check
out page module . Modularisation also helps in resource planning.
➢ The outcome of high level design is called the program structure or
software architecture.