Skip to content

franz-ms-muc/Vorlesung-GUI-2016

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Vorlesung-GUI-2016

Vorlesung Grafische Benutzeroberflächen 2016

Empfohlene Voraussetzungen

Solide Kenntnisse der objektorientierten Programmierung in Java

Lernziele und Inhalt

Modulziele/Angestrebte Lernergebnisse

Die Studierenden erlernen die ergonomische Gestaltung, den Entwurf und die Programmierung grafischer Oberflächen. Sie können eine Oberfläche so gestalten, dass ein Benutzer damit effektiv und effizient arbeiten kann. Sie können Desktop-Technologien wie JavaFX sachgerecht anwenden. Die Studierenden verstehen die zugrunde liegenden Architekturkonzepte und können diese Technologien einordnen und bewerten. Weiter erhalten sie einen tiefen Einblick in die Grundlagen der Software-Architektur von Systemen mit graphischen Oberflächen.

Inhaltsübersicht

Die Veranstaltung hat drei Schwerpunkte: Entwurf und Architektur von Anwendungen mit grafischer Benutzeroberfläche. Überblick über aktuelle Technologien, Werkzeuge und Methoden für den Bau von Anwendungen mit umfangreichen Anforderungen an die Bedienbarkeit und Interaktion. Praktisches Anwenden der erlernten Techniken im Rahmen von Übungen. Der größte Teil der Veranstaltung verwendet JavaFX. Der Schwerpunkt liegt nicht im Erlernen des eher zufälligen JavaFX-APIs, sondern in der Vermittlung der grundsätzlichen Ideen und Entwurfsmuster. Besonderes Gewicht liegt auf Standardfragen der täglichen Praxis (z.B. Bestätigen/Verwerfen, Data-Binding, Internationalisierung, Nebenläufigkeit und Anwendungsarchitektur). Im Rahmen von Studienarbeiten werden weitere moderne Technologie wie beispielweise .NET/WPF, Android oder HTML5 betrachtet.

Begleitend zur Vorlesung finden Übungen zur Vertiefung der erlernten Konzepte statt.

Inhalt

  • Ablauf von Vorlesung und Übung
  • Themen und Termine
  • Hinweise zur verwendeten Software
  • Literatur
  • Historischer Überblick
  • Typen grafischer Oberflächen (Terminal, Mobil, Web, Rich-Client)
  • Standardprobleme beim Entwurf und der Programmierung
  • Ergonomie und Angemessenheit
  • Programmierte und deklarierte Oberflächen

Übungsblatt 1

  • Gestaltungsregeln
  • Grafischer Entwurf - Methoden und Werkzeuge (Styleguides, Mockups)
  • Dynamisches Layout – Konzepte und Grundlagen
  • Einführung in JavaFX
  • Komponenten und Container - Exkurs Composite-Muster
  • Layout-Management

Übungsblatt 2

Musterlösung 2Musterloesung mit Black CSS Theme

  • Kontrollfluss in grafischen Oberflächen
  • Begriffe der Eventverarbeitung
  • Eventverarbeitung in hierarchischen Oberflächen (Bubbling und Capturing)
  • Technische Umsetzung
  • Ereignisse als Objekte
  • Zustellung von Ereignissen
  • Behandlung von Ereignissen (Handler, Event-Hierarchie)
  • Datenhaltung, Benachrichtigung und Binding

Übungsblatt 3

Musterlösung 3

  • Das Observer-Muster
  • Model-View-Controller – das klassische Modell
  • Model-View-Presenter
  • Technische Umsetzung
  • JavaFX Properties
  • JavaFX Binding

Übungsblatt 4

Musterlösung 4

  • Grundprinzipien und Architektur
  • Eigenschaften von Komponenten
  • MV* im Großen
  • Presentation-Model vs. Business-Model
  • Technische Umsetzung
  • Bau von GUI Komponenten mit JavaFX
  • Wiederverwendung und Schachtelung

Übungsblatt 5

Musterlösung 5Musterloesung mit Black CSS Theme

  • Motivation – Warum ist parallele Verarbeitung notwendig?
  • Umgang mit lang laufenden Aktionen (asynchrone Verarbeitung)
  • Technische Umsetzung
  • Die Worker Schnittstelle in JavaFX
  • Die Klassen Task und Service

Übungsblatt 6

Musterlösung 6

  • Manuelles Testen und Test-Driven-Development
  • Behavior-Driven-Test-Development
  • Das Page-Objekt-Muster
  • Testautomation bei JavaFX Oberflächen

Übungsblatt 7

  • Motivation
  • Das Publish-Subscriber Muster
  • Technische Umsetzung
  • Ein minimaler Eventbus
  • Subscription als Annotation

Übungsblatt 8

Musterlösung 8

  • 2-Tier und 3-Tier Architekturen
  • Thin-, FAT- und Smart/Rich-Clients
  • Schichten-, Säulen und Komponentenarchitekturen
  • Technische Umsetzung
  • Trennung von Businesslogik und Oberflächenlogik
  • Umsetzung einer Kundensuche mit JavaFX

Übungsblatt 9

Musterlösung 9

  • Typen von Weboberflächen (Web 1.0, 2.0, 3.0)
  • Vor- und Nachteile der heute gängigen Architekturen
  • Technische Umsetzung
  • CRUD Anwendung mit HTML5 und AngularJS

Demo

Code

Beschreibung

  • Migration vs Neubau
  • Von Swing nach JavaFX
  • VUI - Das virtuelle User Interface

Übungsblatt 11

Literatur

Besonders empfohlen

  1. Tidwell, J.: Designing Interfaces, O’Reilly, (2005)
  2. http://docs.oracle.com/javase/8/javase-clienttechnologies.htm: Online Dokumentation und Tutorials zu JavaFX (2015)
  3. Gamma, E., et al.: Design Patterns. Addison-Wesley (1995)

Zusätzlich empfohlen

  1. Siedersleben, J.: Moderne Software-Architektur, dpunkt (2004)
  2. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley (2002)
  3. Fowler, M.: http://martinfowler.com/eaaDev/uiArchs.html (2006)

About

Vorlesung Grafische Benutzeroberflächen 2016

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 49.8%
  • HTML 26.8%
  • Java 22.8%
  • CSS 0.6%