Requirements Quest announces Roxanne Miller's retirement 06-30-2024!
Requirements Quest announces Roxanne Miller's retirement 06-30-2024!
The examples provided here are a subset of the 100+ examples included in the Nonfunctional Requirements on-demand training course.
DEFINITION: Access Security is the extent to which the system is safeguarded against deliberate and intrusive faults from internal and external sources.
ELICITATION: Access security requirements address the user concern for how well the system is safeguarded against unauthorized access. When eliciting access security requirements, consider needs regarding user registration, user authorization, and user authentication.
EXAMPLE: [Forgotten password] Students may request a temporary password, and shall receive a link sent to their primary email address.
DEFINITION: Accessibility is the extent to which the software system can be used by people with the widest range of capabilities to achieve a specified goal in a specified context of use.
ELICITATION: Accessibility requirements address the user concern for how easy the system is to use by people with varying capabilities. When eliciting accessibility requirements, consider aspects related to legislation and standards, and specific needs such as visual, hearing, cognitive, and mobility.
EXAMPLE: [Accessible by people who are hard of hearing] All course lessons will provide a text alternative to audio content.
DEFINITION: Availability is the degree to which users can depend on the system to be up (able to function) during “normal operating times.”
ELICITATION: Availability requirements address the user concern for how dependable the system is during normal operating times. Consider the following needs when eliciting availability requirements: downtime impact on the business, partial availability impact on the business, transparent unavailability, and minimizing unavailability.
EXAMPLE: [Quarterly website upgrades] Routine software upgrades shall be applied no more frequently than once every three months, and whenever possible shall be installed while the RQ Website is active.
DEFINITION: Confidentiality is the degree to which the software system protects sensitive data and allows only authorized access to the data.
ELICITATION: Confidentiality requirements address the user concern for how well the system protects sensitive data and makes it available to authorized users. When eliciting confidentiality requirements, consider aspects related to access control, privacy of communication channels, input interfaces, and secure storage of sensitive data.
EXAMPLE: [No sensitive cardholder retention] The RQ Website will not retain customer credit or debit card information entered during the Checkout payment processing.
DEFINITION: Efficiency is the extent to which the software system handles capacity, throughput, and response time.
ELICITATION: Efficiency requirements address the user concern for how fast the system functions, how efficiently the system takes in inputs and processes outputs, and how much can be processed at a time. When eliciting efficiency requirements, consider needs regarding response time, throughput, process capacity, and storage capacity.
EXAMPLE: [Video load time] All course lesson videos should load in 2 seconds or less.
DEFINITION: Integrity is the degree to which the data maintained by the software system are accurate, authentic, and without corruption.
ELICITATION: Integrity requirements address the user concern for the accuracy and authenticity of the data. When eliciting integrity requirements, consider needs regarding routine backups of data to prevent loss, backing up data to multiple locations, data restore procedures, and authenticity of data with respect to the original data source.
EXAMPLE: [Data backup] Customer orders shall be backed up at least once per month to prevent data loss.
DEFINITION: Reliability is the extent to which the software system consistently performs the specified functions without failure.
ELICITATION: Reliability requirements address the user concern for the system’s immunity to failure. When eliciting reliability requirements, consider needs regarding possible causes of system failure, preventative actions or procedures necessary to avoid failure, failure classes, and reliability metrics.
EXAMPLE: [Probability of Failure on Demand] The RQ Website probability of failure on demand (POFOD) shall be 0.0001 (1 out of 10000 plays) when a student requests to play a course video.
DEFINITION: Safety is the degree to which a software system prevents harm to people or damage to the environment in the intended context of use.
ELICITATION: Safety requirements address the user concern for how well the system protects people and the environment from harm. When eliciting safety requirements, consider aspects related to hazard avoidance, hazard detection and removal, and minimizing the damage if an accident occurs.
EXAMPLE: [Operation monitoring] The Medication Monitoring System shall not dispense doses of medication that are greater than maximum amount prescribed by the physician.
DEFINITION: Survivability is the extent to which the software system continues to function and recovers in the presence of a system failure.
ELICITATION: Survivability requirements address the user concern for the system’s resilience from failure. When eliciting survivability requirements, consider needs regarding failure detection techniques and fault recovery techniques.
EXAMPLE: [Update failure detected] When an update failure is detected all updates performed during the failed session shall be rolled back to restore the data to pre-session condition.
DEFINITION: Usability is the ease with which the user is able to learn, operate, prepare inputs and interpret outputs through interaction with a software system.
ELICITATION: Usability requirements address the user concern for ease of learning and using the system. When eliciting usability requirements, consider needs regarding ease of entry, ease of learning, ease of handling, likability, and possible metrics.
EXAMPLE: [Downloads are easy to access] Students shall have the option to download course materials when viewing a course lesson or the course overview.
DEFINITION: Flexibility is the ease in which the software can be modified to adapt to different environments, configurations, or user expectations.
ELICITATION: Flexibility requirements address the user concern for how easy it is to modify the system to work in different environments. When eliciting flexibility requirements, consider aspects such as organizational differences, industry differences, country differences, and whether the software system will be used at a single site or multiple sites.
EXAMPLE: [Pre-viewable course lessons] The RQ Website shall allow multiple course lesson videos within a specific course to be pre-viewable (played prior to purchasing the course). When a new lesson video is added it shall by default be non-viewable (video cannot be played unless the course is purchased).
DEFINITION: Maintainability is the ease with which faults in a software system can be found and fixed.
ELICITATION: Maintainability requirements address the user concern for how easy it is to upkeep and repair the system. When eliciting maintainability requirements, consider aspects such as maintenance performance metrics, maintenance support features, system maintenance features, system complexity, development process, maintenance process cycle, and possible problems.
EXAMPLE: [Mean preventative maintenance time] The mean preventative maintenance time on applying routine plug-in updates to the RQ Website shall be less than 30 minutes every 2 weeks.
DEFINITION: Modifiability is the degree to which changes to a software system can be developed and deployed efficiently and cost effectively.
ELICITATION: Modifiability requirements address the user concern for how quickly and cost effectively changes can be made to a software system. When eliciting modifiability requirements, ask the following questions to understand how changes affect the system:
• What can change?
• How likely is a change?
• When is a change made?
• Who does the change?
• What is the cost of the change?
EXAMPLE: [Course page content] RQ Website course marketing pages shall be editable in Cornerstone. The rationale for this requirement is that the RQ Admin can make simple course content adjustments without developer assistance.
DEFINITION: Scalability is the degree to which the software system is able to expand its processing capabilities upward and outward to support business growth.
ELICITATION: Scalability requirements address the user concern for how easy it is to expand or upgrade the system’s capabilities. When eliciting scalability requirements, consider aspects such as ability to cope with increasing processing load, expanding business locations, recycling hardware to minimize waste, and possible causes for degradation.
EXAMPLE: [Student scalability] The RQ Website shall be scalable to accommodate unrestricted growth in the number of students taking on-demand courses. (The roll out of corporate memberships will not restrict growth or negatively affect website performance.)
DEFINITION: Verifiability is the extent to which tests, analysis, and demonstrations are needed to prove that the software system will function as intended.
ELICITATION: Verifiability requirements address the user concern for how easy it is to show that the system performs its functions. When eliciting verifiability requirements, consider Verification and Validation techniques that might be used, possible inspection checks, and installability of the system.
EXAMPLE: [Parallel course launch] One or more courses shall be loaded and launched from a neutral party’s website. This parallel launch will help to verify the audio and sound quality of all course lesson videos.
DEFINITION: Installability is the ease with which a software system can be installed, uninstalled, or reinstalled into a target environment.
ELICITATION: Installability requirements address the user concern for how easy it is to install, reinstall, and uninstall a software system. When eliciting installability requirements consider aspects such as installation process, people who will perform the install, configuration of the target platform, and types of software.
EXAMPLE: [Plug-in upgrades] Installation of plug-in upgrades shall leave all website content and administrator settings unchanged.
DEFINITION: Interoperability is the extent to which the software system is able to couple or facilitate the interface with other systems.
ELICITATION: Interoperability requirements address the user concern for how easy it is to interface with another system. When eliciting interoperability requirements consider aspects such as software testing, product engineering, industry partnership, standard implementation, and common technology.
EXAMPLE: [Video interface] There shall be a clearly defined interface between the RQ Website and an external video host system. Its purpose is to stream course lesson videos.
DEFINITION: Portability is the ease with which a software system can be transferred from its current hardware or software environment to another environment.
ELICITATION: Portability requirements address the user concern for how easy it is to transport the system. When eliciting portability requirements, consider aspects of portability with regard to data, program, end-user, and developer documentation.
EXAMPLE: [Device independence] On-demand course lesson videos shall be viewed by students from multiple operating systems including Microsoft Windows, macOS, and Android.
DEFINITION: Reusability is the extent to which a portion of the software system can be converted for use in another system.
ELICITATION: Reusability requirements address the user concern for converting the software for use in another system. When eliciting reusability requirements, consider aspects of feasibility of software reuse, possible areas for reuse, and development standards.
EXAMPLE: [Frequently Asked Questions] The functionality for frequently asked questions on the RQ Website overall may be reused on frequently asked questions related specifically to on-demand courses.
Copyright © 2024 Requirements Quest - All Rights Reserved.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.