Se Unit 1
Se Unit 1
Se Unit 1
Software Process
All these layers are related to each other and each layer demands the
fulfillment of the previous layer
•Simplified representation
•Till the later half of life cycle, working software may not be known
•High amounts of risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a moderate to high risk.
•Cannot accommodate changing requirements.
•Adjusting scope during the life cycle can end a project.
•Integration is done as a "big-bang” at the end.
2.Iterative Model
• It’s an iterative process
• Starts with initial user requirement specifications
• Based upon the review, enhancements may be done
• It iteratively enhances the evolving versions until the full system is
implemented
• At each iteration, design modifications are made and new functional
capabilities are added
Iterative Model
Iterative Model - Application
Spiral Model
Spiral Model Application
Incremental model:
In incremental development, system functionality is sliced
into increments (portions), whereby in each increment, a
slice of functionality is delivered.
Iterative model:
At each iteration, design modifications are made and new
functional capabilities are added.
Incremental Model – Characteristics
•First tackled highest priority requirements.
•System is broken down into many mini development projects.
•The requirement of a portion is frozen once the incremented portion
is developed.
Incremental Model - Advantages
•After each iteration, testing should be conducted. During this testing,
few changes are made within any single iteration.
•It is generally easier to test and debug than other methods of software
development.
•Customer can respond to features and review the product for any
needed or useful changes.
Incremental Model - Disadvantages
•Resulting cost may exceed the cost of the organization.
•As additional functionality is added to the product, problems
may arise related to system architecture
5.Evolutionary Process Models
•Evolutionary models are iterative type models.
•They allow to develop more complete versions of the
software.
Following are the evolutionary process models.
5a. The spiral model
5b. The prototyping model
5c. Concurrent development model
5b. The prototyping model
•The Prototyping Model is one of the most popularly used Software
Development Life Cycle Models (SDLC models)
•In this process model, the system is partially implemented before or
during the analysis phase thereby giving the customers an
opportunity to see the product early in the life cycle.
• The process starts by interviewing the customers and developing
the incomplete high-level paper model.
•This document is used to build the initial prototype supporting only
the basic functionality as desired by the customer
There are 2 approaches for this model:
Rapid Throwaway Prototyping :
•This technique offers a useful method of exploring ideas and getting
customer feedback for each of them.
•Customer feedback helps in preventing unnecessary design faults and
hence, the final prototype developed is of a better quality.
Evolutionary Prototyping :
•In this method, the prototype developed initially is incrementally refined
on the basis of customer feedback.
•It offers a better approach which saves time as well as effort.
Prototyping Model
Prototyping Model - Advantages
•The customers get to see the partial product early in the
life cycle.
•New requirements can be easily accommodated as there is
scope for refinement.
•Errors can be detected much earlier thereby saving a lot of
effort and cost
•The developed prototype can be reused by the developer
for more complicated projects in the future.
•Prototyping Model - Disadvantages
•Costly with respect to time as well as money.
•There may be too much variation in requirements each time the
prototype is evaluated by the customer.
•Poor Documentation due to continuously changing customer
requirements.
•It is very difficult for the developers to accommodate all the
changes demanded by the customer.
5c.Concurrent development model
•The concurrent development model is called as concurrent model.
Advantages - Concurrent development model
•This model is applicable to all types of software
development processes.
•It is easy for understanding and use.
•It gives immediate feedback from testing.
•It provides an accurate picture of the current state of a
project.
Disadvantages - Concurrent development model
•It needs better communication between the team
members.
•It requires to remember the status of the different
activities.
6. V-model
•The V-model is an SDLC model.
•It is also known as Verification and Validation model.
•Every single phase in the development cycle, there is a directly
associated testing phase.
•This is a highly-disciplined model and the next phase starts only after
completion of the previous phase.
V- Model ─ Application
•V- Model application is almost the same as the waterfall
model
•Requirements have to be very clear before the project starts
•Product definition is stable.
•Technology is not dynamic and is well understood by the
project team.
V-Model - Advantages
•This is a highly-disciplined model and Phases are
completed one at a time.
•Works well for smaller projects where requirements
are very well understood.
•Simple and easy to understand and use.
V-Model - Disadvantages
•High risk and uncertainty.
•Not a good model for complex and object-oriented
projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a
moderate to high risk of changing.
•Once an application is in the testing stage, it is difficult to
go back and change a functionality.
•No working software is produced until late during the life
cycle.
7.The Big Bang model
•The Big Bang model is SDLC model
•It does not follow a process/procedure
•The software developed which may or may not be as per
customer requirement
•There is a very little planning required.
•Usually this model is followed for small projects where the
development teams are very small.
Big Bang Model ─ Application
•This model is ideal for small projects with one or two
developers working together
•It is also useful for academic or practice projects.
•It is an ideal model for the product where requirements are not
well understood and the final release date is not given.
Big Bang Model - Advantages
•This is a very simple model
•Little or no planning required
•Easy to manage
•Very few resources required
•Gives flexibility to developers
•It is a good learning aid for new comers or students.
Big Bang Model - Disadvantages
•Very High risk and uncertainty.
•Not a good model for complex and object-oriented
projects.
•Poor model for long and ongoing projects.
•Can turn out to be very expensive if requirements
are misunderstood.
8. SDLC Agile model
•Agile SDLC model is a combination of iterative and
incremental process models
•It focus on process adaptability and customer satisfaction
by rapid delivery of working software product.
SDLC AGILE MODEL
Agile Vs Traditional SDLC Models
Submission Date :
18th June 2020(Next Thursday)
Review of Previous Classes
Software Waterfall model
Software Engineering Iterative model
Objectives and Outcomes of Spiral model
Software Engineering Incremental model
Software Engineering – A Layered Evolutionary model
approach Spiral model
Importance of Software Prototyping model
Engineering
Concurrent development
Software Process model
Umbrella activities V-Model
Perspective and Specialized Big – Bang Model
Process models
Agile Model
Agile Manifesto Main Principles
•Individuals and interactions
•Working software
•Customer collaboration
•Responding to change