Modellbasierte Softwareentwicklung: Vom Requirements Engineering bis zum Testen



Ähnliche Dokumente
Modellierung vonanforderungen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Einführung und Motivation

Arbeiten mit UMLed und Delphi

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Content Management System mit INTREXX 2002.

Mediumwechsel - VR-NetWorld Software

teischl.com Software Design & Services e.u. office@teischl.com

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

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

Hilfe zur Urlaubsplanung und Zeiterfassung

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Zusatzmodul Lagerverwaltung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

.. für Ihre Business-Lösung

Task: Nmap Skripte ausführen

Educase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Du hast hier die Möglichkeit Adressen zu erfassen, Lieferscheine & Rechnungen zu drucken und Deine Artikel zu verwalten.

Handbuch zum Excel Formular Editor

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

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

Mediumwechsel - VR-NetWorld Software

Microsoft SharePoint 2013 Designer

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

ARCO Software - Anleitung zur Umstellung der MWSt

TEAMWORK-Uploader. Dokumentenaustausch mit dem PC

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER PAPIER ARCHIVIEREN

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Lizenzen auschecken. Was ist zu tun?

4. BEZIEHUNGEN ZWISCHEN TABELLEN

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Kurzanleitung zu. von Daniel Jettka

Übungen zur Softwaretechnik

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Dokumentenarchivierung

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Lavid-F.I.S. Ablaufbeschreibung für. Arbeitszeiterfassung. Lavid-F.I.S.

proles-login. Inhalt [Dokument: L / v1.0 vom ]

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

Keine Disketteneinreichung ab 1. Februar 2014

How to do? Projekte - Zeiterfassung

OP-LOG

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Use Cases. Use Cases

Stammdatenanlage über den Einrichtungsassistenten

ecaros2 - Accountmanager

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Abschluss Version 1.0

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

FlowFact Alle Versionen

Grundbegriffe der Informatik

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

einrichtung in den kaufmännischen Programmen der WISO Reihe

IBIS Professional. z Dokumentation zur Dublettenprüfung

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Schnelleinstieg in die (cs) AuftragPro

Hochschule Darmstadt Fachbereich Informatik

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

07. November, Zürich-Oerlikon

VR-NetWorld Software Einrichtung einer Bankverbindung PIN/TAN-Verfahren

1 Mathematische Grundlagen

Wo sind meine Anforderungen?

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Deutsche Telefon Standard AG

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Online Newsletter III

Wie kann ein Fondssparplan verwaltet werden? Version / Datum V 1.0 /

Installation von Updates

Anleitung für den Euroweb-Newsletter

Success! Bestellausgabe

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Anwendungsbeispiele Buchhaltung

Softwaretechnik. Fomuso Ekellem WS 2011/12

TempusCapio Erste Schritte

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Bauteilattribute als Sachdaten anzeigen

104 WebUntis -Dokumentation

Print2CAD 2017, 8th Generation. Netzwerkversionen

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Maturaarbeit: Formatieren mit Word 2010

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Datenaustausch mit dem BVK Data Room

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Transkript:

