SlideShare a Scribd company logo
Software Engineering:
Chapter 3
1 D.Balaganesh Lincoln university College
Prescriptive Models
2
 Prescriptive process models advocate an orderly approach to software
engineering
That leads to a few questions …
 If prescriptive process models strive for structure and order, are they
inappropriate for a software world that thrives on change?
 Yet, if we reject traditional process models (and the order they imply) and
replace them with something less structured, do we make it impossible to
achieve coordination and coherence in software work?
D.Balaganesh Lincoln university College
SDLC Model
D.Balaganesh LINCOLN UNIVERSITY
COLLGE3
A framework that describes the activities performed at each stage of a
software development project.
Waterfall Model
Requirements – defines needed
information, function, behavior,
performance and interfaces.
Design – data structures, software
architecture, interface representations,
algorithmic details.
Implementation – source code,
database, user documentation, testing.
D.Balaganesh LINCOLN
UNIVERSITY COLLGE 4
Waterfall Model
5
D.Balaganesh LINCOLN
UNIVERSITY COLLGE
Waterfall Model
Test – check if all code modules work
together and if the system as a whole
behaves as per the specifications.
Installation – deployment of system,
user-training.
Maintenance – bug fixes, added
functionality (an on-going process).
D.Balaganesh LINCOLN
UNIVERSITY COLLGE 6
Waterfall Strengths
D.Balaganesh LINCOLN UNIVERSITY
COLLGE7
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Waterfall Deficiencies
D.Balaganesh LINCOLN UNIVERSITY
COLLGE8
All requirements must be known upfront
Deliverables created for each phase are considered frozen –
inhibits flexibility
Does not reflect problem-solving nature of software
development – iterations of phases
Integration is one big bang at the end
Little opportunity for customer to preview the system (until
it may be too late)
When to use the Waterfall Model
D.Balaganesh LINCOLN UNIVERSITY
COLLGE9
Requirements are very well known
When it is possible to produce a stable design
E.g. a new version of an existing product
E.g. porting an existing product to a new platform.
Spiral SDLC Model
Adds risk analysis, and 4gl
RAD prototyping to the
waterfall model
Each cycle involves the
same sequence of steps as
the waterfall process model
D.Balaganesh LINCOLN
UNIVERSITY COLLGE 10
Spiral Quadrant
Determine objectives, alternatives and constraints
D.Balaganesh LINCOLN UNIVERSITY
COLLGE11
Objectives: functionality, performance, hardware/software interface,
critical success factors, etc.
Alternatives: build, reuse, buy, sub-contract, etc.
Constraints: cost, schedule, man-power, experience etc.
Spiral Quadrant
Evaluate alternatives, identify and resolve risks
D.Balaganesh LINCOLN UNIVERSITY
COLLGE12
Study alternatives relative to objectives and constraints
Identify risks (lack of experience, new technology, tight
schedules, etc.)
Resolve risks
Spiral Quadrant
Develop next-level product
D.Balaganesh LINCOLN UNIVERSITY
COLLGE13
Typical activites:
Create a design
Review design
Develop code
Inspect code
Test product
Spiral Quadrant
Plan next phase
D.Balaganesh LINCOLN UNIVERSITY
COLLGE14
Typical activities
Develop project plan
Develop a test plan
Develop an installation plan
Spiral Model Strengths
D.Balaganesh LINCOLN UNIVERSITY
COLLGE15
Provides early indication of insurmountable risks,
without much cost
Users see the system early because of rapid prototyping
tools
Critical high-risk functions are developed first
Users can be closely tied to all lifecycle steps
Early and frequent feedback from users
Spiral Model Weaknesses
D.Balaganesh LINCOLN UNIVERSITY
COLLGE16
Time spent for evaluating risks too large for small or low-
risk projects
Time spent planning, resetting objectives, doing risk
analysis and prototyping may be excessive
The model is complex
Risk assessment expertise is required
Spiral may continue indefinitely
Developers must be reassigned during non-development
phase activities
When to use Spiral Model
D.Balaganesh LINCOLN UNIVERSITY
COLLGE17
When creation of a prototype is appropriate
When costs and risk evaluation is important
For medium to high-risk projects
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected
Tailored SDLC Models
D.Balaganesh LINCOLN UNIVERSITY
COLLGE18
No single model fits all projects
If there is no suitable model for a particular project,
pick a model that comes close and modify it for your
needs.
If project should consider risk but complete spiral model is too
much – start with spiral and simplify it
If project should be delivered in increments but there are
serious reliability issues – combine incremental model with the
V-shaped model
Each team must pick or customize a SDLC model to fit
its project
The Waterfall Model
D.Balaganesh Lincoln university College19
Communicat ion
Planning
Modeling
Const ruct ion
Deployment
analysis
design
code
t est
project init iat ion
requirement gat hering estimating
scheduling
tracking
delivery
support
f eedback
The Incremental Model
D.Balaganesh Lincoln university College20
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy s is
des ign c ode
t es t
increment # 1
increment # 2
delivery of
1st increment
delivery of
2nd increment
delivery of
nt h increment
increment # n
project calendar time
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy sis
des ign c ode
t es t
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy s is
des ign
c ode
t es t
The RAD Model
D.Balaganesh Lincoln university College21
Communicat ion
Planning
Modeling
business modeling
dat a modeling
process modeling
Const ruct ion
component reuse
aut omat ic code
generat ion
t est ing
Deployment
60 - 90 days
Team # 1
Modeling
business m odeling
dat a m odeling
process m odeling
Const ruct ion
com ponent reuse
aut om at ic code
generat ion
t est ing
M o d e lin g
business m odeling
data m odeling
process m odeling
Co n st ru ct io n
com ponent reuse
autom atic code
generation
testing
Team # 2
Team # n
int egrat ion
delivery
feedback
Evolutionary Models: Prototyping
D.Balaganesh Lincoln university College22
Communicat ion
Quick plan
Const ruct ion
of
prot ot ype
Mode ling
Quick de sign
Delivery
& Feedback
Deployment
communication
Quick
plan
Modeling
Quick design
Construction
of prototype
Deployment
delivery &
feedback
Component Assembly Model
D.Balaganesh Lincoln university College23
Identify
candidate
components
Look up
components
in library
Available?
Extract
components
Build
components
Construct
System
yes
no
Component Assembly
Characteristics
D.Balaganesh Lincoln university College24
Use of object-oriented technology
Components - classes that encapsulate both data and
algorithms
Components developed to be reusable
Paradigm similar to spiral model, but engineering activity
involves components
System produced by assembling the correct components
Fourth Generation Techniques
(4GT)
D.Balaganesh Lincoln university College25
"Design"
Strategy
Testing
Requirements
gathering
Implementation
using 4GL
4GT Characteristics
D.Balaganesh Lincoln university College26
Use of software tools that allow software engineer to specify
s/w characteristics at higher level
The tools generate codes based on specification
More time in design and testing - increase productivity
Tools may not be easy to use, codes generated may not be
efficient
Other Process Models
D.Balaganesh Lincoln university College27
 Component assembly model—the process to apply when reuse is a
