Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group

TUM

Vorlesung | Wintersemester 2003/04
Software Engineering I: Softwaretechnik
Prof. Dr. Dr. h.c. Manfred Broy

 

Bereich:  Informatik I, Vorlesung: 3 Std.

Zeit und Ort der Vorlesung:  Donnerstag 8:00-9:00, Hörsaal MW0001,  Freitag 8:30-10:00, Hörsaal PH HS2
Beginn:  Freitag, 24. Oktober 2003

Sprechstunde:  Freitag 11:00-12:00 im Besprechungszimmer 01.11.052 (in der Vorlesungszeit)

Hörerkreis:  Studenten der Informatik im Studiengang Bachelor und im Studiengang Diplom nach dem Vordiplom
Voraussetzungen:   Informatik bis zum Vordiplom, Bachelor: Einführung in die Informatik I und II
Empfehlenswert für:   Hauptfach und Nebenfach Informatik, Bachelor Informatik im 3. Semester

Zeit und Ort der Zentralübung:  Freitag 13:15-14:45, Hörsaal MI 00.04.011
Beginn:   Freitag, 31. Oktober 2003
Übungsleitung:  Herbert Ehler und Stefan Wagner
Klausur: (Achtung Raum- und Zeitänderung: !!! )

Die Klausur findet am 13. Februar 2004 von 13:15 bis 15:15 Uhr im Hörsaal PH HS1 (PH 2501) statt. Zur Anmeldung schicken Sie bitte eine E-Mail an ehler@in.tum.de mit den für die Erstellung eines Scheines erforderlichen Daten: Anrede, Name, Vorname, Matrikelnummer, Geb.datum, Fachrichtung, E-Mail. Wenn aufgrund der für Sie gültigen Prüfungsordnung besondere Anforderungen an den Leistungsnachweis bestehen, teilen Sie diese mit Ihrer Anmeldung bitte auch mit. Zur Klausur sind Bücher und eigene Skripten zugelassen.

Klausuraufgaben

>Klausurlösung

Klausurnoten

Klausurstatistik

Der Termin für die Einsicht in die Klausur ist am Donnerstag, 29.04.04, 10:20 bis 11:00 Uhr im Raum 01.09.011B. Die vollständige Notenliste hängt im Schaukasten im Flur zwischen den Gebäudefingern 09 und 11 im 1. OG.

Die Aufgabenblätter für die Zentralübung werden regelmäßig in der Vorlesung verteilt. Es ist unverzichtbar, sich mit den Aufgaben auseinanderzusetzen, um sich den Vorlesungsstoff zu erarbeiten. Für Fragen stehen die Übungsleiter nach der Zentralübung zur Verfügung. Bei Bedarf werden in der Vorlesung auch Arbeits- und Merkblätter ausgeteilt.


Aktuelle Mitteilungen

There is a two-hour lecture for english-speaking students from Allen Dutoit. You can find more information on the lecture homepage.


Inhalt:

Die Vorlesung vermittelt  die grundlegende Technik und Methodik für die Entwicklung großer Softwaresysteme.

Fragen der Projektorganisation und des Projektmanagements werden in der Vorlesung "Projektorganisation und Management in der Softwareentwicklung" behandelt.

1.  Grundsätzliches zum Software Engineering
    1.1  Software Engineering und seine Bedeutung
    1.2  Zielsetzung des Software Engineering
    1.3  Grundbegriffe
    1.4  Erfolgsfaktoren im Entwurfsprozess
    1.5  Hauptfehlentwicklungsfehler

2.  Vorgehensmodelle
     2.1  Projektphasen und Systemzergliederung
            2.1.1  Das Produktmodell
            2.1.2  Das Prozessmodell
            2.1.3  Systembeschreibungen
     2.2  Phasenmodelle
            2.2.1  Problem- und Systemanalyse
            2.2.2  Systementwurf und Softwarearchitektur
            2.2.3  Implementierung
            2.2.4  Modifikation, Anpassungen und Weiterentwicklung
            2.2.5  Allgemeine Bemerkungen zur Organisation der Arbeit in Phasen
            2.2.6 Prototypen
     2.3  Gebräuchliche Vorgehensmodelle
            2.3.1  Phasenmodelle, Wasserfallmodell
            2.3.2 Das V-Modell
            2.3.3  Spiralmodell: Der Prototypansatz
            2.3.4  Inkrementelles und evolutionäres Vorgehensmodell
            2.3.5  Experimentelles und exploratives Prototyping
            2.3.6  Extreme Programming
            2.3.7  Systemzergliederung in Komponenten
            2.3.8  Allgemeine Bemerkungen zu Vorgehensmodellen

3. Beschreibungs- und Modellierungsmittel
     3.1 Modellbildung und Beschreibungsmittel
     3.2 Systemmodelle
     3.3 Datenmodellierung: Sorten, Werte und Funktionen
            3.3.1 Datenmodellierung durch algebraische Spezifikation
            3.3.2 Datenmodellierung durch Sortendeklaration
            3.3.3 Datenmodellierung durch E/R-Methoden
            3.3.4 Datenmodell und Datenlexikon
     3.4 Programm und Systemkomponenten
            3.4.1 Spezifikation von Funktionen
            3.4.2 Prozedurspezifikation
            3.4.3 Programmdarstellung
            3.4.4 Module
     3.5 Struktur- und Verteilungssicht: Datenflussmodelle
     3.6 Ablauf- und Prozesssicht
     3.7 Verhalten von Komponenten
            3.7.1 Zustandsübergangsdiagramme
            3.7.2 Zustandsmaschinen mit Ein- und Ausgabe
            3.7.3 Statecharts
            3.7.4 Kontrollflussdiagramme
            3.7.5 Zustandsübergangstabellen
            3.7.6 Erweiterte Zustandsübergangsdiagramme
            3.7.7 Funktionale Sicht/Black Box Sicht
            3.7.8 Spezifikation interaktiver Komponenten
            3.7.9 Weitere Beschreibungstechniken für Programme
     3.8 Objektorientierte Modellierung
            3.8.1 Objektorientierung
            3.8.2 Objektorientierte Datenmodelle
     3.9 Umfassende Beschreibungsmethoden

4.  Systemanalyse - Requirements Engineering
     4.1  Erfassung des Problembereichs
     4.2  Systemstudie
     4.3  Systemanforderungen
            4.3.1 Logisches Datenmodell
            4.3.2 Funktionenmodell
            4.3.3 Benutzerschnittstelle und -oberfläche
            4.3.4 Sicherheitsmodell - Risikoanalyse
     4.4 Validierung
     4.5 Prototypen in der Systemanalyse

5.  Systementwurf
     5.1  Datenmodellierung im Entwurf
     5.2  System- und Softwarearchitekturen
            5.2.1 Bestandteile einer Softwarearchitektur
            5.2.2 Parallele Systemmodelle für Architekturen
            5.2.3 Interaktive Systeme
            5.2.4 Sequentielle Systemmodelle
            5.2.5 Eigenschaften von Softwarearchitekturen
     5.3  Komponentenspezifikation
            5.3.1  Black Box Spezifikation
            5.3.2  Validierung
            5.3.3  Einbindung von vorgefertigten Komponenten
     5.4 Verfeinerung
     5.5 Methodische Ratschläge: Entwurfsmuster
     5.6  Fehlerbehandlung
     5.7  Komponentengrobentwurf
     5.8  Qualitätssicherung
            5.8.1 Verifikation
            5.8.2 Leistungsabschätzung
            5.8.3 Entwurfsreviews
            5.8.4 Prototyping

6.  Implementierung
     6.1  Implementierung des Datenmodells
     6.2  Implementierung der Komponenten
            6.2.1  Komponentenfeinentwurf
            6.2.2  Komponenten- und Modulrealisierung
            6.2.3 Einbindung vorgefertiter Codes, Generatoren
            6.2.4  Komponentendokumentation
            6.2.5 Zur Codierdisziplin
     6.3  Realisierung der Benutzerschnittstelle
     6.4  Integration
     6.5  Qualitätssicherung
            6.5.1 Codeinspektion und Code-Reviews
            6.5.2 Testen
            6.5.3  Verifikation durch Korrektheitsbeweis
            6.5.4 Zur Effektivität der Qualitätssicherungsmassnahmen
            6.5.5 Prinzipien im Komponentenentwurf
     6.6  Auslieferung, Systeminstallation, Wartung
            6.6.1 Phasen bis zur Auslieferung
            6.6.2 Aufwandsabschätzungen
            6.6.3 Wartung
     6.7  Weiterentwicklung, Legacy Systeme

7   Prinzipien im Systementwurf
     7.1  Dokumentation
     7.2  Modularisierung
     7.3  Datenabstraktion und Verkapselung
     7.4  Schnittstellen
     7.5  Entwicklungs- und Programmierstil
     7.6  Wiederverwendung
     7.7  Flexibilität, Änderbarkeit
     7.8  Benutzerschnittstellen
     7.9  Robustheit
     7.10  Effizienz
     7.11  Zugriffssicherheit und Datenschutz
     7.12  Ausnahmebehandlung
     7.13  Softwarearchitektur
     7.14  Entwicklungsmethoden
     7.15  Werkzeuge im Softwareentwurf
     7.16  Implementierungsplattform

Literatur (Wird im Lauf des Semesters vervollständigt)

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2006-10-06 15:29:43