SlideShare a Scribd company logo
1 of 39
SOFTWARE PROCESS
MODELS
SOFTWARE PROCESS MODEL
• To solve actual problems in industry ,the software team has to
incorporate a development strategy that encompasses the
process ,methods and tools and the generic phases
• This strategy is referred to as a process model or a software
engineering paradigm
• The process model for software engineering is chosen based
on the nature of the project and application, the methods and
tools to be used and the controls and the deliverables that are
required
SOFTWARE PROCESS MODEL
SOFTWARE PROCESS MODEL
SOFTWARE PROCESS MODEL
• The phases within phases of the problem
solving loop is given below:
• Status quo represents the current state of affairs.
• Problem definition identifies the specific problem to be solved
• Technical development solves the problem through the application
of technology
• Solution integration delivers the results(e.g.
documents,programs,data,new business function, new product)to
those who requested the solution
• The generic phases and steps are mapped into these stages.
Why software life cycle model?
• Software life cycle model: The descriptive and diagrammatic
representation of the software life cycle
• It represent all the activities performed on software product from
the inception to retirement
• It also depicts the order in which these activities are to be
undertaken
• More than one activity can be carried out in a single phase
• The primary advantage of adhering to a life cycle model is that it
encourages development of software in a systematic and
disciplined manner
• When a program is developed by a single programmer ,he has
the freedom to decide the exact steps through which he will
develop the program
Why software life cycle model?
• A life cycle model also defines the entry and exit criteria for every
phase
• A phase can begin only when the corresponding phase-entry criteria
are satisfied
• Also, a phase is considered to be complete only when the
corresponding exit criteria are satisfied
• But when a software is developed by a team it is necessary to have a
precise understanding among the team members as to when to do what.
• Otherwise it will lead to chaos and project failure
• A documented life cycle model prevents misinterpretations and also
helps in identifying inconsistencies ,redundancies and omissions in the
development process
Software life cycle model
• Software life cycle models:
• Linear Sequential
Model(Waterfall model)
• Prototyping Model
• Incremental model
• Spiral model
Linear Sequential Model
• Sometimes called classic life cycle or waterfall model
• Suggests a systematic ,sequential approach to software
development that begins at system level and progresses
through analysis, design, coding ,testing and support.
• The water fall model is illustrated as below.
Linear Sequential Model
• The classic life cycle - oldest and most widely used
paradigm
• Activities ‘flow’ from one phase to another
• In iterative waterfall model, if there are corrections,
return to a previous phase and ‘flow’ from there again
• Good for planning and well-defined/repeated projects
Iterative Linear Sequential Model
Linear Sequential Model
• Linear Sequential model encompasses the following
activities:
• System /information engineering and modeling
– Software is always a part of a larger system(or business)
– Work begins by establishing the requirements for all system
elements and allocating some subset of these requirements to
software
– System view is essential when software must interacts with
other elements such as hardware, people and databases.
– System engineering and analysis encompass requirements
gathering at the system level with a small amount of top design
and analysis
Linear Sequential Model
• Software requirements analysis
– This process is intensified and focused specifically on software
– To understand the nature of the programs to be built, the
software engineer(analyst) must understand the information
domain for the software as well as the required function,
behaviour, performance and interface
– Requirements for both the system and the software are
documented and reviewed with the customers
Linear Sequential Model
• Design
– Software design is a multistep process that focuses on four distinct
attributes of a program:
– Data structure
– Software architecture
– Interface representation
– Procedural(algorithmic) detail
– The design process translates requirements into a representation of the
software that can be assessed for quality before coding begins
– Deign is also documented and becomes part of software configuration.
Linear Sequential Model
• Code Generation
– The design must be translated into a machine –readable form.
– The code generation step performs this task
• Testing
– The testing process focuses on the logical internals of the software, ensuring that all
statements have been tested
– Also focuses on the functional externals i.e conducting tests to uncover errors and
ensure that defined input will produce actual results that agree with required results
• Maintenance/Support
– Software will undergo change after it is delivered to the
customer (except embedded software)
– Change will occur because of correction, adaptation or
enhancement.
– Software support/maintenance reapplies each of the preceding
phases to an existing program rather than a new one
Linear Sequential Model
• Advantage
– Simple model
– Works best when requirements of a problem are reasonably well understood
• Disadvantages
– Real projects rarely follow the sequential flow that the model proposes
– Changes can cause confusion as the project team proceeds
– It is often difficult for the customer to state all requirements explicitly
– The linear sequential model requires this and has difficulty accommodating the
natural uncertainty that exists at the beginning of many projects
– The customer must have patience.
– A working version of the programs will not be available until late in the project
time-span
– A major blunder ,if undetected until the working program is reviewed can be
disastrous
– Leads to “blocking states”
– Some project team members must wait for other members of the team to
complete dependent tasks
– It can cause delay
Prototyping model
• A customer defines a set of general objectives for software.
• But does not identify detailed input processing or output requirements.
• The developer may be unsure of the efficiency of an algorithm, the
adaptability of an OS or the form that a human/machine interaction should
take.
• In such cases a prototyping paradigm can be used.
• The prototyping model suggests that before development of the actual
software ,a working prototype of the system should be built first.
• A prototype is a toy implementation of a system, usually exhibiting limited
functional capabilities, low reliability and inefficient performance.
Prototyping model
• Several reasons for developing a prototype:
– To illustrate the input data formats ,messages and the interactive dialogues to
the customer
– It is a valuable mechanism for gaining better understandability of the customer
needs
– For many functionalities such as Graphical User Interface(GUI) part of a
system ,it is much easier for the user to form his opinion by experimenting with
a working model rather than just trying to imagine the working of a
hypothetical system
– It helps to critically examine the technical issues associated with the product
development
• E.g. the design decisions depends on issues like the response time of hardware controller or
efficiency of the sorting algorithm which can be resolved using prototype
– It is impossible to “get it right” the first time and we must plan to throw away
the first product in-order to develop a good product.
Prototyping model
Prototyping model
• The model starts with an initial requirements gathering phase.
• A quick design is carried out and the prototype model is built using several
shortcuts.
• The shortcuts might involve using inefficient, inaccurate or dummy functions
– E.g. a function may produce the desired by using a table look-up rather
than performing actual computations
• The prototype product usually turns out to be a very crude version of the
actual system
• The developed prototype is submitted to the customer for his evaluation
• Based on the user feedback ,the requirements are refined.
• This cycle continues until the user approves the prototype
• The actual system is then developed using the iterative or classical waterfall
Prototyping model
• Disadvantage
– In prototyping model of software development ,the requirement analysis and
specification phase become redundant
• Advantages
– The code for the prototype is usually thrown away ,however the experience
gathered from developing the prototype helps a great deal in developing the
actual system
– Therefore ,even though the construction of a working prototype model might
involve additional costs, for systems with ambiguous user requirements and
unresolved technical issues ,the overall development cost will be lower than
that of an equivalent system developed using the waterfall model .
– Since the user requirements are properly defined and technical issues are
properly and satisfactorily resolved as a result of experimenting with the
prototype model, it minimizes change requests and redesign cost after the
system is delivered to the customer
Evolutionary Model
• Also known as successive version model.
• In this model, the system is first broken down into several modules or
functional units that can be incrementally implemented and delivered.
• This model is iterative.
• Used to develop increasingly more complete versions of the software.
– E.g. suppose A,B,C are modules of a software product that are
incrementally developed a delivered
Evolutionary Model
•The developers first develop the core module of the system.
•The initial product skeleton is then refined into increasing levels of
capability by adding new functionalities in successive versions.
•Each version of the product is a functioning system capable of
performing some useful work.
Evolutionary Model
• Advantages
– The user of an evolutionary model gets a chance to experiment
with a partially developed system much before the actual fully
developed version is released .
– Thus this model facilitates to elicit the exact requirements of the
user for incorporating into the fully developed system.
– Also the core modules get tested thoroughly ,thereby reducing
chances of errors in the final product
• Disadvantages
– In most practical problems ,it is difficult to subdivide the problem into
several functional units that can be incrementally implemented and
delivered.
– Therefore ,this model is useful only for large problems, where it is
easier to identify modules for incremental implementation.
Evolutionary Model
Incremental model
Spiral model
Incremental model
• The incremental model combines elements of the linear sequential
model applied with the iterative philosophy of prototyping.
• It uses the linear sequences in a staggered fashion as calendar time
progresses.
• Each line sequence produces a deliverable “increment “ of the
software.
• Incremental model is illustrated below.
Incremental model
Incremental model
• When an incremental model is used, the first increment is often a core product.
• i.e. basic requirements are addressed, but many supplementary features remain
undelivered.
• The core product is used by the customer or undergoes detailed review.
• As a result of use or evaluation ,a plan is developed for the next increment.
• The plan addresses the modification of the core product to better meet the needs
of the customer and the delivery of additional features and functionality.
• This process is repeated following the delivery of each increment, until the
complete product is produced.
Incremental model
• For e.g. ,suppose a word processing software is developed using
incremental model.
• It might deliver the basic file management, editing and document
production functions in the first increment.
• More sophisticated editing and document production capabilities in the
second increment
• Spelling and grammar checking in the third increment.
• Advanced page layout capability in the fourth increment.
Incremental model
• Advantages
– Incremental model is useful when staffing is unavailable for a
complete implementation by the business deadline that has been
established for the project.
– Early increments can be implemented with fewer people
– If the core product is well received then additional staff (if
required )can be added to implement the next increment.
– Also can be planned to manage technical risks.
Spiral model
• Is an evolutionary process model that couples the iterative nature of
prototyping with the controlled and systematic aspects of the linear
sequential model.
• It provides the potential for rapid development of incremental
versions of the software.
• Using spiral model ,the software is developed in a series of
incremental releases.
• During the early iterations ,the increment release might be a paper
model or prototype.
• Later it will be developed to a complete versions of the engineered
system.
• Mainly there are six regions:
Spiral model
Spiral model
• Customer communication
• Tasks required to establish effective communication between
developer and customer
• Planning
• Tasks required to define resources ,timelines and other project
related information
• Risk analysis
• Tasks required to assess both technical and management risks
• Engineering
• Tasks required to build one or more representation of the
application
• Construction and Release
• Tasks required to construct ,test ,install and provide user support.
• Customer evaluation
• Tasks required to obtain customer feedback based on evaluation of
software representations created during the engineering stage and
implemented during the installation stage
Spiral model
• Each of the regions is populated by a set of work tasks ,called task set.
• Task sets are adapted to the characteristic of the project to be undertaken.
• For small projects these no. of work tasks will be low, but for large project
it will be high to achieve higher level of formality.
• In all these cases, the umbrella activities (e.g. SCM, SQA etc )are applied
• As this evolutionary process begins ,the software engineering team moves
around the spiral in a clockwise direction ,beginning at center.
• The first circuit around the spiral might result in the development of a
product specification.
Spiral model
• Subsequent passes around the spiral might be used to develop a prototype and
then progressively more sophisticated versions of the software.
• Each pass through the planning region results in adjustments to the project
plan.
• Cost and schedule are adjusted based on feedback derived from customer
evaluation.
• In addition, the project manager adjusts the planned no. of iterations required
to complete the software.
• Unlike other process models that end when software is delivered, the spiral
model can be adapted to apply throughout the life of the computer s/w
• The circuits around the spiral might represent
• Concept development project
• New Product development project
• Product enhancement project
• The spiral model demands a direct consideration of technical risks at all
stages of the project
Spiral model
• Advantages
• Unlike classical process models that end when software is delivered
, the spiral model can be adapted to apply throughout the life of the
computer software.
• The project entry axis is the basis for this.
• Each cube placed along the axis can be used to represent the
starting point for different types of projects.
• A ‘concept development project’ starts at the core of the spiral and
will continue until concept development is complete.
• If a concept is developed to an actual product, the process proceeds
through the next cube(new product development project entry
point)and a new development project is initiated .
• The new product will evolve through a number of iterations around
the spiral.
• i.e. the spiral remains operative until the software is retired
Spiral model
• Whenever a change is initiated ,the process starts at the appropriate
entry point(e.g. product enhancement)
• The spiral model is a realistic approach to the development of large
–scale systems and software.
• Because software evolves as the process progresses, the developer
and customer better understand and react to risks at each
evolutionary level.
• It uses prototyping as risk reduction mechanism(mainly consider
technical risks)
• Disadvantages
– It demands considerable risk assessment expertise and relies on this
expertise for success.
– If a major risk is not uncovered and managed ,problems will
undoubtedly occur.
– It may be difficult to convince customer that the evolutionary approach
is controllable.

