Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information & Communication Technology Engineering/
  4. ICT Semester 5/
  5. Software Engineering (4353202)/

2 mins· ·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Lecture 14: Non-Functional Requirements

Lecture 14: Non-Functional Requirements

Unit 3: Requirement Analysis and Design (4353202)

Lecture Agenda

  • Recap of Functional Requirements
  • What are Non-Functional Requirements (NFRs)?
  • Categories of NFRs
  • Examples of NFRs
  • Importance of NFRs
  • Key Takeaways

Recap of Functional Requirements

Functional requirements define what a system should do. They describe the specific behaviors, functions, and features of the system.

What are Non-Functional Requirements (NFRs)?

Non-functional requirements define how a system should perform a certain function. They are the quality attributes of a system, such as performance, security, and reliability.

They do not affect the basic functionality of the system, but they have a critical impact on the user experience.

Categories of NFRs

  • Performance: How fast the system responds.
  • Scalability: How well the system can handle a growing amount of work.
  • Reliability: The ability of the system to perform its required functions under stated conditions for a specified period of time.
  • Security: The ability of the system to protect information from unauthorized access, use, disclosure, alteration, or destruction.
  • Usability: The ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component.
  • Maintainability: The ease with which a software system or component can be modified to correct faults, improve performance, or adapt to a changed environment.

Examples of NFRs

  • Performance: The system shall load the user dashboard in under 3 seconds.
  • Scalability: The system shall support up to 10,000 concurrent users.
  • Reliability: The system shall have 99.9% uptime.
  • Security: All user passwords must be stored in an encrypted format.
  • Usability: A new user should be able to complete the registration process in under 2 minutes.
  • Maintainability: The code shall follow the specified coding standards.

Importance of NFRs

  • User Satisfaction: A system that is slow, unreliable, or difficult to use will not be successful, even if it has all the right features.
  • System Success: NFRs are often the difference between a successful and an unsuccessful project.
  • Cost of Failure: Ignoring NFRs can lead to costly failures, such as security breaches or system crashes.
  • Legal and Compliance: Many NFRs are driven by legal and regulatory requirements.

Key Takeaways

  • **Non-functional requirements** define the **quality attributes** of a system.
  • They are the **"how"** of the system, as opposed to the "what" of functional requirements.
  • They are critical for **user satisfaction** and the overall **success of the project**.
  • They should be **specific, measurable, achievable, relevant, and time-bound (SMART)**.

Next Lecture

Topic: Characteristics of Good Software Design

Q & A

Questions & Discussion