Einführung Softwaretechnik
Vorlesung und Praktikum im Sommersemester 2003

Lehrstuhl für Softwaretechnik (Prof. Zeller)
Universität des Saarlandes – Informatik
Informatik Campus des Saarlandes
Campus E9 1 (CISPA)
66123 Saarbrücken
E-mail: zeller @ cs.uni-saarland.de
Telefon: +49 681 302-70970

Deutschsprachige Startseite Page d'acceuil en français English home page
   Softwaretechnik (engl. software engineering) ist das systematische und disziplinierte Erstellen großer Programmsysteme.

Aktuell

  • Das Praktikum ist abgeschlossen. Danke an alle Beteiligten!
  • Scheine erhalten Sie ab 30.07. nachmittags im Sekretariat des Lehrstuhls Zeller, Geb. 45, Zimmer 304.

Die Veranstaltung

Diese Veranstaltung fasst Software-Praktika und -Vorlesungen aus verschiedenen Studiengängen und -Ordnungen zusammen. Sie kann gehört werden als
  • "Grundlagen der Softwaretechnik" (Grundstudium angewandte Informatik)
  • "Software-Design-Praktikum" (Grundstudium Diplom-Studiengänge)
  • "Software-Praktikum" (Bachelor-Studiengang)
  • Stammvorlesung "Softwaretechnik I" (Hauptstudium Diplom-Studiengänge)
In jedem Fall besteht die Veranstaltung aus Vorlesung und Praktikum.

Die Vorlesung

Die Vorlesung (2 SWS, deutschsprachig) gibt eine Einführung in verschiedene Aspekte der Softwaretechnik wie z.B. Software-Lebenszyklus, Objektorientierter Entwurf und Qualitätssicherung. Die Vorlesung begleitet Sie durch das Praktikum.

Themen und Termine

  • Montag 11-13, Gebäude 45, Hörsaal 2,
  • Donnerstag 9-11, Gebäude 27, Hörsaal 1,
  • Freitag 13-15, Gebäude 45, Hörsaal 2
Beginn: 2003-04-24.

Die Vorlesungstermine sind auf den Fortschritt im Praktikum abgestimmt; im Schnitt findet 1 Vorlesung/Woche statt:

TerminThemaUnterlagen
Do2003-04-24 Vorstellung Vorlesung + Projekte Folien (PDF) · Druckfassung (PS)
Fr2003-04-25 Der Software-Lebenszyklus Folien (PDF) · Druckfassung (PS)
Mo2003-04-28 Software-Definition + Pflichtenheft Folien (PDF) · Druckfassung (PS)
Fr2003-05-02 Benutzerschnittstellen Folien (PDF) · Druckfassung (PS)
Handbücher Folien (PDF) · Druckfassung (PS)
Mo2003-05-05 Objektorientierte Programmierung 1: Klassen (*) Folien (PDF) · Druckfassung (PS)
Do2003-05-08 Objektorientierter Entwurf mit UML Folien (PDF) · Druckfassung (PS)
Fr2003-05-09 Objektorientierte Programmierung 2: Vererbung (*) Folien (PDF) · Druckfassung (PS)
Mo2003-05-12 Entwurfsmuster Folien (PDF) · Druckfassung (PS)
Do2003-05-15 Teamarbeit Folien (PDF) · Druckfassung (PS)
Fr2003-05-16 Objektorientierte Programmierung 3: Spezialitäten (*) Folien (PDF) · Druckfassung (PS)
Mo2003-05-19 Architekturmuster Folien (PDF) · Druckfassung (PS)
Do2003-05-22 Refactoring Folien (PDF) · Druckfassung (PS)
Mo2003-05-26 Prinzipien des Software-Entwurfs Folien (PDF) · Druckfassung (PS)
Software-Spezifikation Folien (PDF) · Druckfassung (PS)
Mo2003-06-02 Software-Test Folien (PDF) · Druckfassung (PS)
Mo2003-06-16 Qualitätssicherung Folien (PDF) · Druckfassung (PS)
Mo2003-06-30 Programmverstehen + Fehlersuche Folien (PDF) · Druckfassung (PS)
Fr2003-07-25 Abschlusspräsentation Twenty Tricks to Train Software Engineers
(*) Vorlesungen für Teilnehmer mit Nachholbedarf in objektorientierter Programmierung

Themen und Termine sind vorläufig und können sich noch ändern.

Praktikum

