The development of information systems encompasses three phases: analysis, design and implementation. In the analysis phase, one determines the functionalities required from an information system. In the design phase, one decides on the appropriate structure of the information system given the functionality to be achieved. Finally, in the implementation phase, the design is translated into an operational programme, written in a particular programming language.
In the introduction, the concepts of analysis, design and implementation are explored and illustrated on the basis of a case study that runs as a thread through the course.
Part I familiarises the student with the basic structures of a modern programming language: selection, sequence and iteration. It also deals with variables, data structures and procedures. These basic structures are illustrated by means of a structure text, i.e. a description of the programme design in semi-natural language.
Part II explains which qualities a well-designed information system should exhibit. Subsequently, the notions of coupling and cohesion are elucidated, as well as their influence on the quality of designs. By way of illustration, the designs are translated into Pascal. However, the emphasis is not on implementation, but rather on the aforementioned design.
Part III of the course focuses on object-oriented (OO) design. It explains the basic concepts of the OO method, including objects, classes, inheritance, polymorphism and associations. It also discusses how an OO design can lead to a high-quality form of modularisation based on classes and objects. Finally, it considers some design patterns. The notation used is the Unified Modelling Language (UML).
Exercises are provided in the application of structured as well as OO methods.