- Function-oriented design involves modeling a system as functions that transform inputs to outputs. It has been practiced since the beginning of programming and is supported by most programming languages.
- The functional design process includes identifying data transformations with data flow diagrams, decomposing high-level functions into sub-functions using structure charts, and detailing each design entity.
- Concurrent systems design can implement function-oriented design directly by making each logical group of transformations a concurrent process, allowing independent and parallel execution.