Technical White Paper Variantenmanagement mit pure::variants

Größe: px
Ab Seite anzeigen:

Download "Technical White Paper Variantenmanagement mit pure::variants"

Transkript

1 Technical White Paper Variantenmanagement mit pure::variants pure-systems GmbH Copyright pure-systems GmbH Agnetenstr Magdeburg

2 Inhaltsverzeichnis 1 Einleitung pure::variants Technologie pure::variants-unterstütztes Entwickeln mit Varianten Variantenbildung mit pure::variants pure::variants Merkmalmodelle pure::variants Familienmodell Module Produkte Developer Edition Integration Edition Server Edition Erweiterungsmodule Zusammenfassung

3 Einleitung 1 Einleitung Die pure::variants Technologie bietet die umfassendste und flexibelste verfügbare Technologie zum Variantenmanagement. Eigenschaften wie die durchgängige Werkzeugunterstützung aller Schritte in der Softwareentwicklung, die hervorragende Integrationsfähigkeit und Anpassungsfähigkeit erlauben es, in nahezu allen Bereichen der Softwareentwicklung von den Vorzügen der Produktlinienbasierten Softwareentwicklung zu profitieren. Insbesondere die auf die besonderen Interessen der Softwareentwicklung für eingebettete Systeme abgestimmten Module erlauben eine bisher noch nicht mögliche Kombination von Flexibilität mit einem Höchstmaß an Ressourceneffizienz. 2 pure::variants Technologie Die Basistechnologie pure::variants verfügt über alle Eigenschaften, die für eine erfolgreiche, werkzeuggestützte Entwicklung und Realisierung von Produktlinien erforderlich sind. Sie ist durchgängig während aller Phasen der Entwicklung, angefangen bei der Anforderungsanalyse und dem Softwaredesign, über die Implementierung bis hin zur Erstellung, Testen, Nutzung und Wartung einsetzbar. Alle grundlegenden Mechanismen sind unabhängig von Programmiersprachen. Abbildung 1: pure::variants Integrationsmöglichkeiten Die pure::variants Technologie verfügt über herausragende Integrationsfähigkeiten. Sie kann leicht in bestehende Entwicklungsprozesse und -umgebungen eingebunden werden (Abbildung 1). Durch die Kopplung mit unterschiedlichen, bereits beim Anwender vorhandenen Werkzeugen zum Configuration Management, Requirements Engineering, Modellierung und Testen ergibt sich eine einheitliche Lösung. Die Anbindung an beliebige Werkzeuge ist durch das XML-basierte Austauschformat jederzeit möglich. Durch den Import bestehender Softwareprojekte ist der Einstiegsaufwand gering. Für spezifische Anforderungen ist pure::variants durch Integration zusätzlicher Module flexibel erweiterbar. Dabei haben alle Module vollständigen Zugriff auf das Variantenwissen. 3

4 pure::variants Technologie Das flexible Grundgerüst erlaubt die Verwaltung und Auswertung aller für eine Produktlinie relevanter Informationen, wie z.b. Dokumentation, Quelltext, Abhängigkeiten, und Testergebnisse. Dem Benutzer können unterschiedliche Sichten auf diese Informationen präsentiert werden. Dies ermöglicht eine Anpassung der Visualisierung entsprechend der organisatorischen Struktur (Entwickler, Projektleiter, Vertrieb, Kunde). Gerade die Durchgängigkeit, die hohe Integrationsfähigkeit und die flexible Erweiterbarkeit der pure::variants Technologie ist als einzigartig anzusehen. 3 pure::variants-unterstütztes Entwickeln mit Varianten Die Nutzung der auf pure::variants basierenden Werkzeuge (zu Produkten siehe Kapitel 5) erfolgt in verschiedenen Phasen des Softwareentwicklungsprozesses. Bei der Entwicklung von Produktlinien teilt sich die Entwicklung in 2 Abschnitte, zum einen die Entwicklung der gemeinsamen Anteile und zum anderen in der nachfolgenden Ableitung der einzelnen Produkte aus der Produktlinie. Der prinzipielle Ablauf einer solchen Entwicklung wird im folgenden dargestellt, beginnend mit der Erstellung der gemeinsamen Anteile: 1. Analyse der Anforderungen: Basierend auf einer inhaltlichen Analyse der umzusetzenden Anforderungen werden Merkmalmodelle (engl. feature models, siehe auch Abschnitt 4.1) entworfen, in denen insbesondere die Abhängigkeiten der einzelnen Merkmale der Produktlinie untereinander erfasst werden. Merkmalmodelle lassen sich gut grafisch darstellen und sind leicht verständlich. Basierend auf den Erkenntnissen aus der praktischen Anwendung von Merkmalmodellen ist die Ausdrucksmöglichkeit bei pure::variants Merkmalmodellen erheblich erweitert worden. Insbesondere die Unterstützung von Modellhierarchien ermöglicht die unterschiedliche Repräsentation der Probleme abhängig vom Betrachter (Kunde, Entwickler, Vertrieb,...) 2. Entwurf der Lösungen: Ausgehend vom Merkmalmodell und anderen Anforderungen für die einzelnen abzuleitenden Softwaresysteme wird das Design der Softwarelösung(en) durchgeführt. Dabei werden die Elemente der Softwarelösung mit ihren Beziehungen, Einschränkungen und Anforderungen im Familienmodell erfasst und stehen damit einer automatischen Verarbeitung zur Verfügung. Das Familienmodell gliedert sich in mehrere Ebenen. Die oberste Ebene wird durch die sogenannten Komponenten gebildet. Diese repräsentieren jeweils ein oder mehrere funktionale Merkmale der Lösungen. Jede Komponenten setzt sich aus den logischen Bestandteilen der Software zusammen (Klassen, Objekte, Funktionen, Variablen, Dokumentation). Die physischen Bestandteile einer Lösung werden dann in einer weiteren Ebene den logischen zugeordnet. Dies sind sowohl bereits existierende Dateien als auch jeweils 4

