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

Softwareanforderungsanalyse

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

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

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

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

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

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

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

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Requirements Management Center

Requirements Management Center Requirements Management Center Überblick - 1 - Inhalt OMNITRACKER Requirements Management Center im Überblick Workflow im Überblick Informationsmodell Dokumentation und Reports Leistungsmerkmale Anforderungsdefinitionsprozess

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

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

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

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

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

Erfolg ist programmierbar.

Erfolg ist programmierbar. 45789545697749812346568958565124578954569774981 46568958565124578954569774981234656895856124578 45697749812346568958565124578954569774981234656 58565124578954569774981234656895856124578954569 49812346568958565124578954569774981234656895856

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

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

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Erfahrungen aus der industriellen Praxis Fraunhofer IESE Kaiserslautern Inhalt Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

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

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

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

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

Requirements Lifecycle Management (RLM)

Requirements Lifecycle Management (RLM) Whitepaper Requirments Lifecycle Management Requirements Lifecycle Management (RLM) Die Weiterentwicklung der klassischen Anforderungsanalyse 1 Einleitung War noch vor einiger Zeit die klassische Anforderungsanalyse

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Release 1.3 Produktspezifikation

Release 1.3 Produktspezifikation Release 1.3 Produktspezifikation Dokument Nr. Königsallee 43 71638 Ludwigsburg Germany www.savignano.net/savvytest 2 Inhaltsverzeichnis Produkteigenschaften...5 Übersicht...5 Produktvarianten...6 savvytest

Mehr

TUDOOR - Ein Java Adapter für Telelogic DOORS

TUDOOR - Ein Java Adapter für Telelogic DOORS TUDOOR - Ein Java Adapter für Telelogic DOORS Jae-Won Choi, Anna Trögel, Ingo Stürmer Model Engineering Solutions GmbH Abstract: Im Bereich des Requirements Engineering hat sich DOORS der Firma Telelogic

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

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

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

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

PM-Forum Augsburg. Thomas Müller-Zurlinden, PMP 18.05.2012. Kontakt: Info@QinS.de

PM-Forum Augsburg. Thomas Müller-Zurlinden, PMP 18.05.2012. Kontakt: Info@QinS.de PM-Forum Augsburg Thomas Müller-Zurlinden, PMP 18.05.2012 Kontakt: Info@QinS.de Einführung in die Konzepte der Software Product Line Organisation einer globalen SPL Entwicklung SPL und die Herausforderungen

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

Oracle BI Publisher in der Oracle Business Intelligence Enterprise Edition Plus. Eine Mehrwertdiskussion

Oracle BI Publisher in der Oracle Business Intelligence Enterprise Edition Plus. Eine Mehrwertdiskussion Oracle BI Publisher in der Oracle Business Intelligence Enterprise Edition Plus Eine Mehrwertdiskussion Der Oracle BI Publisher als Teil der Oracle BI Suite versus Oracle BI Publisher Standalone Der Oracle

Mehr

Modellierung vonanforderungen

Modellierung vonanforderungen Modellierung vonanforderungen Dehla Sokenou GEBIT Solutions Koenigsallee 75b 14193 Berlin www.gebit.de dehla.sokenou (at) gebit.de Abstract: In der betrieblichen Anwendungsentwicklung werden in vielen

Mehr

Variantenkonfiguration von Modellbasierter Embedded Automotive Software

Variantenkonfiguration von Modellbasierter Embedded Automotive Software Model-Driven Development & Product Lines Leipzig, 19. Oktober 2006 Jens Weiland DaimlerChrysler AG (GR/ESS) Die Rolle von Varianten für den Bereich Automotive Vielzahl variabler Funktionen Beispiel Mercedes

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

Techniken der Projektentwicklung

Techniken der Projektentwicklung Tools Kalenderwoche 43 Tools für die Softwareentwicklung Shell auf bash einstellen Tools in.bashrc eintragen mit Staroffice mit L A TEX Eclipse UML Modellierung Versionsverwaltung mit CVS CVS und Eclipse

Mehr

