Inhalt: |
Im Rahmen des Praktikums wird eine realitäts- bzw. industrienahe Problemstellung aus dem Kontext des Studienganges mittels der Problemstellung angemessener Methoden und Werkzeuge im Team bearbeitet. Dabei werden geeignete Vorgehensweisen zur Projekt- und Arbeitsorganisation in der Gruppe erlernt und angewendet. Das jeweils entsprechend der Aufgaben- und Problemstellung angemessene Vorgehen entspricht dabei so weit wie möglich der bestehenden Praxis in der Industrie und beruflichen Praxis. Der Fokus liegt dabei auf den Methoden des agilen Software Engineerings und auf dem Systems Engineering sowie der Methodenanwendung aus dem jeweiligen Kontext der Problemstellung. Für die Entwicklung der Software als Bestandteil eines größeren Systems, bestehend aus Software und Hardware, finden jeweils geeignete Vorgehensmodelle Anwendung, z.B. agile Vorgehensmodelle. Es wird ein komplexes Projekt systematisch bearbeitet. Die Bearbeitung des Projektes erfolgt in einer der Aufgabenstellung angemessener Teamgröße von in der Regel 3 bis 5 Studierenden. Die durchzuführende Projektarbeit wird geeignet in bearbeitbare Arbeitspakete unterteilt. Die Umfänge und Gewichtungen der einzelnen Aktivitäten eines jeden Arbeitspakets sind dabei von der konkreten Problemstellung abhängig. Dies gilt ebenfalls für die konkret anzuwendenden Methoden bzw. einzusetzenden Werkzeuge. Diese können auf Grund der Vielfältigkeit des Gebiets der mobilen und eingebetteten Systeme nur im Kontext der konkreten Problemstellung ausgewählt werden. Wiederkehrende Aktivitäten (nicht notwendigerweise Phasen) bei der Bearbeitung der einzelnen Arbeitspakte sind dabei nachfolgend beschrieben. In jeder Aktivität können nach Anforderung geeignete agile Vorgehensweisen eingesetzt werden, z.B. zum Prototyping in der Entwurfsphase. |
|
1. Analyse |
|
Detaillierte Festlegung der Anforderungen an das System mit der Rolle eines Unternehmens als Kunden. 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. Entwurf |
|
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. |
|
3. Umsetzung |
|
Im Rahmen der Umsetzung erfolgt die tatsächliche Realisierung des entworfenen Systems. Das System besteht in der Regel aus Software- und Hardware-Komponenten. Es werden Arbeitseinheiten definiert, deren Aufwand abgeschätzt und deren Realisierung zugeordnet. Zusätzlich zum fertigen System wird am Ende ein Bericht erstellt, aus dem evtl. Aufwandsabweichungen oder Modellkorrekturen ersichtlich sind. |
|
4. Validierung |
|
Die Validierung der Umsetzung auf Basis der in einer Analyse bestimmten Anforderungen dient zum Abgleich des Ist-Zustandes mit dem Soll-Zustand. Es wird eine detaillierte Systemdokumentation erstellt und von den Aufgabenstellern zusammen mit dem System abgenommen. |
|
Allgemein gilt dabei: |
|
Jedes Arbeitspaket kann eine oder mehrere dieser Aktivitäten umfassen und jede Aktivität kann Gegenstand von einem oder mehreren Arbeitspaketen sein. Dabei müssen alle Inhalte der Aufgabenstellung durch Arbeitspakete adäquat abgedeckt sein. In den einzelnen Arbeitspaketen kommen projekt- und domänenspezifische Werkzeuge, Methoden und Beschreibungssprachen zum Einsatz. Das Ergebnis eines jeden Arbeitspaket ist ein eigenes Dokument, ggf. begleitet von Software, ggf. begleitet von Anhängen mit z.B. Software oder Beschreibungen von Hardwareblöcken in geeigneten Spezifikationssprachen. |
|
Jedes Arbeitspaket schließt mit einem kurzen Kolloquium ab, in dem die Ergebnisse den Betreuern präsentiert und verteidigt werden. Das Kolloquium kann auch die Präsentation zusammen mit anderen Teams umfassen um eine reflektierte Diskussion über die Ergebnisse und Vorgehensweisen zu ermöglichen. |
|
Vortragender ist der zu Beginn festgelegte Verantwortliche des Arbeitspakets. Jeder Teilnehmer übernimmt mind. einmal die Rolle des Arbeitspaket-Verantwortlichen. Dieser ist auch für den Erfolg seines Arbeitspakets verantwortlich und regelt deshalb die Aufgabenteilung im Team. Die Teams werden durch regelmäßige Treffen mit dem Betreuer unterstützt, deren Häufigkeit der aktuellen Phase bzw. dem Bearbeitungsfortschritt angemessen ist. |
|
Das Praktikum schließt mit einem Abschlusskolloquium ab, in dem das fertig entwickelte System präsentiert und abgenommen wird. |
|
Programmiersprachen sind hauptsächlich: C/C++/Java |
|
Darüber hinaus werden der Problemstellung angemessene spezifische Werkzeuge und Methoden eingesetzt. Das Praktikum behandelt reale Problemstellungen in realem Anwendungskontext. Die entworfenen Lösungsansätze haben sich in diesen Kontext zu integrieren. |
|
|
Voraussetzungen nach Prüfungsordnung: |
Erfolgreiche Absolvierung der Module: |
|
- "Ideation & Prototyping for Industrial Innovation" |
|
- "Seminar Innovative Industrial Software" |
|
|
|
Empfohlene Voraussetzungen: |
|
- Programmierung in Java oder Programmierung I |
|
- Mensch-Maschine-Interaktion |
|
- MES Praktikum oder Software Engineering Project (SEP) |
|
- zusätzlich ggf. Verteilte Systeme. |
|
|
Kenntnisse: |
Die Studierenden lernen die Realisierung von umfangreichen Engineering-Projekten aus dem Kontext des Studienganges in der industriellen Anwendungsdomäne und die dazu notwendigen Vorgehensweisen, Methoden und Werkzeuge kennen. Die vorhandenen Kenntnisse in der (insbesondere agilen) Softwareentwicklung und Codeerstellung werden vertieft und in der Praxis angewendet. Die Kenntnisse in Projektmanagement werden vertieft. Die Studierenden sammeln Erfahrungen mit der Teamarbeit. |
Fähigkeiten: |
Die Studierenden beherrschen die praktischen Fragestellungen der agilen Entwicklung und Umsetzung von Systemen, sowie des dazu nötigen Projektmanagements, können im Team effektive Lösungen erarbeiten und durchführen und erfolgreich ein reales Projekt im Team realisieren. Die Studierenden vertiefen die Fähigkeit im Team Probleme zu lösen und ggf. konstruktive Konfliktlösungsstrategien zu finden. Die Studierenden lernen die Anwendung agiler Vorgehensweisen und Methoden, sowie Ideation und Prototyping Techniken. |
Kompetenzen: |
Die Teilnehmer erlernen soziale Kompetenz durch die Teamarbeit und die notwendigen organisatorischen und fachlichen Kompetenzen zur Durchführung größerer Projekte aus dem Kontext des Studiengangs im Team und unter Zeitdruck erfolgreich zu bearbeiten, da der Umfang der Aufgabe nur mit durchdachter Arbeitsteilung erfolgreich erfüllt werden kann. Teil des Lernziels besteht in der Abschätzung und Kontrolle des Arbeitsaufwandes, sowie der Entwicklung und Anwendung von Strategien zum erfolgreichen Projektmanagement. Dazu werden Stundenzettel geführt. Die Teilnehmer erlernen die Anwendungsmöglichkeiten agiler Techniken in der Praxis in allen Entwicklungsaktivitäten. Die Teilnehmer können mit Kreativ- und Ideation-Methoden Lösungsvorschläge erarbeiten und mittels geeigneter Prototyping-Methoden und -technologien umsetzen und diese in den Projektkontext geeignet integrieren. |