SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Gerade genug Architektur vorneweg
Zur eigenen Architektur-Vision in 12 Minuten
Roland Mast
Sybit GmbH
Software-Architekt
Scrum Master
roland.mast@sybit.de
Roland Mast
Sybit GmbH
Software-Architekt
roland.mast@sybit.de
Was spricht gegen Big Design Up Front?
Was spricht gegen No Design Up Front?
Wieviel Architekturarbeit
muss vor dem Einstieg
in die Realisierung
geleistet werden?
Gerade genug!
• Kennenlernen
• Erfahren
• Trainieren
Architektur-Vision
Anforderungen
Architektur-
Vision +
Lösungsidee
Inkrementelle
Entwicklung
der Architektur
Aus-
lieferung
Architektur-Vision
Start ImplementierungPhase 0
Zeit
Architektur-
Vision
kurz
akzeptiertverständlich
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
„Das bestehende Content Management System
soll abgelöst werden. Die bestehenden
Funktionalitäten sollen soweit erforderlich
übernommen und eine solide technische Basis
für zukünftige Anforderungen geschaffen
werden.“
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
• Nutzungskategorien:
WebApp, Desktop, Batch, Embedded …
• Benutzerschnittstellen:
GUI, Konsole, Hardware …
• Anwender:
geschult/ungeschult, Administratoren,
Betreiber …
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
• Schnittstellen zu anderen Systemen, die
bedient/benutzt werden
• Funktionale oder Datenschnittstellen
• Synchron/Asynchron
• Stabilität, Performance, Änderbarkeit
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext
steht das zu
entwerfende System?
cmp Context
Columbus
responsibilities
1. security
2. service reliabilty > 99%
3. peak load
4. continuous deployment
RatingApprov al
«user»
WebUser
«user»
TravelEditor
«user»
DevOp Legend
blau user
orange external systems
grau system in context
Trav elBatchTrav elAgencies
«flow» «flow» «flow»
«use»«use» «use»
«use»
„Das bestehende Content Management System
soll abgelöst werden. Die bestehenden
Funktionalitäten sollen soweit erforderlich
übernommen und eine solide technische Basis
für zukünftige Anforderungen geschaffen
werden.“
Benutzergruppen:
• WebUser (Web-GUI)
• RedakteurIn (RichClient)
• Administrator/Support (RichClient)
• Betrieb (Konsole, Web-GUI)
• Schnittstellen zu anderen
Systemen, die
bedient/benutzt werden
Technische Kontext-Abgrenzung
19
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Die wichtigsten Anforderungen
/ Stories aus dem Backlog
• „Redaktionell aufbereitete
Inhalte zu Audios und Videos
sind zentraler Bestandteil der
Plattform. Sie sollen von der
Zulieferung durch Drittsysteme
nicht beeinträchtigt werden.“
Video-Seite
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Performanz
• Ausfallsicherheit
• Skalierbarkeit
• Erweiterbarkeit
• Fehlertoleranz
• Bedienbarkeit
• Stabilität
• Austauschbarkeit
• …..
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Struktur der
Organisation
• Bestehende Partnerschaften
• Ressourcen
• Budget
• Festpreis
• Flexibilität des Zeitplans
• Qualitätsstandards
• Vorgehensstandards
• Juristische Faktoren
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Hardware Infrastruktur
• Software Infrastrukur
• Referenzarchitekturen
• Betriebssysteme
• Datenbanken
• Grafische Oberfläche
• Styleguides
• Bibliotheken, Frameworks
• Programmiervorgaben
Einflussfaktoren …
… sind verhandelbar
und können sich ändern
Lösungsstrategien entwicklen
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Verwendung eines
Application Server Clusters
(hohe Ausfallsicherheit)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Circuit Breaker
(Entkopplung und
Überwachung von
Abhängigkeiten)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Bevorzuge Standards vor
proprietären Lösungen
(niedrige Wartungsaufwände)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Caching-Konzept
(Effizienz, kurze Antwortzeiten)
Caching KonzeptCaching KonzeptCaching Konzept
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Continuous Deployment
(Installierbarkeit, Stabilität,
Wartbarkeit)
Test Stage Production Stage
Akzeptanz-
Tests
Performanz
-Tests
Unit
Tests
Code
Analyse
Arte-
fakte
Go Live
Commit Stage
Beteiligte an der Architektur-Vision
• Software-Architekt und Entwickler
• Product-Owner, Projektleiter
• Betrieb
• QA
• UX
• Mechanik, Elektronik
• Endanwender
• …
Los geht‘s !
4 Minuten für Architekturentwurf
eines dir bekannten Software-Systems
• Systemidee, Nutzung und Systemkontext
• Die wichtigsten Qualitätsziele und/oder Randbedingungen
• Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen
2 x 4 Minuten gegenseitige Präsentation
Architektur-Vision in 12 Minuten
Vision und wie geht‘s weiter?
Vision und wie geht‘s weiter?
Architektur-Wand
Quelle: Stefan Toth –
Vorgehensmuster für
Softwarearchitektur
Architektur-Dokumentation
Was ist eine Architektur-Kata?Architektur-Training
Relaunch von Columbus Reisen
Zweck des Systems
Columbus-Reisen ist ein etabliertes Portal für die Bewertung und Buchung von Reisen. Die aktuelle
web-basierte Applikation stammt noch aus der Gründerzeit und ist den heutigen Anforderungen
nicht mehr gewachsen. Der Kundenstamm ist auf über 10 Millionen registrierte Benutzer
angewachsen. Die Reiseangebote stammen momentan von mehreren verschiedenen Anbietern. Die
Benutzer haben insgesamt 2,5 Millionen Bewertungen zu ca. 20.000 Hotels abgegeben.
Der Relaunch soll anfänglich die bestehende Funktionalität in neuem Layout darstellen und
gleichzeitig flexibel gestaltet werden, für weitere Expansion in europäische Länder und neue Märkte.
Anforderungen
 Registrierte Benutzer können nach Pauschal- und Individualreisen in Europa suchen und
