UML basierte Spezifikation von Benutzerschnittstellen

Größe: px
Ab Seite anzeigen:

Download "UML basierte Spezifikation von Benutzerschnittstellen"

Transkript

1 Universität Paderborn Fachbereich 17 - Mathematik/Informatik Arbeitsgruppe Softwaretechnik Warburger Straße 100 D Paderborn UML basierte Spezifikation von Benutzerschnittstellen Diplomarbeit für den integrierten Studiengang Informatik im Rahmen des Hauptstudiums II Michael Kisker Westerfeldstr Bielefeld vorgelegt bei Prof. Dr. W. Schäfer und Prof. Dr. G. Engels Paderborn, im Oktober 2001

2 ii

3 Erklärung Ich versichere, daß ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer, als der angegebenen Quellen angefertigt habe und daß die Arbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleistung angenommen worden ist. Alle Ausführungen, die wörtlich oder sinngemäß übernommen worden sind, sind als solche gekennzeichnet. Ort, Datum Unterschrift iii

4 iv

5 Inhaltsverzeichnis 1 Einleitung Motivation Systementwurf GFRN Editor Beispiel Probleme und Ziele Aufbau der Arbeit Spezifikation von graphischen Benutzerschnittstellen Einleitung MB-UIDE Objektorientierte Spezifikation von UI UI-Modellierung mit UML Wisdom UMLi OVID WYSIWYG Editoren Zusammenfassung Visuelle Spezifikation von System-Oberflächen-Kopplungen Einleitung Anforderungen an die Kopplung von Modell und Oberfläche GFRNImpl und Constraint AntecArc Beispiel : Anzeige aller Implikationen in einer Liste Beispiel: Anzeige des aktuellen Projektnamens im Hauptfenster 37 v

6 Inhaltsverzeichnis 3.3 Zusammenfassung: Präsentation Interaktion Fujaba Swing Adapter Einleitung Aufbau des Fujaba Swing Adapter Hierarchische Anordnung von Präsentationsmöglichkeiten GUIAggregation GUINeighbour Verschiedene Präsentationsmöglichkeiten für eine Klasse Erzeugen und Löschen von Präsentationsteilbäumen Öffnen und Schließen eines Windows Parser/Unparser Bausteine Einleitung Observer Mechanismen MVC PAC SwingMVC FSA Controller Die Controller Idee Die Controller Varianten (Äquivalenzklassen) Die verschiedenen gebundenen Eigenschaften Events Dialoge Mediator Pattern Entity-Task-Presentation Modell Dialoge mit dem Fujaba User Interface (FUI) vi

7 Inhaltsverzeichnis 6 Generierung von Parser/Unparser Bausteinen Ablauf Unparsemodule Präsentation Interaktion Controller mit direkt erreichbarer Systemklasse Controller mit dem graphischen Vater als Systemklasse Controller mit dem graphischen Kind als Systemklasse Controller mit einer über Pfad erreichbaren Systemklasse Aufbau der Methoden Zusammenfassung Anwendung am GFRN Beispiel Der GFRNEditor und sein GFRNView GFRNImpl ConsequentArc Der CreateAntecArcDialog Implementierung von Listener Zusammenfassung und Ausblick 109 vii

8 Inhaltsverzeichnis viii

9 Abbildungsverzeichnis 1.1 GFRN Klassendiagramm Graphische Darstellung eines GFRN Fujaba Aktivitätsdiagramme GFRNEditor.get () Aktivitätsdiagramm Das User Interface Design in MB-UIDE [ds00] Die Architektur des Wisdom Modells [Nun01] Die Architektur der Benutzerschnittstelle von Wisdom [Nun01] Überblick über den Transformationsprozeß von Wisdom nach AUIML [Nun01] Vorstellbare Entwicklungsumgebung zur automatischen Generierung aus Dialog-Modellen [Nun01] Die deklarativen UI-Modelle von UMLi [dsp00a] Das SearchBook User Interface [dsp00a] Das SearchBook Aktivitätsdiagramm [dsp00a] Der User Interface Eisberg [BRIM] Das OVID Modell [BRIM] OVID Beispiel einer Raumreservierung [BRIM] Von OVID nach AUIML [AMR] GFRNImpl Design View Swing Container Palette Auswahl PropertyEditor Custom FontEditor Component Events Source Code Editor ix