5 pure::variants-unterstütztes Entwickeln mit Varianten basierend auf Variantenwissen neu zu erzeugende Dateien oder durchzuführende Aktionen. Im Gegensatz zu den bisherigen Ideen im Bereich Merkmalmodell basierter Techniken setzt die pure::variants Technologie auf eine separate und unabhängige Erfassung und Handhabung der umzusetzenden Anforderungen (Merkmalmodell) und deren Lösungen (Familienmodell). Dies ermöglicht eine vereinfachte Wiederverwendung sowohl der Lösung als auch der Merkmalmodelle in neuen Projekten. 3. Realisierung der Lösungen: Unter Einsatz der durch die gewählten Programmiersprachen und -werkzeuge verfügbaren Programmiermöglichkeiten, und der durch pure::variants zur Verfügung gestellten zusätzlichen Möglichkeiten zur Variantenbildung, werden die Lösungen erstellt. Abbildung 2: Ablauf der Erstellung einer Problemlösung mit pure::variants Während des oben beschriebenen Entwicklungsprozesses dient die pure::variants Technologie zur Erfassung und Verwaltung aller Modelle und Informationen. Das Resultat ist eine auf Basis des Merkmalmodells flexibel anpassbare Softwarefamilie bzw. Produktlinie. Darauf aufbauend ermöglicht pure::variants die automatische Erstellung maßgeschneiderter 5

6 pure::variants-unterstütztes Entwickeln mit Varianten Lösungen eines konkreten Problems. Einen Überblick über diesen Erstellungsprozess gibt Abbildung 2. Die innovativen Aspekte dieses Prozesses sind hinterlegt. Der prinzipielle Ablauf ist: 1. Ermittlung einer gültigen Kombination von Merkmalen: Der Anwender (Kunde, Vertrieb) wählt aus dem Merkmalmodell die für ihn relevanten Merkmale des zu lösenden Problems aus. Die Überprüfung der gewählten Merkmalskombination auf Gültigkeit (d.h. die Untersuchung aller Abhängigkeitsregeln) sowie gegebenenfalls die automatische Auflösung von Abhängigkeitskonflikten erfolgt durch pure::variants unter Einsatz von Methoden und Werkzeugen der künstlichen Intelligenz. Dadurch kann sichergestellt werden, dass auch komplexe Abhängigkeitsszenarien korrekt und effizient umgesetzt werden. Das Ergebnis ist eine Kombination von Merkmalen, die das zu lösende Problem in einer von den Entwicklern der Modelle vorgesehenen Weise beschreibt. 2. Auswahl einer passenden Lösung: Auf der Basis der gewählten Merkmale wird nun das Familienmodell genutzt, um eine passende Lösung zu finden. Anhand der im Familienmodell gespeicherten Informationen wird die ermittelte Merkmalskombination durch jede Komponente und ihre logischen und physischen Bestandteile analysiert. Dies geschieht ebenfalls mit Methoden der künstlichen Intelligenz. Für jeden Bestandteil wird entschieden, ob und in welcher Form er zu der Lösung gehört. Eventuell dabei auftretende Probleme durch weitergehende Abhängigkeiten werden ebenfalls, soweit möglich, automatisch aufgelöst oder dem Anwender zur Lösung übergeben. Das Ergebnis ist eine Beschreibung der ausgewählten Lösung in Form einer Lösungsbeschreibung. 3. Erzeugen der Lösung: Gesteuert durch die Komponentenbeschreibung wird ein Transformationsprozess durchgeführt, dessen Ergebnis die fertige Softwarelösung in der vom Anwender gewünschten Form ist. Im Verlauf dieses Prozesses werden die jeweils notwendigen Transformationsmodule aktiviert und führen die in der Lösungsbeschreibung spezifizierte Umsetzung durch. Nicht nur die Neuerstellung von Produktlinien, sondern insbesondere auch die Einbindung existierender Software (Reengineering) in die Produktlinienbasierte Entwicklung ist mit pure::variants einfach möglich. Dazu beginnt der Prozess statt mit der Entwicklung der gemeinsamen Teile mit der (teil-) automatischen Erstellung des Familienmodells auf der Basis der bereits erstellten Software und mit dem schrittweisen Aufbau des zugehörigen Merkmalmodells durch die Nutzer. Der weitere Ablauf ist dann analog zu der oben skizzierten Vorgehensweise. 6

