Der Requirement-Pattern-Ansatz - Forschungsergebnisse

Die Seite wird erstellt Laurin Bartsch
 
WEITER LESEN
Forschungsergebnisse:

           Der Requirement-Pattern-Ansatz
                           Computer Networks Group
                                   Dipl.-Inform. C. Peper
                                   Prof. Dr. R. Gotzhein
                                    Fachbereich Informatik
                                   Universität Kaiserslautern
                               URL: http://rn.informatik.uni-kl.de/
                              Email: gotzhein@informatik.uni-kl.de

1      Kurzfassung
Je früher Wiederverwendung stattfindet, desto größer die Auswirkungen auf ein Projekt.
Akzeptiert man diese These, dann sollte Wiederverwendung bereits in der Anforderungsphase
beginnen. In Analogie zu den Entwurfsmustern wurde in der Computer Networks Group der
Requirement-Pattern-Ansatz entwickelt, der die Musteridee mit einer objekt- und eigenschafts-
orientierten Beschreibungstechnik verbindet. Teil des Ansatzes ist ein iterativer Analysepro-
zess, der u.a. regelmäßige Kundenreviews auf der Grundlage präziser, aus der Spezifikation
abgeleiteter natürlichsprachlicher Beschreibungen vorsieht. Ferner wurde eine Mustersamm-
lung entwickelt und in mehreren umfangreichen Fallstudien, darunter auch dem auf der
CeBIT’2001 gezeigten Gebäudemodell, eingesetzt.

2      Methoden und Techniken
Kernergebnisse sind die Entwicklung, Erprobung und Konsolidierung eines Prozessmodells
für die Ermittlung und Präzisierung von Anwendungsanforderungen, die Auswahl und Integra-
tion von Spezifikationstechniken und die Definition eines Referenzmodells für Anforderungs-
dokumente.

Prozessmodell. Das Prozessmodell für die Anforderungsanalyse wurde aufgrund der Erfah-
rungen mehrerer Fallstudien (s.u.) entwickelt und konsolidiert [3] [7]. An dieser Stelle seien
vier Aspekte des Prozessmodells besonders hervorgehoben:
    • Die Anforderungsanalysephase verläuft iterativ, wobei jede Iteration neben der Forma-
      lisierung ein Review mit Kundenbeteiligung vorsieht (s. Abb. 1). Das Eingabedoku-
      ment für das Kunden-Review wird aus der Anforderungsspezifikation durch eine
      Projektion, bei der formale Anteile ausgeblendet werden, gewonnen. Um die Abwei-
      chung zwischen formaler und natürlichsprachlicher Version so klein wie möglich zu
      halten, wird letztere bei der Formalisierung durch einen quasi-Übersetzungsvorgang
      aus der formalen Version erzeugt
    • Ergebnis der Analysephase ist eine formale Anforderungsspezifikation, die direkt als
      Eingabe für die Entwurfsphase dient (s. Abb. 1). Diese formale Spezifikation liegt bei
positivem Abschluss des Kunden-Reviews bereits fertig vor, muss also nicht mehr ent-
        wickelt werden, so dass potenzielle Fehlerquellen weitgehend vermieden werden..

                     Anforderungs-
                     beschreibung
                      n≥0
                                    Anforderungs-
                                    analyse      modifizierte
                                                  n>0
                                                         NLRSn            Modifi-
                                                                          kationen
                                        Formalisierung               Kunden-
                          (n:=0)                                     Review          keine Modifi-
                                                                                          kationen

                   Legende:                                           NLRSn
                    Prozess                     (n:=n+1)

                    Produkt             Anforderungs-                   NL-
                                        spezifikationn               Projektion
                  Produktfluss
                  Prozess- und
                                                                                        Anforderungs-
                  Produktfluss                                                          spezifikation

                                  Abbildung 1: Anforderungsanalyseprozess

     • Zur Formalisierung der Anforderungsbeschreibung werden musterbasierte Ansätze ein-
       gesetzt (s. Abb. 2). Ausgangspunkt ist eine Sammlung von Requirement Patterns, die
       aufgrund von Aussagen der Anforderungsbeschreibung selektiert, adaptiert und
       schließlich komponiert werden.

                  Anforderungs-              modifizierte
                  beschreibung                NLRSn
                                         n>0
                   n≥0
                              Formalisierung
                                                   konventionelle
                                                   Formalisierung

                                                                            Kompo-      (n:=n+1)
                              Requirement       Selek-       Adap-
                              Pattern Pool      tion         tion           sition
                                                                                        Anforderungs-
                                                                                        spezifikationn

                    Abbildung 2:Musterbasierte Formalisierung von Anforderungen

     • Das Prozessmodell beinhaltet ferner Schritte zur Gewinnung von Mustern durch Ana-
       lyse von Entwicklungsdokumenten abgeschlossener Projekte [3]. Dies entspricht den
       Schritten analyze und package des Quality Improvement Paradigms (QIP).
