A model is given for the analysis of rationality in design decision making. We define a formal means for answering the query, To what extent has a designer, on a particular occasion, using an explicit definition of 'good', decided rationally?
A decision rationality classification scheme is proposed. This scheme incorporates non-compensatory decision analysis techniques (dominance and conjunctive cut-off) as well as compensatory techniques (simple and hierarchical additive weighting, linear assignment, concordance, and displaced ideal). A formal definition of design decision is derived by extending the Lehman, Stenning, Turski transformational model of the software design process. Their view of artifact specification mappings between linguistic systems is extended to include the concomitant effect of the mapping on resource expenditure.
A formal specification for decision control knowledge is defined. This representation is the union of that knowledge required to support the various decision analysis techniques. Presumed to operationalize a designer's goals, the knowledge representation scheme includes five levels:
1. Each objective expresses some relevant design concern for an artifact and/or resource characteristic.
2. Each criterion expresses some relevant decomposition of a superior objective or criterion.
3. Each attribute expresses the bottom-most decomposition for a superior criterion. Each attribute may have a weight indicating its relative contribution to its superior criterion.
4. For each attribute, a value function expresses the designer's preference ordering over observed performance for an attribute.
5. For each attribute, an observation channel describes an observer independent metric over some specification (either resource or artifact) rendered in some linguistic system and a procedure for application of that metric.
Our model is applied to problems in Structured Design and conceptual data modeling. We argue that a comprehensive design history must include not only the transformations applied but also the rationale used in deciding their application. This rationale must include decision control knowledge governing both artifact (product) and resource (process) facets of design decision making. The principal contribution of this work is that the opacity of the decision intensive aspects of design are reduced thereby taking a necessary step for increasing the efficiency and effectiveness of software development.