0% found this document useful (0 votes)
21 views25 pages

E-Notes 9447 Content Document 20250805092627PM

The document discusses various Software Development Life Cycle (SDLC) models, including the Waterfall, Incremental, Prototyping, Spiral, and Agile methodologies. Each model has its own advantages and drawbacks, with specific use cases based on project requirements, complexity, and customer needs. The document emphasizes the importance of communication, planning, modeling, construction, and deployment in the software development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views25 pages

E-Notes 9447 Content Document 20250805092627PM

The document discusses various Software Development Life Cycle (SDLC) models, including the Waterfall, Incremental, Prototyping, Spiral, and Agile methodologies. Each model has its own advantages and drawbacks, with specific use cases based on project requirements, complexity, and customer needs. The document emphasizes the importance of communication, planning, modeling, construction, and deployment in the software development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Module – 2

Software Life Cycle Models


What is SDLC?
To unravel real challenges in an industry setting, a software engineer or a team of engineers must
join an improvement plan that includes the process, methods, and tools layers described in and the
general phases. This methodology is regularly meant as a process model or a software engineering
pattern.

➢ The process model is an abstract picture of the process.


➢ Also known as Software development life cycle (SDLC) or Application development life cycle
Models
➢ Process models prescribe a discrete set of activities, actions, tasks, and milestones (deliverables)
required to engineer high-quality software.
➢ Process models are not perfect, but provide a roadmap for software engineering work.
➢ Software models provide firmness, control, and group to a process that if not managed can easily
get out of control.
➢ Software process models are modified (adjusted) to meet the needs of software engineers and
managers for a specific project.
What is SDLC?
SDLC – Software Development Life cycle
The following generic framework activities are used generally in projects:

1. Communication: Communication plays a very important role to collect customer requirements. It is the heart of
software. By communicating with customer requirement gathering is done.
2. Planning It establishes a plan for software engineering work. It describes the technical task to be conducted,
the required resources, work product to be produced, etc.
3. Modeling: It contains a phase of analysis and design. It creates a model that can be understood by customers
and developers easily. So that they can have pre idea about the design of the product. The analysis encompasses
a set of tasks that lead to creating an analysis model.
4. Construction: In this phase complete implementation of software is done then all types of testing are
performed like black box testing and white box testing etc.
5. Deployment: Whenever a product is ready then it will be deployed to the customer either partially or
completely. Then the customer provides feedback based on the evaluation.
Waterflow model or sequential model
➢ When requirements for problems are well clear then this model is used in which workflow from
communication to deployment is linear This Model also called the Classic life cycle or linear
sequential model.
➢ The waterfall model proceeds from one phase to the next in a sequential manner.
➢ By communicating with the customer's requirement gathering is compiled it will proceed to the
planning phase. Once the design phase is completed then implementation of that design is made
by coders inappropriate coding language which is best suited to the design.
➢ Once code is finalized then through testing of code is begin. All testing activities are done in this
phase. After testing, the application is being ready to deploy in an actual server environment. This
phase is the implementation phase of the actual product.
➢ Once the Application deployed successfully, we can easily modify the application in the
maintenance phase. The entire customer enhancement, modification has to be done in this
phase.
Waterflow model or sequential model
Waterflow model or sequential model
When to use?
➢Requirements are very well known, clear and fixed
➢Product definition is stable
➢Technology is understood
➢There are no ambiguous (unclear) requirements
➢Ample (sufficient) resources with required expertise are available
freely
➢The project is short
Waterflow model or sequential model
Advantages
➢ Simple & Easy
➢ Easy to manage
➢ Works well for smaller projects
➢ Results are well documented

Drawbacks
➢ Risk & Uncertainty
➢ Not for projects where requirements are changing
➢ The working version is not available during development. Which can lead the development with major
mistakes.
➢ Deadlock can occur due to delay in any step.
➢ Not suitable for large projects.
➢ Not for big & complex projects
Incremental Process Model
The Incremental Process Model is a method of software development
where the system is built step by step. Instead of delivering the whole
system at once, it is developed and delivered in small parts called
increments. Each increment builds upon the previous one by adding
new functionality, until the complete system is finished.
Incremental Process Model
Use Cases of Incremental Process Model
When the requirements are well-defined and clear
Because increments can be planned and developed step-by-step with minimal requirement
changes.
If the project has a long development timeline
Incremental delivery helps manage complexity over time by breaking the project into smaller,
manageable parts.
If the customer needs a quick product release
You can deliver the most critical features early in the first increment, allowing the customer to start
using the software sooner.
When you want to develop the most important features first
This allows early feedback on key functionalities and better prioritization for subsequent
increments.
Incremental Process Model
Advantages of Incremental Process Model
The Incremental Model of software development builds a system in small, manageable sections (increments), making it a good choice for many projects. Below are the key advantages:
Faster Software Delivery
Initial working versions of the software can be delivered quickly.
Early delivery increases customer satisfaction and feedback opportunities.

