• Keine Ergebnisse gefunden

PROGRAMMIERPROJEKT 2016

N/A
N/A
Protected

Academic year: 2022

Aktie "PROGRAMMIERPROJEKT 2016"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

PROGRAMMIERPROJEKT 2016

WEB-ANWENDUNGEN

Mathias Weber und Annette Bieniusa

(2)

ÜBERBLICK

Was ist eine Web-Anwendung Model-View-Controller Pattern Dokumentation mit UML

(3)

WEB-ANWENDUNG

(4)

HTML ist ein Format um Inhalte einer Seite zu beschreiben

Inhalte grundsätzlich statisch

CSS erlaubt Gestaltung der Inhalte, hauptsächlich statisch

JavaScript erlaubt dynamische Änderungen am HTML Aber: Kein direkter Austausch von Informationen

zwischen Benutzern möglich

(5)

Web-Anwendungen laufen auf Servern und

kommunizieren mit dem Browser des Benutzers Austausch von Informationen zwischen Benutzern möglich

Server speichert Informationen zur weiteren Verwendung Client-Server prinzip

(6)

KLASSISCHE SICHT

Server erzeugt HTML und sendet es an den Browser Browser zeigt HTML dem Benutzer an

Benutzer gibt Informationen in den Browser ein Browser sendet Informationen an den Server

Empfangene Informationen können in Generierung des HTML eingehen

(7)

GET /index

200 <html>...</html>

POST /login username=...

password=...

Login please User

Password Login Database

Templates Files

Server Client (Browser)

(8)

MODERNE SICHT

Server stellt Daten als Service zur Verfügung (z.B. REST- Services)

Browser verarbeitet Daten mit Hilfe von JavaScript Anwendungen (z.B. AngularJS)

Wir verwenden hier die klassische Sicht!

(9)

MODEL-VIEW-CONTROLLER

(10)

Muster zur Strukturierung von So ware Architekturmuster

Entwurfsmuster

Wiederverwendbarkeit von Komponenten

Bsp.: Austausch der GUI (hier: des HTML-Codes)

(11)

Model

View Controller

verändert wird dargestellt in

Daten und evtl.

Programmlogik

Präsentation und Benutzerinteraktion

Steuerung der View, Bearbeitung der Benutzereingaben

(12)

ZUORDNUNG VON FUNKTIONALITÄT

Geschä s-/Programmlogik sollte Teil des Modells sein Testbarkeit!

Validierung von Benutzereingaben

Einfache Überprüfungen des Formats: View/Controller Komplexere Überprüfungen: Modell

Daten-Formatierung (z.B. Datumsformat) Für unser Projekt: meist Controller

(13)

UNIFIED MODELING LANGUAGE (UML)

(14)

Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von So ware

Semantik diverser Begriffe und Beziehungen zwischen So ware-Objekten

Grafische Notation für statische Strukturen und dynamische Abläufe / Verhalten

In dieser Veranstaltung:

Nutzerfalldiagramme Klassendiagramme Sequenzdiagramme

(15)

NUTZERFALL/ANWENDUNGSFALL-DIAGRAMME

Mitglied

Buch ausleihen

Buch zurückgeben

Buch zurückgeben Buch weiterschicken <extends>

Akteure: Personen, Kunden, Administratoren, andere

Systeme, ...

Anwendungsfälle (mit

kurzem Beschreibungstext) Generalisierung,

Extends-/Includes-Beziehung (auch mit Bedingung)

(16)

KLASSENDIAGRAMME

Ausleiher - name: String + getName() : String

Buch - titel : String - bild : String + getTitel() : String + getBild() : String

1 *

Mitglied

Klassen: Attribute und Operationen Sichtbarkeit (+ public, - private) ordered, read-only, ...

Generalisierung: gerichtete

Beziehung zwischen generellen und spezielleren Klassen

Assoziationen: Relation zwischen Klassen

Multiplizitäten Komposition

(ausgefüllt)/Aggregation Schnittstellen

(17)

SEQUENZDIAGRAMME

:GUI :Controller :Model

Buch zurückgeben

Buchzuordnung ändern

Ok Status 200

(A-)Synchrone Aufrufe Lebenslinien von

Objekten

Aktivierungsbalken:

Objekte verfügen über den Kontrollfluss

Referenzen

ÄHNLICHE DOKUMENTE

o Beachten Sie eine faire Aufteilung der Arbeiten (teilweise sind Überschneidungen und Anknüpfungspunkte notwendig).. o Unser Versionsmanagement erlaubt es sehr

Befehl git commit übernimmt Änderungen im Index zu einer Version Befehl git checkout aktualisiert das Dateisystem auf Zustand einer Version..

– Methode void update(Observable o, Object arg) wird aufgerufen, wenn das observierte Objekt sich

Gefahr: Systemarchitektur muss für spätere Anpassungen vollständig überarbeitet werden..

Commit von Änderungen erzeugt neue Version Parallele Änderungen → mehrere Kindversionen Merge führt zwei

INSERT INTO studenten (MatrikelNr, Vorname, Nachname) VALUES ( 367891, 'Paul', 'Muster' ). Man kann die Liste der Attribute weglassen, wenn man die Werte in der Reihenfolge

•  Unit-Tests (Komponententests) für einzelne Komponenten der So0ware. •  Integra&lt;onstests für die Zusammenarbeit von

[r]