Um die Praxis der Softwaretechnik zu vertiefen, ist die Übung zu dieser Vorlesung als begleitendes Praktikum ausgelegt. In Gruppen zu jeweils 5 Studenten erstellen Sie ein moderat komplexes Software-Produkt. Schlüssel zum Erfolg ist dabei methodisches Vorgehen, wie Sie es in der Vorlesung lernen - etwa Pflichtenheft, sorgfältiger Entwurf, Qualitätssicherung. Erfahrene Mitarbeiter betreuen Sie durch alle kritischen Phasen.

Je nach benötigtem Leistungsnachweis haben Sie die Wahl zwischen verschieden grossen Projekten:

  • kleines Projekt (4 SWS) für insgesamt 9 LP (Schein "Stammvorlesung Informatik" oder "Grundlagen der Softwaretechnik")
  • grosses Projekt (8 SWS) für insgesamt 16 LP (Schein "Software-Praktikum")

Projekte

Sie konnten unter den folgenden Themen wählen:
  1. Bernd Finkbeiner: Graphisches Verifikations-Frontend
  2. Stephan Diehl (Lst. Wilhelm): Web-basierte Visualisierung von Erdbeben
  3. Andreas Rossberg (Lst. Smolka): Verteiltes Snake-Game mit Alice
  4. Stephan Thesing (Lst. Wilhelm / Absint): Graphische Aufarbeitung von Hardware-Traces
  5. Andreas Moll (Lst. Lenhof): Protein-Peptid-Docking
  6. Timo von Oertzen (Lst. Schreyer): Gröbnerbasenberechnung mit flexiblen Polynomdarstellungen
  7. Sven Johr (Lst. Hermanns): Nachbau der 'Production cell' case study mit Lego Mindstorms
  8. Andreas Pomi (Lst. Slusallek): Bildverarbeitung mit High-Dynamic-Range-Bildern
  9. Holger Cleve (Lst. Zeller): Vorlesungs-Verwaltung
  10. Stephan Neuhaus (Lst. Zeller): Zufallstesten von Programmen, Diensten und Handys
Die Projekte wurden in der 1. Vorlesung vorgestellt; anschliessend trafen Sie Ihre Wahl. Hier finden Sie die Gruppeneinteilung.

Projekttermine

(Vorläufige Termine - können sich noch ändern)

Do 2003-04-24 15:00 - Abgabe Gruppenanmeldungen

Sie geben eine Liste ab mit
  • bis zu 5 Teilnehmern,
  • Projektpräferenzen (erste, zweite, dritte Wahl),
  • Projektgrösse ("klein" oder "gross").
Entsprechende Formulare erhalten Sie in der 1. Vorlesung am Vormittag. Wir geben die Gruppeneinteilung am Folgetag bekannt.

Do 2003-05-08 16:00 - Abgabe Pflichtenheft + vorläufiges Handbuch (= 2 Wochen)

Sie definieren den Leistungsumfang Ihres Produktes, wie in der Vorlesung vorgestellt. Hierzu gehören auch 3 typische Szenarien, die den Umgang mit dem Produkt illustrieren und möglichst viel Funktionalität abdecken.

Mo 2003-06-02 11:00 - Abgabe Grobentwurf (= 4 Wochen)

Sie definieren das Objektmodell Ihres Systems (alle Klassen, alle Attribute, alle Methoden, alle Beziehungen), Sequenzdiagramme für die aufgeführten Szenarien (alle Objekte, alle Methoden), sowie ggf. weitere Spezifikationen für kritische Teile.

Hier finden Sie Hinweise für Ihre Dokumente.

2003-06-05 bis 2003-06-06 - Review Grobentwurf (»Preview«)

Wir gehen mit Ihnen den Grobentwurf durch.

Hier finden Sie nähere Informationen zum Ablauf.

Mo 2003-06-16 11:00 - Abgabe Spezifikation (= 2 Wochen)

Sie definieren automatische Testfälle, die die aufgeführten Szenarien abdecken.

Mo 2003-07-14 11:00 - Abgabe Implementierungsbericht und Testbericht (= 4 Wochen)

Sie beschreiben Ihr fertiges System, insbesondere, wie es von den früheren Dokumenten abweicht.

Mo 2003-07-21 11:00 - Abgabe des fertigen Produkts (= 1 Woche)

Sie lassen Ihr fertiges Produkt durch den Anwender abnehmen (einschliesslich Demonstration).

2003-07-22 bis 2003-07-24 - Review Endprodukt (»Review;»)

Wir gehen mit Ihnen Ihr endgültiges Produkt durch.

Fr 2003-07-25 13:00 - Demonstration ausgewählter Produkte

Die schönsten Produkte werden der Öffentlichkeit vorgestellt.

Phasenverantwortliche

Für jede der Phasen (Dokumente)
  • Definition (Pflichtenheft)
  • Grobentwurf
  • Spezifikation
  • Validierung (Testbericht)
  • Abnahme (Demo)
