Introduction
Amongst the early results of the software engineering discipline were models decomposing the process of software development and maintenance into activities with their logical dependencies. From the first approaches, commonly known as waterfall models, until today, a large variety of models has been proposed. Most of them differ from the waterfall model only in their granularity and in their combination of subtasks to larger tasks, but completely new ways of constructing software with respective process models have been suggested as well. Without going into the details of any of these models, we can summarize that the vast majority distinguishes between activities related to understanding and describing the problem to be solved by the software system, planning its structure, and implementing it in some programming language. Without defining an explicit chronological order, we collect these activities according to the logical level on which they operate in working areas called requirements engineering, programming in the large, and programming in the small, respectively. From these working areas, this dissertation has its focus on programming in the large (PiL).
Essentially, this comprises the following activities:
- Analyzing the requirements specification,
- identification of basic design units,
- specification of the interactions between the design units,
- checking the architecture for feasibility,
- integration of implementation units,
- checking the system against the requirements specification, and
- modifying the architecture in accordance to new requirements…