Softwaretechnik 3

Softwaretechnik 3

Studienbereich

  • Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 6. Semester

Anzahl Leistungspunkte (LP)

  • 5 (= 150 Stunden Lernzeit)

Fach

  • Softwaretechnik

Modulbeauftragter

  • Prof. Helmut Balzert

Verwendung des Moduls

  • Bachelor-Studiengang: Web- & Medieninformatik
  • Wissenschaftliche Informatik-Weiterbildung Online: Software-Architekt

Lernergebnisse / Kompetenzen

  • Nach der Durcharbeitung dieses Moduls kennen die Studierenden wichtige Architekturprinzipien, können ausgewählte Architektur- und Entwurfsmuster auf Beispiele anwenden, wissen, wie nichtfunktionale Anforderungen die Softwarearchitektur beeinflussen und können die querschneidenden Belange "Globalisierung von Software", "Authentifizierung und Autorisierung", "Transaktionen" und verschiedene Arten der "Netzkommunikation" exemplarisch in Java programmieren.
  • Sie kennen die wichtigsten Eigenschaften der Java EE- und der .NET- Plattform und spezifische Anforderungen an eingebettete Systeme. Sie sind vertraut Binnenarchitekturen für die Subsysteme Applikation, Persistenz und Benutzungsoberfläche. Sie kennen die Reihenfolge der notwendigen Entwurfsentscheidungen im Entwurfsprozess und wissen, wie die Qualitätssicherung eine Architektur durchgeführt werden kann. Sie berücksichtigen bei eigenen Implementierungen wichtige Implementierungsprinzipien und wissen, wie man eine Restrukturierung vornimmt. Sie kennen die Konzepte zur Verteilung, Installation, Abnahme und Einführung von Softwaresystemen und wissen, was Wartung und Pflege im Betrieb eines Softwaresystems bedeutet. Sie können Altysteme analysieren und nach festgelegten Mustern ein Reengineering durchführen.
  • Ein weiteres Lernziel besteht darin, die Arbeit im Team zu üben. Dazu ist eine Aufgabe aus dem Themenbereich "Software-Entwurf" in einem Team bestehend aus 3 bis 5 Teilnehmern gemeinsam zu bearbeiten. Der Tutor teilt den Teammitgliedern Rollen zu (Projektleiter, Software-Architekt 1 bis 3, Qualitätssicherer). Das Team erhält die Aufgabe, ausgehend von einem Pflichtenheft, Glossar, GUI-Konzept und einem OOA-Modell, einen Software-Entwurf als OOD-Modell zu erstellen. Jedes Teammitglied bearbeitet die Aufgabe entsprechend seiner Rolle. Über das W3L-Communication Center können die Teammitglieder gemeinsame Besprechungen abhalten.

Inhaltsübersicht

Inhaltsübersicht

Die Entwurfsphase

  • Einflussfaktoren
  • Von der Einschichten zur Mehrschichten-Architektur
  • Serviceorientierte Architektur
  • Middleware-Plattformen
  • Grundsatzentscheidungen
  • Wechselwirkungen zur Definitions- und Implementierungsphase
  • Objektorientierter Entwurf (OOD)
  • Entwurf der Fachkonzeptschicht
  • Entwurf der GUI-Schicht und Anbindung an die Fachkonzept-Klassen
  • Entwurf der Anbindung an die Datenhaltung

Basisarchitekturen

Die wichtigsten Entwurfsmuster

  • Konzepte von Entwurfsmustern
  • Beschreibungsstruktur
  • Kategorien Architektur-, Erzeugungs-, Struktur-, Verhaltens- und Synchronisationsmuster
  • Ausgewählte Entwurfsmuster, jeweils mit Beschreibung nach der Beschreibungsstruktur, Klassendiagramme, Sequenzdiagramme, evtl. Kollaborationsdiagramme und Zustandsdiagramme, Anwendungsbeispiel (mit konkreten Klassendiagrammen und Java-Programmen): Beobachter (observer), Model-View-Controller (MVC), Strategie (strategy), Befehl (command), Kompositum (composite), Iterator, Besucher (visitor), Singleton, Filter, Brücke (bridge), Adapter, Fassade (Facade), Abstrakte Fabrik (abstract factory), Fabrikmethode, Schichten, Broker, Muster zur Synchronisation
  • Übersicht über weitere Entwurfsmuster

