Open In App

Function Oriented Design – Software Engineering

Improve
Improve
Like Article
Like
Save
Share
Report

The design process for software systems often has two levels. At the first level, the focus is on deciding which modules are needed for the system based on SRS (Software Requirement Specification) and how the modules should be interconnected.

Function Oriented Design is an approach to software design where the design is decomposed into a set of interacting units where each unit has a clearly defined function.

Generic Procedure

Start with a high-level description of what the software/program does. Refine each part of the description by specifying in greater detail the functionality of each part. These points lead to a Top-Down Structure.

functional-oriented-design

Problem in Top-Down Design Method

Mostly each module is used by at most one other module and that module is called its Parent module.

Solution to the Problem

Designing of reusable module. It means modules use several modules to do their required functions.

Reusable Module

Function Oriented Design Strategies

Function Oriented Design Strategies are as follows:

  1. Data Flow Diagram (DFD): A data flow diagram (DFD) maps out the flow of information for any process or system. It uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes between each destination.
  2. Data Dictionaries: Data dictionaries are simply repositories to store information about all data items defined in DFDs. At the requirement stage, data dictionaries contains data items. Data dictionaries include Name of the item, Aliases (Other names for items), Description / purpose, Related data items, Range of values, Data structure definition / form.
  3. Structure Charts: Structure chart is the hierarchical representation of system which partitions the system into black boxes (functionality is known to users, but inner details are unknown). Components are read from top to bottom and left to right. When a module calls another, it views the called module as a black box, passing required parameters and receiving results.
  4. Pseudo Code: Pseudo Code is system description in short English like phrases describing the function. It uses keyword and indentation. Pseudocodes are used as replacement for flow charts. It decreases the amount of documentation required.

Structure Charts in Function Oriented Design

For a function-oriented design, the design can be represented graphically by structure charts. The structure of a program is made up of the modules of that program together with the modules of that program together with the interconnections between modules. The structure chart of a program is a graphic representation of its structure.

  1. In a structure chart a module is represented by a box with the module name written in the box.
  2. In general, procedural information is not represented in a structure chart, and the focus is on representing the hierarchy of modules.
  3. However, there are situations where the designer may wish to communicate certain procedural information explicitly, like major loop and decisions.
  4. Such information can also be represented in a structure chart.
  5. Modules in a system can be categorized into few classes as below:
  6. Input module: There are some modules that obtain information from their subordinates and then pass it to their superordinate.
  7. Output module: Module which take information from their superordinate and pass it on to its subordinates.
  8. Transform module: Modules that exist solely for the sake of transforming data into some other form.
  9. Coordinate module: Modules whose primary concern is managing the flow of data to and from different subordinates.
  10. A structure chart is a nice representation for a design that uses functional abstraction.

Last Updated : 08 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads