Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

Slides:



Advertisements
Ähnliche Präsentationen
Prüfung objektorientierter Programme -1
Advertisements

Das V - Modell - Überblick
V - Modell Anwendung auf große Projekte
Vorgehensmodell & Wasserfallmodell in der Programmierung
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorgehensmodell - Wasserfallmodell
:33 Architektur Moderner Internet Applikationen – Prolog Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
:33 Internet Applikationen – Hard und Softwareplattform Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
:33 Architektur Moderner Internet Applikationen – Hard- und Software Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur.
Überleben im Paragraphendschungel.
Die Planungsphase -Anforderungsanalyse-
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Inhaltsverzeichnis Einleitung zum Thema Was ist ein Lastenheft?
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Passwörter.
Computerkriminalität, Datenschutz, Datensicherheit
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Die SE Umgebung des Jahres 2003 am IKE Elemente der SE Umgebung –Omondo als Casetool.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Beispiel 2: Iterative-Inkrementelle Vorgehensmodelle Annahmen: Anforderungen sind unvollständig.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Das V - Modell - Überblick
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Universität zu Köln IT – Zertifikat der Philosophischen Fakultät / Blockseminar Allgemeine Technologien II mit Patrick Sahle M. A. Online-Datenbanken am.
Rational Unified Process (RUP) - Definitionen
Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit ihrem Material (im einfachsten Fall)?
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Verteilte Algorithmen
Trojanische Pferde (Trojaner)
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Viren Würmer und Trojaner
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering WS 2009
Spezifikation von Anforderungen
Social Engineering – Christian Grafe
Grundlagen und Bildungsziele der Informatik in der Schule Wie auch andere Unterrichtsfächer muss sich die Informatik immer wieder legitimieren. Diese Aufgabe.
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
Entwicklung der Programmiersprachen
Eine Vorlage zur Erstellung von Buyer Personas
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch.
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Hacker-Angriff 1. Lückentext
Dipl.-Päd. Irene Tatzgern, MA
JAN BÍLÝ Neue Prinzipien für das Unternehmen. Im nachfolgenden Text spricht man über System- und Firmenaufstellungen. Es geht um die Struktur der Firmen,
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
SPODAT - Blick nach vorn
IKP Uni Bonn Medienpraxis EDV II Internet-Projekt
Datensicherheit ein Vortrag von Christina Schulze und Vivienne Ziem.
Situation Endlich haben Sie es geschafft auf alle Daten zuzugreifen und können in Ruhe weiterarbeiten und die Kundenanrufe betreuen. Plötzlich schaltet.
Content Management System
Management, Führung & Kommunikation
Viren und Schutzmaßnahmen
Eine berufliche Standortbestimmung mit 50+
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Technik schädlicher Software
Analyse der Laufzeit von Algorithmen
Viren Was sind Viren? Wie kommen sie auf unseren PC? Würmer
SWE for DS Thema und Organisation Prof. Dr. Stephan Trahasch 1.
Schutz vor Viren und Würmern Von David und Michael.
Software-Entwicklung
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
Windows.
 Präsentation transkript:

Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Entwicklung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

Nicht zentrales Thema unserer Vorlesung Nur soweit, um als Anwender mit den Entwicklern über verteilte Systeme reden zu können. Aber die Grenze - wer macht was - verschiebt sich.

Hausbau hat viele Ähnlichkeiten mit der Software-Erstellung, erfordert viel mehr Traditionen, Muster, Erfahrung,… Das Haus kann der zukünftige Benutzer während des Baus sehen und seine Benutzbarkeit abschätzen. Wie die Software benutzt wird, weiß der zukünftige Benutzer häufig erst, wenn sie fertig gebaut ist.

Entwicklungsschritte nur die wichtigsten, klassisch Was soll das System leisten? Struktur grob entwerfen (Architektur) Welche Teile existieren? Welche Teile neu hergestellen? entwerfen programmieren (lassen) testen System zusammenfügen System testen Missbrauch des Systems möglich? System in Betrieb nehmen System betreiben Fehler korrigieren

Entwicklungsschritte nur die wichtigsten, klassisch Was soll das System leisten? Struktur grob entwerfen (Architektur) Welche Teile existieren? Welche Teile neu hergestellen? entwerfen programmieren (lassen) testen System zusammenfügen System testen Missbrauch des Systems möglich? System in Betrieb nehmen System betreiben Fehler korrigieren Beschreibungen

Zusammenarbeit Was soll das System leisten? Benutzer Entwickler Was soll das System leisten? Struktur grob entwerfen (Architektur) Welche Teile existieren? Welche Teile neu hergestellen? entwerfen programmieren (lassen) testen System zusammenfügen System testen Missbrauch des Systems möglich? System in Betrieb nehmen System betreiben Fehler korrigieren Diese Arbeitsteilung ist den Software-Entwicklern sehr recht (und wäre es auch den Hausbauern).

