CS 1212 Lecture 4
CS 1212 Lecture 4
• These are the quality constraints that the system must satisfy according to the project
contract.
• Examples of non-functional requirements are:
• Users must change the initially assigned login password immediately after the first
successful login. Moreover, the initial should never be reused.
• The system shall not disclose any personal information about customers apart from their
name and reference number to the operators of the system.
• The process of specifying non-functional requirements requires the knowledge of
the functionality of the system, as well as the knowledge of the context within which
the system will operate.
• Non-functional requirements may be more critical than functional requirements. If
these are not met, the system is useless.
CLASSIFICATION OF NON-FUNCTIONAL
REQUIREMENTS
• Security. How well are the system and its data protected
against attacks?
• Localization. Is the system compatible with local
specifics?
• Usability. How easy is it for a customer to use the
system?
VERIFIABILITY IN NON-FUNCTIONAL REQUIREMENTS
Property Measure
Speed • Processed transactions/second
• User-event response time
Screen refresh time
Size • K Bytes
• Number of RAM chips
Easy of Use • Training time
• Rate of errors made by trained users
• Number of help frames
CONFLICTS IN NON-FUNCTIONAL REQUIREMENTS
• These are requirements that come from the application domain of the system and that
reflect characteristics of that domain.
• May be new functional requirements, constraints on existing requirements or define
specific computations.
• If domain requirements are not satisfied, the system may be unworkable.
• When defining domain requirements, there is always some issues with
understandability and implicitness.
• Understandability: Requirements are expressed in the language of the application
domain, and often not understood by software engineers developing the system.
• Implicitness: Domain specialists understand the area so well that they do not think of
making the domain requirements explicit.
WRITING GOOD REQUIREMENTS
• (3) Avoid clauses or words that imply options or exceptions (unless, except, if necessary, but). For
example, use:
• The system shall provide 100% of rating in normal conditions.
• The system shall be capable of providing up to 125% of rating for the first 15 minutes in an emergency condition.
• The system shall provide a minimum of 90% of rating for not less than 15 minutes following first 15 minutes in an emergency
condition.
• The system shall activate a reduced rating exception if a minimum of 95% of rating is not maintained in an emergency
condition.
• Instead of:
• The system shall perform at the maximum rating at all times except that in emergencies it shall be capable of providing up to
125% of rating unless the emergency condition continues for more than 15 minutes in which case the rating shall be reduced
to 105% but in the event that only 95% can be achieved then the system shall activate a reduced rating exception and shall
maintain the rating within 10% of the stated values for a minimum of 30 minutes.
GUIDELINE FOR WRITING GOOD REQUIREMENTS