requiline seminar bassem ben helal. inhalt motivation kernfunktionalitäten architektur hierarchie...

Post on 05-Apr-2015

112 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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.

top related