requiline seminar bassem ben helal. inhalt motivation kernfunktionalitäten architektur hierarchie...
TRANSCRIPT
Requiline
SeminarBassem Ben Helal
Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration Evaluierung Demo Diskussion
Motivation RequiLine ist ein requirements engineering tool(Management von
Produktlinien). Graphische Editor: Modellierungsumgebung für Features und Requirements. Query interface: Zugriff und Suche bestimmter Features und Requirements. Produktkonfiguration: Produktlinie instanzieren. Konsistenzprüfung: Analyse vom Domain Modell (Integrität und Inkonsistenz) Analyse einer bestimmten Produktkonfiguration: Ist das Produkt Kompliant
zu der Produktlinie? Sind alle Variationspunkten sauber gelöst? Import/Export: RequiLine hat ein XML Interface damit Daten zwischen
verschiedenen Tools ausgetaucht werden können. (.dtd Dateien) User Management: Verschiedene User-Gruppen vom Adminstrator bis zum
Manager. Views: Z.B. der Manager möchte nur die Produkte anschauen, die er vertreibt.
Dabei werden manche Features und Requirements ausgeblendet.
Architektur
RequiLineTool
Microsoft .Net
Oracle Client
Configuration .iniSQL
Interface
ODBC .Net
XML Projekt/Produkt .dtd Oracle
8i/9iDB
Mysql
<=4.1.1
DB
Networ
k
User
Kernfunktionalitäten
- Netzwerkfähigkeit- Benutzermanagement- Filter (Hierarchie)- Verwaltung von Produktlinien und deren
Produkte- Verwaltung und Modellierung von
Features (variability points)- Konsistenzprüfung
Hierarchy Types
Komposition: Das Basis feature besteht aus mehreren Subfeautures.Generalization/Specialization: Die SubFeaures sind Spezielle Features vom Base-Feautre.Implementation: Die SubFeatures implementieren das Base Feautre.
Depencies (Abhängigkeiten) Die Depencies sind Constraints, das
sind keine strutturelle Hirarchien oder Variabilitäten
Die Abhängigkeiten können nur zwischen zwei Features oder zwei Requirements existieren.
Jede Abhängigkeit hat zwei Attribute:
- Rational: gibt den Grund an warum die Abhängigkeit eingeführt worden ist?
- Condition: eine Boolean Variable, die dann erklärt wann die Abhängigkeit gültig ist.
RequiLine hat drei verschiedene Typen von Abhängigkeiten:
.
Exclusion: F1 und F2 können nicht in einem Produkt existieren.
Implication: unidirektionale AbhängigkeitWenn ein Feature benutzt wird, dann muss der zweite auch mitbenutzt.
Influence: Die Attribute von F1 haben einen Effekt und hägen von den Attributen von F2.
Variabilitätstypen:
Die Variabilitätstypen erklären die Beziehung zwischen ein Hauptfeature und den dazu gehörigen Sub-Features.
Eine Domain Relation kann vier verschiedene Variabilitätstypen: Mandatory: Mandatory Features sind die Features, die das Produkt identifizieren. Wenn ein Hauptfeature in einer Produktkonfiguration enthalten ist, dann
müssen die zum Hauptfeature dazu gehörigen Subfeatures auch zum Produkt assoziiert werden.
Variabilitätstypen:Optional : Wenn ein Hauptfeature in einer Produktkonfiguration beinhaltet ist, dann muss keins der
Subfeatures zum Produkt assoziiert werden. Wenn die Optional-Features aktiviert sind, dann werden Werte zu den mandatory und externen
Features des Produktes assoziiert.
Beispiel:
Jeder E-mail-Client hat die Möglichkeit eine Signature zu jeder Message. Das ist ein optionales Feature und keine Mandatory. Nicht jeder Anwender benutzt es, aber das Feature ist da und die Möglichkeit um es zu
benutzen ist auch da.
Variabilitätstypen:
Alternative :
Wenn ein Hauptfeature in einer Produktkonfiguration beinhaltet ist, dann muss genau ein Subfeature zum Produkt assoziiert werden.
Beispiel:
Für ein E-mail Client ist es der Editor. Es ist erforderlich, dass ein Editor existiert, um die Nachricht einzugeben. Manche E-mail Clients geben dem Anwender die Möglichkeit, den Editor selbst zu konfigurieren und andere nicht.
Variabilitätstypen:
Or :
Wenn ein Hauptfeature in einer Produktkonfiguration enthalten ist, dann muss mindestens ein Subfeature zum Produkt assoziiert werden.
Beispiel:
Ein E-mail Client braucht eine TCP/IP Verbindung. Es ist erforderlich, dass die verbindung hergestellt wird. Die Software hat die Möglichkeit entweder selbst die Verbindung zu bauen oder die bereits gestellte verbindung vom BS zu benutzen.
Beispiel1: Feature Modell
Produktkonfiguration
Products
Features
Requirement
s
Produkt Linie
Ein Produkt ist eine Instanz vom Domän Model.
Ein Produkt ist die Ableitung einer bestimmten Produktlinie.
Produktkonfiguration: - Auswahl von Features und Requirements.- Wenn die Feature Attribute beinhalten dann müssen die Attributwerte assoziiert werden. - Die Produktkonfiguration und das jeweilige Produkt Modell müssen konsistent sein.
Konsistenzprüfung Der Konsistenzprüfer von Requiline arbeitet auf zwei verschiedene
Niveaus. Niveau Nr. 1: Bei der Produktkonfiguration wird ständig überprüft ob das neue
Produkt mit dem Domain Modell übereinstimmt. Fehlermeldungen werden generiert: warnings, anomalies and errors. Error: dies bedeutet es gibt ein fataler Fehler entweder bei der
Produkt Konfiguration oder im Domain Modell. Anomaly: dies bedeutet dass ein semantischer Fehler der mit der
Domain Relationen oder mit den Abhängigkeiten zu tun hat. Z. B: eine Komplett Mandatory Feature implementiert eine optionale
Feature, in diesem Fall wird Requiline eine Anomaly ausgeben. Warning: Eine Warnung deutet auf einen Möglichen Problem hin. Im
allgemein signalisiert eine Warnung eine Inkonsistenz im Domain Modell und können somit auf Konflikte zeigen, die im nachhinein auftreten könnten.
Abhängigkeitsprüfung Consistency of Dependencies
In RequiLine wird auf Fehler, die zwischen Features,und Requirements und deren Abhängigkeiten geprüft.
Das heißt aber nicht, dass nur die direkten Abhängigkeiten zwischen den Features selbst oder zwischen den Requirements selbst sondern auch zwischen den transitiven Relationen.
Zum Beispiel wenn ein Feature A ein zweites B implementiert und B implement ein anderes C, dann muss A das Feature C implementieren. Wenn A das Feature C nicht implementiert, dann gibt es einen Abhängigkeitsfehler.
Konsistenz prüfung
Aufgabe:
Feature Modell zeichnen.
Lösung:
Evaluierung
- Forschungsstudie durch Robert Bosch GmbH und Universität Stuttgart.
-Studie über fünf Werkzeuge zur Eignung für Feature Modellierung.
- RequiLine erhielt „langfristige Empfehlung“.
-Aktuelle Evaluierung durch das Aachener Softwarehaus.
-Prototyp läuft stabil.
Zusammenfassung und Diskussion
Requiline ist ein Tool um Gemeinsamkeiten und Unterschiede von Produkte einer Produktlinie zu modellieren.
Analyse vom Domain Modell (Integrität und Inkonsistenz), Analyse einer bestimmten Produktkonfiguration.
Damit die Ergebnisse der Feature Modellierung den nachgelagerten Entwicklungsschritten als Eingabe weiterverwendet werden können.