Function Hierarchy Diagram

What is functional hierarchy diagram?

A Function Hierarchy Diagram (FHD) is a diagram used in systems analysis and software engineering. It's a form of decomposition diagram that shows a top-down functional decomposition of a system, process, organization, or any complex object in hierarchical format.

A functional hierarchy diagram is one that shows all functions evolved in your system in a hierarchical manner. It does not show organizational units evolved involved in functions like- data stores or data flows. It just specifies the parent function and the child functions under it.[1]

Key elements of a Function Hierarchy Diagram include:

  1. Top-Level Function: This is the broadest view of the system or process. It encompasses all the functionality the system or process is expected to provide.
  2. Sub-functions: These are functions or tasks that form components of the top-level function. They are displayed below the top-level function, typically with lines or arrows indicating a relationship.
  3. Further Decomposition: Sub-functions can be broken down further into sub-sub-functions, and so on. This further decomposition can continue until the function is elementary and cannot be reasonably broken down further.

The main purpose of an FHD is to allow complex systems to be understood more easily by breaking them down into smaller, manageable parts. The top-down approach allows you to start with a broad overview and then focus in on the details. It can also aid in identifying redundant or unnecessary tasks.

Function Hierarchy Diagrams can be very useful in the early stages of system design, helping teams to visualize the functional scope of the system and to understand how different functions relate to each other. It's also often used in planning software development projects, as it helps to identify and organize the tasks that will need to be completed.

However, an FHD has its limitations. It focuses only on functional relationships, not data flow or sequencing of operations, so it may not provide a complete picture of system operation. For systems where data flow or sequencing is important, other diagramming techniques, like data flow diagrams or sequence diagrams, might be more appropriate.

See Also