6Defining What the System Shall Do: Functional Architecture
6.1. Why understand what the system does?
Functional architecture, or equivalently functional analysis, intends to precisely describe the different functions of a system and their relative interactions1. The core motivation of functional architecture is to start understanding and specifying in detail the system, but only in terms of behaviors – that is, in other terms, to understand and specify what the system does – and not concrete structure, that is, its functional nature … as we would have easily guessed!
It is indeed important to have first a functional description of a system, and not to immediately dig into the technique, if we want to be able to rationally manage trade-offs between different options2. Functional architecture is indeed usually independent of the technological choices3 at least at some level of abstraction, which means that functionally reasoning – of course at the good level of abstraction4 – on a system allows us to reason at the same time on many different constructional options that we will be able to compare and to evaluate later (for more details, see Chapter 9 which is dedicated to trade-off analyses). We must indeed understand that skipping functional analysis by directly going to technical design is usually a very bad practice, even if widespread in engineering organizations, since it just means that we are making a very strong design choice without even being conscious of that choice. ...
Get Model-based Systems Architecting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.