gibt es in Ihrer Gruppe einen Phasenverantwortlichen, der für das jeweilige Dokument verantwortlich zeichnet.

Voraussetzung für die Teilnahme

Sie müssen imperativ programmieren können (z.B. in Java oder C++). Dies weisen Sie mit einer dieser Möglichkeiten nach:
  • durch Bestehen von "Programmieren 2" oder "Informatik 5" oder äquivalent (Schein erforderlich)
  • durch Bestehen des Übungsteils des früheren Software-Design-Praktikums (Nachweis erforderlich)
Alternativ bieten wir einen C++-Kurs an. Hier müssen Sie zum Abschluss eine Programmieraufgabe bestehen, um an der Veranstaltung teilnehmen zu können.

C++-Kurs

Für einen schnellen Einstieg in die imperative Programmierung bieten wir einen C++-Kurs an, der sich über die ersten vier Wochen des Semesters erstreckt.
  • Montag 9-11, Geb. 45, Hörsaal 1
  • Dienstag 16-18, Geb. 45, Hörsaal 3
Beginn: Montag, 28. April; Ende: 20. Mai.

Zu diesem Kurs gibt es die Unterlagen als Folien und als Druckfassung.

Hier müssen Sie zum Abschluss eine Programmieraufgabe bestehen, um an der Veranstaltung (weiter) teilnehmen zu können. Dazu melden Sie sich beim Praktomat als neuer Benutzer an. Sie erhalten dann eine auf Sie zugeschnittene Programmieraufgabe, die Sie innerhalb einer Woche lösen müssen. Diese Aufgabe wird am Donnerstag, dem 15. Mai 2003 ab 0900 freigeschaltet. Weitere Informationen finden Sie in der Aufgabenstellung.

Hier finden Sie Hinweise zur Bewertung der Praktomat-Aufgabe.

Damit Sie sich an den Praktomaten gewöhnen können, haben wir Donnerstag, dem 8. Mai 2003 ab 0900 eine Praktomat-Übungsaufgabe freigeschaltet. Die Übungsaufgabe ist nicht erforderlich, um den C++-Kurs zu bestehen. Durch Bestehen der Übungsaufgabe haben Sie auch nicht automatisch den C++-Kurs bestanden. Trotzdem raten wir Ihnen dringend dazu, diese Übungs-Aufgabe zu lösen, damit Sie in der zweiten Aufgabe keine Zeit mit Praktomat-Details verschwenden müssen.

Sie können C++ nicht lernen, indem Sie in einer Vorlesung sitzen. Stattdessen müssen Sie C++ am Rechner üben. Wir haben vier Bremser, die Sie zu den untenstehenden Terminen im CIP-Pool in Gebäude 45 betreuen: Sebastian Waßmuth, Christoph Klein, Stefan Lorenz und Thomas Leichtweis. Gelegentlich wird auch Stephan Neuhaus anwesend sein.

Zeit/Tag Mo Di Mi Do Fr
9--11 Vorlesung Chr + Seb
11--13 Chr + Seb Th + St
16--8 Th + St Vorlesung

Donnerstags finden keine Veranstaltungen und kein betreuter Übungsbetrieb statt.

Hier finden Sie die Übungen und die Folien zur Vorlesung. Die Folien gibt es nur als ein großes Folienpaket.

Wie kann ich diese Veranstaltung einbringen?

Vorlesung und Praktikum sind für das Grundstudium (1.-4. Semester) ausgelegt. Sie können sie nur dann ins Hauptstudium einbringen, wenn die Inhalte in Ihrem Grundstudium nicht bereits behandelt wurden. Je nach Studiengang und bereits eingebrachten Veranstaltungen ergeben sich verschiedene Möglichkeiten:

Bachelor-Studiengänge Informatik

Sie können die Veranstaltung mit grossem Projekt als Software-Praktikum einbringen, wie es für Ihr 3./4. Semester vorgesehen ist. Im WS 2003/04 gibt es für Sie eine darauf aufbauende Stammvorlesung "Softwaretechnik".

Als Wechsler vom Diplom-Studiengang in den Bachelor-Studiengang können Sie die Veranstaltung ggf. als Stammvorlesung einbringen. Es gelten die Regelungen für die Diplom-Studiengänge (Hauptstudium).

Master-Studiengänge Informatik

Sie können die Veranstaltung in der Regel nicht einbringen; im WS 2003/04 gibt es für Sie eine neue Stammvorlesung "Softwaretechnik".

