Softwarearchitekten und Softwarearchitekturen. Technik <-> Mensch <-> Organisation



Ähnliche Dokumente
Effektive Software-Architekturen Ein praktischer Leitfaden

Kapitel 1 Applikations-Architektur VIII

Inhaltsverzeichnis. Effektive Softwarearchitekturen (6. Auflage)

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: Weitere Informationen oder Bestellungen unter

Integration im Enterprise Umfeld

Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin

Architekturdokumentation leicht gemacht

DOORS Schema IBM Rational DOORS Start-Up Training - Teil 3

1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell:

Der Control-M Application Integrator im Projekt

ARCHITEKTUR KATA als Trainingsform für agile Teams

Ziele und Tätigkeiten von Architekten

Erfahrungsbericht. Donatas Valys Client Architect SOA. Bildquelle: KUKA Roboter GmbH. DOAG2012 Arbeiten am Enterprise SOA-Fließband D.

Kapitel 1 Applikations-Architektur VI

Vorgehensmodell. Vorgehensmodell für die Prozessautomatisierung mit der Oracle BPM Suite 11g

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

<Insert Picture Here> Einführung in SOA

Architektur und Qualität. Tjard Köbberling

Visual Studio 2010 Neues für Architekten

Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlagen von Softwarearchitekturen 11

CONSAL. Vom modularen Monolith, zur echten losen Kopplung. Bayerische Beamtenkrankenkasse Union Krankenversicherung Union Reiseversicherung

Umsichtig planen, robust bauen

Die Foundation-Phase Kombination von RE-Techniken zum Projektstart. Martin Kleckers, Agile Coach Berlin, 26. SEPTEMBER 2018

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG)

SOLID für.net und JavaScript

Technische Schulden in Architekturen erkennen und beseitigen

Dr. Jens Hündling Senior Sales Consultant. DOAG Apps 2011 Berlin, 05. Mai 2011

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN:

Visual Studio 2010 Jetzt auch für Architekten

Software Engineering. 5. Architektur

und Ausdauer, aber auch Schnelligkeit, Koordinations- und Konzentrationsfähigkeit

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen

EJB City GmbH ist Ihr Partner dafür!

Bundling auf Softwaremärkten Eine technische Sicht

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Leistungssteuerung beim BASPO

Orchestrator. IT-Paradigmenwechsel im Zeitalter des Cloud Computing. Mohammad Esad-Djou, Solution Architect OPITZ CONSULTING Deutschland GmbH

Für Software werden heute Investitionen getätigt, die mit dem Bau oder Kauf von Maschinen und Immobilien ohne weiteres vergleichbar sind.

Experts in agile software engineering. Software Architektur andrena objects ag

Das Entwicklungsteam im agilen Prozess. Aufgaben der Software Architektur. Best Practices & Scrum Integration. Zusammenfassung & Ausblick

Langlebige Softwarearchitekturen der Weg aus den technischen Schulden

Shopware & ERP-Systeme: Ein Einblick der Softwareforen Leipzig

Lehrplan: Architektur und Design. paluno

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar

2 Softwarearchitektur in der Organisationsstruktur 25

Dokumentation, Analyse, Optimierung,

scheitern kleine auch!

Frank Schlüter, Techniker Krankenkasse Gerd Wütherich, Freiberuflicher Softwarearchitekt. Enterprise OSGi im wahren Leben: ein Migrationsbericht

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA)

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Qualität lässt sich steuern: Die Möglichkeiten des Qualitätsmanagements

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Comparing Software Factories and Software Product Lines

Ein standardisiertes Aus- und Weiterbildungsschema für Software-Architekten: der isaqb CPSA-F Lehrplan

ok-plattform Roadmapping und Budgetindikation

IT-Sicherheit - Reisebericht aus Architektonien. Dr. Gernot Starke (0) gs@gernotstarke.de

Aus EAI wird SOA: Integration mit Forms und ADF. pdv TAS. Torsten von Osten, Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg

Strukturiertes Vorgehen zur Entwicklung von APEX-Anwendungen

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

ITech Progress GmbH Der Architekt als Schnittstelle - die Bedeutsamkeit von Soft Skills für Softwarearchitekten in großen IT-Projekten

Grundlagen, Einführung, Begriffe

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Agile Architektur. Version: 1.1. Orientation in Objects GmbH. Weinheimer Str Mannheim.

Reporting Lösungen für APEX wähle Deine Waffen weise

Geleitwort zur 1. Auflage. Überblick: Dokumentationsmittel im Buch

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower

Thomas Schissler MVP Visual Studio ALM, artiso AG

ARCHITEKTURAKADEMIE SOFTWAREARCHITEKTUR HANDS-ON AM EIGENEN PROJEKT. Architekten Entwickler Projektleiter

22. Januar Gruppe 2: TOPCASED

C) Review, Heuristiken, Metriken, Prototypen. A) Technische Einflussfaktoren. System Requirements Specification. D) Architektur Dokument

Vorlesung Software-Engineering I

SEQIS 10 things. Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung

Architecture Blueprints

Insight Anforderungsanalyse für SOA Services. Dr. Gregor Scheithauer OPITZ CONSULTING München GmbH Björn Hardegen MID GmbH

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Software-Architektur. Spektrum k_/takademischht VERLAG

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

17 Architekturentwurf Vorgehen und Dokumentation

Von der Doppik zur produktorientierten Steuerung Neue Herausforderungen an IT Verfahren und IT Projekte

Vom MicroService zum Geschäftsprozess Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

Stefan Zörner, oose Innovative Informatik GmbH

Software modular bauen

Business Analysis Body of Knowledge BABOK v3. Konzepte Scope Struktur. Ursula Meseberg microtool GmbH Berlin

Was ist Software-Architektur?

Software Engineering und Projektmanagement

Vortrag im Rahmen des Arbeitskreis i Informatik an der Schule. Prof. Dr. Stefan Sarstedt

Frankfurter Entwicklertag 2019 Alex Hofmann, MaibornWolff GmbH

IDS Scheer Consulting Prozessorientierte SAP-ERP Implementierung mit Industry.Performance READY

XML Publisher die universelle Lösung für Geschäftsdokumente

conuno - WIR GESTALTEN FÜR SIE Development Services

MDRE die nächste Generation des Requirements Engineerings

Vom Pair Programming zur Mob-Architekturverbesserung

Objektorientierte Programmierung (OOP)

CHOICE-O-MAT ENTSCHEIDUNGSHILFE FÜR ORACLE ENTWICKLUNGSWERKZEUGE. Ulrich Gerkmann-Bartels CEO & Consultant Oracle Technologies

Transkript:

Softwarearchitekten und Softwarearchitekturen Technik <-> Mensch <-> Organisation

Agenda Definition von Softwarearchitektur Softwarearchitekt Architekturentwurf Dokumentation Architekturpattern Agenda 1/1

Definition Softwarearchitektur Eine Softwarearchitektur besteht aus: Zerlegung des Problems in kleinere, verständliche und beherrschbare Komponenten Komponenten, deren Beziehungen zueinander und zur Umgebung Grundsätze, die Design und Entwicklung des Systems bestimmen Definition Softwarearchitektur 1/3

Definition Komponente Baustein eines Systems Kapselt ihr inneres Verhalten Kommuniziert mit anderen Komponenten über definierte Schnittstellen Ist wieder verwendbar und austauschbar Definition Softwarearchitektur 2/3

Softwarearchitekt -Ausbildung SEI (Software Engineering Institute) SOA, Architecture, ATAM The Open Group: TOGAF Zachman: Certified Enterprise Architect Oracle Certified Java EE 6 isaqb e.v. Softwarearchitekt 1/13

Aufgaben des Softwarearchitekten Anforderungen und Randbedingungen klären System strukturieren Systemzerlegung Bausteinstruktur Schnittstellen Übergreifende technische Konzepte erarbeiten / beschließen Dokumentieren und kommunizieren Softwarearchitekt 2/13