development objective
 Concurrent process model—recognizes that different part of the project
will be at different places in the process
 Formal methods—the process to apply when a mathematical specification is
to be developed
 Cleanroom software engineering—emphasizes error detection before
testing
Evolutionary Models: Concurrent
D.Balaganesh Lincoln university College28
Under review
Baselined
Done
Under
revision
Await ing
changes
Under
development
none
Modeling act ivit y
represents the state
of a software engineering
activity or task
Still Other Process Models
D.Balaganesh Lincoln university College29
Component based development—the process to apply when
reuse is a development objective
Formal methods—emphasizes the mathematical specification of
requirements
AOSD—provides a process and methodological approach for
defining, specifying, designing, and constructing aspects
Unified Process—a “use-case driven, architecture-centric,
iterative and incremental” software process closely aligned with
the Unified Modeling Language (UML)
Conclusion
D.Balaganesh Lincoln university College30
The paradigm used for development of software depends on a
number of factors
People - staff & users
Software product
Tools available
Environment
Existing models makes development process clearer, but they
can be evolved to become new paradigms
The Unified Process (UP)
D.Balaganesh Lincoln university College31
inceptioninception
soft ware increment
Release
Incept ion
Elaborat ion
const ruct ion
t ransit ion
product ion
inception
elaboration
UP Phases
D.Balaganesh Lincoln university College32
Inception Elaboration Construction Transition Production
UP Phases
Workflows
Requirements
Analysis
Design
Implementation
Test
Iterations #1 #2 #n-1 #n
Support
UP Work Products
D.Balaganesh Lincoln university College33
Inception phase
Elaboration phase
Construction phase
Transition phase
Vision document
Init ial use-case model
Init ial project glossary
Init ial business case
Init ial risk assessment .
Project plan,
phases and it erat ions.
Business model,
if necessary.
One or more prot ot ypes
I nc e pt i o
n
Use-case model
Supplement ary requirement s
including non-funct ional
Analysis model
Soft ware archit ect ure
Descript ion.
Execut able archit ect ural
prot ot ype.
Preliminary design model
Revised risk list
Project plan including
it erat ion plan
adapt ed workflows
milest ones
t echnical work product s
Preliminary user manual
Design model
Soft ware component s
Int egrat ed soft ware
increment
Test plan and procedure
Test cases
Support document at ion
user manuals
inst allat ion manuals
descript ion of current
increment
Delivered soft ware increment
Bet a t est report s
General user feedback

