24 Transformation der Anforderungsspezifikation



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

104 WebUntis -Dokumentation

Lehrer: Einschreibemethoden

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

1 Mathematische Grundlagen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ecaros2 - Accountmanager

Hilfedatei der Oden$-Börse Stand Juni 2014

Der Kundenmanager. Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden:

Stand: Adressnummern ändern Modulbeschreibung

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Erweiterungen Webportal

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Professionelle Seminare im Bereich MS-Office

Bereich METIS (Texte im Internet) Zählmarkenrecherche

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

teamsync Kurzanleitung

Der neue persönliche Bereich/die CommSy-Leiste

Anleitung für die Einrichtung weiterer Endgeräte in 4SELLERS SalesControl

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Primzahlen und RSA-Verschlüsselung

Anleitung über den Umgang mit Schildern

Zahlen auf einen Blick

Bedienung des Web-Portales der Sportbergbetriebe

Die mobiletan im Hypo Internetbanking

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Wenn nicht alle alles mitbekommen sollen: Surfspuren vollständig beseitigen

12 Anwendungsfalldiagramm

Zeichen bei Zahlen entschlüsseln

Geld Verdienen im Internet leicht gemacht

Use Cases. Use Cases

BENUTZERHANDBUCH für. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Unified Modeling Language (UML)

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Aufklappelemente anlegen

Kreatives Gestalten mit Flash 5.0

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Erstellen von x-y-diagrammen in OpenOffice.calc

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Grundlagen verteilter Systeme

Mandant in den einzelnen Anwendungen löschen

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Transaktionsempfehlungen im ebase Online nutzen

Dokumentenverwaltung im Internet

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

4. BEZIEHUNGEN ZWISCHEN TABELLEN

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März Themen-Special W-EX2010DI

Anleitung zur Verwendung der VVW-Word-Vorlagen

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter

UMSTELLUNG DER RÖNTGEN-SCHNITTSTELLE DÜRR-DBSWIN AUF DÜRR-VDDS

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

DIRECTINFO 5.7 SICHERHEITSKONZEPTE FÜR BENUTZER, INFORMATIONEN UND FUNKTIONEN

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Wie melde ich meinen Verein bei BOOKANDPLAY an?

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Was sind Jahres- und Zielvereinbarungsgespräche?

Produktskizze. 28. November 2005 Projektgruppe Syspect

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Version: System: DFBnet Lizenz 5.20

GDI-Business-Line 3.x Ticketverwaltung

Einführungskurs MOODLE Themen:

Datenexport aus JS - Software

Nutzung von GiS BasePac 8 im Netzwerk

1 BEDIENUNGSANLEITUNG

Zwischenablage (Bilder, Texte,...)

Was taugt der Wertpapierprospekt für die Anlegerinformation?

Wie Sie mit Mastern arbeiten

Anleitung SEPA-Lastschriften mit VR-NetWorld Software 5

Jederzeit Ordnung halten

Satzhilfen Publisher Seite Einrichten

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Kurzanleitung bezüglich erforderlicher Rechnungsdaten

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Leichte-Sprache-Bilder

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Peoplefone Business SIP Trunk

3. Die tägliche -Flut effizient verwalten

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

SICHERN DER FAVORITEN

Anleitung zum Öffnen meiner Fotoalben bei web.de

Eingangsseite Umwelt-online

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

Transkript:

271 24 Transformation der Anforderungsspezifikation 24.1 Einleitung Bei der Softwarespezifizierung wird die Anforderungsspezifikation überarbeitet, weiter strukturiert und präzisiert, um eine Basis für die Realisierung zu erhalten. In einem ersten Schritt werden die Anwendungsfälle zusammen mit dem Domänenklassenmodell der Anforderungsspezifikation in das initiale Klassenmodell der Softwarespezifikation transformiert. Nicht zuletzt aus Gründen der Verfolgbarkeit sollten sich das Domänenklassenmodell und die Anwendungsfälle dabei im resultierenden Klassenmodell so weit wie möglich strukturell wiederfinden. Trotz ihrer gewissen»realisierungsähnlichkeit«, die der Zielgruppe Entwickler entgegenkommt, stellen die Klassen der Softwarespezifikation hinsichtlich folgender Aspekte immer noch absolut plattformunabhängige Abstraktionen von Teilsystemen, Komponenten oder Klassen des Entwurfs oder der Implementierung dar [JBR99]: Die Klassen der Softwarespezifikation fokussieren auf funktionale Anforderungen; bei der Realisierung müssen zusätzlich auch die nichtfunktionalen Anforderungen berücksichtigt werden. Attribute dieser Klassen werden möglichst problemnah und noch relativ abstrakt beschrieben. Nur in Ausnahmefällen werden Typen auf programmiersprachlicher Ebene angegeben. Beziehungen im Klassenmodell der Softwarespezifikation abstrahieren von der Realisierung, indem z.b. im Falle von Assoziationen keine Navigierbarkeit angegeben wird. Generalisierung wird nur zur konzeptionellen Strukturierung und nicht zur reinen Redundanzvermeidung eingesetzt. Das Verhalten (von Instanzen) der Klassen wird in der Softwarespezifikation soweit möglich in Form von Verantwortlichkeiten (responsibilities, vgl. Abschnitt 11.3) und Schnittstellen (Abschnitt 10.1) skizziert. Jede Verantwortlichkeit umreißt einen inhaltlich zusammenhängenden Teil der Schnittstelle einer Klasse. Bei der Angabe von (Nicht-Standard-)Operationen besteht die Gefahr, zu stark in Realisierungskategorien zu denken. Oft reichen zur Beschreibung einer Klasse in der Softwarespezifikation bestimmte Standardoperationen wie z.b. Zugriff auf Attribute oder Einfügen, Suchen und Entfernen von Verbindungen aus, die ohne explizite Definition zur Verfügung stehen. Darüber hinausgehende Operationen

272 24 Transformation der Anforderungsspezifikation werden nur aufgenommen, wenn sie zum Verständnis der Verantwortlichkeit der zugehörigen Klasse notwendig sind. Präzise Schnittstellenbeschreibungen mit Signaturen werden nur für komplexe (Nicht-Standard-)Operationen angegeben. Klasseninvarianten sowie Vor- und Nachbedingungen komplexer Operationen präzisieren hierbei ausschließlich die (umgangssprachlich formulierten) Vor- und Nachbedingungen der Anwendungsfälle. Zur besseren Unterscheidung hinsichtlich ihrer grundsätzlichen Verantwortlichkeit werden die Klassen der Softwarespezifikation einer der drei Kategorien Entitätsklasse, Anwendungsfall-Funktionsklasse (AF-Klasse) und Geschäftsprozess-Funktionsklasse (GF-Klasse) zugeordnet: Entitätsklassen repräsentieren Anwendungsfall- und Geschäftsprozessfunktionsübergreifende, langlebige Informationen des Anwendungssystems, Anwendungsfall-Funktionsklassen sind verantwortlich für die anwendungsfallbezogene fachliche Logik sowie die dafür notwendigen Interaktionen des Anwendungssystems mit seinen Akteuren, und Geschäftsprozess-Funktionsklassen sind verantwortlich für die auf Funktionen der Geschäftsprozesse bezogene fachliche Logik sowie die entsprechenden Interaktionen des Anwendungssystems mit seinen Akteuren. Sie werden nur benötigt, wenn das Anwendungssystem nicht in ein übergeordnetes WFMS integriert wird. Um diese drei Kategorien von Klassen in der Softwarespezifikation augenfällig ausdrücken zu können, werden drei Stereotype «Entitaetsklasse», «AF-Klasse» und «GF- Klasse» definiert, deren zugehörige Symbole Abbildung 24 1 zeigt. Aufgrund ihrer ähnlichen Verantwortlichkeiten werden AF- und GF-Klassen mit ähnlichen Symbolen dargestellt. Entitätsklasse Anwendungsfall- Geschäftsprozess- Funktionsklasse Funktionsklasse Abb. 24 1 Symbole der drei Klassen-Stereotype der Softwarespezifikation In Klassendiagrammen der Softwarespezifikation werden oft lediglich diese Symbole benutzt. Will man jedoch die Eigenschaften einer solchen Klasse genauer darstellen, kann man je nach Geschmack und Bedarf eine der anderen in Abbildung 24 2 am Beispiel einer Entitätsklasse gezeigten Darstellungsvarianten auswählen. In den nächsten Abschnitten wird die Transformation der Elemente der Anforderungsspezifikation in die drei Kategorien von Klassen der Softwarespezifikation im Einzelnen besprochen. Normalerweise transformiert man zunächst die Domänenklassen, dann die Anwendungsfälle und danach ggf. die übergeordneten GF-Anwendungsfälle.

24.2 Domänenklassen Entitätsklassen 273 24.2 Domänenklassen Entitätsklassen Die Übertragung von Domänenklassen in das Klassenmodell der Softwarespezifikation kann vergleichsweise schematisch erfolgen, denn Entitätsklassen repräsentieren ja langlebige Information im Anwendungssystem und müssen damit auf jeden Fall alle Domänenklassen der Anforderungsspezifikation widerspiegeln. Domänenklassen werden also mit dem Stereotyp «Entitaetsklasse» oder dem entsprechenden Symbol gekennzeichnet (vgl. Abb. 24 2) und zusammen mit ihren Beziehungen als Klassen in die Softwarespezifikation übernommen. Im weiteren Verlauf der Softwarespezifizierung werden Attribute und Assoziationen der Entitätsklassen noch verfeinert sowie erstmalig auch Nicht-Standardoperationen aufgenommen. Grundsätzlich findet sich das Domänenklassenmodell also weitgehend strukturgleich im Klassenmodell der Softwarespezifikation wieder. Person «Entitaetsklasse» Person Attribute Operationen Person Attribute Operationen Person Attribute Operationen Verantwortlichkeiten Abb. 24 2 Darstellungsvarianten einer Entitätsklasse Beispiel 24 1 Abbildung 24 3 zeigt die Transformation der Domänenklassen Bestellung und Kunde in das initiale Klassenmodell der Softwarespezifikation des Bestellwesen- Beispiels. Diese Klassen inkl. ihrer Attribute und der Assoziationen wurden aus dem Domänen-Klassendiagramm übernommen und mit dem Stereotyp «Entitaetsklasse» Domänenklassenmodell Bestellung nummer eingangsdatum rechnungsdatum /imvorauszubezahlen /bestellwert Bestellungen 1 Kunde name adresse Klassenmodell der Softwarespezifikation Bestellung nummer eingangsdatum rechnungsdatum /imvorauszubezahlen /bestellwert Bestellungen 1 Kunde name adresse gibnummer() setzenummer() Abb. 24 3 Transformation zweier Domänenklassen in Entitätsklassen im Bestellwesen

274 24 Transformation der Anforderungsspezifikation gekennzeichnet. Im weiteren Verlauf werden diesen Klassen dann Operationen und ggf. weitere Attribute hinzugefügt. Zusätzlich werden oft noch weitere, eher technisch motivierte, systembezogene Klassen als Entitätsklassen aufgenommen. Diese ergeben sich aus solchen Anforderungen, die nicht unmittelbar der Domäne entstammen, sondern erst im Rahmen des Systemeinsatzes erforderlich werden, wie z.b. Identifizierung und Authentifizierung der Benutzer im Rahmen von Zugangsbeschränkungen oder Funktionen zur Systemadministration. Beispiel 24 2 Die in Abbildung 24 4 dargestellten Entitätsklassen Rolle, Gruppe, Berechtigung, Benutzer und Passwort dienen als Beispiel für zusätzlich benötigte, eher systembezogene Klassen. Sie sind dem Anwendungsfall»Systemanmeldung«aus dem Anwendungsfalldiagramm der Anforderungsspezifikation (vgl. Abb. 12 13) zugeordnet. Jeder Benutzer hat ein Passwort und gehört zu einer oder mehreren (Gruppen von) Rollen, denen jeweils bestimmte Berechtigungen zum Zugriff auf Funktionen und Objekte des Anwendungssystems zugewiesen sind. 1.. + name Rolle + pruefeberechtigung() 1.. Berechtigung - Bezeichnung + pruefeberechtigung() Funktion Objekt 1.. + name Gruppe + name Benutzer 1 1 Passwort - kodiertespasswort + pruefepasswort() + pruefepasswort() Abb. 24 4»Systembezogene«Entitätsklassen zur rollenbasierten Berechtigung 24.3 Anwendungsfälle AF-Klassen Nach der relativ einfachen, da weitgehend strukturerhaltenden Überführung von Domänenklassen in Entitätsklassen folgt jetzt die Transformation des Anwendungsfallmodells. Der weitere Verlauf der Softwarespezifizierung konzentriert sich ausschließlich auf die Belange der menschlichen Akteure, deren Handlungen durch Anwendungsfälle des Anwendungssystems zu unterstützen sind. Für technische bzw. maschinelle Akteure sind in der Softwarespezifikation die Protokolle bzw. Schnittstellen präzise zu

24.3 Anwendungsfälle AF-Klassen 275 beschreiben. Dies kann entweder textuell erfolgen oder aber durch entsprechende Interaktions- und/oder Zustandsdiagramme. Weiter gehende Betrachtungen der technischen Akteure finden erst während der Realisierung statt (vgl. Abschnitt 35.2). In der Softwarespezifikation geht man davon aus, dass (insbesondere menschliche) Akteure die ihnen zur Verfügung stehenden Anwendungsfälle»irgendwie«aktivieren können. Ob dies z.b. über ein Auswahlmenü in einem Fenster oder über entsprechende Tastaturbefehle erfolgt, wird hier nicht weiter spezifiziert. Erste derartige Angaben wurden ja bereits in der Anforderungsermittlung in Form von Bildschirmskizzen angefertigt (vgl. Kapitel 19). Hat der Akteur den von ihm gewünschten Anwendungsfall ausgewählt und aktiviert, ist der weitere Ablauf abhängig vom ausgewählten Anwendungsfall. Da sich die Abläufe unterschiedlicher Anwendungsfälle normalerweise stark unterscheiden, wird jeder Anwendungsfall auf eine Anwendungsfall-Funktionsklasse (AF-Klasse) abgebildet, deren Attribute und Operationen die anwendungsfallbezogene Interaktion des Systems mit dem Akteur bzw. den Akteuren spezifizieren. Eine AF- Klasse wird durch den Namen des Anwendungsfalls mit angehängtem AF bezeichnet. Ist der resultierende Name der AF-Klasse zu lang, können unter Beibehaltung des Suffixes AF geeignete Kürzel gewählt werden. Beispiel 24 3 Der Anwendungsfall»Kunde bearbeiten«des Bestellwesens wird vom Akteur Sachbearbeiter aktiviert. Abbildung 24 5 zeigt die resultierende Anwendungsfall-Funktionsklasse KundeBearbeitenAF. Anwendungsfallmodell Sachbearbeiter Kunde bearbeiten Klassenmodell der Softwarespezifikation KundeBearbeitenAF Abb. 24 5 Anwendungsfall-Funktionsklasse (AF-Klasse) im Bestellwesen Neben der Interaktion mit den Akteuren wird auch die den Anwendungsfällen zugrunde liegende fachliche Logik in der AF-Klasse gekapselt. Zu den diesbezüglichen Verantwortlichkeiten der Instanzen einer AF-Klasse gehört hauptsächlich die Kontrolle der an dem Anwendungsfall beteiligten (Instanzen von) Entitätsklassen gemäß der Anforderungsspezifikation. AF-Klassen spielen damit eine Art Vermittlerrolle zwischen den Akteuren und den Instanzen von Entitätsklassen. Später werden ihnen noch Details bezüglich der Benutzungsschnittstelle hinzugefügt (siehe Kapitel 26). Die Transformation der include- und extend-beziehungen des Anwendungsfallmodells ergibt einseitig navigierbare, stereotypisierte Assoziationen zwischen den aus den Anwendungsfällen resultierenden AF-Klassen. Die Navigierbarkeit dieser Assozi-