Das Prozessmodell ist unabhängig von der eingesetzten Spezifikationstechnik. Es wurde zur
Durchführung von Fallstudien mit der Spezifikationstechnik FoReST [2] (s.u.) instanziiert.

Computer Networks Group, University of Kaiserslautern                                                -2-
Sprachunterstützung. Zur formalen Spezifikation von Anwendungsanforderungen wurde die
auf das Anwendungsfeld zugeschnittene Formal Requirements Specification Technique
(FoReST) [2] [9], die objektorientierte Konzepte mit der Realzeit-Logik tRTTL (tailored Real
Time Temporal Logic) integriert, entwickelt und eingesetzt. Das zuvor beschriebene Pro-
zessmodell wurde mit FoReST instanziiert.
FoReST-Spezifikationen bestehen aus einer Sammlung von Klassendefinitionen, wobei die aus
der objektorientierten Modellierung bekannten Assoziationen wie Aggregation, Komposition
und Spezialisierung (Vererbung) direkt unterstützt werden. Abweichend von den bekannten
Techniken werden die Objekte einer Klasse jedoch nicht durch Operationen näher charakteri-
siert, sondern durch ihre Eigenschaften. Zur Spezifikation dieser Eigenschaften wird die
bereits erwähnte Logik tRTTL eingesetzt. In Verbindung mit Spezialisierung und Vererbung
hat diese Vorgehensweise den Vorteil, dass die Substitutionseigenschaft erhalten bleibt.

Referenzmodell für Anforderungsdokumente. Aufbauend auf einem Referenzmodell für
Anforderungen und Spezifikationen wurde ein Referenzmodell für Anforderungsdokumente
definiert [5] [2]. Das Referenzmodell unterscheidet zwischen beobachteten und kontrollierten
Größen sowie zwischen Umgebungs- und Systemgrößen und trifft darüberhinaus Festlegungen
bezüglich ihrer Sichtbarkeit. Diese differenzierte Betrachtung liefert Kriterien, um die Aussa-
gen einer Anforderungsspezifikation in Domänenwissen, Anforderungen und Maschinenspezi-
fikation zu klassifizieren. Ausgangspunkt für die weitere Systementwicklung ist ausschließlich
die Maschinenspezifikation.
Das Referenzmodell ist Grundlage für die Spezifikationstechnik FoReST. In FoReST werden
sämtliche geforderten Klassifikationen syntaktisch unterstützt. Ferner liefert das Referenzmo-
dell Kriterien für die Überprüfung der Vollständigkeit einer Anforderungsspezifikation sowie
die Erkennung von Konflikten.

