G&W Chapter 15: Attributes Software Specification Lecture 22 Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Software Specification: G&W Chapter 15 What are Attributes? They describe characteristics or qualities desired by the client. Think of them as adjectives or adverbs modifying one or more functions. Two products could have the same functions, but different attributes can make them completely different products. Software Specification: G&W Chapter 15
Attribute Identification Heuristic Have the client brainstorm a list of potential attributes. Sort attributes from attribute details. Fill in the list with attributes for all the details, and with the details suggested by all the attributes. Attribute = (list of attribute details) Associate each attribute with the appropriate function or functions. Attribute A of function F = (list of attribute details) Software Specification: G&W Chapter 15
Attribute Identification Heuristic (cont’d) Classify each attribute as must (M), want (W), or ignore (I). You must struggle to reduce the number of M and W attributes... If you don’t, the cost of design will rise astronomically, which is why designers instinctively and implicitly eliminate hundreds of attributes from consideration. Document the M and W attributes for further processing. Software Specification: G&W Chapter 15
Attributes vs. Attribute Details Attributes are dimensions in which we are interested. Attribute details are points, or sets of points, along that dimension. colorful color brown legal inexpensive low-maintenance Software Specification: G&W Chapter 15
Software Specification: G&W Chapter 15 Other Ideas It’s essential to generate large numbers of attributes “out of the world of fantasy” and without regard to achievability. Only then is explicit elimination safe. Remind participants of the elimination step, which gives them the safety to mention “ridiculous” attributes. Software Specification: G&W Chapter 15
Software Specification: G&W Chapter 15 Other Ideas (cont’d) You must deliberately carry the attribute-generation process to the point where attributes seem to conflict. That’s the way the real design issues emerge. Software Specification: G&W Chapter 15
Software Specification: G&W Chapter 15 Example A client has brainstormed the following “attributes” for “a device to tell time”. Identify actual attributes / attribute details for the appropriate functions. Easy to tell time Weather resistant High-Tech Classic Extremely accurate Fun to use Portable Reliable Software Specification: G&W Chapter 15
G&W Chapter 15: Attributes Software Specification Lecture 22 Prepared by Stephen M. Thebaut, Ph.D. University of Florida