Early on in our analysis efforts, it's important that we clarify and begin to document our use of terminology. A data dictionary is ideal for this purpose. For each candidate class, the data dictionary should include a simple definition of what this item means in the context of the model/system as a whole; include an example if it helps to illustrate the definition.
The following sidebar shows our complete SRS data dictionary so far.
Note that it's permissible, and in fact encouraged, for the definition of one term to include one or more of the other terms; when we do so, we highlight the latter in bold text.
The data dictionary joins the set of other SRS narrative documents as a subsequent source of information about the model. As our model evolves, we'll expand the dictionary to include definitions of attributes, associations, and methods.
It's a good idea to also include the dictionary definition of a class as a header comment in the C# code representing that class. Make sure to keep this inline documentation in sync with the external dictionary definition, however.