Model-Driven Engineering

Größe: px
Ab Seite anzeigen:

Download "Model-Driven Engineering"

Transkript

1 Model-Driven Engineering Seminararbeit im Masterstudiengang Information Systems Engineering Sebastian Dreher Fachhochschule Aachen Fachbereich Elektrotechnik und Informationstechnik Eupener Straße 70, Aachen Kurzfassung. In dieser Seminararbeit werden verschiedene Vorgehensmodelle des Model-Driven Engineering, u.a. Computer Aided Software Engineering, Domain Specific Language und Model-Driven Architecture vorgestellt. Ein besonderer Fokus liegt hierbei auf der Entwicklungsmethode Model-Driven Architecture, sowie Forschungsprojekte und Zukunftschancen dieser Methodik. Keywords: Model-Driven Engineering, Model-Driven Architecture, Computer Aided Software Engineering, Domain Specific Language 1 Einleitung Charakteristisch für die Softwareentwicklung der heutigen Zeit sind sich schnell wandelnde, fachliche Anforderungen und rasante technologische Fortschritte, sowie ein hoher Zeit- und Kostendruck. Vor diesem Hintergrund offenbaren sich weitreichende Probleme eines inkrementellen, iterativen Verfahrens oder des traditionellen Wasserfall-Vorgehensmodells. (1) Model-Driven Engineering (dt. Modellgetriebene Softwareentwicklung, kurz MDE) ist ein Oberbegriff für die Anwendung ingenieursmäßiger Techniken, um automatisiert aus formalen Modellen lauffähige Anwendungssoftware zu entwerfen. Durch den Einsatz des MDE wird eine Effizienzsteigerung im Softwareentwicklungsprozess propagiert. Diese soll durch die Anhebung des Abstraktionsniveaus durch Modellbildung im Vergleich zur Softwareentwicklung auf Codeebene erreicht werden. Ein Faktor der Effizienzsteigerung ist die gleichbleibende Qualität des Codes, welcher aus formalen Modellen automatisch erzeugt wird. Man spricht in diesem Zusammenhang von Automation durch Formalisierung. Mit dem Hinzufügen von Abstraktionsebenen wird ebenfalls eine Umsetzung des Paradigmas Separation of Concerns erzwungen, welches die Wartbarkeit eines Softwaresystems erheblich vereinfacht.

2 Interoperabilität, Portabilität und Wiederverwendung zählen hierbei zu den primären Zielen des MDE. Grundlegend wird zwischen drei verschiedenen Implementierungen unterschieden, welche in dieser Ausarbeitung vorgestellt werden: Model Driven Architecture (dt. Modellgetriebene Architektur, kurz MDA) der Object Management Group (OMG) 1 (2) Domain-Specific-Languages (dt. Domänen Spezifische Sprachen, kurz DSL) 2 Computer Aided Software Engineering (dt. Computergestützte Softwareentwicklung, kurz CASE) 3 Da die MDA ein sehr junger Entwicklungsansatz mit interessanten Forschungsthemen ist, wird diese Methodik in den nachfolgenden Kapiteln ausführlich erläutert. Abbildung 1: Ausdruckgsgrad der Lösungsbeschreibung Abbildung 1 zeigt den Ausdrucksgrad der Lösungsbeschreibung und die Einordung der MDE-Implementierungen. Je generischer die Implementierung bzw. Modellabstraktion gehalten ist, desto größer ist der Aufwand der Anpassung des generierten Codes. Für code - bzw. problemspezifische Aufgaben eignet sich die Verwendung von DSLs besonders. Diese Seminararbeit erläutert die zuvor benannten Implementierungen, sowie aktuelle Forschungsansätze, Vor- und Nachteile bzw. Problemstellungen des MDA. 2 Computer Aided Software Engineering Ziel des Computer Aided Software Engineering (kurz CASE) -Ansatzes ist es, Software möglichst vollständig und automatisiert aus fachlichen Beschreibungen zu erstellen. CASE-Tools sind Programme, die den Softwarearchitekten während Planung, Entwurf und Dokumentation automatisiert unterstützen sollen. Diese Tools werden 1 weiterführende Literatur: Poland Petraschl, Model driven architecture, dpunkt.verlag GmbH, weiterführende Literatur: Martin Fowler, Domain-specific Languages, Addison Wesley Verlag, weiterführende Literatur: Thomas J. Bergin, Computer-Aided Software Engineering Issues and Trend for the 1990s and Beyond, Idea Group Publishing, 1993

