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

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

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

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

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

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

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

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

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

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

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

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

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

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 XMI & Java von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 1. XMI XML Metadata Interchange - Ziele und Historie - Metamodellarchitektur der OMG und MOF - XMI Dokumente und XMI DTD Ziele und Historie

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

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

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Stefan Link, Thomas Schuster, Philip Hoyer, Sebastian Abeck Institut für Telematik, Fakultät für Informatik Universität Karlsruhe (TH)

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

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

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

Mehr

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

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

Visuelle Sprachen. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Visuelle Sprachen. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Visuelle Sprachen Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg 1 Beispiele für visuelle Sprachen Modellierungssprachen: Automaten, Statecharts Entity-Relationship-Diagramme (ER-Diagramme)

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

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

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 und Java Einheit 01: Einführung in Eclipse

Eclipse und Java Einheit 01: Einführung in Eclipse Eclipse und Java Einheit 01: Einführung in Eclipse Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Hintergrundwissen

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

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

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

Softwaretechnik (Medieninformatik) Überblick

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

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

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine

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

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

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG YAKINDU Requirements Requirements Engineering, Management and Traceability with Eclipse Lars Martin, itemis AG Agenda YAKINDU Requirements Motivation: Warum Requirements Engineering? Grundlagen: Requirements

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

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

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE CO-MAT-TECH 2004 14-15 October 2004 BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE Roman NAGY External doctorand

Mehr

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

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

Mehr

TUDOOR - Ein Java Adapter für Telelogic DOORS

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

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

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

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Aspektorientierte Modellierung

Aspektorientierte Modellierung Aspektorientierte Modellierung Softwaretechnik-Seminar 2002 Thema: Evolutionäre Software Referent: Alexander Winter Gliederung Einführung und Motivation Was ist Aspektorientierte Modellierung? Vorstellung

Mehr

A classification and comparison framework for software architecture description languages

A classification and comparison framework for software architecture description languages A classification and comparison framework for software architecture description languages Christian Gerth Seminar Architekturbeschreibungssprachen Prof. Dr. Heike Wehrheim Fachgebiet Spezifikation und

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Kapitel 6. Vererbung

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

Mehr

Informationsmanagement in Organisationen Überblick

Informationsmanagement in Organisationen Überblick Informationsmanagement in Organisationen Überblick Wolfgang H. Janko Andreas Geyer-Schulz Stefan Koch Edward Bernroider Abteilung für Informationswirtschaft Institut für Informationsverarbeitung und Informationswirtschaft

Mehr

Kapitel 6. Vererbung

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

Mehr

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

Mehr

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim Software- Der Strategien und ist der zum Definieren der Architektur, der Komponenten, der Schnittstellen und anderer Charakteristika (Datenstrukturen, Algorithmen etc.) eines Systems oder einer Komponente

Mehr

Modellbasierte Entwicklung von Web Services mit Design by Contract

Modellbasierte Entwicklung von Web Services mit Design by Contract Modellbasierte Entwicklung von Web Services mit Design by Contract Gregor Engels 1,2, Marc Lohmann 1, Stefan Sauer 1,2 1 Institut für Informatik, 2 Software Quality Lab (s-lab) Universität Paderborn, 33095

Mehr

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6 Prof. Dr. Wilhelm Schäfer Paderborn, 24. November 204 Christian Brenner Tristan Wittgen Besprechung der Aufgaben:. - 4. Dezember 204 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester

Mehr

SECTINO. Security for Inter-Organizational Workflows

SECTINO. Security for Inter-Organizational Workflows SECTINO Security for Inter-Organizational Workflows Framework zur Modellierung und Realsisierung sicherheitskritischer organisationsübergreifender Workflows Kooperation Research Group Quality Engineering

Mehr

Software-Architekturen für das E-Business

Software-Architekturen für das E-Business Sebastian Herden Jorge Marx Gömez Claus Rautenstrauch Andre Zwanziger Software-Architekturen für das E-Business Enterprise-Application-Integration mit verteilten Systemen Mit 60 Abbildungen 4y Springer

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

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

Mehr

Objektorientierte Analyse und Design

Objektorientierte Analyse und Design Folien basieren auf folgendem Buch: Objektorientierte Analyse und Design Kernziele: Strukturen für erfolgreichen SW-Entwicklungsprozess kennen lernen Realisierung: Von der Anforderung zur Implementierung

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

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Von der UML nach C++

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

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

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

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

Methodische Entwicklung

Methodische Entwicklung Methodische Entwicklung sicherer CORBA-Anwendungen Jan Jürjens Software & Systems Engineering Informatik, TU München juerjens@in.tum.de http://www.jurjens.de/jan Jan Jürjens, TU München: Entwicklung sicherer

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

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

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

Mehr

Techniken der Projektentwicklung

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

Mehr

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

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design Softwaretechnik (Medieninformatik) Überblick: 6.1 Einleitung 6.2 Verfeinerung des Klassenmodells 6.3 Sequenzdiagramme 6.4 Umsetzung der Analysekonstrukte in das Design 6.5 Fallstudie 6.6 Software Kontrakte

Mehr

Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen. Tobias Brückmann, Volker Gruhn

Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen. Tobias Brückmann, Volker Gruhn Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen Tobias Brückmann, Volker Gruhn Motivation / Einordnung Vision Generieren von Programmcode der Geschäftslogik

Mehr

XML in der betrieblichen Praxis

XML in der betrieblichen Praxis Klaus Turowski, Klement J. Fellner (Hrsg.) XML in der betrieblichen Praxis Standards, Möglichkeiten, Praxisbeispiele Ги dpunkt.verlag Inhaltsverzeichnis 1 XML/EDI-Standardisierung: Ein Überblick 1 1.1

Mehr

Projekt:

Projekt: <Hier den Namen des Projektes eingeben!> <Adresse> <Telefon / Fax> <Ansprechpartner> Pflichtenheft Die Aufgabe des Pflichtenheftes ist es zu beschreiben, was die zu entwickelnde Software für den Anwender leisten soll. Diese Vorlage basiert auf der aus TSE I bekannten Vorlage. Projekt:

Mehr

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Kurzanleitung zur Arbeit mit Rhapsody 7.6.1

Kurzanleitung zur Arbeit mit Rhapsody 7.6.1 Kurzanleitung zur Arbeit mit Rhapsody 7.6.1 1 Vorbereitung Rhapsody Developer for Java starten New project wählen Im New Project -Dialog: Projektname und Ordner einstellen, die anderen Einstellungen nicht

Mehr

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung von mobilen Anwendungen WS 2014/15 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter:, Daniel Strüber, Steffen Vaupel Kontakt:

Mehr

Technische Beschreibung: EPOD Server

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

Mehr

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

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

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Einleitung & Grundlagen 1 1.1 Was behandeln wir in dem einleitenden Kapitel? 1 1.2 Die Welt von Java und JavaFX 2 1.2.1 Was ist Java? 2 1.2.2 Etwas zur Historie von Java 3 1.2.3 Wo

Mehr

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN)

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN) Geschäftsprozessmanagement: in»business Process Modelling Notation«(BPMN) Eugen Labun Fachhochschule Gießen-Friedberg Fachbereich MNI Institut für Softwarearchitektur Serviceorientierte Architekturen bei

Mehr

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

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

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

Mehr

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

Erweiterung für Premium Auszeichnung

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

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung

Mehr