Components of ERD


Entities : An entity is something about which the business needs to store data. An entity is a class of persons, places, objects, events or concepts about which we need to capture and store data. An entity instance is a single occurrence of an entity.

Attribute: An attribute is a descriptive property or characteristic of an entity. Synonyms include element, property and field. A compound attribute is one that actually consists of other attributes. It is also known as a composite attribute. An attribute “Address” is the example of compound attribute as shown in the following illustration

Relationships: A relationship is a natural business association that exists between one or more entities. The relationship may represent an event that links the entities.

Cardinality: defines the minimum and maximum number of occurrences of one entity that may be related to a single occurrence of the other entity. Because all relationships are bidirectional, cardinality must be defined in both directions for every relationship.

A DFD can be categorized in the following forms:ny system can be represented at any level of detail by these four symbols.

External Entities

External Entity

External entities determine the system boundary. They are external to the system being studied. They are often beyond the area of influence of the developer.These can represent another system or subsystem. These go on margins/edges of data flow diagram. External entities are named with appropriate name.

Processes

DFD Process

Processes are work or actions performed on incoming data flows to produce outgoing data flows. These show data transformation or change. Data coming into a process must be “worked on” or transformed in some way. Thus, all processes must have inputs and outputs. In some (rare) cases, data inputs or outputs will only be shown at more detailed levels of the diagrams. Each process in always “running” and ready to accept data.Major functions of processes are computations and making decisions. Each process may have dramatically different timing: yearly, weekly, daily.

Naming Processes

Processes are named with one carefully chosen verb and an object of the verb. There is no subject. Name is not to include the word “process”. Each process should represent one function or action. If there is an “and” in the name, you likely have more than one function (and process). For example, get invoice ,update customer and create Order Processes are numbered within the diagram as convenient. Levels of detail are shown by decimal notation. For example, top level process would be Process 14, next level of detail Processes 14.1-14.4, and next level with Processes 14.3.1-14.3.6. Processes should generally move from top to bottom and left to right.

Data Flow

DFD Data Flow

Data flow represents the input (or output) of data to (or from) a process (“data in motion”). Data flows only data, not control. Represent the minimum essential data the process needs. Using only the minimum essential data reduces the dependence between processes. Data flows must begin and/or end at a process.Data flows are always named. Name is not to include the word “data”. Should be given unique names. Names should be some identifying noun. For example, order, payment, complaint.

Data Stores

Data Store

or

Data Store

Data Stores are repository for data that are temporarily or permanently recorded within the system. It is an “inventory” of data. These are common link between data and process models. Only processes may connect with data stores.There can be two or more systems that share a data store. This can occur in the case of one system updating the data store, while the other system only accesses the data.

Context diagrams 
An overview of an organizational system that shows the system boundaries, external entities that interact with the system and the major information flows between the entities and the system. In this diagram, a single process represents the whole system.

First level DFD: A data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.