diese beim preiswertesten Anbieter buchen.
 Benutzer können Bewertungen von Hotels abgeben in Form von Text, Bildern und Videos.
 Die Manipulation von Bewertungen anderer Benutzer muss verhindert werden.
 Die Bewertungen werden nach einem komplizierten Regelwerk überprüft, um Missbrauch
weitestgehend einzuschränken
 Columbus-Mitarbeiter bereiten die Einstiegsseiten für die Reiseangebote redaktionell auf
 Batch-Läufe während der Nacht zur Aktualisierung der Reiseangebote sollen nach und nach
durch online-Anfragen ersetzt werden
 Die Ladezeit einer Webseite soll maximal 10 Sekunden betragen
Stakeholder
 10 Millionen Benutzer von Columbus-Reisen
 Reisecenter das Teile des Webauftritts manuell pflegt
 Die Strategie des Managements ist eine weitere Expansion des Unternehmens. Externe
Berater haben das Management davon überzeugt, dass dies mit den aktuellen System nicht
zu meistern ist, eine Neuimplementierung jedoch alle Probleme löst
 Der Betrieb wünscht sich eine einfache und zuverlässige Deployment-Strategie, um dem
Wunsch des Produkt-Managements nach häufigen Aktualisierungen (1x täglich)
nachkommen zu können.
Rahmenbedingungen
 Das Altsystem ist eine PHP-Anwendung
 Das Regelwerk zur Überprüfung der Bewertungen soll ohne Änderung übernommen werden
 Alle Daten befinden sich in verschiedenen MySQL Datenbanken und müssen übernommen
werden
 Das Entwicklungsteam besitzt sehr gute PHP und etwas Java-Kenntnisse
Architektur-Kata
Architektur Kata – 1. Durchgang
50 Minuten für Architekturentwurf
Beantworte die wichtigsten
Architektur- und Design-Fragen
Berücksichtige die wichtigsten Qualitätsziele
und Randbedingungen
Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen
2 x 15 Minuten Präsentation
Architektur Kata – 2. Durchgang
• 30 Minuten für Architektur-Vision
 Systemidee und Systemkontext
Was ist die Kernaufgabe des Systems?
Wie wird das System genutzt? Wer nutzt das System?
Über welche Schnittstellen zur Außenwelt verfügt das System?
 Priorisierte Qualitätsziele
 Einflussfaktoren und Risiken
