Software Design · Software Engineering

Data Dictionary

Watch lectures

Data Dictionary

Definition

A Data Dictionary is a centralized repository/catalog that defines and describes every data element (data flow, data store, process) that appears in the DFD — providing precise details about names, meanings, types, and structures of data.

Purpose

  • Removes ambiguity about what each data element in the DFD actually means
  • Serves as a reference for all stakeholders (analysts, designers, developers, testers)
  • Ensures consistency — the same data element is defined and used the same way everywhere

Typical Contents of a Data Dictionary Entry

Field Description
Name The data element's name (e.g., "CustomerID")
Alias Other names it might be known by
Description What the data represents
Type/Format Data type (integer, string, date) and format (e.g., YYYY-MM-DD)
Length/Range Valid size or range of values
Where used Which processes/data flows/data stores use it

Notation for Composite Data (common conventions)

Symbol Meaning
= Is composed of
+ And (combines elements)
[ | ] Either/or (selection)
{ } Repetition (iteration, 0 or more times)
( ) Optional element
**...** Comment

Example

CustomerOrder = CustomerID + OrderDate + {OrderItem} + TotalAmount
OrderItem = ProductID + Quantity + UnitPrice
Gender = [ "Male" | "Female" | "Other" ]

Relationship to DFD

The DFD shows what data flows where; the Data Dictionary defines precisely what that data is — they are used together, the DFD giving the "map" and the Data Dictionary giving the "glossary."

Benefits

  • Eliminates confusion/inconsistency across large teams
  • Supports database schema design later
  • Useful reference during testing (to know valid data ranges/types)

Exam tip: Be ready to construct a small data dictionary entry (with =, +, {}, [|] notation) for a given data element from a DFD scenario — a common practical question paired with DFD.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules

Data Dictionary — Software Engineering — PYQDeck