Chapter 6: Problem 7
Describe four types of non-functional requirements that may be placed on a system. Give examples of each of these types of requirement.
Short Answer
Expert verified
The four types of non-functional requirements are performance, usability, reliability, and security, each with specific examples such as loading time, ease of use, uptime, and two-factor authentication.
Step by step solution
01
Identify the Four Types of Non-Functional Requirements
Non-functional requirements can generally be classified into four main categories: performance, usability, reliability, and security. These requirements focus on how the system performs rather than what it does.
02
Describe Performance Requirements
Performance requirements specify the system's response time, processing speed, and throughput. For example, a web application should load any page in less than two seconds from when the user requests it.
03
Describe Usability Requirements
Usability requirements outline how easy and efficient it is for users to accomplish tasks using the system. An example could be that a software platform needs to allow new users to operate its primary functions without extensive training.
04
Describe Reliability Requirements
Reliability requirements focus on the system's ability to operate consistently over time. An example may include a telecommunication system that needs to have a 99.9% uptime, meaning it can only be down for approximately 8.76 hours per year.
05
Describe Security Requirements
Security requirements determine the system's ability to protect data and functions against unauthorized access. An example is a banking application requiring two-factor authentication for user logins to ensure secure access.
Unlock Step-by-Step Solutions & Ace Your Exams!
-
Full Textbook Solutions
Get detailed explanations and key concepts
-
Unlimited Al creation
Al flashcards, explanations, exams and more...
-
Ads-free access
To over 500 millions flashcards
-
Money-back guarantee
We refund you if you fail your exam.
Over 30 million students worldwide already upgrade their learning with Vaia!
Key Concepts
These are the key concepts you need to understand to accurately answer the question.
Performance Requirements
Performance requirements are all about how quickly and efficiently a system operates under various conditions. These specifications are crucial as they help in setting benchmarks for the system's speed and capacity. For instance, imagine using a web page that takes a long time to load. This not only frustrates users but can also lead to a loss in user engagement. Therefore, a common performance requirement is that a web page should load within two seconds. Other areas could involve processing speeds, like how fast a transaction is completed in online shopping, and throughput, such as the number of transactions a system can handle in a given time.
- Response Time: The time it takes for the system to react to input.
- Processing Speed: How quickly a system can perform tasks.
- Throughput: The amount of work or data the system can handle.
Usability Requirements
Usability requirements focus on the ease of use and user-friendliness of a system. The primary goal here is to ensure users can interact with the system effectively and efficiently. A well-designed system reduces the time and effort users need to perform tasks, ultimately enhancing their experience.
An example of usability requirements could be designing a user interface for a mobile app that is intuitive for first-time users. It might involve ensuring that all primary functions are accessible without needing a complex manual, thus reducing the learning curve.
An example of usability requirements could be designing a user interface for a mobile app that is intuitive for first-time users. It might involve ensuring that all primary functions are accessible without needing a complex manual, thus reducing the learning curve.
- Learnability: How easy it is for users to accomplish basic tasks the first time they encounter the system.
- Efficiency: How quickly users can perform tasks after they have learned the system.
- Memorability: How easily users can reestablish proficiency after not using the system for a while.
Reliability Requirements
Reliability requirements address the system's dependability and its consistent performance over time. These requirements are vital as they ensure the system remains functional and accessible whenever needed. Reliability can be measured by the system's uptime, which is the percentage of time it is operational and available.
For example, consider a telecommunication service. If the service is down frequently, it affects users badly. Therefore, a common reliability requirement could be 99.9% uptime. This means the system can only afford a very minimal downtime throughout the year. Other aspects might involve error rates and successful data recovery methods during failures.
For example, consider a telecommunication service. If the service is down frequently, it affects users badly. Therefore, a common reliability requirement could be 99.9% uptime. This means the system can only afford a very minimal downtime throughout the year. Other aspects might involve error rates and successful data recovery methods during failures.
- Uptime: The availability of the system over a period.
- Error Rate: Frequency at which errors occur in the system.
- Fault Tolerance: The system's ability to continue operating despite failures.
Security Requirements
Security requirements are focused on safeguarding the system's data and functions from unauthorized access and breaches. This aspect is increasingly crucial as systems often contain sensitive information and are targeted by malicious activities.
An example of a security requirement could be the implementation of two-factor authentication in banking applications. This process requires users to provide two proof of identities before accessing their accounts, strengthening data protection. Other security measures include data encryption and access controls to prevent unauthorized alterations or theft of information.
An example of a security requirement could be the implementation of two-factor authentication in banking applications. This process requires users to provide two proof of identities before accessing their accounts, strengthening data protection. Other security measures include data encryption and access controls to prevent unauthorized alterations or theft of information.
- Authentication: Ensuring users are who they claim to be.
- Authorization: Allowing access only to users who need it.
- Data Encryption: Protecting data as it moves between systems or is stored.