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

Classification of Requirements

Functional requirements specify what a system must do, such as allowing users to create customer records. Non-functional requirements specify system properties like performance, security, and reliability. Requirements can be written as user stories, use cases, or in a requirements specification document which provides an overview of requirements and decomposes them into detailed elements. Visual representations should also be included to aid understanding.

Uploaded by

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

Classification of Requirements

Functional requirements specify what a system must do, such as allowing users to create customer records. Non-functional requirements specify system properties like performance, security, and reliability. Requirements can be written as user stories, use cases, or in a requirements specification document which provides an overview of requirements and decomposes them into detailed elements. Visual representations should also be included to aid understanding.

Uploaded by

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

Classification of Requirements

 Functional: A requirement that specifies an action that a system MUST be able to perform, without
considering physical constraints. A requirement that specifies input/output behavior of the system

 Non-Functional: A requirement that specifies system PROPERTIES, such as environmental and


implementation constraints, performance, dependencies, maintainability, extensibility and reliability. Often
classified as: Performance Requirements External interface requirements Design constraints Quality
attributes Advanced Software Requirements Engineering:
Requirements

 General:
 What is the overall scope of the project from a requirements perspective?
 Example: A solution is required that allows users to maintain customers and contact with those
customers by salespeople.

 Business:
 What specific capabilities must the whole solution deliver to the Business?
 Example: Users must be able to create a record of contact with a customer by a salesperson.

 Functional:
What specific capabilities must the computerized part of the solution deliver?
 Example: The system will provide the ability to record details of contacts with a customer by a
salesperson
Requirements

Detailed:
 What business rules are to be enforced by the solution?
 Example: A customer can not be deleted if they have had any contact with salespeople in the last 6
years.

Non-Functional:
 What requirements exist that do not fall in to any of the other categories?
 Example: The system must support up to 150 concurrent users.

Data:
 What rules must the data enforce?
 Example: A customer can have many contacts by a salesperson.
Requirements

Technical:
 What technical constraints must the solution abide by? Often documented as a constraint rather than
requirement…
 Example: The system will be developed using object orientated standards.
 Requirements Overview

 A requirement is a statement of one of the following:


 What a system must do
 A known limitation or constraint on resources or design
 How well the system must do what it does

 The first definition is for Functional Requirements

 The second and third definitions are for Non- Functional Requirements (NFRs)
Functional Requirements

A Functional Requirement:
 is a statement of what a system must do (#1)
 is measured in “yes” or “no” terms
 usually employs the word “shall”

Examples:
 Add Participant“
 The software shall display an option to add a participant”
 Invite/prompt Operator“
 The software shall invite/prompt the operator if the participant clicks the Operator
Help icon.”
Functional requirements

 Functional requirements define the required behavior of the system to be built.


 Statements of services the system should provide
 Customers and developers usually focus all their attention on functional requirements
 Functionality of the system
 Abnormal behavior is also documented as functional requirements in the form of
exception handling
 Functional requirements should be complete, unambiguous and consistent
 Functional Requirements: 
 These are the requirements that the end user specifically demands as basic facilities that
the system should offer.
 All these functionalities need to be necessarily incorporated into the system as a part of the
contract.
 They are basically the requirements stated by the user which one can see directly in the
final product, unlike the non-functional requirements.
 Non Functional Requirements

 Non-functional requirements specify additional properties of the system to be


built, other than functionality.
 Most non-functional requirements relate to the system as a whole.
 They include constraints on timing, performance, reliability, security, maintainability,
accuracy, the development process, standards, etc.
 Non-functional requirements
 External interface requirements, performance requirements, design constraints, logical
database requirements, and “characteristics” can be subcategorized such as:
 Non-functional requirements: 
 These are basically the quality constraints that the system must satisfy according to
the project contract. The priority or extent to which these factors are implemented
varies from one project to other. They are also called non-behavioral requirements.
Types of Non-functional requirements

 13 non-functional requirements to be included in a Software Requirements Document.

 Performance requirements
 Interface requirements
 Operational requirements
 Resource requirements
 Verification requirements
 Acceptance requirements
 Documentation requirements
 Security requirements
 Portability requirements
 Quality requirements
 Reliability requirements
 Maintainability requirements
 Safety requirements
 Differences between Functional and Non Functional Requirements

Functional Requirements Non Functional Requirements

A functional requirement defines a system or its A non-functional requirement defines the quality
component. attribute of a software system.

It places constraints on “How should the software


It specifies “What should the software system do?”
system fulfill the functional requirements?”

Non-functional requirement is specified by technical


Functional requirement is specified by User. peoples e.g. Architect, Technical leaders and software
developers.

It is mandatory. It is not mandatory.

It is captured in use case. It is captured as a quality attribute.

Defined at a component level. Applied to a system as a whole.


 Differences between Functional and Non Functional Requirements
Functional Requirements Non Functional Requirements

Helps you verify the functionality of the software. Helps you to verify the performance of the software.

Functional Testing like System, Integration, End to End, Non-Functional Testing like Performance, Stress,
API testing, etc are done. Usability, Security testing, etc are done.

Usually easy to define. Usually more difficult to define.

Example Example
1) Authentication of user whenever he/she logs into 1) Emails should be sent with a latency of no
the system. greater than 12 hours from such an activity.
2) System shutdown in case of a cyber attack. 2) The processing of each request should be done
3) A Verification email is sent to user whenever within 10 seconds
he/she registers for the first time on some software 3) The site should load in 3 seconds when the
system. number of simultaneous users are > 10000
How to write functional and non-functional requirements?

There are different ways to write functional and non-functional requirements.


The most common way to write functional and non-functional requirements is through a Requirements
Specification Document. It is a written description of the required functionality.
It states the project objective and includes an overview of the project to provide context, along with any
constraints and assumptions. The requirements specification document is should include visual representations
of the requirements to help non-technical stakeholders understand the scope.
Closely related to a requirements specification document is a Work Breakdown Structure or WBS. This breaks
down the entire process into its components by “decomposing” the requirements into their elements until they
cannot be broken down any further.
Another approach is User Stories. They describe the functionality from the perspective of the end-user and states
exactly what they want the system to do.
It effectively states “As a <type of user>, I want <goal> so that <reason>”. One benefit of user stories is that they
do not require much technical knowledge to write. User stories can also be used as a precursor to a requirements
specification document by helping define user needs.
Use Cases are similar to user stories in that no technical knowledge is necessary. Use cases simply describe in
detail what a user is doing as they execute a task. A use case might be “purchase product”, and describes from
the standpoint of the user each step in the process of making the purchase.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy