Milestones of Software-Engineering: Principles of Modularization [german]

I visited a very interesting seminar at the University Ulm about big milestones in the history of software engineering. The seminar covered topics like how the discipline of software engineering emerged and what defining, trend-setting contributions were created over time. My topic was about modularization of software – the principles and criteria that can be utilized during the design and development of software.

Unfortunately the paper is available only in german, as this was a requirement by my professor so it could be compiled into a small book with the other students’ papers.

Abstract

The abstract is available only in german.

Modularisierung ist eine essentielle Methode in der Softwareentwicklung um komplexe Probleme beherrschbar zu machen, die Flexibilität von Software zu erhöhen und ihre Wartbarkeit zu erleichtern. Welche Prinzipien & Kritieren können angewandt werden um zu einer optimalen Modularisierung zu gelangen? Gibt es überhaupt eine optimale Modularisierung oder müssen gewisse Vor- und Nachteile gegeneinander abgewogen werden um die gesteckten Ziele eines Softwaresystems zu erreichen?

Was der große Vorteil der Modularisierung von Softwaresystemen ist und welche Kosten eine Modularisierung mit sich bringen kann soll in der vorliegenden Arbeit beleuchtet werden. David Parnas veröentlichte 1972 einen Artikel mit dem Titel “On the Criteria To Be Used in Decomposing Systems into Modules” und führte ein wichtiges Prinzip ein: Das information hiding.

Die Auswirkungen von Parnas’ Artikel auf den heutigen Stand, auf andere Prinzipien, Ratschläge und Design Patterns, zu denen sich in Parnas’ Artikel bereits Ansätze erkennen lassen, sollen in der vorliegenden Arbeit ausgeführt werden.