Generic Process Model
A process framework establishes the foundation for a complete software engineering
process by identifying a small number of framework activities that are applicable to all
software projects, regardless of their size or complexity.
The process framework encompasses a set of umbrella activities that are applicable across
the entire software process.
A generic process framework for software engineering encompasses five activities:
Communication :
Before any technical work can commence, it is critically important to communicate and collaborate
with the customer (and other stakeholders).
The intent is to understand stakeholders’ objectives for the project and to gather requirements that
help define software features and functions.
Planning :
Any complicated journey can be simplified if a map exists.
A software project is a complicated journey, and the planning activity creates a “map” that helps guide
the team as it makes the journey.
The map—called a software project plan—defines the software engineering work by describing the
technical tasks to be conducted, the risks that are likely, the resources that will be required, the work
products to be produced, and a work schedule.
A generic process framework for software engineering encompasses five activities:
Communication :
Before any technical work can commence, it is critically important to communicate and collaborate
with the customer (and other stakeholders).
The intent is to understand stakeholders’ objectives for the project and to gather requirements that
help define software features and functions.
Planning :
Any complicated journey can be simplified if a map exists.
A software project is a complicated journey, and the planning activity creates a “map” that helps guide
the team as it makes the journey.
The map—called a software project plan—defines the software engineering work by describing the
technical tasks to be conducted, the risks that are likely, the resources that will be required, the work
products to be produced, and a work schedule.
Modelling :
You create a “sketch” of the thing so that you’ll understand the big picture—what it will look like
architecturally, how the constituent parts fit together, and many other characteristics.
If required, you refine the sketch into greater and greater detail in an effort to better understand the
problem and how you’re going to solve it.
A software engineer does the same thing by creating models to better understand software
requirements and the design that will achieve those requirements.
Construction :
What you design must be built.
This activity combines code generation (either manual or automated) and the testing that is required
to uncover errors in the code.
A generic process framework for software engineering encompasses five activities:
Deployment :
The software (as a complete entity or as a partially completed increment) is delivered to the customer
who evaluates the delivered product and provides feedback based on the evaluation.
These five generic framework activities can be used during the development of small, simple
programs, the creation of Web applications, and for the engineering of large, complex
computer-based systems.
The details of the software process will be quite different in each case, but the framework activities
remain the same.
Each framework activity is populated by a set of software engineering actions.
Each software engineering action is defined by a task set that identifies:
The work tasks that are to be completed.
The work products that will be produced.
The quality assurance points that will be required.
The milestones that will be used to indicate progress.
Process Flow:
Process flow describes how the framework activities and the actions and tasks that occur within
each framework activity are organized with respect to sequence and time.
Process Flow:
Four types of Process flow:
Linear Flow :
A linear process flow executes each of the five framework activities in sequence, beginning with
communication and culminating with deployment.
Iterative Process Flow :
An iterative process flow repeats one or more of the activities before proceeding to the next.
Evolutionary Process Flow :
An evolutionary process flow executes the activities in a “circular” manner. Each circuit through
the five activities leads to a more complete version of the software.
Parallel Process Flow :
A parallel process flow executes one or more activities in parallel with other activities.
Software Development Life Cycle, SDLC for short, is a well-defined, structured sequence of stages in
software engineering to develop the intended software product.
SDLC provides a series of steps to be followed to design and develop a software product efficiently.
SDLC framework includes the following steps:
Waterfall Model:-
The waterfall model is also called as 'Linear sequential model' or 'Classic life cycle model'.
In this model, each phase is fully completed before the beginning of the next phase.
This model is used for the small projects.
In this model, feedback is taken after each phase to ensure that the project is on the right
path.
Testing part starts only after the development is complete.
Waterfall Model:-
Advantages of waterfall model
The waterfall model is simple and easy to understand, implement, and use.
All the requirements are known at the beginning of the project, hence it is easy to manage.
It avoids overlapping of phases because each phase is completed at once.
This model works for small projects because the requirements are understood very well.
This model is preferred for those projects where the quality is more important as compared
to the cost of the project.
Disadvantages of the waterfall model
1. This model is not good for complex and object oriented projects.
2. It is a poor model for long projects.
3. The problems with this model are uncovered, until the software testing.
4. The amount of risk is high.