Model-Driven Engineering
|
|
- Felix Sternberg
- vor 8 Jahren
- Abrufe
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
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
MehrVortrag 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
MehrActiveCharts. 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
MehrModel 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
MehrModel 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
MehrModel 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
MehrSoftwaretechnik (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
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrINNOVATOR 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
MehrSEA. 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
MehrEinfü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
MehrSystemdenken 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 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,
MehrGenerative 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
MehrModel 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,
MehrComparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
MehrIntegration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.
Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung
MehrCopyright 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
MehrGeneratives Programmieren
Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare
MehrKlassenentwurf. 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
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrJochen 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.,
MehrKapitel 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
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
MehrC++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
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrModellgetriebene 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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrSoftware 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
MehrRobot 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
MehrTypisierung des Replikationsplan Wirries, Denis Datenbankspezialist
Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan
MehrWarum 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
MehrKapitelü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
MehrKonsolidierung 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
MehrObjektorientierter 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
MehrJava 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
MehrQt-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 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrSSI 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
MehrWir 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
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
MehrWordPress. Dokumentation
WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,
MehrEs 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!
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
Mehrextreme 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?
MehrVorgetragen 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
MehrModellbasierte 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
MehrWas 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
MehrVermeiden 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
MehrContent 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,
MehrSystemen 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
MehrInformationssystemanalyse 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
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrProduct 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.
MehrNeue 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
MehrLanguage 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
MehrBeispielhaft 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
MehrSoftware 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,
MehrAgile 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
MehrInformationswirtschaft 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
MehrInformationswirtschaft 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
MehrStuPro-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
MehrModel 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
MehrEvaluation 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
Mehrarlanis 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
MehrSoftware 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
MehrWo 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
MehrSoftware-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
MehrDie 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
MehrTTS - 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
MehrGeschä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?
MehrSoftwaretechnik. 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
MehrBusiness 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
MehrInstallation 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
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrÜ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
MehrEinfü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
MehrResearch 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
MehrSaxonia 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
MehrAndreas 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
MehrVL2: 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
MehrSome 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
MehrSeamless 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/
MehrAnzeige 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
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
MehrEPK 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
MehrTransfer 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
MehrAnhand 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
MehrSoftware-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
MehrREQUIREMENTS 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
MehrDas 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?
MehrDr. 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??
MehrEnterprise 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
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrDiplomarbeit. 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
MehrDokumentation 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
MehrAnalyse 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
MehrModel-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