Prcess Models
Prcess Models
1
Software process models
2
The waterfall model
3
Waterfall model phases
4
Waterfall model problems
5
IS The Classical WATERFALL MODEL USEFUL
AT ALL?
6
ITERATIVE WATERFALL MODEL
9
Increment Delivery not supported
Phase overlap not supported
Limited Customer Interaction
Heavy Weight
No support for risk Handling and Code Reuse
10
V SHAPE SDLC
MODEL
11
V SHAPE SDLC MODEL
12
DEVELOPMENT PHASES ARE CALLED VERIFICATION
TESTING PHASES ARE CALLED VALIDATION,.
13
The V-Model
14
Coping with changes In S/W DEVELOPMENT
15
Reducing the costs of rework
16
Software prototyping
17
PROTOTYPING
18
Benefits of prototyping
19
The process of prototype development
20
Throw-away prototypes
21
THROWAWAY PROTOPTYPE
22
EXPLORATORY PROTOPTYPE
24
PROTYPE IS CREATED WITH APPROPRATE
QUALITY MEASURES in THE EXPLORATORY
MODEL.
PROTOTYPES ARE DESIGNED IN EXTENDABE
MANNER SO THAT NEXT VERSION OF PROTOTYPE
IS IMPLEMENTED ON THE TOP OF THE PREVIOUS
ITSELF.
FINAL PRODUCT IS DELIVERED SOON AFTER THE
FINALIZATION OF SPECIFICATION
25
Incremental development
26
Incremental delivery
27
Incremental development and delivery
Incremental development
Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
Normal approach used in agile methods;
Evaluation done by user/customer proxy.
Incremental delivery
Deploy an increment for use by end-users;
More realistic evaluation about practical use of software;
Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
28
Incremental delivery
29
Incremental delivery advantages
30
Incremental development benefits
31
Incremental development problems
32
Incremental delivery problems
33
Reuse-oriented software engineering
Based on systematic reuse where systems are
integrated from existing components or COTS
(Commercial-off-the-shelf) systems.
Commercial-off-the-shelf (COTS) software and services are built and delivered usually
from a third party vendor. COTS can be purchased, leased or even licensed to the general
public .
Process stages
Component analysis;
Requirements modification;
System design with reuse;
Development and integration.
Reuse is now the standard approach for building many
types of business system
34
Reuse-oriented software engineering
35
Component analysis given the requirements specification , a search is made
for components to implement that specification.
Requirement modification during this stage the requirement are analyzed
using information about the component that have been discovered. They are
then modified to reflect the available component.
System design with reuse during this phase the framework of the system is
designed or an existing framework is reused. The designer take into account
the component that are used and organized the framework to cater for this.
Development and integration software that can not be externally procured is
developed and the components and COTS systems are integrated to create
a new system.
36
Types of software component that May be used
37
Boehm’s spiral model
38
Boehm’s spiral model of the software process
39
Spiral model sectors
40
Software Development Life Cycle Models
Strengths ,Weakness
&
Applicability
Waterfall Model
Strengths
It provides structure to technically weak or
inexperienced staff .
When correctly applied, defects may be found early,
when they are relatively inexpensive to fix.
It is easy to use as development proceeds one phase
after another.
Strengths
Strengths
The model encourages verification and validation of all
internal and external deliverables, not just the software
product.
The model encourages definition of the requirement
before designing the system , and it encourages
designing the software before building the components.
Strengths
Strengths
The end user can see the system requirements as they
are being gathered by the project team –customer gets
early interaction with the system .
The model allows for flexible design and
development ,including multiple iterations through life
cycle phases .
Strengths
Strength
Cycle time for the full product can be reduced due to the
use of powerful development tools
Fewer developers are required because the system is
developed by a project team familiar with the problem
domain .
The time –box approach mitigates cost and schedule
risk.
Strengths
Strength
Operational product is delivered first.
The divide and conquer rule allows the problem to be
broken down into manageable pieces.
Initial delivery cost is lowered.
Risk of failure and changing requirements is reduced.
Strengths
Strengths
The spiral model allows users to see the system early,
through the use of rapid prototyping in the development
life cycle.
It provides early indications of risk without much cost.
It splits a potentially large development effort into small
chunks.
Strengths
67
The Rational Unified Process
68
Phases in the Rational Unified Process
69
RUP phases
70
RUP iteration
In-phase iteration
Each phase is iterative with results developed incrementally.
Cross-phase iteration
As shown by the loop in the RUP model, the whole set of phases
may be enacted incrementally.
71
Static workflows in the Rational Unified Process
Workflow Description
Business modelling The business processes are modelled using business
use cases.
Requirements Actors who interact with the system are identified and
use cases are developed to model the system
requirements.
72
Static workflows in the Rational Unified Process
Workflow Description
Testing Testing is an iterative process that is carried out in conjunction
with implementation. System testing follows the completion of
the implementation.
Deployment A product release is created, distributed to users and installed in
their workplace.
Configuration and This supporting workflow managed changes to the system (see
change management Chapter 25).
Project management This supporting workflow manages the system development (see
Chapters 22 and 23).
Environment This workflow is concerned with making appropriate software
tools available to the software development team.
73
RUP good practice
74
Chapter 3 – Agile Software Development
75
Rapid software development
77
Agile manifesto
78
The principles of agile methods
Principle Description
Customer involvement Customers should be closely involved throughout the
development process. Their role is provide and prioritize new
system requirements and to evaluate the iterations of the
system.
Incremental delivery The software is developed in increments with the customer
specifying the requirements to be included in each increment.
People not process The skills of the development team should be recognized and
exploited. Team members should be left to develop their own
ways of working without prescriptive processes.
Embrace change Expect the system requirements to change and so design the
system to accommodate these changes.
Maintain simplicity Focus on simplicity in both the software being developed and
in the development process. Wherever possible, actively work
to eliminate complexity from the system.
79
Agile method applicability
80
Problems with agile methods
81
Agile methods and software maintenance
Plan-driven development
A plan-driven approach to software engineering is based around
separate development stages with the outputs to be produced at
each of these stages planned in advance.
Not necessarily waterfall model – plan-driven, incremental
development is possible
Iteration occurs within activities.
Agile development
Specification, design, implementation and testing are inter-
leaved and the outputs from the development process are
decided through a process of negotiation during the software
development process.
83
Plan-driven and agile specification
84
Most S/W Projects include practices From Plan Driven and Agile Approaches.
To Decide on the Balance between Plan Driven and agile Approach
We have to Answer following technical, human and organization Questions :
85
Technical, human, organizational issues
86
Are there cultural or organizational issues that may affect the
system development?
• Traditional engineering organizations have a culture of plan-based
development, as this is the norm in engineering.
How good are the designers and programmers in the
development team?
• It is sometimes argued that agile methods require higher skill levels
than plan-based approaches in which programmers simply translate
a detailed design into code
Is the system subject to external regulation?
• If a system has to be approved by an external regulator (e.g. the
FAA approve software that is critical to the operation of an aircraft)
then you will probably be required to produce detailed
documentation as part of the system safety case.
87
AGILE DEVELOPMENT MODELS
88
TWO Changes have been Noticed last two Decades
Development of Customized software
Increased Emphasis and Scope for Reuse.
89
Reasons WHY WF Model is Unsuitable as PER
Modern Software Pracices
Dynamic Reuirements
Cutomised Applications becomes POPULAR
W.F IS Heavy Weight Model
(two much emphasis on producing documentation &
usage of tools)
Customer Interaction is almost Nill
90
AGILE SOFTWARE DEVELOPMENT MODEL
91
Agility Principles - I
92
Agility Principles - II
93
Human Factors
94
Methodology OF Agile Models
95
The End Date Does not change ( Delivery Date is
considered Sacrosanct.
96
Essential Idea Behind Agile Models
97
Suited for Small Projects
Agile Models Emphasizes incremental Release of
working software as the Primary measure of Progress
Deploy Pair Programming
98
Limitations of Agile Method
99
AGILE SDLC MODELS
Crystal
Atern
Scrum
Extreme Programming(XP)
Lean Development
Unified Process
100
SPIRAL MODEL
101
Spiral Model
103
Spiral Model (CONT.)
Customer
Evaluation of Develop Next
Prototype Level of Product
104
Objective Setting (First Quadrant)
105
Risk Assessment and Reduction (Second Quadrant)
106
Spiral Model (CONT.)
107
Spiral Model as a meta model
108
Comparison of Different Life Cycle
Models
Iterative waterfall model
most widely used model.
But, suitable only for well-understood problems.
109
Comparison of Different Life Cycle
Models (CONT.)
110
Selecting An Appropriate Life cycle Model
for A Project
111
REFERNCES
112