3 als eigenständige Applikation (Standalone) oder in Form einer Funktionserweiterung (Plugin) für eine entsprechende Entwicklungsumgebung, wie Eclipse (Abbildung 2) angeboten. Im Allgemeinen verbirgt sich hinter dem CASE die Vorstellung eines klassischen Wasserfallmodells unter besonderer Berücksichtigung der Phasen: Analyse, Design und Implementierung. CASE-Werkzeuge gibt es sowohl für 3GL (Third Generation Programming Language) - und 4GL (Fourth Generation Programming Language) Programmiersprachen 4, als auch für objektorientierte Entwicklungen. Abbildung 2: Grafische Java Notation mit dem Omondo-UML Editor (3) Moderne CASE-Tools bieten eine grundlegende Unterstützung für die grafische Notationsweise, Strukturierte Analyse und das Strukturierte Design. Nachfolgend werden diese drei elementaren CASE-Bestandteile erläutert. 2.1 Grafische Notationsweise Mit Hilfe der grafischen Notation können Ablaufdiagramme oder UML-Diagramme in Codegerüste mit Funktionsrümpfen transformiert werden. So können beispielsweise eine Klasse mit Membervariablen und Zugriffs-Modifiern, sowie die Schnittsellen und Kommunikationsmuster grafisch gestaltet werden. 2.2 Strukturierte Analyse Die Strukturierte Analyse wird während der Analysephase zur formalen Systembeschreibung im Rahmen der Softwareentwicklung verwendet. 4

4 2.3 Strukturiertes Design Strukturiertes Design (SD) ist ein Entwurfsmuster in der Softwaretechnik nach Edward Yourdon und Larry Constantine, welches modulares Design unterstützt, um neben der reinen Funktionshierarchie auch die Wechselwirkungen von übergeordneten Modulen zu beschreiben. (4) Es handelt sich hierbei um eine Verfeinerung der zuvor durchgeführten, strukturierten Analyse. Abbildung 3: Strukturiertes Design (Schema), entnommen aus Oft wird das Schema aus Abbildung 3 für die Top-Down Strukturierung von Menüpunkten verwendet, um Hauptkategorien mit zugehörigen Unterkategorien bis hin zur Datenkapselung übersichtlich erfassen zu können. Die Landing Page der Fachhochschule Aachen (Abbildung 4) bietet z.b. den Hauptnavigationspunkt Studienangebote. Dieser wird unterteilt in die Module: Bachelorstudiengänge, Mastersudiengänge, duales Studium etc.. Selektieren wir nun das Modul Masterstudiengang, erhalten wir bezogen auf Abbildung 3, die aufgerufene vordefinierte Datenkapsel, was dem Content der zugrunde liegenden Website entspricht.

5 Abbildung 4: Landing-Page Menü der FH-Aachen (5) 3 Domain Specific Language Unter DLSs werden im Allgemeinen abstrakte Sprachen bezeichnet, welche für ein bestimmtes Problem, die Domäne, entworfen und implementiert werden. Im Vergleich zu universell einsetzbaren Programmiersprachen, wie C/C++, Java, etc. erzeugen DSLs bedeutend weniger Overhead und Redundanz, aufgrund des meist beschränkten Umfangs. DSLs werden in Verbindung mit Codegeneratoren und Interpretern verwendet, um die Beschreibung eines Sachverhaltes oder Problems deklarativ zu gestalten. Im Folgenden werden die einzelnen Prozessschritte von der Domänenbeschreibung bis hin zum fertigen Code unter Verwendung der DSL beschrieben. (6) Die Vorgehensweise bei der Entwicklung einer DSL, lässt sich wie folgt beschreiben: Domänenbeschreibung Die Domänenbeschreibung ist gekennzeichnet durch eine fachliche oder technische Wissensbeschreibung des darzustellenden Gesamtsystems. Hier werden Grenzen und Schnittstellen, sowie das Verhalten klar definiert. Metamodellierung Abgrenzung: Nichtberücksichtigung irrelevanter Objekte Reduktion: Weglassen von Objektdetails Dekomposition: Zerlegung, Auflösung in einzelne Segmente Aggregation: Vereinigung von Segmenten zu einem Ganzen Abstraktion: Begriffs- bzw. Klassenbildung Ableiten der DSL Externe DSL: Eine von Grund auf neu definierte Sprache. Sowohl die konkrete Syntax als auch die Semantik können hier frei definiert werden. Interne DSL: Eine interne DSL ist eine echte Untermenge einer generelleren Sprache. Modellierung des Systems unter Verwendung der DSL Validierung des Systems Glue-Code Manuelle Anpassung des Implemetierungscodes

