Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
20 views26 pages

Waterfall Model

Uploaded by

abubakarbabu100
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)
20 views26 pages

Waterfall Model

Uploaded by

abubakarbabu100
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/ 26

The Waterfall model is a way to build software step by step.

You finish one part before

starting the next.It works best when:

1.You know exactly what you want from the beginning.

2. There won’t be many changes later.


Each step must be completed fully before moving on to the next, like building something in order
from start to finish.

Example: Small Business Website Development:


Imagine a small business wants to build a simple website to show who they are and what they do.
The business knows exactly what they want the website to look like, and their needs won’t change
much.

The Waterfall model is perfect here because:

• You first gather what the business wants (requirements).

• Then, you design the website.

• Next, you build (implement) it.

• After that, you test it to make sure it works.

• Finally, you launch it (deploy).

Since the website won’t need big changes after it’s finished, the Waterfall approach works well!.

Automated Parking Management System:Let’s say you’re building a smart system for a parking
garage. This system will handle things like giving tickets, checking how many spots are free,
helping with payments, and keeping everything secure.

You can plan everything ahead of time, like what features are needed. Since the plan is clear
and not likely to change much, the Waterfall model is a great choice.Here’s why:

• First, you plan and design the system.

• Then, you build it.

>Next, you test it to make sure it works

• Finally, you set it up and make it work in the real world.

This step-by-step approach helps you stay organized and avoid surprises.
Airline Reservation System:

An airline needs a system for booking tickets, picking seats, and scheduling flights. Since they
know exactly what they need, the Waterfall model works well here.The process is simple:

1.Plan everything in detail.

2.Design how the system will work.

3.Build it.

4.Test to make sure it’s right.

5.Launch it for use.

This step-by-step method helps avoid problems later and keeps things running smoothly.

In all of these examples, the Waterfall model works well because the project goals are clear and
unlikely to change. Since each step is finished before moving to the next, there’s less need for big
changes later on. This makes the Waterfall model a good choice for projects that need stability
and careful planning from start to finish.

2.V MODELalso known as the Verification and Validation Model


is a software development methodology that extends the principles of the Waterfall Model. It
focuses on the connection between each development phase and its corresponding testing
phase. The V-Model is called "V-shaped" because of its visual representation. The left side of
the "V" represents the stages of development, while the right side corresponds to the testing
phases.
IMPORTANT POINTS:
• Extension of waterfall model(complete all the steps)
• Validation and verification(step by step validate and validates after completing the
design)
• Testing in every phase
• Verification phase :3 steps design(System design,Architecture Design,Module
design)
• Validation phase(Unit testing,system testing)Then Acceptance.

1. Automotive Embedded Control System

• Purpose: Develop software for car functions like engine management and anti-lock
brakes.
• Importance: Safety and reliability are crucial.

• V-Model Fit:

o Development phases are closely linked with testing phases.

o Requirements specification is validated immediately.

o Ensures the software behaves correctly in real-world scenarios.

2. Industrial Process Automation Software

• Purpose: Create software to control manufacturing equipment and chemical processes.

• Importance: Needs precise alignment with operations for safety.

• V-Model Fit:

o Each development step has a corresponding testing step. o

Requirements are verified to match operational needs.

o Thorough testing ensures the software operates safely and efficiently.

3. Telecommunication Network Management Software

• Purpose: Manage large-scale networks for phones and internet services.

• Importance: Requires accuracy, reliability, and scalability.

• V-Model Fit:
o Each phase of development is paired with a testing phase. o Conducts unit

testing, integration testing, and system testing.

o Ensures the software functions correctly in complex environments.


In all these examples, the V-Model is helpful because it creates a clear path for
checking that the software works properly and meets safety and reliability standards.
By linking development closely with testing, we reduce the chance of errors and
ensure that problems are caught early, which is essential in high-stakes areas like
automotive, industrial, and telecommunications.
1.V MODELalso known as the Verification and Validation Model or Validation and
Verification Model, is a software development methodology that extends the principles of
the Waterfall Model. It focuses on the connection between each development phase and
its corresponding testing phase. It’s shaped like a "V," where the left side represents
development stages and the right side represents testing stages.

