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