Inhalt: |
Im Rahmen der Lehrveranstaltung wird eine dem Umfang der Lehrveranstaltung angepasste mobile Anwendung (ggf. mit zugehörigem Backend-System) realitätsnah entwickelt mittels der Problemstellung angemessener Methoden und Werkzeuge im Team bearbeitet unter Anwendung geeigneter Vorgehensweisen zur Projekt- und Arbeitsorganisation. Insbesondere werden Vorgehensweisen aus den Bereichen Mensch-Maschine Interaktion (Prototyping, Entwicklung, Durchführung und Auswertung von Benutzerstudien, Human-Centered Software Engineering, Feldtests, Fokusgruppen), verteilte Systeme (Architekturentwurf verteilter Anwendungen, Verteilung von Funktionalität, Protokollentwurf), und Software Engineering (Agile Entwicklungsprozesse) eingesetzt. Das Vorgehen deckt sich soweit möglich mit bestehender Praxis aus Industrie und Forschung. Teams von in der Regel 2-3 Studierenden bearbeiten in der Übung gemeinsam und systematisch ein kleineres Projekt, das in mehrere Arbeitspakete strukturiert ist. Die genaue Aufgabenstellung wird zu Beginn der Lehrveranstaltung schriftlich in Form einer Zielvorgabe mit minimalen Eigenschaften als Bestehenskriterien vorgegeben. Bei der Bearbeitung des vorlesungsbegleitenden Projekts werden folgende Engineering-Aktivitäten für die 1.) Infrastrukturkomponenten bzw. für die 2.) mobile Anwendung abgedeckt: |
1. Analyse |
1.) Detaillierte Festlegung der Anforderungen an das System. Beachtung der Grundprinzipien Präzision, Vollständigkeit und Konsistenz. Der Inhalt umfasst das Systemmodell als Übersicht, die geeignete Beschreibung der Systemumgebung mittels geeigneter Werkzeuge, sowie die Erfassung und Dokumentation funktionaler und nicht-funktionaler Anforderungen. |
|
2.) Für die Mobile Anwendung sind, zusätzlich zu den genannten Aufgaben, Prototyping-Methoden einzusetzen (z.B. Wizard-of-Oz) bzw. Studien zur Identifikation der Nutzergruppen (z.B. Interviews) durchzuführen. |
|
|
2. Entwurf |
1.) Hauptbestandteil ist ein systematischer Grobentwurf eines Systems, das die in der Analyse ermittelten Anforderungen bestmöglich erfüllt. Auf dieser Basis wird ein detaillierter Entwurf ausgearbeitet, der mit der Problemstellung angemessenen, domänenspezifischen Werkzeugen und Vorgehensweisen das umzusetzende System spezifiziert und dokumentiert. |
|
2.) Die mobile Anwendung ist, im Gegensatz zum Hauptsystem, mittels Prototyping-Methoden agil und iterativ zu entwerfen und zu validieren. Dazu sind z.B. Methoden zur Erstellung horizontaler bzw. vertikaler High-Level/Low-Level Prototypen aus dem Bereich der Mensch-Maschine-Interaktion einzusetzen. |
|
|
3. Umsetzung |
1.) Im Rahmen der Umsetzung erfolgt die tatsächliche Realisierung des entworfenen Systems. Das System besteht in der Regel aus Software- und Hardware-Komponenten. Zur Realisierung sind bestehende, konfigurierbare Softwarebausteine mit eigener Software zu ergänzen und zu einem lauffähigen Gesamtsystem zu integrieren. Hierzu werden Methoden aus dem Bereich der verteilten Systeme, z.B. Architekturentwurf, oder der vernetzten Systeme, z.B. Socket-Programmierung, verwendet. |
|
2.) Die Umsetzung der Mobilen Anwendung wird durch spezielle Frameworks und Entwicklungssysteme aus dem Bereich mobiler Anwendungen unterstützt. |
|
|
4. Validierung |
1.) Validierung und Verifikation der Ergebnisse von Entwurf und Umsetzung auf Grundlage der durch Analyse bestimmten Anforderungen. |
|
2.) Die mobile Anwendung ist durch geeignete Methoden aus dem Bereich der Mensch-Maschine-Interaktion zu evaluieren und die Ergebnisse sind kritisch zu diskutieren. Hierzu können z.B. Beobachtung, Fragebögen, Effizienz- und Fehlermessungen bei der Interaktion eingesetzt werden. |
|
|
|
Jedes Arbeitspaket kann eine oder mehrere dieser Aktivitäten umfassen und jede Aktivität kann Gegenstand eines oder mehrerer Arbeitspakete sein. Dabei müssen alle Aktivitäten durch Arbeitspakete adäquat abgedeckt sein. In den einzelnen Arbeitspaketen kommen projekt‐ und domänenspezifische Werkzeuge und Methoden zum Einsatz z.B. zum Test von Client/Server-Systemen, Schnittstellenbeschreibungssprachen, Service Description Languages. Zu allen Arbeitspaketen werden Arbeitseinheiten definiert, deren Aufwand abgeschätzt und deren Realisierung z.B. anhand einer Gantt-Chart organisiert und durchgeführt. Das Ergebnis jedes Arbeitspakets wird durch einen kurzen Bericht dokumentiert, ggf. begleitet von Software. Aus dem Bericht sind auch Aufwandsabweichungen und Korrekturen vorangegangener Arbeitspakete ersichtlich. Jedes Arbeitspaket schließt mit einem Kurzvortrag in der nächsten Einheit ab. Die Teams werden durch ein festes wöchentliches Treffen mit dem Betreuer unterstützt. Die Lehrveranstaltung schließt mit einem Abschlusskolloquium ab, in dem das fertig entwickelte System präsentiert und abgenommen wird. |
Inhaltliche Voraussetzungen (erwartete Kenntnisse): |
keine |
Empfohlene Voraussetzungen (erwartete Kenntnisse): |
Programmierung in Java, Mensch-Maschine-Interaktion, zusätzlich ggf. Verteilte Systeme |
Ziel (erwartete Lernergebnisse und erworbene Kompetenzen): |
|
Kenntnisse: |
Die Studierenden lernen die Realisierung von umfangreichen Engineering-Projekten aus dem Kontext Mobiler Anwendungen und Systeme und die dazu notwendigen Vorgehensweisen, Methoden und Werkzeuge kennen. Theoretische Kenntnisse vom Entwurf verteilter Systeme, der Entwicklung mobiler Anwendungen und Rechnernetze werden praktisch angewendet und durch die Systementwicklung eines komplexeren Gesamtsystems vertieft. |
Fähigkeiten: |
Die Studierenden beherrschen die praktischen Fragestellungen der Entwicklung und Umsetzung von Systemen bestehend aus mobilen Endgeräten und zentralen bzw. de-zentralen Infrastrukturen sowie den maßgeblichen Einfluss der Mensch-Maschine-Interaktion mit dem Gesamtsystem. Die Studierenden können in einem kleinen Team effektive Lösungen erarbeiten und durchführen und erfolgreich ein vorlesungsbegleitendes Projekt im Team realisieren. |
Kompetenzen: |
Die Teilnehmer erlernen soziale Kompetenz durch die Teamarbeit und die notwendigen organisatorischen und fachlichen Kompetenzen zur Durchführung von Projekten aus dem Kontext der mobilen Anwendungsentwicklung erfolgreich zu bearbeiten. |
Unterrichts-/Lehrsprachen: |
Deutsch |
Lehr- und Lernmethode (Vermittlung der Kompetenzen) : |
Als Lernmethode wird zusätzlich zu den individuellen Methoden des Studierenden eine vertiefende Wissensbildung durch mehrmaliges prototypisches Implementieren von Anwendungen in den Übungen angestrebt. Als Lehrmethode wird in der Vorlesung Frontalunterricht gehalten und, wo möglich, Gruppenarbeit in Form von Diskussionen zur Vertiefung eingesetzt. In den Übungen werden praktische Beispiele durch die Studenten implementiert bzw. diskutiert.
Folgende Medienformen finden Verwendung:- Präsentationen (Vortrag) mit Folien
- zusätzliche Unterlagen wie technische Dokumentationen und wissenschaftliche Arbeiten
|
Abhaltungstermine: |
siehe StudIP |
Teilnahmekriterien & Anmeldung: |
Bitte beachten Sie die Ankündungen zur Prüfungsanmeldung. Diese werden i.d.R. 4-6 Wochen nach Semesterbeginn veröffentlich. Bei Fragen zu allen Themen um die Prüfungsanmeldung wenden Sie sich bitte ausschließlich an das Studiensekretariat. |