Data dictionary for software development


The data dictionary is a centralized collection of information about data. It stores the value and origin of the data, their connection with other data, the data format for use, etc. The data dictionary contains strict definitions of all names to facilitate the work of users and software developers.

The data dictionary is often mentioned as a storage of metadata (data on data). It is created together with the DFD software model (data flow diagram) and, as expected, will be updated whenever DFD changes or updates.

Dic 1 Dictionary requirement

Data is referred to through the data dictionary when designing and implementing software. This dictionary eliminates any chance of ambiguity. This helps synchronize the work of programmers and designers using the same link to the object everywhere in the program.

The data dictionary provides a method of documentation for the entire database system in one place. DFD validation is carried out using a data dictionary.


The data dictionary should contain information about the following

Data stream

Data structure

Data elements

Data storage

Data processing

The data flow is described using DFD, as previously studied, and presented in algebraic form, as described.


Address = house No. + (street / district) + city + staff

Course identifier = Course number + Course name + Course level + Course rating

Data elements

Data elements consist of the name and description of data and control elements, internal or external data storage facilities, etc. With the following details:

The main name

Secondary name (pseudonym)

Use option (how and where to use)

Description of the contents (notation, etc.)

Additional information (pre -installed values, restrictions, etc.)

Data store

He stores information where the data enters the system and exist outside the system. The data storage may include –


Internal software.

External in relation to software, but in the same machine.

External in relation to software and a system located on another machine.


Name Agreement

Properties indexing

Data processing

There are two types of data processing:

Logical: as the user sees

Physical: as the software sees

Software development strategies

Software development is a process of conceptualizing software requirements for software implementation. Software development takes user requirements as problems and tries to find the optimal solution. While the software is conceptualized, a plan is drawn up to find the best possible design for the implementation of the alleged solution.

There are several options for software design. Let’s briefly study them:

Structured design

Structured design is a conceptualization of the problem on several well -organized elements of solution. This is mainly due to the design of the solution. The advantage of the structured design is that it gives a better understanding of how the problem is solved. A structured design also allows the designer to more accurately focus on the problem.

The structured design is mainly based on the “Separate and conquer” strategy, where the problem is divided into several small problems, and each small problem is solved individually until the whole problem is solved.

Small pieces of the problem are solved using the solution modules. A structured design emphasizes that these modules are well organized to achieve an accurate solution.

These modules are located in the hierarchy. They communicate with each other. A good structured design always follows some rules of communication between several modules, namely:

Cohesion is a grouping of all functionally related elements.

Clutch is a connection between various modules.

A good structured design has high cozia and a low clutch.

Functional-oriented design

With a functional-oriented design, the system consists of many small subsystems known as functions. These functions can perform significant tasks in the system. The system is considered as a type of all functions.

Functionally oriented design inherits some properties of structured design, which uses the methodology “Separate and conquer”.

This design mechanism divides the entire system into smaller functions that provide abstract means by concealing information and their work. These functional modules can exchange information among themselves by transmitting information and using information available on a global scale.

Another characteristic of functions is that when the program causes a function, it changes the state of the program, which is sometimes not acceptable for other modules. Functional-oriented design works well when the state of the system does not matter, and the program / functions work at the input, and not on the state.

Design process

The entire system is considered as a data stream in the system using a data flow chart.

DFD shows how the functions change the data and condition of the entire system.

The entire system is logically divided into smaller blocks, known as functions, depending on their work in the system.

Each function is then described as a whole.

Object-oriented design

Object-oriented design works around entities and their characteristics, and not the functions involved in the software system. This design strategy is focused on entities and its characteristics. The whole concept of the program solution revolves around interested parties.

Objects – all objects involved in the development of a solution are called objects. For example, a person, banks, a company and customers are considered as objects. Each entity has some attributes associated with it, and there are several methods for working with attributes.

Classes. Class is a generalized description of the object. The object is a copy of the class. The class determines all the attributes that the object can have, and the methods that determine the functionality of the object.

In the solution of solutions, attributes are stored as variables, and functionality are defined using methods or procedures.

Previous PostNextNext Post