1 Dokumentenmanagement

1 Dokumentenmanagement 1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 Projektbezeichnung Projektleiter Verantwortlich - Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 MSP-13 - Integration eines Semantischen Tagging Systems in Microsoft Sharepoint Martin

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

Übungen zur Softwaretechnik

Ü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 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

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

Modellbasiertes Requirements Engineering - MDD konsequent weitergedacht

Modellbasiertes Requirements Engineering - MDD konsequent weitergedacht Modellbasiertes Requirements Engineering - MDD konsequent weitergedacht Tilo Sauer Copyright 2005 GEBIT Solutions Agenda Motivation Zielsetzungen Anforderungen Abhä ngigkeiten Strukturierung UML Integration

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

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

Technische Produktinformation: Active Directory- Management in bi-cube

Technische Produktinformation: Active Directory- Management in bi-cube Inhalt: 1 bi-cube -FEATURES ACTIVE DIRECTORY... 2 2 DAS SYSTEMKONZEPT... 3 3 WAS SIND ADOC UND ECDOC?... 3 4 DIE WICHTIGSTEN FUNKTIONEN IM ÜBERBLICK... 5 4.1 Verwaltung der Strukturdaten... 5 4.2 Verwaltung

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

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

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

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben

Mehr

PDF FormServer Quickstart

PDF FormServer Quickstart PDF FormServer Quickstart 1. Voraussetzungen Der PDF FormServer benötigt als Basis einen Computer mit den Betriebssystemen Windows 98SE, Windows NT, Windows 2000, Windows XP Pro, Windows 2000 Server oder

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Der Entwicklungsprozess. Oder wie entwickle ich ein eingebettetes System?

Der Entwicklungsprozess. Oder wie entwickle ich ein eingebettetes System? Der Entwicklungsprozess Oder wie entwickle ich ein eingebettetes System? Einleitung Problemstellung erläutern, Eine Entwicklungsprozess ist ein Prozess, der beschreibt, wie man eine Entwicklung anzugehen

Mehr

Projektseminar Softwaresysteme

Projektseminar Softwaresysteme Projektseminar Softwaresysteme Themenvorstellung und Kick-Off Sommersemester 2015 Géza Kulcsár geza.kulcsar@es.tu.darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical

Mehr

Anforderungsmanagement im Projekt BIS-BY. BIS-BY: Requirement Management

Anforderungsmanagement im Projekt BIS-BY. BIS-BY: Requirement Management Anforderungsmanagement im Projekt BIS-BY von B. KREUZER Schlüsselwörter: Änderungswünsche, Anforderungsmanagement, DOORS Kurzfassung Softwaresysteme unterliegen während ihrer Entwicklung und während ihres

Mehr

Java-IDE-Vergleich Seite 1 / 5

Java-IDE-Vergleich Seite 1 / 5 Java-IDE-Vergleich Seite 1 / 5 Java-IDEs im Vergleich 1. Getestete IDEs: Borland JBuilder 3 Professional Edition IBM Visual Age 3 Entry Edition Sun Forte 1.01 Community Edition Microsoft Visual J++ 6.0

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Statisch oder Dynamisch?

Statisch oder Dynamisch? Worin liegt der Unterschied zwischen statischen und dynamischen Webseiten? Statisch oder Dynamisch? lepton-cms.org Überblick CMS WebsiteBaker - LEPTON 1 lepton-cms.org Überblick CMS WebsiteBaker - LEPTON

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Ihr Weg zu Industrie 4.0 führt über. Entwicklung 4.0. Feynsinn beraten.realisieren.schulen - 1 - FEYNSINN

Ihr Weg zu Industrie 4.0 führt über. Entwicklung 4.0. Feynsinn beraten.realisieren.schulen - 1 - FEYNSINN Ihr Weg zu Industrie 4.0 führt über Entwicklung 4.0 Feynsinn beraten.realisieren.schulen - 1 - FEYNSINN Betrifft mich Industrie 4.0 schon heute? Es ist noch ein langer Weg bis zur Einführung von Industrie