Nutzen und Ziele Bindeglied zwischen Analyse und Umsetzung Analyse Architekturentwurf Umsetzung Bauplan des Systems Verständlichkeit und Sicherheit schaffen Flexibilität und Effizienz gewährleisten Qualität garantieren, Risiken erkennen Softwarearchitekt 3/13

Stakeholder <-> Architekt Softwarearchitekt 4/13

Beziehungen: Architekt -Projektleitung Risikoüberwachung und Eskalation Entscheidungskompetenz für Entwurfsentscheidungen Auswahl und Beurteilung der techn. Fähigkeiten von Bewerbern und Mitarbeitern Auswahl von Tools und Technologien Organisation des Entwicklerteams entsprechend des Architekturentwurfs Softwarearchitekt 5/13

Beziehungen: Architekt Req. Engineer Festlegung der Anforderungen und Rahmenbedingungen Zusammenführung unterschiedlicher oder widersprüchlicher Interessen Kompromissfindung: Funktionale, nichtfunktionale Softwarearchitekt 6/13

Beziehungen: Architekt -Auftraggeber Verbreitung und Akzeptanz der Systemvision Einschränkungen und Vorgaben und Wünsche berücksichtigen Rückmeldungen einholen Softwarearchitekt 7/13

Beziehung Architekt -Entwickler Verbreitung der Akzeptanz der Architektur Training und Beratung des Entwicklerteams in den ausgewählten Werkzeugen und Technologien Moderation und Koordination an den Schnittstellen Durchsetzung der Architekturvorgaben Einholen von Rückmeldungen Softwarearchitekt 8/13

Beziehung Architekt QS / Tester Festlegung der Testinfrastruktur Sicherstellung einer Mindestqualität Festlegung des Qualitätsmerkmale Übergabe der Komponenten an die QS Unterstützung und Zusammenarbeit bei White-Box Tests Softwarearchitekt 9/13

Beziehung Architekt -Betrieb Sicherstellung der Betreibbarkeit Festlegung der Hardwareanforderungen Einschränkungen und Anforderungen festhalten und berücksichtigen Anforderung an SLA definieren Softwarearchitekt 10/13

Softwarearchitekt 11/13

Architekten im modernen Umfeld -Risiken Elfenbeinturm Risiken : Die Architektur kann nur aufwendig umgesetzt werden Die Architektur hat mit der Realität nichts zu tun Die Entwickler fühlen sich entmündigt Das Entwicklungsteam gestaltet die Architektur Risiken : Keiner fühlt sich verantwortlich Das erste was dem Team einfällt wird umgesetzt Architektur nach dem Prinzip : das haben schon immer so gemacht Keine einheitliche Architektur Softwarearchitekt 12/13

Architektur Best Practise Architekturen im Team entwickeln Alle Stakeholder einbinden und mitwirken lassen Architekturen iterativ entwickeln Komplexe Strukturen und große Risiken durch Szenarien und Prototypen absichern Softwarearchitekt 13/13

Architekturentwurf Anforderungen und Einflussfaktoren klären Architektur bewerten Risiken identifizieren Umsetzung begleiten Strukturen und technische Konzepte entwerfen Architektur kommunizieren Architekturentwurf 1/18

Beispiel Modul Artikel Stelle die Ressource Artikel, die im ERP System gepflegt wird anderen Systemen insbesondere Smart Sales (Verkauf) und Helios (Planung) zur Verfügung Sorge für den Import von Stücklisten (verkaufte oder verplante Artikel) in das ERP System Das System muss in vier Monaten fertig sein Architekturentwurf 2/18

Stakeholder Abteilungsleiter Projektleiter Requirement Engineer Verschiedene Fachabteilungen Externer ERP Dienstleister Architekturboard Team Architekturentwurf 3/18