6 4 Model Driven Architecture MDA bietet ein offenes, herstellerneutrales Vorgehen, um während des Softwareentwicklungsprozesses die Business- und Applikationslogik, sowie Plattformtechnologie voneinander zu trennen. Abbildung 5: Integration der MDA (2) Bei der Modellierung mit MDA wird berücksichtigt, dass ein einziges Modell nicht die Komplexität eines Software-Gesamtsystems abbilden kann. Entweder wird das fachliche Detail im Zusammenhang mit der Geschäftslogik zu intensiv dargestellt, was zu einer überladenen und nicht überschaubaren Komplexität führt, oder es wird nicht mit genügend Detailtreue abgebildet, was zu einer Unschärfe der Anforderungen führen kann. Als Konsequenz führt MDA eine Trennung des Gesamtmodelles in Teil- Modelle durch (Abbildung 5). Hierbei liegt der Scope nicht auf einer vollständigen Automatisierung der Code-Generierung, denn diese variiert in Abhängigkeit der fachlichen Anforderung zwischen 20 und 80 Prozent. (7) Abbildung 6: Schema unter Anwendung der MDA Abbildung 6 zeigt einen schematischen Top-Down-Ansatz, mit welchem die verschiedenen Phasen durchlaufen werden.

7 4.1 Computation Independent Model (CIM) Mit Hilfe des CIM wird die Geschäfts- oder Domänensicht des zu entwickelnden Softwaresystems modelliert. Das CIM ist im Rahmen der MDA der Modelltyp mit der höchsten Abstraktionsebene. Es ist unabhängig von technischen Aspekten der Implementierung, d.h. es beschreibt keine internen Strukturen oder das innere Verhalten des Softwaresystems. (8) Als Werkzeuge kommen hierbei umgangssprachliche Beschreibungen, Use-Case-Diagramme, Interaktionsdiagramme und Aktivitätsdiagramme zum Einsatz. 4.2 Platform Independent Model (PIM) Das PIM ist ein plattformunabhängiges Modell für Geschäftsprozesse, welches logische Prozesse abstrahiert. Das zuvor erstellte CIM wird hierbei mit Hilfe einer Model- Model-Transformation in ein PIM überführt (Abbildung 7). Durch ein UML-Profil wird die Darstellung fachlicher Elemente (Services, Business Classes, Business Rules) projekt- und anwendungsspezifisch vorgegeben. 4.3 Platform Specific Model (PSM) Das PSM ist ein abstraktes, plattformabhängiges Modell der Zielarchitektur. Es entsteht durch die Transformation des CIM unter Berücksichtigung spezieller Architektureigenschaften und Services der späteren Zielplattform (Abbildung 7), so z.b. J2EE, Corba oder XML. 4.4 Codemodell Nach einer weiteren Transformation wird das PSM in den Implementierungscode der zuvor gewählten Plattform (Abbildung 7) überführt. Wie bereits erwähnt, erhebt das MDA-Verfahren keinen Anspruch auf eine vollständige Codegenerierung. Gegebenenfalls müssen Glue-Code 5 oder das Ausprogrammieren von Funktionsrümpfen manuell vorgenommen werden. 5 Glue-Code: funktionsfreier Quellcode der einzelne Software-Module untereinander verbindet, welche sonst nicht kompatibel zueinander wären

8 Abbildung 7: MDA-Transformationsbeispiel (9) Abbildung 7 zeigt den Transformations-Ablauf der verschiedenen Modelle von 4.1 bis Forschungsansätze des MDA Obwohl MDE noch nicht lange in den wissenschaftlichen Bereichen vertreten ist, gibt es bereits einen Großteil an nationalen und internationalen Forschungsprojekten und Konferenzen. Dieses Kapitel gibt einen groben Überblick über nationale Forschungseinrichtungen im Bereich MDE, sowie die zugehörigen Projekte. Im Jahr wurde 2010 an der TU München - Lehrstuhl IV: Software & Systems Engineering ein MDE-Kompetenzzentrum gegründet, welches die Forschungsaktivitäten in den folgenden Bereichen intensiviert hat. (10) Seamless model-based development Model-based development of mechatronic systems Formal specification of (mostly embedded) software systems Model-based debugging Analysis of costs and benefits of model-based development of embedded software systems in the car industry Modeling of probabilistic systems Formal semantics of UML2 Transition from documents in natural language to system models Model validation Model-based deployment Model-based testing

