Lesson 5 | Data dictionary |
Objective | Use and benefits of keeping data dictionary/Problem domain vocabulary. |
Data Dictionary Benefits
Data Dictionary Benefits
Humans are very good at context-specific interpretation of information; computers are not. Humans can reinterpret and correct misunderstandings and miscommunications, whereas computers typically cannot. This is a critical distinction when you realize that terminology is the basis for modeling.
A simple example
Here is a simple example of how critical it is to define project terminology. In the course project, where you are developing an online ticket sales system for a local auditorium, the word "hold" can have a variety of possible definitions:
- Change the status of a seat while a customer decides whether or not to buy it
- Lock the database record
- File a ticket at the door for pick-up
- Suspend a transaction
- Keep the ticket and do not mail it because a payment bounced
How can you resolve these conflicting definitions?
Data dictionary
To resolve conflicts over the interpretation of words in everyday situations, you can pull a dictionary from the shelf and get the definition of the term in question.
In a project, you can create your own dictionary. A data dictionary defines the vocabulary of the problem domain.
Entries in the data dictionary can and will change over the course of a project, but they should change only when everyone involved in the project agrees to the change. Use a data dictionary to ensure consistent, high-quality communication.
Contents of your data dictionary
What belongs in a data dictionary? The examples below will give you a good starting point.
For nouns, you should include these items:
Name : |
Fully qualify the name with adjectives if needed to distinguish the term as applied in different contexts |
Definition: |
Allow multiple definitions only when each context is clearly defined |
Synonyms: |
Other terms that may be encountered during the project and that mean the same thing |
Data type: |
What kind of data is used to describe this element? |
Length: |
How many characters or digits are allowed? |
Legacy equivalents: |
What field names hold this information in the old systems or in related systems |
Example of its use: |
Provide an example of how the users might refer to this item in conversation |
Derived? |
Is this element derived from other information? If yes, then specify the derivation rule. |
For verbs, you should include these items:
Verb |
Provide the most common form, for example, "hold" |
Alternative forms: |
Provide other ways the verb is used, for example, "held", "on hold", "holding" |
Example of its use |
Provide examples of how the users would use the term in the course of doing business |
An example noun: ticket
Noun: ticket
Name |
Ticket |
Defintion |
A receipt documenting the purchases of a unique seat in a single show |
Synonyms |
Seat (the users tend to use these terms interchangeably depending on the context), for example, that customer just purchased 4 seats |
Data Type |
Contains details about the seat and show details, a serial number,a dn some advertising on the back |
Length |
See data type |
Legacy Equivalent |
The old database did not track individual tickets. This is a new feature so that we can issue tickets electronically rather than pyscially. |
Example of its use |
The system will issue a ticket when the purchase is verified. A ticket represents the purcahse of seat in one show. |
Derived |
Only the serial number is unique to the ticket. The serial number is assigned by incrementing the last serial number |
An example verb: hold
Verb |
"hold" |
Alternative forms: |
"held", "on hold", "holding" |
Example of its use: |
When a customer identifies a seat in a show that they want to purchase, that seat is held for them until they release it or the system releases it due to timeout.
A customer may hold a seat while they find the rest of the seats they want to purchase in that particular show.
Holding a seat guarantees that other people cannot take it from you while you make up your mind.
|
Data Dictionary - Exercise
Click the Exercise link below to identify key data dictionary nouns in the course project problem statement.
Data Dictionary - Exercise