10 Abbildungsverzeichnis 2.19 Überblick OO und HCI Methoden Integration versus Kopplung Kopplung UML User Interface (Swing) Beziehung : GFRNImpl Constraint AntecArc GFRNArc kein Bestandteil eines GFRNViews GFRNEditor mit Single Document Interface GFRNEditor mit Multiple Document Interface Beziehung : Editor GFRNView Bridge Pattern [GHJV95] UML-UI-Bridge Object Adapter Fujaba Swing Adapter GFRNImpl und User Interface FSA Composite GUIAggregation GUINeighbour FSAContext Präsentation UI Composition bei GFRNImpl, Constraint und PredParam Model-View-Controller State and Message Sending[KP88] PAC Struktur [Cou87] Swing MVC Kommunikation [Gea99b] Beziehung : FSAComponent AbstractController Vereinfachter Controller Aufbau UmlToFsaController FsaToUmlController UmlAndFsaController Interaktion zwischen System.double und UI.text FSA Controller Notation Eine UML- und mehrere FSA-Eigenschaften x

11 Abbildungsverzeichnis 5.12 Mehrere UML- und eine FSA-Eigenschaft UMLAttr Controller UMLAssoc Controller Variante A UMLAssoc Controller Variante B UMLAttr mit UMLAssoc Controller Vereinfachter Aufbau eines PathController UMLAttr mit mehreren UMLAssoc Controllern Beziehung : FSAComponent MouseListener Implement Interface Dialog Mouse- and Motionlistener mousedragged Implementierung Mediator Pattern [GHJV95] ETP Sequenz Diagramm Dialog im Fujaba User Interface Builder Generierungsablauf der Module Unparsemodul Klassendiagramm FUI Componenttree Klassendiagramm Generierte UMLStoryActivity FUI-Inspector Klassendiagramm (vereinfacht) FSA-Komponente mit modifizierten Attributen create Aktivitätsdiagramm MVCComposer Controller mit direkter Systemklasse Controller mit graphischem Vater als Systemklasse Controller mit graphischem Kind als Systemklasse Controller mit über Pfad erreichbarer Systemklasse Aufbau der create Methode UMLStoryaktivitäten in der Unparsemodul.remove Methode GFRNEditor im MVCComposer GFRNView im MVCComposer xi

12 Abbildungsverzeichnis 7.3 GUIAggregationController im Inspector OnePathController in der GFRNEditorUnparse.create Methode GFRNImpl im GUI-Builder GFRNImpl im MVCComposer GFRNImpl.confidence im Inspector GFRNImpl.confidence Activity ConseqArc im MVCComposer ConseqArc.gFRNIMPL im Inspector ConsequentArc.create Activity CreateAntecArcDialog im MVCComposer ComboBoxModelSelectedItemController im Inspector ComboBoxSelectedItemController Aktivität ComboBoxModelData im MVCComposer ComboBoxModelDataController im Inspector ComboBoxDataController Aktivität NewAntecArcListener NewImplListener xii

13 Tabellenverzeichnis 2.1 UML-Diagramme zur Modellierung von UI-Elementen [dsp00b] Stereotypen für das Präsentationsmodell von Wisdom [Nun01] UMLi Selection States [dsp00a] xiii

14 Tabellenverzeichnis xiv

15 Akronyme AUIML - Abstract User-Interface Modeling Language CASE - Computer Aided Software Engineering CTT - ConcurTaskTree CUA - Common User Access ETP - Entity-Task-Presentation FSA - Fujaba Swing Adapter FUI - Fujaba User Interface GUI - Graphical User Interface HCI - Human Computer Interaction MBDE - Model-based Development Environment MOF - Meta Object Facility OMG - Object Management Group OMT - Object Modeling Technique OO - Object-Oriented OOA&D - Object-Oriented Analysis and Design OOSE - Object-Oriented Software Engineering OVID - Object, View and Interaction Design UI - User Interface UML - Unified Modeling Language UP - Unified Process XMI - XML Metadata Interchange XML - extensible Markup Language XSL - extensible Stylesheet Language xv

16 Tabellenverzeichnis xvi

17 1 Einleitung 1.1 Motivation Die Softwaretechnik wird heute als eine Ingenieursdisziplin angesehen. Die Entwicklung wird nicht als Künstlertum, sondern als technischer Prozeß verstanden, der marktorientiert einen optimalen Kompromiss findet. Die Softwaretechnik stellt dazu Prinzipien, Methoden, Konzepte, Notationen und Werkzeuge zum Entwickeln von Software zur Verfügung. Die Softwareentwicklung hat dann die Aufgabe, aus einem geplanten Produkt ein fertiges Produkt zu entwickeln, das die geforderten Qualitätseigenschaften besitzt. Um mit der gestiegenen Komplexität von Softwareentwicklung umzugehen, werden Modelle entwickelt, mit denen vom eigentlichen System abstrahiert wird. Inhaltlich übernommen aus [Bal98] Zur Modellierung von Softwaresystemen wurden in den 70er- und 80er-Jahren einige Methoden entwickelt, die in der Unified Modeling Language (UML) vereinigt wurden. Die UML wird heute als de facto Standard zum Systementwurf angesehen. Um die Entwicklung von Benutzerschnittstellen zu unterstützen wurden verschiedene Tools entwickelt, die unter anderem eine modellbasierte oder eine interaktive graphische Entwicklung anbieten. Das Problem der Verbindung von Systemen mit ihren Benutzerschnittstellen ist bis heute nicht befriedigend gelöst. Es existieren einige Ansätze, die versuchen die Modellbildung für Systeme auf die Entwicklung von Benutzerschnittstellen zu übertragen. Auf der anderen Seite werden Tools, die zur Entwicklung von User Interfaces dienen, mit erweiterter Funktionalität ausgestattet mit dem Versuch die Systementwicklung zu unterstützen. Die vorliegende Arbeit zeigt eine Möglichkeit, die entwickelten Systeme und Benutzerschnittstellen zu verbinden. 1.2 Systementwurf In einer Phase zwischen Mitte der 70er-Jahre und Mitte der 90er-Jahre entstanden zahlreiche objektorientierte Modellierungsmethoden, die jeweils einem eigenen Stan- 1

18 1 Einleitung dard folgten. Die bekanntesten Methoden wurden Anfang der 90er-Jahre Booch- Diagramme von Grady Booch, OMT 1 von Jim Rumbaugh und OOSE 2 von Ivar Jacobson. Anfang 1993 startete Grady Booch einen Versuch eine OO-A&D 3 Standardisierung herbeizuführen, mit dem Ziel, die jeweiligen Vorteile der einzelnen Ansätze zu vereinigen. Dieser Vorstoß war allerdings nicht von Erfolg gekrönt, da die meisten daran zu beteiligenden Personen so eine Standardisierung zu diesem Zeitpunkt nicht für wünschenswert erachteten. Nachdem Jim Rumbaugh im Okt dem Unternehmen Rational Software beitrat, entschied sich Rational mit den vereinten Kräften von Rumbaugh und Booch einen eigenen Standardisierungsansatz ins Leben zu rufen (Unified Method, Version 0.8). Mit dem Beitritt von Ivar Jacobson zu Rational erfolgte eine Vereinigung der 3 bekanntesten Modellierungsansätze. Als Ergebnis wurde im Januar 1997 UML 1.0 veröffentlicht. Seit November 1997 ist UML offiziell von der OMG akzeptierter Industriestandard. Die aktuelle Version der UML ist 1.3 [UML] und die UML 1.4 wird in den nächsten Monaten offiziell freigegeben. Die Modellierungssprache UML unterstützt verschiedene Diagrammarten zur Modellierung statischer und dynamischer Zusammenhänge. Use Case Diagramme Klassendiagramme Verhaltensdiagramme Statechartdiagramme Aktivitätsdiagramme Interaktionsdiagramme Sequenzdiagramme Kollaborationsdiagramme Implementierungsdiagramme Komponentendiagramme Verteilungsdiagramme Detailliertere Beschreibungen der UML und ihrer Diagrammarten gibt es in der offiziellen UML-Dokumentation [UML], in The Unified Modeling Language Reference 1 OMT : Object Modeling Technique 2 OOSE : Object-Oriented Software Engineering 3 OO-A&D : Object-Oriented Analysis & Design 2