Key Phases in the Context of the Healthcare System:

1.Requirements Analysis: Identify and document the requirements for the secure patient
record system, ensuring compliance with healthcare regulations.

2.System Design: Develop a blueprint for the system, including data storage, access
controls, and user interfaces tailored for patient management.
Architectural Design: Create a high-level architecture detailing how different components
will interact, focusing on security and scalability.

Module Design: Break the system into manageable modules (e.g., user authentication,
data encryption) that will be developed separately.

Coding/Implementation: Write the code for each module based on the designs created
earlier.

Testing Phases Corresponding to Development:

Requirements Testing: Validate that the requirements meet regulatory standards.

System Testing: Ensure that the system design fulfills the specified requirements.

Integration Testing: Check how the modules function together to maintain data integrity
and security.

Unit Testing: Test individual modules to verify their functionality and security.

Acceptance Testing: Conduct comprehensive testing to confirm the system meets all
requirements before going live..

2. The V-Model is a good fit for the healthcare project for several reasons:

1. Saves Time: Since testing is done alongside development, the team can identify and fix
issues quickly, avoiding delays in creating the secure patient records system.
2. Clear Understanding from the Start: At the beginning, the team gathers all
requirements related to patient privacy and regulatory compliance, ensuring everyone
knows what needs to be built to meet healthcare standards.

3. Testable Components:: Each part of the system, like data encryption and access
controls, is designed to be easily tested, ensuring that all security measures work
effectively.

4. Progress Can Be Tracked Easily: The clear steps of the V-Model allow project
managers to monitor how the development of the patient record system is progressing,
making it easier to ensure everything stays on schedule.

5. Proactive Defect Tracking: Testing throughout the project helps catch any mistakes
early, ensuring that any problems with patient data security or compliance are addressed
promptly.

In summary, the V-Model helps ensure that the healthcare system is developed efficiently
while maintaining high standards for security and compliance.

3. EASY VERSION:

Disadvantage: A drawback of using the V-Model in this healthcare project is that it doesn't
handle changes well once development starts. If new regulations come up or if testing shows
that important changes are needed, the V-Model can be clunky and cause delays. This is
especially challenging in healthcare technology, where rules can change quickly.

Suggested Solution: To fix this issue, the project team could add some flexible steps to the
VModel. They can schedule regular check-ins after each major phase to review and update the
project. This way, they can adjust to new rules or feedback without starting over. Also, having
regular meetings with stakeholders will help make sure the system meets user needs and stays
compliant with regulations during the project.
After the V-Model, the next choice for a healthcare project would likely be the Incremental
Model.(AGILE O DEOA JABE BUT TOMRA JEHETU INCREMENT LIKHE MARKS PEYECHO
ETAI DIO)

Here’s why:

• Incremental Model allows you to develop the system in smaller, manageable parts
(increments), ensuring that each increment is tested and validated. This is helpful if you
want to gradually build the system while ensuring compliance with regulations for each
part.

• You can still maintain a level of rigorous testing while gaining some flexibility to adapt
to changes in requirements, which might occur in the healthcare sector.

The Incremental Model is a way to develop software by breaking a project into smaller
parts called increments. Each increment adds new features or improves existing ones, allowing
the team to deliver working software more quickly rather than waiting for the whole system to be
finished. IT IS USED FOR BIG PROJECTS.
EXAMPLES: E-commerce Website Development:: An e-commerce site has many

features like user registration, product browsing, and payment processing. The Incremental
Model allows developers to create these features one at a time. For example:

o First increment: User registration and login o Second increment:

Product browsing and selection o Third increment: Payment processing