Modellbasierte Softwareentwicklung: Vom Requirements Engineering bis zum Testen Dehla Sokenou, Erwin Tratar GEBIT Solutions GmbH Koenigsallee 75 b 14193 Berlin www.gebit.de [ Dehla.Sokenou Erwin.Tratar ] (at) gebit.de Abstract: Das Papier stellt einen Ansatz des modellbasierten Requirements Engineerings in der betrieblichen Anwendungsentwicklung vor, der eine durchgängige modellbasierte Softwareentwicklung von den Anforderungen bis hin zum Testen erlaubt. Dabei werden die Vorteile gegenüber der herkömmlichen Erfassung von Anforderungen beleuchtet und Erfahrungen mit dieser Technik vorgestellt. 1 Motivation Modellbasierte Ansätze haben in einigen Bereichen der Softwareentwicklung zu einer deutlichen Verbesserung geführt, betrachtet man Produktivität, Kosten oder Zeit [Kra05]. Der Vorteil einer modellbasierten Entwicklung liegt in der durchgängigen Verwendung eines Modells, das von allen Beteiligten in einem Projekt verwendet wird. Dieses Modell dient oft als Grundlage für den Code (durch Generierung oder Ausführung) und bringt damit einen entscheidenden Zeitgewinn. Gleichzeitig ist das Modell Teil der Dokumentation der Software, die durch die Verbindung zum Code immer auf dem aktuellen Stand ist und damit Inkonsistenzen zwischen Dokumentation und erstelltem Softwareprodukt vermeidet. Unterstützt wird die modellbasierte Entwicklung durch eine Reihe verfügbarer Werkzeuge (z.b. Eclipse), die durch Integration von (UML-) Modellierungs- und Implementierungsumgebung und Unterstützung durch Generierungswerkzeuge eine einheitliche Basis für die Softwareentwicklung schaffen. Ein Wechsel des Werkzeugs zwischen Entwurfs- und Implementierungsphase ist somit nicht mehr nötig. Leider beschränkt sich anders als z.b. in der Domäne der eingebetteten Systeme (siehe z.b. [Sol05,Ilic05,Sch05]) der modellbasierte Ansatz in der Domäne der betrieblichen Anwendungssysteme meist auf die Phasen Design und Implementierung, in einigen Fällen wird auch der Test modellbasiert durchgeführt. Dabei besteht ein ebenso großes Nutzungspotential in der Anforderungsermittlung. Wir schlagen deshalb eine Erweiterung des modellbasierten Ansatzes auf das Requirements Engineering vor (Model-Driven Requirements Engineering, kurz MDRE, siehe auch [Tra05,Kra05,Kra06]). Im folgenden Abschnitt geben wir einen Überblick über die Eckpfeiler der modellbasierten Entwicklung und ihre Übertragbarkeit auf das Requirements Engineering. In Abschnitt 3 zeigen wir die Vorteile des modellbasierten Requirements Engineering gegenüber dem Status Quo in der betrieblichen Anwendungsentwicklung und unsere Erfahrungen beim Einsatz der neuen Technik. 2 Modellbasierte Entwicklung Der modellbasierten Entwicklung liegt die Idee zugrunde, möglichst viele Informationen über ein Softwareprojekt in einem möglichst graphischen Modell zu erfassen und anschließend benötigte Artefakte direkt aus dem Modell zu verwenden oder zu generieren. Dabei lassen sich unabhängig von der konkreten Ausprägung (z.b. MDA, MDD, MDSE) einige Eckfeiler der modelbasierten Entwicklung ausmachen: Ein Metamodell gibt die verfügbaren Artefakte, deren Eigenschaften und Beziehungen zu anderen Artefakten vor.

Abbildung 1: Requirements-Metamodell (links) und Dokumentenmodell (Mitte) und Dokument (rechts) Die Systembeschreibung stützt sich auf diese Artefakte und wird in einem Modell durchgeführt, dessen Struktur durch das Metamodell festgelegt ist. Es wird versucht, die Beschreibung möglichst frei von Redundanzen vorzunehmen. Eine Information, die an mehreren Stellen benötigt wird, wird entweder aus dem Modell generiert oder aus anderen Teilen des Modells entnommen. Änderungen am Modell haben direkte Auswirkung in der durch das Modell beschriebenen Anwendung. Dieser Bezug lässt sich auf unterschiedliche Weise realisieren, z.b. durch Modelltransformationen, Generierung von Quellcode aus dem Modell oder durch unmittelbare Verwendung von Modellinformationen zur Laufzeit (Repository-basierter Ansatz, executable UML). Diese Eckpfeiler lassen sich ohne Weiteres auch auf das Requirements Engineering übertragen: Ein Metamodell gibt vor, welche Dokumente für die Anforderungen zu verwenden sind. Das können z.b. Glossar, Projektübersicht, Use-Case-Paket, Use-Case-Spezifikation, Testfall, Testplan, Change Request usw. sein. Auch Verweise auf andere Artefakte, z.b. UML-Diagramme, können definiert werden, z.b. dass eine Use-Case-Beschreibung einen Verweis auf ein Use- Case-Diagramm enthalten kann oder enthalten muss. Abbildung 1 zeigt als Beispiel auf der linken Seite ein Metamodell des TREND/Analyst 1, einem Werkzeug zur modellbasierten Erfassung von Anforderungen, das von GEBIT entwickelt wurde. Das Metamodell ist wie das UML- Metamodell in UML spezifiziert und kann für jedes Projekt individuell angepasst werden. Anforderungen werden strukturiert gemäß dem Metamodell erfasst. Für jedes Artefakt gibt es eine Vorlage oder eine Eingabemaske. Dadurch sind Aussehen, die Verknüpfung mit anderen Dokumenten und Diagrammen und weitere Eigenschaften fest vorgegeben und für alle Projektbeteiligten gleich. In Abbildung 1 ist dies in der Mitte und auf der rechten Seite dargestellt. Durch Verknüpfungen zu anderen Dokumenten kann das Anforderungsmodell frei von Redundanzen gehalten werden. Für den weiteren Softwareentwicklungsprozess lassen sich die Artefakte aus dem Anforderungsmodell weiterverwenden oder neue Artefakte (z.b. Templates für den Code oder für Testfälle) generieren. Die Frage stellt sich natürlich, ob das auch zu Vorteilen im Softwareentwicklungszyklus führt. Diese Frage beleuchten wir im folgenden Abschnitt, indem wir das modellbasierte Requirements Enginering mit dem Status Quo der Anforderungsermittlung in der betrieblichen Anwendungsentwicklung vergleichen. 1 TREND/Analyst ist in einer kostenfreien Community Edition verfügbar: www.gebit.de.

Anforderungsermittlung Design & Implementierung Repository Abbildung 2: Integration durch modellbasierte Entwicklung 2 3 Modellbasiertes Requirements Engineering In diesem Abschnitt sollen die Vorteile einer modellbasierten Vorgehensweise in der Anforderungsermittlung aufgezeigt werden. Zunächst geben wir jedoch einen Überblick über den Status Quo im Requirements Engineering. 2 3.1 Status Quo im Requirements Engineering Gängige Softwaresysteme zur Erfassung von Anforderungen (ein Überblick findet sich in [Ver05]) werden überwiegend in internationalen Großunternehmen eingesetzt, bei denen die Erfassung von Anforderungen eng mit gesetzlichen Regelungen verknüpft ist oder es eine enge Zusammenarbeit zwischen Herstellern und Zuliefern gibt (z.b. Pharma-, Verkehrs- oder militärische Industrie). Anders sieht es dagegen im Bereich der klassischen betrieblichen Softwareentwicklung aus. Hier sind diese Systeme eher selten anzutreffen. Stattdessen werden Anforderungen häufig mit mehr oder weniger strukturell vorgegebenen Word-Dokumenten erfasst, wobei die vorgegebene Struktur ohne Probleme vom Anwender verändert werden kann. Dies führt häufig dazu, dass die so entstandenen Dokumente nicht mehr einheitlich sind und von Außenstehenden nur schwer verstanden werden können. Auch andere Aspekte sprechen gegen diese Praxis, z.b. dass eine Auswertung oder gar die automatische Ableitung von neuen Artefakten aus diesen Textdokumenten nur sehr schwer bis unmöglich sind. Ein Fortschritt auf diesem Gebiet ist die Verwendung von graphischen Modellierungssprache wie z.b. der UML. Typischerweise werden hier Use-Cases verwendet, an denen die Anforderungen in Form von textuellen Beschreibungen hinterlegt sind. Dadurch wird der Medienbruch zur Anwendungsentwicklung vermieden und alle Projektbeteiligten sprechen die gleiche Sprache. Auch Verknüpfungen zu anderen Diagrammen wie Aktivitäten sind leicht möglich. Doch ein UML-Werkzeug ist nicht primär auf die Erfassung von Anforderungen ausgerichtet. So wird einerseits der Anwender auf fachlicher Seite nicht ausreichend geführt, andererseits können sich vermeintliche Kleinigkeiten wie die Sortierung der Ausgabedokumente zu einem großen Problem ausweiten. So gibt es z.b. bei den Use-Cases in einem Diagramm keine ersichtliche Sortierung, die aber bei der Ausgabe in einem Pflichtenheft meist gewünscht ist. Eine Nummerierung der Use-Cases als Abhilfe wird spätestens dann zum Problem, wenn ein neuer Use-Case zwischen zwei bestehenden eingefügt werden muss. 3.2 Vorteile des modellbasierten Ansatzes Betrachtet man die im vorherigen Abschnitt beschriebenen Probleme, so liegt es nahe, einerseits die Vorteile des Ansatzes der UML-basierten Erfassung von Anforderungen beizubehalten, ohne die Nachteile in Kauf zu 2 Eclipse und das Eclipse-Logo sind Markenzeichen der Eclipse Foundation (www.eclipse.org).

