General Tech Works
Cookie Policy
Cookie Policy

Cookie Policy

A note on translating ambiguity into structure

Use of Content

An entity relationship diagram forces questions about ownership and existence. It is not possible to draw a foreign key relationship without deciding who holds the reference and what happens when the referenced record is removed. These are not technical questions. They are business questions with technical consequences.

A sequence diagram forces questions about time and trust. When component A calls component B, what does A assume about B's response time? What does A do if B fails? What is the contract between them, and who defined it? A sequence diagram makes these assumptions visible because it requires them to be drawn.

A state diagram forces questions about completeness. Every state a record can be in must be named. Every transition between states must have a trigger. The exercise of drawing a state diagram almost always reveals states that were assumed but never named, and transitions that were expected but never designed for.

The common assumption is that a system designer sits down, understands the requirements, and produces a diagram that represents the system. In practice, the diagram is the process by which the system becomes understood. It does not follow clarity. It produces it.

Acceptable Website Use

Diagrams produced under time pressure, after the system design is considered complete, or by someone working alone without challenge, carry a higher risk of encoding assumptions rather than testing them. The format is correct. The thinking behind it may not be.

A UML diagram is only as reliable as the process that produced it.

Indemnity

An entity relationship diagram forces questions about ownership and existence. It is not possible to draw a foreign key relationship without deciding who holds the reference and what happens when the referenced record is removed. These are not technical questions. They are business questions with technical consequences.

A sequence diagram forces questions about time and trust. When component A calls component B, what does A assume about B's response time? What does A do if B fails? What is the contract between them, and who defined it? A sequence diagram makes these assumptions visible because it requires them to be drawn.

A state diagram forces questions about completeness. Every state a record can be in must be named. Every transition between states must have a trigger. The exercise of drawing a state diagram almost always reveals states that were assumed but never named, and transitions that were expected but never designed for.