9 Model-based safety-cases Im folgenden Auszug der aktuellen Forschungsprojekte der TU München lassen sich als Förderungspartner u.a. das BMBF (Bundesministerium für Bildung und Forschung), BMWi (Bundesministeriums für Wirtschaft und Technologie), Altran Technologies ( sowie Siemens Automation finden. Große Institutionen und Firmen zeigen also durchaus (finanzielles) Interesse in diesem Forschungsbereich. (11) SPES SPES 2020 ist ein vom BMBF gefördertes Forschungsprojekt zur Entwicklung einer Methodik zur durchgängig, modellbasierten Entwicklung von eingebetteten Systemen. Im Rahmen des Projekts werden Lösungen für die domänenübergreifende und modellbasierte Entwicklung von eingebetteter Software erarbeitet. Modellbasierte Verfahren auf Basis eines soliden mathematischen Fundaments ermöglichen eine effiziente Entwicklung eingebetteter Systeme, beginnend bei den initialen Kundenanforderungen über den Entwurf und die Implementierung bis hin zur Verifikation und Zertifizierung von Systemen. (11) Analyse der Kosten und des Nutzen modellbasierter Entwicklung eingebetteter Softwaresysteme in der Automobilindustrie. In Zusammenarbeit mit dem Technologieberatungsunternehmen Altran werden die notwenigen Kosten für eine Modellbasierte Entwicklung und der daraus resultierende Nutzen analysiert. Ziel ist es wesentliche Kosten- und Nutzentreiber zu identifizieren und zu analysieren wie man die Wirtschaftlichkeit der modellbasierten Entwicklung optimieren kann. Die Ergebnisse der Arbeit werden aus Fallstudiengesprächen und einer globalen Studie abgeleitet. (11) AutoVIBN. Gefördert durch das BMWi (AiF) entwickelt das Kompetenzzentrum Modellbasierte Entwicklung zusammen mit dem iwb und mehreren Industriepartnern Beschreibungstechniken und Methoden für die logische Verhaltensmodellierung mechatronischer Systeme im Anlagenbau. Diese Modelle dienen der Unterstützung im Entwicklungsprozess durch Exploration und Simulation verschiedener Lösungsansatze auf logischer Ebene. Zudem lassen sich die Modelle als Basis für die Generierung abgeleiteter Modell nutzen, wie etwa von Modellen für die virtuelle Inbetriebnahme. (11) FlaSCo. Eine Machbarkeitsstudie der modellbasierten Entwicklung eingebetteter Systeme im industriellen Umfeld: von Anforderungen bis zum Entwurf n Zusammenarbeit mit Siemens Automation. (11) In der Universität Ulm - Institut für Programmiermethodik und Compilerbau gibt es seit 2009 ebenfalls einen Forschungsbereich zum MDE, wodurch das Projekt Active Charts entstanden ist: Wir beschäftigen uns mit der Frage, wie mächtigere Soft-

10 ware-werkzeuge konstruiert werden können, welche die Synchronisation von Analyse/Entwurfs- und Implementierungsartefakten unterstützen bzw. sicherstellen können ohne den Entwickler in seinen bisherigen Implementierungsmöglichkeiten zu sehr einzuschränken. (12) Unser Ansatz ActiveCharts kombiniert Modelle aus den Analyse/Design-Phasen und (handgeschriebenen) Code aus der Implementierungsphase auf eine neue Art: Wir modellieren den Kontrollfluss einer Anwendung mit UML 2 Aktivitätsdiagrammen, die von einer Laufzeitumgebung (ActiveChartsIDE) interpretiert werden. Mit dieser Laufzeitumgebung können die Aktivitätsdiagramme simuliert und visualisiert werden. Funktionen wie beispielsweise Breakpoints oder schrittweises Vorgehen ermöglichen ein einfaches Debuggen der Anwendung. Analyse- bzw. Designartefakte werden in unserem Ansatz nahtlos für die Implementierungsphase übernommen. Wir wollen damit die Lücken zwischen den unterschiedlichen Phasen im Softwareentwicklungsprozess verkleinern und die Dokumentation und die Wartbarkeit von Softwareprodukten verbessern. (13) Einen weiteren, interessanten Ansatz verfolgt das Transferprojekt Agile Model Driven Architecture an der Universität Leipzig. Hier werden zwei Ansätze kombiniert, die augenscheinlich nichts miteinander zu tun haben MDE der Object Management Group und Agile Softwareentwicklung. Im Kern geht es bei agiler Softwareentwicklung um möglichst häufige Rückkopplungsprozesse und zyklisches (iteratives) Vorgehen auf allen Ebenen: bei der Programmierung, im Team und beim Management. Im Vergleich zum direkten Vorgehensmodell wird die Zielsetzung nicht ausschließlich zu Beginn der Softwareentwicklung erarbeitet, sondern kann während des Entwicklungsprozesses noch angepasst werden. (14) Unser Lösungsansatz lautet: "Agile MDA" oder "Prefabricated Architectures" oder "MDA Domesticated" oder einfach "Leipziger Softwareprozessmodell". Das Leipziger Software-Prozessmodell (LSP) versucht das Beste beider Welten miteinander zu verbinden. Modelle, die die Fachlichkeit möglichst umfassend ausdrücken, aber keine Generierung um jeden Preis, genauso wie kontinuierliche Einbeziehung des Anwenders und schlanke Inkremente, ohne dabei die Pandora-Büchse des unkontrollierten Hacking zu öffnen. (15) Ein Blick auf die Publikationswebsite des Frauenhofer Instituts (16) zeigt anhand der Dissertation A methodology for pattern-oriented model-driven testing of reactive software systems von Vouffo-Feudjio, A.-G., dass auch dort Ansätze des MDE erforscht werden: The thesis presents a catalogue of test design patterns, along with a methodology for the proposed approach. The methodology is based on a new notation called Unified Test Modeling Language (UTML), specifically designed to support patternoriented model-driven testing. UTML is a Domain-Specific Modeling Language (DSML) for designing test objectives, test architectures, test data and test behaviour at a high level of abstraction, using predefined test design patterns. The result are socalled abstract test models, that can then be subsequently refined through a series of

11 iterative transformation processes into executable test sequences, scripts or documentation artifacts. (17) 6 Offene Punkte beim MDA Da das MDE eine relativ junge Entwicklungsmethode beschreibt, gibt es noch einige ungeklärte Aspekte, die bei der Einführung dieser Methodik berücksichtigt werden sollten. Bei der Umsetzung der Standards wirken viele Tools keinesfalls überzeugend. Bezug nehmend auf die Wirtschaftlichkeit dieses Verfahrens - speziell im Vergleich zur konventionellen Entwicklung, gibt es kaum verfügbare Belege. Es stellt sich also die Frage, ob die Einführung des MDE für die jeweilige Unternehmung rentabel ist. So kommen Lewis, G.A. und Wrage, L. in einer MDA Studie im Jahr 2005 (18) zu dem Resultat, dass die Entwicklungszeit unter Einsatz von MDA zunächst zunimmt und sich nur lohnt, wenn mehrere Projekte dieser Art durchgeführt werden. Ergebnisse aktuellerer Studien lagen zum Zeitpunkt des Verfassens dieser Arbeit nicht vor. Abbildung 8: Kernaussagen aus MDA Studien, entnommen aus Model- Driven Architecture: Konzeption, Einordnung und Wirtschaftlichkeit [S.60] von Johannes Vetter

12 Die Frage nach der Rentabilität kann also nicht mit einem einfachen Ja oder Nein beantwortet werden. Vielmehr müssen eine Vielzahl von Aspekten gegeneinander ab gewägt werden. Das Internetportal Software-Engineering ( listet hierzu die nachfolgenden Punkte, welche an dieser Stelle übernommen und nach fachlicher bzw. wirtschaftlicher Relevanz sortiert wurden. (19) 6.1 Fachliche Relevanz Reengineering / Wartung MDA ist ursprünglich für Neuentwicklungen gedacht. Wie können aber bestehende Softwaresysteme in MDA übernommen werden, so dass die Weiterentwicklung mit Hilfe dieser Methodik erfolgen kann? Ein weiterer Aspekt ist die Erzeugung von Releases, Patches oder Updates, welches ein wichtiger Bestandteil der laufenden Wartung von Anwendungen ist. Wie geht MDA damit um? Ist es notwendig jedes Mal das komplette System neu installieren? Stabilität des Datenmodells Änderungen am Datenmodell können großen Aufwand nach sich ziehen, der bei der Änderung des Modells nicht sofort sichtbar ist. Es ist für den Designer oder Entwickler beispielsweise sehr einfach, im Modellierungstool ein Attribut zu einer persistenten Klasse hinzuzufügen. Die MDA-Generatoren erzeugen dann im Datenbankskript für die Tabelle, die zu der Klasse gehört, eine weitere Spalte. Dadurch entsteht nun die Notwendigkeit, zumindest die neue Spalte in den bestehenden Zeilen mit einem definierten Leerwert zu füllen. Entfremdung des Entwicklers vom Code Der generierte Code ist für den Entwickler nur noch schwer verständlich und nachvollziehbar. Weiterhin stellt sich das Problem mit Fehlern in den Codegeneratoren auf neue Weise wieder. Es wird dadurch potenziert, dass die Generatoren teilweise Code erzeugen, der auf Annahmen basiert, welche die Architekten bei der Entwicklung der Templates für den Codegenerator gemacht haben und welche dem Entwickler unbekannt sind. Resultierend hierbei ist Code, der von den Entwicklern in vielen Fällen schwer zu verstehen ist. Aus Sicht des Entwicklers ist es schwierig Codefragmenten zu vertrauen, die nicht selber entwickelt wurden und kaum lesbar sind. Unzulänglichkeiten in den Tools Die Erwartungshaltungen der Entwickler sind derzeit nur schwer zu erfüllen. Dies betrifft sowohl die funktionalen, als auch die nicht-funktionalen Aspekte.

13 Zu den nicht-funktionalen Einschränkungen gehört z. B. die Performance. So dauert beispielsweise das Umbenennen einer Implementierungsklasse im Code in der Regel nur Sekunden. Inklusive der damit verbundenen Nachfolgeänderungen (z. B. Umbenennung der Datei im Konfigurationsmanagementsystem) bewegt man sich jedoch im Minutenbereich. Die Umbenennung einer Klasse im UML-Modell eines MDA-Tools hingegen kann schon aufwändiger werden. Der MDA-Codegenerator muss den gesamten Code neu generieren. Die Arbeitsumgebung muss konsistent gehalten werden. Dazu gehört, dass alle Artefakte mit dem alten Namen gelöscht werden. 6.2 Wirtschaftliche Relevanz ROI (Return-on-Investment) Bisher gibt es nur sehr wenige Überlegungen, ab wann sich der Einsatz von MDA lohnt. Für den Einsatz von MDA sind viele Vorbereitungen und Vorarbeiten notwendig. Hierzu gehören nicht nur Schulungen der Entwickler, sondern auch konzeptionelle Arbeiten (z. B. Anpassung des Softwareentwicklungsprozesses). Dies sind nicht unerhebliche Aufwände. EAI (Enterprise Application Integration) Modellierung auf hoher Ebene erscheint auf den ersten Blick sinnvoll. Neue Anwendungen laufen aber selten für sich isoliert, sondern müssen in eine vorhandene Anwendungslandschaft integriert werden. Wie kann dies in der MDA-basierten Entwicklung berücksichtigt werden? Herstellerabhängigkeit Da der MDA-Standard derzeit noch nicht vollständig und einheitlich von den Toolherstellern umgesetzt wird, bedeutet die Festlegung auf ein Werkzeug damit auch eine gewisse Herstellerabhängigkeit. Solche Abhängigkeiten haben sich in der Vergangenheit jedoch oftmals als negativ herausgestellt, da eine Kompatibilität zu Konkurrenz-Produkten meist nicht gegeben ist. 7 Fazit Abschließend ist festzuhalten, dass sich die modellgetriebene Softwareentwicklung noch in einem sehr frühen Entwicklungsstadium befindet. So gibt es Ansätze verschiedener Hersteller, unterstützende Tools bereitzustellen, aber oft ist der generierte Output schwer wartbar oder die Umsetzung der Standardisierungen ist nicht ausreichend implementiert. Dies kann zu Problemen im Zusammenspiel mit anderen Softwareprodukten führen. Langzeiterfolge des MDA-Ansatzes sind sehr eng mit der

14 Entwicklung marktreifer, praxistauglicher MDA-Tools, speziell im Bereich der Model-to-Model-Transformation verknüpft. (20) International, als auch auf nationaler Ebene gibt es verschiedene, meist universitäre Forschungsprojekte, deren gemeinsames Ziel in der Optimierung der MDE- Entwicklungsmethoden liegt, um die Wirtschaftlichkeit dieses Verfahrens weiterhin zu optimieren. Gerade bei der Durchführung komplexer, großangesetzter Softwareentwicklungen wäre die Etablierung vollständiger, standardisierter MDE-Tools eine große Bereicherung. Es bleibt zu hoffen, dass Techniken, wie das MDA noch zu einem Durchbruch finden und nicht irgendwann lautlos verschwunden sein werden. Wie gezeigt wurde, gibt es noch offene Punkte beim MDA die besonders für Entwickler eine Eintrittsbarriere auf Grund der hohen Komplexität darstellen. Ein großer Vorteil von DSL hingegen ist, dass die Sprachkonzepte auf die Zieldomäne abgestimmt sind. Das heißt, dass in möglichst natürlicher Sprache, bezogen auf die Domäne, Sachverhalte formuliert werden können. Je nach Grad der Abstraktion und Syntax können dies auch Nicht-Entwickler übernehmen oder Experten der Domäne, ohne IT-Kenntnisse. Weiterhin ist die allgemeine Produktivität innerhalb des Projekts deutlich erhöht, sobald die DSL einmal fertiggestellt ist, da dann auf höherem Abstraktionsgrad gearbeitet werden kann. (21) 8 Literaturverzeichnis 1. Anneke Kleppe, Jos Warmer, Wim Bast. MDA Explained, The Practice. s.l. : Addison Wesley, OMG. The Architecture of Choice for a Changing World. [Online] 27 06, [Cited: 07 16, 2012.] Omondo UML. [Online] [Cited: 09 20, 2012.] /refactoring/refactor_class_class_diagram.png. 4. Wikipedia. Strukturiertes Design. [Online] [Cited: 09 20, 2012.] 5. FH-Aachen. Landing-Page. [Online] 6. Wikipedia. Domänenspezifische Sprache. [Online] [Cited: 08 12, 2012.] 7. Model Driven Architecture. [Online] 04 27, [Cited: 07 16, 2012.] 8. VSEK. Computation Independent Model (CIM). [Online] [Cited: 07 16, 2012.] 9. Thomas, Dr. Marc. MDA Praktisch. [PDF] s.l. : itemis GmbH & Co. KG, TU München - Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering. Research Areas. [Online] [Cited: 08 21, 2012.]

15 11. TU München - Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering. Aktuelle Projekte. [Online] [Cited: 08 21, 2012.] Universität Ulm. Model Driven Development. [Online] [Cited: 08 20, 2012.] Universität Ulm. ActiveCharts. [Online] [Cited: , 2012.] IT-Agile DIE EXPERTEN FÜR AGILE SOFTWAREENTWICKLUNG. Was ist agile Softwareentwicklung? [Online] [Cited: 07 26, 2012.] Universität Leipzig. Transferprojekt "Agile Model-Driven Architecture". [Online] [Cited: 07 26, 2012.] Frauenhofer. Schlagwort Suche: Model-Driven Engineering. [Online] [Cited: 07 26, 2012.] Vouffo-Feudjio, A.-G. Frauenhofer. A methodology for pattern-oriented model-driven testing of reactive software systems. [Online] [Cited: 07 26, 2012.] Vetter, Johannes. Model-Drive Architecture. Konzeption, Einordnung und Wirtschaftlichkeit. Ravensburg : GRIN Verlag, Software-Engineering. MDA in der Wissenschaft. [Online] [Cited: 07 23, 2012.] Thomas Stahl, Markus Völter. Modellgetriebene Softwareentwicklung Techniken, Engineering, Management. s.l. : dpunkt-verlag, Maximilian Stroh. Hauptseminar Web Engineering im SS Model Driven Development and Domain Specific Languages. [Online] [Cited: 09 21, 2012.]

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Inhalt. Motivation Techniken des MDE. Fallbeispiele ISE-Seminar 2012 Inhalt Motivation Techniken des MDE Computer Aided Software Engineering (CASE) Domain-Specific-Languages (DSL) Model Driven Architecture (MDA) Fallbeispiele Motivation Automatische Codegenerierung

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

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

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

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

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

INNOVATOR im Entwicklungsprozess

INNOVATOR im Entwicklungsprozess Erfahrungsbericht INNOVATOR im Entwicklungsprozess Basis für Host- und Java-Anwendungen Dr. Carl-Werner Oehlrich, Principal Consultant MID GmbH Das Modellierungswerkzeug INNOVATOR Geschäftsprozess-Modellierung

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

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken und Gestaltungsmethodik System-Modellierung Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur

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

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

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

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

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

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

Generatives Programmieren

Generatives Programmieren Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Jochen Bauer 08.01.2010

Jochen Bauer 08.01.2010 08.01.2010 Um was geht s und wie läuft s ab? Eclipse-EMP-MDT: Standards unter einem Dach! Gliederung 1. der Model (MDT) 2. Model-Driven- (MDD) und MDT 3. Interne Domain-Specific-Languages (DSL) 4. 5. 6.,

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen

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

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. Wir erledigen alles sofort Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. agilecoach.de Marc Bless Agiler Coach agilecoach.de Frage Wer hat

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 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

Es war einmal... StudyING: Welten bewegen - Welten gestalten Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific

Mehr

Modellbasierte Softwareentwicklung

Modellbasierte Softwareentwicklung CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution

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

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Product Line Engineering (PLE)

Product Line Engineering (PLE) Product Line Engineering (PLE) Produktlinienentwicklung Von Christoph Kuberczyk Christoph Kuberczyk, SE in der Wissenschaft 2015, Product Line Engineering 1 Gliederung 1. Was ist PLE? 2. Motivation 3.

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

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr. Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench

Mehr

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de Beispielhaft MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Agile Unternehmen durch Business Rules

Agile Unternehmen durch Business Rules Xpert.press Agile Unternehmen durch Business Rules Der Business Rules Ansatz Bearbeitet von Markus Schacher, Patrick Grässle 1. Auflage 2006. Buch. xiv, 340 S. Hardcover ISBN 978 3 540 25676 2 Format (B

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011 Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN

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

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

Wo sind meine Anforderungen?

Wo sind meine Anforderungen? Whitepaper Telekommunikation Wo sind meine Anforderungen? Eine effektive Lösung auf Basis von Confluence und JIRA 2011 SYRACOM AG 1 Einleitung Erfahrene Projektmitarbeiter sehen sich oftmals im Projektalltag

Mehr

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

Die Lernumgebung des Projekts Informationskompetenz

Die Lernumgebung des Projekts Informationskompetenz Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Geschäftsprozesse modellieren mit BPMN. Nürnberg, 10.11.2009

Geschäftsprozesse modellieren mit BPMN. Nürnberg, 10.11.2009 Geschäftsprozesse modellieren mit BPMN Nürnberg, 10.11.2009 I N H A L T 1. Warum noch ein Notation? 2. Grundlegende BPMN-Elemente 3. Prozess versus Interaktion 4. Services 5. Fazit Warum noch eine Notation?

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

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence WS 2013-14 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.10.2013 Business Intelligence Praktikum

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management REConf Schweiz 2010 IIBA BABOK 2.0 Wortzählung 1729 "Requirement" = 42% von ( Requirement + Business + Solution

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS Research Note zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com November 2009 Inhalt 1 EINFÜHRUNG

Mehr

Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN

Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN 19.Februar 2015 Hamburg 15:00 Uhr bis 18:00 Uhr IHK Hamburg Das Thema: WAS HABEN BACKENDS MIT USER EXPERIENCE ZU

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

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Seamless Model-based Engineering of a Reactive System

Seamless Model-based Engineering of a Reactive System Seamless Model-based Engineering of a Reactive System Seminar im Wintersemester 2013/2014 Andreas Vogelsang, Sebastian Eder, Georg Hackenberg, Maximilian Junker http://www4.in.tum.de/lehre/seminare/ws1314/seamless/

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

EPK Ereignisgesteuerte Prozesskette

EPK Ereignisgesteuerte Prozesskette Ausarbeitung zum Fachseminar Wintersemester 2008/09 EPK Ereignisgesteuerte Prozesskette Referent: Prof. Dr. Linn Ausarbeitung: Zlatko Tadic e-mail: ztadic@hotmail.com Fachhochschule Wiesbaden Fachbereich

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

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

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

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 QUALITÄT FÜR SIE Qualität zeigt sich in Ergebnissen und Erfolgen. Sie hängt von der jeweiligen Problemstellung ab, deshalb sehen wir

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

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

Enterprise Architecture Management (EAM)

Enterprise Architecture Management (EAM) your IT in line with your Business Enterprise Architecture Management (EAM) Unternehmensziele im Mittelpunkt der Informationstechnologie 2015 SYRACOM AG Part of Consileon Group Motivation für EAM In vielen

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation (Bei Abweichungen, die bspw. durch technischen Fortschritt entstehen können, ziehen Sie bitte immer das aktuelle Handbuch

Mehr

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS Analyse zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com Januar 2010 Inhalt Summary und Key Findings

Mehr

Model-Driven Development in Scrum-Projekten

Model-Driven Development in Scrum-Projekten Tempo machen: Model-Driven Development in Scrum-Projekten Herzlich willkommen Enrico Fritz microtool GmbH Berlin Tempo machen: Model-Driven Development in Scrum-Projekten 25 Jahre Tools und Beratung: microtool

Mehr