You are on page 1of 20

ECM1005

Principles of Software
Engineering
Module – 1
Software Engineering Process and
Requirement Models
Acknowledgement
• The contents of this video lectures are prepared based on the
following resource:

• Roger Pressman, Software Engineering: A Practitioner's Approach, 7th Edition,


McGraw-Hill, 2010.
Outlines
• Prescriptive Process Models
• Waterfall Model
• V Model
• Incremental Model
• Evolutionary Models
• Prototyping Model
• Spiral Model
Prescriptive Software Model
• Prescriptive process models - Introduced to bring order to the chaos
existing in the software development process.
• Presents an orderly approach to software engineering.
• These models state a prescribed set of process elements and a
predictable process work flow.
Waterfall Model
• There are situations
• when the needs for a problem are clearly understood
• When the direction of process, flows from communication through
deployment in a relatively linear fashion.
• In these places, waterfall model can be employed for software
development.
• The waterfall model is also called as the ‘classic life cycle’
• It prescribes a systematic sequential approach to software
development.
Waterfall Model
Waterfall Model consists of the following key phases.
• Communication
• Planning
• Modelling
• Construction
• Deployment
Waterfall Model

Communication Planning Modelling Construction Deployment


V Model
• A variant of the waterfall model is called the V-model.
• It explains how verification and validation process are related with
earlier engineering actions.
V Model
V Model
• The Team initially moves down the left side of the V to improve the
problem requirements.
• Once code is developed, the team moves up the right side of the V
• It includes a series of tests that validate each of the models created as
the team moved down the left side.
Limitations of waterfall approach
• Real time projects not often follow the sequential flow. Hence, changes can
bring confusion as the project team proceeds.

• It is generally difficult for the customer to define all requirements explicitly at


the beginning.

• The customer need to wait patiently till the end of the project. A working
version of the Product will be available only at the late stages of the project.
Incremental Model
• This model delivers a series of releases, called increments.
• It progressively add more functionality to the final product when the
individual increments are released.
Incremental Model

Source: https://commons.wikimedia.org/wiki/File:Incremental_Model.jpg
Incremental Model
• Incremental Model is mainly useful when staffing is
unavailable/limited for a complete implementation with reference to
the business deadline that has been established for the project.
• The initial set of increments can be developed with limited resources..
• If the core product is well acknowledged, then additional resources
can be added to implement the next increment if required.
Evolutionary Model
• Software system generally evolve over time as the requirements
often get modified as development proceeds.
• Hence, a straight line approach to a complete end product is not
possible.
• This places a need for a process model that has been explicitly
designed to accommodate a product that evolved over time.
Evolutionary Model
• Evolutionary process models develop an progressively more complete
version of the software with each iteration.

• Evolutionary models are generally iterative in nature.

• Two commonly used approaches.


• Prototyping
• Spiral Model
Prototyping

Communication

Deployment,
Delivery and Quick Plan
Feedback

Construction of
Quick Design
prototype
Spiral Model
• Proposed by Barry Boehm
• It basically combines the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model
• It has two major striking features.
• The first one is a cyclic approach for incrementally growing a system’s degree of
definition and implementation while decreasing its degree of risk.
• The second one is a set of anchor point milestones for ensuring stakeholder
commitment to feasible and mutually satisfactory system solutions.
Spiral Model

https://commons.wikimedia.org/wiki/File:Spiral_model_(Boehm,_1988).png
Summary
• Prescriptive Process Models
• Classic Life Cycle Model and its variant
• Incremental Approach
• Evolutionary Development

You might also like