276 24 Transformation der Anforderungsspezifikation ationen ist bei der Transformation einer include-beziehung von der AF-Klasse des Basisanwendungsfalls hin zu der des benutzten Anwendungsfalls gerichtet, bei der Transformation einer extend-beziehung verläuft sie von der AF-Klasse des erweiternden Anwendungsfalls zu der des Basisanwendungsfalls. Beispiel 24 4 Im Anwendungsfallmodell der Anforderungsspezifikation unterhält der Anwendungsfall»Kunde bearbeiten«eine include-beziehung zum Anwendungsfall»Kunde auswählen«, damit der Akteur Sachbearbeiter eine Instanz der Klasse Privatkunde auswählen kann, um sie ggf. zu modifizieren. Abbildung 24 6 zeigt, wie diese include-beziehung in eine einseitig navigierbare Assoziation im Klassenmodell der Softwarespezifikation transformiert wird. Anwendungsfallmodell der Anforderungspezifikation Kunde bearbeiten Kunde auswählen Klassenmodell der Softwarespezifikation KundeBearbeitenAF KundeAuswaehlenAF Abb. 24 6 Übertragung einer include-beziehung vom Anwendungsfallmodell in das Klassenmodell der Softwarespezifikation 24.4 GF-Anwendungsfälle GF-Klassen Ist das Anwendungssystem nicht in ein übergeordnetes WFMS integriert, wurden die komplexen Funktionen der Geschäftsprozesse mit GF-Anwendungsfällen in der Anforderungsspezifikation berücksichtigt (Abschnitt 17.4). Diese werden nun in der Softwarespezifikation mit jeweils einer Geschäftsprozess-Funktionsklasse (GF-Klasse) ausgedrückt. Eine GF-Klasse wird durch den Namen des GF-Anwendungsfalls mit angehängtem GF bezeichnet. Von der GF-Klasse werden einseitig navigierbare stereotypisierte Assoziationen zu den AF-Klassen der in der Geschäftsprozessfunktion benötigten Anwendungsfälle eingefügt. Beispiel 24 5 Dem GF-Anwendungsfall»GP-FB«sind die Anwendungsfälle»AF3«bis»AF5«zugeordnet, so dass er mit diesen im Anwendungsfallmodell über include-beziehungen verbunden ist (vgl. Beispiel 17 4). Abbildung 24 7 zeigt, wie er in die Klasse GP-FBGF der Softwarespezifikation transformiert und aufgrund der include-beziehungen über entsprechend stereotypisierte Assoziationen mit den AF- Klassen verknüpft wird.

24.5 Abläufe und Interaktionsdiagramme Operationen 277 Anwendungsfallmodell der Anforderungspezifikation AF3 GP-FB AF5 AF4 Klassenmodell der Softwarespezifikation GP-FBGF AF3AF AF4AF AF5AF Abb. 24 7 Übertragung des GF-Anwendungsfalls»GP-FB«in das Klassenmodell der Softwarespezifikation 24.5 Abläufe und Interaktionsdiagramme Operationen Um die drei Blickwinkel Funktion, Struktur und Verhalten der Anforderungsspezifikation nicht zu verwischen, wurde bei der Anforderungsermittlung bewusst auf die Modellierung von Operationen für Domänenklassen verzichtet. Somit wurden mit der Transformation von Domänenklassen und (GF-)Anwendungsfällen in entsprechende Spezifikationsklassen bisher lediglich die Struktursicht und die Funktionssicht der Anforderungsspezifikation im Klassenmodell der Softwarespezifikation integriert. Nun muss noch die Verhaltenssicht abgebildet werden. Dazu wird die in der Anforderungsermittlung eingenommene»black-box«-sicht auf Interaktionen zwischen Akteuren und dem Anwendungssystem (vgl. Abschnitt 20.2) zu einer»grey-box«-sicht auf Interaktionen zwischen Akteuren und Instanzen von Spezifikationsklassen verfeinert, wofür letztere mit Operationen auszustatten sind. Um das Ablaufverhalten der Anwendungsfälle einheitlich in die Softwarespezifikation abbilden zu können, werden für die drei Stereotype von Spezifikationsklassen («AF-Klasse», «GF-Klasse» und «Entitaetsklasse») zunächst die folgenden Standardoperationen vereinbart, die bei der Transformation der Anwendungsfälle automatisch erzeugt werden können.

278 24 Transformation der Anforderungsspezifikation Jede AF-Klasse erhält eine Operation zur Aktivierung des entsprechenden Anwendungsfalls. Diese wird mit dem Namen des Anwendungsfalls bezeichnet und benötigt ggf. Parameter, mit denen AF-Instanzen z.b. im Falle von include-beziehungen die notwendigen Informationen austauschen können. Muss der Akteur im Verlauf des Anwendungsfalls Instanzen z.b. einer Entitätsklasse EK selektieren, wird für die AF-Klasse eine Standardoperation selektiereek() definiert. Ausgaben des Systems an den Akteur können wie bereits in der Anforderungsspezifikation als Rückgabewerte modelliert werden. So zeigt z.b. die Angabe praesentiereek auf dem Rückkehrpfeil eines Aufrufs von selektiereek(), dass die Attributwerte der selektierten Instanz der Entitätsklasse EK ausgegeben werden. Interessieren in einem bestimmten Kontext nur einige Attributwerte der Instanz, sollte dies mit entsprechenden Aufrufen von gib..()-standardoperationen dargestellt werden. Die Eingabe bzw. Modifikation von Attributwerten selektierter Objekte durch den Akteur kann abstrakt durch eine nicht weiter spezifizierte modifiziereek()-standardoperation oder konkret durch eine oder mehrere setze..()-standardoperationen modelliert werden. Die entsprechenden Entitätsklassen werden der Beschreibung des Anwendungsfalls entnommen. Für eine automatische Transformation kann die bei der Verifikation der Anforderungsspezifikation erstellte CRUD-Matrix (vgl. Abschnitt 21.2) herangezogen werden, die angibt, welche (Domänen-)Klassen für welche Anwendungsfälle relevant sind. Natürlich sind für Entitätsklassen alle allgemeinen Standardoperationen verfügbar (vgl. Tab. 9 1 auf Seite 102). Um diese Operationen auch den Akteuren zur Verfügung zu stellen, können AF-Klassen sie für die von ihnen repräsentierten Entitätsobjekte anbieten und»per Delegation«an die Entitätsobjekte weiterleiten. Treten hierbei Namenskonflikte auf, z.b. wenn eine AF-Klasse Instanzen unterschiedlicher Entitätsklassen mit teilweise gleichbezeichneten Attributen präsentiert, wird in den Bezeichnern der entsprechenden gib()- und setze()-standardoperationen der Name der Entitätsklasse dem Attributnamen vorangestellt. Die resultierenden Standardoperationen für AF-Klassen sind in Tabelle 24 1 zusammengefasst. Diese Operationen werden auch für GF-Klassen definiert. Nachricht/Operation AWFName() bzw. GP-FName() praesentiereeknamen selektiereek() praesentiereek modifiziereek() Beschreibung Start des Anwendungsfalls mit dem Namen»AWFName«bzw. der GP-Funktion»GP-FName«. Rückgabewert kann z.b. eine einzelne oder eine Menge von Instanzen einer Entitätsklasse sein oder ein Erfolgsindikator. Rückgabewert: Präsentation der Namen aller Instanzen von Entitätsklasse EK. Selektion einer Instanz von Entitätsklasse EK. Rückgabewert können die Attributwerte der vom Akteur selektierten Instanz sein. Rückgabewert: Präsentation der Attributwerte einer zuvor selektierten Instanz von Entitätsklasse EK. Änderung von Attributwerten einer zuvor selektierten Instanz von Entitätsklasse EK. Tab. 24 1 Standardoperationen und Rückgabewerte für AF- und GF-Klassen

