Copyright 2009,2020 Nikolas S. Boyd. All rights reserved.
Intent
Explicitly describe the cardinality of a relationship or an event.
Motivation
Software engineers care about measurements, both measurements captured by software solutions and measurements of the solutions themselves. As a consequence, software solution designs need to include information about instance populations, including constraints, limits, thresholds, order, storage sizing, etc.
So, the description of relationships between instances must consider their cardinality: how many instances of each type participate in a relationship? Definite articles, indefinite articles, and indefinite pronouns offer hints about cardinality. However, where practical, explicit cardinality should be sought for problem descriptions and usage requirements.
Applicability
Use a limiting adjective when
- you discover a statement describing a measurable state,
- you discover a statement describing a transitive event, or
- you discover a statement expressing a relationship between instances.
Considerations
Limiting adjectives supply (or indicate the need for) quantitative information about subjects and objects, including number, order, degree, etc. Their presence indicates quantitative areas of a conceptual model that should be explored and specified more concretely during object-oriented analysis. Specific numbers that characterize the bounds on relationships should be obtained from domain experts, solution users, business managers, and governors. For example, are the relationships:
1,
0..1,
0..n,
1..n, or
some other interval?
The following table provides a schema for the kinds of limiting adjectives frequently found in human discourse and the questions that elicit them.
| Question | Quantity | Examples |
|---|---|---|
| What portion? | Partition | 1 / 3 |
| Which? | Ordinality | 1st, 2nd, 3rd |
| How many? | Cardinality | 1, 2, 3 |
| How many times? | Iteration | 20 times |
| Multiplication | 20 fold | |
| How much? | Degree | close – closer – closest |
| Whether? | Affirmation | always, every, … |
| Negation | none, never, … | |
| Doubt | maybe, … |
Consequences
You can use a clause summary when a limiting adjective appears in statement about an activity or a relationship. You can use a condition description when a limiting adjective appears in a condition.