• Benefits: This means users can start using the site sooner, and feedback can be used to
make improvements after each increment.
Online Learning Platform: An online learning platform requires various features like
course creation, assessments, and progress tracking. The Incremental Model helps develop
these features in phases. For example:

o First increment: Course creation and basic content delivery o

Second increment: Assessment tools and student interactions

• Benefits: Users can start using the platform early, and improvements can be made based
on their experiences.

The Incremental Model is beneficial because it breaks complex projects into


parts. This allows for: manageable

Faster Delivery: Users receive functional features sooner.

• Continuous Feedback: Improvements can be made after each increment based on user
input.

• Flexibility: Changes can be made more easily as the project progresses.

This model is great for projects where delivering parts of the system early and
incorporating user feedback are essential for success.
.

The Agile Model is a way of developing software that focuses on being flexible, working
together, and making improvements in small steps. Its main goals are to keep customers happy, adapt
to changes easily, and always look for ways to improve rather than sticking to strict plans.
E-commerce Website Enhancement :Why Agile Scrum Works: E-commerce websites need
constant updates to improve user experience and add features. The Scrum method allows teams to
focus on small improvements each sprint (a set time for development). This way, they can quickly adapt
the website based on what users want and how they behave.

Healthcare Patient Management System:: Developing a patient management system


involves changing rules and feedback from healthcare workers. Agile Scrum’s flexible nature
means teams can work closely with medical staff to make sure the system meets their needs
and stays compliant with regulations. This helps keep patient data secure while adapting to new
healthcare practices.

Video Game Development Game development requires creativity and quick changes based on
player feedback. Agile Scrum allows developers to create parts of the game quickly, show them
to players, and make adjustments based on how players react. Regular reviews help ensure the
game is fun and engaging.
Agile Scrum works well in these examples because it allows teams to be flexible,
respond to feedback quickly, and focus on continuous improvement, making it ideal
for projects that need regular updates and adaptation.

Disadvantage:

• WHEN TO USE:
• Choose Waterfall if you have a clear, unchanging project scope.

• Choose V-Model if you need rigorous validation and testing at each step.
Choose Incremental Model if you want to deliver features quickly, incorporate user feedback,
and adapt to changing requirements.

• Choose Agile Scrum if you think the requirements will change a lot, want your team to
work closely together, and need to build software in small parts while making improvements
based on what users say.

In summary, if flexibility and user feedback are crucial, the Agile Scrum model is the best
choice. For projects that need strict validation and testing, the V-Model is ideal. The Incremental
Model works well for delivering features quickly and adapting to changing requirements, while
the Waterfall Model is best suited for simpler projects with stable requirements.
Differences Between Agile and Incremental Model:

1. Flexibility:

o Agile: Very flexible, easily adapts to changing requirements.

o Incremental: Less flexible, changes are harder to make once an increment is


started.

2. User Feedback:

o Agile: Continuous feedback after every short iteration (sprint).

o Incremental: Feedback is gathered after each completed increment.

3. Project Structure:

o Agile: Iterative, with frequent collaboration and changes.

o Incremental: Develops the system in parts, with each increment adding a new
feature.

4. Focus on Iteration:
o Agile: Each cycle improves and updates the product.

o Incremental: Each increment is more structured and usually finalized once done.

5. When to Use:

o Agile: Best for projects with rapidly changing requirements.

o Incremental: Ideal for projects where features are added gradually and
requirements are more stable.

Topic 2

Software Requirements
Software Requirements describe the features and functionalities of the target
system and what the system should do.

Requirements Engineering (RE) involves defining, documenting, and maintaining


requirements during the engineering design process.

1. Feasibility Study: Is the project practical or possible?

Example: Can we build a system that processes 100,000 orders per minute?

2. Requirement Gathering/Elicitation: Collecting user needs.

Example: Asking users what features they want in a mobile banking app.
3. Software Requirement Specification (SRS): A detailed document listing all
requirements.