More Related Content

What's hot

Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
Waterfall Model PPT in Software Engineering
Waterfall Model PPT in Software EngineeringWaterfall Model PPT in Software Engineering
Waterfall Model PPT in Software EngineeringRaju Sheoran
 
V model presentation
V model presentationV model presentation
V model presentationNiat Murad
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
IT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGIT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGSathya R
 
Incremental model
Incremental modelIncremental model
Incremental modelHpibmx
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.pptbhadjaashvini1
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life CycleVivek Gupta
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 

What's hot (20)

Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Agile model
Agile modelAgile model
Agile model
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Incremental Model
Incremental ModelIncremental Model
Incremental Model
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
Waterfall Model PPT in Software Engineering
Waterfall Model PPT in Software EngineeringWaterfall Model PPT in Software Engineering
Waterfall Model PPT in Software Engineering
 
V model presentation
V model presentationV model presentation
V model presentation
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
IT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGIT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTING
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 

Similar to Software process Models

Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptSasiR18
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleRIKSOF
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.pptNyamburaKinyua
 
Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)EveryThing68
 

Similar to Software process Models (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Software process models
Software process modelsSoftware process models
Software process models
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 

More from SADEED AMEEN

Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Intelligent traffic information and control system
Intelligent traffic information and control systemIntelligent traffic information and control system
Intelligent traffic information and control systemSADEED AMEEN
 
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...SADEED AMEEN
 
Network testing and debugging
Network testing and debuggingNetwork testing and debugging
Network testing and debuggingSADEED AMEEN
 
Organic user interface presentaion
Organic user interface presentaionOrganic user interface presentaion
Organic user interface presentaionSADEED AMEEN
 
Organic User Interface
Organic User InterfaceOrganic User Interface
Organic User InterfaceSADEED AMEEN
 

More from SADEED AMEEN (9)

Resume
ResumeResume
Resume
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Intelligent traffic information and control system
Intelligent traffic information and control systemIntelligent traffic information and control system
Intelligent traffic information and control system
 
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...
THE WAY IN WHICH PEOPLE AQUIRE INFORMATION ABOUT THEIR LOCALITY , WEATHER CON...
 
Tails os
Tails osTails os
Tails os
 
Network testing and debugging
Network testing and debuggingNetwork testing and debugging
Network testing and debugging
 
Organic user interface presentaion
Organic user interface presentaionOrganic user interface presentaion
Organic user interface presentaion
 
Organic User Interface
Organic User InterfaceOrganic User Interface
Organic User Interface
 

Recently uploaded

HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 

Recently uploaded (20)

HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 

Software process Models

  • 2. SOFTWARE PROCESS MODEL • To solve actual problems in industry ,the software team has to incorporate a development strategy that encompasses the process ,methods and tools and the generic phases • This strategy is referred to as a process model or a software engineering paradigm • The process model for software engineering is chosen based on the nature of the project and application, the methods and tools to be used and the controls and the deliverables that are required
  • 5. SOFTWARE PROCESS MODEL • The phases within phases of the problem solving loop is given below:
  • 6. • Status quo represents the current state of affairs. • Problem definition identifies the specific problem to be solved • Technical development solves the problem through the application of technology • Solution integration delivers the results(e.g. documents,programs,data,new business function, new product)to those who requested the solution • The generic phases and steps are mapped into these stages.
  • 7. Why software life cycle model? • Software life cycle model: The descriptive and diagrammatic representation of the software life cycle • It represent all the activities performed on software product from the inception to retirement • It also depicts the order in which these activities are to be undertaken • More than one activity can be carried out in a single phase • The primary advantage of adhering to a life cycle model is that it encourages development of software in a systematic and disciplined manner • When a program is developed by a single programmer ,he has the freedom to decide the exact steps through which he will develop the program
  • 8. Why software life cycle model? • A life cycle model also defines the entry and exit criteria for every phase • A phase can begin only when the corresponding phase-entry criteria are satisfied • Also, a phase is considered to be complete only when the corresponding exit criteria are satisfied • But when a software is developed by a team it is necessary to have a precise understanding among the team members as to when to do what. • Otherwise it will lead to chaos and project failure • A documented life cycle model prevents misinterpretations and also helps in identifying inconsistencies ,redundancies and omissions in the development process
  • 9. Software life cycle model • Software life cycle models: • Linear Sequential Model(Waterfall model) • Prototyping Model • Incremental model • Spiral model
  • 10. Linear Sequential Model • Sometimes called classic life cycle or waterfall model • Suggests a systematic ,sequential approach to software development that begins at system level and progresses through analysis, design, coding ,testing and support. • The water fall model is illustrated as below.
  • 12. • The classic life cycle - oldest and most widely used paradigm • Activities ‘flow’ from one phase to another • In iterative waterfall model, if there are corrections, return to a previous phase and ‘flow’ from there again • Good for planning and well-defined/repeated projects
  • 14. Linear Sequential Model • Linear Sequential model encompasses the following activities: • System /information engineering and modeling – Software is always a part of a larger system(or business) – Work begins by establishing the requirements for all system elements and allocating some subset of these requirements to software – System view is essential when software must interacts with other elements such as hardware, people and databases. – System engineering and analysis encompass requirements gathering at the system level with a small amount of top design and analysis
  • 15. Linear Sequential Model • Software requirements analysis – This process is intensified and focused specifically on software – To understand the nature of the programs to be built, the software engineer(analyst) must understand the information domain for the software as well as the required function, behaviour, performance and interface – Requirements for both the system and the software are documented and reviewed with the customers
  • 16. Linear Sequential Model • Design – Software design is a multistep process that focuses on four distinct attributes of a program: – Data structure – Software architecture – Interface representation – Procedural(algorithmic) detail – The design process translates requirements into a representation of the software that can be assessed for quality before coding begins – Deign is also documented and becomes part of software configuration.
  • 17. Linear Sequential Model • Code Generation – The design must be translated into a machine –readable form. – The code generation step performs this task • Testing – The testing process focuses on the logical internals of the software, ensuring that all statements have been tested – Also focuses on the functional externals i.e conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results • Maintenance/Support – Software will undergo change after it is delivered to the customer (except embedded software) – Change will occur because of correction, adaptation or enhancement. – Software support/maintenance reapplies each of the preceding phases to an existing program rather than a new one
  • 18. Linear Sequential Model • Advantage – Simple model – Works best when requirements of a problem are reasonably well understood • Disadvantages – Real projects rarely follow the sequential flow that the model proposes – Changes can cause confusion as the project team proceeds – It is often difficult for the customer to state all requirements explicitly – The linear sequential model requires this and has difficulty accommodating the natural uncertainty that exists at the beginning of many projects – The customer must have patience. – A working version of the programs will not be available until late in the project time-span – A major blunder ,if undetected until the working program is reviewed can be disastrous – Leads to “blocking states” – Some project team members must wait for other members of the team to complete dependent tasks – It can cause delay
  • 19. Prototyping model • A customer defines a set of general objectives for software. • But does not identify detailed input processing or output requirements. • The developer may be unsure of the efficiency of an algorithm, the adaptability of an OS or the form that a human/machine interaction should take. • In such cases a prototyping paradigm can be used. • The prototyping model suggests that before development of the actual software ,a working prototype of the system should be built first. • A prototype is a toy implementation of a system, usually exhibiting limited functional capabilities, low reliability and inefficient performance.
  • 20. Prototyping model • Several reasons for developing a prototype: – To illustrate the input data formats ,messages and the interactive dialogues to the customer – It is a valuable mechanism for gaining better understandability of the customer needs – For many functionalities such as Graphical User Interface(GUI) part of a system ,it is much easier for the user to form his opinion by experimenting with a working model rather than just trying to imagine the working of a hypothetical system – It helps to critically examine the technical issues associated with the product development • E.g. the design decisions depends on issues like the response time of hardware controller or efficiency of the sorting algorithm which can be resolved using prototype – It is impossible to “get it right” the first time and we must plan to throw away the first product in-order to develop a good product.
  • 22. Prototyping model • The model starts with an initial requirements gathering phase. • A quick design is carried out and the prototype model is built using several shortcuts. • The shortcuts might involve using inefficient, inaccurate or dummy functions – E.g. a function may produce the desired by using a table look-up rather than performing actual computations • The prototype product usually turns out to be a very crude version of the actual system • The developed prototype is submitted to the customer for his evaluation • Based on the user feedback ,the requirements are refined. • This cycle continues until the user approves the prototype • The actual system is then developed using the iterative or classical waterfall
  • 23. Prototyping model • Disadvantage – In prototyping model of software development ,the requirement analysis and specification phase become redundant • Advantages – The code for the prototype is usually thrown away ,however the experience gathered from developing the prototype helps a great deal in developing the actual system – Therefore ,even though the construction of a working prototype model might involve additional costs, for systems with ambiguous user requirements and unresolved technical issues ,the overall development cost will be lower than that of an equivalent system developed using the waterfall model . – Since the user requirements are properly defined and technical issues are properly and satisfactorily resolved as a result of experimenting with the prototype model, it minimizes change requests and redesign cost after the system is delivered to the customer
  • 24. Evolutionary Model • Also known as successive version model. • In this model, the system is first broken down into several modules or functional units that can be incrementally implemented and delivered. • This model is iterative. • Used to develop increasingly more complete versions of the software. – E.g. suppose A,B,C are modules of a software product that are incrementally developed a delivered
  • 25. Evolutionary Model •The developers first develop the core module of the system. •The initial product skeleton is then refined into increasing levels of capability by adding new functionalities in successive versions. •Each version of the product is a functioning system capable of performing some useful work.
  • 26. Evolutionary Model • Advantages – The user of an evolutionary model gets a chance to experiment with a partially developed system much before the actual fully developed version is released . – Thus this model facilitates to elicit the exact requirements of the user for incorporating into the fully developed system. – Also the core modules get tested thoroughly ,thereby reducing chances of errors in the final product • Disadvantages – In most practical problems ,it is difficult to subdivide the problem into several functional units that can be incrementally implemented and delivered. – Therefore ,this model is useful only for large problems, where it is easier to identify modules for incremental implementation.
  • 28. Incremental model • The incremental model combines elements of the linear sequential model applied with the iterative philosophy of prototyping. • It uses the linear sequences in a staggered fashion as calendar time progresses. • Each line sequence produces a deliverable “increment “ of the software. • Incremental model is illustrated below.
  • 30. Incremental model • When an incremental model is used, the first increment is often a core product. • i.e. basic requirements are addressed, but many supplementary features remain undelivered. • The core product is used by the customer or undergoes detailed review. • As a result of use or evaluation ,a plan is developed for the next increment. • The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. • This process is repeated following the delivery of each increment, until the complete product is produced.
  • 31. Incremental model • For e.g. ,suppose a word processing software is developed using incremental model. • It might deliver the basic file management, editing and document production functions in the first increment. • More sophisticated editing and document production capabilities in the second increment • Spelling and grammar checking in the third increment. • Advanced page layout capability in the fourth increment.
  • 32. Incremental model • Advantages – Incremental model is useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project. – Early increments can be implemented with fewer people – If the core product is well received then additional staff (if required )can be added to implement the next increment. – Also can be planned to manage technical risks.
  • 33. Spiral model • Is an evolutionary process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. • It provides the potential for rapid development of incremental versions of the software. • Using spiral model ,the software is developed in a series of incremental releases. • During the early iterations ,the increment release might be a paper model or prototype. • Later it will be developed to a complete versions of the engineered system. • Mainly there are six regions:
  • 35. Spiral model • Customer communication • Tasks required to establish effective communication between developer and customer • Planning • Tasks required to define resources ,timelines and other project related information • Risk analysis • Tasks required to assess both technical and management risks • Engineering • Tasks required to build one or more representation of the application • Construction and Release • Tasks required to construct ,test ,install and provide user support. • Customer evaluation • Tasks required to obtain customer feedback based on evaluation of software representations created during the engineering stage and implemented during the installation stage
  • 36. Spiral model • Each of the regions is populated by a set of work tasks ,called task set. • Task sets are adapted to the characteristic of the project to be undertaken. • For small projects these no. of work tasks will be low, but for large project it will be high to achieve higher level of formality. • In all these cases, the umbrella activities (e.g. SCM, SQA etc )are applied • As this evolutionary process begins ,the software engineering team moves around the spiral in a clockwise direction ,beginning at center. • The first circuit around the spiral might result in the development of a product specification.
  • 37. Spiral model • Subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of the software. • Each pass through the planning region results in adjustments to the project plan. • Cost and schedule are adjusted based on feedback derived from customer evaluation. • In addition, the project manager adjusts the planned no. of iterations required to complete the software. • Unlike other process models that end when software is delivered, the spiral model can be adapted to apply throughout the life of the computer s/w • The circuits around the spiral might represent • Concept development project • New Product development project • Product enhancement project • The spiral model demands a direct consideration of technical risks at all stages of the project
  • 38. Spiral model • Advantages • Unlike classical process models that end when software is delivered , the spiral model can be adapted to apply throughout the life of the computer software. • The project entry axis is the basis for this. • Each cube placed along the axis can be used to represent the starting point for different types of projects. • A ‘concept development project’ starts at the core of the spiral and will continue until concept development is complete. • If a concept is developed to an actual product, the process proceeds through the next cube(new product development project entry point)and a new development project is initiated . • The new product will evolve through a number of iterations around the spiral. • i.e. the spiral remains operative until the software is retired
  • 39. Spiral model • Whenever a change is initiated ,the process starts at the appropriate entry point(e.g. product enhancement) • The spiral model is a realistic approach to the development of large –scale systems and software. • Because software evolves as the process progresses, the developer and customer better understand and react to risks at each evolutionary level. • It uses prototyping as risk reduction mechanism(mainly consider technical risks) • Disadvantages – It demands considerable risk assessment expertise and relies on this expertise for success. – If a major risk is not uncovered and managed ,problems will undoubtedly occur. – It may be difficult to convince customer that the evolutionary approach is controllable.