Short notes:
ü The linear
sequential model
ü The Rad
model
ü The
Prototyping model
ü The
Incremental model
ü The Spiral
model
ü The
Component assembly model
ü The
Concurrent development model
ü The Format
method model.
The linear sequential model
The
linear sequential model for software engineering sometimes called the “classic
life cycle” or the “waterfall model” the linear sequential model suggests a
systematic, sequential approach to software development that begins at the
system level and progresses through analysis, design coding, testing and
maintenance.
The RAD model:-
The
Rapid Application Development (RAD) is a linear sequential software development
process model that emphasizes n external short development cycle. The RAD model
is a “high speed” adoption of the linear sequential model in which rapid development
is achieved by using a component based construction approach. If requirements
are well understood and project scope is constrained the Rad process enables a
development team to “create a fully functional system” within very short time periods.
Used primarily for information systems applications.
The Prototyping model
The
goal of prototyping based development process is to counter the first
limitations of the water fall model. The basic idea here is that instead of
freezing the requirements before any designing or coding can proceed, a throw
way prototype is build to help understand the requirements. This prototype
development is based on the currently known requirements. Development of the prototype
undergoes design, coding and testing. Ideally, the prototype serves as a
mechanism for identify software requirements.
The Incremental model :-
The incremental
model combines elements of the linear sequential model with the iterative
philosophy of prototyping. The Incremental model applies linear sequences in a
staggered fashion. Each linear sequence produces a deliverable “increment” of
the software. The incremental model is like prototyping and other evolutionary
approaches, is interactive in nature. But unlike prototyping, the incremental
model focuses on the delivery of an operational product with each increment.
Incremental
development is particularly useful when staffing is unavailable for a complete
implementation by the business dealed that has been established for the
project.
The Spiral Model:-
The
spiral model originally proposed by Boehm, is an evolutionary software process
model that couples the interactive nature of the prototyping with the controlled
and systematic aspects of the linear sequential model. It provides the
potential for rapid development of incremental versions of the software. In the
spiral model, software is developed in a series of incremental releases. During
early iteration, the incremental release might be a paper or model or
prototype. During later iterations, increasingly more complete versions of the
engineered system are produced.
The
spiral model is divided in to a number of framework activities, also called
task regions.
The Component assembly model:-
The
Component assembly model incorporates many of the characteristics of the spiral
model. It is evolutionary in nature demanding the iterative approach to the
creation of software. The engineering activity begins with the identification
of candidate classes. This is accomplished by examining data that are to be
manipulated by the application and the algorithm that will be applied to
accomplish the manipulation. Corresponding data and algorithms are packaged
into a class. Classes are components created in post software projects are
stored in a class library or repository.
The Concurrent Development Model:-
The
Concurrent development model, sometimes called concurrent engineering. The
concurrent process model can be schematically as a series of major technical
activities, tasks and their associated states. The concurrent process model
defines a series of events that will trigger transitions from state to state
for each of the software engineering activities. The concurrent process model
is often used as paradigm for the development of client / server application. A
client/server system is composed of a functional component.
The Formal Methods Model:-
The
formal methods model encompasses a set of activities that lead to mathematical specification
of computer software. Formal method enables a software engineer to specify,
develop and verify a computer based system by applying a rigorous, mathematical
notation. A variation on this approach, called clean room software engineering
is currently applied by some software development organizations. When formal
methods are used during development, they provide a mechanism for eliminating
many of the problems that are difficult to overcome using other software
engineering parading. When formal methods are used during design, they serve as
a basis for program. Verification and therefore enable the software engineering
to discover ad correct errors that might otherwise go undetected.