Einflussfaktoren Das System muss in vier Monaten fertig sein Es soll ein Modul der Integrationsplattform Doris werden Das Zielsystem Smart Sales wird parallel entwickelt, die Schnittstelle kann sich hier ändern Das Quellsystem ERP wird ebenso parallel entwickelt. Evtl. haben die Entwickler zu wenig Zeit um sich um die Anpassungen zu kümmern Die Zusammenarbeit mit dem externen Dienstleister muss noch etabliert werden Architekturentwurf 4/18

Risiken Anforderungen teilweise unklar Kleines Team Hoher Zeitdruck Zielsystem wird noch entwickelt Verfügbarkeit des externen Dienstleiters unklar Es fehlt Erfahrung mit neu eingesetzten Techniken Architekturentwurf 5/18

Softwareentwurf Anforderungen und Einflussfaktoren klären Architektur bewerten Risiken identifizieren Umsetzung begleiten Strukturen und technische Konzepte entwerfen Architektur kommunizieren Architekturentwurf 6/18

Vorgehen beim Entwurf Kernaufgabe kurz beschreiben und mit den Stakeholdern abstimmen Folgende Fragen klären: Wer nutzt das System? Wie wird das System genutzt? Welche Schnittstellen gibt es? Welche Daten werden verwaltet? Wie wird das System gesteuert? Systemidee entwickeln und abstimmen Architekturentwurf 7/18

Beispiel Modul Artikel Anwender: Anlagenplaner, Vertrieb, Einkäufer, Projektverwalter Schnittstellen zu Dynamic AX, Smart Sales, Design System Daten: Artikel, Stückliste Integration des Modul in die Integrationsplattform Doris RESTFul Excel Import, Export Aufruf von den angeschlossenen Systemen, offline und manuell Architekturentwurf 8/18

Softwarearchitektur iterativ entwickeln Einflussfaktoren Anforderungen beeinflussen Architekturentwurf ändert ändert Umwelt & Projektbeteiligte Kunde Architekturentwurf 10/18

Grundlegende Konzepte Einfachheit So einfach wie möglich So komplex wie nötig Entwurf nach Verantwortlichkeiten Trennung von Technik und Fachlichkeit Modularität Konzentration auf Schnittstellen Berücksichtigung von Fehlern Architekturentwurf 11/18

Qualität Manager und Auftraggeber Kosteneffizienz Flexibilität Wartbarkeit Anwender Hohe Performance Einfache Benutzbarkeit Projektleiter Parallelisierbarkeit Gute Testbarkeit Architekturentwurf 12/18

Qualitätsmerkmale Funktionalität Angemessenheit Richtigkeit Zuverlässigkeit Fehlertoleranz Reife Benutzbarkeit Verständlichkeit Erlernbarkeit Architekturentwurf 13/18

Qualitätsmerkmale Fortsetzung Effizienz Zeitverhalten Verbrauchsverhalten Änderbarkeit Modifizierbarkeit Analysierbarkeit Übertragbarkeit Austauschbarkeit Konformität Architekturentwurf 14/18

Qualitätsmerkmale Modul Artikel Interoperabilität Modifizierbarkeit Stabilität Zeitverhalten Ausfallsicherheit Architekturentwurf 15/18

Szenarien -Beispiele Ein neuer Artikel muss innerhalb eines Tages dem System Smarts Sales zur Verfügung stehen Ein neues System muss innerhalb von 10 PT Artikel verarbeiten können Bei einem Ausfall des Systems muss das System innerhalb von max. 12 Stunden wieder online sein Architekturentwurf 16/18

Szenarien Vorlage Quelle des Auslösers Auslöser Umgebung Systembestandteil Antwort Antwortmetrik Architekturentwurf 17/18

Weitere Konzepte -SOLID Single Responsible Principle Open Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle Architekturentwurf 18/18

Dokumentation Best Practise Template verwenden z.b. arc42 Vier Arten von Sichten verwenden Einfach halten Standards verwenden z.b. UML Dokumentenverzeichnis Stakeholder Wichtige Entscheidungen und ihre Gründe festhalten Dokumentation 1/2

