SWE211 Assignment
SWE211 Assignment
QUESTION
What are the sub process models we have?
ANSWER
1. Waterfall model
Classical waterfall model
Iterative waterfall model
2. Evolutionary development
Spiral model
Incremental model
Concurrent development model
WINWIN Spiral model
3. Component based software engineering
Enterprise JavaBeans (EJB) model
Component object model (COM)
NET model
X-MAN Component model
Common object request broker architecture (COBRA)
Waterfall model
Classical waterfall model
The classical Waterfall Model was the first Process Model. It is also known as a linear-
sequential life cycle model. It is very simple to understand and use.
Classical waterfall model is the earliest, best known and most commonly used methodology. It
is a sequential lifecycle that is simple to understand and use each phase has to be completed
finished before another start which means no overlapping is allowed.
In practice, it is not possible to strictly follow the classical waterfall model for software
development work. In this context, we can view the iterative waterfall model as making
necessary changes to the classical waterfall model so that it becomes applicable to practical
software development projects. In Iterative waterfall model, the feedback paths are provided
from every phase to its preceding phase. The feedback paths allow for correction of the errors
committed during a phase, as and when these are detected in a later phase. For example, if
during a testing a design error is identified, then the feedback path allows the design to be
reworked and the changes to be reflected in the design documents. However, observe that
there is no feedback path to the feasibility stage. This means that the feasibility study errors
cannot be corrected.
Spiral model
The spiral model, initially proposed by Boehm, is an evolutionary software process model that
couples the iterative feature of prototyping with the controlled and systematic aspects of the
linear sequential model. It implements the potential for rapid development of new versions of
the software. Using the spiral model, the software is developed in a series of incremental
releases. During the early iterations, the additional release may be a paper model or prototype.
During later iterations, more and more complete versions of the engineered system are
produced.
Incremental model
Concurrent model
Most of the successful software out there involves a series of phases of development, such as
requirements gathering and prototyping, that are put together to develop the software. These
phases are discrete and often performed concurrently. Often there is an intertwining between
the phases, which makes it inevitable to return to the earlier phases to make some changes
according to the results obtained in the later phases. This type of a model, in which multiple
phases are performed concurrently, can be coined as a concurrent model.
As a consequence, one of the central goals of Version 3.0 of the EJB specification is to make it
much easier to program an EJB, in particular by reducing the number of required
programming artifacts and introducing a set of EJB-specific metadata annotations that make
programming the bean file easier and more intuitive.
Another goal of the EJB 3.0 specification was to standardize the persistence framework and
reduce the complexity of the entity bean programming model and object-relational (O/R)
mapping model.