Sie sind auf Seite 1von 6

Programmierprojekt WS2018/19

Pflichtenheft Programmierprojekt “Zweipersonen Strategiespiel”

Version Autor Quelle Status Datum Kommentar


0.1 Ursula H.Balzert, Lehrbuch akzeptiert 09.03.15
Fissgus der Softwaretechnik,
Basiskonzepte und
Requirements
Engineering,
Spektrum
Akademischer Verlag,
3. Auflage, 2009

0.2 Noemi in 25.10.18 Verfeinerung


Klimpel Bearbeitung des
Lastenhefts
V0.4

0.3 Maximilian akzeptiert 30.10.2018 Überarbeitung,


Sterz Hinzufügen von
Abnahmekriteri
en

0.4 Noemi Bewertung Prof. Dr. in 07.11.18 Verbesserung


Klimpel Fissgus Bearbeitung anhand der
Bewertung

Priorität aus Auftraggebersicht = {hoch, ​mittel,​ niedrig}


Priorität aus Auftragnehmersicht = {hoch,​ mittel​, niedrig}
Stabilität = {fest, ​gefestigt​, volatil}
Kritikalität = {hoch, mittel, niedrig, ​keine​}
Entwicklungsrisiko = {hoch, mittel, ​niedrig​}

1. Visionen und Ziele

/V10/ ​(/LV10/) Der Fachbereich INS soll bei Veranstaltungen eigens zu


Demonstrationszwecken entwickelte Spiele zur Verfügung haben.
/V20/ ​(/LV20/) Das System „Zweipersonen Strategiespiele“ bietet die Möglichkeit,
zwei einfache Strategiespiele – Tic Tac Toe und 4 gewinnt – mit einfachsten
textbasierten Mitteln zur grafischen Darstellung in einem Textbasierten
Ausführungsprogramm rechnergestützt zu spielen.
/V25/ ​(/LV20/) Der Rechner kann dabei sowohl nur als Werkzeug zur Durchführung
der Spiele mit zwei menschlichen Spielern, die sich gegenseitig als Gegner
gegenüberstehen, sowie auch als Spielgegner genutzt werden.
/V30/ ​(/LV30/) Das System soll den Einsatz eines Algorithmus zur Realisierung von
Zweispieler-Spielen demonstrieren.
/V40/​​ (/LV30/) Das System soll den Einsatz eines Algorithmus zur Realisierung von
einem Gegenspieler mit einer optimalen Gewinnstrategie demonstrieren.

2. Rahmenbedingungen

/R10/ ​(/LR10/) Das System ist eine Textbasierte Spiele-Anwendung.


/R15/ ​Das System läuft in der Hochschul-Umgebung der Hochschule Anhalt.
/R20/ ​(/LR20/) Zielgruppe sind Personen, die “Tic-Tac-Toe” oder “4-gewinnt”
computergestützt gegen einen Computer (Nur Tic-Tac-Toe) oder gegen eine andere
Person spielen wollen.
/R30/ ​(/LR20/) Spieler sollen die Möglichkeit haben mithilfe des Systems die
unterstützten Spiele gegen eine andere Person zu spielen.
/R40/ ​(/LR20/) Spieler sollen die Möglichkeit haben auf dem System gegen das
System zu Spielen (Nur Tic-Tac-Toe), das einen algorithmus-gesteuerten Gegner
mit optimaler Gewinnstrategie zur Verfügung stellt.
/R50/ ​Das System soll uneingeschränkt auf verschiedenen Desktop
Betriebssystemen (Windows, Linux, etc.) ausführbar sein.
/R60/ ​Auf dem System auf dem die Software benutzt wird, wird eine funktionierende
textbasierte Konsole zur Ausgabe vorausgesetzt.

3. Kontext und Überblick

/K10/ ​(/LK10/) Das System ist eine textbasierte Konsolen-Anwendung für derzeit
gebräuchliche Desktop-Betriebssysteme.
/K20/ ​(/LK20/) Das System wird in der Programmiersprache Java Version 8
entwickelt.
/K30/ ​(/LK30/) Das System ist lokal auf dem Rechner, auf dem das System genutzt
wird, installiert.

4. Funktionale Anforderungen

/F10/ ​(/LF10/) Das System wird ausschließlich über eine Konsole des genutzten
Betriebssystems und über Tastatureingaben bedient.
/F20/ ​(/LF20/) Das System muss eine Auswahl zwischen den Spielen “Tic Tac Toe”
und “4 gewinnt” ermöglichen.
/F30/ ​(/LF30/) Das System muss für beide Spiele einen Modus besitzen, in dem zwei
Personen gegeneinander spielen und dabei die Konsole als Spiel-Hilfsmittel
benutzten.
/F40/ ​(/LF40/) Das System muss für das Spiel Tic Tac Toe einen Modus besitzen, in
dem eine Person gegen das Programm als zweitem Spieler spielt.
/F50/ ​(/LF50/) Das System muss garantieren, dass während des Spiels alle
offiziellen Spielregeln der Spiele Tic Tac Toe und 4 gewinnt eingehalten werden.
/F60/ ​(/LF60/) Das System muss im Modus „Spieler gegen Spieler“ für jedes Spiel
den gesamten Spielverlauf in einer Textdatei aufzeichnen.
/F70/ ​(/LF70/) Das System muss für das Spiel 4 gewinnt im Modus „Spieler gegen
Spieler“ die Möglichkeit anbieten, das Spiel zu einem beliebigen Zeitpunkt zu
unterbrechen.
/F80/ ​(/LF80/) Das System muss für das Spiel 4 gewinnt die Möglichkeit anbieten,
das Spiel ab einer zuvor gespeicherten Spielsituation fortzusetzen.
/F90/ ​(/LF90/) Das System muss für das Spiel Tic Tac Toe im Modus „Spieler gegen
Programm“ eine aus Sicht des Programms optimale Spielstrategie realisieren.
/F100/​​ Das System stellt ein Menü zur Verfügung, in dem der Nutzer zwischen “4
gewinnt”, Tic Tac Toe im Modus “Spieler gegen Programm” oder “Spieler gegen
Spieler” auswählen oder einen gespeicherten Spielstand fortsetzen kann.

