Datenmodellierung

Sie befinden sich in der Definitionsphase der Softwareentwicklung. In der Definitionsphase analysieren Sie die gestellten Anforderungen. Gehen Sie daher bei Ihrem ersten Teamtreffen die nachfolgende Anforderungsliste gemeinsam durch und klären Sie die Fragen mit Ihrem PST-Tutor.

Zögern Sie nicht in der Definitionsphase Verständnisfragen zu stellen, gerade die dort getroffenen Entscheidungen sind unter Umständen sehr wichtig für das weitere Programm und eventuelle Fehler oder Fehlentscheidungen nur noch sehr schwer zu ändern.

 

Lastenheft

An das Programm werden nachfolgende Anforderungen gestellt:

  • Das Programm soll über eine graphische Benutzeroberfläche verfügen, über die ein Benutzer mit der Applikation interagieren kann
    (Das Erstellen von Benutzeroberflächen erlernen Sie in einer späteren Übung).
  • Die Benutzeroberfläche visualisiert die Status (Plural, Ausprache mit langem "u") der einzelnen Fabrikmodule.
  • Die Benutzeroberfläche soll interaktive Bedienflächen für das Leeren eines spezifischen Auffangbehälters dem Benutzer zur Verfügung stellen.
  • Jedes Fabrikmodul soll eigenständig die Kugeln verarbeiten.
  • In manchen Modulen müssen Informationen aus anderen Fabrikmodulen eingelesen und verarbeitet werden können. Daher sollen vorher von Ihnen festgelegte Informationen für andere Fabrikmodule zugänglich gemacht werden.
  • Diese "Statusinformationen" sollen in einer gültigen XML-Datei gespeichert werden.
    Der Aufbau der XML-Datei bleibt Ihnen überlassen, muss aber innerhalb Ihres Teams gut abgestimmt werden.

 

Eigene Ideen können gerne das Programm ergänzen und werden auch mit Zusatzpunkten bewertet. Denkbar ist z.B. die Visualisierung der aktuellen Position und das Erstellen von Statistiken, das Einbinden von Grafiken oder verschiedenen Problemlösungsalgorithmen.

 

Entwurfsphase

In der anschließenden Phase müssen Sie das gestellte Problem in eine geeignete Abstrahierung überführen, das alle relevanten Problemstellungsgebiete enthält (Modellierung). Untergliedern Sie diese Problemgebiete gegebenenfalls in weitere Teilgebiete (Modularisierung). Bestimmte Teilgebiete haben möglicherweise Überschneidungen. Definieren Sie daher erforderliche Schnittstellen, eine Datenstruktur und die Übergabeparameter, die Sie zur Ausführung einzelner Funktionen benötigen.

Entwickeln Sie eine Dokumentation der Schnittstellen, die Sie für das Programm benötigen. Dazu gehören der Funktionsname, aber auch globale Variablen und die Übergabewerte der Funktionen. Überlegen Sie sich, inwieweit Sie bei der Vergabe von Funktions- und Variablennamen eine Namenskonvention einführen wollen.

Tipp: Nutzen Sie hierzu ein UML-Klassendiagramm.

Hinweis: Die Abbildung von globalen Variablen erfordert in UML ein paar Tricks. Die einfachste Variante ist die Erstellung einer separaten Klasse mit allen globalen Variablen als Attribute mit öffentlicher Sichtbarkeit.

Geben Sie Ihre ausgearbeitete Dokumentation entsprechend der zeitlichen Vorgaben und entsprechend des geforderten Erscheinungsbild (siehe Kapitel "Abgaben") ab. Sollten Sie anschließende Ergänzungen, Erweiterungen oder Anpassungen vornehmen, fügen Sie eine entsprechend überarbeitete Version bei der Endabgabe dazu.