|
It is important that the author of this work product be able to analyze key decisions about the structure
and behavior of the system and communicate them to other collaborators. It is also important that these
decisions can be communicated at various levels of abstraction and granularity. Some aspects of the design
can be represented by source code, possibly with some extra annotations. But more abstract representations
of the design will be at a higher-level than source code.
The more abstract representation could use various representation options. UML could be used either
strictly or informally; it is a preferred notation based on its rich semantics and broad usage in the
industry. Other techniques could be used to communicate the design. Or the design could use a mix of
techniques as applicable.
Whether you record these representations on a white board or use a formal tool is not governed by this
process. But any representation, whether characterized as formal or informal, should unambiguously
communicate the technical decisions embodied by the design.
|