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 13: Functional Requirements

Lecture 13: Functional Requirements

Unit 3: Requirement Analysis and Design (4353202)

Lecture Agenda

  • Recap of SRS
  • What are Functional Requirements?
  • Examples of Functional Requirements
  • How to Write Good Functional Requirements
  • Functional vs. Non-Functional Requirements
  • Key Takeaways

Recap of SRS

The Software Requirement Specification (SRS) is a document that describes the intended purpose, functionality, and behavior of a software system. It serves as a contract between the client and the developers.

What are Functional Requirements?

Functional requirements define what a system is supposed to do. They describe the behavior and functions of the system and its components.

They are the features that a user will directly interact with.

Examples of Functional Requirements

For an Online Shopping System:

  • The user shall be able to search for products.
  • The system shall provide a shopping cart for users to add products to.
  • The user shall be able to log in to their account using their email and password.
  • The system shall send an order confirmation email to the user after a successful purchase.
  • The system shall allow administrators to add, edit, and delete products.

How to Write Good Functional Requirements

  • Be Specific and Clear: Avoid ambiguous language.
  • Be Testable: It should be possible to verify that the requirement has been met.
  • Be Atomic: Each requirement should describe a single function.
  • Use "Shall" Statements: Use a consistent format, such as "The system shall...".
  • Include User Roles: Specify which users can perform the function.

Functional vs. Non-Functional Requirements

AspectFunctional RequirementsNon-Functional Requirements
FocusWhat the system doesHow the system does it
Example"The user shall be able to upload a photo.""The photo upload shall complete in under 5 seconds."
User InteractionDirectly visible to the userOften experienced as a quality of the system

Key Takeaways

  • **Functional requirements** define the specific behaviors and functions of a system.
  • They are the **"what"** of the system.
  • They should be **specific, testable, and atomic**.
  • They are distinct from non-functional requirements, which define the **qualities** of the system.

Next Lecture

Topic: Non-Functional Requirements

Q & A

Questions & Discussion