Software Engineering hat das ingenieurmäßige Entwickeln umfangreicher Softwaresysteme zum Ziel. Kritische Größen sind Kosten, Termine und Qualität. Neben unterschiedlichen Themengebieten der Softwaretechnik umfasst das Software Engineering aber insbesondere auch Themen der Projektplanung, der Projektorganisation und der Projektdurchführung, also das Management und die Organisation von Softwareprojekten. Dieses Fachbuch führt in die grundlegenden Aufgaben und Zusammenhänge der Organisation und des Managements von Softwareprojekten ein. Es richtet sich an Praktiker, Berufseinsteiger und Studierende der Informatik und behandelt die folgenden Themen: - Grundlagen zu Softwareprojekten und deren Organisation Vorgehensmodelle im Software Engineering - Unternehmens- und Projektorganisation Projektdefinition, Aufwandsschätzung, Angebots- und Vertragswesen - Projektmanagement- und QS-Verfahren - Techniken der Planung, Kontrolle und Steuerung von Softwareprojekten - Metriken, Messung und Reifegradmodelle für Softwareprojekte Mit zahlreichen Übungen werden die Inhalte vertieft und in einen praktisch anwendbaren Kontext gestellt.
Manfred Broy Bücher





Die Grundlagen der Softwaretechnik werden umfassend behandelt, wobei der Schwerpunkt auf systematischer und modellbasierter Software- sowie Systementwicklung liegt. Agile Methoden finden ebenfalls Berücksichtigung. Die Autoren betonen die gleichwertige Behandlung praktischer Aspekte und theoretischer Grundlagen, was das Buch sowohl für Fachleute als auch für Lehrzwecke geeignet macht. Ein systematisches Framework ermöglicht eine integrierte Darstellung ausgewählter Konzepte und Methoden, die aufeinander abgestimmt sind.
Logische und Methodische Grundlagen der Entwicklung verteilter Systeme
Unter Mitarbeit von Alexander Malkis
Softwareentwicklung erfordert – ausgehend von informellen Problemstellungen – Spezifikationen unter Festlegung der Daten- und Rechenstrukturen, Implementierungen und die Verifikation der Korrektheit. Zur Bewältigung dieser Aufgaben hat die Informatik eine Reihe grundlegender Ansätze und Methoden entwickelt, die in zwei Bänden in einem einheitlichen Rahmen zusammengefasst und an Beispielen erläutert werden. Der erste Band widmet sich der Spezifikationen von Daten- und Rechenstrukturen, der Spezifikation und Implementierung sowie dem Nachweis der Korrektheit funktionaler, prozeduraler und objektorientierter Programme. Der zweite Band dieses umfassenden und zugleich grundlagenorientierten Werkes behandelt softwareintensive Systeme und ihre Darstellung durch Zustandsmaschinen, nebenläufige Programme mit gemeinsamen Variablen, Datenflussprogramme, Schnittstellspezifikation, Zeitfluss, Architektur verteilter Systeme, Prozessmodellierung, Verfeinerung und spezifische Formalismen wie CSP, TLAund prädikative Spezifikation. Dies schließt unter anderem auch Themen wie Korrektheitsbeweise in Hinblick auf Sicherheit und Lebendigkeit sowie schrittweise Verfeinerung ein. Insbesondere werden im Buch die Grundlagen für eine wissenschaftlich abgesicherte Entwicklung von Programmen gelegt.
Software pioneers
- 728 Seiten
- 26 Lesestunden
A lucid statement of the philosophy of modular programming can be found in a 1970 textbook on the design of system programs by Gouthier and Pont [1, l Cfl0. 23], which we quote below: A well-defined segmentation of the project effort ensures system modularity. Each task fonos a separate, distinct program module. At implementation time each module and its inputs and outputs are well-defined, there is no confusion in the intended interface with other system modules. At checkout time the in tegrity of the module is tested independently; there are few sche duling problems in synchronizing the completion of several tasks before checkout can begin. Finally, the system is maintained in modular fashion; system errors and deficiencies can be traced to specific system modules, thus limiting the scope of detailed error searching. Usually nothing is said about the criteria to be used in dividing the system into modules. This paper will discuss that issue and, by means of examples, suggest some criteria which can be used in decomposing a system into modules. A Brief Status Report The major advancement in the area of modular programming has been the development of coding techniques and assemblers which (1) allow one modu1e to be written with little knowledge of the code in another module, and (2) alJow modules to be reas sembled and replaced without reassembly of the whole system.
This text discusses the philosophy of modular programming, emphasizing well-defined project segmentation for system modularity. It highlights the clarity of module interfaces, independent testing, and ease of maintenance. The paper aims to explore criteria for dividing systems into modules and notes advancements in coding techniques that facilitate module independence and reassembly.