More Related Content

What's hot

Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
Umar Farooq
 
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
university of education,Lahore
 
Checkpoints of the Process
Checkpoints of the ProcessCheckpoints of the Process
Checkpoints of the Process
Munazza-Mah-Jabeen
 
Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
Uzair Akram
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Savyasachi14
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Vishal Singh
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
Md Mamunur Rashid
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Function Points
Function PointsFunction Points
Function Points
LuxoftAgilePractice
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
Kanchana Devi
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
meena466141
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Function Point Analysis: An Overview
Function Point Analysis: An OverviewFunction Point Analysis: An Overview
Function Point Analysis: An Overview
DCG Software Value
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
Inocentshuja Ahmad
 
Prototype model of SDLC
Prototype model of SDLCPrototype model of SDLC
Prototype model of SDLC
Kumar Sethi
 

What's hot (20)

Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Checkpoints of the Process
Checkpoints of the ProcessCheckpoints of the Process
Checkpoints of the Process
 
Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Function Points
Function PointsFunction Points
Function Points
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Function Point Analysis: An Overview
Function Point Analysis: An OverviewFunction Point Analysis: An Overview
Function Point Analysis: An Overview
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Prototype model of SDLC
Prototype model of SDLCPrototype model of SDLC
Prototype model of SDLC
 

Viewers also liked

Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
Asifuzzaman Hridoy
 
Software ee1
Software ee1Software ee1
Software ee1
Aman Adhikari
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniques
Shruti Kunwar
 
Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process modelf' yagami
 
Tecnicas de 4th generacion
Tecnicas de 4th generacionTecnicas de 4th generacion
Tecnicas de 4th generacionclaudiappaez
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systemsMarco Brambilla
 
Veeru sdlc ppt
Veeru sdlc pptVeeru sdlc ppt
Veeru sdlc ppt
sarala paladugu
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
Aman Adhikari
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Real-Time Innovations (RTI)
 
4G Fourth generation
4G Fourth generation 4G Fourth generation
4G Fourth generation
Deep Mehta
 
L12 Concurrent Programming
L12 Concurrent ProgrammingL12 Concurrent Programming
L12 Concurrent Programming
Ólafur Andri Ragnarsson
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
Eelco Visser
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Marco Brambilla
 
962 sech04
962 sech04962 sech04
962 sech04aldwal
 
Concurrency at the Database Layer
Concurrency at the Database Layer Concurrency at the Database Layer
Concurrency at the Database Layer
mcwilson1
 
Svetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov
 
Comparison of Software Engineering Models
Comparison of Software Engineering  ModelsComparison of Software Engineering  Models
Comparison of Software Engineering Modelstahir iqbal
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
Reddhi Basu
 

Viewers also liked (20)

Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
 
Software ee1
Software ee1Software ee1
Software ee1
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniques
 
Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process model
 
Tecnicas de 4th generacion
Tecnicas de 4th generacionTecnicas de 4th generacion
Tecnicas de 4th generacion
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systems
 
SDLC MODELS PPT
SDLC MODELS PPTSDLC MODELS PPT
SDLC MODELS PPT
 
Veeru sdlc ppt
Veeru sdlc pptVeeru sdlc ppt
Veeru sdlc ppt
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
 
4G Fourth generation
4G Fourth generation 4G Fourth generation
4G Fourth generation
 
