0% found this document useful (0 votes)
62 views9 pages

Lecture 4

This document discusses several system development life cycle (SDLC) models: - The Waterfall Model is the earliest approach with sequential phases that must be completed before starting the next. It is simple but inflexible. - The V-Model extends the Waterfall Model with testing phases planned in parallel with development phases. It is rigid but finds defects early. - Iterative Models implement requirements incrementally in iterations to get early feedback and adapt more easily to changes. - Spiral Models combine iterative development with risk analysis, making them good for large projects but costly. - Agile Models emphasize rapid delivery, customer satisfaction, and adapting to changes through short iterative cycles. - Prototyping Models
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)
62 views9 pages

Lecture 4

This document discusses several system development life cycle (SDLC) models: - The Waterfall Model is the earliest approach with sequential phases that must be completed before starting the next. It is simple but inflexible. - The V-Model extends the Waterfall Model with testing phases planned in parallel with development phases. It is rigid but finds defects early. - Iterative Models implement requirements incrementally in iterations to get early feedback and adapt more easily to changes. - Spiral Models combine iterative development with risk analysis, making them good for large projects but costly. - Agile Models emphasize rapid delivery, customer satisfaction, and adapting to changes through short iterative cycles. - Prototyping Models
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
You are on page 1/ 9

COLLEGE OF BUSINESS EDUCATION

(CBE-Mwanza)
MANAGEMENT INFORMATION SYSTEMS

SMB 07307

LECTURE FOUR
SDLC MODELS
There are various System Development Life Cycle models defined and designed which are
followed during the software development process. These models are also referred as
"Software Development Process Models". Each process model follows a series of steps
unique to its type to ensure success in the process of software/system development.

Following are the most important and popular SDLC models followed in the industry:
o Waterfall Model
o V-Model
o Iterative Model
o Spiral Model
o Agile Model
o RAD (Rapid Application Development) Model and
o Prototyping Models.

Waterfall Model - The Waterfall Model was the first Process Model to be introduced. It is
also referred to as a linear-sequential life cycle model. It is very simple to understand and
use. In a waterfall model, each phase must be completed before the next phase can begin
and there is no overlapping in the phases. The Waterfall model is the earliest SDLC
approach that was used for system/software development. The waterfall Model illustrates
the software development process in a linear sequential flow. This means that any phase in
the development process begins only if the previous phase is complete. In this waterfall
model, the phases do not overlap.

1|Page Prepare By: ALOYCE N


Fig1. SDLC-Waterfall Model

Advantages of Waterfall Model


 Simple and easy to understand and use.
 Easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well understood.

Disadvantages of Waterfall Model


 Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
 No working software is produced until late during the life cycle.
 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 of
changing.

V-Model - The V-model is an SDLC model where execution of processes happens in a


sequential manner in a V-shape. It is also known as Verification and Validation model. The
V-Model is an extension of the waterfall model and is based on the association of a testing

2|Page Prepare By: ALOYCE N


phase for each corresponding development stage. This means that for 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.

Under the V-Model, the corresponding testing phase of the development phase is planned in
parallel. So, there are Verification phases on one side of the ‘V’ and Validation phases on the
other side. The Coding Phase joins the two sides of the V-Model.

Fig2. V-Model
Advantages of V Model
 Simple and easy to use.
 Testing activities like planning, test designing happens well before coding. This saves
a lot of time. Hence higher chance of success over the waterfall model.
 Proactive defect tracking – that is defects are found at an early stage.
 Avoids the downward flow of the defects.
 Works well for small projects where requirements are easily understood.

Disadvantages of V Model
 Very rigid and less flexible.
 Software is developed during the implementation phase, so no early prototypes of
the software are produced.

3|Page Prepare By: ALOYCE N


 If any changes happen in midway, then the test documents along with required
documents have to be updated.

Iterative Model - In the Iterative model, iterative process starts with a simple
implementation of a small set of the software requirements and iteratively enhances the
evolving versions until the complete system is implemented and ready to be deployed. An
iterative life cycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software,
which is then reviewed to identify further requirements. This process is then repeated,
producing a new version of the software at the end of each iteration of the model.

Iterative process starts with a simple implementation of a subset of the software


requirements and iteratively enhances the evolving versions until the full system is
implemented. At each iteration, design modifications are made and new functional
capabilities are added. The basic idea behind this method is to develop a system through
repeated cycles (iterative) and in smaller portions at a time (incremental).

Fig3. Iterative model


Advantages of Iterative Model
 In the iterative model we are building and improving the product step by step. Hence
we can track the defects at early stages. This avoids the downward flow of the
defects.
 In the iterative model we can get the reliable user feedback. When presenting