19 1.3 GFRN Editor Beispiel Manual [RJB98], in The Unified Modeling Language User Guide [BRJ98] und in UML in a Nutshell [Alh98]. Zur Unterstützung des etablierten Entwicklungsprozesses mit der UML bieten verschiedene Tools Hilfe an. Es existieren kommerzielle Entwicklungsumgebungen wie TogetherJ und Rational Rose sowie freie, wie Fujaba und Argo. 1.3 GFRN Editor Beispiel Die vorliegende Arbeit verwendet die Modellierung eines Generic Fuzzy Reasoning Net (GFRN) um die verschiedenen Anforderungen an eine Verbindung von System und Benutzerschnittstelle an einem Beispiel darzustellen. GFRNs sind ein typisches Beispiel, da in der Informatik viele Diagramme mit einer eigenen Semantik entwickelt werden. Ein Tool, das Unterstützung bei der Arbeit mit diesen Diagrammen anbietet, muß die interne Darstellung im System und die externe Darstellung an der Oberfläche verarbeiten können. GFRNEditor 0..1hasCurrentView > 0..1 < hasgfrnpred {ordered} GFRNView viewname : String n AntecArc n hasgfrnimpl {ordered} > 0..1 PredParam hasoutarcs ^ name : String n haspredparam ^ n 0..1 n GFRNPred GFRNArc name : String 0..1 v hasinarcs haspredparams ^ hasinarcs ^ < hasconstraints n n Constraint name : String n GFRNImpl confidence : Integer id : String threshold : Integer 0..1 v hasoutarcs n ConseqArc n Abbildung 1.1: GFRN Klassendiagramm Hier soll nur der Aufbau eines GFRNs und nicht seine Funktionsweise erklärt werden. Eine detailliertere Beschreibung von GFRNs befindet sich in Management of Uncertainty and Inconsistency in Database Reengineering Processes [Jah99]. 3

20 1 Einleitung In Abbildung 1.1 ist ein Klassendiagramm abgebildet, welches die wesentlichen Elemente eines GFRN enthält. Das Netz wird durch eine Klasse GFRNView dargestellt und besteht im Wesentlichen aus Implikationen (GFRNImpl), Prädikaten (GFRNPred) und Kanten (AntecArc, ConsequentArc) zwischen Implikationen und Prädikaten. Ein Prädikat besitzt eingehende (ConseqArc) und ausgehende (AntecArc) Kanten. Wichtigstes Attribut ist ein Name, durch den sich ein Prädikat hauptsächlich von anderen unterscheidet. (Theoretisch kann es mehrere Prädikate mit gleichem Namen und einer unterschiedlichen Anzahl von Parametern geben, dieses kommt hier in der Praxis aber nicht vor). Eine Implikation besitzt eine Menge von eingehenden (AntecArc) und ausgehenden (ConseqArc) Kanten. Wichtige Attribute einer Implikation sind id, es kennzeichnet eine Implikation eindeutig, und confidence und threshold. Eine GFRNImpl besitzt eine Menge von Constraints die zur Laufzeit ausgewertet werden. Sie bestehen aus einem Funktionsnamen und einer Menge von Parametern, den PredParams. Jede Kante besitzt ein PredParam, durch dessen Attribut name ihr Name in einer graphischen Darstellung bestimmt wird (Alle Kanten, die dasselbe PredParam besitzen, heißen also gleich). Jede Implikation und jedes Prädikat kann mehrere Kanten besitzen, die den gleichen Namen haben, also das gleiche PredParam besitzen. Für eine Implikation allerdings ist eine PredParam, identifiziert durch seinen Namen, eindeutig. preda k i5 : 80 / 20 equals(k,i) i predb i predc Abbildung 1.2: Graphische Darstellung eines GFRN Die Abbildung 1.2 zeigt die graphische Darstellung eines GFRNs. Es besteht aus Prädikaten mit den Namen preda, predb und predc, einer Implikation mit der id i5, AntecArcs k und i und einer ConseqArc i. Die Implikation hat als confidence den Wert 80 und als threshold den Wert 20. Das Constraint der Implikation ist equals, welche die über die beiden AntecArcs erhalten Werte auf Gleichheit überprüft. Die Umsetzung des GFRN Modells erfolgte mit Fujaba. Dieses UML-Entwicklungstool entstand im Rahmen einer Diplomarbeit [FNT98] und der Projektgruppe Fujaba [FUJ] an der Universität Paderborn. Die in Fujaba integrierten Storydiagramme dienen zur Definition von Methoden. Die Diagramme bestehen aus Aktivitäten mit eingebetteten Kollaborationsdiagrammen. Die Aktivität in Abbildung 1.3 beginnt wie alle Aktivitäten mit einem Startzustand. Mit einer Standardtransition kann er mit einer Aktivität 4