Die Vier Sichten Dokumentation 2/2

Architekturpattern SOA Hexagonal Micro Service Layer / Monolith Architekturpattern 1/15

Architekturpattern Conways Law Conways Law Organisationen die Systeme modellieren sind auf Modelle festgelegt, welche die Kommunikationsstrukturen dieser Organisation abbilden Conways Corollary Ein Software System dessen Struktur die Kommunikationsstruktur der Organisation widerspiegelt, funktioniert besser Architekturpattern 2/15

SOA Beispiel Deutsche Post AG Motive: Investitionen sichern Neuentwicklung beschleunigen Zugriff auf Kerninformationen herstellen und vereinfachen Architekturpattern 3/15

SOA -Lösungsidee Unterstützung von Geschäftsprozessen durch fachliche Services, die miteinander interagieren Services sind technikunabhängig Bildung einer Servicearchitektur (statt Anwendungsarchitektur) Möglichst wenig Redundanzen für Funktionen und Daten Integration von bestehenden Applikationen Architekturpattern 4/15

Erneuerung der IT Landschaft Neuentwurf der Geschäftsprozesse Ableitung der IT-Anforderungen Entwurf des Business Domain Model Implementation Architekturpattern 5/15

Service Backbone (SBB) Architekturpattern 6/15

Standardapplikationen SBB kapselt Standardapplikationen wie SAP SBB stellt deren Funktionalität zur Verfügung Architekturpattern 7/15

Service Entwurf 1. Identifizieren aller potenzieller Consumer 2. Spezifizieren der Geschäftsfunktionalität 3. Vergleichen mit Business Domain Model und existierenden Services 4. Definieren und Starten der Implementation 5. Service Beschreibung, SLA, XML Schema 6. Service Provider mit SBB verbinden 7. Registrieren Architekturpattern 8/15

Motive der Hexagonalen Architektur Keine verteilte Business Logik Testbar in Isolation Verwendbar in Anwender Applikationen und Batch Systemen Wurde angewendet bei Flickr, Google Maps 9/15

Hexagonale Architektur Ports & Adapter 10/15

Motive -Schichtenarchitektur Schichten können unabhängig voneinander entwickelt werden Schichtenbildung minimiert Abhängigkeiten zwischen Komponenten Schichtenbildung ist ein leicht verständliches Strukturprinzip 11/15

Schichtenarchitektur GUI Schicht Mittelschicht Datenbankschicht Architekturpattern 12/15

Motive Microservices Klare Modularisierung Gute Skalierbarkeit Einfaches Deployment Teams können unabhängig voneinander arbeiten Aufteilung der Teams anhand von Fachlichkeit 13/15

Microservices 14/15

Best Practise Die Architektur sollte der Organisationsstruktur entsprechen Beides sollte der Problemstellung angepasst sein Auch für die Organisation gelten ähnliche Empfehlungen: Single Responsible Prinzip Konzentration auf die Schnittstellen Architekturpattern 15/15

Zusammenfassung Softwarearchitektur ist wichtig Die Arbeit kann von der Rolle Softwarearchitekt übernommen werden Teamarbeit ist wichtig Dokumentation pragmatisch angehen Man kann verschiedene Architekturpattern anwenden Organisation und Architektur hängen eng miteinander zusammen Zusammenfassung 1/1

Quellenverzeichnis Effektive Softwarearchitekturen Gernot Starke Arc42 www.arc42.de Aim42 www.aim42.org Knigge für Softwarearchitekten Peter Hruschka, Gernot Starke Software Architectur in Praxis Len Bass, Paul Clements, Rick Kazman Pattern Oriented Software Architecture (Volume 4) Frank Buschmann, Kevlin Henney, Douglas C. Schmidt Pattern of Enterprise Application Architecture Martin Fowler Literaturverzeichnis 1/2

Quellenverzeichnis SOA in der Praxis Nicolai Josuttis Enterprise SOA Dirk Krafzig, Karl Blanke, Dirk Slama Literaturverzeichnis 2/2