Pflichtenheft Schon die Bezeichnung offentbart eine etwas einseitige Sicht. (auch Sollkonzept, Fachfeinkonzept oder fachliche Spezifikation) vertraglich bindende, detaillierte Beschreibung einer zu erfüllenden Leistung, zum Beispiel … zur Erstellung eines Computerprogramms. Lt. DIN 69905 umfasst das Pflichtenheft die "vom Auftragnehmer erarbeiteten Realisierungsvorhaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts." Die Inhalte des zuvor ausgearbeiteten Lastenhefts (auch grobes Pflichtenheft genannt) sind nun präzisiert, vollständig und nachvollziehbar sowie mit technischen Festlegungen der Betriebs- und Wartungsumgebung verknüpft. Das Pflichtenheft wird vom Auftragnehmer (Entwicklungsabteilung/-firma) formuliert und vom Auftraggeber bestätigt. Im Gegensatz zum technischen Design (auch technische Spezifikation - Wie wird es umgesetzt?) beschreibt das Pflichtenheft die geplante Leistung als "Black Box". Entsprechend enthält es in der Regel nicht die Lösung der Probleme (hier der Implementierungsprobleme). (aus Wikipedia)

Architektur Teile identifizieren („Komponenten“) Ihre Funktion festlegen Was muss von außen zugreifbar sein ? („Schnittstellen“) Was nicht ? Am besten unsichtbar bleiben. („information hiding“) Man braucht Heuristiken (Erfahrung) Muster ("zu Papier gebrachte" Erfahrung) Mögliche Änderungen voraussehen nicht nur: nicht ansprechbar sondern: nicht beschrieben

Komponenten eines Systems Schnittstelle zum Benutzer Wie werden die Datendem Benutzer präsentiert? Wie macht er seine Eingaben? Anwendungs“logik“ Welche Rolle spielen die Daten für ihn? Anwendungsprozesse (Workflow) Wie werden die Daten verarbeitet? Sitzungsverwaltung Wie werden („Bewegungs-“)Daten zwischengespeichert? Datenhaltung Wie werden („Stamm-“)Daten langfristig verwaltet?

Entwurfspraktiken sehr viel Erfahrung so präzise wie möglich formulieren zeichnen Muster ("pattern")

Programmierung vorzugsweise mit Java wird nicht in Maschinensprache, sondern in Zwischensprache ("ByteCode") übersetzt und durch „virtuelle Maschinen“ interpretiert. Drei „Plattformen“ Java Standard Edition (Java SE) Java Enterprise Edition (Java EE) Java Micro Edition (Java ME) Entwicklungswerkzeug ("IDE") ECLIPSE (Shareware IBM) Dadurch laufen Java-Programme langsamer als direkt übersetzte Programme.

Zusammenarbeit Was soll das System leisten? Benutzer Entwickler Was soll das System leisten? Struktur grob entwerfen (Architektur) Welche Teile existieren? Welche Teile neu hergestellen? entwerfen programmieren (lassen) testen System zusammenfügen System testen Missbrauch des Systems möglich? System in Betrieb nehmen System betreiben Fehler korrigieren ? Dies ist den Software-Entwicklern sehr recht (und wäre es auch den Hausbauern).

Test von verteilten Systemen schwierig Komponenten müssen in „gesicherter“ Umgebung laufen Umgebung für ihr Zusammenspiel? Komponenten sind möglicherweise an verschiedenen Orten mit unterschiedlich laufenden Uhren von verschiedenen Entwicklern beobachtet Nicht jede Situation ist rekonstruierbar. Und wie kann der Benutzer seinen Beitrag dazu leisten, wenn er den (tatsächlichen) Aufbau des Systems nicht kennt?

Missbrauch ("Bedrohungen IT-Sicherheit") Computerviren, Trojaner und Würmer, die zusammengefasst als Malware bezeichnet werden Spoofing, Phishing, Pharming oder Vishing, wo eine falsche Identität vorgetäuscht wird Hacking, Cracking sowie andere Formen von Sabotage Spionage, z.B. in Form von Man in the Middle Angriffen, höhere Gewalt, z.B. in Form von Blitzschlag, Feuer oder Überschwemmung Social Engineering (s. folgende Folie) (aus Wikipedia)

Social Engineering Der Begriff Sozialkonstruktion bzw. englisch Social Engineering (auch Social Hacking) bezeichnet in der Soziologie das Erlangen vertraulicher Informationen durch Annäherung an Geheimnisträger mittels gesellschaftlicher Kontakte. Dieses Vorgehen wird von Geheimdiensten und Privatdetektiven seit langem praktiziert, der Begriff wird jedoch meist im Zusammenhang mit Computerkriminalität verwendet, da er hier das Gegenstück zum rein technischen Vorgehen (Engineering) beim Eindringen in fremde Systeme bildet. Beispiel: Herr Meier arbeitet in einer Firma, die ein neuartiges Produkt als Erste auf den Markt bringen will. Er arbeitet in der Entwicklungsabteilung an einem Computer. Um sich dem System gegenüber zu authentifizieren, benötigt man einen Account und das dazugehörige Passwort. Nun ruft eines Tages ein vermeintlicher Kollege aus einer anderen Filiale des Unternehmens an und bittet Herrn Meier, ihm seine Benutzerdaten zu geben, da er Wartungen am Server durchführen müsse. Zwar kennt Herr Meier den Anrufer nicht, aber durch die Art des Gesprächs vermittelt er den Eindruck, dass er zum Unternehmen gehört. (aus Wikipedia)

weitere Schritte, die Kooperation erfordern Inbetriebnahme normaler Betrieb Fehlerbehandlung