0% found this document useful (0 votes)
11 views

SDLC Notes

The document discusses different system development life cycle models including waterfall, iterative, and rapid application development (RAD) models. It provides details on the analysis, design, implementation, testing, and maintenance phases common to these models. It also compares the waterfall and iterative approaches, describing their advantages and disadvantages.

Uploaded by

bindiya dhiman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

SDLC Notes

The document discusses different system development life cycle models including waterfall, iterative, and rapid application development (RAD) models. It provides details on the analysis, design, implementation, testing, and maintenance phases common to these models. It also compares the waterfall and iterative approaches, describing their advantages and disadvantages.

Uploaded by

bindiya dhiman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Waterfall, Iterative & RAD models

Implementation
Analysis Design Testing Maintenance
(Coding)

Any System Development Life Cycle should result in a high-quality system that meets or
exceeds customer expectations, is finished within time and cost limits, works effectively and
efficiently and is inexpensive to maintain and cost-effective to improve upon.
● The first step in solving a problem is to find out about the problem and
getting an idea of what you will make to solve the problem by:
1. A detailed look at current systems
2. Establish the objectives of the new system.
● Develop a specification / system requirements document

Research using:
● Interviews
● Questionnaires / surveys
● Observation of users
● Inspecting existing documentation
● The next step is planning a solution

● Decide how to solve that problem

 Bottom –up approach (solving subproblem first)

 Top-bottom approach (using pseudocode, flowchart or structured chart)


● Once we have settled on what we are going to make and the
objectives for the system, we need to set about designing the
components. Design is important as it allows you to start thinking
about how you will make things, and hopefully avoid making
mistakes later.
● The Process involved in the design of a product is looking at:
• User interface
• Processes
• Data storage requirements
● When you have designed your solution, you might need to choose a
suitable high-level programming language. If you know more than
one programming language, you have to weigh up the pros and cons
of each one.
● Once we have created our solution, we need to test that the whole
program run effectively under all circumstances.
● There are several ways of testing a program like
1. Stub Testing
2. Black Box testing
3. White-Box Testing
4. Dry-Running an Algorithm
5. Integration Testing
6. Alpha testing
7. Acceptance testing
8. Beta testing
● The program development life cycle follows the defined stages of
analysis, design, coding , testing and maintenance.
Waterfall Model

● The arrows going down


represent the fact that the Analysis
results from one stage are
input into the next stage. The Design
arrows leading back up to an
earlier stage reflect the fact
that often more work is Implementation
required at an earlier stage to
complete the current stage. Testing
● Originally adapted from
manufacturing/architecture
planning process. Maintenance
● Each step must be completed
fully before moving on to the
next step.
● Rigid design.
Iterative
● An iterative life cycle model does
not attempt to start with a full
specification of requirements.
Instead, development starts with
the implementation of a small
subset of the program
requirements.
● Repeated (iterative) reviews to
identify further requirements
eventually result in the complete
system.
● The focus is on building the core
system and adding more features
through each iteration and
subsequent release.
Advantages Disadvantages

● Each cycle is easy to manage, due to the fixed and ● Still slow and expensive to implement as the
modular nature of each component. full cycle needs to completed each time.
● Extra features can be added. ● Harder estimate overall time and cost as the
● User feedback is taken at each iteration, rather than system is constantly growing.
just at the very start of the project. Can adapt and ● Only large software development projects can
grow as the requirements change. benefit because it is hard to break a small
● Less Costly to change the scope/ requirements. software system into further small serviceable
● Testing and debugging of a smaller subset of modules.
program is easy.
● Risks are identified and resolved during iteration.
● Better suited for large and mission-critical projects.
● During the life cycle, software is produced early,
which facilitates customer evaluation an feedback.
Rapid Application Development

Prototyping
Phase
Analysis and
quick design Testing Cutover

You might also like