24.5 Abläufe und Interaktionsdiagramme Operationen 279 Zur Auskleidung des Klassenmodells der Softwarespezifikation mit weiteren, fachlich motivierten Operationen liefern die in der Anforderungsspezifikation festgehaltenen Anwendungsfälle, Aktivitäts- und ggf. Zustandsdiagramme zusammen mit den Interaktionsdiagrammen (vgl. Abschnitt 20.2) die Basis. Hierzu benötigte Nicht-Standardoperationen werden wie folgt aufgenommen und ihre Verantwortlichkeiten textuell festgehalten. Ist das Ablaufverhalten eines Anwendungsfalls bzw. einer GP-Funktion durch ein Aktivitätsdiagramm modelliert, wird jede vom System unterstützte Aktivität in eine entsprechend bezeichnete Operation der zugehörigen AF- bzw. GF-Klasse transformiert. Für jedes Interaktionsdiagramm der Anforderungsspezifikation werden die aus Domänenklassen und Anwendungsfällen transformierten Entitäts- und AF-Klassen ermittelt und mit Assoziationen bzw. Abhängigkeiten und Operationen entsprechend der Nachrichten im Interaktionsdiagramm ergänzt. Jede in einem Interaktionsdiagramm für einen Anwendungsfall vom Akteur an das Anwendungssystem gesendete Nachricht wird also auf eine entsprechende Operation der AF-Klasse abgebildet. Ebenso führen (Aufruf-)Ereignisse eines Zustandsdiagramms zu entsprechenden Operationen in derjenigen Entitäts-, AF- bzw. GF-Klasse, für deren Anforderungsspezifikations-Pendant das Zustandsdiagramm gilt. Textuelle Spezifikationen von Anwendungsfällen und Aktionen werden mittels Vor- und Nachbedingungen der entsprechenden Operationen präzisiert. Damit die Durchgängigkeit und Verfolgbarkeit gewahrt ist, verwendet man für die Operationen die Bezeichner der Aktionen, Nachrichten und Ereignisse aus der Anforderungsspezifikation. Beispiel 24 6 Für das in Abbildung 24 8 links gezeigte Interaktionsdiagramm aus der Anforderungsspezifikation des Bestellwesens sind rechts die resultierenden Operationen der Spezifikationsklasse KundeBearbeitenAF und die Benutzungsabhängigkeit zur Entitätsklasse Kunde dargestellt. : Sachbearbeiter : Bestellwesen kundebearbeiten() praesentierekundenamen k := selektierekunde() praesentierekunde modifizierekunde(k) KundeBearbeitenAF «use» kundebearbeiten() selektierekunde() modifizierekunde() Kunde Abb. 24 8 Aus dem Sequenzdiagramm resultierende use-abhängigkeit und Operationen Mit der Bestimmung der fachlich motivierten Operationen geht gleichzeitig die Präzisierung des Verhaltens der Anwendungsfälle einher. Genauere Ausführungen zur Identi-

280 24 Transformation der Anforderungsspezifikation fizierung solcher Operationen folgen daher in Kapitel 26. Wichtig ist, sich immer wieder klar zu machen, dass die Auskleidung des Klassenmodells der Softwarespezifikation mit Operationen keine Realisierung darstellt, sondern lediglich die mit umgangssprachlichen Vor- und Nachbedingungen formulierten deskriptiven Anwendungsfälle präzisiert und in präskriptiver Form»operationalisiert«. Dies verankert die bislang rein»syntaktisch«transformierten Anwendungsfälle auch»semantisch«im Klassenmodell und ist eine wesentliche Voraussetzung für den in der Verifikation durchzuführenden wichtigen Abgleich der verschiedenen Modelle gegeneinander (vgl. Kapitel 27). Die präzise Modellierung des Ablaufverhaltens der fachlichen Operationen ist Gegenstand des Entwurfs.