Page 243 -
P. 243
210 Part 3 • the analysis Process
The Data Dictionary
A data dictionary is a specialized application of the kinds of dictionaries used as references
in everyday life. A data dictionary is a reference work of data about data (that is, metadata).
Systems analysts compile data dictionaries to guide them through analysis and design. A data
dictionary is a document that collects and coordinates specific data terms, and it confirms what
each term means to different people in the organization. The data flow diagrams covered in
Chapter 7 are an excellent starting point for collecting data dictionary entries.
One important reason for maintaining a data dictionary is to keep clean data. This means
that data must be consistent. If you store data about a man’s sex as “M” in one record, “Male” in
a second record, and as the number “1” in a third record, the data are not clean. Keeping a data
dictionary will help in this regard.
Automated data dictionaries (part of the CASE tools mentioned earlier) are valuable for their
capacity to cross-reference data items, thereby allowing necessary program changes to all programs
that share a common element. This feature supplants changing programs on a haphazard basis, and
it prevents waiting until the program won’t run because a change has not been implemented across
all programs sharing the updated item. Clearly, automated data dictionaries are important for large
systems that produce several thousand data elements requiring cataloging and cross-referencing.
Need for Understanding the Data Dictionary
Many database management systems now come equipped with an automated data dictionary.
These dictionaries can be either elaborate or simple. Some computerized data dictionaries auto-
matically catalog data items when programming is done; others simply provide a template to
prompt the person filling in the dictionary to do so in a uniform manner for every entry.
Despite the existence of automated data dictionaries, a systems analyst should understand
what data compose a data dictionary, the conventions used in data dictionaries, and how a data
dictionary is developed. Understanding the process of compiling a data dictionary can aid a sys-
tems analyst in conceptualizing the system and how it works. The upcoming sections allow the
systems analyst to see the rationale behind what exists in automated data dictionaries.
In addition to providing documentation and eliminating redundancy, a data dictionary may
be used to:
1. Validate the data flow diagram for completeness and accuracy.
2. Provide a starting point for developing screens and reports.
3. Determine the contents of data stored in files.
4. Develop the logic for data flow diagram processes.
5. Create XML (Extensible Markup Language).
The Data Repository
Whereas a data dictionary contains information about data and procedures, a larger collection of
project information is called a repository. One of the benefits of using a CASE tool to develop
the data dictionary is the ability to develop a repository, or a shared collection of project informa-
tion and team contributions. The repository may contain the following:
1. Information about the data maintained by the system, including data flows, data stores,
record structures, elements, entities, and messages
2. Procedural logic and use cases
3. Screen and report design
4. Data relationships, such as how one data structure is linked to another
5. Project requirements and final system deliverables
6. Project management information, such as delivery schedules, achievements, issues that
need resolving, and project users
The data dictionary is created by examining and describing the contents of the data flows, data
stores, and processes, as illustrated in Figure 8.1. Each data store and data flow should be defined
and then expanded to include the details of the elements it contains. The logic of each process
should be described using the data flowing into or out of the process. Omissions and other design
errors should be noted and resolved.