o Example: The SRS might specify the login screen should have username,
password fields, and a "forgot password" option.

4. Software Requirement Validation: Checking if the gathered requirements are


correct and meet user needs.

o Example: Verifying that all shopping cart functionalities (add, remove,


checkout) work as expected.

(Functional vs Non-Functional Requirements):


• Functional Requirements are related to the software's working or functional
aspects.

• Non-Functional Requirements refer to the expected characteristics of the target


software, such as:

1. Security: Protecting the system from bad people or hackers.

Example: Your banking app uses passwords and sends a code to your phone to
make sure only you can log in.

2. Storage:Where the system saves data and files.

Example: Google Drive stores your photos and documents so you can access
them anytime from any device.
3. Configuration: How you set up the system to do what you want.

Example: In a video game, you can change settings like sound volume or control
keys to make it work how you like.

4. Performance:How fast and smoothly the system works, especially with lots of
users.

Example: A shopping app like Amazon needs to load quickly, even when
thousands of people are using it at the same time.

5. Cost:How much money it takes to build, use, or maintain the system.

Example: Using Netflix costs money each month based on the plan you choose
for streaming movies.

6. Interoperability:The system can work with other systems or apps.

Example: Your phone connects with your smartwatch to track your steps and
syncs the data with a fitness app.

7. Flexibility:The system can be changed or adapted to new needs.

Example: A website can easily add a new feature like a blog or an online store if
needed later.

8. Disaster Recovery: What the system does to recover after something goes
wrong, like a crash or power outage

Example: If your favorite website crashes, it has a backup server to get back online
quickly.
9. Accessibility:Making sure everyone can use the system, even people with
disabilities.

Example: A website has options like larger text or voice navigation to help people who
have trouble seeing or using a mouse.

Difference Between Functional and Non-Functional Requirements:

1. Functional Requirements: These are about what the system should do.

o Scenario: In an online shopping website, functional requirements include:

§ Users can browse products.

§ Users can add items to a cart.

§ Users can make payments through credit card or PayPal.

§ Users receive a confirmation email after purchasing.

2. Non-Functional Requirements: These are about how the system performs its
functions (the quality, performance, or experience).

o Scenario: For the same online shopping website:

§ Performance: The website must load in less than 2 seconds.

§ Security: User payment information must be encrypted.


§ Scalability: The system should handle 10,000 users at the same
time without crashing.

§ Usability: The website should be easy to navigate, even for first-


time users.

Summary:

• Functional: Focus on features (what the system does).

• Non-Functional: Focus on qualities (how the system works, performs, or feels)

Scenario:
You are designing a food delivery app like Uber Eats. Here's what the app
needs to do:

1. Users can search for nearby restaurants.

2. The app must display search results within 3 seconds.

3. Users can place an order from any restaurant.

4. The app should work on both iOS and Android.

5. The payment process must be secure, using encrypted data.

6. Users get a notification when their food is on the way.

7. The app should handle up to 5,000 orders at the same time.


8. The interface must be user-friendly for easy navigation.

Ans: Identifying Functional and Non-Functional Requirements:

• Functional Requirements (What the system does):

1. Users can search for nearby restaurants.

2. Users can place an order from any restaurant.

3. Users get a notification when their food is on the way.

• Non-Functional Requirements (How the system behaves):

1. The app must display search results within 3 seconds (Performance).

2. The app should work on both iOS and Android (Compatibility).

3. The payment process must be secure, using encrypted data (Security).

4. The app should handle up to 5,000 orders at the same time (Scalability).

5. The interface must be user-friendly for easy navigation (Usability).

Summary:

• Functional: Search, place orders, notifications.

• Non-Functional: Speed, platform support, security, scale, and ease of use.


Topic 3:UML DIAGRAM

Use Case Diagram:


Example:
Extend :

Include:
System
boundary

Connect,Admin ,Boundary:
Another Example:Shopping App

You might also like