AKTUELLER HINWEIS: Keine Vorlesung am 15.6.2017!
Robocode-Präsentationen am 29.6. (Liste).

Software Engineering (Sommersemester 2017)


Vorlesungsbeginn: Donnerstag, 30.3.2017 14:00 Uhr in G201

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

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 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. Vorlesung (30.3.2017)Einfü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. VorlesungPlanung & 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. VorlesungPlanung & Analyse: Spezifikation Teil 2
Agile Vorgehensmodelle: SCRUM. 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. VorlesungUnified Modelling Language (UML)
Einführung in die normierte graphische Darstellungsweise (nicht nur) objektorientierter Softwareprojekte: Klassendiagramm, Sequenzdiagramm, Aktivitätsdiagramm, Kompositionsstrukturdiagramm (auch: Montagediagramm), Komponentendiagramm, Verteilungsdiagramm, Objektdiagramm, Paketdiagramm, Kommunikationsdiagramm, Interaktionsübersichtsdiagramm, Zeitverlaufsdiagramm, Anwendungsfalldiagramm (auch: Nutzfalldiagramm) und Zustandsdiagramm.
5. VorlesungEntwurf
Softwarearchitektur, Strukturiertes Design (SD), Objektorientiertes Design (OD), Computer Aided Software Engineering (CASE) Tools und IDE.
6. VorlesungEntwurfsmuster in Java, Strukturierte und/oder objektorientierte Programmierung
Prototypen, Entwurfsmuster allgemein, virtuelle Klassen und Methoden, Interfaces in Java, Entwurfsmuster: Strategie (Strategy)
7. VorlesungFortsetzung Entwurfsmuster: Beobachter (Observer), Dekorierer (Decorator)
8. VorlesungFortsetzung Entwurfsmuster: Fabrik (Factory), Einzelstück (Singleton), Fliegengewicht (Flyweight), ggf. auch Template Method. Fazit Enwurfsmuster
9. VorlesungTests, 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
10.+11. VorlesungErgänzungen, Tipps zur Prüfungsvorbereitung, Präsentationen der Teilnehmer und Abschluss ROBOCODE-Projekt
Klausur
Dauer: 120 Minuten,
zugelassene Hilfsmittel: nicht-programmierbarer Taschenrechner, Schreibzeug.
Hinweis: Mitgebrachte Unterlagen und elektronische Kommunikationsmittel jeglicher Form (auch Klingeltöne können Informationen übertragen!) sind während der Klausur nicht erlaubt, bitte schalten Sie insbesondere Smartphones 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 Klausur-Richtlinien!
KNOPPER.NET ist nicht verantwortlich für die Inhalte externer Webseiten.
Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] uebungen/ 18-May-2017 15:49 - [DIR] vorlesung/ 30-Mar-2017 05:00 -
Apache Server at knopper.net Port 80