Hinweise zur Abschlussarbeit - JirkaDellOro/Softwaredesign GitHub Wiki

Gehe bei der Konzeption und Produktion der Abschlussarbeit folgendermaßen vor:

Hilfe

  • Nutze weiter Github um mit dem Dozenten und deinen Kommilitonen zu kommunizieren. In der Softwareentwicklung gehört es zu Kultur und Etikette sich gegenseitig zu helfen. Warte nicht lange um einen Issue zu einem Problem zu posten. Wenn Du das Problem dann selbst löst, poste die Lösung und schließe den Issue wieder. Somit verlierst Du keine Zeit weil Du zu lange alleine an einem Problem grübelst und erst dann andere einbindest. Dies gilt für die Konzeption ebenso wie für die Produktion.
  • Stelle dabei sicher, dass Du die aktuellen Daten leicht zugänglich gemacht hast. Versieh die Anfrage gleich mit allen erforderlichen Links, so dass wir nicht suchen und raten müssen.
  • Wenn wir Pull-Requests erstellen, 'merge' diese nicht gleich in dein Repository, sondern schaue dir die Änderungen an. Möglicherweise hinterlassen Helfer nur unformatierte Kommentare, die mit der Codesyntax inkompatibel sind. Sofern das mergen angebracht ist, soll das explizit mitgeteilt werden.

Konzeption

Funktionale Analyse

  • Beschäftige dich zunächst noch nicht mit der Frage, wie Du dein Konzept umsetzen willst, sondern nur damit, welches Erlebnis der Nutzer haben soll und wie er mit der Anwendung interagiert.
  • Erstelle Skizzen, gerne handgezeichnet, welche darstellen, was der Nutzer während des Interaktionsverlaufs sieht.
  • Erstelle Anwendungsfalldiagramme, für komplexere Interaktionsabläufe kannst Du auch domänenübergreifende Aktivitätsdiagramme zeichnen, mit dem Nutzer und dem/der System/e als "Schwimmbahnen"
  • Überlege auch, wie gegebenenfalls Objekte untereinander interagieren, und unter welchen Bedingungen bestimmte Interaktionen nicht möglich sind.

Technische Analyse

  • Überlege nun, wie deine Anwendung umgesetzt werden könnte. Höchstwahrscheinlich wirst Du dies nicht sofort von Anfang bis Ende durchdenken und niederschreiben können.
  • Erstelle Klassendiagramme und wende dabei die Prinzipien, Fragen und Regeln der objektorientierten Modellierung an.
  • Erstelle daher Aktivitätsdiagramme auf verschiedenen Detailebenen.
  • Meist empfiehlt es sich, zuerst einen groben Ablauf darzustellen, um Teilaspekte zu identifizieren. Erstelle dann für die Teilprobleme wieder Aktivitätsdiagramme. So wandert dein Fokus von „wie setzte ich die Anwendung um?“ zu „wie setze ich diesen Teil oder diesen Aspekt der Anwendung um?“.
  • Im Idealfall lassen sich Probleme auf diese Art so weit aufgliedern, bis sich für alle Unterprobleme einfache Lösungen finden, und damit das Gesamtproblem gelöst ist. In allen anderen Fällen hilft dir diese Vorgehensweise zumindest, nicht über alles gleichzeitig nachdenken zu müssen und sich nicht schon am Anfang in Details zu verlieren.
  • Zudem kannst Du auf diese Weise relativ schnell einen Lösungsansatz strukturieren und ihn anderen kommunizieren. Gehe davon aus, dass nicht gleich der erste Versuch zum Erfolg führt, sondern dass die ersten Diagramme eher Hinführungen für weitere, verbesserte sind.

Bedenke: die Konzeption muss derart gestaltet werden, dass andere ohne vertiefte Kenntnis der Aufgabenstellung die Anwendung auf dieser Grundlage produzieren können und mit großer Wahrscheinlichkeit das gewünschte Ergebnis erreichen.

Produktion

  • Erst wenn deine Konzeption ein funktionsfähiges System darstellt und obigem Merksatz nahe kommt, beginne mit der Produktion.
  • Implementiere deine Abschlussarbeit syntaktisch korrekt gemäß deiner technischen Analyse und nach den festgelegten Stil-Regeln.
  • Teste die Applikation regelmäßig, ausgiebig und frühzeitig. Lasse auch andere Personen testen um festzustellen, ob die Anwendung bedienbar und fehlertolerant ist.
  • Achte darauf, dass Du deinen Code häufig in dein Repository überträgst und dabei sinnvolle Nachrichten schreibst. Übertrage ihn dann auch gleich auf Github!

Abgabe

  • Fasse die Konzeption als ein wohlformatiertes Designdokument in PDF zusammen!
  • Platziere wie üblich einen Link zu Github-Pages auf die fertige und lauffähige Anwendung im Steckbrief.
  • Platziere ebenso einen Link zu der Stelle in deinem Github-Repository, an dem der Quellcode und das Designdokument zu finden ist.
  • Stelle zudem auf diese Art auch ein gepacktes Archiv zur Verfügung, welches folgende Daten enthält
    • Das Designdokument
    • Die Projektordner inklusive aller erforderlichen Dateien, also auch Bild- und Audiodaten sofern genutzt
    • Eine kurze Anleitung zur Installation der Anwendung unter Berücksichtigung der erforderlichen Dienste
    • Eine kurze Anleitung zur Interaktion mit der Anwendung

Spielerische Anwendung

Sofern Du eine spielerische Anwendung erstellt hast, die Du gerne bei der Ausstellung "GameZone" am Tag der Medien sehen möchtest, ergänze folgendes

  • Einen Ordner mit zwei Screenshots der laufenden Applikation in den Größen 250x100 und 1920x400 pixel sowie ein Textdokument mit den Informationen
  • Titel
  • Autor
  • Jahr und Semester der Entwicklung (Sose, Wise)
  • Studiensemester
  • Lehrplansemester
  • Studiengang
  • Veranstaltung im Rahmen derer die Entwicklung durchgeführt wurde
  • betreuender Dozent
  • Genre des Spiels
  • ggf. passende Tags/ Schlagwörter zu dem Spiel
  • Untertitel (max 40 Zeichen), der Menschen zum Spielen animiert
  • Kurzbeschreibung (max 250 Zeichen), die kurz erklärt wie zu spielen ist
  • Erklärung, dass die Fakultät Digitale Medien die Anwendung bei Veranstaltungen, insbesondere am Tag der Medien, mit einem expliziten Verweis auf den Autor, vorführen darf.

Wir freuen uns auf spannende Apps von euch!