Beschreibung: |
Die Veranstaltung vermittelt verschiedene Vorgehensmodelle und die Phasen der Softwareentwicklung, die Prinzipien der Objektorientierung bei Programmierung und Softwareentwicklung, systematisches Testen von Software, sowie Qualitätssicherungstechniken. Ein konkreter modellbasierter Softwareentwicklungsprozess wird Phase für Phase durchgesprochen In einem begleitenden Praktikum werden die vorgestellten Konzepte beispielhaft angewendet. Inhalte im Einzelnen: - Motivation: Unterschied zwischen Programmierung im Kleinen und Softwareentwicklung im Großen, Erfolgsfaktoren für Softwareprojekte - Software-Prozessmodelle - Analysephase (Terminologie, insbes. Anforderungen vs. Spezifikationen, Ableitung von Spezifikationen aus Anforderungen und Domänenwissen, Zerlegung komplexer Probleme in einfache Unterprobleme, Problem Frames als Muster für einfache Softwareentwicklungsprobleme) - Prinzipien der Objektorientierung - Objektorientierter Softwareentwicklungsprozess unter Verwendung von UML (Modelle und Notationen für die Analyse, Modelle und Notationen für den Entwurf, Umsetzung des Entwurfs in eine objektorientierte Implementierung) - Architektur- und Entwurfsmuster - Design by contract, Programmkorrektheit - Testen - Versionsverwaltung |
Literatur: |
- Ian Sommerville: Software Engineering, Addison-Wesley, jeweils neueste Auflage - Michael Jackson: Problem Frames. Analyzing and structuring software development problems. Addison-Wesley, 2001 - M. Jeckle, C. Rupp, J. Hahn, B. Zengler, S. Queins: UML 2 glasklar - D. Coleman, P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes, and P. Jeremaes. Object-Oriented Development: The Fusion Method. Prentice-Hall, 1994 - Bass, L., Clements, P., and Kazman, R. (1998). Software Architecture in Practice. Addison-Wesley, Boston, MA, USA, 1st edition. - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns. Addison Wesley, 1995 - sowie weitere Literatur gemäß Mitteilung in der Veranstaltung |