18 ◾ Software Essentials
form. Since reconstruction of experience is subject to bias, models must
record essential assumptions and priorities so that recollection remains
specic. Visual imagery helps.
Models abound. Many dierent types of models are used in soware
development, including domain models, architectural models, risk-driven
models, deployment models, and design models. Specic representations
of models include owcharts, data ow models, decision tables, Petri
nets, state charts, class diagrams, sequence diagrams, use cases, activity
diagrams, and nite state machines. e wide variety of UML (Unied
Modeling Language) constructs (see uml.org) illustrates the complexity
of modeling and the many levels at which modeling may ...