Pflichtenheft Quelle: http://ais.informatik.uni-leipzig.de/download/2002w_v_swt/2002w_swt_v_03.pdf Ein Pflichtenheft ist eine detaillierte verbale Beschreibung der Anforderungen an ein neues Produkt Funktion eines Pflichtenheftes Aufgabe fachliche Anforderungen aus der Sicht des Auftraggebers Adressaten Auftraggeber, Auftragnehmer, Systemanalytiker, Designer, Inhalt Lastenheft-Inhalte werden konkretisiert und detailliert dargestellt Form standardisiertes Gliederungsschema mit festgelegten Inhalten Sprache detaillierte verbale Beschreibung mit Nummerierung Didaktik gut lesbar; Aufbau so, dass man sich möglichst leicht einarbeiten kann Zeitpunkt erstes Dokument nach Abschluss der Planungsarbeit Umfang die notwendigen Anforderungen müssen ausreichend detailliert bescrieben werden. Beschreibung des WAS, nicht des WIE
PFLICHTENHEFT GLIEDERUNG 1. Zielbestimmung (allgemein: was ist das Ziel) 1. Musskriterien (was muß gemacht werden; hier noch keine Pflichten durch Nummern festlegen, sondern nur überblicksmäßig aufzählen) 2. Wunschkriterien 3. Abgrenzungskriterien (was braucht nicht gemacht zu werden, das bei vergleichbaren Produkenten vorhanden ist) 2. Produkteinsatz (ein Überblick, noch keine Pflichten festlegen) 1. Anwendungsbereiche 2. Zielgruppen 3. Betriebsbedingungen 3. Produktübersicht (ein konkreter Überblick über das Projekt, welche Module, welche Schnittstellen nach Aussen) 4. Produkt funktion (hier werden die Pflichten durch Nummerierung festgelegt z.b: PF1;PF1.1 usw.) 5. Produktdaten (Nummerieren!) 6. Produkt leistungen 7. Qualitätsanforderungen 8. Benutzeroberfläche 9. Nichtfunktionale Anforderungen 10.Technische Produkt umgebung 1. Software 2. Hardware 3. Orgware 4. Produkt-Schnittstellen 11.Spezielle Anforderungen 1. Software 2. Hardware 3. Orgware 4. Entwicklungs-Schnittstellen 12.Gliederung in Teilprodukte 13.Ergänzungen
Beispiel Pflichtenheft Schifferlversenken (1. Entwurf) Zielbestimmung Das bekannte Spiel Schifferlversenken soll als Übungsbeispiel für die Erstellung eines Software-Produktes am Kolleg für Informationstechnik der Abteilung Elektronik entwickelt werden. Spielregeln Zwei Gegner sitzen sich gegenüber und malen versteckt jeder eine Flotte von Schiffen auf ein schachbrettartiges Spielfeld. Jedes Schiff der Flotte hat eine gewisse Länge und erstreckt sich über ein, zwei, drei oder mehr Felder in horizontale oder vertikale Richtung. Durch Nennung der Position ( A1 vgl. Schachbrett) wird auf das gegnerische Spielfeld geschossen; einen Treffer landet man, wenn man ein Spielfeld nennt, auf dem ein Abschnitt eines Schiffes gezeichnet wurde. Nach einem Treffer darf man weiterschießen, bei einem Fehltreffer ist der Gegner am Zug. Sind alle Abschnitte eines Schiffes getroffen, so wird das Schiff als versenkt erklärt und auch der Schiffstyp genannt ( Zweier versenkt ); der Schütze ist nicht weiter am Zug. Ziel ist es, als erster die gegnerische Flotte zu versenken. Musskriterien ein Spieler kann gegen einen Computergegner antreten das Spielfeld ist 66 Felder groß die Flotte besteht aus einem Dreier, zwei Zweiern und einem Einer im Tetmodus spielbar der Computer belegt das Spielfeld zufällig Treffer und Fehltreffer auf dem Spielfeld markieren Meldungen Dreier getroffen Dreier versenkt Sie haben gewonnen Sie haben verloren Wunschkriterien Schwierigkeitsgrade größeres Spielfeld größere Flotte größere Schiffe meldet nicht nur, dass ein Zweier getroffen wurde, sondern auch welcher Zweier genau Nicht netzwerkfähig Abgrenzungskriterien nicht im Grafikmodus kein Mehrspielermodus keine Optimierung der Ausgabe (es reichen primitive Tetbildschirme)
Produkteinsatz Das Produkt wird nicht kommerziell eingesetzt; es dient Übungszwecken Anwendungsbereiche Im Schulunterricht herrscht Spielverbot; das Spiel kann also nur in der Freizeit auf den privaten Laptops gespielt werden als Lernunterlage für Softwareentwicklung, weniger als Computerspiel > auf Dokumentation achten! Spieldauer ca. 5 Minuten Zielgruppen Schüler und Lehrer der Abteilung Elektronik Betriebsbedingungen Büroumgebung; keine besonderen Anforderungen an den Rechner oder die Arbeitsumgebung 32Bit Windows.net Runtime Environment Produktübersicht Spielfeld das Spielfeld wird im Tetmodus dargestellt; das hier dargestellte Spielfeld zeigt einen versenkten Dreier, einen angeschossenen Zweier, einen versenkten Einer und mehrere Fehltreffer A B C D E F ------------- 1 3 2 2 3 3 3 4 1 5 6 es enthält die Ziffern 1,2,3 und das Zeichen 1,2,3 bezeichnen jedes Segment der Schiff (3 3 3 beschreibt also einen Dreier) Fehltreffer A, B... Spalten 1,2,3,... Reihen Flotte ist die Summe aller Schiffe eines Spielers die Schiffe werden durch die Schiffssegmente dargestellt Schiffssegmente
1,2,3 Versenkt: alle Schiffssegmente wurden getroffene Angeschossen: ein oder mehrere Segmente eines Schiffes wurden getroffen Fehlschuss: kein Schiffssegment getroffen Produkt funktion Anzeige Trefferkarte: in der Trefferkarte werden die Schüsse des Gegners vermerkt Eingabe Kommandozeile Prompt > Buchstaben und Ziffern; keine Sonderzeichen; Fehlerhafte Eingaben werden überprüft (Schüsse neben das Spielfeld sind z.b. nicht möglich) Schuss >A5 Spalte A, Reihe 5 ein Treffer wird mit der Ziffer des getroffenen Schiffssegments markiert (z.b: 3) Treffer Fehltreffer Sieg/Niederlage Neues Spiel Produktdaten Spielfeld: Array die Position der eigenen Flotte Trefferkarte: Array Treffer und Fehlschüsse des Gegners Schusskarte: Array eigene Treffer und Fehlschüsse Flotte: Array z.b: 3, 2,2, 1,1,1 beschreibt eine Flotte mit einem Dreier, zwei Zweiern und einem Einer
Produkt leistungen Es werden keine Ansprüche an die Leistungsfähigkeit der Software gemacht. Die Reaktionszeit des Systems soll aber endlich sein (z.b: zufälliges platzieren der Flotte am Spielfeldes kann sehr lange dauern); das Spielfeld kann ma. 1010 Felder groß sein die Flotte kann aus ma. 10 Schiffen bestehen Qualitätsanforderungen Produktqualität Sehr gut Gut Normal Nicht relevant Funktionalität Richtigkeit Interoparabilität Sicherheit Zuverlässigkeit Reife Fehlertoleranz Wiederherstellbarkeit Benutzbarkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Zeitverhalten Änderbarkeit Analysierbarkeit Stabilität Übertragbarkeit Installierarbeit Benutzerschnittstelle Die Interaktion mit dem Benutzer erfolgt im Tetmodus auf aussagekräftige Bildschirmmeldungen ist Wert zu legen der Quelltet ist Teil des Benutzerinterfaces (Lernunterlage) und daher nach den Richtlinien für Quelltet zu erstellen (style guide)
Technische Produkt umgebung Software Das Programm soll in C# entwickelt werden; es benötigt daher das.net Runtime Environment (RE) Betriebssystem: Windows XP Entwicklungsumgebung: Sharpdevelop 1.0.3 Kreuwi-PC Hardware Orgware Das Produkt soll veröffentlicht werden; es muß jemand gefunden werden, der die Dokumentation im Internet veröffentlicht Produkt-Schnittstellen Dieses Produkt hat keine Schnittstellen zu anderen Systemen Spezielle Anforderungen an die Entwicklungsumgebung Als Entwicklungsumgebung wird Sharpdevelop verwendet; in diese IDE muß der Debugger des MS.NET SDK eingebunden werden die Hilfen sind über das Internet und über.net SDK und Borland Sharp Builder (Borland Delphi) einzubinden