Beiträge von PenceSOA im Thema „Projekt: Mentoren-Knappen-Verwaltung“

    Meine verehrten Gildenkameraden,
    ich darf nun die nächste Phase einläuten. Ich habe euch genug Zeit gegeben, meine bisherige Arbeit kritisch zu begutachten und nun will auch ich langsam ans eingemachte. Ich danke den Kommentatoren für ihre Kommentare und bitte um weitere ^^


    Nun denn....


    ----------------------------------------------------------------------------------------------------------------
    PHASE 4: PROGRAMMIERUNG DES PROTOTYPEN


    Hierzu ist nicht viel zu sagen. Nachdem die Anforderungen nun bestimmt sind und einige Testmentoren sich gemeldet haben, werde ich mich nun daran machen, den Prototypen zu programmieren. Bitte beachtet: Es wird nicht das Endprodukt sein, sondern lediglich ein Prototyp. Für weitere Erläuterungen verweise ich auf meine vorigen Beiträge.
    Zunächst einmal möchte ich noch ein Dankeschön aussprechen. Dieses ist an diejenigen gerichtet, die sich bereit erklärt haben, diesen Prototyp zu testen. Im einzelnen danke ich also:

    • LordSmoker
    • Nemeton
    • Metzgerbub
    • Cadrimasa

    Mit meiner Wenigkeit sind es dann 4 5 Mentoren, die in dem Prototypen Einzug finden werden. Falls noch einer mit machen möchte, so kann er sich noch melden. Mehr als 5 Mentoren insgesamt werden allerdings nicht Einzug finden, da dies den Rahmen des Prototypen sprengen würde.


    Viel ist zur Programmierung nicht zu sagen. Ich werde mich daransetzen, wenn ich Zeit habe und versuchen das Teil in den nächsten Wochen funktionsfähig zu kriegen. Ich werde mich an die Anforderungen halten, die von euch abgesegnet wurden und die genannten Umgebungen verwenden. Sollten andere Umgebungen notwendig sein, so werde ich euch dahingehend informieren. Ebenso werdet ihr über den Fortschritt auf dem Laufenden gehalten.


    Einen Zeit- und Vorgehensplan werde ich hierfür nicht erstellen. Auch wenn dies eigentlich zu machen ist, gehe ich davon aus, dass der Prototyp auch so fertig werden wird. Weiterer Vorteil an dieser Vorgehensweise ist, dass ich so in der Lage bin für das Endprodukt einzuschätzen, was wann und wie lange zu machen ist.


    Ich werde mein Möglichstes tun, euch nicht allzu lange warten zu lassen.


    ------------------------------------------------------------------------------------------------------------


    Mit diesen Worten sei diese Phase eingeleitet :)


    PS.: @LordSmoker, @nemeton, @Metzgerbub und @Cadrimasa --- muss euch auf diese Weise verlinken, hat anders leider nicht geklappt

    Danke für die Reaktionen.


    @HellGod : Die Idee ist zwar nicht schlecht, würde aber, denke ich, den Rahmen sprengen - Vielleicht lässt sich für sowas ein "Ehemaligen-Register" oder so realisieren


    @LordSmoker : mit der Aktivitätsanzeige meine ich, ob er sich inaktiv gemeldet hat oder nicht. Die letzte Ingameaktivität kann im Endprodukt durchaus Einzug finden, allerdings nicht in den Prototypen


    @nemeton : Danke für deine Testbereitschaft

    Lange habt ihr warten müssen, aber nun ist die 2.Phase vollendet (mit einem kleine Abstrich)


    Im Folgenden seht ihr nun die Gedanken, die ich mir bzgl. des Prototyps gemacht habe sowie einige Mock-Ups. Bitte schaut es euch an und gebt mir entsprechende Rückmeldung


    ___________________________________________________________________________________


    3. PROTOTYP-VORBEREITUNG


    3.1. ANFORDERUNGEN


    Von den in Abschnitt 1 "Anforderungen" aufgelisteten Anforderungen habe ich eine Auswahl zusammengestellt, die ich im Prototypen realisieren möchte. Hierbei habe ich nicht nur solche aus der Muss-Kategorie gewählt, sondern auch ein paar aus den anderen:

    • Knappen den Mentoren hinzufügen & entfernen
    • Views: Mentorenliste und Mentorenadministration
    • Aktivitätsanzeige
    • Link zum Battle-Net-Account
    • Datum der Knappenaufnahme
    • Frühester Beförderungszeitpunkt
    • Rang des Knappen

    3.2. DATEI-ORGANISATION


    Es werden drei Dateien erstellt, die jeweils unterschiedliche Aufgaben erfüllen:

    • MentorenKnappenPT.json
    • MentorenlistePT.php
    • MentorAdminPT.php

    MentorenKnappenPT.json ist ein JSON-File, in welchem die Daten der Mentoren und ihrer Knappen enthalten sind. Es fungiert somit als Datenbank
    MentorenlistePT.php gibt einen Überblick der Mentoren und ihrer Knappen. Hier sollen allgemeine Informationen dargestellt werden - unter anderem auch die Links zu den Battle-net-Accounts und die Aktivitätsanzeige. Hierfür muss das Skript Anfragen an MentorenKnappenPT.json schicken, um die notwendigen Daten zu erhalten.
    MentorenAdminPT.php gibt den Mentoren die Möglichkeit ihre Knappen zu verwalten. Hier werden Funktionalitäten bereit gestellt, die das Hinzufügen und Entfernen von Knappen ermöglichen. Des Weiteren sind die Details zu den einzelnen Knappen hier aufgeführt und entsprechend veränderbar. Auch hierfür muss eine Verbindung zu MentorenKnappenPT.json bestehen, um die Knappendaten des einen Mentors auszulesen.


    3.3. MOCKUPS


    Mockups bieten einen ersten Eindruck über das Aussehen des Produkts (hier: des Prototypen). Ich habe zwei Mockups erstellt: Eine für die Mentorenliste und die andere für die Mentorenadministration.

    • Mentorenadministration:
    • Mentorenliste:


    3.4. GENERIEREN VON PROTOTYPDATEN


    Ich habe mich dazu entschlossen, wenn es geht, keine Dummy-Daten zu generieren. LordSmoker hat sich bereits dazu bereit erklärt, seine Daten zur Verfügung zu stellen und den Prototypen dann auch zu verwenden und zu testen, wofür ich hiermit nochmals ein großes Dankeschön aussprechen möchte. Ich werde meinerseits natürlich auch dran teilnehmen, da ich selbst auch Mentor bin. Allerdings werden das nicht genug Mentoren sein, um einen angemessenen Testverlauf generieren zu können. Daher nochmals meine Anfrage an euch:
    Ich brauche noch 3-4 Mentoren, die sich dazu bereit erklären, an der Testphase des Prototyp teilzunehmen. Wäre cool, wenn ihr euch melden könnten, denn ansonsten müsste ich dennoch Dummy-Daten erzeugen, was meiner Meinung nach suboptimal, da künstlich, wäre.


    _____________________________________________________________________________________


    Verzeiht bitte diese lange Wartezeit - hatte eine Menge um die Ohren. Aber wenn alles gut geht, kriege ich den Prototypen vielleicht sogar noch vor Weihnachten hin :)


    Liebe Grüße


    Sven

    So hier mal ein kleiner Zwischenstand - war aufgrund der anstehenden Prüfung etwas zeitlich verhindert, aber es geht voran^^


    Bezüglich der Phase 2 habe ich eine Anfrage an euch: Ich werde es so machen, dass ich zunächst nur eine kleine Auswahl an Mentoren in den Prototypen aufnehme. Sinn und Zweck eines Prototypen ist es ja einerseits, dass der Entwickler erkennt, was der Aufwand ist und ihn so besser einschätzen kann und dass die Anwender einen ersten Eindruck von der Funktionalität erhalten. Des Weiteren werden Prototypen NICHT zur Vollversion erweitert, sondern nach der Prototypphase verworfen und die Vollversion wird dann NEU programmiert, nur um hier Missverständnissen vorzubeugen. Meine Anfrage ist also, dass ich 5 Mentoren brauche, die gewillt sind, mit dem Prototypen zu arbeiten. Wenn ihr Interesse habt, meldet euch einfach.


    Grüße


    Sven

    Ich danke euch für die Kommentare - ist schön zu sehen, dass man ein gewisses Maß an Anerkennung für seine Arbeit erntet :)


    Aber auf diesen Lorbeeren will ich mich natürlich nicht ausruhen, daher kündige ich nun die 2. Phase an.


    -----------------------------------------------------


    PHASE 2: VORBEREITUNGEN FÜR DEN PROTOTYP


    [/b]Nachdem nun die grundlegenden Vorbereitungen für das Projekt getroffen wurden (welche selbstverständlich nicht in Stein gemeißelt sind - es ändert sich eigentlich immer etwas^^), ist es nun an der Zeit sich dem Prototypen zu nähern. Hierfür werden allerdings Vorbereitungen notwendig sein, welche in dieser Phase abgedeckt werden. Diese Vorbereitungen unterscheiden sich von jenen aus Phase 1 in der Hinsicht, dass sie das künftige Produkt (in diesem Fall den Prototypen) beschreiben und definieren, während jene aus Phase 1 das Projekt beschreiben und definieren.


    AGENDA

    • Auswahl der in Abschnitt 1 ("Anforderungen") aufgelisteten Anforderungen, die in diesem Prototypen realisiert werden sollen
    • Erstellen einer Übersicht der zu erstellenden Dateien, deren Aufgaben und Abhängigkeiten untereinander
    • Erstellen diverser Mockups (Schemenhafte Darstellung des UIs), um einen Eindruck über das Aussehen des Prototyps zu geben und zu erhalten
    • Generierung von Prototypdaten (entweder Dummy-Daten oder reale Daten)


    -----------------------------------------------------------------------------------------------------


    Hiermit ist Phase 2 eingeleitet. Kritiken und Kommentare können selbstverständlich gegeben werden. Diese werden so gut es möglich berücksichtigt.


    Grüße


    Sven

    So, ich habe die Anforderungsanalyse und die Toolauswahl soweit fertig und präsentiere sie euch im Folgenden. Ich bitte euch um entsprechendes Feedback, ob ich etwas vergessen habe oder so. Natürlich könnt ihr auch die Auswahl der Tools kritisch betrachten, wenn ihr das nötige Know-How dazu habt^^


    Die Anforderungen werden in drei Kategorien unterteilt (MUSS, SOLL, KANN), deren Bedeutung wohl selbsterklärend sind - wenn ihr bei der Einteilung andere Vorschläge habt, so könnt ihr dies auch äußern. Ich werde sehen was sich da dann machen lässt. Anmerkung: Der Prototyp wird vor allem Anforderungen der MUSS-Kategorie zu erfüllen versuchen plus einigen ausgewählten SOLL- und KANN-Anforderungen, um einen angemessenen Eindruck über die Release-Version zu gewähren.


    ________________________________________________________________________________


    1. ANFORDERUNGEN

    1.1. MUSS

    • Hinzufügen und Entfernen von Mentoren (inkl. Battle-Tag und Spielmodus)
    • Knappen den Mentoren hinzufügen und entfernen (inkl. Battle-Tag und Spielmodus)
    • Auswahl des Datums der Gilden- und Knappenaufnahme
    • Anzeige der Knappenaufnahmebereitschaft eines Mentors
    • verschiedene Views mit verschiedenen Berechtigungen

      • Mentorenliste (allen zugänglich)
      • Mentorenadministration (zugänglich für Mentoren und Herzöge)
      • Herzogadministration (zugänglich für Herzöge)

    1.2. SOLL

    • Anzeige der Rang-Historie eines Knappen
    • Angabe, wann ein Knappe frühestens befördert werden kann ( + Alarmfunktion)
    • (direkte) Knappenübergabe von Mentor zu Mentor
    • "Beförderungs"-Button
    • Anzeige des Aktivitätsstatus von Mentoren und Knappen (inaktiv gemeldet von ... bis ..., letzte Aktivität, etc.)
    • Anbieten von einer Überblicksansicht (Überblick über alle Knappen) und einer Detailansicht (für einen Knappen) [Global und/oder mentorspezifisch]

    1.3. KANN

    • Anzeige des Paragonlevels
    • Link zum BatteNet-Account
    • Notizfunktion für Mentoren


    2. TOOLS / UMGEBUNG

    2.1 PROGRAMMIERSPRACHE

    Die Programmierung erfolgt überwiegend in PHP. Der Hauptgrund hierfür liegt vor allem in der einfachen Einbindung in das darüberliegende Board. Ebenso bietet PHP eine entsprechende Fülle an Funktionalitäten an, die für die Realisierung dienlich sind. Allerdings werden vermutlich auch Java-Script-/JQuery-Elemente Einzug finden. Diese bietet vor allem Vereinfachungen in der Realisierung des User-Interfaces (Eingabefelder, Auswahlfelder, etc).


    2.2 DATENSPEICHERUNG

    Im Bereich der Datenspeicherung bieten sich zwei Mechanismen an: JSON und SQL.
    JSON zeichnet sich vor allem durch eine sehr einfache und intuitivere Speicherung aus. Es mangelt allerdings an den Abfragemöglichkeiten, worin SQL definitiv seine Stärken hat. Ebenso lassen sich in SQL komplexere Speicherstrukturen einfacher abbilden und realisieren, wohingegen JSON für einfachere Strukturen vorteilhafter ist, da leichtgewichtiger. Des Weiteren ist bei SQL eine größere Verwaltung notwendig als bei JSON (Stichwort: SQL-Server).

    Unter Berücksichtigung der einzelnen Stärken und Schwächen der beiden Mechanismen und der zu erwartenden Aufgaben dieses Projektes, fällt die Wahl (wie auch bei der Paragonladder) auf JSON. Somit wird der Prototyp hiermit realisiert und dient somit auch als Testobjekt, in welchem die Wahl des Speichermechanismus angemessen auf die Probe gestellt werden kann und werden wird.


    2.3 ZUGRIFFSKONTROLLE


    Zum Thema der Zugriffskontrolle sei gesagt, dass diese weitestgehend über jene des Boards realisiert wird (Zugangsberechtigung für verschiedene Nutzergruppen). Dies ist möglich, da das Projekt in das Board integriert wird und nicht eigenständig läuft. Eventuell werden einige zusätzliche Kontrollen notwendig sein, was sich aber erst während der Entwicklung und während des Betriebs des Prototyps herausstellen wird. In diesem Fall wird eine entsprechende Information gegeben.


    ________________________________________________________________________________


    Grüße,


    Sven

    Meine werten Gildenkollegen, ich möchte euch um Verzeihung bitten, dass es so lange ruhig war um das Mentoren-Knappen-System. Ich muss ehrlich zugeben, dass mir die Motivation in den vergangenen Monaten gefehlt hat, daran zu arbeiten, weswegen ich noch nichts vorzuweisen habe, aber es ist nicht vergessen worden.


    Ich werde mich nun mal wirklich dransetzen das Projekt zu realisieren, und euch hier auf dem Laufenden zu halten. Ich habe auch vor relativ zeitnah einen Prototyp zu präsentieren, da ich ein solch umfangreiches Projekt wohl nicht sauber in einem Rutsch durchprogrammieren kann ohne dabei 10x die Herangehensweise zu ändern (daher der Prototyp).


    Anfangen wird das ganze jetzt in dieser Woche mit..


    -----------------------------------------------------------------------------------------------------------


    PHASE 1 - Projekt-Vorbereitung


    In dieser Phase werden die für ein solches Projekt erforderlichen Vorbereitungsmaßnahmen getroffen. So ist es wichtig festzuhalten, was verlangt wird (und wie wichtig die einzelnen Anforderungen sind). Ebenso gilt es die geeignete Umgebung für die Arbeit zu wählen, was die Programmiersprache, aber auch unterstützende Tools und Umgebungen beinhaltet.


    Agenda:

    • Aufstellen einer Anforderungsanalyse (Was muss/soll/kann rein?)

    • Wahl einer geeigneten Programmier- und Realisierungsumgebung

    • Euch die Ergebnisse offenlegen, um Anregungen und Kritik zuzulassen

    --------------------------------------------------------------------------------------------------------------


    Weitere Phasen werden ebenfalls angekündigt, um euch angemessen auf dem Laufenden zu halten.


    Seid mir bitte nicht böse, dass ich bisher noch nichts gemacht habe - wie gesagt, die Motivation hat gefehlt^^



    Grüße


    Sven

    Hallo Leute,


    will euch hiermit mitteilen, dass das Projekt weiterhin in Bearbeitung ist (also ich habe es nicht vergessen) - komme nur selber in die Prüfungsvorbereitungsphase, weswegen in nächster Zeit nicht mit einer Fertigstellung zu rechnen ist. Will das ja auch richtig machen und nicht irgendeinen halbfertigen Kram abliefern^^


    Also nicht verzagen, ich bin am Ball, aber es kann sich etwas ziehen. Werde euch aber auf dem Laufenden halten :)

    Ich grüße euch, meine werten Gildenkollegen,


    ich hoffe mal, dass ich das hier in den richtigen Bereich poste. Wenn das nicht so ist, möchte ich um Verzeihung bitten und um die entsprechende Verschiebung in den richtigen Bereich.


    Wie einige von euch wissen (oder auch nicht ;) ), habe ich mich in den vergangenen Wochen daran gemacht, eine Paragonladder für unsere Gilde zu programmieren, welche zwar noch nicht ganz fertig ist, aber immerhin schon funktionstüchtig (will noch ein paar kleinere Features einbauen).


    Offenbar zufrieden mit meiner Arbeit, hat mich Diavolo darum gebeten, eine Mentoren-Knappen-Verwaltung zu realisieren. Dies möchte ich nun in den nächsten Tagen mal angehen.


    Ich möchte diesen Thread hier nutzen, um euch die Möglichkeit zu geben, mir mitzuteilen, was für Funktionalitäten und sonstige Anforderungen ihr gerne sehen würdet.



    Zur eurer Information:


    Ich werde das ganze weitestgehend mit php umsetzen (eventuell werden auch Javascript-Elemente Einzug finden, aber da bin ich mir noch nicht so ganz sicher), um eine einfache Einbindung in das Board zu realisieren. Als eine Art Datenbankersatz werde ich wie auch bei der Paragonladder das JSON-Format nutzen (allerdings bin ich gegen SQL nicht abgeneigt - mal sehen, was besser funktioniert).



    Einiges hat mir Dia schon mitgeteilt, was er sich so vorstellt. Unter der Voraussetzung, dass er nichts dagegen hat, werde ich dies hier einfach mal reinkopieren, um einen Ansatz zu geben^^:



    Ja, das war's erstmal von mir - also wenn ihr noch Vorschläge (oder im weiteren Projektverlauf Beanstandungen habt), schreibt sie einfach hier rein (oder auch über PN^^)


    Grüße Sven


    PS.: Ich werde selbstverständlich noch an der Paragonladder arbeiten. Auch Vorschläge/Kritik hierzu begrüße ich (wäre allerdings geschickter, das über PN zu machen^^)