Mehr

Was ist DITA und was bringt es? www.ditaworks.com

Was ist DITA und was bringt es? www.ditaworks.com www.ditaworks.com Wir leben im Informationszeitalter und sind einem exponentiellen Anstieg neuer Daten und Informationen ausgesetzt. Nach neusten Studien können wir davon ausgehen, dass 90% aller verfügbaren

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

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr

Die ES4-Familie. Noch mehr Flexibilität und Leistung für Zutritt, Zeit- und Betriebsdatenerfassung. Industrial Technologies

Die ES4-Familie. Noch mehr Flexibilität und Leistung für Zutritt, Zeit- und Betriebsdatenerfassung. Industrial Technologies Die ES4-Familie Noch mehr Flexibilität und Leistung für Zutritt, Zeit- und Betriebsdatenerfassung Industrial Technologies ES4: Die nächste Generation unserer Systemfamilie Die perfekte Ergänzung für Ihr

Mehr

Unlimited Controlling

Unlimited Controlling smcolap Unlimited Controlling Heute müssen beliebige Bereiche eines Unternehmens schnell und effizient analysiert werden. Dabei darf es keine Rolle spielen, wo die Daten liegen und in welcher Relation

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

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de Innovator 2007 Anbindung an openarchitectureware Klaus Weber Connect www.mid.de Anbindung an openarchitectureware (oaw) Wozu dient die Anbindung an openarchitectureware? Für Innovator Object excellence

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

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Ottostr. 15 96047 Bamberg Tel. +49/951/98046200 Fax +49/951/98046150 email: info@softcondev.de www: softcondev.de INHALT Vorwort Diese

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

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

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

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

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

Feature Modelling und Product Sets. Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin

Feature Modelling und Product Sets. Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin Feature Modelling und Product Sets Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin Agenda Einleitung Variabilitätsmodellierung und Feature-Bäume Staged Configuration Multi-Level

Mehr

Dokumenten Anwendungs Systeme für: Archivierung und Workflow, Scannen und Service. System

Dokumenten Anwendungs Systeme für: Archivierung und Workflow, Scannen und Service. System D a t e n b l a t t Produkt: Visual Information System Modul: INTELLIGENT INPUT Manager (IIM) Das Grundprinzip: Das IIM Modul dient generell zur - Erkennung, - Interpretierung und - Weitergabe von Dokumenten

Mehr

baramundi software AG

baramundi software AG baramundi software AG Softwareverteilung mit baramundi Deploy www.baramundi.de (c) 2000-2002 baramundi software AG - alle Rechte vorbehalten. Seite 1 Key Features Produktvorstellung und Leistungsspektrum

Mehr

Linutronix - Wir verbinden Welten. Open Source Software in der Industrie. Firmenvorstellung

Linutronix - Wir verbinden Welten. Open Source Software in der Industrie. Firmenvorstellung Linutronix - Wir verbinden Welten Open Source Software in der Industrie Firmenvorstellung Firma Gegründet 1996 von Thomas Gleixner 2006 Umwandlung in GmbH Maintainer von: X86 Architektur RT-Preempt UIO

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg Institut für Simulation und Graphik Lisa-Weiterbildung -

Mehr

Änderungsbasiertes Requirements Management mit agosense.requirements und Atlassian JIRA

Änderungsbasiertes Requirements Management mit agosense.requirements und Atlassian JIRA Änderungsbasiertes Requirements Management mit agosense.requirements und Atlassian JIRA REFERENT Webinar Nr. 1 26. März 2015 15 Uhr bis 16 Uhr Antonio Jesus de Loureiro antonio.loureiro@agosense.com +49.7154.99951.16

Mehr

Anforderungsanalyse, Requirements Engineering

Anforderungsanalyse, Requirements Engineering Anforderungsanalyse, Requirements Engineering, Lastenheft, Pflichtenheft, Spezifikation, Zielgruppen Natürliche Sprache, Formulare Pflichtenheft, an ein Pflichtenheft von Funktionale, nicht-funktionale

Mehr