21 1.3 GFRN Editor Beispiel verbunden werden. Die erste Aktivität ist ein einfaches Statement, das normale Programmanweisungen enthält. Durch eine weitere Transition wird der Kontrollfluss mit einer Storyaktivität fortgesetzt. In ihr kann durch Objekte und Links dynamisches Verhalten beschrieben werden. Abbildung 1.3: Fujaba Aktivitätsdiagramme Die Variable edi ist zu Beginn der Aktivität gebunden. Über eine Beziehung zu der Klasse GFRNView versucht edi eine Variable oldview zu binden. Da oldview optional ist, gekennzeichnet durch eine graue Beschriftung, muß die Variable nicht zwingend gebunden werden. Wenn sie es wird, so wird durch destroy gekennzeichnet, daß sie gelöscht werden soll. In der folgenden Aktivität wird durch create eine neue Instanz newview der Klasse GFRNView erzeugt. Von edi aus wird ein Link zu newview erzeugt. Der Kontrollfluß in dem Diagramm wird durch eine Stopaktivität Stop beendet. Durch NOP-Aktivitäten, Transitionen mit einer boolschen Bedingung [bool expr] und alternativen Transitionen [else] können Kontrollstrukturen wie die if-then Anweisung in Abbildung 1.4 erzeugt werden. Eine Einführung in Story Driven Modeling (SDM) befindet sich in Konzeption und Realisierung einer integrierten Entwicklungsumgebung für UML, Java und Story- 5

22 1 Einleitung GFRNEditor::get (): GFRNEditor [else] [theinstance == null ] STOP theinstance = new GFRNEditor () ; Abbildung 1.4: GFRNEditor.get () Aktivitätsdiagramm Driven-Modeling [FNT98] und in Rigorous Object Oriented Software Development [Zün01] 1.4 Probleme und Ziele Heutige Programme bestehen meistens aus einer graphischen Benutzerschnittstelle, über die der Benutzer auf ein unter der Oberfläche liegendes System zugreift. Die Aufgaben eines Programms können in diese beiden Elemente unterteilt werden. Das System beinhaltet die eigentlichen Daten und die Ablaufsteuerung des Programms. Die Benutzerschnittstelle ist für die Darstellung der internen Daten und die Interaktion mit dem Benutzer zuständig. Die Entwicklung eines Softwaresystems teilt sich in diese beiden Bereiche. Im Bereich der Systementwicklung hat sich mit der UML ein de facto Standard zur Entwicklung durchgesetzt, für den umfassende Toolunterstützung existiert. Zur Entwicklung von graphischen Benutzerschnittstellen existieren verschiedene Ansätze, die sich dem Problem unter anderem über Modellbildung wie bei UML oder interaktive graphische Spezifikationen nähern. Jeder der Ansätze hat im Entwicklungsprozeß seine Stärken und Schwächen. Gemein ist allen eine fehlende Anbindung der erzeugten Benutzerschnittstelle an das interne System. Die existierenden Lösungen zur Spezifikation von Benutzerschnittstellen besitzen im Normalfall nicht direkt die Möglichkeit auf UML-Modelle zugreifen zu können. Die Spezifikation des Systems erfolgt entweder direkt über die Eingabe von Quelltexten, oder es wird versucht die Modelle über Techniken wie XMI auszutauschen. Beide Varianten haben eine Vermischung von System- und Benutzerschnittstellen-Elementen zur Folge. Die Verfahren erzwingen eine direkte Implementierung des Systemcodes im UI-Code oder andersherum. Dies führt zu einer Codevermischung, erschwert die Entwicklung und mindert die Verwendungsmöglichkeiten von Systemmodellen. Die aufgezählten Tools zur Unterstützung des UML-Entwicklungsprozesses besitzen zum jetzigen Zeitpunkt keine Möglichkeiten zur graphischen Spezifikation von Benutzerschnittstellen. Die Anbindung von User Interfaces (UI) kann nur durch 6

