GUI-Programmierung

Transcription

GUI-Programmierung
Modulplan GUI-P
GUI-Programmierung
Gültig ab HS16/17
GUI-Programmierung
Code
GUI-P
Fachbereich(e)
Web Entwicklung
Studiengang /-gänge
BSc Informatik, BSc Wirtschaftsinformatik
Art des Studiengangs
Bachelor
Master
CAS/MAS/EMBA
Studienniveau *
Basic
Intermediate
Advanced
Typus **
Core course
Related course
Minor course
Specialised
ECTS-Credits
5
Präsenzverpflichtung
100 %
Arbeitsaufwand in Std.
150
Verantwortliche
Ansprechperson
Fachbereichsleiter:
Ilir Fetai
Zu entwickelnde
Kompetenzen
Die Studierenden kennen die allgemeinen GUI Design-Prinzipien, sowie
Desktop und Web GUI spezifische Design-Prinzipien und können diese an
konkreten Beispielen anwenden.
Die Studierenden kennen Paper-Prototyping als Methode zum Design von
GUIs und können es an konkreten Beispielen anwenden.
Die Studierenden kennen die wichtigsten GUI Design-Patterns, wie z.B.
MVC, MVP, MVVM.
Die Studierenden kennen die Konzepte hinter den Desktop- und Web GUITechnologien und Frameworks und haben einen soliden Überblick über
verschiedene Web und Desktop GUI Technologien und Frameworks.
Die Studierenden sind in der Lage komplexere Desktop-GUIs mittels Java
Technologien und Frameworks zu implementieren.
Die Studierenden sind in der Lage komplexere und moderne Web-GUIs
mittels JSF und dazugehörigen Frameworks zu implementieren.
Die Studierenden kennen die GUI Test-Konzepte und sind in der Lage
komplexere Tests für Desktop- und Web-GUIs zu implementieren.
Lerninhalte

Design Prinzipien für Desktop- und Web-GUIs

Paper Prototyping

Design Patterns (MVC, MVP, MVVM)

AWT/Swing/SWT

JavaFX

JSF

Web Frameworks

GUI Testing
Autor:
Ilir Fetai
Lehr- und Lernmethoden
(Fernstudium nach dem
Blended-Learning-Konzept)
Selbststudium
Online-Studium
Präsenzstudium
 Erarbeiten des Stoffes
(Buch und Online)
 Lösung von Fallstudien
 Programmierprojekte
(Desktop- und Web-GUIs)
 Forumsdiskussionen
(gegenseitige Hilfestellung)
 Einreichen von Aufgaben
 Repetitionsaufgaben
 Online-Feedback, etc.
 Lehrgespräch
 Präsentation der
Programmierprojekte
 Gruppendiskussionen:
„Lessons Learned“
 Übungen