L12 Concurrent Programming
L12 Concurrent ProgrammingL12 Concurrent Programming
L12 Concurrent Programming
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
 
962 sech04
962 sech04962 sech04
962 sech04
 
Concurrency at the Database Layer
Concurrency at the Database Layer Concurrency at the Database Layer
Concurrency at the Database Layer
 
Svetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov - Database Transactions
Svetlin Nakov - Database Transactions
 
Comparison of Software Engineering Models
Comparison of Software Engineering  ModelsComparison of Software Engineering  Models
Comparison of Software Engineering Models
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
 

Similar to Ch03-Software Engineering Model

System Development
System  DevelopmentSystem  Development
System Development
Sharad Patel
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
LPK Any Komputer
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
KanchanPatil34
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
KENNEDYDONATO1
 
Unit 2
Unit 2Unit 2
Unit 2
Azhar Shaik
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
BinyamBekele3
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
HaiderAli252366
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
MsRAMYACSE
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
IrtazaAfzal3
 
Software lifecycle lodhi (1)
Software lifecycle   lodhi (1)Software lifecycle   lodhi (1)
Software lifecycle lodhi (1)Nitesh Nayal
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
Atamjitsingh92
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
J.T.A.JONES
 
Sdlc overview
Sdlc overviewSdlc overview
Sdlc overview
heripra
 
Software process model
Software process modelSoftware process model
Software process model
Muhammad Yousuf Abdul Qadir
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptx
aryanchauhan040301
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
Ahsan Rahim
 

Similar to Ch03-Software Engineering Model (20)

System Development
System  DevelopmentSystem  Development
System Development
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
Unit 2
Unit 2Unit 2
Unit 2
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Software lifecycle lodhi (1)
Software lifecycle   lodhi (1)Software lifecycle   lodhi (1)
Software lifecycle lodhi (1)
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Sdlc overview
Sdlc overviewSdlc overview
Sdlc overview
 
Software process model
Software process modelSoftware process model
Software process model
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptx
 
Sdlc
SdlcSdlc
Sdlc
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 

More from Bala Ganesh

DDL,DML,1stNF
DDL,DML,1stNFDDL,DML,1stNF
DDL,DML,1stNF
Bala Ganesh
 
Dbms chapter viii
Dbms chapter viiiDbms chapter viii
Dbms chapter viii
Bala Ganesh
 
Dbms chapter vii
Dbms chapter viiDbms chapter vii
Dbms chapter vii
Bala Ganesh
 
Dbms chapter iii
Dbms chapter iiiDbms chapter iii
Dbms chapter iiiBala Ganesh
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROMBala Ganesh
 
Chap iii-Logic Gates
Chap iii-Logic GatesChap iii-Logic Gates
Chap iii-Logic GatesBala Ganesh
 
Chap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeChap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeBala Ganesh
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
Software testing
Software testingSoftware testing
Software testingBala Ganesh
 

More from Bala Ganesh (20)

DDL,DML,1stNF
DDL,DML,1stNFDDL,DML,1stNF
DDL,DML,1stNF
 
sfdfds
sfdfdssfdfds
sfdfds
 
Dbms chapter viii
Dbms chapter viiiDbms chapter viii
Dbms chapter viii
 
Dbms chapter vii
Dbms chapter viiDbms chapter vii
Dbms chapter vii
 
Dbms chapter v
Dbms chapter vDbms chapter v
Dbms chapter v
 
Dbms chapter iv
Dbms chapter ivDbms chapter iv
Dbms chapter iv
 
Dbms chapter iii
Dbms chapter iiiDbms chapter iii
Dbms chapter iii
 
Dmbs chapter vi
Dmbs chapter viDmbs chapter vi
Dmbs chapter vi
 
Dbms chapter ii
Dbms chapter iiDbms chapter ii
Dbms chapter ii
 
Dbms chap i
Dbms chap iDbms chap i
Dbms chap i
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROM
 
karnaugh maps
karnaugh mapskarnaugh maps
karnaugh maps
 
Chap iii-Logic Gates
Chap iii-Logic GatesChap iii-Logic Gates
Chap iii-Logic Gates
 
Chap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeChap ii.BCD code,Gray code
Chap ii.BCD code,Gray code
 
DEL-244Chep i
DEL-244Chep iDEL-244Chep i
DEL-244Chep i
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Software testing
Software testingSoftware testing
Software testing
 