Abbildung 3: Beispiel für modellbasierte Anforderungserfassung nehmen. Unser Ansatz ist es deshalb, sowohl die Erfassung von Anforderungen als auch die eigentliche Softwareentwicklung auf eine gemeinsame Basis zu stellen. Dabei sollten alle verwendeten Werkzeuge Hand in Hand arbeiten, was zum Beispiel durch die Verwendung eines gemeinsamen Repositories realisiert sein kann. Im Folgenden gehen wir auf die Vorteile des modellbasierten Requirements Engineering im Einzelnen ein. Gemeinsame Sprache Einer der wichtigsten Vorteile ist sicher die gemeinsame Sprache zwischen Analyse- und Entwicklungsteam, da neben textuellen Anforderungsdokumenten auch standardisierte Diagramme wie UML und BPMN- Diagramme verwendet werden können. Dies wird zudem gefördert, wenn das Werkzeug für die Anforderungserfassung in die normale Softwareentwicklungsumgebung integriert wird, ähnlich wie die Integration der Modellierungswerkzeuge die modellbasierte Entwicklung gefördert hat. Wird im Unternehmen bereits modellbasiert entwickelt, so kann nun der gesamte Softwareprozess von den Anforderungen bis hin zum Test in gleicher Weise erfolgen. Die Integration in eine gemeinsame Werkzeugumgebung bietet zudem den Vorteil, dass der Entwickler unmittelbaren Zugriff auf die Anforderungsdokumente besitzt. So kann der Entwickler durch eigene Verknüpfungen von z.b. Aktivitäten zu einem Use-Case das Modell ergänzen. Die Benutzung eines gemeinsamen Repositories hat mehrere Vorteile. Neben der Versionskontrolle, die ja für beide Seiten selbstverständlich sein sollte, können auch Aspekte wie der projektbezogene Zugriff auf einzelne Dokumente berücksichtigt werden. Zudem arbeiten alle Seiten immer auf dem gleichen Stand, so dass Änderungen im Modell schnell auf Entwicklerseite verfügbar sind. Auch eine Verknüpfung von Dokumenten mit einem Issue-Tracking-System ist möglich. Dabei werden initial erzeugte Artefakte aus der Anforderungsdefinition als Issues angelegt und können anschließend vom Entwickler weiter bearbeitet werden. Dies ist auch nur möglich, da die strukturierten Informationen aus den Anforderungsdokumenten einfach auf die Felder im Issue-Tracking-System gemappt werden können.

