Chapter 14
Chapter 14
Beyond functionality
Objectives
• Definition
• Purpose
• Sources of constraints
• Example
– CON-1. The user clicks at the top of the project list to change the sort
sequence. [specific user interface control imposed as a design constraint on
a functional requirement]
– CON-2. Only open source software available under the GNU General Public
License may be used to implement the product. [implementation
constraint]
– CON-3. The application must use Microsoft .NET framework 4.5.
[architecture constraint]
– CON-4. ATMs contain only $20 bills. [physical constraint]
– CON-5. Online payments may be made only through PayPal. [design
constraint] CON-6. All textual data used by the application shall be stored in
the form of XML files. [data constraint]
Handling quality attributes on
agile projects
• It can be difficult and expensive to retrofit desired quality
characteristics into a product late in development or after
delivery.
• That’s why even agile projects that develop requirements and
deliver functionality in small increments need to specify
significant quality attributes and constraints early in the project.
• This allows developers to make appropriate architectural and
design decisions as a foundation for the desired quality
characteristics.
• Nonfunctional requirements need to have priority alongside
user stories; you can’t defer their implementation until a later
iteration.
• Example