Within the software development process, functional analysis is the phase that makes it possible to identify and circumscribe the processes that make up an information system.
With this activity it is therefore possible to define all the characteristics and technical specifications of the software components to be implemented within the system under analysis.
Functional analysis is fundamental because it allows us to define:
Thanks to these elements, and with the help of the developers and architectural referents, it is possible to identify which solutions should be developed at application level according to the needs encountered. Some tools may be used rather than others, and functional analysis is useful in determining these selection criteria as well.
The functional analysis phase is so important because it is preparatory to the further development of the project itself. In fact, all the phases that follow are based on the methodology studied and analysed during the functional analysis phase, and only thanks to this can they be carried out independently. All this makes the development processes much more efficient, faster and measurable in relation to the objective to be achieved.
There are many variables to be taken into account at this stage. These include, for example, the behaviour of the computer system, the limitations that may affect the development of the software, the time and cost of the project, the various technical analyses, and so on.
The functional analysis process consists of an iterative process with several steps:
At the end of the functional analysis, it is possible to continue with all the other phases of software development. These phases can also be managed and developed independently by different company divisions, but they always start from the assumptions identified in the functional analysis phase.