Führung des Anwenders Durch die Definition eines Metamodells zur Beschreibung der Anforderungsdokumente unterliegen alle Dokumente einer festgelegten Struktur. Zu jedem Dokument sind die Beziehungen zu anderen Dokumenten klar vorgegeben. Beides führt dazu, dass der Anwender effektiv geführt wird, vom Anlegen eines initialen Projektdokuments bis zur Pflege von Change Requests. In den Dokumenten werden typischerweise strukturierte Daten erfasst, deren Eingabe durch Formularfelder unterstützt werden (siehe Abbildung 3). Die Eingabefelder leiten sich aus den Beschreibungen im Metamodell ab und können je nach Definition strukturierten Text oder Verweise auf andere Dokumente, aber auch z.b. auf UML-Diagramme. Ein Beispiel dafür ist z.b. eine Use-Case- Spezifikation, die strukturierten Text sowie einen Verweis auf das Use-Case-Diagramm enthält, in dem der referenzierte Use-Case spezifiziert wurde. Im Modell selbst werden nur die eingegebenen Werte abgelegt (z.b. Texte, Zahlen, Verweise auf andere Dokumente), so dass Struktur (Metamodell) und Daten (Modell) streng voneinander getrennt sind. Ableitung anderer Artefakte Der wohl größte Vorteil der modellbasierten Entwicklung ist die Ableitung anderer Artefakte aus den vorhandenen. Typischerweise wird aus einer graphischen Beschreibung, z.b. einem UML-Modell, Code erzeugt. Doch auch aus Anforderungsbeschreibungen lassen sich andere Artefakte ableiten. So lassen sich der Anforderungsbeschreibung verschiedene Arten von neuen Dokumenten ableiten. Ein Pflichtenheft lässt sich z.b. aus einem Artefakt vom Typ Visionspapier, gefolgt von den einzelnen Anforderungen aus den Artefakten vom Typ Use-Case-Spezifikation erzeugen. Genauso leicht lassen sich weitere Dokumente erzeugen, z.b. die ausführlichen Spezifikationen einzelner Use-Cases, eine Übersicht aller Use- Cases mit ihrem aktuellen Status einer Projektphase oder auch Testfallbeschreibungen. Nicht in jedem Dokument müssen alle Daten aus den jeweiligen Artefakten enthalten sein. Darüber hinaus können Anforderungsdokumente zur Erzeugung einer Projektstruktur und erster Designdokumente und Code-Artefakte für die nachfolgenden Entwicklungsphasen dienen. Dabei gelten die gleichen Prinzipien wie im modellbasierten Entwicklungsansatz. Verfolgung im Modell Auch für den Bereich des Requirements- und Projektmanagement ergeben sich aus dem modellbasierten Ansatz Vorteile. Metriken und Auswertungen sind auf der Basis von strukturiert erfassten Anforderungen leicht zu berechnen. So lässt sich für ein Artefakt die Eigenschaft Status oder Fertigstellungsgrad definieren, die zur automatischen Auswertung des aktuellen Projektstatus dient. Durch die Anbindung eines Issue-Tracking- Systems kann der Status einer Anforderung ins Modell zurückverfolgt werden, indem z.b. der Entwickler den Status eines Issues auf bearbeitet oder geschlossen setzt. Dabei kann der Status im Modell vom Status im Issue-Tracking-System abweichen und durch ein Mapping zugeordnet werden. Auf Basis dieser Informationen lassen sich nun leicht Projektfortschrittsdokumente extrahieren oder Abfragen nach noch nicht umgesetzten Anforderungen definieren. Dadurch, dass der Entwickler textuelle Anforderungsdokumente mit erstellten UML-Diagrammen wie Aktivitäten verknüpfen kann, ist eine leichte Verfolgbarkeit von den Anforderungen zu Design und Code und zurück möglich. So lässt sich leicht feststellen, welche Auswirkungen eine Änderung von Anforderungen auf das bereits modellierten und implementierte System hat. 3.3 Erfahrungen mit modellbasiertem Requirements Engineering Unsere Erfahrungen mit dem modellbasierten Requirements Engineering zeigen, dass die Integration auch des Requirements Engineering in den modellbasierten Softwareentwicklungsprozess möglich ist und damit eine Durchgängigkeit von der Anforderungsermittlung bis zur Implementierung bietet. Werden zudem modellbasierte Techniken im Test eingesetzt, wird auch diese Phase in den durchgängigen Prozess integriert.