Design
DesignDesign
Design
 
Comp 107 cep 8
Comp 107 cep 8Comp 107 cep 8
Comp 107 cep 8
 
Comp 107 cep 7
Comp 107 cep 7Comp 107 cep 7
Comp 107 cep 7
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

Ch03-Software Engineering Model

  • 1. Software Engineering: Chapter 3 1 D.Balaganesh Lincoln university College
  • 2. Prescriptive Models 2  Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions …  If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change?  Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work? D.Balaganesh Lincoln university College
  • 3. SDLC Model D.Balaganesh LINCOLN UNIVERSITY COLLGE3 A framework that describes the activities performed at each stage of a software development project.
  • 4. Waterfall Model Requirements – defines needed information, function, behavior, performance and interfaces. Design – data structures, software architecture, interface representations, algorithmic details. Implementation – source code, database, user documentation, testing. D.Balaganesh LINCOLN UNIVERSITY COLLGE 4
  • 6. Waterfall Model Test – check if all code modules work together and if the system as a whole behaves as per the specifications. Installation – deployment of system, user-training. Maintenance – bug fixes, added functionality (an on-going process). D.Balaganesh LINCOLN UNIVERSITY COLLGE 6
  • 7. Waterfall Strengths D.Balaganesh LINCOLN UNIVERSITY COLLGE7 Easy to understand, easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track)
  • 8. Waterfall Deficiencies D.Balaganesh LINCOLN UNIVERSITY COLLGE8 All requirements must be known upfront Deliverables created for each phase are considered frozen – inhibits flexibility Does not reflect problem-solving nature of software development – iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)
  • 9. When to use the Waterfall Model D.Balaganesh LINCOLN UNIVERSITY COLLGE9 Requirements are very well known When it is possible to produce a stable design E.g. a new version of an existing product E.g. porting an existing product to a new platform.
  • 10. Spiral SDLC Model Adds risk analysis, and 4gl RAD prototyping to the waterfall model Each cycle involves the same sequence of steps as the waterfall process model D.Balaganesh LINCOLN UNIVERSITY COLLGE 10
  • 11. Spiral Quadrant Determine objectives, alternatives and constraints D.Balaganesh LINCOLN UNIVERSITY COLLGE11 Objectives: functionality, performance, hardware/software interface, critical success factors, etc. Alternatives: build, reuse, buy, sub-contract, etc. Constraints: cost, schedule, man-power, experience etc.
  • 12. Spiral Quadrant Evaluate alternatives, identify and resolve risks D.Balaganesh LINCOLN UNIVERSITY COLLGE12 Study alternatives relative to objectives and constraints Identify risks (lack of experience, new technology, tight schedules, etc.) Resolve risks
  • 13. Spiral Quadrant Develop next-level product D.Balaganesh LINCOLN UNIVERSITY COLLGE13 Typical activites: Create a design Review design Develop code Inspect code Test product
  • 14. Spiral Quadrant Plan next phase D.Balaganesh LINCOLN UNIVERSITY COLLGE14 Typical activities Develop project plan Develop a test plan Develop an installation plan
  • 15. Spiral Model Strengths D.Balaganesh LINCOLN UNIVERSITY COLLGE15 Provides early indication of insurmountable risks, without much cost Users see the system early because of rapid prototyping tools Critical high-risk functions are developed first Users can be closely tied to all lifecycle steps Early and frequent feedback from users
  • 16. Spiral Model Weaknesses D.Balaganesh LINCOLN UNIVERSITY COLLGE16 Time spent for evaluating risks too large for small or low- risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely Developers must be reassigned during non-development phase activities
  • 17. When to use Spiral Model D.Balaganesh LINCOLN UNIVERSITY COLLGE17 When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Users are unsure of their needs Requirements are complex New product line Significant changes are expected
  • 18. Tailored SDLC Models D.Balaganesh LINCOLN UNIVERSITY COLLGE18 No single model fits all projects If there is no suitable model for a particular project, pick a model that comes close and modify it for your needs. If project should consider risk but complete spiral model is too much – start with spiral and simplify it If project should be delivered in increments but there are serious reliability issues – combine incremental model with the V-shaped model Each team must pick or customize a SDLC model to fit its project
  • 19. The Waterfall Model D.Balaganesh Lincoln university College19 Communicat ion Planning Modeling Const ruct ion Deployment analysis design code t est project init iat ion requirement gat hering estimating scheduling tracking delivery support f eedback
  • 20. The Incremental Model D.Balaganesh Lincoln university College20 C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analy s is des ign c ode t es t increment # 1 increment # 2 delivery of 1st increment delivery of 2nd increment delivery of nt h increment increment # n project calendar time C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analy sis des ign c ode t es t C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analy s is des ign c ode t es t
  • 21. The RAD Model D.Balaganesh Lincoln university College21 Communicat ion Planning Modeling business modeling dat a modeling process modeling Const ruct ion component reuse aut omat ic code generat ion t est ing Deployment 60 - 90 days Team # 1 Modeling business m odeling dat a m odeling process m odeling Const ruct ion com ponent reuse aut om at ic code generat ion t est ing M o d e lin g business m odeling data m odeling process m odeling Co n st ru ct io n com ponent reuse autom atic code generation testing Team # 2 Team # n int egrat ion delivery feedback
  • 22. Evolutionary Models: Prototyping D.Balaganesh Lincoln university College22 Communicat ion Quick plan Const ruct ion of prot ot ype Mode ling Quick de sign Delivery & Feedback Deployment communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback
  • 23. Component Assembly Model D.Balaganesh Lincoln university College23 Identify candidate components Look up components in library Available? Extract components Build components Construct System yes no
  • 24. Component Assembly Characteristics D.Balaganesh Lincoln university College24 Use of object-oriented technology Components - classes that encapsulate both data and algorithms Components developed to be reusable Paradigm similar to spiral model, but engineering activity involves components System produced by assembling the correct components
  • 25. Fourth Generation Techniques (4GT) D.Balaganesh Lincoln university College25 "Design" Strategy Testing Requirements gathering Implementation using 4GL
  • 26. 4GT Characteristics D.Balaganesh Lincoln university College26 Use of software tools that allow software engineer to specify s/w characteristics at higher level The tools generate codes based on specification More time in design and testing - increase productivity Tools may not be easy to use, codes generated may not be efficient
  • 27. Other Process Models D.Balaganesh Lincoln university College27  Component assembly model—the process to apply when reuse is a development objective  Concurrent process model—recognizes that different part of the project will be at different places in the process  Formal methods—the process to apply when a mathematical specification is to be developed  Cleanroom software engineering—emphasizes error detection before testing
  • 28. Evolutionary Models: Concurrent D.Balaganesh Lincoln university College28 Under review Baselined Done Under revision Await ing changes Under development none Modeling act ivit y represents the state of a software engineering activity or task
  • 29. Still Other Process Models D.Balaganesh Lincoln university College29 Component based development—the process to apply when reuse is a development objective Formal methods—emphasizes the mathematical specification of requirements AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects Unified Process—a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)
  • 30. Conclusion D.Balaganesh Lincoln university College30 The paradigm used for development of software depends on a number of factors People - staff & users Software product Tools available Environment Existing models makes development process clearer, but they can be evolved to become new paradigms
  • 31. The Unified Process (UP) D.Balaganesh Lincoln university College31 inceptioninception soft ware increment Release Incept ion Elaborat ion const ruct ion t ransit ion product ion inception elaboration
  • 32. UP Phases D.Balaganesh Lincoln university College32 Inception Elaboration Construction Transition Production UP Phases Workflows Requirements Analysis Design Implementation Test Iterations #1 #2 #n-1 #n Support
  • 33. UP Work Products D.Balaganesh Lincoln university College33 Inception phase Elaboration phase Construction phase Transition phase Vision document Init ial use-case model Init ial project glossary Init ial business case Init ial risk assessment . Project plan, phases and it erat ions. Business model, if necessary. One or more prot ot ypes I nc e pt i o n Use-case model Supplement ary requirement s including non-funct ional Analysis model Soft ware archit ect ure Descript ion. Execut able archit ect ural prot ot ype. Preliminary design model Revised risk list Project plan including it erat ion plan adapt ed workflows milest ones t echnical work product s Preliminary user manual Design model Soft ware component s Int egrat ed soft ware increment Test plan and procedure Test cases Support document at ion user manuals inst allat ion manuals descript ion of current increment Delivered soft ware increment Bet a t est report s General user feedback