7 Variantenbildung mit pure::variants 4 Variantenbildung mit pure::variants Die pure::variants Werkzeugkette wurde für die Entwicklung und Erstellung von Software- Produktlinien konzipiert. Sie unterstützt die Verwaltung und Erstellung der unterschiedlichen Varianten einer solchen Produktlinie. Die Basis der Werkzeuge bilden die unterschiedlichen Modelle, welche für die Beschreibung des Problembereiches der Produktlinie, für die Beschreibung der Umsetzung, sowie für die Auswahl eines spezifischen Produktes genutzt werden. Die zentrale Rolle spielen dabei Merkmalmodelle. Sie erlauben eine einheitliche Darstellung der Gemeinsamkeiten und Unterschiede zwischen den Produkten der gesamten Produktlinie. Im Vergleich zu in anderen Methoden genutzten Merkmalmodellen verwendet pure::variants eine erweiterte Variante der Merkmalmodelle. Eine genaue Beschreibung erfolgt im Abschnitt 4.1. Eine spezifische Implementierung der Produktlinie wird durch das Familienmodell beschrieben. Es ermöglicht die Abbildung der Benutzeranforderungen auf Implementierungen variabler Familienelemente. Hierzu gehört ebenfalls die Anpassung von Komponenten für eine bestimmte Anwendung. Dieses Modellart wurde extra für die pure::variants Technologie entwickelt, da existierende Modellierungsmodelle wie UML oder SDL dafür nicht geeignet sind. Das Familienmodell ist in Abschnitt 4.2 im Detail beschrieben. Die Merkmalsauswahl (feature selection) wird zur Beschreibung eines bestimmten Produktes genutzt. Sie beschreibt, welche Eigenschaften und damit verbundene Werte das zu erzeugende Produkt haben soll und wird für die Steuerung der Erzeugung verwendet. Abbildung 3: pure::variants Transformationsprozess Abbildung 3 gibt einen Überblick über den grundlegenden Variantenbildungsprozess mit pure::variants. Sind die unterschiedlichen Modelle erst einmal erstellt, so werden alle weiteren Schritte automatisch durchgeführt. Die Entwickler der Produktlinie sind für das Erstellen des Merkmalmodells sowie der Familienbeschreibung mittels Familienmodell verantwortlich. Die Auswahl der Merkmale erfolgt durch den Benutzer. Dies kann sowohl ein Mensch, als auch ein Werkzeug sein, welches anhand einer Anwendung automatisch die benötigten Merkmale ermittelt. Die Verarbeitung erfolgt dann in zwei Schritten. Zuerst analysiert pure::variants die unterschiedlichen Modelle. Dabei wird ein Konstruktionsplan 7

8 Variantenbildung mit pure::variants erstellt, anhand dessen im zweiten Schritt die angepassten Lösungselemente für das Zielprodukt erzeugt werden. Der wesentliche Unterschied zwischen pure::variants und vergleichbaren Ansätzen besteht darin, daß die in pure::variants verwendeten Modelle nur beschreiben, was zu tun ist, aber nicht wie es zu tun ist. pure::variants stellt nur die benötigten Mechanismen zur Verfügung. Diese können durch den Benutzer einfach entsprechend seinen Bedürfnissen durch (eigene) Module erweitert werden. Damit ist die pure::variants Technologie weder auf einen bestimmten Entwicklungsprozess noch auf eine bestimmte Sprache oder Methode festgelegt, und kann somit in jeden beliebigen Entwicklungsprozess integriert werden. Dieser hohe Grad an Flexibilität wird durch die Kombination zweier sehr leistungsfähiger Sprachen innerhalb pure::variants erreicht. Ein weiterer wichtiger Unterschied liegt innerhalb des Konfigurationsprozesses. Hier kommen neuartige Algorithmen zur Überprüfung der Modelle und Zusammenstellung der Transformationsbeschreibung zum Einsatz. Dabei wird auf die aus dem Bereich der Künstlichen Intelligenz stammende logische Programmiersprache Prolog zurückgegriffen. Nach der Umwandlung der Modelle in sogenannte Prolog-Fakten erfolgt die Prüfung der Auswahl bezüglich Gültigkeit und Vollständigkeit. Im ersten Schritt wird die Korrektheit in Bezug auf das Merkmalmodell geprüft. Anschließend erfolgt die Überprüfung der zusätzlichen Anforderungen, die sich aus dem Familienmodell ergeben. Konflikte, die zum Beispiel durch implizite Abhängigkeiten von Merkmalen und Familienelementen entstehen, werden erkannt. Zur automatischen Auflösung dieser Konflikte kommen durch pure-systems entwickelte heuristische Verfahren zum Einsatz. Bei nicht automatisch lösbaren Problemen werden diese angezeigt und der Konfigurationsvorgang unterbrochen. Ist die Auswahl gültig und vollständig, wird eine Transformationsbeschreibung in XML erzeugt, welche für den weiteren Erstellungsvorgang genutzt wird. Für den Transformationsprozess wurde die XML-basierte Sprache XMLTS entwickelt. Mittels dieser Sprache wird der Anpassungs- bzw. Transformationsprozess durch die Definition der einzelnen durchzuführenden Aktionen beschrieben. Die einzelnen Aktionen werden auf Grundlage der durch den vorherigen Schritt erzeugten Transformationsbeschreibung ausgelöst. Alle Aktionen werden durch Transformationsmodule implementiert. Sind die vordefinierten Transformationen nicht ausreichend, können jederzeit neue Transformationen erstellt und durch die Nutzer integriert werden. In vielen Fällen kann dabei direkt auf XMLTS zur Beschreibung einer neuen Transformation zurückgegriffen werden. Für komplexere Aktionen sind speziell erstellte Module notwendig. Zur Steuerung des Ablaufs der Transformationen können sowohl XMLTS als auch alle Module auf die kompletten Informationen innerhalb von pure::variants zugreifen (Merkmalmodell, Merkmalsauswahl, Familienmodell, Quellen, u.v.m.). Dadurch können Transformationen durchgeführt werden, die mit herkömmlichen Technologien nicht möglich sind, da diese nur begrenzte Informationen über einzelne Elemente einer Softwarelösung haben. 4.1 pure::variants Merkmalmodelle Das Merkmalmodell beinhaltet die Gemeinsamkeiten und Unterschiede der Produktlinie. Dabei repräsentiert ein Merkmal eine für den Benutzer sichtbare Systemeigenschaft. Diese wird 8

