0% found this document useful (0 votes)
23 views7 pages

HW 1

The document discusses two software development models: the waterfall model and the V-model. The waterfall model is a sequential model where each phase must be completed before the next begins. It is suitable for projects with clear requirements. The V-model extends the waterfall model with an emphasis on testing, where each development phase has a corresponding testing phase conducted in parallel to identify defects early. The document provides details on the phases and usage of each model as well as their advantages and disadvantages.

Uploaded by

kaythihlg25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views7 pages

HW 1

The document discusses two software development models: the waterfall model and the V-model. The waterfall model is a sequential model where each phase must be completed before the next begins. It is suitable for projects with clear requirements. The V-model extends the waterfall model with an emphasis on testing, where each development phase has a corresponding testing phase conducted in parallel to identify defects early. The document provides details on the phases and usage of each model as well as their advantages and disadvantages.

Uploaded by

kaythihlg25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Table of Contents

Waterfall Model..............................................................................................................................................2
Phases of the Waterfall Model...........................................................................................................2
When to Use the Waterfall Model?..................................................................................................3
Usage of Waterfall Model......................................................................................................................3
Advantages of the Waterfall Model.................................................................................................4
Disadvantages of the Waterfall Model...........................................................................................4
V-model.................................................................................................................................................................5
Usage of V Model...........................................................................................................................................6
Advantages of the V-Model..................................................................................................................6
Disadvantages of the V-Model...........................................................................................................6
Waterfall Model
The waterfall model is a sequential software development lifecycle model
where each phase of the development process is completed before moving on to
the next phase. The phases typically include requirements gathering, system
design, implementation, testing, deployment, and maintenance. This model is
characterized by its linear and rigid structure, with little room for changes or
iterations once a phase is completed. It is suitable when the requirements are
clear, fixed, and unlikely to change throughout the project. The waterfall model is
suitable for projects with well-defined and stable requirements.

Phases of the Waterfall Model


1. Requirements Gathering – A project cannot succeed without collecting
requirements and fully understanding customers requirements. So, in the
very first phases of waterfall model, all the requirements are gathered and
well documented.
2. Design - After all the necessaries are gathered, the teams start to create
system architected in this phase.
3. Development – The actual coding process start in this phase. The project is
developed according to the requirements and design in the previous phases.
4. Testing – This one involves unit testing, integration testing and system
testing.
5. Deployment –Once all functional and non-functional tests are completed, the
software is approved, and meets the required quality standards, the
software is deployed to the production environment or released to end-users
to the market.
6. Maintenance – This one involves ongoing support, maintenance of the
software, addressing post-deployment issues and update the software. This
includes bug fixes, updates, and enhancements based on user feedback and
changing requirements.

When to Use the Waterfall Model?


 Requirements are clear and fixed that may not change.
 The project is short and simple, also low budget projects.
 Projects with minimal risks or ZERO risks.
 Usage of Waterfall Model
 Infrastructure Development: When building infrastructure software, such as
operating systems, network protocols, or database management systems,
the Waterfall model can be used.
 These projects often require a systematic and well-documented approach,
making the Waterfall model a suitable choice.

Usage of Waterfall Model


 Hardware-Software Integration: Projects that involve the integration of
software with hardware components, such as embedded systems or IoT
devices, can benefit from the Waterfall model. The sequential nature of the
model allows for thorough planning and coordination between software and
hardware development teams.
 Legacy System Maintenance: When maintaining and updating legacy
systems, where the requirements are well-established and changes need to
be carefully managed, the Waterfall model can be effective. It provides a
structured approach to ensure that modifications are properly planned and
implemented.

Example,

Let's say a software development team is tasked with building a banking


application. At very first phase start here by gathering the requirements from the
(client, forming a team), then move on to designing the system architecture,
implementing the code, testing it thoroughly, deploying the application, and finally
providing ongoing maintenance and support.

Advantages of the Waterfall Model


 Simple and easy to understand and use.
 Budget save model.
 Easy to arrange tasks.
 Process and results are well documented.

Disadvantages of the Waterfall Model


 Poor model for long projects.
 No room for changes.
 Unexpected obstacles can have a high negative impact on a project's
timeline.
 Testing is postponed until the final stages of project development.
V-model

The V-model is an extension of the waterfall model which emphasizes the


testing phase. It follows a sequential approach, where each phase has a
corresponding testing phase. The testing phase is performed in parallel with the
development phase, ensuring that each phase's deliverables are tested before
proceeding to the next phase. This model helps identify defects early in the
development process.

V-model also known as Verification and Validation model.

 Verification – Verification is the process of evaluating the


intermediate work products of each phase to ensure that they meet
the specified requirements. Verification aims to answer the question,
"Are we building the product, right?"
 Validation - Validation is the process of evaluating the final product to
ensure that it satisfies the intended use and meets the customer's
expectations. Validation aims to answer the question, "Are we building
the right product?"

Usage of V Model
 Mission-Critical Systems: The V-model is commonly used in the
development of mission-critical systems, such as control systems for power
plants or communication systems for emergency services. These projects
require a thorough testing and validation process to ensure the reliability
and performance of the software.
 Safety-Critical Systems: The V-model is often employed in the
development of safety-critical systems, such as medical devices, aerospace
systems, or automotive software. These projects require a rigorous
verification and validation process to ensure the reliability and safety of the
software.

Example,

Suppose a software development team is building an e-commerce website.


They would start by gathering the requirements and designing the system
architecture. Then, they would develop the code and simultaneously perform unit
testing to ensure the code's correctness. After that, integration testing would be
conducted to verify the interaction between different modules. System testing
would follow to test the entire system's functionality, and finally, user acceptance
testing would be performed to ensure the system meets the client's requirements.

Advantages of the V-Model


 Provides a clear and structured process
 Easy to understand and apply
 Avoids downward flow of defects
 Improve communication between the customer and the development team
Disadvantages of the V-Model
 Rigid and inflexible
 High risk for complex and OOP
 Resource Intensive

Agile Model

The Agile model is a software development approach that focuses on iterative and
incremental development, collaboration, and flexibility

You might also like