AGILE Model
AGILE Model
Functional requirements are the main things a software system must do. These
are the important features or tasks the software needs to perform. They tell:
These requirements help developers build the system in a way that meets user
needs and expectations.
They are usually written from the user’s point of view. They describe how the
user will use the system and how the system should respond. Developers follow
these requirements to create the right features in the software.
1. Login Functionality: Users must be able to log in using a valid username and
password.
2. Processing Data: The system must calculate total costs including tax and
shipping.
Functional requirements are very important because they explain exactly what the
software should do. They help in the following ways:
Guide the developers: They help developers know what features to build
and how the system should work.
Help with testing: They are used to check if the system is working correctly
or not.
Meet user and stakeholder needs: They make sure the software includes
the right features that users and stakeholders expect.
Use Cases: These describe how a user interacts with the system to complete
a task.
User Stories: These are short sentences that show what the user wants to
do. Example: "As a user, I want to upload a photo so that I can share it with
others."
Non-functional requirements tell how the software should work, not what it
should do.
They are about the quality of the system — like how fast, safe, easy to use, and
reliable it is.
These requirements make sure the software works well and meets the needs of
users and stakeholders.
They describe the quality of the system — like how fast it works (performance),
(usability), how well it can grow with more users (scalability), how safe it is
(security),and how dependable it is (reliability).
These are about how well the system works, not what it does. Some examples are:
Performance: The system should work smoothly even if 1,000 people use it
at the same time.
Scalability: The system should be able to grow and handle more users or
tasks if needed.
Availability: The system should be working and online 99.9% of the time in
a year.
Usability: The system should be easy to use, and users should reach any
main feature in 3 clicks or less.
Compliance: The system should follow data protection rules (like GDPR)
General Data Protection Regulation.
Non-functional requirements are important because they help make sure the
system works well in all situations. They improve how users feel when using the
system and help the software meet business and legal rules.
Set quality rules: They show how fast, safe, and reliable the system should
be.
Guide system design: They help decide what tools and technology to use
when building the system.
Make users happy: They improve things like ease of use, speed, and safety,
which makes users more satisfied.
Service Level Agreements (SLAs): These define the service levels the system must
provide, like uptime, response times, and other performance measures.
Quality Attribute Scenarios: These show how the system should perform in
different situations, like when there’s a lot of traffic.
Technical Architecture and Design Document: These explain the technical rules
the system must follow, like security, performance, and how it can grow.
SLAs: Defines service levels like uptime and response times.
Quality Attribute Scenarios: Describes system performance in different
situations.
Technical Design Document: Explains technical rules like security and
scalability.