9 Variantenbildung mit pure::variants durch die zugehörige Merkmalsbeschreibung näher charakterisiert. Aus dieser Erläuterung muss deutlich erkennbar sein, welche Auswirkungen die Auswahl dieses Merkmales hat. Innerhalb des Modells sind die einzelnen Merkmale in Form eines azyklischen Graphen dargestellt. Die Knoten entsprechen den Merkmalen. Die Kanten beschreiben die Basisbeziehung (zwingend, optional, alternativ, oder) zwischen den einzelnen Merkmalen. Abbildung 4 zeigt die grafische Darstellung eines einfachen Merkmalmodells. Merkmale mit Wertzuweisungen Für die Beschreibung komplexer Probleme ist es erforderlich, dass Werte unterschiedlichen Typs an Merkmale zugewiesen werden können. Die pure::variants Merkmalmodelle unterstützen diesen Sachverhalt, indem jedem Merkmal eine beliebige Anzahl von Attributen (benannte Typ/Wert-Paare) zugewiesen werden kann. Der gespeicherte Wert kann sowohl zur Entscheidungsfindung, als auch während der Transformation genutzt werden. Merkmale mit Restriktionen Abbildung 4: Merkmalmodell Zusätzlich zu den oben genannten Basisbeziehungen zwischen den Merkmalen ermöglicht das pure::variants Modell die Beschreibung von weiteren komplexen Restriktionen zwischen beliebigen Merkmalen. Sie werden durch logische Regeln ausgedrückt und stellen Querverbindungen innerhalb des Graphen dar. Durch diesen flexiblen Mechanismus können Abhängigkeiten der Merkmale wie Konflikte zwischen Merkmalskombinationen oder die implizite Einbeziehung eines weiteren Merkmals einfach dargestellt werden. Hierarchien von Merkmalmodellen Im Unterschied zu anderen Ansätzen die auf Merkmalmodellen beruhen, erlaubt pure::variants den Einsatz von beliebig vielen, miteinander durch Abbildungsvorschriften verbundenen Merkmalmodellen. Alle anderen bekannten Ansätze verwenden lediglich ein einzelnes Merkmalmodell. Die Nutzung mehrerer Merkmalmodelle erlaubt die konsistente Einbindung verschiedener Sichtweisen auf die Gemeinsamkeiten und Unterschiede einer Produktlinie. Dadurch sind zum Beispiel Modelle mit unterschiedlichem Detaillierungsgrad möglich (Kunde: geringer Detaillierungsgrad, Vertrieb: mittlerer Detaillierungsgrad, Entwicklung: maximaler Detaillierungsgrad). Durch die hierarchische Verbindung der verschiedenen Modelle ist in jedem Fall die Konsistenz der Merkmalskombinationen gewahrt. Auch die Kombination von 9

10 Variantenbildung mit pure::variants verschiedenen Produktlinien(-teilen) zu einer neuen Produktlinie kann dadurch vereinfacht werden. Hierzu ist nur ein übergeordnetes Modell zu erstellen, welches Bezug auf die bereits existierenden Modelle der zu integrierenden Produktlinien nimmt. 4.2 pure::variants Familienmodell Das pure::variants Familienmodell beschreibt die interne Struktur der einzelnen Familienelemente einer Produktlinie und ihre Abhängigkeiten von den Merkmalen. Mittels dieser Beschreibung werden die unterschiedlichen Familienelemente an die Merkmale gebunden. Der Begriff Familienelement ist hierbei sehr weit gefasst. Im Sinne von pure::variants umschließt ein Familienelement eine Menge konfigurierbarer Funktionalitäten. Die Abbildung 5 gibt einen Überblick über die hierarchische Struktur des Familienmodells. Abbildung 5: Familienmodell Im folgenden Abschnitt werden die Elemente des Familienmodells kurz vorgestellt: Komponente: Die grundlegenden Elemente im Modell stellen die Komponenten dar. Sie sind eindeutig benannt und bestehen aus mindestens einem Bestandteil (Part), welcher weiterhin durch seine Quellen (Source) definiert ist. Eine Komponente kapselt eine oder mehrere Funktionalitäten, die Merkmale aus dem Merkmalmodell der Produktlinie realisieren. Bestandteil: Ein Bestandteil ist ein benanntes, typisiertes Element, welches genau einer Komponente zugeordnet ist. Es wird durch mindestens eine Quelle definiert. Bestandteile können logische Elemente einer Programmiersprache sein, wie z.b. Klassen, Funktionen oder Objekte. Aber auch jedes sonstige Element der internen oder externen Struktur einer Komponente wird durch ein Bestandteil beschrieben. Hierzu gehören beispielsweise Schnittstellen, Spezifikationen und Grafiken. pure::variants verfügt über eine Reihe vordefinierter Typen (class, object, flag, classalias, variable). Die Einführung weiterer Typen entsprechend den Anforderungen des Nutzers sind jederzeit durch benutzerdefinierte Erweiterungen möglich. Quellen: Die Beschreibung der physischen Repräsentation eines Bestandteils erfolgt mittels seiner Quelle(n). Eine Quelle ist ein getypter Eintrag. Anhand des Typs wird entschieden, welche Transformationsmodule während der Transformation zur Erstellung des Bestandteils auszuführen sind. Eine einfache Aktion eines Transformationsmoduls stellt z.b. das 10

