PDF-Dokument
Transcription
PDF-Dokument
Software-Projekt VAK 03.901.01 Personal Shopping Assistant Universität Bremen - Wintersemester 2004/05 Anforderungsspezifikation Version 1.1 16. Dezember 2004 Mitarbeiter: Xxxxx Xxxxxxxx - 1234567 - xxxxxx@tzi.de Xxxxxxxx Xxxxxx - 2345678 - xxxxx@tzi.de Xxxxxxx Xxxxxx - 3456789 - xxxxx@tzi.de Xxxxxx Xxxx - 4567890 - xxx@tzi.de Xxxxx Xxxx - 5678901 - xxxxxx@tzi.de Xxxxxx Xxxxxx - 6789012 - xxxxxxxx@tzi.de Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Inhaltsverzeichnis INHALTSVERZEICHNIS................................................................................................................................... 2 0 VERSIONS- UND ÄNDERUNGSGESCHICHTE................................................................................... 3 1 EINFÜHRUNG............................................................................................................................................ 4 1.1 1.2 1.3 1.4 1.5 2 ALLGEMEINE BESCHREIBUNG........................................................................................................... 6 2.1 2.1.1 2.1.2 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.3 2.3.1 2.3.2 2.3.3 2.4 2.5 2.5.1 2.5.2 2.5.3 2.6 2.7 3 ERGEBNISSE DER IST-ANALYSE ............................................................................................................ 6 Erstes Kundengespräch vom 29.11.2004 (siehe auch Anhang 4.2) ................................................ 6 Interview mit einem ehemaligen Saturn Mitarbeiter....................................................................... 7 PRODUKTPERSPEKTIVE ......................................................................................................................... 7 Systemschnittstellen......................................................................................................................... 7 Benutzerschnittstelle ....................................................................................................................... 7 Hardwareschnittstellen ................................................................................................................... 8 Softwareschnittstellen ..................................................................................................................... 8 Kommunikationsschnittstellen......................................................................................................... 8 Speicherbeschränkung .................................................................................................................... 8 Operationen (Betriebsmodi)............................................................................................................ 9 Möglichkeiten der Lokalen Anpassung ........................................................................................... 9 ANWENDUNGSFÄLLE ............................................................................................................................ 9 Artikelauswahl .............................................................................................................................. 10 Konfigurationspflege..................................................................................................................... 11 Ladensortimentspflege .................................................................................................................. 11 CHARAKTERISTIKA DER BENUTZER .................................................................................................... 11 EINSCHRÄNKUNGEN ........................................................................................................................... 12 Rahmenbedingungen ..................................................................................................................... 13 Gesetzliche Rahmenbedingungen.................................................................................................. 13 Sicherheitskritische Aspekte.......................................................................................................... 13 ANNAHMEN UND ABHÄNGIGKEITEN ................................................................................................... 13 AUSBLICK ........................................................................................................................................... 13 DETAILLIERTE BESCHREIBUNG...................................................................................................... 15 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.3 3.4 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.6 4 ZWECK.................................................................................................................................................. 4 RAHMEN ............................................................................................................................................... 4 DEFINITIONEN, AKRONYME UND ABKÜRZUNGEN ................................................................................ 5 REFERENZEN ........................................................................................................................................ 5 ÜBERSICHT ÜBER DAS DOKUMENT ....................................................................................................... 5 DATENMODELL ................................................................................................................................... 15 ANWENDUNGSFÄLLE .......................................................................................................................... 17 Allgemeines ................................................................................................................................... 18 Artikelauswahl .............................................................................................................................. 23 Konfigurationspflege..................................................................................................................... 41 Ladensortimentspflege .................................................................................................................. 41 AKTIONEN .......................................................................................................................................... 42 ENTWURFSEINSCHRÄNKUNGEN .......................................................................................................... 43 SOFTWARESYSTEMATTRIBUTE............................................................................................................ 43 Zuverlässigkeit .............................................................................................................................. 44 Verfügbarkeit ................................................................................................................................ 44 Sicherheit ...................................................................................................................................... 44 Wartbarkeit ................................................................................................................................... 44 WEITERE ANFORDERUNGEN ............................................................................................................... 45 ANHANG ................................................................................................................................................... 46 4.1 4.2 PC-KONFIGURATOR (KATALOG) ........................................................................................................ 46 KUNDENGESPRÄCH VOM 29.11.2004.................................................................................................. 47 -2- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 4.2.1 4.2.2 Ist-Zustand .................................................................................................................................... 47 Soll-Zustand .................................................................................................................................. 48 0 Versions- und Änderungsgeschichte 1.1 1.0 16.12.04 09.12.04 Zeitplanung für die Anforderungsspezifikationsphase hinzugefügt. Erste veröffentlichte Version. -3- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 1 Einführung Dieses Dokument dient als Beispiel für Eure Anforderungsspezifikation. Um den Text des Beispiels von den Meta-Kommentaren zur Anforderungsspezifikation unterscheiden zu können, sind letztere kursiv gesetzt. Die Gliederung dieses Dokuments ist an die Struktur des IEEE-Standards 830.1998 angelehnt, weicht jedoch an einigen Stellen davon etwas ab. Beachtet hierzu die Anmerkungen auf der Web-Seite zu dieser Abgabe. 1.1 Zweck Was ist der Zweck dieser Anforderungsspezifikation? Wer sind die Leser? Diese Anforderungsspezifikation enthält die genaue Spezifikation des in diesem Projekt zu erstellenden Produkts. Es bildet die Grundlage für alle folgenden Projektphasen. Daher wird besonderer Wert auf eine hohe Qualität gelegt. Auch stellt es einen Vertrag zwischen Auftraggeber und –nehmer dar. ... 1.2 Rahmen Dieser Abschnitt soll einen groben Überblick über die zu erstellende Software geben: Welche Produkte sind zu erstellen (mit Namen)? Was tut die Software? Auch: Was tut sie nicht? Wozu soll die Software verwendet werden? (Ziele etc.) Das „Personal-Shopping-Assistant“-System (PSA) soll Kunden beim Einkauf Hilfestellungen bieten. Es soll dem Kunden Zeit ersparen und die Auswahl passenden Zubehörs für ein bereits gekauftes Produkt erleichtern, aber nicht den Kontakt zum Verkaufspersonal ersetzen. Das „PSA“-System teilt sich in drei Komponenten auf: PDAClient (PSA-C), Server-Komponente (PSA-S), Client-Modul zur Datenpflege (PSA-DAT). Der PDA-Client enthält die Schnittstelle zum Kunden. Diese Komponente gibt den Kunden die Möglichkeit, Informationen über das Sortiment des Auftraggebers zu erlangen. Diese Informationsabfragen können nach Wunsch mit Filtern belegt werden, wie z.B. „Kompatibel zum existierenden PC-System“. Die Filter können auf Wunsch gespeichert und wieder verwendet werden. ... -4- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 1.3 Definitionen, Akronyme und Abkürzungen Hier geht es vor allem um Begriffe aus der Anwendungsdomäne, d.h. aus der Welt des Kunden. Aber auch Begriffe, die dem Kunden evtl. fremd oder unklar sind, sollten erläutert werden. Access Point Administrator Client Komplettsystem Konnektivität Logging PC-Konfigurator PDA PSA PSA-DAT Server Systemkonfiguration WLAN Zugangspunkt für WLAN-Verbindungen Verwalter und Betreuer von Computersystemen Anwendung, die Dienste eines Servers in Anspruch nimmt. Ein lauffähiges Computersystem mit Peripheriegeräten und Software. Verbindung zwischen Netzteilnehmern. Speicherung der Anwender- und Softwareaktionen in Textdateien, z.B. zur Fehlerlokalisierung. Stufenweise-funktionierender Software-Assistent, mit dem man ein individuelles Komplettsystem zusammenstellen kann. Personal Digital Assistent Personal Shopping Assistant Personal Shopping Assistant Database Administration Tool Anwendung, die Dienste für Clients zur Verfügung stellt. Ein System mit seinen einzelnen Komponenten. Funknetzwerk 1.4 Referenzen Neben sonstigen Quellen, die Ihr verwendet habt, können dies z.B. - z.B. das Skript, dieses Beispieldokument, der zugrunde liegende IEEE-Standard sein etc. [1] B. Oestereich: „Die UML-Kurzreferenz für die Praxis : kurz, bündig, ballastfrei“. 2. Auflage, 2002, Oldenbourg Verlag. 1.5 Übersicht über das Dokument Was enthält die Anforderungsspezifikation? Wie ist das Dokument organisiert? Kapitel 2 enthält die allgemeine Beschreibung. Diese gibt einen groben Überblick über die Anforderungen, die in Kapitel 3 weiter verfeinert werden... -5- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 2 Allgemeine Beschreibung 2.1 Ergebnisse der Ist-Analyse Hier sollten die Ergebnisse Eurer Ist-Analyse kurz zusammengefasst werden. Diese Beschreibung ist hilfreich, um die Motivation für die Anforderungen zu verstehen und um sie später nachzuvollziehen (z.B. dann wenn Anforderungen überarbeitet werden sollen, wenn sich ihre Rahmenbedingungen geändert haben). Mögliche Inhalte: - Interview/Beobachtung des Kunden oder der Benutzer - Analyse des bisherigen Systems - Analyse ähnlicher Systeme - Auswertung der Benutzerbefragung N.B.: Dieser Abschnitt ist im IEEE-Standard nicht vorgesehen, aber dennoch sinnvoll. 2.1.1 Erstes Kundengespräch vom 29.11.2004 (siehe auch Anhang 4.2) Das Kundengespräch mit Herrn Quante hat ergeben, dass das Unternehmen mehrere Filialen besitzt. Eine durchschnittlich gut besuchte Filiale kann an einem erfolgreichen Geschäftstag bis zu 500 Kunden aufweisen und wöchentlich circa 1.500 Kunden. Circa 50% der Kunden kommt mit konkreten Vorstellungen über ihre benötigten Hardwarekomponenten ins Geschäft, während die andere Hälfte nur wage Vorstellungen hat. Diese Kunden kaufen überwiegend Komplettsysteme und benötigen mehr Beratung durch Mitarbeiter. Kunden mit konkreten Vorstellungen kaufen mehr Produkte als andere Kunden. Eine prozentuale Statistik über das einzelne Kaufverhalten liegt nicht vor. Kostengünstige Produkte werden in Regalen der einzelnen Filialen ausgestellt und sind für die Kunden zugänglich. Bei teureren Produkten ist der Kunde auf eine Warenausgabe angewiesen, an der ein oder mehrere Mitarbeiter die einzelnen Produkte heraussuchen und dem Kunden übergeben. An der Kasse findet dann die beidseitige Vertragserfüllung statt. Ein Kunde kann sich über einen Prospekt, einen Aushang, durch Informationen auf den Produktverpackungen und durch ein persönliches Verkaufsgespräch über ein Produkt informieren. Des Weiteren gibt es einen Internetauftritt, der aber noch nicht vollständig funktionsfähig bzw. implementiert ist. Es existiert ein Warenwirtschaftsystem, auf dem die Verfügbarkeit und Preise der Produkte einzusehen sind. Es werden dort jedoch keine Beschreibungen, bzw. Detailinformationen der Produkte angezeigt. Ein Mitarbeiter muss sich über das zu verkaufende bzw. angebotene Produkt selbst informieren und sich selbst Fachwissen aneignen. Auch das Ermitteln zusammenpassender Artikel liegt in seiner Verantwortung. Zum Beispiel hat er die -6- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Möglichkeit, sich im Internet auf den Herstellerseiten über die einzelnen Produkte zu informieren oder andere Mitarbeiter zu fragen. Der vorhandene Artikelstamm wird bei Neuaufnahme von Artikeln oder Anlieferung in unregelmäßigen Abständen aktualisiert. Die Aktualisierung und Pflege des Artikelstammes ist nicht automatisiert und wird von den einzelnen Mitarbeitern wahrgenommen. Die Erfassung des Artikelbestandes geschieht durch das vorhandene Kassensystem; bei einer Inventur wird durch eine Ordnerverwaltung der Bestand erfasst und später durch Mitarbeiter digitalisiert. 2.1.2 Interview mit einem ehemaligen Saturn Mitarbeiter Bei Saturn gibt es sehr wenige Kunden, die eine genaue Vorstellung von dem System, das sie benötigen, haben. Überwiegend werden Komplettsysteme aus Prospektangeboten gekauft, insbesondere Notebooks. Diese Systeme erfüllen und übersteigen fast immer die Anforderungen des Kunden. Des Weiteren kommt es häufig vor, dass diese Kunden erneut das Geschäft aufsuchen und ein weiteres Beratungsgespräch in Anspruch nehmen (z.B. in Bezug auf Installationen). Andere Kunden, die einzelne Hardwarekomponenten kaufen, sind seltener und benötigen wenig Beratung. Die häufigste Frage dabei ist, wo sich ein bestimmtes Produkt im Laden befindet. Falls es bei solchen Kunden dennoch zu einem Beratungsgespräch kommt, stellt der Mitarbeiter schnell fest, dass diese Kunden sich ausgiebig über das Produkt informiert haben und weitere Spezifikationen kennen, was häufig das Fachwissen der Mitarbeiter übersteigt. 2.2 Produktperspektive 2.2.1 Systemschnittstellen Schnittstellen zu anderen Systemen, z.B. Datenimport/-export, Konfigurationsdateien, anzubindende externe Dienste und deren Schnittstelle, Anbieten der eigenen Funktionalität als API o.ä. ... 2.2.2 Benutzerschnittstelle GUI-Design-Richtlinien und Interaktionsmechanismen (nicht Screenshots aller Dialoge – das gehört nach Kapitel 3 – aber evtl. ein Screenshot, der einen groben Überblick und Eindruck des GUI-Designs gibt). Bei Web-Anwendungen: Aussagen zu HTML/CSS und/oder Browser Versionen. -7- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Der eingebaute Touchscreen eines PDA dient als Schnittstelle zwischen Anwender und der Applikation. Bei der Steuerung der Applikation wird weitestgehend auf textuelle Eingaben verzichtet. Lediglich die (Volltext)-Suche nach Produkten wird eine Eingabe über die interne PDA-Tastatur erfordern. Die restliche Steuerung wird über Schaltflächen realisiert. Das Design der Benutzerschnittstelle orientiert sich an den Palm Designrichtlinien für PDAs... ... 2.2.3 Hardwareschnittstellen Schnittstellen zu vorgegebenen Hardwarekomponenten (Name, Version). ... 2.2.4 Softwareschnittstellen Bibliotheken, die benutzt werden sollen, mit Versionsnummer, Hersteller, Quelle etc. Dazu gehören auf jeden Fall Java und MySQL. Name Java Runtime Environment MySQL ... Version Hersteller 1.4.2 Sun Microsystems 5.0.28 MySQL AB ... ... Tabelle 1: Softwareschnittstellen Quelle http://java.sun.com/ http://www.mysql.com/ ... 2.2.5 Kommunikationsschnittstellen Damit das PDA und der Server miteinander kommunizieren können, muss eine Datenverbindung bestehen. Diese Datenverbindung wird über eine WLAN-Verbindung nach IEEE 802.11b hergestellt. Das zur Kommunikation über diese Verbindung benutzte Protokoll ist TCP/IP. 2.2.6 Speicherbeschränkung min./max. verfügbarer Hauptspeicher und Festplattenplatz Clientseitig Ein unterstützter PDA stellt mindestens 2 MB freies RAM zur Verfügung. Der PSA-Client darf nicht mehr als diese 2 MB Speicher belegen. Damit können auch ältere PDAs den PSA nutzen. An Festspeicherplatz kann mit mind. 4 MB gerechnet werden. Evtl. vorhandener zusätzliche Festspeicherkapazität sollte für das Ablegen weiterer Konfigurationen genutzt werden können. -8- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Serverseitig Der Server verfügt über 1 GB RAM und mind. 10 GB freien Festplattenplatz. 2.2.7 Operationen (Betriebsmodi) Welche Betriebsmodi gibt es? Warum? Welche Benutzerklasse darf was in welchem Betriebsmodus (Rechte)? Was ist der Zusammenhang zwischen Betriebsmodus und Sicherung/Wiederherstellung von Daten? Der PSA besitzt zwei Operationsmodi. Der Erste ist der Onlinemodus. Hier befindet sich der Anwender des PSA in Reichweite eines passenden PSA-Servers. Hierbei ist der komplette Funktionsumfang des PSA abrufbar. Der zweite Operationsmodus ist der Offlinemodus, in den automatisch gewechselt wird, wenn kein PSA-Server gefunden wurde. Im Offlinemodus hat der Anwender nur beschränkten Zugriff auf die Funktionalität des PSA. So können nur vorhandene PC-Konfigurationen betrachtet werden und Komponenten aus einer vorhandenen Konfiguration entfernt werden. Des Weiteren kann der Anwender im Offlinemodus die Einstellungen ändern. Weitere Funktionalitäten stehen dem Benutzer im Offlinemodus nicht zur Verfügung. ... 2.2.8 Möglichkeiten der Lokalen Anpassung Was kann bei Auslieferung des Systems alles konfiguriert werden? Z.B. Pfade, Datenbankname, usw. Hier ist nicht Internationalisierung gemeint! ... 2.3 Anwendungsfälle Auflistung und kurze Beschreibung aller relevanten Anwendungsfälle. Dies soll einen Überblick über alle Anwendungsfälle geben, die in 3.2 detailliert beschrieben werden. -9- Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 1: Anwendungsfalldiagramm (vereinfacht) 2.3.1 Artikelauswahl Bei der Artikelauswahl wird unterschieden zwischen (Volltext)-Suche, erweiterter Suche, Katalogsystem und PC-Konfigurator. Die Voraussetzungen dafür sind, dass sich der Kunde innerhalb des Geschäftes befindet und der PDA eine Verbindung zum Server im Geschäft hat. 2.3.1.1 (Volltext)-Suche Der Kunde kann sich durch ein Suchfeld und Eingabe von Schlüsselwörtern oder Produktnamen die gewünschten Artikel auf dem PDA anzeigen lassen. 2.3.1.2 Erweiterte Suche Bei der erweiterten Suche hat der Kunde die Möglichkeit durch weitere Eingaben, wie Hersteller, Größe, maximaler Preis, etc. (sind teils Abhängig von den einzelnen Komponenten) eine genauere Suche vorzunehmen, bzw. diese einzuschränken. Weiterhin kann er bei der Suche durch ein Auswahlmenü eines seiner eigenen Computersysteme von zu Hause wählen (siehe auch 2.3.3 Konfigurationspflege). Nach einer weiteren Sucheingabe werden nur noch zu diesem System passende Artikel angezeigt. - 10 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 2.3.1.3 Katalogsystem Der Kunde kann anstatt des Suchfeldes oder der erweiterten Suche das Katalogsystem nutzen. Die einzelnen Hardwarekomponenten sind hier in unterschiedliche Kategorien unterteilt (Prozessoren, Mainboard, Festplatte, etc.). Die Kategorien selbst haben weitere Unterkategorien (Beispiel: Prozessoren -> AMD, Intel). Der Kunde kann sich durch eine bestimmte Auswahl der einzelnen Kategorien Produkte sowie Produktinformation dazu anzeigen lassen. 2.3.1.4 PC-Konfigurator Durch den PC-Konfigurator kann der Kunde sich ein komplettes System zusammenstellen. Hierbei stehen dem Kunden jeweils nur passende Artikel zur Auswahl. Eine weitere Möglichkeit besteht darin, sein eigenes System, bzw. die einzelnen Komponenten des Systems, im PC-Konfigurator anzeigen zu lassen und diese zu löschen oder zu ersetzen. 2.3.2 Konfigurationspflege Der Kunde kann seine vorhandenen Systeme editieren, wobei die Editierung offline (z.B. von zu Hause aus), sowie online im Geschäft erfolgen kann. Es gibt keine Voraussetzungen für diesen Anwendungsfall. Der Kunde hat die Möglichkeit sich schon erstellte Systeme anzeigen zu lassen, den Namen des Systems zu ändern, einzelne Komponenten, sowie das gesamte System zu löschen und gelöschte Komponenten wiederherzustellen. Ein neues System kann er nur im Geschäft anlegen, da er dort auf die einzelnen Komponenten der Datenbank zugreifen kann. 2.3.3 Ladensortimentspflege Bei diesem Anwendungsfall müssen bestimmte Administratorzugang des Servers im Geschäft verfügen. Mitarbeiter über einen Bei der Datenpflege kann ein Administrator vorhandene Produkte editieren, das heißt er kann die Preise ändern, weitere Produktinformationen hinzufügen oder Produkte aus dem Sortiment löschen. Weiterhin hat er die Möglichkeit, neue Produkte in den Bestand aufzunehmen. 2.4 Charakteristika der Benutzer Beschreibt hier Eure typischen Benutzer. Benutzt dazu die in der Vorlesung vorgestellten Personas. Zur Erinnerung: Ihr beschreibt konkrete Personen, die Repräsentanten der verschiedenen Benutzertypen sind (mit Name, evtl. Wohnort, Tätigkeit, Alter, Bild, ...). - 11 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Diese sollten eine gewisse Motivation haben, bestimmte Anwendungsfälle durchzuführen (und dort auch eingesetzt werden!). Name Tom Taylor Alfred Meier Susi Sander Manfred Müller Tätigkeit/ Beruf Student Rentner Einzelhandelskauffrau Systemadministrator Alter 22 67 35 43 Sprachkenntnisse Englisch, Deutsch Deutsch Deutsch, Französisch Deutsch Betriebssystem Palm OS Windows CE -- Linux (Server) ITKenntnisse Sehr gut, kennt sich mit den neuesten Artikeln und Standards aus Rudimentär Büroanwendungen Kennt sich mit Servern und deren Administration aus Motivation Will alle Details jeder Komponente begutachten. Ausserdem ist er auf Schnäppchenjagd Will möglichst einfach an Komponenten kommen, die zu seinem System passen. Pflege des Sortiments Sorgt dafür, dass Server und WLAN läuft, und macht Backups. Meistgenutzte Funktion Durchschauen aller verfügbarer Artikel, Detailansicht Passende Artikel suchen Datenpflege: neue Artikel einstellen etc. Start/Stop Server, Backup ZusatzSonderangebote information Serverstatus Tabelle 2: Personas Das PSA wird von Personen genutzt werden, die eine breite Schicht durch die Gesellschaft bilden. Ihr Alter wird meistens 18 – 50 Jahren betragen, wobei Ausnahmen natürlich nicht ausgeschlossen werden können. Die Nutzer werden schon aufgrund des Besuchs eines Elektronikfachgeschäftes und des Besitzens eines PDA Erfahrung im oberflächlichen Umgang mit Computersystemen besitzen. Tom Taylor und Alfred Meier sind zwei Vertreter dieser Kundschaft. ... 2.5 Einschränkungen Dinge, die die Entwurfsfreiheit einschränken, z.B. - feste Vorgaben (z.B. Policies) - Hardwarebeschränkungen - festgelegte Schnittstellen zu anderen Anwendungen - parallele Operationen (z.B. Multithreading) - 12 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 - Prüfungs- und Steuerungsfunktionen Verlässlichkeitsanforderungen Kritikalität der Anwendung Sicherheit Beispiele: - es muss MySQL und JDK 1.x benutzt werden - Vorgaben wie Trennung von GUI und Anwendungslogik - bei Webanwendung: kein PHP, Flash usw. 2.5.1 Rahmenbedingungen Das Projekt untersteht den Rahmenbedingungen und Einschränkungen des SoftwareProjektes 2004/05 und den allgemeinen Rahmenbedingungen der Studienordnung für den Studiengang Informatik der Universität Bremen. 2.5.2 Gesetzliche Rahmenbedingungen Das Projekt unterliegt dem deutschen Recht. Dies betrifft insbesondere Haftung- und Gewährleistung für das Produkt. Weiterhin unterliegt es den europäischen Datenschutzrichtlinien1. 2.5.3 Sicherheitskritische Aspekte Die PSA-Software darf keinerlei Veränderungen an der Datenbank durchführen können. Die Verbindung zwischen PDA und Server muss verschlüsselt sein. Sie muss gegen Angriffe durch Eindringlinge geschützt sein. 2.6 Annahmen und Abhängigkeiten Faktoren, deren Änderung zwangsläufig zu Änderungen an der Anforderungsspezifikation führen würde. − − − − PDA-Benutzer besitzt PDA mit 240x320 Displayauflösung. PDA mit 802.11b Unterstützung. Ungestörte Funkverbindung in den lokalen Räumlichkeiten. ... 2.7 Ausblick Beschreibt hier knapp, welche Änderungen und Erweiterungen zukünftig (d.h. nach Auslieferung des Systems) zu erwarten sind. Diese Information ist wichtig für den 1 http://europa.eu.int/comm/internal_market/privacy/law_de.htm - 13 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Entwurf, um mögliche Änderungen frühzeitig im ersten Entwurf berücksichtigen zu können. Der Entwurf kann dann so gestaltet werden, dass die zukünftigen Anforderungen leicht realisierbar sind. Die zukünftigen Anforderungen sollten realistisch sein, ansonsten könnte ein unnötig allgemeiner und damit zu komplizierter Entwurf die Folge sein. Auch dieser Abschnitt ist im IEEE-Standard nicht vorgesehen – zumindest nicht explizit in Form eines eigenständigen Abschnitts. Dennoch handelt es sich um wertvolle Information, von der der Entwurf profitieren kann. Das System soll zukünftig möglicherweise auch auf anderen Domänen anwendbar sein, z.B. in einem Fahrradladen. ... - 14 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 3 Detaillierte Beschreibung Die externen Schnittstellen werden in Abschnitt 2 beschrieben. Die Beschreibung dort genügt und soll hier nicht wiederholt werden (was nach IEEE-Standard vorgesehen wäre). 3.1 Datenmodell Das Datenmodell im Kontext des Pflichtenhefts ist „die Darstellung von Informationen und deren Beziehungen in einem fachlogischen Konzept“. Es soll hier gezeigt werden, welche Einheiten für das existierende System relevant sind und welche Beziehungen zwischen diesen Einheiten gelten. Es handelt sich hierbei noch nicht um ein Datenbankschema oder eine Spezifikation von Klassen für die Implementierung (Entwurf), sondern um die Modellierung der realen Welt. Dennoch kann dieses Datenmodell als Basis für den Entwurf dienen. Das Datenmodell soll als UML-Klassendiagramm angegeben werden. Wichtig ist hierbei die korrekte Verwendung der UML: Klassen, Attribute, Generalisierung, Assoziation, Aggregation, Komposition, Multiplizitäten. Außerdem sollte das Diagramm sinnvoll und m gut lesbar sein. Dazu gehört weiterhin eine kurze Beschreibung des Modells mit ergänzenden Informationen, insbesondere wenn die Relationen durch ihren Namen nicht selbsterklärend sind. Gebt unbedingt ein Mengengerüst für die Daten an: Wie viele Instanzen der wichtigsten Klassen werden erwartet? Erwartet Ihr Änderungen im Datenvolumen in der Zukunft? Für das folgende Datenmodell gilt der ATX Standard. Der PC ist die zentrale Komponente. Er enthält alle anderen Bauteile. Insofern ist der PC als das Gesamtsystem einschließlich Monitor und anderem Zubehör zu verstehen. Jedes Teil kann jeweils nur zu max. einem PC gehören, während der PC teilweise mehrere Komponenten des gleichen Typs enthalten kann. ... - 15 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 3: Datenmodell Diverse Komponenten müssen zueinander passen. Die passt-zu-Beziehung ist je nach beteiligten Komponenten unterschiedlich ausgeprägt: − − − − Ein Mainboard passt zu einem Gehäuse, wenn der Formfaktor mit dem Format des Gehäuses übereinstimmt. Ein CPU Lüfter passt zu einer CPU, wenn die Sockel übereinstimmen. Eine CPU passt zu einem Mainboard, wenn die Sockel übereinstimmen. Eine Grafikkarte passt zu einem Mainboard, wenn der Typ zu der Grafikkarte zu einem Steckplatz des Mainboards passt. - 16 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 − − − − − − − Arbeitsspeicher passt zu einem Mainboard, wenn der Speichertakt zum Bustakt des Mainboards kompatibel ist und das Mainboard Speichersockel für die Bauform des Arbeitsspeichers hat. Eine Festplatte passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. Ein Laufwerk passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. Ein Eingabegerät passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. Ein Modem passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. Ein Netzteil passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. Ein Ausgabegerät passt zu einem Mainboard, wenn die Anschlüsse übereinstimmen. 3.2 Anwendungsfälle Dieser Teil enthält die funktionalen Anforderungen an das System. Diese werden durch Anwendungsfälle beschrieben. Insofern müssen die Anwendungsfälle die Funktionalität des Systems vollständig abdecken. Daher müssen auch Varianten von Standardabläufen sowie das Verhalten im Fehlerfall behandelt werden. In den Anwendungsfällen beschreibt Ihr, wie Eure Personas mit dem System interagieren, wenn sie ein bestimmtes Ziel erreichen wollen. Dabei sollte der Anwendungsfall zum Profil der Persona passen, also eine typische Anwendung seiner Personengruppe sein. Ihr solltet die Anwendungsfälle textuell beschreiben (im unten aufgeführten Schema) und zusätzlich Sequenzdiagramme verwenden, um durch graphische Darstellung das Verständnis zu erleichtern. Sequenzdiagramme als alleinige Darstellung wären unzureichend, da sie stets nur einen Ablauf exemplarisch erfassen und nicht ausdrucksmächtig genug sind, um Bedingungen hinreichend zu erfassen. Stellt sicher, dass die Mindestanforderungen auf jeden Fall erfasst sind. Weiterhin sollen hier noch keine Implementierungsdetails festgelegt werden, um keine Entwurfsentscheidungen vorwegzunehmen. (In den Beispielen ist dies allerdings teilweise der Fall – z.B. „erzeuge_query“ gehört hier nicht rein.) Verwendet die Screenshots oder digitalisierten Bilder Eures Papierprototypen, um die Benutzungsführung in den Anwendungsfällen zu illustrieren und die konkrete Benutzeroberfläche, die es zu implementieren gilt, zu spezifizieren. Die Bilder sollten im Text an der entsprechenden Stelle referenziert werden, um das Verständnis für die Abläufe zu gewährleisten (das fehlt in den folgenden Beispielen). Die Beschreibung muss so genau sein, dass klar ist, wie welche Aktionen ausgelöst werden und was das für Folgen hat (Beispiel: „Benutzer startet die Suche“ – wie macht er das? „...durch Drücken des Buttons ‚Suche’“). Hilfreich ist auch ein Zustandsübergangsdiagramm, das die mögliche Navigation durch die GUI beschreibt. Die Struktur der textuellen Beschreibung sollte sein: 1. eindeutiger Name des Anwendungsfalls, am besten auch eindeutige Nummer 2. Aktoren/Akteure: welche externen Instanzen interagieren mit dem System in diesem Anwendungsfall? 3. Vorbedingungen: Ausgangszustand, der vor Beginn des Anwendungsfalls gelten muss; hier sollte auch das Ziel des Aktors genannt werden. 4. Regulärer Ablauf: Abfolge von Aktionen der Akteure und Reaktionen des Systems. 5. Varianten: mögliche Abweichungen vom regulären Ablauf, z.B. Auslassen oder Wiederholen von Aktionen. 6. Nachbedingung: Endzustand und dann mögliche Folgeaktionen 7. Fehler-/Ausnahmefälle mit deren Nachbedingung; z.B. wie wird auf ungültige Eingaben reagiert? - 17 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 3.2.1 Allgemeines 3.2.1.1 Überblick über die Navigation Insgesamt gibt es fünf Zustände, in welchem sich der PSA befinden kann; nach dessen Start wird dabei grundsätzlich zunächst die Startseite angezeigt. Von dort aus kann der Kunde dann, wie auch aus allen anderen Zuständen heraus, in alle Funktionsbereiche des PSA wechseln, ein Beenden des PSA ist ebenfalls zu jedem Zeitpunkt möglich. Die in der Abbildung aus Gründen der Übersichtlichkeit nicht beschrifteten Kanten stellen die dem Kunden möglichen Zustandswechsel der Funktionsbereiche dar. Abbildung 4: Anwendungsfälle/Navigation - Überblick 3.2.1.2 PSA laden/starten Aktoren o Tom Taylor Vorbedingungen o o o PDA ist in Betrieb PSA ist auf dem PDA installiert Tom Taylor möchte PSA starten - 18 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Regulärer Ablauf o Tom Taylor lädt PSA mittels eines Eintrags im Programmmenu des PDA (laden()) Varianten keine Nachbedingungen 1. PSA wurde geladen, Startseite wird dem Kunden angezeigt 2. Tom möchte Artikel auswählen (dazu muss Verbindung zum Server im Laden möglich sein): Tom wählt zwischen Suche, erweiterter Suche, Katalogsystem oder PCKonfigurator 3. Tom möchte Konfigurationspflege durchführen: Kunde wählt entsprechende Funktion Fehlerfälle/Ausnahmefälle 1. PDA funktioniert während des Ablaufes nicht regulär. Die Ursachen hierfür könnten defekte Hardware sowie Softwarefehler vor allem des PDA-Betriebssystems sowie der installierten JAVA-Umgebung sein. Nachbedingungen im Fehlerfall/Ausnahmefall 1. (1) PSA zeigt dem Kunden, wenn es der Fehler zulässt, eine Fehlermeldung mit dem Hinweis sich bitte an den Support des PDA-Herstellers oder den SÖRDNÖRD Support zu wenden. Abbildung 5: Sequenzdiagramm - PSA starten Der Benutzer kann an Hand des grün/rot leuchtenden Symbols erkennen, dass er sich im Online/Offlinemodus befindet. Die Farbe des Symbols ändert sich nur, wenn die Verbindung zu einem Server im Geschäft besteht oder abbricht bzw. endet. Im Onlinemodus kann der Anwender alle Funktionen des PSA nutzen. - 19 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 6: Nach dem Start des PSA Während und nach dem Start des PSA versucht die Software eine Verbindung zu einem Server aufzubauen. Abbildung 7: Nach dem Verbindungsaufbau des PSA Im Onlinemodus finden zwischen Kunde, PSA und Server Interaktionen statt: Der Kunde benutzt eine Funktion des PSA, der eine Auswertung vornimmt und eine Anfrage zum Server sendet. Die Anfrage wird anschließend vom Server bearbeitet und das Ergebnis wieder zum PSA gesendet. Der Kunde sieht das Ergebnis auf seinem PDA-Display - 20 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Auf der Startseite werden Informationen angezeigt, die das einzelne Geschäft betreffen. Welche Informationen angezeigt werden, entscheidet wiederum das jeweilige Geschäft selbst. Wir haben hier gewählt, dass der Punkt Sonderangebote angezeigt wird. Abbildung 8: Verbindungsabbruch Sobald die Verbindung auf Grund eines Fehlers oder bei Wartung des Servers abbricht, wird dem Kunde angezeigt, dass ein Problem mit der Verbindung aufgetreten ist und er sich ggf. an einen Mitarbeiter wenden soll. Er kann in diesem Fall nur noch die OfflineFunktionen nutzen. Der PSA versucht in Minutenabständen eine neue Verbindung aufzubauen. Abbildung 9: Hauptmenü - Einstellungen - 21 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Start → Hauptmenü → Einstellungen Im Menü Einstellungen kann der Anwender die PSA-Software konfigurieren. Es werden hier noch weitere Einstellmöglichkeiten im späteren Projektverlauf hinzugefügt. Zum einen kann der Kunde selbst entscheiden, wie viele Suchergebnisse bei einer Suche im Geschäft auf dem PDA angezeigt werden und zum anderen hat er die Möglichkeit, das obere Suchtextfeld dauerhaft anzeigen oder ausblenden zu lassen. Diese Funktionen sind im Online- sowie Offlinemodus vorhanden. 3.2.1.3 PSA beenden Aktoren Tom Vorbedingungen 1. PDA ist in Betrieb 2. PSA ist gestartet 3. Tom möchte PSA beenden Regulärer Ablauf 1. Tom beendet PSA durch schließen des Fensters (beenden()) 2. PSA beendet Sitzung mit Server (falls Sitzung vorhanden) Varianten 1. (2) Ist während der Nutzung des PSA keine Sitzung begonnen wurden, wird Punkt 2 nicht ausgeführt Nachbedingungen Fehlerfälle/Ausnahmefälle 1. PDA funktioniert während des Ablaufes nicht regulär 2. Server funktioniert während des Ablaufes nicht regulär 3. Funkverbindung zwischen PDA und Server kommt nicht zustande oder wird abgebrochen Nachbedingungen im Fehlerfall/Ausnahmefall 1. (1) PSA zeigt dem Kunden, wenn es der Fehler zulässt, eine Fehlermeldung mit dem Hinweis sich bitte an den Support des PDA-Herstellers oder den SÖRDNÖRD Support zu wenden. Server beendet die Verbindung nach einer gewissen Zeit ohne Kontakt von alleine 2. (2, 3) Keine Veränderung im Ablauf des PSA, selbiger beendet sich regulär - 22 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 10: Sequenzdiagramm - PSA beenden 3.2.2 Artikelauswahl 3.2.2.1 Suche Aktoren Tom Vorbedingungen 1. Tom befindet sich mit seinem eigenen oder einem PDA des Computergeschäfts im selbigen, PDA ist in Betrieb 2. Server mit entsprechenden Anwendungen ist in Betrieb 3. Es besteht eine Funkverbindung zwischen PDA und Server 4. Tom möchte einen Artikel kaufen und diesen über die einfache Suchfunktion finden Regulärer Ablauf 1. Tom gibt Suchbegriff ein, ein Textfeld hierzu wird grundsätzlich angezeigt, und startet die Suche (suche_nach(eingabefeld)) 2. PSA/PDA nimmt Verbindung mit dem Server auf (beginne_sitzung()) 3. Server liefert dem PSA eine ID für die Sitzung 4. PSA erzeugt aus dem Suchbegriff einen Such-Query (query_erzeugen(eingabefeld)) 5. PSA/PDA übermittelt dem Server eine Anfrage für Artikel (artikel(id, query)) 6. Server übermittelt Liste von Artikeln an Hand des Such-Querys 7. PSA zeigt Tom die Liste der vom Server übermittelten Artikel 8. Tom lässt Liste der Artikel nach einem Kriterium sortieren (sortiere_liste(kriterium)) 9. PSA zeigt dem Kunden die sortierte Liste an 10. Tom lässt sich Details des gewünschten Artikels anzeigen (zeige_details(artikel_nr)) 11. PSA zeigt dem Kunden alle Details des ausgewählten Artikels Hat Tom gespeicherte Systeme, gibt es in den Artikeldetails die Möglichkeit den Artikel, falls dieser passt, dem System hinzuzufügen. Varianten 1. (7, 9, 11) Tom wiederholt die Suche (1), das Sortieren der Artikel (8) oder das Anzeigen von Details (10) - 23 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 2. (8, 10) Tom lässt Liste der Artikel nicht sortieren oder lässt sich keine Artikeldetails anzeigen 3. (7) Es konnten keine zur Suche passenden Artikel gefunden werden, was dem Kunden über einen entsprechenden Hinweis mitgeteilt wird Nachbedingungen 1. Tom findet passenden Artikel: Kunde begibt sich zu dem in den Artikeldetails angegebenen Ort des Artikels im Geschäft und bezahlt seine Ware an der Kasse. 2. Tom benötigt weitere Beratung: Kunde wendet sich an einen Verkäufer 3. Tom findet keinen passenden Artikel: Er verlässt den Laden Fehlerfälle/Ausnahmefälle 1. PDA oder Server funktionieren während des Ablaufes nicht regulär 2. Funkverbindung zwischen PDA und Server kommt nicht zustande oder wird abgebrochen Nachbedingungen im Fehlerfall/Ausnahmefall 1. (1, 2) PSA zeigt dem Kunden eine Fehlermeldung mit dem Hinweis sich bitte an einen Verkäufer zu wenden. Server protokolliert die Störung und schickt eine entsprechende Nachricht an den Administrator und falls gewünscht ebenfalls per EMail an SÖRDNÖRD - 24 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 11: Sequenzdiagramm - Artikelauswahl - Suche - 25 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 12: Suche Start → Suchfeld Bei der (Volltext)-Suche benötigt der Anwender die PDA-Tastaturfunktion, da er Schlüsselwörter oder Produktnamen eingeben muss. Der Anwender hat das Schlüsselwort „CPU“ eingegeben und bestätigt. In dem PSA wird das Ergebnis in Tabellenform dargestellt (hier werden Beispielhaft nur ein AMD und Intel Prozessor angezeigt). Der Anwender kann die Liste nach Hersteller, Größe oder Preis sortieren lassen, in dem er auf den jeweiligen Namen klickt. Weiterhin ist die Liste, an Hand der Hersteller vorsortiert. Der Anwender hat im Folgenden die Möglichkeit, entweder die Suche einzuschränken (durch erweiterte Suche) oder sich die Produktdetails von einer einzelnen Komponente anzeigen zu lassen, in dem er einen Artikel anklickt. 3.2.2.2 Erweiterte Suche Aktoren wie bei der einfachen Suche (siehe 3.2.2.1) Vorbedingungen wie bei der einfachen Suche (siehe 3.2.2.1) Regulärer Ablauf 1. Tom wählt die erweiterte Suchfunktion des PSA (zeige_erweiterte_suche()) 2. PSA zeigt Tom verschiedene Suchoptionen zur Spezifizierung der Suche 3. Tom wählt Suchoptionen und startet die Suche (erweiterte_suche_nach(eingabefelder)) - 26 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 4. weiterer Verlauf wie bei der einfachen Suche (siehe 3.2.2.1) Varianten wie bei der einfachen Suche (siehe 3.2.2.1) Nachbedingungen wie bei der einfachen Suche (siehe 3.2.2.1) Fehlerfälle/Ausnahmefälle wie bei der einfachen Suche (siehe 3.2.2.1) Nachbedingungen im Fehlerfall/Ausnahmefall wie bei der einfachen Suche (siehe 3.2.2.1) Abbildung 13: Sequenzdiagramm - Artikelauswahl - Erweiterte Suche Abbildung 14: erweiterte Suche - 27 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Start → Suchfeld „>>“ Bei der „erweiterten Suche“ kann der Kunde die Suche einschränken, in dem er einen bestimmten Hersteller aus einer Liste auswählt oder einen maximalen Preis für das Produkt festlegt (weitere Sucheinschränkungen sind abhängig von den einzelnen Komponenten). Weiterhin kann er auswählen, ob die Suche für ein vorhandenes System sein soll oder nicht. Im ersten Fall würden nach einer Bestätigung der erweiterten Suche nur noch zu dem System passende Artikel angezeigt. Im anderen Fall würden nur noch Artikel, die dem Suchkriterium entsprechen angezeigt werden. 3.2.2.2 Katalogsystem Aktoren Tom Vorbedingungen 1. Tom befindet sich mit seinem eigenen oder einem PDA des Computergeschäfts im selbigen, PDA ist in Betrieb 2. Server mit entsprechenden Anwendungen ist in Betrieb 3. Es besteht eine Funkverbindung zwischen PDA und Server 4. Tom möchte einen oder mehrere Artikel kaufen und dazu den Katalog durchsuchen Regulärer Ablauf 1. 2. 3. 4. 5. 6. 7. 8. Tom öffnet Katalog zur Artikelauswahl (oeffne_katalog()) PSA/PDA nimmt Verbindung mit dem Server auf (beginne_sitzung()) Server liefert dem PSA eine ID für die Sitzung PSA fordert die vorhandenen Kategorien des Katalogs an (kategorien(id)) Server übermittelt dem PSA alle Kategorien innerhalb eine entsprechenden Hierarchie PSA zeigt Tom die Kategorien an Tom wählte eine Kategorie (waehle_kategorie(kategorie)) PSA erzeugt für diese Kategorie einen Such-Query (query_erzeugen_fuer_kategorie(kategorie)) 9. PSA/PDA übermittelt dem Server eine Anfrage für Artikel (artikel(id, query)) 10. Server übermittelt Liste von Artikeln an Hand des Such-Querys 11. PSA zeigt Tom die Liste der vom Server übermittelten Artikel 12. Tom lässt Liste der Artikel nach einem Kriterium sortieren (sortiere_liste(kriterium)) 13. PSA zeigt Tom die sortierte Liste an 14. Tom lässt sich Details des gewünschten Artikels anzeigen (zeige_details(artikel_nr)) 15. PSA zeigt Tom alle Details des ausgewählten Artikels Hat Tom gespeicherte Systeme, gibt es in den Artikeldetails die Möglichkeit, den Artikel, falls dieser passt, dem System hinzu zu fügen. Varianten 1. (11, 13, 15) Tom wählt eine andere Kategorie (7), das Sortieren der Artikel (12) oder das Anzeigen von Details (14) - 28 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 2. (12, 14) Tom lässt Liste der Artikel nicht sortieren oder lässt sich keine Artikeldetails anzeigen Nachbedingungen 1. Tom findet passenden Artikel: Tom begibt sich zu dem in den Artikeldetails angegebenen Ort des Artikels im Geschäft und bezahlt seine Ware an der Kasse. 2. Tom benötigt weitere Beratung: Er wendet sich an einen Verkäufer 3. Tom findet keinen passenden Artikel: Er verlässt den Laden Fehlerfälle/Ausnahmefälle 1. PDA oder Server funktionieren während des Ablaufes nicht regulär 2. Funkverbindung zwischen PDA und Server kommt nicht zustande oder wird abgebrochen Nachbedingungen im Fehlerfall/Ausnahmefall 1. (1, 2) PSA zeigt dem Kunden eine Fehlermeldung mit dem Hinweis sich bitte an einen Verkäufer zu wenden. Server protokolliert die Störung und schickt eine entsprechende Nachricht an den Administrator und falls gewünscht ebenfalls per EMail an SÖRDNÖRD - 29 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 15: Sequenzdiagramm - Artikelauswahl - Katalogsystem - 30 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 16: Katalogsystem Abbildung 17: Katalogsystem (fort.) - 31 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 18: Katalogsystem (fort.) Abbildung 19: Katalogsystem (fort.) Start → Gesamtkatalog Das Katalogsystem bietet dem Anwender die Möglichkeit sich durch einzelne Kategorien zu „forsten“, um einzelne Produkte anzuschauen. Der Anwender hat sich entschieden, eine IDE-Festplatte zu suchen. Er klickt im Gesamtkatalog auf „Laufwerke“, dann „Festplatten“ und danach auf „IDE“. Nun wird ihm eine Liste aller IDE-Festplatten angezeigt. Die Liste kann er anschließend nach Hersteller, Größe oder Preis sortieren lassen, in dem er auf den jeweiligen Namen klickt. Weiterhin ist auch hier eine Vorsortierung an Hand des Herstellers gegeben. - 32 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 20: Detailanzeige Start → Suche | erweiterte Suche | Gesamtkatalog → Detailanzeige Wie schon oben erwähnt hat der Kunde die Möglichkeit, bei Suchergebnissen von der „(Volltext)-Suche“, „erweiterten Suche“ und „Suche per Katalogsystem“ einzelne Komponenten anzuklicken. Der Anwender hat bei einem Suchergebnis die Komponente „AMD 3000+“ angeklickt und sieht nun die Detailanzeige des Prozessors. Weiterhin wird angezeigt zu welchem System der Prozessor passt. Der Kunde hat die Möglichkeit, den Prozessor einem seiner Systeme hinzuzufügen; hierfür steht ihm unten ein Auswahlmenü der Systeme zur Verfügung. Falls der Kunde kein System angelegt hat, werden diese Informationen nicht angezeigt. 3.2.2.3 PC-Konfigurator Aktoren Alfred Vorbedingungen 1. Alfred befindet sich mit seinem eigenen oder einem PDA des Computergeschäfts im selbigen, PDA ist in Betrieb 2. Server mit entsprechenden Anwendungen ist in Betrieb 3. Es besteht eine Funkverbindung zwischen PDA und Server 4. Alfred möchte sich mittels des PSA PC-Konfigurators ein System zusammenstellen Regulärer Ablauf (eine Komponente) 1. Alfred öffnet den PC-Konfigurator des PSA (oeffne_pckonfigurator()) 2. PSA zeigt dem Kunden ein Liste von schon von Alfred erstellten Systemen 3. Alfred erstellt neues System (neues_system_erstellen(name)) - 33 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 4. PSA zeigt Alfred die Konfigurationsbereiche an (Beschreibung der Konfigurationsbereiche im Anhang) 5. Alfred wählt einen Konfigurationsbereich aus (waehle_bereich(bereich)) 6. PSA zeigt Alfred den Konfigurationsbereich mit den Kategorien des Bereiches an 7. Alfred öffnet Kategorie (oeffne_kategorie(kategorie)) 8. PSA/PDA nimmt Verbindung mit dem Server auf (beginne_sitzung()) 9. Server liefert dem PSA eine ID für die Sitzung 10. PSA fordert vom Server die Unterkategorien zur Kategorie an (unterkategorien(id, kategorie)) 11. Server übermittelt dem PSA die Kategorien innerhalb eine entsprechenden Hierarchie 12. PSA zeigt Alfred die Kategorien an 13. Alfred wählte eine Kategorie (waehle_kategorie(kategorie)) 14. PSA erzeugt für die bisher ausgewählten Komponenten und die Kategorie eine Query (query_erzeugen(komponenten, kategorie)) 15. PSA/PDA übermittelt dem Server eine Anfrage für Artikel (artikel(id, query)) 16. Server übermittelt Liste von Artikeln an Hand der Query 17. PSA zeigt Alfred die Liste der vom Server übermittelten Artikel 18. Alfred lässt Liste der Artikel nach einem Kriterium sortieren (sortiere_liste(kriterium)) 19. PSA zeigt Alfred die sortierte Liste an 20. Alfred lässt sich Details des gewünschten Artikels anzeigen (zeige_details(artikel_nr)) 21. PSA zeigt Alfred alle Details des ausgewählten Artikels 22. Alfred wählt Komponente aus, um diese dem System hinzu zu fügen (waehle_komponente(artikel_nr)) 23. PSA aktualisiert die Liste der bisher ausgewählten Komponenten (komponenten_aktualisieren(komponenten, artikel_nr)) 24. PSA zeigt Alfred den Konfigurationsbereich mit den Komponentenkategorien an 25. Alfred lässt sich die komplette Konfiguration mit allen Komponenten anzeigen (zeige_konfiguration()) 26. PSA listet dem Kunden die Systemkonfiguration auf 27. Alfred lässt sich die Artikeldetails einer hinzugefügten Komponente anzeigen (zeige_details(artikel_nr)) 28. PSA zeigt Alfred alle Details des ausgewählten Artikels Die Auswahl der Bereiche, sowie der einzelnen Komponenten wiederholt sich dabei so lange, bis der Kunde mit der Zusammenstellung des Systems zufrieden ist. Während des gesamten Ablaufes kann der Kunde zurück in die Liste der Konfigurationsbereiche kehren. Des Weiteren bietet sich dem Kunden die Möglichkeit, eine schon hinzugefügte Komponente zu tauschen, wobei diese zunächst gelöscht wird (siehe auch 3.2.2 Konfigurationspflege) und dem Kunden dann die entsprechende Kategorie des Artikels zur Auswahl eines Ersatzes angezeigt wird. Varianten 1. (6, 12, 17, 19, 21 24, 26) Kunde wiederholt die Auswahl des Bereiches (5), die Öffnung der Komponentenkategorie (7), das Wählen der Kategorie (13), das Sortieren der Artikel (18), das Anzeigen von Details (20), das Auswählen einer Komponente/eines Artikels (22) oder die Anzeige der Systemkonfiguration (25) - 34 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 2. (18, 19) Kunde lässt Liste der Artikel nicht sortieren oder lässt sich keine Artikeldetails anzeigen 3. (3) Kunde erstellt kein neues System sondern wählt ein vorhandenes (waehle_system(system)), woraufhin der PSA ihm die Systemkonfiguration auflistet. Dann kann der Kunde zum einen die Konfiguration pflegen (siehe auch 3.2.2 Konfigurationspflege) oder aber zurück in die Liste der Konfigurationsbereiche wechseln (konfigurationsbereiche(system)) Nachbedingungen 1. Alfred findet passende Systemkonfiguration: Er begibt sich zu den in den Artikeldetails angegebenen Orten der Artikel im Geschäft und bezahlt seine Ware an der Kasse. 2. Alfred benötigt weitere Beratung: Er wendet sich an einen Verkäufer 3. Alfred findet keine passende Systemkonfiguration: Er verlässt den Laden Fehlerfälle/Ausnahmefälle 1. PDA oder Server funktionieren während des Ablaufes nicht regulär 2. Funkverbindung zwischen PDA und Server kommt nicht zustande oder wird abgebrochen Nachbedingungen im Fehlerfall/Ausnahmefall 1. (1, 2) PSA zeigt dem Kunden eine Fehlermeldung mit dem Hinweis sich bitte an einen Verkäufer zu wenden. Server protokolliert die Störung und schickt eine entsprechende Nachricht an den Administrator und falls gewünscht ebenfalls per EMail an SÖRDNÖRD - 35 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 21: Sequenzdiagramm - Artikelauswahl - PC-Konfigurator Teil 1 - 36 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 22: Sequenzdiagramm - Artikelauswahl - PC-Konfigurator Teil 2 Abbildung 23: PC-Konfigurator - 37 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Start → Hauptmenü → PC-Konfigurator Im Onlinemodus hat der Anwender die Möglichkeit, ein neues System anzulegen oder ein vorhandenes System einzusehen. Weitere Funktionen werden im Anwendungsfall Konfigurationspflege näher erläutert. Im Folgenden wird noch einmal anhand von Screenshots beschrieben, wie ein neues System anlegt wird. Abbildung 24: PC-Konfigurator - System anlegen Start → Hauptmenü → PC-Konfigurator → Neues System Der Kunde hat ausgewählt, dass ein neues System angelegt werden soll. Es wird nun eine Kategorieauswahl vorgegeben, an der sich der Kunde orientieren kann. - Siehe Anhang 4.1 PC-Konfigurator (Katalog) - 38 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 25: PC-Konfigurator - System anlegen – Basis Abbildung 26: PC-Konfigurator - System anlegen - Basis CPU Start → Hauptmenü → PC-Konfigurator → Neues System -> Basis -> CPU Der Anwender hat auf „Basis“ geklickt und kann sich nun „CPUs“ und „Mainboards“ anzeigen lassen. Dafür klickt er auf die dementsprechende Kategorie und erhält eine Liste aller passenden Komponenten, in Bezug auf das Gesamtsystem. - 39 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Abbildung 27: PC-Konfigurator - System anlegen - Basis CPU - AMD3000+ Start → Hauptmenü → PC-Konfigurator → Neues System -> Basis -> CPU -> AMD3000+ Der Kunde hat sich entschieden, die Details von dem Prozessor AMD3000+ anzeigen zu lassen. Er hat nun die Möglichkeit, diesen Prozessor für sein System auszuwählen oder wieder zum Vorherigen Menü zurückzukehren. Abbildung 28: PC-Konfigurator - System: AMD3000+ Start → Hauptmenü → PC-Konfigurator → System Anzeigen | ... Service → ... → Systemanzeige Der Kunde hat sich ein komplettes System zusammengestellt und anzeigen lassen. Komponenten, wie Soundkarte oder Modem sind grau unterlegt, da sie häufig auf dem - 40 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Mainboard vorhanden sind. Bei den weiteren grau unterlegten Komponenten handelt es sich um Ein- und Ausgabegeräte. Abbildung 29: AMD3000+ - Details Start → Hauptmenü → PC-Konfigurator → System Anzeigen -> Detailanzeige Der Kunde hat sich nach dem erstellen eines Systems entschieden, einen anderen Prozessor auszuwählen. Hierfür hat er sich das erstellte System anzeigen lassen und auf den Prozessor AMD3000+ geklickt. Nun sieht er die Details des Prozessors und hat die Möglichkeit, die Komponente auszutauschen oder zu entfernen. Falls der Anwender auf „tauschen“ klickt, gelangt er zur Auswahlliste der Prozessoren, in der alle zum System passenden Prozessoren angezeigt werden. Falls der Kunde mit seiner Konfiguration nicht zufrieden ist, kann er das System entfernen und ein neues erstellen, oder er kann einzelne Komponenten löschen oder tauschen. Für letzteres muss der Kunde auf die einzelne Komponente klicken. 3.2.3 Konfigurationspflege ... 3.2.4 Ladensortimentspflege ... - 41 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 3.3 Aktionen Hier sollten die gleichen Aktionen wie in den Anwendungsfällen genannt werden und genauer beschrieben sein (Achtung: in diesem Beispiel ist das nicht der Fall). Mit anderen Worten: Die Anwendungsfälle müssen vollständig durch Ausführung von Aktionen aus dieser Liste durchführbar sein. Im Prinzip muss es z.B. für jeden Button/Menüpunkt/Link eine Aktion geben. Dabei ist zu beachten: - Die Namen sollten sinnvoll und eindeutig sein. - Die Parameter der Aktionen sollen angegeben werden. Hier sollen sprechende Namen verwendet werden, evtl. müssen die Parameter auch genauer erläutert werden. - Es müssen max. Ausführungszeiten für jede Operation angegeben werden. - Die Gruppierung und Sortierung sollte sinnvoll sein (z.B. alphabetisch). Dieser Abschnitt ist im Standard im Prinzip vorgesehen, weil hierzu grundsätzlich eine Aussage gemacht werden muss. Die Aktionen sind letztlich die Produktfunktionen, während die Anwendungsfälle die Interaktion zwischen den Akteuren und dem System beschreiben. Der Abschnitt Performanzanforderungen entfällt, da dieser Abschnitt bereits alle Aktionen und die geforderte Performanz beschreibt. Aktion artikel_der_kategorie(kategorie) beginne_sitzung() sitzung_beenden() Beschreibung Liefert alle Artikel einer kategorie. Verbindung von PSA mit Server wird hergestellt Verbindung von PSA mit Server wird beendet suche_artikel(kriterien) Server liefert dem PSA/PDA die Artikel, die den kriterien entsprechen. Die Kriterien können sein: - passt zu einer gegebenen Konfiguration - hat Attribute in einem bestimmten Wertebereich unterkategorien(kategorie) Liefert alle Unterkategorien einer kategorie. Tabelle 3: Aktionen des Servers. Liste ist unvollständig! Aktion beenden() komponente_löschen(system, komponente) komponente_hinzufügen(system, komponente) konfigurationsbereiche(system) [s] 2 1 1 10 2 Beschreibung [s] PSA wird beendet 1 entfernt komponente aus der 1 Konfiguration von system komponente wird der Konfiguration von 1 system hinzugefügt in Liste der Konfigurationsbereiche 1 (Kategorien) von system wechseln laden() PSA wird geladen 2 name_aendern(system, name) Name von system wird in name geändert 1 neues_system_erstellen(name) erstellt ein neues System mit dem 1 Namen name und öffnet Dialog zur Auswahl des Konfigurationsbereiches oeffne_katalog() liefert eine Hierarchie aller Kategorien 1 oeffne_kategorie(kategorie) liefert eine Hierarchie der 2 Unterkategorien zu kategorie Tabelle 4a: Aktionen des PSA-Clients. - 42 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Aktion Beschreibung [s] oeffne_pckonfigurator() öffnet den PCKonfigurator-Bildschirm. 1 sortiere_liste(kriterium) liefert Liste der Artikel sortiert nach kriterium 1 suche_nach(eingabe) liefert Liste aller Artikel, die der eingabe entsprechen 5 system_loeschen(system) entfernt system aus der Liste vorhandener Systeme 1 waehle_bereich(bereich) listet die Kategorien zum Bereich bereich 1 auf waehle_kategorie(kategorie) liefert Liste aller Artikel von kategorie 2 waehle_komponente(komponente) Kunde weist PDA an, die komponente der Konfiguration hinzuzufügen, nach Abschluss der Aktion gelangt der Kunde wieder in den Bereich aus dem er kam 1 zeige_komponentendetails(system, komponente) zeigt die Details zu komponente von system 1 waehle_system(system) öffnet den Dialog zur Auswahl des Konfigurationsbereiches für System system 1 zeige_details(komponente) zeigt die Details vom Artikel zur artikel_nr 1 zeige_erweiterte_suche() Eingabefelder für die erweiterte Suche werden eingeblendet 1 zeige_konfiguration() zeigt die Konfiguration des aktuellen Systems Tabelle 4b: Aktionen des PSA-Clients (Forts.) Liste ist unvollständig! 1 3.4 Entwurfseinschränkungen Wurde bereits in 2.5 behandelt und muss daher hier nicht noch mal beschrieben werden. Siehe 2.5 3.5 Softwaresystemattribute Hier werden die sogenannten „nichtfunktionalen Anforderungen“ spezifiziert. Dazu gehören: - Zuverlässigkeit (Korrektheit, Robustheit, Ausfallsicherheit) - Verfügbarkeit - Sicherheit - Wartbarkeit - Portabilität - 43 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 3.5.1 Zuverlässigkeit Die Software darf bei falschen Benutzereingaben auf keinen Fall abstürzen oder sich selbst beenden. Sobald der Speicherplatz des PDA nicht mehr ausreichend ist, sollte der Kunde, bzw. der Anwender rechtzeitig durch einen Warnhinweis informiert werden. Weiterhin muss gewährleistet werden, dass bei Sucheingaben keine falschen Ergebnisse ausgegeben werden. ... 3.5.2 Verfügbarkeit Während der Ladenöffnungszeiten muss das System im Prinzip durchgehend verfügbar sein, d.h. Montag bis Samstag jeweils von 8 Uhr bis 20 Uhr. Da es sich nicht um ein kritisches System handelt und die Beratung im Notfall auch von den Verkäufern übernommen werden kann, braucht nur eine Verfügbarkeit von 95% während dieser Zeiten erreicht werden. Außerhalb dieser Zeiten kann das System heruntergefahren und evtl. gewartet werden. 3.5.3 Sicherheit Es muss gewährleistet werden, dass nur Administratoren und ggf. Mitarbeiter auf den Server im Geschäft zugreifen können, um Änderungen vorzunehmen. Unerwünschte Zugriffe von Außerhalb auf den Server oder den Kunden-PDA müssen abgeblockt werden. Das Logging aller Aktionen sollte gewährleisten, Zugriffe an Hand von IP-Adressen zu ermitteln und ggf. einen Fehlerfindungsprozess zu beschleunigen. Weiterhin muss die Software sicherstellen, dass personenbezogene Daten verschlüsselt gespeichert und durch externe Programme Datensicherungen vorgenommen werden können. 3.5.4 Wartbarkeit Es muss sichergestellt werden, dass die PSA-Software einfach zu warten ist. Dies wird durch die Implementierung, an Hand der „Code Conventions for the Java Programming Language“2 und ausführlicher Quellcodedokumentation (in Javadoc gehalten) gewährleistet. ... 2 http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html - 44 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 3.6 Weitere Anforderungen Derzeit liegen keine weiteren Anforderungen vor. - 45 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 4 Anhang Hier können weitere detailliertere Ergebnisse aus der Ist-Analyse oder andere Informationen, die zur Erstellung der Spezifikation gedient haben, angefügt werden. 4.1 PC-Konfigurator (Katalog) Basis • • CPU Mainboard Grundsystem • • • • • • • Lüfter (CPU) RAM Anzahl RAM Gehäuse Gehäuse (ohne Netzteil) Netzteile Grafikkarte Festplatten / CD/DVD-Laufwerke • • • IDE o o o o o o o S-ATA o o SCSI o o o Controller Festplatte 1 Festplatte 2 CD-ROM CD-Brenner DVD-ROM DVD-Brenner Festplatte 1 Festplatte 2 Controller Festplatte 1 Festplatte 2 Erweiterungen • • • • • • Soundkarte Netzwerkkarte Modem ISDN-Karte TV-Karte Video-Schnitt-Karte - 46 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 Zubehör • • • • • • • Monitor Tastatur Maus Joystick / Gamepad Lautsprecher Headset / Mikrofon Drucker Software • • • • Betriebssystem Office-Software Anti-Viren-Software Personal-Firewall-Software Zusammenbau / Installation • • Rechner-Zusammenbau Installation der kompletten Software 4.2 Kundengespräch vom 29.11.2004 4.2.1 Ist-Zustand 1. Wie viele Kunden besuchen im Durchschnitt den Laden? - Täglich → 500 Kunden (Beste Filiale) - Wöchentlich → 1500 Kunden 2. Welcher/welchen Zielgruppe(n) gehören ihre Kunden an? Am besten mittels Fachwissen, Umsatz, Frequentierung charakterisieren. → Die Hälfte der Kunden wissen was sie wollen. (Kaufen viel) → Die andere Hälfte kaufen Komplettsysteme (Benötigen mehr Beratung) 3. Wie kann sich ein Kunde über ein Produkt informieren? - Katalog → Nein - Prospekt→ Ja - Aushang → Ja - Internet → Ja, aber nicht voll Funktionsfähig - Persönliches Verkaufsgespräch → Ja - Sonstiges → Produktinformationen im Regal 4. Wie informiert sich ein Verkäufer/Mitarbeiter über vorhandene Produkte? - Es existiert ein Warenwirtschaftsystem, wo Verfügbarkeit und Preise stehen. - Es werden keine Beschreibungen angezeigt. 5. Wie informiert sich ein Verkäufer/Mitarbeiter über ein Produkt? - Online → Ja (z.B. Herstellerseiten) - Offline → Nein - Mitarbeiter muss sich selbstständig Informieren. - 47 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 6. Wie ermittelt ein Verkäufer zusammenpassende Artikel? - Fachwissen → Ja - Tools/Software → Nein 7. Wie oft wird der Artikelstamm aktualisiert bzw. verändert? - Unregelmäßig → Ja (z.B. wenn ein neues Produkt aufgenommen wird) 8. Wie wird der Artikelstamm aktualisiert? - Automatisiert → Nein - Manuell durch Mitarbeiter → Ja 9. Wie oft wird der Artikelbestand aktualisiert? - Bei jedem Kauf → Nein - Täglich → Ja (z.B. bei Anlieferungen) 10.Wie wird der Artikelbestand erfasst? - Automatisch (z.B. beim Kauf oder Wareneingang) → Ja, durch das Kassensystem - Manuell → Nein - Elektronisch → Jein - Durch Ordnerverwaltung → Ja, bei einer Inventur 11.Wie bekommt der Kunde seine Waren? - Warenausgabe bzw. Kasse oder Tresen → Ja, nur teure Produkte - Selbstbedienung → Ja 4.2.2 Soll-Zustand 1. Für welche Zielgruppe soll das Produkt sein? → Das Produkt soll die breite Masse ansprechen. 2. Wie sollen sich Kunden über Produkte informieren? → Alle Informationen sollen Angezeigt werden können. (Auch für Mitarbeiter) 3. Haben Sie konkrete Vorstellungen vom Software-Produkt? Welche Funktionalitäten sollen bereitgestellt werden? → Die Funktionen des Prototypen reichen vorerst aus. (und Änderungswünsche) 4. Kennen Sie ähnliche bereits existierende Software-Produkte? Wenn ja, welche? - Webshops → PC-Konfigurator - USA → Einkaufsystem 5. Wie soll der Datenbestand bearbeitet werden können? - Lokal → Ja, reicht aus. - Remote Access (LAN oder Internet) → Nicht unbedingt notwendig 6. Wie soll die GUI-Oberfläche aussehen? → Eher Schlicht. Wichtig Benutzerfreundlichkeit und Funktionalität - 48 - Anforderungsspezifikation SördNörd – Softwareprojekt WS 04/05 21.11.2006 → Layout darf vorerst selbst bestimmt werden 7. Wie soll die Darstellung der Produkte sein und welche Informationen sollen dargestellt werden? - Mit Bild → Ja, Platzhalter lassen - Nur Text → Nein - Viele Detailinformationen? → Der Anwender soll die Möglichkeit haben, dies selbst zu auszuwählen. 8. Wie viele Produkte sollen angezeigt werden? → Splittung auf mehrere Pages und ggf. Scrolling 9. Sollen diese mit Kurzbeschreibung angezeigt werden? → Nein, brauch nicht unbedingt 10.Soll ein Platzhalter eingefügt werden, wo sich das Produkt im Laden befindet? → Ja, wäre sinnvoll 11.Soll das Kauf- bzw. Anzeigeverhalten der Kunden gespeichert werden? → Ja 12.Gibt es weitere Richtlinien an die wir uns halten sollen, die noch nicht erwähnt wurden? → Datenschutzrichtlinien 13.Welcher Sicherheitsstandard gilt für das Projekt? - Hoher → Nein - Niedriger → Ja - Gar keiner → Nein 14.Dürfen im späteren Verlauf Außenstehende herangezogen werden, um das Softwareprodukt zu testen? (Umfragen, direkte Befragungen) → Ja 15.Wünsche, die die Berichterstattung betreffen? (Sonstige Treffen, etc.) → Nein - 49 -