Seminar Entwicklung verteilter eingebetteter Systeme
|
|
- Alke Adenauer
- vor 8 Jahren
- Abrufe
Transkript
1 Name Datum Autorin Stephanie Müller Titel: PuLSE Grundlagen
2 Inhaltsverzeichnis 1 Was sind Produktlinien? 1.1 Funktion 1.2 Vorteile einer Produktlinie 1.3 Bindungszeitpunkte der Variabilität 2 Feature Modellierung 2.1 Definition 2.2 Möglichkeiten der Feature Modellierung 2.3 Featuremodellierung am Beispiel eines Autos 2.4 Features und AOP 3 Einführung in PuLSE 3.1 Was ist PuLSE? Definition Eigenschaften und Entstehung 3.2 Komponenten von PuLSE Überblick über alle Komponenten Deployment Phases Technical Components PuLSE-Eco PuLSE-CDA PuLSE-DSSA PuLSE-EM Support Components 4 Überblick über KobrA 4.1 Definition und Eigenschaften 4.2 Bezug zu PuLSE 4.3 Activities Framework engineering Application engineering 5 Aktueller Einsatz 6 Literatur
3 Abbildungsverzeichnis: ABBILDUNG 1: BEISPIEL FÜR EINE PRODUKTLINIE ABBILDUNG 2: VERWENDUNG EINER PRODUKTLINIE ABBILDUNG 3: BINDUNGSZEITPUNKTE DER VARIABILITÄT ABBILDUNG 4: FEATURE MIT ZWEI GRUPPEN VON OR-FEATURES ABBILDUNG 5: FEATURE MIT ZWEI GRUPPEN VON ALTERNATIVE FEATURES ABBILDUNG 6: FEATUREMODELLIERUNG DES KONZEPTS AUTO ABBILDUNG 7: ABLAUF ASPEKTORIENTIERTE PROGRAMMIERUNG ABBILDUNG 8: FEATURES UND ASPEKTORIENTIERTE PROGRAMMIERUNG ABBILDUNG 9: KOMPONENTEN VON PULSE ABBILDUNG 10: ZUSAMMENHANG DER TECHNISCHEN KOMPONENTEN VON PULSE ABBILDUNG 11: ABLAUF VON PULSE-CDA ABBILDUNG 12: ABLAUF VON PULSE-DSSA ABBILDUNG 13: EVOLUTION UND MANAGEMENT BEI PULSE-EM ABBILDUNG 14: LEARNING BEI PULSE-EM ABBILDUNG 15: MODELLE BEIM FRAMEWORK ENGINEERING IN KOBRA ABBILDUNG 16: APPLICATION ENGINEERING BEI KOBRA
4 1 Was sind Produktlinien? 1.1 Funktion Die Grundidee einer Produktlinie besteht darin Funktionen in unterschiedlichen, aber sehr ähnlichen Produkten wieder zu verwenden. Am besten lässt sich die Motivation für eine Produktlinie an einem Beispiel erklären: Wir haben drei auf dem Bild dargestellte Autos, die sich nur in der Lack- und Reifenfarbe unterscheiden. Abbildung 1: Beispiel für eine Produktlinie In einer Produktlinie soll ein Produkt mit allen seinen möglichen Ausprägungen und Sonderausstattungen modelliert werden. Immer wenn der Kunde zwischen mehreren Varianten wählen kann, sollen alle Auswahlmöglichkeiten in der Produktlinie beschrieben werden. Eine Auswahlmöglichkeit kann Auswahlmöglichkeiten an anderen Stellen einschränken. Die Modellierung der Produktlinie wird auch als Domain Engineering bezeichnet. In unserem Beispiel sind die Lackfarbe mit den Ausprägungen rot und gelb und die Reifenfarbe mit den Ausprägungen grau und schwarz Entscheidungsmöglichkeiten in der Produktlinie. Wenn die verkaufende Firma einen potentiellen Kunden gefunden hat, äußert der Kunde seine Wünsche und Anforderungen an das Produkt. Der Verkäufer legt anhand der Kundenwünsche Entscheidungen innerhalb der Produktlinie fest. Möchte der Kunde das linke Auto im oberen Bild kaufen, legt der Verkäufer grau als Reifenfarbe und rot als Lackfarbe fest. Diesen Prozess nennt man Product Engineering. In der unteren Graphik wird die Verwendung der Produktlinie dargestellt: Domain Engineering Software Assets Product Engineering Production Mechanism / Process Product 2 Scope of the Product line Product 1 Product N Decision Model Product Decisions Abbildung 2: Verwendung einer Produktlinie
5 Aus dem Domain Engineering, in der Graphik gelb dargestellt, resultieren Beschreibungen (Software Assets) und ein Entscheidungsmodel (Decision Model), in dem alle möglichen Variationen der Produktlinie beschrieben werden. Diese Resultate werden beim Product Engineering, oben blau dargestellt, verwendet, um ein einzelnes Produkt zu erzeugen. Aus jeder Produktlinie kann man eine begrenzte Anzahl N von verschiedenen Produkten erzeugen, indem man alle verschiedenen Entscheidungsmöglichkeiten miteinander kombiniert. Die Menge der verschiedenen möglichen Produkte wird als Scope of the Product Line, oben grün dargestellt, bezeichnet. 1.2 Vorteile einer Produktlinie Mit Hilfe der Produktlinie wird eine hohe Widerverwendbarkeit des Programmcodes realisiert, durch die folgende Vorteile entstehen: Kürzere Entwicklungszeit: Mit weniger Programmcode wird dieselbe Wirkung erzielt. Geringere Komplexität der Software: Dieselbe Funktionalität existiert idealer Weise nicht doppelt. Leichtere Anpassbarkeit: Viele möglichen Varianten wurden in der Produktlinie und daher auch bei der Implementierung bereits berücksichtigt. Senkung der Produktionskosten durch die drei oben aufgeführten Punkte. Einfache Wiederverwendung in der Zukunft durch klar umrissene Features. Funktionalität verhält sich in jedem Produkt identisch, weil alle Produkte dasselbe Feature enthalten. Bessere Wartbarkeit durch einfache Wiederverwendung in der Zukunft und sich identisch verhaltene Funktionalität. 1.3 Bindungszeitpunkte der Variabilität Die folgende Graphik zeigt den Zeitablauf von allen möglichen Bindungszeitpunkten: Abbildung 3: Bindungszeitpunkte der Variabilität
6 Im Design und bei der Wiederverwendung von Software bestehen die ersten Möglichkeiten durch Variationspunkte in Modellen Variabilität zu realisieren. In diesem frühen Stadium wirken sich einmal getroffene Entscheidungen sehr lange aus und nur wirklich essentielle Variabilität sollte hier festgelegt werden. Bei der Kompilierung kann im Präkompiler z.b. in C oder C++ oder durch das Einbinden von Aspekten Variabilität erzeugt werden. Die Abkürzung AOP in der Graphik steht für Aspektorientierte Programmierung. Diese ersten Bindungszeitpunkte bezeichnet man auch als Variability in narrow sense. Bei der Produktion oder in der Werkstatt kann durch Kallibrierung, die auch als Parametrisierung bezeichnet wird, Variabilität hergestellt werden. Hier wird durch das Setzen von einzelnen Parametern das Systemverhalten festgelegt. Zur Laufzeit bietet sich nur noch die Möglichkeit über if then else -Abfragen verschiedene Möglichkeiten auszuwählen. Der Umfang dieser Variabilität ist jedoch durch vorherige Festlegungen eingeschränkt. Die hinteren Bindungszeitpunkte werden auch unter dem Begriff Configuration Management zusammengefasst. Alle Bindungszeitpunkte werden als Variability in border sense bezeichnet.
7 2 Feature Modellierung 2.1 Definition Feature Modelle sind eine einfache Möglichkeit Produktlinien zu modellieren. Features werden in einer Baumstruktur dargestellt. An der Wurzel des Baumes steht das Konzept C, das modelliert werden soll. Unterhalb davon sind die Features, die zu diesem Konzept gehören dargestellt. Die genaue Definition eines Feature Models nach [Czar] Kapitel 5.4. lautet: A feature model represents the common and the variable features of concept instances and the dependencies between the variable features. Ein Feature kann ebenfalls aus Subfeatures zusammengesetzt werden. Jedes Feature kann optional oder verpflichtend sein. Optionale Features werden durch einen weißen Kreis dargestellt, verpflichtende durch einen schwarzen Kreis. 2.2 Möglichkeiten der Feature Modellierung Es gibt auch Auswahlmöglichkeiten zwischen den einzelnen Subfeatures: Ist ein Feature F entweder aus dem Subfeature S1 oder aus dem Subfeature S2 oder aus beiden zusammengesetzt, befindet sich ein schwarz ausgefüllter Bogen zwischen S1 und S2. Diese Features werden als OR-Features bezeichnet. Besteht ein Feature F entweder aus dem Subfeature S1 oder aus dem Subfeature S2 und in keinem Fall aus beiden Features, wird dies mit einem Bogen zwischen S1 und S2, der nicht ausgefüllt ist, dargestellt. Diese Features heißen alternative features. Beide Auswahlmöglichkeiten können auch über Gruppen (sets) von Subfeatures erfolgen: In der folgenden Darstellung haben wir zwei Gruppen {S1, S2} und {S3, S4} von OR-Features. Das Feature F1 kann entweder aus S1 oder S2 oder beiden und entweder aus S3 oder S4 oder beiden bestehen. F1 kann sich daher aus zwei, drei oder vier Subfeatures zusammensetzen. Abbildung 4: Feature mit zwei Gruppen von OR-Features Besteht F1 aus zwei Subfeatures, ergeben sich vier Möglichkeiten: (S1, S3), (S1,S4), (S2,S3), (S2,S4). Setzt sich F1 aus drei Subfeatures zusammen, gibt es folgende Möglichkeiten: (S1, S2, S3), (S1, S2, S4), (S1, S3, S4), (S2, S3, S4). Vereint F1 vier Features unter sich, ergibt sich nur noch die Möglichkeit: (S1, S2, S3, S4). Ingesamt ergeben sich neun mögliche Zusammensetzungen von F1. Im folgenden Bild setzt sich das Feature F2 nur aus zwei Subfeatures zusammen, da entweder S1 oder S2 und entweder S3 oder S4 Bestandteil von F2 sind:
8 Abbildung 5: Feature mit zwei Gruppen von alternative features S1 und S2 sind alternative features. Die möglichen Zusammensetzungen von F2 entsprechen den oben genannten Zusammensetzungen von F1 aus zwei Subfeatures. OR-Features können auch mit alternative features ausgedrückt werden. 2.3 Featuremodellierung am Beispiel eines Autos In der folgenden Graphik ist am Beispiel des Konzepts Auto eine Featuremodellierung dargestellt: Abbildung 6: Featuremodellierung des Konzepts Auto
9 Das Auto besteht aus den verpflichtenden Features Motor, Karosserie, Lenkung und Komfort und aus dem optionalen Feature Anhänger. Die Lenkung kann entweder durch ein Schaltgetriebe oder durch eine Automatikschaltung erfolgen, jedoch nicht durch beide Varianten. Das Auto hat entweder einen Benzin- oder einen Elektromotor oder beide Motoren parallel. Bei der Komfortausstattung des Autos kann der Kunde zwischen einem normalen Radio oder einem Radio mit CD player wählen. Das Produkt enthält immer eines der beiden Features. Außerdem hat der Kunde die Wahl zwischen einer einfachen Heizung oder einer Heizung mit Klimaanlage. Das Radio kann Lautsprecher hinten oder vorne oder hinten und vorne gleichzeitig haben. Außerdem kann das Display des Radios die Uhrzeit, den aktuell eingestellten Sender oder beides anzeigen. 2.4 Features und AOP Die Abkürzung AOP steht für aspektorientiert Programmierung. Bei der aspektorientierten Programmierung wird ein Aspekt beim Methodenaufruf in die ursprüngliche Methode quellmethod() eingebunden. Die Stelle, an der der Aspekt eingebunden wird, bezeichnet man als Joint Point. Die folgende aus [Wiki] übernommene Graphik zeigt diesen Ablauf: Abbildung 7: Ablauf Aspektorientierte Programmierung Jede Modellierungstechnik bietet besondere Vorteile. Um jedes Problem so effektiv wie möglich modellieren zu können, bietet sich die Integration verschiedener Modellierungstechniken, besonders der Aspektorientierten und der Featuremodellierung, an. Ein Beispiel dafür die DEMRAL (Domain Engineering Method for Algorithmic Libraries). DEMRAL verbindet vier Modellierungstechniken: Modulare Modellierung (Modular Decomposition) beinhaltet abstract data types (ADTs) und Algorithmen als Konzepte. Aspektorientierte Modellierung (Aspectual Decomposition) wird in DEMRAL zusammen mit der Feature Modellierung angewendet. Jedes Konzept wir in Aspekte zerlegt. Featuremodellierung (Feature Modelling) wird auf jeden Aspekt angewendet.
10 Subjektive Modellierung (Subjective Decomposition) betrachtet das System aus verschiedenen Perspektiven z.b. der Nutzer- oder der Entwicklerperspektive. In DEMRAL wird jedes Konzept C wird als eine Menge von Aspekten modelliert. Die einzelnen Aspekte werden danach aus Features zusammengesetzt. Die folgende Darstellung zeigt diesen Vorgang: Abbildung 8: Features und Aspektorientierte Programmierung Der Entwicklungsprozess ist rekursiv und wird ständig verbessert. Eine genauere Beschreibung von DEMRAL findet man in [Czar] Kapitel 9.
11 3 Einführung in PuLSE 3.1 Was ist PuLSE? Definition PuLSE bedeutet Product Line Software Engineering (PuLSE) und ist eine Methode zur Konzeption und Entwicklung von Produktlinien. PuLSE kann sich einfach an eine vorgegebene Projektumgebung anpassen und ist daher in vielfältigen Projekten einsetzbar. Die Methode umfasst den gesamten Entwicklungszyklus einer Produktlinie Eigenschaften und Entstehung PuLSE zeichnet sich durch folgende Eigenschaften aus: Das Produkt steht im Mittelpunkt. Die einzelnen Komponenten sind leicht anpassbar. Die Modellierung kann schrittweise erweitert werden. Eine ständige Verbesserung ist möglich und erwünscht. Einige grundlegende Entwicklungssituationen sind vordefiniert. Frühere Methoden zur Entwicklung von Produktlinien waren schwer anwendbar und boten keine Unterstützung von Instanzen an. Der Einsatz einer Produktlinie bietet jedoch in vielen Bereichen Vorteile, die in Kapitel eins bereits erläutert wurden. Um die Produktlinienmodellierung zu fördern und populärer zu machen, wurde PuLSE im Jahr 2000 am Fraunhofer IESE entwickelt. PuLSE bietet Lösungen für beide oben genannten Probleme: Es ist einfach anwendbar und unterstützt Instanzen. 3.2 Komponenten von PuLSE Überblick über alle Komponenten Die folgende Darstellung bietet einen Überblick über alle Komponenten von PuLSE: Abbildung 9: Komponenten von PuLSE
12 Links oben sind unter deployment phases alle logischen Abschnitte im Lebenszyklus einer Produktlinie dargestellt. Die einzelnen Abschnitte umfassen die Erschaffung, Benutzung und Weiterentwicklung der Produktlinie. Rechts oben in der Graphik befinden sich unter technical components alle technischen Komponenten, die die unter deployment phases definierten Abschnitte realisieren und mit Inhalt füllen. Die technische Komponente und der unter deployment phases definierte Abschnitt sind jeweils in derselben Farbe dargestellt. In der Graphik werden nur die Abkürzungen der einzelnen Komponenten verwendet. Die vollständigen Namen lauten: BC Eco CDA DSSA I EM Base lining and Customization Economic scoping Customizable Domain Analysis Domain Specific Software Architecture Development Instantiation Evolution and Management Die drei Komponenten unter support components dienen der Unterstützung der anderen Komponenten und der Entwicklungsphasen Deployment Phases Im Folgenden möchte ich einen Überblick über alle Deployment Phases geben: In der Initialisierungsphase ( Initialisation ), in der Graphik rot dargestellt, werden die Projektstruktur und die Organisation der Produktlinie festgelegt. Dazu gehören z.b. Vereinbarungen, ob andere Methoden z.b. KobrA zur Unterstützung von PuLSE verwendet werden. Schon in dieser Phase sollte der Aspekt der Widerverwendbarkeit eine große Rolle spielen. PuLSE-BC realisiert diese Entwicklungsphase. Die Entwicklungsphase Product line infrastructure construction, in der Graphik gelb dargestellt, ist die umfangsreichste im gesamten Entwicklungsprozess, weil in diesem Stadium die Produktlinie entsteht und modelliert wird. Am Ende dieses Prozesses steht die vollständige Produktlinienarchitektur. Bei der Modellierung müssen alle Rahmenbedingungen berücksichtigt werden. Product line infrastructure construction wird durch drei technische Komponenten realisiert: PuLSE-Eco, PuLSE-CDA, PuLSE- DSSA Um ein einzelnes Produkt oder eine einzelne Produktausführung aus einer Produktlinie zu kreieren, benötigt man die Phase Product line infrastructure usage, die in der Graphik grün dargestellt ist. Diese Entwicklungsphase stellt eine wesentliche Verbesserung im Gegensatz zu früheren Methoden zur Produktlinienmodellierung, die meistens keine Instanzenunterstützung vorweisen konnten, dar. PuLSE-I realisiert diese Phase. Product line infrastructure evolution unterstützt alle anderen Komponenten und garantiert die langfristige Nutzung und die ständige Verbesserung und Weiterentwicklung der Produktlinie. Sie wird durch PuLSE-EM, in der Graphik türkis dargestellt, realisiert Technical Components Die folgende Tabelle zeigt einen Überblick über alle technischen Komponenten und ihre Aufgaben. Im Weiteren wird jede Komponente einzeln vorgestellt.
13 Technical component Base lining and customization (BC) Economic scoping (Eco) Customizable domain analysis (CDA) Domain specific software architecture development (DSSA) Instantiation (I) Evolution and management (EM) Aufgaben PuLSE auf die Grundvoraussetzungen der Applikation ausrichten Identifikation, Beschreibung, Binden der Produktlinie Herausfiltern der Anforderungen einer Domain, Betrachten der Domain aus verschiedenen Sichtweisen Entwickeln einer Referenzarchitektur und (optional) eines Prototypen Spezifizieren, Konstruieren und Verifizieren eines Mitgliedes der Produktlinie Unterstützung von PuLSE in allen anderen Entwicklungsphasen Die technischen Komponenten realisieren die Entwicklungsphasen und bilden zusammen eine Kette. Die folgende Graphik zeigt den Zusammenhang zwischen den einzelnen Komponenten: Abbildung 10: Zusammenhang der technischen Komponenten von PuLSE In der oberen Graphik sind alle Komponenten, die zur Initialisierung (Initialisation) gehören, rot, alle Komponenten und Modelle, die zur Infrastructure Construction Phase gehören, gelb, und alle Komponenten und Modelle, die zur Infrastructure Usage Phase gehören, grün dargestellt. Alle Rechtecke beinhalten Komponenten, alle Ellipsen Modelle. Die von den einzelnen Komponenten erstellten Modelle stehen auf den von ihnen wegführenden Pfeilen und werden an alle nachfolgenden Komponenten weitergegeben. Der gestrichelte Pfeil führt zu einem optionalen Modell. PuLSE-BC erhält eine Anforderungsbeschreibung (description), erstellt daraus eine Instanz von PuLSE (instance of PuLSE) und gibt diese an PuLSE-Eco weiter. In der Instanz von PuLSE kann z.b. die Verwendung der KobrA Methode festgelegt sein.
14 In PuLSE-Eco beginnt die eigentliche Modellierung der Produktlinie: Zusätzlich zu der von BC erzeugten Instanz erhält Eco eine Produkttabelle (Product map). Aus diesen Informationen modelliert Eco eine Rahmendefinition (scope definition) und eine genaue Produktbeschreibung (product characteristic information). PuLSE-CDA generiert das Domain und das Domain Decision Model und reicht beide Modelle an PuLSE-DSSA und PuLSE-I weiter. PuLSE-DSSA erzeugt einen optionalen Prototyp und die Architektur der Produktlinie (architecture decision model). PuLSE-I kann mehrfach auf der bestehenden Architektur angewendet werden, um neue Produkte zu erzeugen. Es erstellt ein Mitglied der Produktlinie (member of the product line). PuLSE-Eco, PuLSE-CDA und PuLSE-DSSA werden in den folgenden Kapiteln genauer beschrieben PuLSE-Eco Ein Resultat von PuLSE-Eco ist die Produktbeschreibung (product characteristic information), die ich hier an einem Beispiel kurz vorstellen möchte. In unserem Beispiel betrachten wir das Getriebe und die Kommunikation in einem Auto. Die folgende Tabelle zeigt die Produktbeschreibung unseres Autos: Area Feature NT Getriebe Kommunikation Cars Schaltung X X Automatik Radio normal X X Radio mit CD player Satellitennavigation X X Die erste Spalte beinhaltet die einzelnen Bereiche des Autos (Area) und stellt eine grobe Einteilung dar. In der zweiten Spalte wird die Einteilung verfeinert. Hier stehen alle Features, die zum jeweiligen Bereich gehören. Die Bezeichnung NT in der dritten Spalte steht für Not Typical (ungebräuchlich). Kann ein Feature eventuell auch in einem anderen Bereich (Area) eingeordnet werden, trägt diese Spalte ein Kreuz. Das Feature Satellitennavigation in unserem Beispiel könnte man auch in einem eigenen Bereich einordnen. In der vierten und fünften Spalte stehen zwei Produkte A und B der Produktlinie. Kann ein Produkt ein bestimmtes Feature enthalten, steht in der Tabelle ein Kreuz. Ansonsten steht in der Tabelle ein leeres Feld. In unserem Beispiel enthält das Auto A die möglichen Features Schaltung, Automatik und Radio normal. Das Auto B kann nur mit Schaltung und nicht mit Automatik geliefert werden. Dafür kann B ein normales Radio, ein Radio mit CD player und ein Satellitennavigationssystem enthalten. Weitere Beispiele für PuLSE-Eco findet man in der GoPhone Case Study [Muth1] PuLSE-CDA PuLSE-CDA kann durch die KobrA Methode, die in Kapitel drei vorgestellt wird, unterstützt werden. CDA erzeugt ein Domain und ein Domain Decision Model. Ein Beispiel für ein Domain Decision Model möchte ich hier kurz vorstellen. Der folgende Prozessgraph enthält den Variation Point CD player. A X B X
15 Music Radio <<variant>> CD player Das dazugehörige Decision Model wird als Tabelle dargestellt: ID Question Variation Point Resolution Effect 1 Process CD player supported? CD player yes no Remove stereotype <<variant>> Remove Process CD player Die erste Spalte enthält eine Nummer (ID) für jeden Variation Point. In der dritten Spalte steht der Variation Point, ein kurzer Name, der die Entscheidungsmöglichkeit charakterisiert und durch die Frage (Question) in der zweiten Spalte genauer definiert wird. Das Feld Resolution hat nur zwei mögliche Einträge: yes oder no. Effect beschreibt die Handlung, die auf eine bestimmte Entscheidung (Resolution) folgt. In unserem Beispiel ergibt sich der linke Prozessgraph, wenn der Variation Point unterstützt wird d.h. in der Spalte Resolution yes steht, und der rechte Prozessgraph, wenn als Entscheidung (Resolution) no festgelegt wurde: Music Music Radio CD player Radio Das Tool Diversity / CDA unterstützt den Entwicklungsprozess von PuLSE-CDA. Die folgende Abbildung wurde aus [Bayer2] entnommen und zeigt den Zusammenhang zwischen PuLSE und anderen Komponenten: Abbildung 11: Ablauf von PuLSE-CDA
16 PuLSE-CDA hat drei Hauptaufgaben: refine scope definition, elicit raw domain knowledge und model domain knowledge. Refine scope definition legt die Grenze der Produktlinie fest. Im zweiten Schritt elicit raw domain knowledge sammelt man das gesamte über die einzelnen Produkte und die Produktlinie vorhandene Wissen. Die gesammelte Information wird unstrukturiert festgehalten (raw work products). Im dritten und letzten Schritt model domain knowledge wird die nicht strukturierte Information modelliert (model domain knowledge) und es entstehen das domain model und das domain decision model. Werden der bei Modellierung zusätzliche, bisher nicht berücksichtigte Informationen benötigt, beginnt man wieder bei Schritt zwei. PuLSE-EM sendet Aufträge (tasks) an CDA, die CDA bei der Modellierung berücksichtigt muss, und CDA kann Änderungsanforderungen für andere Komponenten (change requests) an EM senden. Der genaue Zusammenhang zwischen CDA und EM wird in Kapitel beschrieben. Eine genaue Beschreibung von PuLSE-CDA findet man unter [Bayer2] PuLSE-DSSA Auch PuLSE-DSSA kann durch die in Kapitel drei beschriebene KobrA Methode unterstützt werden. Die folgende Graphik zeigt stark vereinfacht den Ablauf von PuLSE-DSSA: Abbildung 12: Ablauf von PuLSE-DSSA Alle Ellipsen in der Graphik enthalten Modelle, alle Rechtecke Prozesse.
17 Als Eingabe erhält DSSA die scope definition aus Eco und das domain decision model und das domain model aus CDA. Aus dem domain model erzeugt DSSA Szenarios, die mögliche Abläufe im System beschreiben (create scenarios). Die entstandenen Szenarios werden anschließend nach ihrer Relevanz für die korrekte Funktion des Systems geordnet (select scenarios with highest significance). Als Informationsquelle dient dabei die scope definition. Beginnend mit dem wichtigsten Szenario werden nun alle Szenarien nacheinander ins System integriert (apply scenario to architecture). Bei der Anwendung eines Szenarios auf das System wird dafür gesorgt, dass alle vorher ins System integrierten Szenarien ihre Gültigkeit behalten. Wenn alle Szenarien auf das System angewendet wurden, steht das architecture decision model. Die konkrete Anwendung von PuLSE-DSSA und PuLSE-CDA hängt davon ab, welche weiteren Methoden z.b. KobrA verwendet werden. Eine genauere Beschreibung von PuLSE-DSSA findet man unter [Anas1] PuLSE-EM PuLSE-EM hat drei Aufgaben: Evolution, Management und Learning. EM steht zwischen allen anderen Komponenten und hat den Überblick über alle Bereiche. Evolution beinhaltet die Verbesserung aller Komponenten im laufenden Entwicklungsprozess. PuLSE- EM kann als eine Art Koordinator für alle anderen Komponenten verstanden werden. Die folgende Graphik zeigt die Beziehung zwischen EM und allen anderen Komponenten: BC Eco Information (evolution) EM task (evolution) I CDA DSSA change request Abbildung 13: Evolution und Management bei PuLSE-EM Beim Evolution Prozess übergeben alle anderen Komponenten ihre Ergebnisse und Informationen an EM. Dieser Vorgang wird durch die durchgängigen schwarzen Pfeile dargestellt. EM vergleicht alle Ergebnisse miteinander und erkennt sich widersprechende Modellierungen und Aussagen. In PuLSE- EM werden sinnvolle Änderungen zur Behebung von Unstimmigkeiten erarbeitet und an die betroffenen Komponenten zur Umsetzung weitergeleitet. Die roten Pfeile stellen diesen Vorgang dar. Beim Management werden von anderen Komponenten empfangene change requests bearbeitet. Ist der Änderungsvorschlag sinnvoll, wird er an die zuständige Komponenten weitergeleitet. Die gestrichelten Pfeile charakterisieren diesen Ablauf. Learning ist ein theoretisch unendlicher Prozess, der in der folgenden Abbildung dargestellt ist:
18 Abbildung 14: Learning bei PuLSE-EM Auf der linken Seite steht die eigentliche Entwicklung, die ihre Ergebnisse an die rechte Optimierungsseite, die von EM realisiert wird, weitergibt. Die von EM vorgeschlagenen Verbesserungen erhält die linke Seite und der Vorgang startet erneut Support Components Die Support Komponente Project Entry Points stellt Startpunkte für einige Standartsituationen bereit und realisiert damit einige grundlegende vordefinierte Entwicklungssituationen, die in Kapitel bereits als entscheidender Vorteil von PuLSE vorgestellt wurden. Maturity Scale beinhaltet das Qualitätsmanagement von PuLSE. Sie erkennt und verbessert Schwachpunkte. Vorschläge für die betriebliche Organisationsstruktur bei einem Einsatz von PuLSE findet man unter Organizational Issues.
19 4 Überblick über KobrA 4.1 Definition und Eigenschaften KobrA ist eine Modellierungsmethode, die Text basierte, UML basierte und graphische Modelle verwendet. Der Entwicklungsprozess der KobrA Methode ist rekursiv: Aus einem vorherigen Entwicklungsschritt wird ein nachfolgender Entwicklungsschritt generiert. Stellt man im nachfolgenden Entwicklungsschritt fest, dass der vorherige Entwicklungsschritt die Anforderungen nicht oder nicht optimal erfüllt, werden beide Entwicklungsschritte weiter verbessert. Dieser Prozess kann theoretisch unendlich lange laufen. Die KobrA Methode modelliert die gegebenen Anforderungen so konkret wie möglich und trennt strikt zwischen Prozessen und Produkten. 4.2 Bezug zu PuLSE Die KobrA Methode stellt eine Objekt orientiert Anwendung von PuLSE dar. Jede Entwicklungsphase von PuLSE kann mit einer KobrA activity modelliert werden. Die folgende Tabelle zeigt die Zusammenhänge zwischen Entwicklungsphasen von PuLSE und KobrA Aktivitäten: PuLSE development phase Infrastructure construction phase KorbA activity Framework engineering activity Infrastructure usage phase Application engineering activity Product line evolution phase Maintenance of frameworks and applications 4.3 Activities KobrA einhält die beiden Aktivitäten Framework Engineering und Applikation Engineering. Zuerst wird mit Hilfe des Framework Engineering die Produktlinie modelliert. Diese Aktivität ist mit dem als Domain Engineering bezeichneten Prozess in Kapitel 1.1 vergleichbar. Danach erhält das Applikation Engineering die Resultate des Framework Engineering und erzeugt daraus ein konkretes Produkt. Das Applikation Engineering ist mit dem Product Engineering genannten Prozess in Kapitel 1.1 vergleichbar Framework engineering Die folgende Graphik stellt alle Bestandteile des Framework Engineering dar:
20 Abbildung 15: Modelle beim Framework Engineering in KobrA Alle in der Graphik enthaltenen UML Modelle sind grün dargestellt. Die gestrichelten Pfeile führen zu optionalen Bestandteilen. Beim Framework Engineering werden zuerst einzelne Komponenten, die miteinander in Beziehung stehen, gebildet. Die Context Realisation setzt die Rahmenbedingungen für das Framework. Ihre genaue Struktur hängt vom einzelnen Projekt ab und ist in KobrA nicht fest vorgegeben. Die einzelnen Komponenten sind in einer baumartigen Struktur organisiert. Für jede Komponenten werden danach ihre Spezifikation und ihre Realisation modelliert. Die Spezifikation beinhaltet alle extern sichtbaren Funktionen der Komponente, die Realisation beschreibt die interne Realisierung der Komponente. Um die Graphik übersichtlich zu gestalten wurden die Spezifikation und die Realisation nur für die Komponente zwei dargestellt. Die Spezifikation besteht aus vier Modellen, die in der obigen Graphik blau dargestellt sind: Das Decision Model stellt die verschiedenen Varianten der Komponente dar. Das Structural Model beschreibt in welchem Zusammenhang die Komponente zu anderen Komponenten steht und beinhaltet ein UML Klassendiagramm und optional ein UML Object Diagram. Das Behavioural Model beschreibt die Reaktion der Komponente auf externe Aufrufe und setzt sich aus mehreren UML Statecharts Diagrammen und einer optionalen Event Map zusammen. Das Functional Model beinhaltet die externen Effekte nach dem Aufruf einer Operation, die die Komponente zur Verfügung stellt, und setzt sich aus mehreren UML operation schemata zusammen. Die Spezifikation wird vom Decision Model über das Structural und Behavioural Model bis hin zum Functional Model immer weiter verfeinert.
21 Die Realisation setzt sich aus dem Decision Model, den Activity Diagrams, den Interaction Models und dem Structural Model zusammen. Alle genannten Modelle sind in der obigen Graphik rot dargestellt. Das Decision Model wurde bereits oben beschrieben. Die Activity Diagrams bilden einen Übergang zwischen den Functional Models der Spezifikation, d.h. den Operation Schemata, und den Interaction Models. Für jede Operation Schemata wird ein Activity Diagram erstellt. Die Interaction Models beschreiben die Kommunikation von Objektgruppen zur Laufzeit. Ein Interaction Model ist entweder ein UML Collaboration Model oder ein UML Sequence Diagram. Das Structural Diagram beinhaltet die Architektur der Komponente und wird durch mehrere UML Klassen- und Objektdiagramme realisiert. Die Komponentenrealisation dient der Erzeugung von Unterklassen und deren Modellierung Application engineering Ziel des Application Engineering ist es ein Produkt zu erstellen, das die Wünsche des Kunden voll befriedigt. Das Application Engineering erfolgt, wenn das Framework Engineering bereits abgeschlossen wurde. Die folgende Graphik zeigt den Ablauf des Application Engineering in KobrA: Abbildung 16: Application Engineering bei KobrA Das Application Engineering kann in zwei Stufen unterteilt werden: die Application Context Realisation, in der Graphik gelb dargestellt, und die Framework Instantiation, in der Graphik grün dargestellt. Der Kunde (Customer) und ein Firmenmitarbeiter im technischen Vertrieb oder in der Kundenberatung (Consultant) legen im gemeinsamen Gespräch die Anforderungen für das Produkt fest. Der Mitarbeiter instanziiert anhand der Kundenentscheidungen das Framework (instantiate framework) und integriert neue Anforderungen (integrate new requirements). Am Ende legt der Vertriebsmitarbeiter die im Framework notwendigen Entscheidungen (Context Decisions) fest. Treten dabei Probleme auf, erfolgt eine erneute Absprache mit dem Kunden. Probleme können zum Beispiel Konflikte zwischen verschiedenen Anforderungen sein. Die Entwickler (Developer) erhalten die festgelegten Entscheidungen und passen danach die Basissoftware an. Der Kunde kann auch völlig neue Features bestellen, wenn für seine Anforderungen keine andere Lösung gefunden werden kann. Diese Features werden ebenfalls von den Entwicklern umgesetzt. Am Ende steht das fertige vom Kunden gewünschte Produkt (concrete realisation).
22 5 Aktueller Einsatz PuLSE wird sowohl in der Industrie als auch in der Wissenschaft und Forschung eingesetzt. In der Industrie wurde bei der maxess systemhaus GmbH ein Warewirtschaftssystem, das WWS 2000 genannt wird, modelliert. Sechs kleineren und mittleren Unternehmen setzten PuLSE ein, um ihre Softwarepalette auszudehnen. Auch RAMSIS, ein von der tecmath AG entwickeltes Simulationssystem für den menschlichen Körper, wurde mit PuLSE modelliert. Mit dem 3D-CDA-Werkzeug RAMSIS können Cockpitumgebungen und Fahrzeuginnenräume ergonomisch gestaltet werden. [RAM] Über PuLSE wurden viele wissenschaftliche Arbeiten verfasst. Die meiste Literatur findet man beim Fraunhofer IESE, die PuLSE auch entwickelt haben. PuLSE wird weiterentwickelt und ständig verbessert. Ein aktuelles Forschungsprojekt über PuLSE ist ESAPS, Café, ein europäisches Verbundprojekt. Unter [Cafe] findet man weitere Informationen. In der GoPhone Case Study wird die PulSE Methode an einem fiktiven Beispiel eines Mobilfunkanbieters angewendet. In der Quelle [Muth1] wird die GoPhone Case Study, ein abgeschlossenes Forschungsprojekt, beschrieben. Information zur aktuellen Forschung und zu Ansprechpartnern findet man auf der Website des Fraunhofer Institutes [Fraun] und im PuLSE Flyer [Muth2].
23 6 Literatur [Anas1] Michalis Anastasopoulos, Joachim Bayer, Oliver Flege, Cristina Gacek, A Process for Product Line Architecture Creation and Evaluation, PuLSE-DSSA Version 2.0, IESE-Report No /E, Version 1.0, Fraunhofer IESE, Kaiserslautern, [Bayer1] Joachim Bayer, Oliver Flege, Peter Knauber, Roland Laqua, Dirk Muthig, Klaus Schmid, Tanya Widen, Jean-Marc DeBaud, PuLSE: A Methodology to Develop Software Product Lines, Fraunhofer IESE, Kaiserslautern, 05 / [Bayer2] Joachim Bayer, Dirk Muthig, Tanya Widen, Customizable Domain Analysis, Fraunhofer IESE, Kaiserslautern, 09/1999. [Cafe] [Czar] [Fraun] [Mar] [Muth1] [Muth2] [RAM] Homepage des Café Projektes, [aufgerufen am ] Krzysztof Czarnecki, Generative Programming, principles and techniques of software engineering based on automated configuration and fragment-based component models, Ilmenau, 1998 Fraunhofer Institut Experimentelles Software Engineering, Product & Services: PuLSE, URL: [aufgerufen am ] Market Maker Software AG, i*-product Line, kurzer Film zum Thema Produktlinien, URL: [aufgerufen am ] Dirk Muthig, Isabel John, Michalis Anastasopoulos, Thomas Forster, Jörg Dörr, Klaus Schmid, GoPhone A Software Product Line in the Mobile Phone Domain, IESE-Report No /E, Version 1.0, Fraunhofer IESE, Kaiserslautern, Dr. Dirk Muthig, PuLSE Product Lines for Software Systems, PuLSE Flyer, Kaiserslautern, 03/2003 RAMSIS, 3D-CAD-Ergonomiewerkzeug, Human Solutions, Kaiserslautern, URL: [aufgerufen am ] [Reiser] Mark-Oliver Reiser, Vorlesungsfolien, [Soft] [Wiki] Software Engineering Kompetenzzentrum, Stichwort: PuLSE, URL: [aufgerufen am ] Wikipedia, Die freie Enzyklopädie, Stichwort: AOP, URL: [aufgerufen am ].
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrSchulungsunterlagen zur Version 3.3
Schulungsunterlagen zur Version 3.3 Versenden und Empfangen von Veranstaltungen im CMS-System Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02 2 75 Fax (09 51) 5 02 2 71 Mobil (01 79) 3 22 09 33
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrS TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E
S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat
MehrArgelander Institut für Astronomie. Persönliche Website
Argelander Institut für Astronomie Persönliche Website Zunächst loggt man sich auf www.astro.uni-bonn.de/typo3 mit seinem AIfA Zugang ein. Nach erfolgreichem Login befindet man sich im Backend des TYPO3
Mehr1. Einführung. 2. Die Abschlagsdefinition
1. Einführung orgamax bietet die Möglichkeit, Abschlagszahlungen (oder auch Akontozahlungen) zu erstellen. Die Erstellung der Abschlagsrechnung beginnt dabei immer im Auftrag, in dem Höhe und Anzahl der
MehrAnwendungshinweise zur Anwendung der Soziometrie
Anwendungshinweise zur Anwendung der Soziometrie Einführung Die Soziometrie ist ein Verfahren, welches sich besonders gut dafür eignet, Beziehungen zwischen Mitgliedern einer Gruppe darzustellen. Das Verfahren
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrFacebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten
Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrInhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...
Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
Mehr:: Anleitung Hosting Server 1cloud.ch ::
:: one source ag :: Technopark Luzern :: D4 Platz 4 :: CH-6039 Root-Längenbold LU :: :: Fon +41 41 451 01 11 :: Fax +41 41 451 01 09 :: info@one-source.ch :: www.one-source.ch :: :: Anleitung Hosting Server
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrAnwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:
Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
MehrPlugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21
Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1
MehrJede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.
Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,
MehrSoftwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek
MehrSoftwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek
MehrPersönliches Adressbuch
Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN
MehrInhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters
Erste Schritte Wir heißen Sie herzlich willkommen im Newslettersystem der Euroweb Internet GmbH. Hier erfahren Sie die grundlegendsten Informationen, die Sie zur Erstellung und zum Versand eines Newsletters
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrAnleitung öffentlicher Zugang einrichten
TRK-DashBoard Anleitung öffentlicher Zugang einrichten Manual für Kunden VERSION DATUM AUTOR DATEINAME 1.0 8. SEPTEMBER 2011 HRR ANLEITUNG_OEFFENTLICHER_ZUGANG_DASHBOARD_V10 INHALT 1 ALLGEMEINE INFORMATIONEN...
MehrComparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
MehrBSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015
1 BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 Installation Um den Support der BSV zu nutzen benötigen Sie die SMP-Software. Diese können Sie direkt unter der URL http://62.153.93.110/smp/smp.publish.html
MehrWas ist neu in Sage CRM 6.1
Was ist neu in Sage CRM 6.1 Was ist neu in Sage CRM 6.1 In dieser Präsentation werden wir Sie auf eine Entdeckungstour mitnehmen, auf der folgende neue und verbesserte Funktionen von Sage CRM 6.1 auf Basis
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrIntegration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.
Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung
MehrDer Kalender im ipad
Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrGenerelle Einstellungen
Wie in fast jedem Programm sind auch in work4all ganz grundlegende Einstellungen und Programm- Anpassungen möglich. In diesem Kapitel gehen wir auf die verschiedenen Konfigurationsmöglichkeiten innerhalb
MehrIN-OUT WEB ONLINE KALKULATIONS- UND BESTELLPROGRAMM BEDIENUNGSANLEITUNG
IN-OUT WEB ONLINE KALKULATIONS- UND BESTELLPROGRAMM BEDIENUNGSANLEITUNG 1. Anmeldung Das Programm ist ein Online-Programm. Schreiben Sie den folgenden Link in Ihrem Browser ein: webkalkulator.eu/inoutweb,
Mehr2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag
1. Einführung Manchmal ist es notwendig, dem Kunden eine Gutschrift zu einer bestimmten Rechnung, über einzelne Positionen oder auch völlig frei von einer Basis-Rechnung zu erstellen. Die verschiedenen
MehrLieber SPAMRobin -Kunde!
Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen
MehrBlumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends
Kurzanleitung für Google Keyword Planer + Google Trends Der Google Keyword Planer Mit dem Keyword Planer kann man sehen, wieviele Leute, in welchen Regionen und Orten nach welchen Begriffen bei Google
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrEinen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen
Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen 1 Hier einige Links zu Dokumentationen im WEB Windows XP: http://www.verbraucher-sicher-online.de/node/18
MehrAnleitung BFV-Widget-Generator
Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrSoftwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für
MehrSchritt 1 - Registrierung und Anmeldung
Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten
MehrZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule
ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven
MehrHin zum perfekten Preis
Hin zum perfekten Preis Ein Blick auf den Preis entscheidet oft darüber, ob ein Besucher Ihres Inserats sich weiterhin für Ihr Angebot interessiert oder nicht. Entscheidend ist nicht nur die Höhe der angegebenen
MehrMediumwechsel - VR-NetWorld Software
Mediumwechsel - VR-NetWorld Software Die personalisierte VR-NetWorld-Card wird mit einem festen Laufzeitende ausgeliefert. Am Ende der Laufzeit müssen Sie die bestehende VR-NetWorld-Card gegen eine neue
MehrHinweise zum Ausfüllen der Zeiterfassung
Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Mehr4.1 Download der App über den Play Store
4 4.1 Download der App über den Play Store Die App TopSec Phone kann über den Play Store auf dem Smartphone oder über das Internet an Ihrem Computer heruntergeladen werden. Um Inhalte laden zu können,
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrAnleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten
Anleitung zum Login über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Stand: 18.Dezember 2013 1. Was ist der Mediteam-Login? Alle Mediteam-Mitglieder können kostenfrei einen Login beantragen.
MehrSoftwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 3 Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online
MehrKurzeinführung Excel2App. Version 1.0.0
Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig
MehrHANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG
it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrRT Request Tracker. Benutzerhandbuch V2.0. Inhalte
RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4
MehrHandbuch zum Excel Formular Editor
Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei
MehrFeiertage in Marvin hinterlegen
von 6 Goecom GmbH & Co KG Marvin How to's Feiertage in Marvin hinterlegen Feiertage spielen in Marvin an einer Reihe von Stellen eine nicht unerhebliche Rolle. Daher ist es wichtig, zum Einen zu hinterlegen,
MehrSICHERN DER FAVORITEN
Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich
MehrProjektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:
Projektmanagement Link http://promana.edulearning.at/projektleitung.html Einleitung Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Definition des Begriffs Projekt" Kriterien
MehrIDS-Connect Warenkorbaustausch mit dem Großhandel Kurzbeschreibung
PN Handwerk IDS-Connect Warenkorbaustausch mit dem Großhandel Kurzbeschreibung PN Software Inhalt IDS-CONNECT... 3 Folgende Funktionen werden unterstützt:... 3 Einstellungen... 3 Artikel-Info... 8 Warenkorb
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrKURZANLEITUNG CLOUD OBJECT STORAGE
KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05
MehrErklärung zum Internet-Bestellschein
Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
MehrAccess 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA
Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrAnleitung für den Euroweb-Newsletter
1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf
MehrHandbuch B4000+ Preset Manager
Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
MehrPflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?
Connext GmbH Balhorner Feld 11 D-33106 Paderborn FON +49 5251 771-150 FAX +49 5251 771-350 hotline@connext.de www.connext.de Pflegeberichtseintrag erfassen Produkt(e): Vivendi Mobil Kategorie: Allgemein
MehrNach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:
Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen
MehrWordPress. Dokumentation
WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrKurzleitfaden für Schüler
Wie melde ich mich in Schüler Online an? Geben Sie folgenden Link ein: www.schueleranmeldung.de Sie erhalten folgende Anmeldemaske: Mustermann Frank 31.05.1994 Nimmt Ihre Schule nicht an Schüler Online
MehrOutlook Vorlagen/Templates
Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer
MehrSEPA-Anleitung zum Release 3.09
Hier folgt nun eine kurze Information was sich mit dem neuen Release 3.08 zum Thema SEPA alles ändert. Bitte diese Anleitung sorgfältig lesen, damit bei der Umsetzung keine Fragen aufkommen. Bitte vor
MehrKleines Handbuch zur Fotogalerie der Pixel AG
1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link
MehrTipps & Tricks Neuerungen Nr. 5/ 2015. Externe Web-Shops im UniKat für Laborverbrauchsmaterial & Chemikalien
Tipps & Tricks Neuerungen Nr. 5/ 2015 V01 08-06-2015 Externe Web-Shops im UniKat für Laborverbrauchsmaterial & Chemikalien Inhalt Einleitung... 2 Externe Web-Shops auswählen... 3 Artikelsuche und Artikelauswahl...
MehrSRM - Ausschreibung (Lieferant)
Inhalt 0. Systemlandschaft 2 1. Benachrichtigung über neue Ausschreibungen 2 2. Anmeldung am Lieferantenportal 2 3. Ausschreibung bearbeiten 3 3.1 Übersicht über alle Ausschreibungen 3 3.2 Teilnahme avisieren
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,
Mehr12. Dokumente Speichern und Drucken
12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten
MehrEinleitung. Für wen ist dieses Buch
i Willkommen! Dieses Buch aus der Reihe Schritt für Schritt wurde so konzipiert, dass Sie mit dem Buch leicht und einfach die wesentlichen Aspekte beim Einsatz von vier der Microsoft Office 2016- Apps
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrNetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets
Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen
MehrStammdatenanlage über den Einrichtungsassistenten
Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste
Mehr