11 Variantenbildung mit pure::variants Kopieren einer Datei an ein spezifiziertes Ziel dar. Es ist ebenso möglich, neue Dateien zu generieren, wie es von den Transformationsmodulen zur Erstellung eines classalias oder flag erfolgt. Durch die Einführung eines neuen Quellentyps können beliebige neue Transformationsmodule mit eigenen Aktionen integriert werden. Alle Elemente des Familienmodells lassen sich mit Restriktionen versehen. Durch diese Restriktionen erfolgt die Bindung an ein Merkmal bzw. eine Kombination von Merkmalen. Es ist damit ebenfalls möglich spezifische Eigenschaften der Implementierung auszudrücken. Zum Beispiel die Unverträglichkeit von zwei Komponenten in bestimmten Merkmalskombinationen. 4.3 Module Die Fähigkeiten der pure::variants Technologie lassen sich mittels verschiedenartiger Module variabel erweitern. Sie kommen an unterschiedlichen Stellen zum Einsatz. Zum einen erweitern Transformationsmodule die ausführbaren Aktionen während der Produkterstellung. Zum anderen dienen integrierende Module zur Anbindung an externe Prozesse und Werkzeuge. Die bereits vorhandenen Module decken folgende Bereiche ab: Modell - und Programmiersprachen Standard Transformation: Bereitstellung typischer Familienelementtypen und zugehöriger Transformationsmuster für gängige Programmiersprachen wie C/C++ und Java. Die Standardtransformation kann durch kundenspezifische Transformationen ergänzt werden. Connector für Simulink: Ermöglicht die Verwaltung von Variabilitätsinformationen für Matlab/Simulink Modelle in Familienmodellen. Integration in Entwicklungsprozesse Transformer für Versionsverwaltungssysteme: Der Transformer bindet existierende Konfigurationsmanagementsysteme in die Lösungstransformation ein. Erst die Integration von Variantenmanagement und Konfigurationsmanagement in eine gemeinsame Lösung erlaubt eine effiziente Zusammenarbeit bei der Entwicklung und Nutzung von komplexer Software in größeren Teams. Synchronizer für Anforderungsmanagement: Klassische Anforderungsmanagementwerkzeuge werden um die Fähigkeit zur Verwaltung von Variabilitätsinformationen in Merkmalmodellen erweitert. pure::variants Merkmalmodelle werden direkt mit den Anforderungen im externen Anforderungsmanagementwerkzeug verbunden. Damit können Varianten von Anforderungsdokumenten schnell erstellt werden und die Merkmalmodelle auch im weiteren Softwaredesign genutzt werden. 11

12 Produkte 5 Produkte Ausgehend von der Basistechnologie ergeben sich unterschiedliche Produkte für verschiedene Einsatzszenarien. 5.1 Developer Edition Die pure::variants Developer Edition dient der Unterstützung der Softwareentwickler bei Entwurf, Erstellung und Einsatz von Softwarefamilien. Sie ermöglicht den Nutzern, die pure::variants Technologie bei der Realisierung von eigenen Softwareprojekten einzusetzen. Sie ist als eigenständiges Werkzeug oder als sogenanntes PlugIn zur nahtlosen Einbindung in integrierte Entwicklungsumgebungen (Eclipse, Rational Software Architect,...) verfügbar und ergänzt damit die anderen Entwicklungswerkzeuge wie CASE Tools, Editoren, Compiler und Debugger. 5.2 Integration Edition Die pure::variants Integration Edition erlaubt es den Kunden die pure::variants Technologie in eigene Softwareprodukte zu integrieren. So kann zum Beispiel die Konfigurierung eines eingebetteten Betriebssystems durch den Kunden mit einem vom Hersteller des Betriebssystems entwickelten Programm auf Basis der Integration Edition realisiert werden. Durch die Nutzung der Integration Edition können Kunden auf eine sonst notwendige komplette Eigenentwicklung im Bereich Variantenmanagement verzichten. Durch die universelle Auslegung der Integration Edition sind alle benötigten Grundfunktionen bereits vorhanden und erprobt. Es ist nur noch die Anpassung der graphischen Oberfläche und des Transformationsablaufs nötig. Damit ergeben sich Qualitätsvorteile und natürlich auch verkürzte Entwicklungszeiten. 5.3 Server Edition Die pure::variants Server Edition ermöglicht eine zentralisierte Verwaltung von Softwareproduktlinien, zum Beispiel in Entwicklungsabteilungen, oder auch den Vertrieb von kundenspezifischen Konfigurationen einer Software über das Internet, ohne dass beim Entwickler/Kunden eine Installation von pure::variants vorhanden sein muss. Ein wesentlicher Effekt beim Einsatz der Server Edition ist die zentralisierte Verwaltung der Varianten in einer Organisation analog zum meist ebenfalls zentralisierten Softwarekonfigurationsmanagement. Dadurch ergeben sich Einsparpotentiale bei den Personalkosten, da eine zentrale Wartung in der Regel günstiger ist als eine dezentrale. Für Vertriebslösungen auf Basis der Server Edition spricht die Möglichkeit, ohne das Risiko von Weitergabe des unternehmensinternen Wissens über die Gesamtstruktur einer Softwarelösung kundenspezifische Lösungen durch den Kunden selbst erstellen zu lassen. Dies kann zu einer Kostenreduktion auf beiden Seiten führen, da einerseits der Kunde selbst sehr genau bestimmen kann, was er wirklich braucht (und bezahlen muss) und andererseits der Betrieb einer Serverlösung sehr kostengünstig ist. 12

