2 Grundlagen und Einführung

2.1.2 Das FORE-Modell

Das Konzept der Systemfamilien10 wurde entwickelt, um den Aufwand von Einzellösungen zu reduzieren, indem Software wiederverwendet wird. Die Grundüberlegung ist, dass Softwareteile sich oft in Aufbau und Verwendung stark ähneln.
Deswegen ist es sinnvoll und ökonomisch solche Potentiale zu nutzen.
Zentrale Aufgabe ist die Wiederverwendbarkeit geeigneter Teile. Software soll nach diesem Prinzip aus einem festen Kern und variablen Teilen bestehen, um so Kundenanforderungen besser zu entsprechen. Um sie umsetzen zu können, müssen im Rahmen der Requirements Engineering Phase die bestehenden Anforderungen an die Software erhoben werden. Die erkannten Anforderungen werden in Modellen logisch angeordnet.
Schließlich werden sie evaluiert, umgesetzt und entsprechend variiert oder verändert.
Begleitend dazu muss der Aufwand geschätzt und Risiken bewertet werden. Der gesamte Prozess wird dabei dokumentiert. Zu diesem Thema werden verschiedene Konzepte, wie z.B. FAST, Feature Modellierung, FeatuRSEB und KobrA11 in der Literatur beschrieben.
Veränderbarkeit, Familienorientierung, Konfigurationsmöglichkeiten, das Spektrum der Parameter sowie die Überprüfbarkeit sind die Aufgaben, an denen sie sich differenzieren. Die Analyse dieser Konzepte erfolgte ausführlich in der Dissertationsschrift12. Problematisch an solchen Konzepten ist die Tatsache, dass sie nur mehr oder minder die jeweilige Aufgabe unterstützen.
Um jedoch ein konsistentes Modell zu schaffen, müssen alle genannten Aufgaben logisch verknüpft und vollständig gelöst werden.
Die Beschreibung einer Systemfamilie erfolgt dafür in einem Merkmalmodell. Hier ergeben sich durch die Struktur der Systemfamilie jedoch Probleme. Denn für die Ableitung einer Systemvariante müssen sowohl Merkmale als auch Anforderungen und deren Beziehungen im Modell hinterlegt werden. Die Eindeutigkeit dieser Beziehungen ist dabei das Entscheidende.
Ein in sich konsistentes, erweitertes Merkmalmodell ermöglicht so Varietät. Jedoch müssen auch im Vorfeld des Modells die erhöhten Anforderungen Beachtung finden. So müssen zusätzlich Dokumente und Personen im zeitlichen Verlauf festgehalten werden.
Die Lösung der genannten Probleme erfolgt im FORE-Modell im Hinblick auf die Automatisierbarkeit und Überprüfbarkeit der Varianten-Ableitung. So werden im Modell Versionen im Rahmen der Systemfamilie eingeführt und Beziehungen zwischen den erhobenen Anforderungen dargestellt. Das FORE-Modell erweitert unter Nutzung der traditionellen Konzepte das Merkmalmodell. Die Daten werden durch das Anforderungsmodell und das erweiterte Merkmalmodell erhoben. Durch Nutzung des Entwicklungsprozesses fließen die Daten in das Datenmodell ein. Dieses schließt den Prozess des Requirements Engineering ab und es erfolgt der Entwurf der Software.
Die einzelnen Schritte haben spezifische Aufgaben:13 Anforderungsmodell: Das Modell beinhaltet die hierarchisch angeordneten Anforderungen an das System und die entsprechenden Personen als Personenmodell, sowieso das referenzierte Dokumentmodell, welches die Struktur des Spezifikationsdokumentes14 enthält.
Die Beziehungen und Konflikte zwischen den Anforderungen müssen ebenso abgebildet werden.
Sie können sich unter Umständen gegenseitig ausschließen. Um Änderungen nachvollziehen oder rückgängig machen zu können, bedarf es einer Aufzeichnung der Änderungen, der Historie.
Um Anforderungen erheben zu können, wird eine Anforderungskarte benutzt. Sie protokolliert wichtige Informationen wie unter anderem Abhängigkeiten, den Autor, die Zuordnung zu einer Komponente oder ihre Bedeutung für den Kunden.
Merkmalmodell: Kernelemente in dem sich anschließenden Merkmalmodell sind die Beziehungen der Anforderungen zu den Merkmalen. Hier werden der Kern der Softwarefamilie mittels obligatorischer und die Varianten mittels optionaler Merkmale beschrieben. Merkmale sind als Zusammenfassung der Anforderungen an das System und somit als Eigenschaftsbeschreibungen zu verstehen.
Sie können unterschiedliche Intentionen haben: Sie können funktionaler Natur sein, Schnittstellen ausdrücken, Parameter darstellen oder der Strukturierung des Modells dienen. Auch für ihre Erhebung wird eine Merkmalskarte genutzt, die ähnlich aufgebaut ist wie die Anforderungskarte, hier werden alle Informationen zu einem Merkmal kompakt zusammengefasst. Die Darstellung der Merkmale erfolgt hierarchisch, um ihre Beziehungen untereinander und zu der Systemarchitektur zu verdeutlichen. Sie können z.B. Verfeinerungen oder Einschränkungen anderer Merkmale aufzeigen.
Zur Darstellung der zahlreichen Beziehungsmöglichkeiten wurde eine Notation geschaffen, sie wird in Anhang B gezeigt. So kann angezeigt werden, welche Varianten möglich sind und welche Merkmale sich ausschließen, sowie welche Merkmale zum Kern gehören, also notwendig sind, und welche für die Variante vom Kunden dazu gewählt werden können. Schließlich kann nur ein in sich widerspruchsfreies Modell automatisch überführt werden. Diese Überprüfung erfolgt anhand automatischer Regeln.
Entwicklungsprozess: Der Entwicklungsprozess wird in der Literatur durch das ''Six-Pack- Modell''15 dargestellt und wird für die Generierung des Datenmodells genutzt.
Dazu werden die Ergebnisse der Domänenanalyse, also dem Requirements Engineering der Softwarefamilie selbst und die Ergebnisse der Applikationsanalyse, also die Forderungen der Kunden an die Software, genutzt und abgeglichen. Das Resultat fließt in das Anforderungsmodell ein. Dieser Abgleich hat enorme Bedeutung, da ab hier Änderungen im Anforderungsmodell nur noch mit zusätzlichen Kosten und Aufwand zu bewältigen sind. Das FORE-Modell umfasst die genannten drei Module als ein Teil des Six-Pack-Modells, welches dem Systementwurf vorgelagert ist. Das Requirements Engineering der Systemfamilie und der kundenspezifischen Applikation ist ein weitreichender Prozess, hier wird auf die Dissertationsschrift verwiesen.
Datenmodell: Das Datenmodell ist die schriftliche Komprimierung der Resultate vergangener Schritte. Das Modell beinhaltet eine Sammlung der vollständigen Informationen. Das sind das Anforderungsmodell, das Merkmalmodell, das Systemfamilienmodell, das Dokumentmodell, das Personenmodell und ihre Beziehungen untereinander. Ziel ist es hier, die vielfältigen Beziehungen untereinander in einem UML-Diagramm darzustellen. Die Elemente selbst werden in einer Datenbank unter der entsprechenden Variante der Systemfamilie gespeichert.
Das Anforderungsmodell stellt die Ansprüche an das System systematisch gegliedert dar, ihnen werden Personen, Dokumente und zahlreiche Informationen zugeordnet. Die Anforderungen werden dem Kern bzw. einer oder mehrerer Varianten zugeschrieben. Ähnliches geschieht mit den Merkmalen im Merkmalmodell.
Hier liegt der Fokus vor allem in der Zuweisung der Art der Merkmale und der Frage, ob das Merkmal jeweils optional oder obligatorisch ist. Im Dokumentmodell schließlich sind alle erstellten Dokumente enthalten und das Personenmodell stellt alle Personen im Zusammenhang mit der Erhebung dar. Schließlich werden alle Änderungen mit dem entsprechenden Datum und der ausführenden Person in der Historie aufgeführt, die Erhebung der Merkmale ist damit abgeschlossen.16


 


Top| Home| << Zurück | Nächste >>
" TARGET="_blank"> >> Home Page <<