Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Requiline Seminar Bassem Ben Helal. Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration.

Ähnliche Präsentationen


Präsentation zum Thema: "Requiline Seminar Bassem Ben Helal. Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration."—  Präsentation transkript:

1 Requiline Seminar Bassem Ben Helal

2 Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration Evaluierung Demo Diskussion

3 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.

4 Architektur RequiLine Tool Microsoft.Net Oracle Client Configuratio n.ini SQL Interface ODBC.Net XML Projekt/Produkt.dtd Orac le 8i/9i DB Mysql <= DB Net wor k U se r

5 Kernfunktionalitäten - Netzwerkfähigkeit - Benutzermanagement - Filter (Hierarchie) - Verwaltung von Produktlinien und deren Produkte - Verwaltung und Modellierung von Features (variability points) - Konsistenzprüfung

6 Hierarchy Types Komposition: Das Basis feature besteht aus mehreren Subfeautures. Generalization/Specializatio n: Die SubFeaures sind Spezielle Features vom Base- Feautre. Implementation: Die SubFeatures implementieren das Base Feautre.

7 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ängigkeit Wenn 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.

8 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.

9 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 -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.

10 Variabilitätstypen: Alternative : Wenn ein Hauptfeature in einer Produktkonfiguration beinhaltet ist, dann muss genau ein Subfeature zum Produkt assoziiert werden. Beispiel: Für ein Client ist es der Editor. Es ist erforderlich, dass ein Editor existiert, um die Nachricht einzugeben. Manche Clients geben dem Anwender die Möglichkeit, den Editor selbst zu konfigurieren und andere nicht.

11 Variabilitätstypen: Or : Wenn ein Hauptfeature in einer Produktkonfiguration enthalten ist, dann muss mindestens ein Subfeature zum Produkt assoziiert werden. Beispiel: Ein 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.

12 Beispiel1: Feature Modell

13 Produktkonfiguration Produ cts Featu res Requir ement 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.

14 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.

15 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.

16 Konsistenz prüfung

17 Aufgabe: Feature Modell zeichnen.

18 Lösung:

19 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.

20 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.


Herunterladen ppt "Requiline Seminar Bassem Ben Helal. Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration."

Ähnliche Präsentationen


Google-Anzeigen