23 1.5 Aufbau der Arbeit Im- und Export von Modellen erfolgen. Daraus resultiert eine eigentlich nicht gewollte Integration von System- und UI-Modell. Die Möglichkeiten zur Erzeugung eines lauffähigen Programmes aus diesen vermischten Modellen sind außerdem zum jetzigen Zeitpunkt äußerst gering. Die bisherigen Möglichkeiten zur Kombination erzwingen meistens ein Verlassen der Modellebene. Die Spezifikation von Interaktionsbeziehungen wird entweder nicht unterstützt, muß direkt im Quelltext erfolgen oder kann nicht in ein lauffähiges Programm umgesetzt werden. In dieser Arbeit soll die Systementwicklung mit Hilfe der UML-Entwicklungsumgebung Fujaba mit einer interaktiven graphischen Spezifikation, im weiteren auch als GUI-Builder bezeichnet, verbunden werden. Hierbei wird die Verbindung als eine Kopplung betrachtet. Die einzelnen Entwicklungsschritte auf System- und Benutzerschnittstellenseite werden nicht angetastet. Zwischen diesen Elementen wird eine Kopplungsschicht eingefügt. In dieser kann der Benutzer spezifizieren, in welchem Zusammenhang Klassen des Systems und Elemente der Benutzeroberflächen stehen. Zuerst kann einer Systemklasse eine eigene Darstellung zugeordnet werden. Danach kann der Benutzer bestimmen, welche Parameter der Benutzerschnittstelle von Systemattributen beeinflusst werden und umgekehrt. Der Benutzer kann also graphisch alle Interaktionsbeziehungen zwischen System und UI festlegen. Diese Informationen werden zusammen mit der Codegenerierung von Fujaba in ausführbaren Code übersetzt. Mit diesem kann zur Laufzeit für eine Klasse des Systems eine Oberfläche erzeugt werden, mit der der Endanwender mit dem System interagieren kann. 1.5 Aufbau der Arbeit Im folgenden Kapitel 2 werden die Möglichkeiten zur modellbasierten und objektorientierten Modellierung vorgestellt. Diese Methoden werden mit der interaktiven graphischen Spezifikation verglichen. Im Kapitel 3 werden auf Grund der Analyse des GFRN Editor Beispiels einige Anforderungen an eine Kopplung von Systemund UI-Entwicklung gestellt. Die strukturelle Grundlage der Lösung bildet der in Kapitel 4 vorgestellte Fujaba Swing Adapter (FSA). Hier wird die Anbindung von Präsentationen an Systemklassen beschrieben. Im Kapitel 5 wird der Adapter um Controller erweitert, die zur Laufzeit für die Interaktion zwischen System und Benutzerschnittstelle sorgen. Die Umsetzung der vom Benutzer vorgegebenen Spezifikation mittels des Codegenerierungsprozesses wird in Kapitel 6 behandelt. Die erarbeitete Lösung wird in Kapitel 7 an einem Beispiel überprüft. Die Arbeit endet mit einer Zusammenfassung und einem Ausblick in Kapitel 8. 7

24 1 Einleitung 8

25 2 Spezifikation von graphischen Benutzerschnittstellen 2.1 Einleitung Die Entwicklung von Benutzerschnittstellen ist eine sehr aufwendige und schwierige Angelegenheit. In den meisten Studien, zum Beispiel User Interface Software Tools von Brad Myers [Mye94], wird der Anteil vom UI-Code 1 an einem Programm mit über 50% angegeben. Um den Programmierer bei der Entwicklung zu unterstützen wurden deshalb verschiedene Techniken entwickelt ([Mye94]). Aus dem Bereich der interaktiven graphischen Spezifikation stammen die heute weit verbreiteten GUI-Builder. Mit ihnen kann eine Benutzeroberfläche durch intuitive graphische Anordnung von zur Verfügung stehenden Widgets eines vom System abhängigen Toolkits entwickelt werden. Der Bereich der Human Computer Interaction (HCI) beschäftigt sich mit der systematischen Entwicklung von Benutzeroberflächen. Um den Entwicklungsprozeß von Benutzerschnittstellen zu verbessern wurden verschiedene Methoden entwickelt (Übersicht in [Mye94]). Ein wichtiger Schritt war die Entwicklung von Modellen, um die Eigenschaften einer Schnittstelle besser beschreiben zu können und den Entwickler von der Detailkenntnis spezieller Toolkits zu befreien (2.2). Mit dem Erscheinen der UML als quasi Standard der Modellierung von Systemen begannen Überlegungen, sich diese Sprache zur Modellierung von Benutzerschnittstellen anzueignen und zu einer objektorientierten Modellierung überzugehen. Untersuchungen (2.3.1) ergaben, daß die UML in ihrer jetzigen Form an einigen Stellen unzureichend zur Modellierung spezieller Interaktionsaspekte war. Als Folge dessen begannen einige Informatiker Erweiterungen (zum Beispiel UMLi 2.3.3, Wisdom 2.3.2) auszuarbeiten. Ziel ist die Erarbeitung eines UML Profile for Interaction Systems. 1 UI : User Interface 9

