Software Development Life Cycle
Software Development Life Cycle
CYCLE
What are Software Processes
• These processes guide the steps taken from the initial software idea to
its deployment and maintenance.
What are Process Models
• Process models are like blueprints for building software. They give us
a step-by-step plan to follow when creating software.
• Just like there are different ways to build a house, there are different
process models for building software. Each model offers its own
approach and steps to get the job done.
• These process models are also called SDLC – Software Development
Life Cycle.
Almost all the process models include these steps or phases:
• Requirements gathering
• Design
• Development /Implementation or coding
• Testing
• Deployment
• Maintenance
1. Requirements Phase
- Login system
- Product information
- Shopping cart
- Payment processing
Each component's basic functionality and how they interact with each other
are outlined at a high level.
Low-Level Design (LLD):
Now, let's zoom in and detail how each component will work.
- It might detail how users can filter and search for products based on
categories or keywords.
3. Coding/Implementation Phase
• In this phase, developers start build the entire system by writing code
using the chosen programming language.
• Here, tasks are divided into units or modules and assigned to the
various developers. It is the longest phase of the Software
Development Life Cycle process.
4. Testing Phase
• It guides the team on what needs to be done, in what order, and how.
Systematic and Disciplined Approach:
• Each phase has clear entry and exit criteria – certain tasks must be
completed before moving to the next phase.
Importance of Entry and Exit Criteria:
• For instance, in the 'coding' phase, a team must have the design
specifications ready as entry criteria.
• The code must pass testing as exit criteria. Without these clear criteria,
progress can't be accurately measured, and the project might go off
track.
Monitoring Progress and Success:
• Design is the phase where we turn the requirements from the SRS
document into a plan for building the software. There are two main
approaches:
• Example: Imagine you're building a website for an online store. In the
design phase, you'd decide how the web pages should be structured,
what the user interface will look like, and how the shopping cart
functionality will work.
Coding and Unit Testing
• Coding and unit testing is where we turn the software design into
actual source code, like writing the lines of a computer program.
• During this phase, each module is unit tested to determine the correct
working of all the individual modules.
Imagine you're building a basic calculator app. You have separate modules
for addition, subtraction, multiplication, and division.
• During the integration and system testing phase, the modules are
integrated in a planned manner.
• Finally, when all the modules have been successfully integrated and
tested, system testing is carried out.
For instance, if you discover a leak in the car's engine, you need to
correct it.
In software, this means finding and fixing errors that were not caught
during development.
(b) Perfective Maintenance is similar to making your car better.
If you decide to add a more powerful engine to your car for improved
performance, you're making it perfective.
• Assignment 1:
• What are the drawbacks of Waterfall model. What are other process
models (except the Agile model) that come after the Waterfall model.
You have to present them in the next class.
• Thank You