Process-based approaches organize the requirements into hierarchies of functions that communicate via data flows. Behavioral
approaches describe external behavior of the system in terms of some abstract notion (such as predicate calculus), mathematical functions, or state machines