26 2 Spezifikation von graphischen Benutzerschnittstellen 2.2 MB-UIDE Die modellbasierten User Interface Entwicklungsumgebungen (MB-UIDE) haben das Ziel, Design und Implementierung von Benutzerschnittstellen professioneller und systematischer als mit herkömmlichen UI-Entwicklungstools zu betreiben. Durch Einführung von Abstraktionsebenen und automatischer Generierung der eigentlichen Benutzerschnittstelle sollte der Entwickler entlastet werden. Hierzu werden die Benutzerschnittstellen durch eine Menge von deklarativen Modellen, manchmal auch als Spezifikationen bezeichnet ([Sze95]), beschrieben. In diesen werden die Interaktionsmöglichkeiten für den Benutzer, Inhalt, Struktur und Layout der Benutzerschnittstelle sowie ihrer Rollen bei der Benutzerinteraktion festgelegt. Hierbei wird User Interface Declarative Models and Development Environements: A Survey ([ds00]) zwischen vier Modellarten unterschieden. Applikationsmodell (Application model, AM) In diesem Modell werden die Applikationseigenschaften beschrieben, die für die Benutzerschnittstelle relevant sind. Aufgabe-Dialog-Modell (Task-Dialogue model, TDM) Hier werden die Aufgaben beschrieben, die ein Benutzer ausführen kann sowie die Beziehungen der Aufgaben untereinander. Abstraktes Präsentationsmodell (Abstract presentation model, APM) Das Modell bietet eine konzeptionelle Beschreibung von Struktur und Verhalten der sichtbaren Elemente einer Benutzerschnittstelle. Konkretes Präsentationsmodell (Concrete presentation model, CPM) Das CPM beschreibt detailliert den Aufbau aller Elemente des UI. Es wird beschrieben, wie diese Elemente mit Widgets aus Toolkits realisiert werden. Der UI-Entwicklungsprozeß ist inkrementell (siehe Abbildung 2.1). UI-Design und -Implementierung können beliebig wiederholt werden, bis die als Ergebnis erzielte Spezifikation der Benutzerschnittstelle den Anforderungen entspricht. Ein abstract design tool generiert aus den vorhandenen task-dialogue und application models mit Hilfe von Wissen über gutes Design ein abstract presentation model. In einer MB- UIDE kann ein concrete design tool aus einem abstrakten Präsentationsmodell ein konkretes PM generieren. Modellbasierte User Interface Entwicklungsumgebungen beschreiben ihre Modelle meistens in einer eigenen Sprache, die der Anwender erst mal erlernen muß. Dies ist ein Problem, warum sich MB-UIDE bis heute nicht richtig durchgesetzt haben. Zum anderen sind bei den meisten Tools die Möglichkeiten der Interfaces, die sie generieren können, bedeutenden Einschränkungen unterworfen und die Qualität der generierten Benutzerschnittstellen ist meistens erheblich schlechter, als wenn sie auf herkömmliche Art und Weise entwickelt worden wären. [MHP00] 10

27 2.3 Objektorientierte Spezifikation von UI User interface model Modelling Tools Application model Abstract design tool Design Knowledge Task dialogue model Developer Modelling assisants Abstract presentation model Concrete presentation model concrete design tool Presentation Guidelines Abbildung 2.1: Das User Interface Design in MB-UIDE [ds00] 2.3 Objektorientierte Spezifikation von UI Mit dem Erscheinen der UML als de facto Standard begannen viele Informatiker Techniken zu entwickeln, mit denen die objektorientierte Modellierung von Systemen mit der UML und die Entwicklung von Benutzerschnittstellen mit Elementen aus dem Bereich der Human Computer Interaction (HCI) miteinander verbunden werden können. Untersuchungen, zum Beispiel User Interface Modeling with UML [dsp00b] zeigen, daß die UML in ihrem jetzigen Zustand den Anforderungen zur Modellierung interaktiver Benutzerschnittstellen nicht genügt. Von einigen Informatikern werden zum Beispiel die Use Cases in ihrer jetzigen Form als ungenügend empfunden. Deshalb erweitern viele Forschungsansätze die UML um eigene Diagramme, um den Anforderungen an das Design interaktiver Systeme gerecht zu werden. Ein Beispiel sind die essential Use Cases von Constantine ([CL99]). Des Weiteren wird versucht, eine HCI-Analogie zum Entwicklungsprozess mit der UML, dem Unified Process ([JBR99]), bestehend aus Anforderungsanalyse, objektorientierter Analyse, objektorientiertem Design, Implementierung und Test zu erarbeiten. Am Ende der Forschungen soll dann ein UML Profile für Interaction Systems stehen UI-Modellierung mit UML In [dsp00b] wird untersucht, wie mit der UML Aspekte der UI-Entwicklung beschrieben werden können. Dazu werden bei den Benutzerschnittstellen die Ideen aus dem Bereich MB-UIDE wie Task und Presentation Model aufgegriffen. 11

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

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

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information

Mehr

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

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

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

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

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

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

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

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

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

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

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

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

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

Rhapsody in J Modellierung von Echtzeitsystemen

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

Mehr

