The purpose of this paper is the illustration of the results obtained in a research project, devoted to design an expert system assisting the programmer in-the-large in his activity of problem analysis and software design: the ESAP (Expert System for Automatic Programming) (Guida et al. (1984); Guida et al. (1985)). The environment where the ESAP has been designed refers to a new rearrangement of the softuare Life-cycLe, in which several tools for automating software production are available. We call this environment Software Factory of the Future CSFF), as illustrated in Figure 1.