Veranstaltungsarten (SWS)
Vorlesung: 4 │ Übung: 0 │ Praktikum: 0 │ Seminar: 0
Prüfungsnummer: ZKD 41021
Lehrform:

Einsatz von Folien

Sprache: Deutsch
Turnus: WS
ECTS: 6
Prüfungsleistung Klausur (120 min.)
Mündliche Prüfung (30-45 min.)
zugeordnete Studiengänge
zugeordnete Personen
zugeordnete Module
Informationen
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

Lernziele:

- Unterschied zwischen Softwareentwicklung und Programmierung erklären können
- Verschiedene Vorgehensmodelle und Phasen der Softwareentwicklung aufzählen und erklären können
- Prinzipien der Objektorientierung nennen und erklären können
- Objektorientierte Software systematisch nach einem gegebenen Prozess entwickeln können
- Software systematisch testen können
- Software-Qualitätssicherungstechniken aufzählen und erklären können
- Versionsverwaltungssysteme benutzen können

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

Vorleistung:

"Programmiertechnik", sowie Veranstaltungen "Modellierung (UML)", "Datenstrukturen und Algorithmen"

Infolink:
Bemerkung:
Description:

This course teaches different process models and their phases in software development, the principles of object-oriented programming and software development, systematic testing of software and quality assurance techniques.

A concrete model-based software development process is presented phase by phase.

In the practical part of the course an example system is developed, following the concepts introduced in the lecture.

Content in detail:
- Motivation: Difference between programming-in-the-large and programming-in-the-small, factors of successful software development projects
- Software process models
- Analysis phase (terminology, requirements vs. specifications, deriving specifications from requirements and domain knowledge, decomposing complex problems into simple subproblems, applying patterns for simple software development problems, namely Problem Frames)
- Principles of object-orientation
- Object-oriented software development process applying UML (models and notations for analysis and design, transforming design into an object-oriented implementation)
- Architectural styles and design patterns
- Design by contract, correctness of programs
- Testing
- Version control

Learning Targets:

- Be able to explain the difference between software development and programming
- Be able to name and explain process models, their phases and purpose
- Know the principles of object-orientation
- Be able to develop object-oriented software in a systematic way, following a given process
- Be able to test software systematically
- Be able to name and explain software quality assurance techniques
- Be able to use version control systems

Literature:

- 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

Pre-Qualifications:
Info Link:
Notice: