JS Tutorial: Wie man einen Zufallsgenerator programmiert - Teil 1

in #deutsch6 years ago (edited)

teil1.jpg

Hallo und herzlich willkommen zum ersten Teil meiner Serie zum Thema:
Wie man einen Zufallsgenerator programmiert.

Wie ich bereits in meinen letzten Monatsrückblick angekündigt habe, werde ich aus aktuellen Anlass einen Zufallsgenerator programmieren und dann zum Zwecke des dort stattfindenden giveaways nutzen. Und da dieses Projekt nicht alzu kompliziert ist, werde ich die einzelnen Schritte dokumentieren.

Bevor wir jedoch ans eingemachte gehen, müssen wir zunächst die Anforderungen an unsere Anwendung festlegen. Schließlich müssen wir uns zunächst einen Überblick verschaffen, was die Software überhaupt machen soll. Normalerweise würde dafür ein Lasten- bzw. Pflichtenheft angefertigt werden, das sprengt hier allerdings den Rahmen.

Wenn ihr mehr dazu erfahren wollt, wie der Entstehungsprozess von Software aussieht, lasst es mich einfach wissen. Ich selbst finde das Thema sehr interessant und vorallem gibt es immer neue Techniken die dabei angewendet werden.

Die Anforderungen



anforderungen.png
Urhebernachweis

Zu den Zufallsgenerator habe ich mir zunächst folgende Gedanken gemacht:

  • Es muss eine Oberfläche geben, wo der Nutzer die Möglichkeit hat, Datensätze in Form von "Teilnehmern" hinzuzufügen.
  • Es muss eine Liste der eingefügten Teilnehmer geben.
  • Der Nutzer muss die Möglichkeit haben, mit dieser Liste zu interagieren
    • Einzelne Einträge sollten gezielt löschbar sein
    • Alle Einträge der Liste sollten auf einmal löschbar sein

Und natürlich das wichtigste:

  • Es muss möglich sein, eine Anzahl zufällig ausgewählter Teilnehmer als Gewinner zu deklarieren

Diese Anforderungen sind das mindeste, was erfüllt werden muss, damit die Software benutzbar ist und auch das tut, wofür sie gedacht ist. Natürlich muss die Software über eine GUI (Graphical User Interface) verfügen, über die der Anwender später die Möglichkeit hat, dass Programm zu bedienen.

Am besten liefert man die Software auch im Responsive Design aus, die Daten werden in einer IndexDB abgelegt und und und...

Wenn man es übertreibt, kann sich der Aufwand schnell auf mehrere Tage hochaddieren, wenn nicht sogar einige Wochen.
Deswegen beschränken wir uns zunächst einmal auf das wesentliche. Tolle Ideen kann man hinterher immernoch nachimplementieren. Wenn ich etwas wichtiges vergessen haben sollte, fügt eure Ideen in den Kommentaren hinzu, ich bin immer für Anregungen offen.

Schlusswort


Das soll es auch fürs erste gewesen sein, die Anforderungen wurden deklariert, die Tage gibts dann was besseres als öde Theorie. Aber lasst euch gesagt sein, es geht viel besser so wenn man sich zunächst etwas mit den Ziel auseinander setzt und dadurch kleinere Aufgabenpakete erstellen kann, die einfach abgearbeitet werden können. Ehe man sich versieht, hat man die Software fertiggestellt und aus einen scheinbar riesen Problem ist etwas schönes geworden.

Coin Marketplace

STEEM 0.21
TRX 0.14
JST 0.030
BTC 69618.00
ETH 3376.33
USDT 1.00
SBD 2.76