Software Engineering - Old Questions

12. Write short notes on (any two):

    a. DFD

    b. Data dictionary

    c. Estimation techniques

6 marks | Asked in 2073

a) DFD

A data flow diagram (DFD) is a tool that depicts the flow of data through a system and the work or processing performed by that system. It shows how data enters and leaves the system, what changes the information, and where data is stored.

The objective of a DFD is to show the scope and boundaries of a system as a whole. It may be used as a communication tool between a system analyst and any person who plays a part in the order that acts as a starting point for redesigning a system.

Data Flow Diagrams are either Logical or Physical.

  • Logical DFD - This type of DFD concentrates on the system process, and flow of data in the system. For example in a Banking software system, how data is moved between different entities.
  • Physical DFD - This type of DFD shows how the data flow is actually implemented in the system. It is more specific and close to the implementation.

b) Data Dictionary

It is a structured repository of data. Although we give descriptive names to the data flows and data stores in a DFD, it does not give the details. Hence to keep the details of the contents of data flows and data stores we require a Data Dictionary. Data Dictionary is a structured repository of data. It clearly documents the list of contents of all data flows and data stores. The three concepts to be defined are:

1. Data Elements:  This is the smallest unit of data. Further decomposition is not possible. For example, STUDENT_NAME. Each data element has a data type that defines what class of data can be stored in that data element and domain that defines what values a data element can legitimately take on.

2. Data Structure: This is a group of Data Elements which together form as a single unit of a data flow.

3. Data flows and Data stores: Data flows are data structures in motion. Data flows can be described in terms of three types of data structures: sequence (a group of data elements that occur one after another), selection (one or more data elements from a set of data elements), and repetition (one or more data elements). Data Stores are data structures in store.

c) Estimation Techniques

The Estimation is prediction or a rough idea to determine how much effort would take to complete a defined task. Here the effort could be time or cost. Some estimation techniques are:

  • Expert Judgement
  • COCOMO model
  • Functional point method