Vorlesung Software-Engineering I



Ähnliche Dokumente
MVC-Architektur am Beispiel von OLAT

Vorlesung Software-Engineering I

Model-View-Controller

Vorlesung Software-Engineering I

3-Tier-Architecture und J2EE

MVC Ein wichtiges Konzept der Software-Architektur

Komponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München,

Übungen zu Computergrafik

Abschnitt 20: Ein Grundprinzip der Software-Architektur

MVC mit Lazarus Reinheim. MVC mit Lazarus

Model-View-Controller

Vorlesung Software-Engineering I

Komponenten & Frameworks Seite 1

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

Multimedia im Netz Wintersemester 2012/13

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Unterlagen zu: Das Datenanalysesystem SAS SS 2000

GebertSoftware Erfahrung, die Sie nutzen. pitop - Entwickler-Workstation für JIGS-KMS

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Christian Kurz SWT Projekt WS 07/08

Getting Started Conquestor

Schick statt altbacken Oberflächen-Modernisierung von Forms-Anwendungen

MVVM (Model View ViewModel) in JavaFX

Objektorientierte Analyse (OOA) OOA-Pattern

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Objektorientierte Programmierung

Tutorium Softwaretechnik I

Praxisbuch Objektorientierung

Business Applika-onen schnell entwickeln JVx Framework - Live!

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

VON MVC ZU MODEL-VIEW-VIEWMODEL

Das Model/View/Controller Paradigma

IT-Projekt-Management

Javakurs für Fortgeschrittene

Eine Anwendung mit InstantRails 1.7

Einführung in die Programmierung für NF. Übung

Design Patterns I. Observer, Listener & MVC

Model View Controller Pattern

Kompendium der Web-Programmierung

JAVA Look & Feel Design Guidelines

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller

Rapid Java wie mit Forms

Varianten des Observer Pattern

MVC-Konzept. Vorteile. Beispiel für ein MVC-Programm

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

OMNITRACKER Demo Version. Quick Installation Guide

Windows Presentation Foundation

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

APEX ist keine Raketenwissenschaft. UX aber auch nicht!

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

Java GUI Entwicklung mit Swing

Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt WS 2006/2007

Praktikum Datenbanken und verteilte Systeme SS Einführung August 2008

Objektorientierte und Funktionale Programmierung SS 2014

HCM Pattern Optimizer 3D

Berechtigte, die Zugriff auf die BOKUdata-Reports haben. ZID Hotline

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

Einführung in die Informatik II

Software- /Systemarchitektur

Textbausteine. C# WPF-Framework Model-View-Viewmodel-Architektur Blog-Client-Applikation

SAP SharePoint Integration. e1 Business Solutions GmbH

Model-View-ViewModel (MVVM)

Portale mit dem Java-Portlet-Standard JSR168, Jetspeed 2 und WSRP

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

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

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Persistente Prozesse mit ADF und BPMN 2.0

Transkript:

Vorlesung Software-Engineering I im 3. und 4. Semester 08. SW-Architektur Benutzeroberfläche (GUI) DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH Software-Architektur: Sichten Hierarchien: ConceptMap UML Mock-Up Abläufe: BPMN UML Entwurf Daten: ERM UML Zustände: UML (Pattern) DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 2

Überblick UseCase/Anwendungsfall: User-Story/Anforderung: Als Mitarbeiter möchte ich verschiedene Geräte (z.b. Notebook, Beamer) ausleihen können, damit wir nicht jedes Gerät selbst kaufen müssen. Wenn ich es nicht mehr benötige gebe ich es wieder zurück. ausleihen zurückgeben Ablauf/Workflow: <<extends>> benutzen User-Interface/ Benutzeroberfläche: DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 3 Daten in der Architektur - Ebenen Benutzer- Anzeigefelder, GUI-Elemente oberfläche Eingabefelder Strukturen, Variablen Objekte, Attribute Programmspeicher Datenablage Datenbank, Datei Tabellen, Felder DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 4

GUI-Entwürfe in der Software-Architektur Prototyp (Funktions-oder Design-Prototyp) Mock-Up (Design-Dummy) Wireframe (Drahtmodell Aufrufhierarchie) GUI-n-Typen: Menü Listen n Reports Meldungen/Status Webansichten Software-Ergonomie: Aufgabenangemessenheit Selbsterklärend Robustheit, Fehlertoleranz Individualisierbarkeit, Anpassbarkeit Unterstützung: Frameworks (.NET, Swing, GWT) Pattern/Muster (MVC, Observer) OS-Styles (Windows, Unix, Mac) DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 5 Was kommt vom Kunden? => Skizzen von Benutzeroberflächen mit Interaktionen und Daten! DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 6

