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 on the basis of 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.
Start with a high level description of what the software / program does. Refine each part of the description one by one by specifying in greater details the functionality of each part. These points lead to Top-Down Structure.
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.
Function Oriented Design Strategies:
Function Oriented Design Strategies are as follows:
- 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.
- 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.
- Structure Charts:
It 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 black box, passing required parameters and receiving results.
Pseudo Code is system description in short English like phrases describing the function. It use keyword and indentation. Pseudo codes are used as replacement for flow charts. It decreases the amount of documentation required.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Difference between Function Oriented Design and Object Oriented Design
- Difference between Good Design and Bad Design in Software Engineering
- Software Engineering | Object-oriented Life Cycle Model
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Software Design Process
- Software Engineering | Requirements Engineering Process
- Software Engineering | Re-engineering
- Software Engineering | Reverse Engineering
- Difference between Software Engineering process and Conventional Engineering Processs
- Characteristics of Good Object Oriented Design
- Object Oriented Analysis and Design
- Functional Modelling in object oriented analysis and design
- Dynamic modelling in object oriented analysis and design
- Software Engineering | Architectural Design
- Software Engineering | User Interface Design
- Software Engineering | System Design Strategy
- Software Engineering | Structured analysis and design with CASE tools
- Effective Modular Design in Software Engineering
- Difference between Forward Engineering and Reverse Engineering
- Object Oriented Testing in Software Testing