FK Informatik LS XIV Software Engineering Prof. Dr. Jakob Rehof Dr. Boris Düdder
Übungen zur Vorlesung
Komponenten- und Service-orientiere Softwarekonstruktion
Sommersemester 2015 Übungsblatt Nr. 9
Abgabetermin: 29.06.2015, 12:00 Uhr Aufgaben(teile) mit der Markierung ? sind Zusatzaufgaben.
Gemeinsame Abgaben von Gruppen bis zu 3 Personen sind möglich. 22.06.2015
Aufgabe 1 (Sprach-basierte Programmvariabilität) (3 + 3 + 3 + 3 = 12 Punkte) Folgendes Java Programm ist gegeben und dieses soll variiert werden:
public class A {
public int methodA ( ) { int value ;
// Variation point 1 // Variation point 2 return value ;
} }
Die Variationen sollen an der Stelle der beiden Kommentare (//) erscheinen. Die zwei Variationen für Variation point 1 sind:
1. value= 2;
2. value= 9;
sowie die zwei Variationen für Variation point 2:
1. System.out.println(value);
2. value--;
System.out.println(value);
Geben Sie jeweils eine Lösung für die Variabilität des Programms an, welche die folgenden Entwurfs- muster verwendet:
1. Observer-Pattern (Beobachtermuster)
Seite 1 von 2
2. Template-Method-Pattern (Methodenvorlagenmuster) 3. Strategy-Pattern (Strategiemuster)
4. Decorator-Pattern (Dekorierermuster)
Aufgabe 2 (Launchpad) (2 + 5 + 1 = 8Punkte)
Installiere LaunchPad gemäÿ der folgenden Beschreibung:
1. Installiere die aktuelle Version von Eclipse (getestet mit Kepler und Luna).
2. Im Eclipse Marketplace installiere FeatureIDE (2.6.5) (in aktueller Version).
3. Installiere von der Eclipse update site (http://combinators.org/launchpad/update-site) die Komponente LaunchPad composer.
4. Wähle New | Example... | Launchpad Composer | SolitaireProductLine aus dem Eclipse Menu . Die Aufgabe besteht aus den folgenden drei Schritten:
1. Erweitere das Merkmalsmodell (feature model) um das Merkmal eines Solitaire Spiels mit 6 Kartenstapeln.
2. Erweitere das Kombinatorenmodell, um die Implementierung eines 6 Kartenstapels.
3. Generiere eine JAR Datei mit einem fehlerfrei ausführbaren Produkt, welches ein Solitaire Spiel mit einem sechs Kartenstapel realisiert.
Seite 2 von 2