5. Qualitätsanforderungen

/QE10/ ​(/LQ10/) Die Zeit zur Berechnung eines Spielzuges muss im Modus „Spieler
gegen Programm“ beim Spiel Tic Tac Toe unter 1 Sekunde liegen.
/Q50/​​ Das System muss für Nutzer mit weniger Computerkenntnissen verständlich
bedienbar und nutzbar sein.
/Q60/​​ Das System soll eine angemessene Menge an Ressourcen benötigen.

Systemqualität sehr gut gut normal nicht relevant

Funktionalität

Angemessenheit x

Genauigkeit x

Interoperabilität x

Sicherheit x

Konformität x

Zuverlässigkeit
Reife x

Fehlertoleranz x

Wiederherstellbarkeit x

Konformität x

Benutzbarkeit

Verständlichkeit x

Erlernbarkeit x

Bedienbarkeit x

Attraktivität x

Konformität x

Effizienz

Zeitverhalten x

Verbrauchsverhalten x

Konformität x

Wartbarkeit

Analysierbarkeit x

Änderbarkeit x

Stabilität x

Testbarkeit x

Konformität x

Portabilität

Anpassbarkeit x

Installierbarkeit x

Koexistenz x
Austauschbarkeit x

Konformität x

6. Abnahmekriterien

/A10/ ​Abnahmekriterum
● Ausgangssituation:
Das Menü des Systems ist geöffnet.
● Ereignis:
Der Nutzer wählt im Menü den Punkt “Tic-Tac-Toe (2 Spieler)” an.
● Erwartetes Ergebnis:
Das System startet das Untersystem “TicTacToe”, welches abwechselnd die
Spieler zur Eingabe eines Zuges auffordert, bis ein Spieler dreimal in einer
Reihe, Zeile oder Diagonale gesetzt hat oder das Spielfeld voll ist und gibt
dann das Ergebnis “Spieler 1 hat gewonnen” “Spieler 2 hat gewonnen” oder
“Unentschieden” aus.
/A20/ ​Abnahmekriterium
● Ausgangssituation:
Das Menü des Systems ist geöffnet.
● Ereignis:
Der Nutzer wählt im Menü den Punkt “Tic-Tac-Toe (2 Spieler)” an.
● Erwartetes Ergebnis:
Das System startet das Untersystem “TicTacToe MinMax”, welches den
Spieler abwechselnd zur Eingabe eines Zuges auffordert und automatisch
einen Gegenzug setzt, bis der Spieler oder das System dreimal in einer
Reihe, Zeile oder Diagonale gesetzt haben oder das Spielfeld voll ist und gibt
dann das Ergebnis “Du hast gewonnen”, “Du hast verloren” oder
“Unentschieden” aus. Dabei setzt das System automatisch den besten
möglichen Zug in dieser Situation.
/A30/ ​Abnahmekriterium
● Ausgangssituation:
Der Nutzer hat ein “4 gewinnt”-Spiel gestartet und an einem beliebigen
Punkt gespeichert und beendet.
● Ereignis:
Der Nutzer startet das System neu und wählt im Menü aus, dass er das “4
gewinnt”-Spiel fortsetzen möchte.
● Erwartetes Ergebnis:
Das System ruft den abgespeicherten Spielstand sowie das Untersystem “4
gewinnt” auf und das Spiel kann nach den üblichen Regeln fortgesetzt
werden, bis ein Spiel-Ergebnis feststeht.
7. Literatur, Internetquellen

- Balzert, Helmut: Lehrbuch der Softwaretechnik, Basiskonzepte und Requirements


Engineering. Spektrum Akademischer Verlag, 3. Auflage, 2009.
- Panitz, Sven Eric: Java will nur spielen. Programmieren lernen mit Spaß und
Kreativität. Vieweg+Teubner, 2. Auflage, 2011.
- Russel, S.; Norvig, P.: Künstliche Intelligenz. Ein moderner Ansatz. Pearson
Deutschland, 3. Auflage, 2012.
- Wikipedia. Die freie Enzyklopädie. Link: http://de.wikipedia.org/wiki/Vier_gewinnt;
letzter Zugriff: 05.10.2018.
- DIN ISO/IEC 9126_1