sketches and blueprints of the product to users for their feedback, we are effectively
asking them to imagine how the product will work.

4|Page Prepare By: ALOYCE N


Disadvantages of Iterative Model
 Each phase of an iteration is rigid with no overlaps
 Costly system architecture or design issues may arise because not all requirements
are gathered up front for the entire Lifecycle.

Spiral Model - The spiral model combines the idea of iterative development with the
systematic, controlled aspects of the waterfall model. This Spiral model is a combination of
iterative development process model and sequential linear development model i.e. the
waterfall model with a very high emphasis on risk analysis. It allows incremental releases of
the product or incremental refinement through each iteration around the spiral.

Fig4. Spiral Model

Advantages of Spiral Model


 The high amount of risk analysis, hence avoidance of Risk is enhanced.
 Good for large and mission-critical projects.
 Strong approval and documentation control.
 Additional Functionality can be added at a later date.
 Software is produced early in the software life cycle.

5|Page Prepare By: ALOYCE N


Disadvantages of Spiral Model
 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.

Agile Model - Agile SDLC model is a combination of iterative and incremental process
models with focus on process adaptability and customer satisfaction by rapid delivery of
working software product. Agile Methods break the product into small incremental builds.
These builds are provided in iterations. Each iteration typically lasts from about one to three
weeks.

Agile model believes that every project needs to be handled differently and the existing
methods need to be tailored to best suit the project requirements. In Agile, the tasks are
divided to time boxes (small time frames) to deliver specific features for a release. Iterative
approach is taken and working software build is delivered after each iteration. Each build is
incremental in terms of features; the final build holds all the features required by the
customer.

Fig5. Agile Model

6|Page Prepare By: ALOYCE N


Advantages of Agile Model
 Customer satisfaction by rapid, continuous delivery of useful software.
 People and interactions are emphasized rather than process and tools. Working
software is delivered frequently (weeks rather than months).
 Close, daily cooperation between business people and developers.
 Continuous attention to technical excellence and good design.
 Regular adaptation to changing circumstances.
 Even late changes in requirements are welcomed

Disadvantages of Agile Model


 In case of some software deliverables, especially the large ones, it is difficult to
assess the effort required at the beginning of the software development life cycle.
 There is a lack of emphasis on necessary designing and documentation.
 The project can easily get taken off track if the customer representative is not clear
what the final outcome that they want.

Prototype Model - The Software Prototyping refers to building software application


prototypes which displays the functionality of the product under development, but may not
actually hold the exact logic of the original software. Software prototyping is becoming very
popular as a software development model, as it enables to understand customer
requirements at an early stage of development. It helps get valuable feedback from the
customer and helps software designers and developers understand about what exactly is
expected from the product under development.

Prototype is a working model of software with some limited functionality. The prototype
does not always hold the exact logic used in the actual software application and is an extra
effort to be considered under effort estimation. Prototyping is used to allow the users
evaluate developer proposals and try them out before implementation. It also helps
understand the requirements which are user specific and may not have been considered by
the developer during product design.

The advantages of the Prototyping Model are as follows:


 Increased user involvement in the product even before its implementation.
 Since a working model of the system is displayed, the users get a better
understanding of the system being developed.
 Reduces time and cost as the defects can be detected much earlier.
 Quicker user feedback is available leading to better solutions.

7|Page Prepare By: ALOYCE N


 Missing functionality can be identified easily.
 Confusing or difficult functions can be identified.

The disadvantages of the Prototyping Model are as follows:


 Risk of insufficient requirement analysis owing to too much dependency on the
prototype.
 Users may get confused in the prototypes and actual systems.
 Practically, this methodology may increase the complexity of the system as scope of
the system may expand beyond original plans.
 Developers may try to reuse the existing prototypes to build the actual system, even
when it is not technically feasible.
 The effort invested in building prototypes may be too much if it is not monitored
properly.

RAD Model - The RAD (Rapid Application Development) model is based on prototyping and
iterative development with no specific planning involved. The process of writing the software
itself involves the planning required for developing the product. Rapid Application
Development focuses on gathering customer requirements through workshops or focus
groups, early testing of the prototypes by the customer using iterative concept, reuse of the
existing prototypes (components), continuous integration and rapid delivery.

Fig6. RAD Model


Advantages of RAD Model
 Reduced development time.

8|Page Prepare By: ALOYCE N


 Increases reusability of components
 Quick initial reviews occur
 Encourages customer feedback
 Integration from very beginning solves a lot of integration issues.

Disadvantages of RAD Model


 Depends on strong team and individual performances for identifying business
requirements.
 Only systems that can be modularized can be built using RAD
 Requires highly skilled developers/designers.
 High dependency on modeling skills

9|Page Prepare By: ALOYCE N

You might also like