Als Wechsler vom Diplom-Studiengang in den Master-Studiengang können Sie die Veranstaltung ggf. als Stammvorlesung einbringen. Es gelten die Regelungen für die Diplom-Studiengänge (Hauptstudium).

Diplom-Studiengänge Informatik, Bioinformatik, CuK (Grundstudium)

Sie können diese Veranstaltung als Software-Design-Praktikum (mit grossem Projekt) einbringen.

Im WS 2003/04 gibt es dann für Sie eine neue Stammvorlesung "Softwaretechnik", wie sie für Ihr Hauptstudium vorgesehen ist.

Diplom-Studiengang Angewandte Informatik (Grundstudium)

Als Student/in der angewandten Informatik können Sie diese Veranstaltung mit kleinem Projekt als "Grundlagen der Softwaretechnik" einbringen, wie es für Ihr 4. Semester vorgesehen ist.

Im WS 2003/04 gibt es für Sie eine weitere Stammvorlesung "Softwaretechnik", wie sie für Ihr 5. Semester als Pflichtveranstaltung vorgesehen ist.

Wenn Sie bereits "Logik, Semantik, Verifikation" als "Grundlagen der Softwaretechnik" eingebracht haben, können Sie diese Veranstaltung mit kleinem Projekt als Ihre Pflichtstammvorlesung einbringen. Im WS 2003/04 können Sie dann die Vorlesung "Softwaretechnik" als Vertiefungsvorlesung hören.

Wenn Sie noch kein Software-Design-Praktikum absolviert haben, können Sie diese Veranstaltung als Software-Design-Praktikum einbringen (mit grossem Projekt). Sie müssen dann "Logik, Semantik, Verifikation" als "Grundlagen der Softwaretechnik" hören. Im WS 2003/04 können Sie dann die Vorlesung "Softwaretechnik" als Pflichtstammvorlesung hören.

Insgesamt gibt es also drei Alternativen für Studierende der angewandten Informatik, Veranstaltungen einzubringen:

Veranstaltung Alternative 1 Alternative 2 Alternative 3
"altes" Software-Praktikum
bis WS 2002/03
-/- Software-Praktikum Software-Praktikum
"neues" Software-Praktikum
ab SS 2003
(= diese Veranstaltung)
Software-Praktikum
(Vorr.: C++)
Grundl. Softwaretechnik Stammvorlesung
Logik, Semantik, Verifikation Grundl. Softwaretechnik Stammvorlesung (opt.) Grundl. Softwaretechnik
Softwaretechnik
ab WS 2003/04
Stammvorlesung Stammvorlesung Vertiefungsvorlesung (opt.)

Alle Diplom-Studiengänge Informatik (Hauptstudium)

Die Veranstaltung deckt weitgehend denselben Stoff ab wie das Software-Design-Praktikum im SS 2002 und später. Sie können daher die Veranstaltung ins Hauptstudium nur einbringen, wenn Sie ein Software-Design-Praktikum im WS 2001/02 oder früher im Diplom-Studiengang Informatik der Universität des Saarlandes absolviert haben.

Dann können Sie diese Veranstaltung als Stammvorlesung (mit kleinem Projekt) einbringen. Im WS 2003/04 können Sie dann die Vorlesung "Softwaretechnik" als Vertiefungsvorlesung hören.

Diese Regelung gilt auch für Bachelor- und Master-Studenten, die vom Diplom-Studiengang in den Bachelor- oder Master-Studiengang gewechselt sind.

Insgesamt gibt es also drei Alternativen für Informatik-Studierende, Veranstaltungen einzubringen:

Veranstaltung Alternative 4 Alternative 5 Alternative 6
"ganz altes" Software-Praktikum bis WS 2001/02 -/- -/- Software-Praktikum
"altes" Software-Praktikum bis WS 2002/03 -/- Software-Praktikum -/-
"neues" Software-Praktikum ab SS 2003
(= diese Veranstaltung)
Software-Praktikum
(Vorr.: C++)
-/- Stammvorlesung (opt.)
Softwaretechnik ab WS 2003/04 Stammvorlesung (opt.) Stammvorlesung (opt.) Vertiefungsvorlesung (opt.)

Informatik als Nebenfach

Sie können diese Veranstaltung als Software-Design-Praktikum einbringen - mit grossem oder kleinem Projekt, je nach benötigten Leistungspunkten/Wochenstunden.

Das Forum

Wir haben ein Forum eingerichtet, wo Sie nach Belieben Fragen zur Vorlesung und zu den Projekten stellen können. Viel Spass!

Impressum Datenschutzerklärung

<webmaster@st.cs.uni-saarland.de> · http://www.st.cs.uni-saarland.de/edu/einst/ · Stand: 2018-04-05 13:40