Unterrichtssprache
Deutsch (Präsenz und Unterricht), Englisch (Literatur, teilweise)
Leistungsbewertung
2 Programmierprojekte mit Präsentation (je 25%) während des Semesters,
Modulprüfung (50%) am Ende des Semesters
Lehrmittel
[1] Designing Interfaces. Jenifer Tidwell.
[2] Swing: Sun Swing Tutorial unter
http://java.sun.com/docs/books/tutorial/uiswing/index.html
[3] SWT Übersicht: http://en.wikipedia.org/wiki/Standard_Widget_Toolkit
GUI-P_GUI-Programmierung_HS16_17
19.04.2016
Seite 1 von 11
Modulplan GUI-P
GUI-Programmierung
Gültig ab HS16/17
[4] JavaServer Faces 2.0: Ein Arbeitsbuch für die Praxis. Bernd Müller
[5] GUI-Testing: Diverse Online Ressourcen
[6] Paper Prototyping: Diverse Online Ressourcen
[7] Design Patterns:
http://www.codeproject.com/Articles/228214/Understanding-Basics-of-UIDesign-Pattern-MVC-MVP
[8] Web-GUI Rendering: Diverse Online Ressourcen
Optionale Literatur
[9] SWT Tutorial: http://www.vogella.com/articles/SWT/article.html
[10] JavaFX Tutorial: http://docs.oracle.com/javase/8/javaseclienttechnologies.htm
Vorkenntnisse: Modul(e)
Anschlussmodul(e)
OOP, FTOOP, WebG, WebE
Bemerkungen
Dies ist kein Kurs für Programmieranfänger. Vertrautheit und praktische Erfahrung im
Programmieren mit einer objektorientierten Sprache wird vorausgesetzt und nicht
noch einmal vermittelt.
-
Dieser Kurs vermittelt keinerlei Anleitungen oder Ratschläge in Bezug auf das
Design von ergonomischen und benutzerfreundlichen Schnittstellen. Für
Interessierte wird dafür der Besuch des Moduls MCI empfohlen.
*Studienniveau
**Typus
B
I
A
S
C
R
M
Basic level course: Modul zur Einführung in das Basiswissen eines Gebiets.
Intermediate level course: Modul zur Vertiefung der Basiskenntnisse.
Advanced level course: Modul zur Förderung und Verstärkung der Fachkompetenz.
Specialised level course: Modul zum Aufbau von Kenntnissen und Erfahrungen in einem Spezialgebiet.
Core course: Modul des Kerngebiets eines Studienprogramms.
Related course: Unterstützungsmodul zum Kerngebiet (z.B. Vermittlung von Vor- oder Zusatzkenntnissen).
Minor course: Wahl- oder Ergänzungsmodul.
GUI-P_GUI-Programmierung_HS16_17
19.04.2016
Seite 2 von 11
Modulplan GUI-P
GUI-Programmierung
Gültig ab HS16/17
1
Stoffplan
Das Modul GUI-P hat zum Ziel, die Studenten mit den Design-Prinzipien für die Desktop- und Web-GUIs
vertraut zu machen. Dabei werden allgemein gültige, sowie desktop- und web-spezifische Design-Prinzipien
vorgestellt.
Paper-Prototyping als Methode zum Design von GUIs wird vorgestellt und an konkreten Beispielen
angewandt.
Es werden konkrete GUI-Technologien und Frameworks vorgestellt und vertieft, jedoch wird grosser Wert
gelegt auf das Verständnis der Konzepte, die dahinter stecken.
Die Praktische Anwendung der gelernten Design-Prinzipien und Konzepte wird in zwei obligatorische
Programmierprojekte realisiert, die zusammen 50% zur Modulnote beitragen.
Zusätzlich, werden die Konzepte des GUI-Testing und der dazugehörige Frameworks vorgestellt.
Der Stoff wird entsprechend in folgende Teile aufgeteilt:
Design von GUIs

Design-Prinzipien für Desktop- und Web-GUIs

Paper Prototyping

Design Patterns (MVC, MVP, MVVM)

Web-GUI Rendering (Server-Seitig, Client-Seitig, Hybrides Rendering)
AWT / Swing / SWT / JavaFX

AWT

Entstehung von Swing aus AWT

Unterscheidung von lightweight und heavyweight Components

Das Swing Widgetset inkl. modell-basierter Komponenten

Die Swing Layoutmanager

Das Swing Model-Delegate Pattern (in Anlehnung an das Model-View-Controller Pattern)

Asynchrones Eventhandling (Observer Pattern und Callbacks)

Unterschiede von Swing und SWT

JavaFX Überblick
JSF und Frameworks

Einführung JSF

Expression Language

Managed Beans

Validierung und Konvertierung

Event Verarbeitung

Navigation

JSF UI Komponenten

JSF und Ajax

Clientseitige Frameworks (z.B. JQuery, Backbone.js, Angular.js, Ember.Js)

Serverseitige Frameworks (z.B. cakePHP, Zend)
GUI Testing

Ziele und Konzepte von GUI-Testing

GUI-Testing Frameworks
GUI-P_GUI-Programmierung_HS16_17
19.04.2016
Seite 3 von 11