Informationssystemanalyse Use Cases 11 1

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

Mehr

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

2. Automatische Codegenerierung mittels dynamischer Spezialisierung 2 Automatische Codegenerierung mittels dynamischer Spezialisierung 1/16 Quelle: Vicente Pelechano, Oscar Pastor, Emilio Insfran Automated code generation of dynamic specializations: An approach based on

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

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

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

Phasen. Gliederung. Rational Unified Process

Phasen. Gliederung. Rational Unified Process Rational Unified Process Version 4.0 Version 4.1 Version 5.1 Version 5.5 Version 2000 Version 2001 1996 1997 1998 1999 2000 2001 Rational Approach Objectory Process OMT Booch SQA Test Process Requirements

Mehr

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 1 Gliederung Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 2 Rational Unified

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

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

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

Mehr

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de Innovator 11 classix Erweiterter XMI-Export aus Innovator Business und Object classix HowTo www.mid.de Erweiterter XMI-Export aus Innovator Business und Object classix Inhaltsverzeichnis Zweck... 2 Modellinhalte

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

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

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

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

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Software Engineering und Projektmanagement

Software Engineering und Projektmanagement Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:

Mehr

Requirements Engineering. Requirements Engineering. Requirements Engineering. Requirements Engineering. Requirements Engineering

Requirements Engineering. Requirements Engineering. Requirements Engineering. Requirements Engineering. Requirements Engineering 1. Einführung Bemerkungen 2. Analyse Methoden/Techniken 3. Entwurf Notationsformen 4. Werkzeugunterstützung Erfahrungen 5. Usability Test Hinweise Peter Forbrig zu 1. 1 1. Einführung SE versus HCI Analyse

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

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,

Mehr

Web Engineering-Seminar. Methodenvergleich. Philipp Kanis Marco Jäckels

Web Engineering-Seminar. Methodenvergleich. Philipp Kanis Marco Jäckels Web Engineering-Seminar Methodenvergleich Philipp Kanis Marco Jäckels 1 Gliederung 1. Einführung 1.1 Warum Methodenvergleich 1.2 Anforderungen an Modellierungssprachen 2. Methodenüberblick 2.1 UWE 2.2

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01] Inhaltsverzeichnis 1 Einleitung 4 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 5 1.2 Eclipse als Java Entwicklungsumgebung................. 22 2 Planungsmethoden 29 2.1 Definitionsphase..............................

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner Proseminar Website-Management-Systeme ZOPE/CMF Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Arbeitsgruppe Softwaretechnik Betreuer: Dipl. Inf. Christian Stenzel Überblick

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Anforderungsmanagement

Anforderungsmanagement Gerhard Versteegen (Hrsg.) Alexander Heßeier Colin Hood Christian Missling Renate Stücka Anforderungsmanagement Formale Prozesse, Praxiserfahrungen, Einführungsstrategien und Toolauswahl Springer Inhaltsverzeichnis

Mehr

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

Software Engineering 2 Konstruktion interaktiver (CASE) Tools

Software Engineering 2 Konstruktion interaktiver (CASE) Tools Software Engineering 2 Konstruktion interaktiver (CASE) Tools SS 2005 Albert Zündorf, Software Engineering Administratives Vorlesung: Montags 1012 Uhr im CIP Pool Prüfung: Projektarbeit (wir basteln uns

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

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

Mehr

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code. Current Workflow Rules T1 Rules Extensions XMLfile DOM processing with Meta API-calls Model 1 T2 Model 2 Code Generation (Smarty) Source code PP formatted sourcecode DTD V1 Rules XMI 1/21 Anbindung eines

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

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

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten Naked-FHIR Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. HL7 Jahrestagung 2015 18. März 2015 Einführung HL7 FHIR stellt eine Reihe an Basis-Ressourcen zur Verfügung Über Zweite Conformance

Mehr

VBA-Programmierung: Zusammenfassung

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

Mehr

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

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

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Holger Sinnerbrink Einführung Firmenentwicklung Gründung von Telelogic 1983 als Forschungs- und Entwicklungsabteilung

Mehr

Projekt AGB-10 Fremdprojektanalyse

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

Mehr

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung

Mehr

J.2 Objektorientiertes Modellieren mit UML

J.2 Objektorientiertes Modellieren mit UML Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

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

Mehr

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

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

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

Mehr

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

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

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Progwerkstatt Philipp Güttler, Christoph Schied, Nicolai Waniek 01.12.2008 Seite 2 Drucken Drucken ist eigentlich ganz einfach...

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

Mehr

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr