Diese Seite enthält in alphabetischer Reihenfolge Verweise auf
für die Vorlesung relevante
Literatur sowie Links auf Online-Resourcen. Besonders
lohnende Quellen sind rot markiert. Die
Liste ist unvollständig und wird im Lauf des Semesters
vervollständigt.
J.R. Abrial. On Constructing Large Software Systems. In: J. van Leeuwen (ed.): Algorithms, Software Architecture, Information Processing 92, Vol. I, 103-119.
P. Coad und E. Yourdon. Object-oriented Analysis. Prentice Hall International Editions 1991.
J. Dahl, E.W. Dijkstra und C.A.R. Hoare. Structured Programming. London-New York: Academic Press 1972.
T. DeMarco. Structured Analysis and System Specification. New York: Yourdan Press, NY, 1979.
E. Denert. Software-Engineering. Springer 1991.
Weakest precondition-Kalkül, viele und gute Beispiele:
Edsger W. Dijkstra. A Discipline of Programming. Englewood Cliffs: Prentice-Hall, 1976.
Informelle, sehr gut zu lesende Anmerkungen zur Softwaretechnik und ihre
Ausrichtung als Ingenieursdisziplin: M.A. Jackson. Software Requirements & Specification - a Lexicon of Practice, Principles and Prejudices. Addison-Wesley 1995.
Eine gut lesbare und umfassende Beschreibung objektorientierter
Konzepte und deren Anwendung im Softwareentwurf (vom Entwickler der OO-Sprache
Eiffel): B. Meyer. Objektorientierte Softwareentwicklung. Hanser/Prentice-Hall, 1990.
Umfassendes Lehrbuch zur Einführung in Rechen- und Objektstrukturen: F.L. Bauer und H. Wössner. Algorithmische Sprache und Programmentwicklung. Berlin-Heidelberg-New York: Springer 1981.
Weakest precondition-Kalkül, Programmverifikation, Grundlagen:
David Gries. The Science of Programming. New York: Springer 1981.
J.V. Guttag und J.J. Horning. A Larch Shared Language Handbook. Springer 1993.
B.H. Liskov und S.N. Zilles. Programming with Abstract Data Types. Proc. ACM Conference on Very High-Level Languages. SIGPLAN Notices 9. 4, pp. 50-59, 1974.
Hartmut Ehrig, Bernd Mahr. Fundamentals of Algebraic Specification.
Springer-Verlag, 1985.
J. Loeckx, H.-D. Ehrich, M. Wolf. Specification of Abstract Data Types.
Wiley, 1996.
Eine knappe Einführung in das Entity-Relationship-Modell sowie
Grundlagen des OO-Datenmodells sind zu finden
in Kapitel 5 bzw. 15 von
G. Vossen. Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. 2. Auflage, Addison-Wesley, 1994.
Klassisches Buch über Datenstrukturen:
N. Wirth. Algorithmen und Datenstrukturen. 3. Aufl. Stuttgart: Teubner 1983.
N. Wirth. Systematisches Programmieren. Stuttgart: Teubner 1972.
Der Klassiker: Richard Bird and Philip Wadler. Introduction to Functional Programming.
Prentice-Hall, 1988.
Der Klassiker in Haskell-Verkleidung:
Richard Bird. Introduction to Functional Programming using Haskell.
Prentice-Hall, 1998.
Eine ausgezeichnete, umfassende Einführung in Bereichs- und
Fixpunkttheorie:
B.A. Davey und H.A. Priestley. Introduction to lattices and order. Cambridge University Press, 1991.
Eine eingängige Einführung in Induktion,
Fixpunkttheorie und Hoare-Logik findet sich u.a. in
Glynn Winskel. The Formal Semantics of Programming Languages.
MIT Press, 1993.
Detailierte Behandlung der Spezifikations- und Verifikationsmethode B, basierend auf prädikativer Spezifikation:
J.-R. Abrial: The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
Semantik, Hoaresche Logik, Programmverifikation (auch parallele und verteilte Programme): K.R. Apt und E.R. Olderog. Programmverifikation. Springer, 1994.
Weakest precondition-Kalkül, viele und gute Beispiele: Edsger W. Dijkstra. A Discipline of Programming. Englewood Cliffs: Prentice-Hall, 1976.
Ein sehr gut lesbares Lehrbuch, mit Schwerpunkt auf systematischer
Programmentwicklung:
Edsger W. Dijkstra, W.H.J. Feijen: A Method of Programming.
Addison-Wesley, 1988.
Spezifikation mit VDM-SL (ein ISO-Standard):
John Fitzgerald, Peter Gorm Larsen. Modelling Systems. Cambridge
University Press, 1998.
Ein Klassiker des weakest precondition-Kalküls a la Dijkstra, mit Schwerpunkt auf systematischer
Programmentwicklung. Behandelt auch die logischen Grundlagen:
David Gries. The Science of Programming. Springer, 1981.
Theorie prädikativer Spezifikation:
E. Hehner. A Practical Theory of Programs. Springer, 1993.
Spezifikations- und Verifikationsmethode VDM, basierend auf prädikativer Spezifikation:
Cliff Jones. Systematic Software Development Using VDM. Prentice-Hall International, 1990.
Fixpunkttheorie, Semantik (etwas antiquiert):
Z. Manna. Mathematical Theory of Computation. New York: McGraw-Hill 1974.
Der Z-Klassiker ist vergriffen, aber zum Glück online verfügbar:
Umfassendes Lehrbuch zur Einführung in Rechen- und Objektstrukturen: F.L. Bauer und H. Wössner. Algorithmische Sprache und Programmentwicklung. Berlin-Heidelberg-New York: Springer 1981.
Ein Standardwerk zu Prinzipien und Techniken der objektorientierten
Systemanalyse, die der Strukturierung und nicht zuletzt dem Verständnis
eines Problems dient:
P. Coad und E. Yourdon. Objektorientierte Analyse. Prentice Hall 1994.
Der zweite Teil beschreibt die Umsetzung der Erkentnisse aus der
Analyse in den Systementwurf (ebenfalls ein Standardwerk):
P. Coad und E. Yourdon. Objektorientiertes Design. Prentice Hall 1994.
Eine gut lesbare und umfassende Beschreibung objektorientierter
Konzepte und deren Anwendung im Softwareentwurf (vom Entwickler der OO-Sprache
Eiffel): B. Meyer. Objektorientierte Softwareentwicklung. Hanser/Prentice-Hall, 1990.
Enthält im ersten Teil eine umfassende und präzise Beschreibung
mathematischer Strukturen für Kalküle zur Systementwicklung und
im zweiten u.a. eine Einführung in die Verfeinerung strombasierter
Spezifikationen:
M. Broy und R. Steinbrüggen (Hrsg.). Calculational System Design. NATO Science Series F-173, IOS Press, 1999.
Ein weiterer Verfeinerungskalkül, der u.a. auf Dijkstra's Arbeiten
zum wp-Kalkül und den guarded commands aufbaut (mit zahlreichen Fallstudien):
Carroll Morgan. Programming from Specifications. Prentice Hall, 2nd edition, 1994.
Online verfügbar.