Der vorgestellte Ansatz ist bereits in Projekten verwendet worden. Dabei reicht die Spannbreite von Projekten klassischen Softwareprojekten über Projekte mit verteilter Entwicklung, wo besonders die problemlose Zusammenarbeit über die repository-basierten Speicherung der Dokumente eine Rolle spielt, bis hin zu Projekten, die mit agilen Prozessen durchgeführt werden. Gerade bei agilen Prozessen, bei denen eine konstante Änderung und Weiterentwicklung des Programms im Mittelpunkt steht, und damit auch eine ständige Änderung und Weiterentwicklung der Anforderungen, hat ein modellbasierter Ansatz viele Vorteile. Zu Projektbeginn liegen typischerweise noch nicht alle Anforderungen vor, stattdessen werden diese nach und nach ergänzt und verfeinert, während gleichzeitig bereits entworfen und implementiert wird. Der einfache und schnelle Zugriff auf die jeweils aktuellen Anforderungsdokumente sowie die leichte Verfolgbarkeit von Anforderungen im weiteren Prozess sind Änderungen für den Entwickler leicht nachzuvollziehen. Ergänzt wird das modellbasierte Requirements Engineerung durch modellbasiertes Design und Implementierung. Verwendet wird eine Single-Source-Strategie, so dass Modell und Implementierung immer konsistent zueinander sind. Dadurch lassen sich die Requirements bis zum Code verfolgen. Allerdings erfordert der modellbasierte Ansatz eine andere Arbeitsweise als das übliche Vorgehen bei der Anforderungserfassung. Durch das Metamodell sind die Strukturen klar vorgegeben, was eine strukturierte Arbeitsweise voraussetzt. Ein einfaches Verschieben von Textblöcken ist schwieriger als in einem monolithischen Textdokument. Gleichzeitig ist durch die Anpassung des Metamodells eine Flexibilität gegeben, die eine Anpassung an die eigene Arbeitsweise im Grenzen möglich macht. Zudem muss ein Werkzeug für die modellbasierte Anforderungserfassung von allen am Projekt Beteiligten, die Anforderungen erfassen oder Anforderungsdokumente verändern, akzeptiert und benutzt werden. 4 Zusammenfassung Mit dem modellbasierten Requirements Engineering werden Prinzipien der modellbasierten Entwicklung konsequent auf die Anforderungsermittlung ausgedehnt. Wichtig ist eine homogene Werkzeuglandschaft, die von Anforderungsermittlern und Entwicklern gemeinsam benutzt wird und so die Verfolgbarkeit von Anforderungen im gesamten Prozess ermöglicht. Durch die Generierung von Dokumenten wie Pflichtenheft oder Projektfortschrittsdokument sind diese immer auf dem aktuellen Stand. Bei Änderung der Struktur der Anforderungen oder auch des Formats dieser generierten Dokumente müssen diese nicht mehr manuell angepasst werden, sondern die Anpassung erfolgt nur im Metamodell bzw. in der Beschreibung der Transformation. Ein solcher Ansatz kann die Qualität der Anforderungen gerade in Bereichen verbessern, in denen Anforderungen bisher informell erfasst wurden. Literaturverzeichnis [Ilic05] Ilic, D.; Troubitsyna, E.: A Formal Model-Driven Approach to Requirements Engineering. Technischer Report, Nr. 667, Turku Centre for Computer Science (TUCS), 2005. [Kra05] Krauss, T: Durchgängige Modellorientierung macht Anwendungsentwicklung produktiver. OBJEKTspektrum, Nr. 2/2005, S.1-4. [Kra06] Krauß, T; Versteegen, G.; Mühlbauer, S..: Model-Driven Requirements Engineering. Informatik Spektrum, Nr. 6/2006, S. 460-464. [Sch05] Schätz, B.; Fleischmann, A.; Geisberger, E.; Pister, M.: Modellbasierte Anforderungsentwicklung mit AutoRAID, Object-Orientied Software-Engineering (OOSE), Net.ObjectDays-Conference, 2005. [Sol05] Solheim, H.; Lillehagen, F.; Petersen, S.A.; Jorgensen, H.; Anastasiou, M.: Model-driven visual requirements engineering. 13th IEEE International Conference on Requirements Engineering, 2005. [Tra06] Tratar, E.: Anforderungen erfassen, aber mit System Modellbasiertes Requirements Engineering. OBJEKTspektrum, Nr. 6/2006, S.29-31. [Ver05] Versteegen, G (Hrgs.); Hood, C.; Kreß, A.; Stevenson, R.; Wiebel, R.: ix-studie Anforderungsmanagement Methoden und Techniken, Einführungsszenarien und Werkzeuge im Vergleich. Heise Verlag, 2005.