13 5.4 Erweiterungsmodule Produkte Die pure::variants Module dienen der flexiblen Erweiterung der verschiedenen pure::variants Editionen um zusätzliche Funktionalitäten. Die Module decken unterschiedliche Bereiche und Aufgaben innerhalb der Softwareentwicklungsprozesse ab. Beispiele für Module sind die Einbindung einer Software Configuration Management Lösung zur Versionsverwaltung oder die Erweiterung der Möglichkeiten zur Umsetzung von Variantenbildung für ausgewählte Programmiersprachen. 6 Zusammenfassung Bei immer kürzer werdenden Innovationszyklen steigt die Anforderung an heutige Softwaresysteme bezüglich ihrer Langlebigkeit stark an. Wesentliche Grundlage für eine lange Lebensdauer von Softwaresystemen ist deren Anpassungsfähigkeit für unvorhergesehene bzw. nicht berücksichtigte (Kunden-)Anforderungen. Ein erfolgversprechender Lösungsansatz sind Produktlinien, bei denen Software nicht nur für ein Produkt, sondern für eine Klasse von Produkten entwickelt wird. Durch die einmalige Erstellung gemeinsamer Anteile (Assets) werden Synergien ausgenutzt, die in klassischen Ansätzen der Softwaretechnik nicht zum Tragen kommen. Damit sich Produktlinien realistisch in der Softwareentwicklung einsetzen lassen, sind Werkzeuge notwendig, die den gesamten Prozess ausgehend vom Entwurf bis hin zur Umsetzung unterstützen. Speziell die effiziente Verwaltung und Realisierung der Variantenbildung innerhalb der gemeinsamen Anteile stellt eine technologische Herausforderung dar. Die pure-systems GmbH unterstützt mit ihren auf der pure::variants-technologie basierenden Variantenmanagement-Werkzeugen diesen Gesamtprozess. 13

Anbindung Borland CaliberRM

Anbindung Borland CaliberRM Anbindung Borland CaliberRM pure::variants - Das Werkzeug Einstieg intergrierbar in bestehende Softwareentwicklungsprozesse unabhängig von der genutzten Programmiersprache Anwendung automatische Auflösung

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 4578954569774981234656895856512457895456977498 3465689585651245789545697749812346568958561245 9545697749812346568958565124578954569774981234 6895856512457895456977498123465689585612457895 6977498123465689585651245789545697749812346568

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Das Open Source Content Management System

Das Open Source Content Management System Das Open Source Content Management System Erweiterbarkeit und Individualisierung visions-marketing Unternehmensberatung Alexander Winkler Postfach 950180 81517 München Tel.+Fax: 089 / 38 90 06 53 Mobil.:

Mehr

ERP-Systemeinsatz bewerten und optimieren

ERP-Systemeinsatz bewerten und optimieren ERP-Systemeinsatz bewerten und optimieren Handlungsfelder zur Optimierung des ERP-Systemeinsatzes ERP-Lösungen werden meist über viele Jahre lang eingesetzt, um die Geschäftsprozesse softwaretechnisch

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Software Product Line Engineering

Software Product Line Engineering Software Product Line Engineering Grundlagen, Variabilität, Organisation Sebastian Steger steger@cs.tu-berlin.de WS 2005/2006 SWT: Entwicklung verteilter eingebetteter Systeme Software Product Line Engineering

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 45789545697749812346568958565124578954569774981 46568958565124578954569774981234656895856124578 45697749812346568958565124578954569774981234656 58565124578954569774981234656895856124578954569 49812346568958565124578954569774981234656895856

Mehr

Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation

Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation WF2Trans Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation Aus unserer langjährigen Erfahrung in Kundenprojekten wissen wir, dass ein klares und eindeutiges

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK DIE METHODE FÜR DEN SOFTWAREENTWURF VERNETZTER MECHATRONISCHER SYSTEME Innovative Funktionen moderner mechatronischer

Mehr

Szenarien DPE Reporting

Szenarien DPE Reporting Szenarien DPE Reporting Das nachfolgende Dokument beschreibt mögliche Szenarien zur Generierung von Reports aus dem Delmia Process Engineer (DPE). 1 Einleitung Der DPE ist eine Lösung zur Prozeßplanung

Mehr

Informationssystemanalyse Use Cases 11 1

Informationssystemanalyse Use Cases 11 1 Informationssystemanalyse Use Cases 11 1 Use Cases Slide 1 Als ein populäres Mittel um Anforderungen zu erfassen und Systeme zu beschreiben, werden Use Cases benutzt. Sie bilden die Basis für eine umfassendere

Mehr

Kunden-, Projekt- und Maschinen-Management

Kunden-, Projekt- und Maschinen-Management Kunden-, Projekt- und Maschinen-Management Der erfolgreiche Einsatz von CRM im Maschinen- und Anlagenbau erfordert eine grundsätzlich andere Sicht als es herkömmliche CRM-Lösungen bieten. Letztere sind

Mehr

IT IS AG präsentiert IT IS activigence, die neue Integrationslösung für Microsoft Dynamics- ERP und SharePoint-Technologien

IT IS AG präsentiert IT IS activigence, die neue Integrationslösung für Microsoft Dynamics- ERP und SharePoint-Technologien IT IS AG präsentiert IT IS activigence, die neue Integrationslösung für Microsoft Dynamics- ERP und SharePoint-Technologien Landshut 09. März 2006: Die IT IS AG startet heute das neue, webbasierte IT IS

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

Entwicklungsprozesse und -werkzeuge

Entwicklungsprozesse und -werkzeuge Entwicklungsprozesse und -werkzeuge Boris Nikolai Konrad boris.konrad@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Entwicklungsprozesse Unterstützungsprozesse Kernprozess Entwicklungswerkzeuge

Mehr

