Über Komplexität und vermeintlich einfache - arc42.de · Schicksal der Moros Quelle: Dietrich...
Transcript of Über Komplexität und vermeintlich einfache - arc42.de · Schicksal der Moros Quelle: Dietrich...
Über Komplexitätund vermeintlich einfache
Dinge
Gernot StarkeJanuar 2011
Ich möchte Sie für Komplexität sensibilisieren
• äußerlich einfache, innerlich komplizierte Dinge aufzeigen...
• deren Details nur wenige verstehen (müssen)
Ich möchte Sie für Komplexität sensibilisieren
Dr. Gernot Starke
performant
flexibel
integriert
geboren in Prograland,lebt in Architektonien,Visa für Analytistan und LaTesta,lange Aufenthalte in Bisi-Ness,Schwimmabzeichen im Service-Ozean
aktiv
mehr:gernotstarke.de
esabuch.dearc42.de
aktiv
member of:(co) founder of:
Fellow
kompl{iziert|ex}
kompl{iziert|ex}
Was ist Komplexität?
Uwe Friedrichsenerklärt
Name: Uwe Friedrichsen
Berufserfahrung: Relativ vielfältig und lang
Schwerpunkte:• Teams, Projekte und Systeme zum Erfolg führen – mit einem
speziellen Fokus auf Architektur und Agilität• Ganzheitliches Denken, Ideen und Konzepte verknüpfen, Leute
zum Nachdenken bringen
Firma: codecentric AG
Tanaland und das Schicksal der Moros
Quelle: Dietrich Dörner - Die Logik des Misslingens
Fußball
codecentric AG 30.12.10 7
Einfach Chaotisch
Kompliziert Komplex
Wenig Einflussfaktoren
Schwache Verknüpfung
Klare Ursache-Wirkung Zusammenhänge
Stabile Beziehungen
Viele Einflussfaktoren
Enge Verknüpfung
Stabile Beziehungen
Nachvollziehbare Ursache-Wirkung Zusammenhänge
Viele Einflussfaktoren
Dynamische Beziehungen
Keine erkennbaren Ursache-Wirkung Zusammenhänge
Erkennbare Muster
Viele Einflussfaktoren
Sehr dynamische Beziehungen
Keine erkennbaren Muster
Keine Ursache-Wirkung Zusammenhänge
Systeme
codecentric AG
Wenig Einflussfaktoren
Schwache Verknüpfung
Klare Ursache-Wirkung Zusammenhänge
Stabile Beziehungen
Viele Einflussfaktoren
Enge Verknüpfung
Stabile Beziehungen
Nachvollziehbare Ursache-Wirkung Zusammenhänge
Viele Einflussfaktoren
Dynamische Beziehungen
Keine erkennbaren Ursache-Wirkung Zusammenhänge
Erkennbare Muster
Viele Einflussfaktoren
Sehr dynamische Beziehungen
Keine erkennbaren Muster
Keine Ursache-Wirkung Zusammenhänge
30.12.10 9
Einfach Chaotisch
Kompliziert Komplex
Systeme Ad hoc Lösungen
Checklisten
Command & Control
Best Practices
Klassische Analyse- und Planungstechniken
Teile & Herrsche
Experten
Evolutionäre Techniken
Indirekte Steuerung
Systemische Analyse
(Command & Control) Kontinuierliches Lernen
Command & Control
Stabilisierende Ad hoc Maßnahmen
Keine Analyse
Erhöhte Interaktion
kompliziert wäre korrekt, aber....
komplex klingt besser
kompliziert wäre korrekt, aber....
These
Alles ist schwieriger, als esauf den ersten Blick aussieht.
These
Alles ist schwieriger, als esauf den ersten Blick aussieht.
riskanter, umfangreicher, komplizierter, komplexer,
aufwändiger
blackbox
Wikipedia
Typografie
whitebox
blackbox
Wikipedia
Typografie
whitebox
blackbox
Wikileaks
Sicherheit
whitebox
Hosting?Persönliche Sicherheit?
Verfügbarkeit?Quellenschutz?
Unveränderlichkeit?Korrektheit?
blackbox
Wikileaks
Sicherheit
whitebox
Hosting?Persönliche Sicherheit?
Verfügbarkeit?Quellenschutz?
Unveränderlichkeit?Korrektheit?
Webserver mit Ex-Geheimnissen...
blackbox
Wikileaks
Sicherheit
whitebox
Hosting?Persönliche Sicherheit?
Verfügbarkeit?Quellenschutz?
Unveränderlichkeit?Korrektheit?
Zeichen
• Darstellung: Zeichensatz, Umbruch, Aliasing, Kerning, Ligatur, Hoch-/Tiefstellung,Formelsatz
• Codierung: ASCII, EBCEDIC, Unicode, Steuer-/Sonderzeichen, Umlaute, Codepage
Joel Spolsky on Character Encoding
Dateien (files)• eindimensionale Folge von Bits
• gespeichert auf nichtflüchtigen Medium
# create a file and write it to disk.filename = "test.dat"
# create some data:names = []names.append(„Tony“)names.append(„Tiger“) # Create a file object in "write" modeFILE = open(filename,"w")
# Write all the lines at once:FILE.writelines(names)
Quelle: Wikipedia
Quelle: Wikipedia
Dateien: Inhalt und Metadaten
• Links (Hard- und Softlinks)
• Verzeichnis, Tags, Annotationen
• Rechte (Zugriff, Ausführung, Druck, Weitergabe)
• Icon
• Erstellungs-, Zugriffs-, Änderungsdatum
• Version, Historie
• Backup- und Sync-Status
• Digitale Signatur, DRM, Hash
Quelle: Wikipedia
Datei auf physikalischem Medium:
• Zuordnung Bit zu Lokation, • Fehlererkennung und -korrektur, • Lese-/Schreibstrategien, • langfristige Haltbarkeit :-(
Bilder verarbeiten...
http
://be
fore
thec
offe
e.co
m/p
hoto
mat
ix-t
utor
ial/
Bilder als Dateien
• Bilder:
• 1024 x 768 Pixel à 8Bit = 786.432 Byte
• Farbmodell, Farbechtheit, Auflösung
• Bitmap oder Vektorgrafik
• Kompression (jpg, gif, png,......)
• mit/ohne Metadaten
5.000.000.000 * 1MB = 5.000.000 * 1GB = 5.000 * 1TB = 5 Petabyte
Dateien: viele davon...
• Flickr: 5 E09 Fotos
• SnapFish: 100.000.000 User, unbegrenzt Speicher
• GoogleMail: Pro Account >7GByte frei
Daten im Netz
• TCP/IP zur „zuverlässigen Versenden von Datenströmen“???
• DNS, Latenz, Kabel-defekt
• DoS, Man-in-the-Middle
Videodaten
• Bilder:
• 1024 x 768 Pixel à 8Bit = 786.432 Byte
• Video: 25 Bilder / Sekunde
• pro Sekunde 25 * 768kB = 19 MB
• pro Stunde = 3600 * 19MB = 68400 MB= 68GB
Video: Kompression
• Redundanzreduktion
• Ähnlichkeiten von Bildern ausnutzen
• Irrelevanzreduktion
• Unzulänglichkeiten des menschlichen Sehens ausnutzen
• Daten- / Containerformate
• Video + Audio
• AVI, Dirac, Theora, Riff, Real, MPEG, QuickTime, Motion-JPG
Audio
• räumliches Hören
• sehr hohe zeitliche Auflösung von Signalen
• Latenz ab ca. 11msec wahrnehmbar!!(= 1 Hunderstel-Sekunde)
These zu Audio
Kein Mensch verstehtpsychoakustische
Kompressionsverfahren.Wenige Ausnahmen bestätigen diese Regel.
These zu Audio
Kein Mensch verstehtpsychoakustische
Kompressionsverfahren.Wenige Ausnahmen bestätigen diese Regel.
mp3, aac & Co: Fourier-Transformation,
Zeitreihenanalyse, Golomb-/Rice-Codes
These zu Audio
Kein Mensch verstehtpsychoakustische
Kompressionsverfahren.Wenige Ausnahmen bestätigen diese Regel.
mp3, aac & Co: Fourier-Transformation,
Zeitreihenanalyse, Golomb-/Rice-Codes
sehr spezialisierte
Mathematik :-)
Geodaten, GPS
• Grundlage von
• Navigation & „Location Based Services“
• Funktionsweise
• Mehrerer Satelliten senden ständig Position und Uhrzeit
• GPS-Empfänger berechnet Position aus Signallaufzeiten
Geodaten
• Landkarten
• Objekte? Kolorierung?
• Höhendaten? Elevationsmodelle?
• Rechtliche Situation in manchen Ländern unklar
Routing in Karten
• Ziele, Zwischenziele, Wegpunkte
• Maßstabsanpassung, 2-3D Darstellung
• Angewandte Graphentheorie plus Computergrafik
(c) Sony
Demo(webcam face tracker)
http://www.pittpatt.com/technology/
Gesichtserkennung
• in vielen Digitalkameras angewandt
• in Desktop-Fotosoftware angewandt(Picasa, iPhoto)
• Erkennungsrate ähnlich hoch wie bei Fingerabdruck- oder Iris-Scan (!!)
(c) Nikon
Gesichtserkennung
• 2D und 3D-Verfahren
• Lineare Algebra, Eigenvektoren, Eigen-Faces, Wavelet-Analyse, (Haar-)Classifier, maschinelles Lernen
• Erkennen in Videos
Que
lle: W
ikip
edia
These zu Gesichtserkennung
Kein Mensch verstehtHintergründe der
Gesichtserkennung.Wenige Ausnahmen bestätigen diese Regel.
These zu Gesichtserkennung
Kein Mensch verstehtHintergründe der
Gesichtserkennung.Wenige Ausnahmen bestätigen diese Regel.
SEHR spezialisierte
Mathematik :-)
Komplexität kapseln!
• Beispiel: Threading und Parallelisierung
Demo!
scratch.mit.edu
Fazit
• Manche Blackboxes sind innen SEHR kompliziert. Falls Sie Details brauchen, wird‘s schwierig und riskant.
Fazit (2)
Software-Architekten brauchen
simpled&
• Unsere Helden sind die besten Vereinfacher.
• Einfache, verständliche Lösungen gewinnen immer
Fazit (3)
• Fähigkeit zur Komplexitätsreduktion ist Mehrwert
• wird oft schlecht honoriert.
jetzt mit Zertifikat
Lernen Sie, mit Komplexität und Kompliziertheit in Architekturen umzugehen:
www.arc42.de
7
isaQBInternational Software Architecture Qualification Board
isaQBInternational Software Architecture Qualification Board
isaQBInternational Software Architecture Qualification Board
International Software Architecture Qualification Board
7Wednesday, November 18, 2009
www.isaqb.org