Requirement-Pattern-Sammlung. Wie sich gezeigt hat, ist die Gewinnung von Mustern mit
hohem Zeitaufwand verbunden. “Gute” Requirement Patterns sind kein “Abfallprodukt” der
Anforderungsanalyse, sondern müssen systematisch entwickelt und kontinuierlich verbessert
werden, entsprechend den Schritten analyze und package des Quality Improvement Paradigms
(QIP). Aus diesem Grund geht es bei der Weiterentwicklung der initialen Requirement-Pat-
tern-Sammlung nicht primär darum, möglichst viele Muster zu gewinnen, sondern auch und
vor allem um die Verbesserung der vorhandenen Muster und die graduelle Ergänzungen der
Sammlung.
Es wurden mehrere umfangreiche Fallstudien zur Anforderungsspezifikation durchgeführt (s.
u.), bei denen die Requirement-Pattern-Sammlung intensiv eingesetzt wurde. Im Anschluss an
diese Fallstudien fand jeweils eine Überarbeitung der Mustersammlung statt. So hat sich die
Sammlung gegenüber der ersten Version stark verändert, auch wenn sich die Anzahl der
Muster kaum erhöht hat und momentan bei 12 liegt. Verschiedene Stadien von Requirement
Patterns sind in [3], [7] und [8] dokumentiert. In [3] wird die Gewinnung von Requirement
Patterns im allgemeinen und des LazyReaction-Patterns im besonderen ausführlich dargestellt.

Fallstudien. Prozessmodell, Beschreibungstechniken und Mustersammlung wurden in mehre-
ren umfangreichen Fallstudien eingesetzt und erprobt. Die dabei gesammelten Erfahrungen

Computer Networks Group, University of Kaiserslautern                                       -3-
sind jeweils unmittelbar in die Weiterentwicklung und Konsolidierung des Ansatzes eingeflos-
sen. Folgende Fallstudien wurden durchgeführt:
      • Anforderungsspezifikation “Lichtsteuerung (Version 1)” [4] [13] als Formalisierung
        einer Anforderungsbeschreibung für das Dagstuhl-Seminar Nr. 99241
      • Anforderungsspezifikation “Lichtsteuerung (Version 2)” [2] als Formalisierung einer
        Anforderungsbeschreibung für die Sonderausgabe des Journal of Universal Computer
        Science “Requirements Engineering: The Light Control Case Study”
      • Anforderungsspezifikation “Lichtsteuerung (Version 3)” als Formalisierung einer
        Anforderungsbeschreibung, die Ausgangspunkt für die durchgängige Entwicklung des
        auf der CeBIT’2001 demonstrierten Gebäudemodells war; in dieser Fallstudie wurden
        weitere Methoden, Techniken, Werkzeuge und Mustersammlungen (SDL-Pattern-
        Ansatz, Pattern-Annotated-SDL, Cadvanced, EnvGen, SDL-Pattern-Pool) eingesetzt.

3       Fazit
Wesentliches Ergebnis ist die Entwicklung und der Einsatz einer musterbasierten Vorgehens-
weise zur Ermittlung von Anwendungsanforderungen [7] [3]. Durch die Wahl häufig auftreten-
der Muster wird das Potenzial für die Wiederverwendbarkeit von Lösungen gesteigert. Dies
betrifft zum einen die Wiederverwendung der Muster selbst (horizontale Wiederverwendung),
zum anderen aber auch die Wiederverwendung von Entscheidungen des Systementwicklungs-
prozesses, soweit sie an die Verwendung von Mustern koppelbar sind (vertikale Wiederver-
wendung).
Die musterbasierte Entwicklung trägt zudem ganz wesentlich zur Verfolgbarkeit von Entwick-
lungsentscheidungen bei. Innerhalb einer Phase führt die Musteranwendung zu einer zusätzli-
chen, orthogonalen Systemstruktur, welche die Art und die Abfolge von Entwicklungsschritten
dokumentiert (horizontale Verfolgbarkeit). Phasenübergreifend werden Abhängigkeiten zwi-
schen Systemteilen verschiedener Abstraktionsstufen sichtbar gemacht (vertikale Verfolgbar-
keit). Die Kommunikation innerhalb des Entwicklerteams wird durch das abstrakte,
problemspezifische Vokabular, das durch die Mustersammlungen definiert ist, unterstützt.

4       Veröffentlichungen
Zeitschriften / Monografien
[1]     Avenhaus, J., Gotzhein, R., Härder, T., Litz, L., Madlener, K., Nehmer, J., Richter, M., Ritter, N., Rom-
        bach, D., Schürmann, B., Zimmermann, G.: Entwicklung großer Systeme mit generischen Methoden -
        Eine Übersicht über den Sonderforschungsbereich 501, Informatik, Forschung und Entwicklung,
        13(4):227–234, Dezember 1998
[2]     Kronenburg, M., Peper, C.: Application of the FOREST Approach to the Light Control Case Study, Jour-
        nal of Universal Computer Science (J.UCS), Special Issue on “Requirements Engineering: The Light
        Control Case Study”, Springer, 2000

Tagungsbeiträge
[3]     Gotzhein, R., Kronenburg, M., Peper, C.: Reuse in Requirements Engineering: Discovery and Applica-
        tion of a Real-Time Requirement Pattern, 5th International Symposium on Formal Techniques in Real-
        Time and Fault-Tolerant Systems (FTRTFT’98), Lecture Notes in Computer Science 1486, Springer,
        Lyngby, Denmark, September 14-15, 1998. pp. 65-74

Computer Networks Group, University of Kaiserslautern                                                         -4-
[4]     Gotzhein, R., Kronenburg, M., Peper, C.: Pattern-Based Requirements Capture Applied: The SFB 501
        Case Study, in: E. Börger, B. Hörger, D. Parnas, D. Rombach (Hrsg.), Requirements Capture, Documen-
        tation, and Validation, Dagstuhl-Seminar-Report 242, Juni 1999
[5]     Kronenburg, M., Peper, C.: Definition and Instantiation of a Reference Model for Problem Specificati-
        ons, 11th International Conference on Software Engineering and Knowledge Engineering (SEKE’99),
        Kaiserslautern, 1999
[6]     Peper, C.: Transformations in Pattern-Based System Specifications, 9. GI/ITG-Fachgespräch Formale
        Beschreibungstechniken für verteilte Systems (FBT’99), München, Herbert-Utz-Verlag, 1999
[7]     Peper, C., Gotzhein, R., Kronenburg, M.: A Generic Approach to the Formal Specification of Require-
        ments. Proceedings of the 1st IEEE International Conference on Formal Engineering Methods
        (ICFEM’97), Hiroshima, Japan, November 1997, pp. 252-261

Technische Berichte
[8]     Gotzhein, R., Kronenburg, M., Peper, C.: Reuse in Requirements Engineering: Discovery and Applica-
        tion of a Real-Time Requirement Pattern, SFB 501 Report 8/98, Fachbereich Informatik, Universität Kai-
        serslautern, 1998
[9]     Kronenburg, M., Peper, C.: An Example of a FOREST Problem Specification, SFB 501 Report 01/1999,
        Fachbereich Informatik, Universität Kaiserslautern, 1999
[10]    R. Gotzhein, M. Kronenburg, C. Peper: Specifying and Reasoning about Generic Real-Time Require-
        ments - A Case Study, SFB 501 Report 15/96, Fachbereich Informatik, Universität Kaiserslautern, 1996
[11]    M. Kronenburg, R. Gotzhein, C. Peper: A Tailored Real-Time Temporal Logic for Specifying Require-
        ments of Building Automation Systems, SFB 501 Report 16/96, Fachbereich Informatik, Universität Kai-
        serslautern, 1996
[12]    C. Peper, R. Gotzhein, M. Kronenburg: Formal Specification of Real-Time Requirements for Building
        Automation Systems, SFB 501 Report 1/97, Fachbereich Informatik, Universität Kaiserslautern, 1997

Online-Dokumente
[13]    Kronenburg, M., Peper, C.: Specification of the Case Study “Light Control System”, Dagstuhl-Seminar
        Requirements Capture, Documentation, and Validation, 13.-18. Juni 99, http://rn.informatik.uni-kl.de/
        ~forest/examples

Computer Networks Group, University of Kaiserslautern                                                      -5-
Sie können auch lesen