Non-functional requirements

Another type of critical requirement is non-functional requirements, which mainly focus on the operation of the new solution or application. Any customer requirement that talks about how the new application should be comes into this category. Non-functional requirements talk about the following characteristics of the application:

  • Application availabilityThis requirement talks about application availability during any downtime or failure. For example, any application maintenance mustn't take longer than 1 hour. We can also define which specific functionalities are critical and should be available as soon as possible.
  • SecurityThis requirement talks about what security features an application should have. This is a critical requirement as it has a direct impact on the customer data stored in the application. Security requirements of the application ensure that customer data is protected from any unauthorized access. Users can also access application data based on their security permissions.
  • ReliabilityThis requirement deals with the ability of an application to work without any failure. The failure may be because of code bugs, patch updates, or any hardware failure. Every new application or upgrade to an existing application is expected to work for a long time without any problems.
  • UsabilityThis is a critical requirement for any application. Most business applications fail because users are unable to easily learn and use them. The usability requirement includes simplicity of the application, simplicity of its user interface, and availability of help within the application.
  • PerformanceThis requirement talks about the responsiveness of the system based on different user actions, and how quickly an application should respond to user actions. The poor performance of an application leads to a negative user experience, therefore application response time should be quick.
  • Scalability: This requirement talks about increasing an application's capacity to support more workload if and when required. This may involve supporting more users, supporting more requests during a specific time, or processing more transactions without much impact on the application.

Most of the time, the scalability of an application is increased using hardware. For example, we may increase scalability by adding more hardware resources such as memory, servers, or disk space. 

  • Maintenance: This requirement talks about an application's ability to be maintained. This mainly includes fixing any existing bugs, restoring application data in case of failure, adding patches, and upgrading the application to the latest version.

Based on these characteristics, we can define non-functional requirements for our HIMBAP Auto Service Center as the following:

ID Category Description
1 Accessibility Application should be available 24/7 for users.
2 Accessibility Application should be accessible via popular web browsers as well as mobile devices.
3 Usability The new system should be easy to use with or without minimal user training.
4 Usability Application should have inbuilt help instructions.
5 Maintenance Any application upgrade or maintenance should be done after office hours.
6 Security Office staff should be forced to change their application password every month.
7 Security Only Service Center Head should be able to add or modify application users.
8 Security Only Service Center Head should be able to change user permissions.
9 Scalability Application should be able to support more transactions if and when required during festival season.
10 Reliability Any account update should be rolled back if any payment transaction fails.

 

Now that we have understood what a requirement is and learned the three categories of requirement, let's look at how we can gather these requirements and analyze them.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.199.210