Architektur Kata – 3. Durchgang
• 30 Minuten für Architekturentwurf
 Lösungsstrategien passend zu den Qualitätszielen
 Bausteinsicht mit geschachtelten Abstraktionsebenen
 Weitere relevante Sichten
• 2 x 15 Minuten Präsentation
Architektur-Kata – 4. Durchgang
Neue Anforderungen
• 45 Minuten für Architekturanpassung
 Anpassung der Qualitätsziele
 Anpassung der Lösungsstrategien
 Aktualisierung der Sichten
• 2 x 15 Minuten Präsentation
Einflussfaktoren
System-Kontext
Bausteinsicht
• die Umsetzung von Anforderungen in eine geeignete
Softwarearchitektur
• die richtigen Fragen an die Stakeholder stellen, um die
Anforderungen zu verstehen
• das Erkennen und Priorisieren von architektur-
relevanten Anforderungen
• die Dokumentation in Form von aussagekräftigen
Diagrammen
• … und somit die Erarbeitung einer Architektur-Vision
Architektur-Kata trainiert
• Roock, Pichler: Die Architekturvision in Scrum
www.sigs-
datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/pichler_roock_OS_04_11.pdf
• Gernot Starke: Effektive Software-Architekturen - Ein praktischer
Leitfaden, Hanser 2011
• Template für Architekturdokumentation
http://www.arc42.de/template/struktur.html
• Stefan Toth: Vorgehensmuster für Softwarearchitektur,
Hanser 2014
• Ted Newards Technical Blog: Architectural Katas
blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx
Gemälde von Lisa und Theresa
Quellen
Roland Mast, Sybit GmbH
Software-Architekt, Scrum Master
roland.mast@sybit.de

Weitere ähnliche Inhalte

Was ist angesagt?

How to analysis the micro elements of a film
How to analysis the micro elements of a filmHow to analysis the micro elements of a film
How to analysis the micro elements of a film
smagdeburg
 
The history of the genre of murder mystery
The history of the genre of murder mysteryThe history of the genre of murder mystery
The history of the genre of murder mystery
ConnorJohnAdkins
 
Jezyk filmowy
Jezyk filmowyJezyk filmowy
Jezyk filmowy
neovitaaa
 

Was ist angesagt? (20)

Historia kina - 2014
Historia kina - 2014Historia kina - 2014
Historia kina - 2014
 
Salute! The General Quiz 2020 (Prelims + Finals)
Salute! The General Quiz 2020 (Prelims + Finals)Salute! The General Quiz 2020 (Prelims + Finals)
Salute! The General Quiz 2020 (Prelims + Finals)
 
MovieMania - Movie Quiz Prelims
MovieMania - Movie Quiz Prelims MovieMania - Movie Quiz Prelims
MovieMania - Movie Quiz Prelims
 
Magic and Monsters - The Comics, Cartoons and Fantasy Quiz
Magic and Monsters - The Comics, Cartoons and Fantasy QuizMagic and Monsters - The Comics, Cartoons and Fantasy Quiz
Magic and Monsters - The Comics, Cartoons and Fantasy Quiz
 
NITTFest '17 MELAS Quiz
NITTFest '17 MELAS QuizNITTFest '17 MELAS Quiz
NITTFest '17 MELAS Quiz
 
MELA Quiz - Finals | Thomso 17 | IIT Roorkee
MELA Quiz - Finals | Thomso 17 | IIT RoorkeeMELA Quiz - Finals | Thomso 17 | IIT Roorkee
MELA Quiz - Finals | Thomso 17 | IIT Roorkee
 
Tollywood Quiz 2022
Tollywood Quiz 2022Tollywood Quiz 2022
Tollywood Quiz 2022
 
How to analysis the micro elements of a film
How to analysis the micro elements of a filmHow to analysis the micro elements of a film
How to analysis the micro elements of a film
 
Movie quiz with Sprectrum
Movie quiz with SprectrumMovie quiz with Sprectrum
Movie quiz with Sprectrum
 
The history of the genre of murder mystery
The history of the genre of murder mysteryThe history of the genre of murder mystery
The history of the genre of murder mystery
 
The movie quiz mains
The movie quiz   mainsThe movie quiz   mains
The movie quiz mains
 