Die Implementierungsphase

  • Prinzipien der Implementierung
  • Objektorientierte Programmierung (OOP)

Die Abnahme- & Einführungsphase

  • Die Installations- und Deployment-Phase

Die Wartungs- & Pflegephase

Lehrformen/Prüfungen

Lehrformen/Prüfungen

Lehrformen

  • Die Inhalte stehen sowohl als Online-Kurs als auch als Lehrbuch zum Selbststudium zur Verfügung. Die einzelnen Konzepte werden Schritt für Schritt aufeinander aufbauend in kleinen, überschaubaren Wissensbausteinen/Kapiteln vermittelt. Besonderer Wert wird auf jeweils vollständige Beispiele gelegt, die selbst weiterentwickelt werden können. Drei Fallstudien aus verschiedenen Anwendungsdomänen werden systematisch entwickelt. Eine Reihe von Animationen erläutern dynamische Vorgänge. Selbsttestaufgaben mit Musterlösungen erlauben es, die erworbenen Programmierfähigkeiten zu überprüfen.
  • Am Anfang und am Ende jedes Wissensbausteins können die bereits vorhandenen Fähigkeiten oder die im Wissensbaustein erworbenen Fähigkeiten anhand von Tests und Aufgaben überprüft werden.

Teilnahmevoraussetzungen

  • Formal: keine
  • Inhaltlich: Modul Grundlagen der Informatik 1 sollte absolviert sein.
  • Inhaltlich: Modul Grundlagen der Informatik 2 sollte absolviert sein.
  • Inhaltlich: Modul Grundlagen der Informatik 3 sollte absolviert sein.
  • Inhaltlich: Modul Softwaretechnik 1 sollte absolviert sein.
  • Inhaltlich: Modul Softwaremanagement 1 sollte absolviert sein.

Prüfungsformen

  • Zweistündige schriftliche Präsenzklausur, die bei Nichtbestehen zweimal wiederholt werden kann. Werden alle Aufgaben richtig gelöst, dann erhält man 100 Punkte. Um die Klausur zu bestehen sind 50 Punkte notwendig.
  • Hilfsmittel: Alle handschriftlichen oder gedruckten Unterlagen.

Voraussetzungen für die Zulassung zur Präsenzklausur

  • Folgende Voraussetzungen müssen für die Zulassung zur Präsenzklausur erfüllt sein: 70% aller Tests, die zu dem jeweiligen Modul gehören, müssen in der W3L-E-Learning-Plattform bestanden werden. Jeder Test kann beliebig oft wiederholt werden. Tests werden in der W3L-E-Learning-Plattform automatisch ausgewertet. Folgende Testformen stehen zur Verfügung: Single Choice, Multiple Choice, Fill In, Zuordnungstests, Anordnungstests, Hot-Spot-Tests. Zu den Tests gibt es Tipps und Begründungen für die jeweilige Lösung.
  • Ist die vorherige Voraussetzung erfüllt, dann wird automatisch ein Online-Abschlusstest freigeschaltet (Dauer 30 Minuten). Um den Abschlusstest zu bestehen, müssen 70 von 100 Punkten erreicht werden. Ein gutes Abschneiden bei dem Online-Abschlusstest wird mit Bonuspunkten belohnt. Wird der Abschlusstest dreimal nicht bestanden, dann ist ein Gespräch mit dem Leiter des Studiengangs und dem zugehörigen Autor erforderlich.

Literatur/Kurs

Literatur/Kurs

Literatur

  • Buch: Lehrbuch der Softwaretechnik - Entwurf, Implementierung, Installation und Betrieb von Helmut Balzert, 3. Auflage, Spektrum Akademischer Verlag, Heidelberg, 2011

Weiterführende Literatur

  • Fowler, Martin; Patterns of Enterprise Application Architecture, 1. Auflage, Addison-Wesley, 2002

Online-Kurs

  • Softwaretechnik 3

Wir beraten Sie gerne, rufen Sie uns an!

Mo. - Fr. 9:00 - 17:00 Uhr, Tel. 0231 / 61 804 - 126