Beispiel: Ausleihliste - Einzelmasken ausleihen zurückgeben <<extends>> benutzen Ausleihen benutzen Gegen- stand Rückgabe DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 7 Beispiel: Ausleihliste nhierarchie (Aufrufe) Menü [Anwendung] Ausleihliste Ausleihen (Modal) Zurückgeben (Modal) Suchen Drucken Export Historie DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 8

Best Practice: User Experience - Sketching Den Weg des Anwenders durch Die Anwendung entwerfen. Die Benutzbarkeit von Anwendungen mit Paper-Prototypen Prototypen testen. DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 9 Quelle: www.mindfacts.de de Best Practice: User Experience - Eye Tracking DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 10

Best Practice: Framework Rahmen für eine neue Applikation bereitstellen (Entwurfsmuster ) Bereitstellung von Runtime-Funktionalitäten (Login, DB-Connect, Rechteverwaltung, Errorhandler, Locking, etc.) Wiederverwendung von allgemeinen Funktionen Vererbbare Objekte für Standard-Funktionalitäten - Datenaufbereitung (Laden, Speichern, Locking, Export, Drucken etc.) - Benutzeroberfläche (Menü, Buttons, etc.) Bereitstellung von Funktionen zur Mehrsprachigkeit der Anwendung etc. Vorteile: Sehr schnelles Aufsetzen einer neuen Applikation möglich Zeitersparniss durch Verwendung von fertigen Komponenten Look and Feel beim Anderer immer gleich -> weniger Schulung, schnellere Einführung Nachteile: Höhere Einarbeitung -> Framework muss erlernt werden Mehraufwand durch Framework-Erstellung, -Dokumentation und -Weiterentwicklung DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 11 Best Practice: Modell-View-Controller -Pattern (Modell/Präsentation/Steuerung) Quelle: Wikipedia Oft kombiniert mit Observer-Pattern (Beobachter, Listener) Strategy-Pattern (Vorgehen, Regeln) Modell (model) Das Modell enthält die darzustellenden Daten und gegebenenfalls auch die Geschäftslogik. Präsentation (view) Die Präsentationsschicht ist für die Darstellung der benötigten Daten aus dem Modell und die Entgegennahme von Benutzerinteraktionen zuständig. Sie kennt sowohl ihre Steuerung als auch das Modell, dessen Daten sie präsentiert, ist aber nicht für die Weiterverarbeitung der vom Benutzer übergebenen Daten zuständig. Steuerung (controller) Die Steuerung verwaltet eine oder mehrere Präsentationen, nimmt von ihnen Benutzeraktionen entgegen, wertet diese aus und agiert entsprechend. Zu jeder Präsentation existiert ein Modell. Es ist nicht die Aufgabe der Steuerung, Daten zu manipulieren. Die Steuerung entscheidet aufgrund der Benutzeraktion in der Präsentation, welche Daten im Modell geändert werden müssen. Sie enthält weiterhin Mechanismen, um die Benutzerinteraktionen der Präsentation einzuschränken. DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 12

Beispiel: Festo Framework für PowerBuilder (MVC-Pattern) CHOOSE CASE Modus CASE Reload SetReadonly(TRUE) SetBK_Color( Gray ) CASE Edit SetReadonly(FALSE) SetBK_Color( White ) END CHOOSE Open Window Function Anzeige DataWindow Vorteile: Trennung Daten von Ansicht, verschiedene Ansichten möglich. Datensicht auch ohne Ansicht ausführbar (auto. Prozesse) Einfacher Austausch der DB. Einfacher Austausch der GUI (z.b. Mehrsprachigkeit) ReUse, kein doppelter Code CHOOSE CASE Modus User Edit Save Cancel Reload Print Reload Trigger Cancel Save Edit Event Menue Function Daten CASE Reload DB.Retrive(ID) CASE Save Save DB.Commit(ID) CASE Cancel DB.Rollback(ID) DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 13 DB END CHOOSE Beachten: Designvorgaben durch Corporate Design der Firma DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 14

Tools (free) zum GUI-Entwurf http://www.serena.com/.../prototype-composer/ http://pencil.evolus.vn/ Balsamiq Online: http://builds.balsamiq.com/b/mockups-web-demo/ DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 15 Fragen: DHBW-Stuttgart/Frank M. Hoyer SWE1-08.SW-Architektur - GUI 23. Oktober 2010 geändert: 24. Oktober 2013, FMH 16