Jezyk filmowy
Jezyk filmowyJezyk filmowy
Jezyk filmowy
 
Advanced broadcast journalism techniques videography & sound design
Advanced broadcast journalism techniques videography & sound design Advanced broadcast journalism techniques videography & sound design
Advanced broadcast journalism techniques videography & sound design
 
Taxi Driver
Taxi DriverTaxi Driver
Taxi Driver
 
Intra College India Quiz Finals
Intra College India Quiz FinalsIntra College India Quiz Finals
Intra College India Quiz Finals
 
Wes Anderson: Style
Wes Anderson: StyleWes Anderson: Style
Wes Anderson: Style
 
General quiz
General quizGeneral quiz
General quiz
 
Instincts '18 - Fandom Quiz finals
Instincts '18 - Fandom Quiz finalsInstincts '18 - Fandom Quiz finals
Instincts '18 - Fandom Quiz finals
 
Quiz of the Week (BITS Pilani), March 2014
Quiz of the Week (BITS Pilani), March 2014Quiz of the Week (BITS Pilani), March 2014
Quiz of the Week (BITS Pilani), March 2014
 
Valmai update Final round 1 & 2
Valmai update Final round 1 & 2Valmai update Final round 1 & 2
Valmai update Final round 1 & 2
 

Andere mochten auch

OOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile TeamsOOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile Teams
Roland Mast
 
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokollBurnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Werner Drizhal
 
AHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIOAHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIO
Ahmed Hamdi
 
Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)
Werner Drizhal
 
Eurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeitEurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeit
Werner Drizhal
 
Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011
Werner Drizhal
 

Andere mochten auch (20)

OOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile TeamsOOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile Teams
 
Anti diskbv090909
Anti diskbv090909Anti diskbv090909
Anti diskbv090909
 
DRAWINGS-1-5
DRAWINGS-1-5DRAWINGS-1-5
DRAWINGS-1-5
 
Fischer Cert 1-4
Fischer Cert 1-4Fischer Cert 1-4
Fischer Cert 1-4
 
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokollBurnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
 
DRAWINGS-6-10
DRAWINGS-6-10DRAWINGS-6-10
DRAWINGS-6-10
 
Eve bedoya
Eve bedoyaEve bedoya
Eve bedoya
 
Br mitglied
Br mitgliedBr mitglied
Br mitglied
 
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazJahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
 
AHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIOAHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIO
 
Speed Game Eu
Speed Game EuSpeed Game Eu
Speed Game Eu
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
E-Mail Marketing reloaded
E-Mail Marketing reloadedE-Mail Marketing reloaded
E-Mail Marketing reloaded
 
Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)
 
Eurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeitEurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeit
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 
Ppt All In
Ppt All InPpt All In
Ppt All In
 
Teilzeit endf
Teilzeit endfTeilzeit endf
Teilzeit endf
 
Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011
 
GMDSS
GMDSSGMDSS
GMDSS
 

Ähnlich wie Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten

ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
Aberla
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
Andreas Wissel
 

Ähnlich wie Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten (20)

Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
 
BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NET
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
Usability Im Web 2.0
Usability Im Web 2.0Usability Im Web 2.0
Usability Im Web 2.0
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Zinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.deZinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.de
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the Future
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 

Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten

  • 1. Gerade genug Architektur vorneweg Zur eigenen Architektur-Vision in 12 Minuten
  • 4. Was spricht gegen Big Design Up Front?
  • 5. Was spricht gegen No Design Up Front?
  • 6. Wieviel Architekturarbeit muss vor dem Einstieg in die Realisierung geleistet werden? Gerade genug!
  • 7. • Kennenlernen • Erfahren • Trainieren Architektur-Vision
  • 10. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? „Das bestehende Content Management System soll abgelöst werden. Die bestehenden Funktionalitäten sollen soweit erforderlich übernommen und eine solide technische Basis für zukünftige Anforderungen geschaffen werden.“
  • 11. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? • Nutzungskategorien: WebApp, Desktop, Batch, Embedded … • Benutzerschnittstellen: GUI, Konsole, Hardware … • Anwender: geschult/ungeschult, Administratoren, Betreiber …
  • 12. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? • Schnittstellen zu anderen Systemen, die bedient/benutzt werden • Funktionale oder Datenschnittstellen • Synchron/Asynchron • Stabilität, Performance, Änderbarkeit
  • 13. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? cmp Context Columbus responsibilities 1. security 2. service reliabilty > 99% 3. peak load 4. continuous deployment RatingApprov al «user» WebUser «user» TravelEditor «user» DevOp Legend blau user orange external systems grau system in context Trav elBatchTrav elAgencies «flow» «flow» «flow» «use»«use» «use» «use»
  • 14. „Das bestehende Content Management System soll abgelöst werden. Die bestehenden Funktionalitäten sollen soweit erforderlich übernommen und eine solide technische Basis für zukünftige Anforderungen geschaffen werden.“ Benutzergruppen: • WebUser (Web-GUI) • RedakteurIn (RichClient) • Administrator/Support (RichClient) • Betrieb (Konsole, Web-GUI)
  • 15. • Schnittstellen zu anderen Systemen, die bedient/benutzt werden
  • 18. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Die wichtigsten Anforderungen / Stories aus dem Backlog • „Redaktionell aufbereitete Inhalte zu Audios und Videos sind zentraler Bestandteil der Plattform. Sie sollen von der Zulieferung durch Drittsysteme nicht beeinträchtigt werden.“
  • 20. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Performanz • Ausfallsicherheit • Skalierbarkeit • Erweiterbarkeit • Fehlertoleranz • Bedienbarkeit • Stabilität • Austauschbarkeit • …..
  • 21. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Struktur der Organisation • Bestehende Partnerschaften • Ressourcen • Budget • Festpreis • Flexibilität des Zeitplans • Qualitätsstandards • Vorgehensstandards • Juristische Faktoren
  • 22. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Hardware Infrastruktur • Software Infrastrukur • Referenzarchitekturen • Betriebssysteme • Datenbanken • Grafische Oberfläche • Styleguides • Bibliotheken, Frameworks • Programmiervorgaben
  • 23. Einflussfaktoren … … sind verhandelbar und können sich ändern
  • 25. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen
  • 26. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Verwendung eines Application Server Clusters (hohe Ausfallsicherheit)
  • 27. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Circuit Breaker (Entkopplung und Überwachung von Abhängigkeiten)
  • 28. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Bevorzuge Standards vor proprietären Lösungen (niedrige Wartungsaufwände)
  • 29. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Caching-Konzept (Effizienz, kurze Antwortzeiten) Caching KonzeptCaching KonzeptCaching Konzept
  • 30. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Continuous Deployment (Installierbarkeit, Stabilität, Wartbarkeit) Test Stage Production Stage Akzeptanz- Tests Performanz -Tests Unit Tests Code Analyse Arte- fakte Go Live Commit Stage
  • 31. Beteiligte an der Architektur-Vision • Software-Architekt und Entwickler • Product-Owner, Projektleiter • Betrieb • QA • UX • Mechanik, Elektronik • Endanwender • …
  • 33. 4 Minuten für Architekturentwurf eines dir bekannten Software-Systems • Systemidee, Nutzung und Systemkontext • Die wichtigsten Qualitätsziele und/oder Randbedingungen • Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen 2 x 4 Minuten gegenseitige Präsentation Architektur-Vision in 12 Minuten
  • 34. Vision und wie geht‘s weiter?
  • 35. Vision und wie geht‘s weiter?
  • 36. Architektur-Wand Quelle: Stefan Toth – Vorgehensmuster für Softwarearchitektur
  • 38. Was ist eine Architektur-Kata?Architektur-Training
  • 39. Relaunch von Columbus Reisen Zweck des Systems Columbus-Reisen ist ein etabliertes Portal für die Bewertung und Buchung von Reisen. Die aktuelle web-basierte Applikation stammt noch aus der Gründerzeit und ist den heutigen Anforderungen nicht mehr gewachsen. Der Kundenstamm ist auf über 10 Millionen registrierte Benutzer angewachsen. Die Reiseangebote stammen momentan von mehreren verschiedenen Anbietern. Die Benutzer haben insgesamt 2,5 Millionen Bewertungen zu ca. 20.000 Hotels abgegeben. Der Relaunch soll anfänglich die bestehende Funktionalität in neuem Layout darstellen und gleichzeitig flexibel gestaltet werden, für weitere Expansion in europäische Länder und neue Märkte. Anforderungen  Registrierte Benutzer können nach Pauschal- und Individualreisen in Europa suchen und diese beim preiswertesten Anbieter buchen.  Benutzer können Bewertungen von Hotels abgeben in Form von Text, Bildern und Videos.  Die Manipulation von Bewertungen anderer Benutzer muss verhindert werden.  Die Bewertungen werden nach einem komplizierten Regelwerk überprüft, um Missbrauch weitestgehend einzuschränken  Columbus-Mitarbeiter bereiten die Einstiegsseiten für die Reiseangebote redaktionell auf  Batch-Läufe während der Nacht zur Aktualisierung der Reiseangebote sollen nach und nach durch online-Anfragen ersetzt werden  Die Ladezeit einer Webseite soll maximal 10 Sekunden betragen Stakeholder  10 Millionen Benutzer von Columbus-Reisen  Reisecenter das Teile des Webauftritts manuell pflegt  Die Strategie des Managements ist eine weitere Expansion des Unternehmens. Externe Berater haben das Management davon überzeugt, dass dies mit den aktuellen System nicht zu meistern ist, eine Neuimplementierung jedoch alle Probleme löst  Der Betrieb wünscht sich eine einfache und zuverlässige Deployment-Strategie, um dem Wunsch des Produkt-Managements nach häufigen Aktualisierungen (1x täglich) nachkommen zu können. Rahmenbedingungen  Das Altsystem ist eine PHP-Anwendung  Das Regelwerk zur Überprüfung der Bewertungen soll ohne Änderung übernommen werden  Alle Daten befinden sich in verschiedenen MySQL Datenbanken und müssen übernommen werden  Das Entwicklungsteam besitzt sehr gute PHP und etwas Java-Kenntnisse Architektur-Kata
  • 40. Architektur Kata – 1. Durchgang 50 Minuten für Architekturentwurf Beantworte die wichtigsten Architektur- und Design-Fragen Berücksichtige die wichtigsten Qualitätsziele und Randbedingungen Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen 2 x 15 Minuten Präsentation Architektur Kata – 2. Durchgang • 30 Minuten für Architektur-Vision  Systemidee und Systemkontext Was ist die Kernaufgabe des Systems? Wie wird das System genutzt? Wer nutzt das System? Über welche Schnittstellen zur Außenwelt verfügt das System?  Priorisierte Qualitätsziele  Einflussfaktoren und Risiken Architektur Kata – 3. Durchgang • 30 Minuten für Architekturentwurf  Lösungsstrategien passend zu den Qualitätszielen  Bausteinsicht mit geschachtelten Abstraktionsebenen  Weitere relevante Sichten • 2 x 15 Minuten Präsentation Architektur-Kata – 4. Durchgang Neue Anforderungen • 45 Minuten für Architekturanpassung  Anpassung der Qualitätsziele  Anpassung der Lösungsstrategien  Aktualisierung der Sichten • 2 x 15 Minuten Präsentation
  • 43.
  • 45. • die Umsetzung von Anforderungen in eine geeignete Softwarearchitektur • die richtigen Fragen an die Stakeholder stellen, um die Anforderungen zu verstehen • das Erkennen und Priorisieren von architektur- relevanten Anforderungen • die Dokumentation in Form von aussagekräftigen Diagrammen • … und somit die Erarbeitung einer Architektur-Vision Architektur-Kata trainiert
  • 46. • Roock, Pichler: Die Architekturvision in Scrum www.sigs- datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/pichler_roock_OS_04_11.pdf • Gernot Starke: Effektive Software-Architekturen - Ein praktischer Leitfaden, Hanser 2011 • Template für Architekturdokumentation http://www.arc42.de/template/struktur.html • Stefan Toth: Vorgehensmuster für Softwarearchitektur, Hanser 2014 • Ted Newards Technical Blog: Architectural Katas blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx Gemälde von Lisa und Theresa Quellen
  • 47. Roland Mast, Sybit GmbH Software-Architekt, Scrum Master roland.mast@sybit.de