Data Dictionary
Analysis model encompasses representations of data objects control and function. In every representation data objects and /or control items play a role. Thus it is necessary to give an organized approach for representing the characteristics of every control item and data objects. The data dictionary is accomplished this.
The data dictionary has been proposed as a quasi -formal grammar for describing the content of objects described during structured analysis. This is very important modeling notation has been described in the following manner [YOU89]
The data dictionary is a build listing of all data types which are pertinent to the system with precise rigorous definitions so in which both user and system analyst will have a common understanding of inputs outputs elements of stores and even intermediate calculations.
Presently the data dictionary is almost always implemented as part of a CASE structured analysis and design too whether the format of dictionaries varies from tool to tool most contain the following information:
- Name-the primary name of the data or control item and the data store or an external entity.
- Alias-other names used for the 1st entry
- Where-used or how-used-a listing of the processes which use the control or data item and how it is used example for input to the process output from the process as a store as an external entity
- Content description-a notation for representing content
- Supplementary information-other information about data kinds preset values if known limitations or restrictions etc.
Once a data control or object item name and its aliases are entered into the data dictionary consistency in naming can be enforced. If an analysis team member decides to name a newly derived data item abc but abc is already in the dictionary the CASE tool behind the dictionary posts a warning to indicate duplicate names. This technique improves the consistency of the analysis model and helps to decrease errors.
How-used or Where-used information is recorded automatically from the flow models. When a dictionary entry is build, the CASE tool scans CFDs and DFDs to determine that processes use the control or data information and most important advantages for the dictionary. In the duration of analysis there is an almost continuous stream of changes. For large projects it is often quite hard to determine the impact of changes. For big projects it is often quite hard to determine the impact of a change. Various software engineers have asked like, where this data object is used. What else will have to modify if we change it? What will the overall impact of the change be? Because the data dictionary can be treated as a database the analyst can ask where-used or how-used questions and get answers to queries noted above.
The notation used to build a content description which is described in? Figure 17.3 enables the analyst to present composite data in one of the 3 fundamental ways which it can be constructed those are:
1. as a sequence of data items
2. As a selection from between a group of data items or
3. as a repeated grouping of data items
Every data item entry which represented as part of a selection, sequence or repetition may itself be another data object which wants further refinement within the dictionary.
To describe the use of the data dictionary and the content description notation which is shown in Figure 17.3 we return to the level two DFD for the monitor system procedure for Safe Home which is shown in Figure 16.10. In the figure the data item telephone number is specified as input but what actually is a telephone number? It could be a seven digit local number a four digit extension or a twenty five digit long distance carrier sequence. The data dictionary procid4esus with a precise definition of telephone number for the DFD in question. In further it indicates how and where this data item is used and any supplementary information which is relevant to it. The data dictionary entry starts an s follows:
Name : Telephone number
Aliases : None
Where used/how used Assess against setup (output) Dial phone (input)
Description : Telephone number=[local extension/outside number]
The above content information may be read telephone number is composed of either a local extension for use in a large organization or an outside number. The Local extension and outside number represent composite data and must be refined although in other content information statements. By continuing the content description:
Data construct
|
Notation
|
Meaning
|
Sequence Selection Repelition
|
=
+ [|]
{}n
( )
* *
|
is composed of
And either-or
n repetitions of
optional data delimits comments
|
Figure - Content description notations for a data dictionary
Telephone number = [local extension/outside number]
Local extension = [2001/2001.../2999]
Outside number =9+ [local number/long distance number]
Local number =prefix+ access number
Long distance number = (1) + area code+local number
Prefix = [795/799/874/877]
Access number =*any four number string*
The content information is expanded until all composite data items data objects have been represented as basic items which need no further expansion or until all data objects are represented in terms which would be well down and unambiguous to all readers example for area code is commonly understood to means three digit number which never starts with zero or one. It is also important to note that a specification of elementary data often restricts a system. Example for the definition of prefix indicates which only 4 branch exchanges can be accessed locally.
The data dictionary describes information items unambiguously. While we might suppose that the telephone number represented through the DFD in Figure 16.10 could accommodate a twenty five digit long distance carrier access number the data dictionary content description tells us in which such numbers are not part of the data which may be used.
Fine or large computer-based systems the data dictionary grows rapidly in complexity and size. In fact it is extremely hard to maintain a dictionary manually. By this reason CASE tools should be used.