![]() |
C - Entwicklung Lehreinheit Nr. 6: Teamwork Homepage von PS-Trainer - C-Entwicklung - Bibliotheken - an PS-Trainer |
![]() |
Teamwork: |
Team-Projekt 1: ![]() ![]() Rechts ein Muster dieses Flussdiagramms. Projekt-LeiterIn (Gelb) übernimmt die Koordination, Team-Mitglied (Blau) erstellt Modul A, Team-Mitglied (Grün) erstellt Modul B. Legen sie in wenigen Worten die gewünschte Funktionalität der beiden Module sowie des gesamten Projekts fest. Mit diesen Angaben können die Team-Mitglieder (Blau) und (Grün) bereits gleichzeitig und unabhängig voneinander weiterplanen. ![]() ![]() Team-Mitglied (Blau) hat dieses einfache Flussdiagramm seiner Aufgabe "Modul A" erstellt. (Blau) kommt bei der Analyse zu folgendem Schluss: Modul A benötigt eine Eingangs-Variable (int) und liefert eine Ausgangs-Variable (int). Die Projektleitung (Gelb) ändert diesen Vorschlag und fügt eine weitere Eingangs-Variable (int) dazu. Dann erhält (Blau) das ok für die nächste Entwicklungsphase: ![]() ![]() Die Projektleitung (Z) erstellt folgende Entwicklungs- und Test-Umgebung: Eine Header-Datei (team.h) enthält alle gemeinsam genutzten Angaben. Sie kann einfach an alle Team-Mitglieder verteilt werden. Die beiden Quellcodedateien (team_a.cpp und team_b.cpp) werden von den Team-Mitgliedern (Blau) und (Grün) zur Verfügung gestellt. Eine weitere Quellcodedatei (team_z.cpp) enthält gemeinsam genutzte Bibliotheks-Funktionen und steht ebenfalls allen Team-Mitgliedern zur Verfügung. Bis die beiden Quellcodedateien von ihren Team-Mitgliedern eintreffen, können sie bereits an der Dokumentation oder an gemeinsam benutzten Bibliotheken (libraries) arbeiten. Sie sollten auch überlegen, mit welchen Daten (regulär - im Wertebereich, aber auch irregulär) sie die Module testen wollen, und diese Tests vorbereiten. ![]() ![]() Die Header-Datei (team.h) und die Bibliotheks-Funktionen (team_z.cpp) werden von der Projektleitung (Gelb) zur Verfügung gestellt. Ein eigenes "Hauptprogramm" (main) wird so erstellt, dass es nur den zum Test von Modul A benötigten Code enthält. Dazu kommt natürlich das Modul A (team_a.cpp), das eigentliche Produkt des Team-Mitglieds (Blau). Nach Fertigstellung der Entwicklungs-Umgebung wird diese kurz getestet. ![]() Nun erstellen die beiden Team-Mitglieder (Blau) und (Grün) erste Prototypen ihrer Module. Die Gestaltung folgt keinen fixen Regeln, sollte aber sehr sparsam ausfallen, da die fertigen Prototypen möglichst bald an die Projektleitung geliefert werden sollen. Faustregel: Dokumentieren sie alle Eingangs- und Ausgangsvariablen, sowie die Funktion des Moduls selbst ("Hallo !"). Die Projektleitung testet die Prototypen und erteilt bei korrekter Funktion das ok für die weitere Entwicklung. ![]() Die beiden Team-Mitglieder (Blau) und (Grün) erweitern nun schrittweise die Funktionalität ihrer Module. Nach jedem Schritt wird in der eigenen Umgebung getestet. Nach allen größeren Schritten sowie nach festgelegten Zeiten (real Tage, als Übung Stunden) werden die jeweils neuesten fehlerfreien Modul-Versionen an die Projektleitung geliefert. Die Projektleitung (Gelb) testet das Zusammenspiel der Module und organisiert alle zwischenzeitlich erfolgten Änderungen (Dokumentation, Kommunikation an die Team-Mitglieder). Jedes Modul durchläuft typisch einige Zyklen: Entwicklung (Blau) - Test (Blau) - Lieferung - Test (Gelb) - Rückmeldung -> Zuletzt liegt das fertig funktionsfähige Modul (Runtime-Version) vor. ![]() Nun folgt eine Revision und Zusammenfassung der vorliegenden Dokumentation. Die Module werden archiviert, das Projekt abgeschlossen. |
Team-Projekt 2: Aufgabe: Erstellen sie das Konsolen-Programm FILTER, welches beliebige Dateien "filtert", d.h. nach vorgegebenen Regeln verarbeitet. Das Programm soll über die Commandline in dieser Form bedient werden: FILTER INFILE OUTFILE CONTROL PARAMETER1 PARAMETER2... FILTER: Der Name des Programms (Runtime-Version). INFILE: Angabe des Dateinamens der Eingangs-Datei OUTFILE: Angabe des Dateinamens der Ausgangs-Datei CONTROL: Code zur Auswahl aus mehreren verschiedenen Filter-Funktionen. PARAMETER1...n: Optional, falls einer ihrer Filter ein zusätzliches User-Argument benötigt. Legen sie selbst fest, was passieren soll, wenn mehr oder weniger als 3 Argumente in der Commandline eingegeben werden, bzw. wenn eines oder mehrere der Argumente unverständlich sind. Überlegen sie, wie sie ihren Usern Hilfe anbieten können. Erstellen sie das Programm in der Version 1.0 mit mindestens einer Filter-Funktion, sorgen sie jedoch vor, dass im Endausbau beliebig viele verschiedene Filter-Funktionen ausgeführt werden können. Auswahl möglicher Filter (als Beispiel & Anregung): ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Erstellen sie so rasch wie möglich eine marktfähige Version 1.0 des Programms FILTER und legen sie eine "Upgrade"-Pipeline für den weiteren Ausbau von FILTER an. |
Aktuelle Daten dieser Seite | Letzte Änderung: |
![]() ![]() ![]() ![]() |