How to write Functional Requirements?

Functional Requirements must include information about

  • Who will perform the function?
    • for example,
      • the admin can delete any user.
      • the student will submit the paper online on a university CMS
      • the student can check his result by entering his rollno.
      • the user can add a friend
      • the user can remove the friends
  • Who will perform the function on what?
    • the user can upload a profile picture
    • the user can send a message
    • the user can read a message
    • the user can delete a message
    • the user can add a watermark on any page.
  • What function will perform?
    • the librarian can search for a book
    • the student can add courses
  • What will be the input?
    • the user can login after matching his email address and password.
  • How it will process?
    • The teacher can add final term marks in CMS if mid-term marks are already published.
  • What will be the output?
    • the student can see his result in a text on the result page after submitting the rollno.

How to get functional and non-requirements from a case study?

Suppose you are working as a freelancer and you open fiver.com. Here, you will see that clients are interested to hire a person to complete their project but they are unable to send you a complete list of functional requirements. They just send you a scenario-based case and you need to study it and to understand it and finally to write the functional requirements according to the given case.

case study and Functional Requirements
case study and Functional Requirements

 

Example of What client wants?

Hi, My wordpress website is running slow, especially when browsed from IOS devices. Some plugins need an update, pictures are slow in loading and proper optimization for the speed is needed. It’s not a complicated website, just a portfolio of my work. I need someone to look at it and fix the issues above. Thank you.

Now, we need to understand and write functional requirements from this given case study. If we can understand this case study better, we can convince our client to hire us.

Now, let’s try to collect functional requirements from this case study.

Functional Requirement 1:The website must be optimized for speed.

Functional Requirement 2: All pictures must be optimized.

Functional Requirement 3: All expired plugins must be updated

how to get functional and non requirements from a case study
how to get functional and non-requirements from a case study

Common mistakes of students while writing the functional requirements

Common mistakes of students while writing functional requirements
Common mistakes of students while writing functional requirements

Question received from one of my readers

Dear Sir,

I saw your video regarding “How to write functional requirements”, so can you please help me with this? This question came up in my paper so I want to confirm if I wrote it correctly or wrong. The case study says “To set up a profile, the user will enter a name, email, and mobile number” So according to this case study, I wrote functional requirements as: “The user shall be able to enter his name”
“The user shall be able to enter his email, (constraint) the email must include @ and . (dot)” “The user shall be able to enter his mobile number, (constraint) entry must be numbered” So are these requirements with their constraints correct? Since the case study did not mention the @ sign, dot, or numbers. So do we write it in the functional requirements or not? Because logically, an email can not exist without @ and a number can not exist without a number. Tell me to know this please, I would be very grateful! Jazakallah Khair!
Answer

In the Case study, the customer does not show any interest to mention the special constraints, so as a software engineer, we can imagine that a programmer has enough knowledge to guess that person’s name is in characters, email must have @ sign. Similarly mobile numbers as integers.
So there is no need to mention the requirements about constraints of the given requirements. It’s a very understood thing for a programmer or a software engineer.
So, we can write this functional requirement as below;

The user will enter a valid name, email, and mobile number to signup and create a profile.

 

Library management system Functional & Non Functional requirements