Software Engineering (Sommersemester 2009)



Vorlesungsbeginn: Mittwoch, 18.3.2009, Übungsbeginn: Mittwoch, 25.3.2009

Zeiten und Gruppeneinteilung Software Engineering SS2009 für WINFO
Der nachfolgende, vorläufige Zeitplan wird in der ersten Vorlesung anhand der Vorlesungspläne der Vorlesungs-Teilnehmer optimiert.
SE Vorlesung für WINFO 4 A+BMittwochs 08:00-09:30 Uhr, A105 (Aula)
SE Übung für WINFO 4 Gruppe BMittwochs 09:45-11:15 Uhr, A216.1
SE Übung für WINFO 4 Gruppe AMittwochs 14:00-15:30 Uhr, C112

Die Veranstaltung besteht aus Vorlesung (2SWS), einem praktischen Projekt, das in Gruppenarbeit bearbeitet wird (zuhause oder in der Übung, 2SWS), und Übungen am Rechner (2SWS). Beschreibung und Informationen zum Software Engineering Projekt (Robocode) finden Sie unter http://knopper.net/bw/sep/. Schriftliche Klausur und Projekt mit Präsentation fließen zu jeweils 50% in die Benotung ein.

Die Vorlesung findet, wie oben angegeben, jeweils Mittwochs 8:00-9:30 Uhr in A105 (Aula) statt. Die zu jeder Vorlesung gehörenden Übungsblätter stehen unmittelbar nach der jeweiligen Vorlesung unter http://knopper.net/bw/se/uebungen/ zum Download bereit. Sie sollten nach Möglichkeit schon vor der auf die Vorlesung folgenden Übung (in der Folgewoche) bearbeitet, und am Übungstermin im PC-Pool am Rechner nur noch kontrolliert bzw. nachbearbeitet werden.

Alle Übungen sind betriebssystemunabhängig lösbar, Sie benötigen für die Programmierteile eine eingerichtete Java Entwicklungs- (JDK) und Laufzeitumgebung (JRE). Java Version 1.5 ist für die Übungen ausreichend. Wenn Sie unter Linux arbeiten möchten, können Sie in den meisten Pools die Linux Live-DVD KNOPPIX verwenden, auf der die benötigten Entwicklungsumgebungen bereits vorinstalliert sind. Windows-Anwender finden unter http://java.sun.com/ die offizielle Java-Edition von Sun Microsystems. Unter http://www.eclipse.org/ finden Sie eine integrierte und sehr umfangreiche (mitunter ZU umfangreich!) Workbench-Umgebung für Java, für alle Plattformen.

Die in der folgenden Tabelle angegebenen Termine, Themen und Beschreibungen verstehen sich vorbehaltlich übersehener Feiertage und Durchführbarkeit innerhalb der zur Verfügung stehenden Zeit, und können sich daher noch entsprechend verschieben.

Als optionale Literatur zur Vorlesung werden folgende Bücher und Nachschlagewerke empfohlen:

Software Engineering Termine und Themen

1. VorlesungswocheEinführung
Organisatorisches: (vorläufiger) Zeitplan, Übersicht behandelte Themen, Rechnerzugang und Übungen.
Definition "Software Engineering", praktische Programmierung vs. konzeptionelles Design, Lebenszyklus von Softwareprojekten, V-Modell.
2. VorlesungswochePlanung & Analyse: Spezifikation Teil 1
Projektmanagement, Lastenheft (Anforderungsdefinition), Pflichtenheft (Mit technischen Ansätzen verfeinertes Lastenheft), Aufwandsabschätzung, Kostenbeeinflussende Lizenzmodelle (proprietär vs. Open Source), Beispiel/Übung: Erstellung eines Angebotes für ein Software-Projekt
3. VorlesungswochePlanung & Analyse: Spezifikation Teil 2
Rechtliche Rahmenbedingungen: Lizenzen und Haftung (Fortsetzung), Anforderungsanalyse, Datenanalyse, Prozessanalyse, Systemanalyse, Strukturierte Analyse (SA), Objektorientierte Analyse (OOA), Beispiel: Analyse für eine zu erstellende Unternehmenssoftware.
4. VorlesungswocheUnified Modelling Language (UML)
Einführung in die normierte graphische Darstellungsweise (nicht nur) objektorientierter Softwareprojekte: Klassendiagramm, Sequenzdiagramm, Aktivitätsdiagramm.
5. VorlesungswocheUnified Modelling Language (UML) Teil 2
Kompositionsstrukturdiagramm (auch: Montagediagramm), Komponentendiagramm, Verteilungsdiagramm, Objektdiagramm, Paketdiagramm, Kommunikationsdiagramm, Interaktionsübersichtsdiagramm, Zeitverlaufsdiagramm, Anwendungsfalldiagramm (auch: Nutzfalldiagramm) und Zustandsdiagramm.
6. VorlesungswocheEntwurf
Softwarearchitektur, Strukturiertes Design (SD), Objektorientiertes Design (OD), Computer Aided Software Engineering (CASE) Tools.
7. VorlesungswocheProgrammierung, Entwurfsmuster in Java
Prototypen, Entwurfsmuster allgemein, virtuelle Klassen und Methoden, Interfaces in Java, Entwurfsmuster: Strategie (Strategy)
8. VorlesungswocheEntwurfsmuster: Beobachter (Observer), Dekorierer (Decorator)
9. VorlesungswocheEntwurfsmuster: Fabrik (Factory), Einzelstück (Singleton), Fliegengewicht (Flyweight). Template Method entfällt. Fazit Enwurfsmuster
10. VorlesungswocheTests, Begleitende Prozesse des Software Engineering, Dokumentation
Modultests (Low-Level), Integrationstests (Low-Level), Systemtests (High-Level), Akzeptanztests (High-Level), Bottom-up oder Top-down Methode, Arten der Dokumentation
11.+12. VorlesungswochePräsentationen und Abschluss ROBOCODE-Projekt (Vorlesung und Übung)
Klausur
Dauer: 120 Minuten,
zugelassene Hilfsmittel: nicht-programmierbarer Taschenrechner, Schreibzeug.
Hinweis: Elektronische Kommunikationsmittel jeglicher Form (auch Klingeltöne können Informationen übertragen!) sind während der Klausur nicht erlaubt, bitte schalten Sie insbesondere Handys vollständig ab, geben Sie Taschen bei der Aufsicht ab oder lassen Sie alles nicht benötigte am besten gleich zuhause.
Bitte beachten Sie auch die neuen Klausur-Richtlinien!
Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] uebungen/ 20-May-2009 01:59 - [DIR] vorlesung/ 25-Mar-2009 09:33 -
Apache Server at knopper.net Port 80