Clear Understanding for Clients


Clients get to see parts of the system at each stage.
This visibility ensures that the final product meets their expectations.

Easy to Implement Changes


Requirements can evolve, and changes can be incorporated in subsequent increments.
It supports flexibility without heavily disrupting earlier stages.

Effective Risk Management


Risks can be identified and handled early due to the staged approach.
Each increment allows for testing and validation, reducing the impact of unforeseen issues.

Flexible Criteria and Scope


Requirements can be adjusted without a major cost increase.
Better scope management helps keep the project aligned with business goals.

Cost-Effective
Compared to models like the Waterfall, the incremental model is generally more cost-efficient.
Budget is spread across stages, making it easier to manage finances.

Simpler Error Identification


Since development is done in parts, it's easier to pinpoint and fix errors within a specific increment.
Testing each module separately enhances quality and reliability.
Evolutionary Process Model
When a set of the core product or system requirements is well understood
but the details of product or system extensions have yet to be defined.
In this situation, there is a need for a process model which specially designed
to accommodate products that evolve with time.
Evolutionary Process Models are specially meant for that which produce an
increasingly more complete version of the software with each iteration.
Evolutionary Models are iterative.
Evolutionary models are
• Prototype Model
• Spiral Model
Prototyping Process Model
The Prototyping Model is a systems development method in which a
prototype is built, tested, and then reworked as necessary until an
acceptable prototype is finally achieved from which the complete
system or product can now be developed.
This model works best in situations where not all of the project
requirements are known in detail ahead of time. It is an iterative, trial-
and-error process that takes place between the developers and the
users.
Prototyping Process Model
Prototyping Process Model
It works as follow
➢Communicate with shareholders & define the objective of Software
➢Identify requirements & design quick plan
➢Model a quick design (focuses on the visible part of the software)
➢Construct Prototype & deployment
➢Shareholders evaluate this prototype and provide feedback
➢Iteration occurs and the prototype is tuned based on feedback
Prototyping Process Model
Problem Areas
➢Customer demand that “a few changes” be applied to make the prototype
a working software, due to that software quality suffers as a result
➢Developer often makes execution to get a prototype working quickly;
without considering other factors in mind like OS, Programming language,
etc.

Advantages
➢Users are dynamically involved in the development
➢Since in this methodology a working model of the system is provided, the
users get a better understanding of the system being developed
➢Errors can be detected much earlier
Spiral Process Model
The Spiral model is an evolutionary process model that pairs iterative nature
of prototyping with the controlled and systematic aspects of waterfall model
It provides the potential for rapid development.
Software is developed in a series of evolutionary releases.
Early iteration release might be prototype but later iterations provides more
complete version of software.
It is divided into framework activities (C,P,M,C,D). Each activity represent one
segment of the spiral
The Spiral Model is an evolutionary software process model that pairs the
iterative nature of prototyping with the controlled and systematic aspects of
linear sequential model. In Spiral Model, software is developed in a series of
incremental releases.
Spiral Process Model
Spiral Process Model
When to use Spiral Model?
➢For development of large scale / high-risk projects.
➢When costs and risk evaluation is important.
➢Users are unsure of their needs.
➢Requirements are complex.
➢New product line.
➢ Significant (considerable) changes are expected.
Spiral Process Model
Advantages
➢ High amount of risk analysis hence, avoidance of Risk is enhanced. Strong approval and documentation
control.
➢ Additional functionality can be added at a later date.
➢ Software is produced early in the Software Life Cycle.

Disadvantages
➢ Can be a costly model to use.
➢ Risk analysis requires highly specific expertise.
➢ Project’s success is highly dependent on the risk analysis phase.
➢ Doesn’t work well for smaller projects.
What is Agile Methodology?
An agile methodology is an iterative approach to software development.
Each iteration of agile methodology takes a short time interval of 1 to 4
weeks. The agile development process is aligned to deliver the changing
business requirement. It distributes the software with faster and fewer
changes.
The single-phase software development takes 6 to 18 months. In single-
phase development, all the requirement gathering and risks management
factors are predicted initially.
The agile software development process frequently takes the feedback of
workable product. The workable product is delivered within 1 to 4 weeks of
iteration.
What is Agile Methodology?
Benefits of Agile Methodology

Benefits of Agile Methodology


Faster Time-to-Market- Short cycles enable quicker releases, allowing businesses
to seize market opportunities and stay ahead of competitors.
Higher Customer Satisfaction- Continuous feedback ensures alignment with needs,
creating products that truly solve user problems and foster loyalty.
Improved Team Morale- Empowers developers with autonomy, leading to greater
creativity, ownership, and job satisfaction.
Reduced Risk- Early detection of issues prevents costly late-stage fixes, minimizing
budget overruns and project failures.
Enhanced Adaptability- Easily accommodates changing requirements, ensuring
relevance in fast-evolving markets and industries.
Difference Between Models.
Difference Between Models.

You might also like