Intelligente Updateverwaltung Inventarisierung von Softwareprodukten Remoteunterstützung, mobile Endgeräte u.v.m.

Intelligente Updateverwaltung Inventarisierung von Softwareprodukten Remoteunterstützung, mobile Endgeräte u.v.m. Mit SCCM* IT-Standardaufgaben noch schneller erledigen *System Center Configuration Manager (SCCM) 2012 SCCM Software und Vollautomatische Installation von Betriebssystemen Intelligente Updateverwaltung

Mehr

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE www.arsnova.de ARS NOVA Technical Workshop, 24. Juni 2004 1 Agenda Motivation und Zielsetzung

Mehr

Neue Funktionen in Innovator 11 R5

Neue Funktionen in Innovator 11 R5 Neue Funktionen in Innovator 11 R5 Innovator for Enterprise Architects, Java Harvester und Prüfassistent 12.11.2013 Agenda 1 2 3 Einführung Was ist neu in Innovator 11 R5? Szenario Enterprise Architektur

Mehr

SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen

SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen SEAL Systems Integrationen für SAP PLM 7 und Web UI Anwendungen Mit SAP PLM 7 und anderen Web UI Anwendungen hat SAP neue Oberflächen für bestehende und neue Funktionalität geschaffen. Diese Anwendungen

Mehr

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- entwicklung von Fahrzeugen Martin Jaensch, Dr. Bernd Hedenetz, Markus Conrath Daimler AG Prof. Dr. Klaus D. Müller-Glaser

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Produktinformation DaVinci Developer

Produktinformation DaVinci Developer Produktinformation DaVinci Developer Inhaltsverzeichnis 1 DaVinci Developer - Entwurf von AUTOSAR Softwarekomponenten... 3 1.1 Die Vorteile von DaVinci Developer im Überblick... 3 1.2 Anwendungsgebiete...

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

do you do it? i-doit OpenSource CMDB Dennis Stücken

do you do it? i-doit OpenSource CMDB Dennis Stücken do you do it? i-doit OpenSource CMDB Dennis Stücken synetics GmbH, 23.04.2009 Agenda Was ist i-doit Was kann i-doit Vorteile Schnittstellen i-doit in der Praxis Aussicht 2 Was ist i-doit? Dokumentationslösung

Mehr

Standard Inhaltsverzeichnis für Software-Anforderungsspezifikation

Standard Inhaltsverzeichnis für Software-Anforderungsspezifikation Standard Inhaltsverzeichnis für Software-Anforderungsspezifikation Inhaltsverzeichnis 1. Zweck, Veranlassung... 1 2. Allgemeines... 1 2.1 Zweck der Software-Anforderungsspezifikation... 1 2.2 Freigabe

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com Eignet sich Eclipse RCP als Enterprise Plattform? Einführung Demos Corporate Governance Asset

Mehr

Modellgetriebene Steuergeräte- Entwicklungsumgebung für Produktlinien

Modellgetriebene Steuergeräte- Entwicklungsumgebung für Produktlinien Modellgetriebene Steuergeräte- Entwicklungsumgebung für Produktlinien Dr. Lars Geyer-Blaumeiser, Robert Bosch GmbH Dr. Lothar Wendehals, itemis AG OOP 2009, München 27.01.2009 1 G2/PJ-PMT 27.01.2009 P08-0288

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

P R O D U K T D A T E N B L A T T

P R O D U K T D A T E N B L A T T CETES P R O D U K T D A T E N B L A T T Komponente Testmanagement Version 1.0 CETES - Produktdatenblatt Testmanagement 1. Technische Anforderungen Rechner für Testmanagement Betriebssysteme: Windows XP

Mehr

Inhaltsverzeichnis. 1 Grundsätzliche Überlegung. 2 Hinweis zur Installation

Inhaltsverzeichnis. 1 Grundsätzliche Überlegung. 2 Hinweis zur Installation Inhaltsverzeichnis 1 Grundsätzliche Überlegung...1 2 Hinweis zur Installation...1 3 Konfiguration von AutoDocument...2 3.1 Erfassung der Listeneinträge...2 3.2 Hinterlegung von Notizen...3 3.3 Definition

Mehr

Use Cases REQEDIT CLIENT. Mai 2014. DER INNOVATIVE TOOLHERSTELLER www.reqteam.com

Use Cases REQEDIT CLIENT. Mai 2014. DER INNOVATIVE TOOLHERSTELLER www.reqteam.com Use Cases REQEDIT CLIENT Mai 2014 Übersicht 1. Einführung Anforderungsmanagement 2. Einführung Anforderungsmanagementtools und Austauschformate 3. Warum ReqEdit? 4. Use Cases - kleinere und mittlere Unternehmen

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Dipl. Inform. Olaf Maibaum DLR, Abt. Simulations- und Softwaretechnik DLR, Abt. Simulations- und Softwaretechnik 1 Übersicht Bird-Satellit

Mehr

Microsoft Dynamics NAV Technische Details

Microsoft Dynamics NAV Technische Details Microsoft Dynamics NAV Technische Details INHALT Microsoft Dynamics NAV Technische Details........................................ [3] Infrastruktur.............................................. [3] Systemanforderungen.....................................

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Gert Bikker, Kevin Barwich, Arne Noyer Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Die Modellierung mit UML bietet auch für eingebettete Systeme viele Vorteile. Um die Vorteile effizient nutzen

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Software-Engineering

Software-Engineering SWE5 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 5: Systementwurf SWE5 Slide 2 Systemanalyse vs. Softwareentwurf Systemanalyse beschreibt das System der Anwendung, für das eine Aufgabe

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr

Blumatix EoL-Testautomation

Blumatix EoL-Testautomation Blumatix EoL-Testautomation Qualitätsverbesserung und Produktivitätssteigerung durch Automation von Inbetriebnahme-Prozessen DI Hans-Peter Haberlandner Blumatix GmbH Blumatix EoL-Testautomation Qualitätsverbesserung

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

EPLAN PPE überzeugt durch hohe Planungssicherheit, Zeitersparnis und Kostenreduktion,

EPLAN PPE überzeugt durch hohe Planungssicherheit, Zeitersparnis und Kostenreduktion, OPTIMALES SYSTEM für offene Märkte EPLAN PPE überzeugt durch hohe Planungssicherheit, Zeitersparnis und Kostenreduktion, die Sie realisieren können das Plus für Ihre Wettbewerbsfähigkeit. Die umfangreichen

Mehr

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Dehla Sokenou GEBIT Solutions TAV35, Ingolstadt Motivation Akzeptanztest als letzte Phase im Softwareentwicklungsprozess Idealerweise durch den

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

Form Designer. Leitfaden

Form Designer. Leitfaden Leitfaden Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten Namen und Daten sind frei erfunden, soweit nichts anderes

Mehr

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg OTRS-TFS-Konnektor Whitepaper Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg Tel: 0391 59801-0 Fax: 0391 59801-10 info@advanto-software.de Stand: Mai 2015 Inhaltsverzeichnis 1 Idee... 3 2

Mehr

Anforderungen: Management

Anforderungen: Management Anforderungen: Management Anforderungen: Management Der Begriff der Anforderungsanalyse ist grundsätzlich vom Begriff des Anforderungsmanagements zu trennen, obwohl beide Konzepte in vie l- fältiger Weise

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Software Produktlinien: Einführung und Überblick

Software Produktlinien: Einführung und Überblick C A R L V O N O S S I E T Z K Y Software Produktlinien: Einführung und Überblick Johannes Diemke Vortrag im Rahmen des Seminars Software System Engineering im Wintersemester 2007/2008 Übersicht 1 Motivation

Mehr

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht Platz für ein Bild (optional) Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht 1.0 1.1 Elektronik? Was heisst modellbasierte Software-Entwicklung für uns? Was sind für eine

Mehr

Informationssystemanalyse Software Risk Evaluation 7 1

Informationssystemanalyse Software Risk Evaluation 7 1 Informationssystemanalyse Software Risk Evaluation 7 1 Software Risk Evaluation Um Risiken bei Software-Projekten abzuschätzen und ihnen zu begegnen, wurde am SEI die Software Risk Evaluation-Methode entwickelt.

Mehr

Praxisgerechte Validierung von Sicherheitsapplikationen

Praxisgerechte Validierung von Sicherheitsapplikationen Praxisgerechte Validierung von Sicherheitsapplikationen Dr. Michael Huelke, FB Unfallverhütung Produktsicherheit, BGIA Institut für Arbeitsschutz der Deutschen Gesetzlichen Unfallversicherung, Sankt Augustin

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

Mufid Sulaiman mufidsulaiman@web.de

Mufid Sulaiman mufidsulaiman@web.de Mufid Sulaiman mufidsulaiman@web.de Überblick Frameworks Applikationsentwicklung mit Frameworks Komponentenbasierte Frameworks Einführung in Enterprise JavaBean Einführung in SanFrancisco Vergleich Enterprise

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,

Mehr

IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement

IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement Basierend auf einem zentralen SOA-Projekt wird die Integration von Änderungsmanagement aus dem ApplicationLifeCycle

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management

Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management Georg Wittmann QUERPLEX GmbH Nürnberg Katerina Mpalaska ORACLE Deutschland GmbH Stuttgart Schlüsselworte: E-Mailarchivierung,

Mehr

Seminar Bassem Ben Helal

Seminar Bassem Ben Helal Requiline Seminar Bassem Ben Helal Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration Evaluierung Demo Diskussion Motivation RequiLine

Mehr

Comparing Software Factories and Software Product Lines

Comparing 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

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

Kurzfassung der Studienarbeit

Kurzfassung der Studienarbeit Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Pythagoras-Kopplung mit ArcGIS/ArcFM UT Projekt Stadtwerke Magdeburg

Pythagoras-Kopplung mit ArcGIS/ArcFM UT Projekt Stadtwerke Magdeburg Kopplung mit ArcGIS/ArcFM UT Projekt Stadtwerke Magdeburg Uta Griwodz, con terra GmbH Agenda Vorstellung Zielsetzung und Ausgangssituation des Projekts Vorstellung des neuen Prozesses Realisierungsphase:

Mehr

Best Practice Infor PM 10 auf Infor Blending

Best Practice Infor PM 10 auf Infor Blending Best Practice Infor PM 10 auf Infor Blending, 11.11.2008 Infor Performance Management Best Practice Infor PM 10 auf Infor Blending Leistungsübersicht Infor PM 10 auf Infor Blending eine Data Warehouse

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML)

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML) HOCHSCHULE HEILBRONN Hochschule für Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung

Mehr

EIN BRANCH FÜR JEDEN KUNDEN?

EIN BRANCH FÜR JEDEN KUNDEN? EIN BRANCH FÜR JEDEN KUNDEN? WIE INDIVIDUALISIERUNG UND STANDARDISIERUNG IN EINKLANG GEBRACHT WERDEN KÖNNEN AIT GmbH & Co. KG Ihre Software effizienter entwickelt. 2 AGENDA Die Unternehmen und ihre Produkte

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr