The main objective of this book is to teach students and practitioners to analyze and design information systems (IS) using the functional and object oriented methodology (FOOM),1 which combines the functional (process-oriented) approach with the object oriented (OO) approach.
The functional approach to IS development (sometimes also termed the traditional approach) was popular in the 1980s and 1990s of the 20th century. The development life cycle of this approach is based on the waterfall model (or its variations), according to which the IS development is essentially a sequential process, with the possibility of repetitions and iterations, thus making it look more like a spiral process. This approach views the IS as made of functions (processes), interconnected in a complex manner. The analysis of the IS focuses on discovering and defining the functions which the system needs to perform, and the flow of data to and from those functions. Two of the notable methodologies supporting this approach are structure system analysis (SSA) and system structure design (SSD) (DeMarco, 1978; Gane & Sarson, 1979; Yourdon, 1989). The SSA methodology is based on the use of data flow diagrams (DFDs) which describe the various functions of the system; the data stores in which the data are saved; the external entities which are the source of data input to the system and the destination of output information; and the dataflows which connect all of these components. According to the SSD methodology, the DFDs created in the analysis phase are transformed into a modular description of application programs, expressed by structure charts (Yourdon & Constantine, 1979).