Presents detail
Various steps: Transforming the input into output
Various steps: Logical/ arithmetic operations, algorithms
For discussions and communication between the system analysts and the programmers
Help programmers in organizing their programming
Set up an important component of documentation for an application.