Functional Requirements are the features and capabilities that a software application must provide in order to meet the needs of its users. They describe the behavior of the software system and its functionality. These requirements specify what the system should do, how it should behave, and how it should interact with users and other systems. Examples of functional requirements include user authentication, data input and retrieval, reporting, and search functionality.
Nonfunctional Requirements are the characteristics that describe how the software application should perform. They do not describe what the system should do, but rather how well it should do it. Nonfunctional requirements can include system performance, scalability, reliability, security, usability, and maintainability. These requirements are often referred to as quality attributes or quality of service (QoS) requirements.
Functional Requirements: Requirements include functionalities and services that are needed by the users to meet their need and to achieve their business objectives.
Typical functional requirements are:
- Administrative functions
- Authorization levels
- Audit Tracking
- Business Rules
- Certification Requirements
- External Interfaces
- Historical Data
- Legal or Regulatory Requirements
- Transaction correction, adjustments and cancellations.
Non Functional Requirements: Requirements that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.
Typical non functional requirements are:
- Data integrity
- Performance (for eg. response time, throughput)