Optimization of the whole: the value of a software does not only result from the development phase; the capability to modify a code assumes increasing importance over time. Software standardization and the separation of codes related to different functionalities allow to improve the efficiency of the maintenance phase: a problem in the software or a functionality to be enhanced may be quickly identified, and a code-object may be easily replaced with a more adequate one.