Projekt: Mentoren-Knappen-Verwaltung

  • Die Anforderungen, die ich bisher habe, sind die, die in diesem Thread stehen - wenn dir noch was einfällt, kannst du es gerne posten - ich werde es (auf die eine oder andere Art) berücksichtigen :D

  • 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

  • Ab Punkt 2 hab ich es zwar nicht mehr verstanden, aber echt super dass Du Dir die Arbeit machst Sven.


    Mal ein THX dafür :thumb:


    LG Ulf

  • da ich in diesem bereich eher unterbelichtet bin verlasse ich mich voll und ganz auf dein know how sven - :nr1::winken:


    :alt: - ich lerne deshalb noch jeden tag etwas neues hinzu, weil ich so viel vergesse - :alt:

  • Das klingt alles super Pence. Grad die Unterteilung in die 3 Kategorien hätt ich nicht besser machen können. Freue mich schon auf den ersten Prototyp :thumb:



    Man kann nichts gewinnen, wenn man nicht auch bereit ist, Opfer zu bringen!

  • das sehe ich wie die anderen!!


    i like

    -Was für ein Mann ist ein Mann, der nicht die Welt verändert-


    -I'm not the angel of death, I am the child of life- Robert Nesta Marley


    47d3c873560bab3cae9471f37a.png

  • 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

  • Hut ab Sven,
    ich finds cool, aber du bist auch ohne die extra Arbeit, die du dir ja für uns machst, ne dufte Type. Dank dir weiter so freu mich schon auf den Prototyp 8)


    Hoffe wir sehen uns auch bald mal wieder in Game oder im Ts bin nur gerade nicht so aktiv

    Bei Stromausfall ist die Gelegenheit günstig, mit dem Fön zu baden. :baden:

  • 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

  • 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

  • Ich bin mir nicht so ganz sicher ob ich mit der idee hier so ganz richtig bin.
    Macht es sinn eine ehemaligen kategorie einzupflegen das wir wissen ob jemand schonmal da war und wenn ja wer sein mentor bzw. bei wechseln wer seine mentoren waren ? und vielleicht weswegen wir ihn entlassen haben bzw. ob wir ihn wegen groben desinteresse oder so rausgekegelt haben?

  • Das klingt ansich nach ner guten Idee Chris, die Frage stellt sich nur, ob das dann nicht alles atwas viel wird.


    Pence, meinst du mit Aktivitätsanzeige, dass gezeigt wird oder derjenige Aktiv/inakti ist, oder wann er das letzte Mal InGame war? Beides wäre nämlich sehr nützlich.



    Man kann nichts gewinnen, wenn man nicht auch bereit ist, Opfer zu bringen!

  • 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

  • naja muss ja nicht für alle ersichtlich sein sondern nur als abfallprodukt rausfallen wenn man einen knappen entfernt das man den grund angibt und das das dann im Herzogen teil als liste zu sehen ist .


    Vorteil wäre dann für eine neue bewerbung der person das man als herzog oder mentor dann geziehlt nachfragen kann.

  • Also ich stell mich auch gerne als Versuchskaninchen zur verfügung, mir fehlts nur an Knappen atmo....
    Is net grad viel los in dem Modus in dem ich mich bewege!
    Aber wenn ich Dir auch ohne Knappen weiterhelfen kann dann gerne!

  • Danke Metzgerbub,


    ja auch ohne Knappe sollte das machbar sein - vielleicht werde ich dir für den Prototyp einen Dummy-Knappen geben, aber das wird sich dann zeigen :)