Process Model - Software Engineering
Process Model - Software Engineering
CHAPTER 2
PROCESS MODELS
Process framework
A process framework establishes the foundation for a complete software process by
identifying a small number of framework activities that are applicable to all software
projects, regardless of size or complexity. It also includes a set of umbrella activities that
are applicable across the entire software process.
1. Communication:
The software development starts with the communication between customer
and developer.
2. Planning:
It consists of complete estimation, scheduling for project development and
tracking.
3. Modeling:
• Modeling consists of complete requirement analysis and the design of the project
like algorithm, flowchart etc.
• The algorithm is the step-by-step solution of the problem and the flow chart shows
a complete flow diagram of a program.
• 4. Construction:
• 5. Deployment:
• Deployment step consists of delivering the product to the customer and take
feedback from them.
• If the customer wants some corrections or demands for the additional capabilities,
then the change is required for improvement in the quality of the software
PROCESS FLOW
PROCESS PATTERN
Process patterns can be defined as the set of activities, actions, work tasks or work products and
similar related behaviour followed in a software development life cycle.
Waterfall Model
• The Waterfall Model was the first Process Model to be introduced.
• It is also referred to as a linear-sequential life cycle model.
• It is very simple to understand and use.
• In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
Some situations where the use of Waterfall model is most appropriate are −
V-Model
• The V-model is an SDLC model where execution happens in a sequential
manner in a V-shape.
• It is also known as Verification and Validation model.
• The V-Model is an extension of the waterfall model and is based on the
association of a testing phase for each corresponding development stage.
• This means that for every single phase in the development cycle, there is a
directly associated testing phase.
• This is a highly-disciplined model and the next phase starts only after
completion of the previous phase.
Advantages of V-model:
Disadvantages of V-model:
• Very rigid and least flexible.
• Software is developed during the implementation phase, so no early prototypes
of the software are produced.
• If any changes happen in midway, then the test documents along with
requirement documents has to be updated.
Incremental model
• In incremental model the whole requirement is divided into various builds.
• Multiple development cycles take place here, making the life cycle a “multi-
waterfall” cycle.
• Cycles are divided up into smaller, more easily managed modules.
• Incremental model is a type of software development model like V-model,
Agile model etc.
Spiral model
• The spiral model is similar to the incremental model, with more emphasis
placed on risk analysis.
• The spiral model has four phases: Planning, Risk Analysis, Engineering and
Evaluation
• Its one of the software development models like Waterfall, Agile, V-Model.
• This Spiral model is a combination of iterative development process model
and sequential linear development model
Evolutionary prototyping
• Evolutionary prototyping is a software development method where the
developer or development team first constructs a prototype.
• Note that evolutionary prototyping is similar to incremental development
• Evolutionary prototyping is a lifecycle model in which the system is developed
in increments so that it can readily be modified in response to end-user and
customer feedback.
•
The advantages of the Prototyping Model are as follows −
The communication activity has completed in the first iteration and exits in the
awaiting changes state.
The modeling activity completed its initial communication and then go to the
underdevelopment state.
If the customer specifies the change in the requirement, then the modeling activity
moves from the under development state into the awaiting change state.
The concurrent process model activities moving from one state to another state.
It needs better communication between the team members. This may not be
achieved all the time.
.Formal Methods
IT EMPHASIZES THE MATHEMATICAL SPECIFICATION OF REQUIREMENTS.
AOSD
It provides a process and methodological approach for defining, specifying,
designing and construction aspects.
Unified Process.
▪ The Unified Software Development Process or Unified Process is a popular
iterative and incremental software development process framework.
▪ The best-known and extensively documented refinement of the Unified Process
is the Rational Unified Process (RUP).
▪ Other examples are OpenUP and Agile Unified Process
• It is use-case driven
• It is architecture-centric
• It is risk focused
• It is iterative and incremental
The PSP was created by Watts Humphrey.The personal software process is about making individual
engineers work to the best of their abilities.
PSP is a series of defined processes that allow software engineers to produce high-quality products on
time and within budget. PSP shows engineers how to: