Keine technischen Schulden mehr!

Größe: px
Ab Seite anzeigen:

Download "Keine technischen Schulden mehr!"

Transkript

1 News- Client Produkte- Client Frontend... Frontend Produkte News Topthemen Produkte Bestellungen Abo-Daten tägl. Kunden Bestellungen Produkte Browser tägl. http Such-Ergebnisse Login, Abo-Daten idesk - Browser Beiträge Normen Frontend Normen- DB-Client Entscheidungen Tools Autoren- DB-Client Frontend Produktionsstrecke XML- RPC XML- RPC Content HPE XMetaL Keine technischen Schulden mehr! Dr. Carola Lilienthal [email protected] //// Hans-Henny-Jahnn-Weg 29 //// HAMBURG Expertise der WPS Rund um Architekturanalyse Architektur-Review und Qualitätsgutachten Architektur- und Refactoring-Beratung Architekturstile - Einführung und Entwicklung Rund um EAM Analyse der IST/SOLL-Geschäftsprozesse mit Fachanwendern Darstellung von kompletten Software/ Hardware-Landschaften Strategische EA-Entwicklung Portalbereich SAP Shop Community Portal SAP Portale System ebiz - Portal idesk - Service HRS Produktionsbereich HPE //// Seite 2 1

2 Zwei übliche Architekturziele Architekturziel 1: Wartbarkeit Stabilität und Verständlichkeit Reduktion von Komplexität schnelle Fehleranalyse schnelle Changes Architekturziel 2: Fachliche Flexibilität Geschäftsprozesse verschiedener Kunden unterstützen Anpassbarkeit an geänderte Anforderungen Baukastenprinzip //// Seite 3 Technischen Schulden = Architektur-Erosion Grad der Wartbarkeit Regelmäßige Architektur-Erneuerung Korridor für gute Architekturqualität Architektur- Erosion Refactorings Neue Funktionalität pro Zeiteinheit //// Seite 4 2

3 Technischen Schulden = Architektur-Erosion Grad der Wartbarkeit Regelmäßige Architektur-Erneuerung Korridor für gute Architekturqualität Architektur- Erosion Refactorings Neue Funktionalität pro Zeiteinheit Ursachen dieses Erosions-Prozesses: Unbemerkt steigender Kopplungsgrad und Komplexität Hacks aus Zeitdruck durch Kunde und Projektleitung Entwicklung eines zweiten/dritten Produkts auf Basis eines Ersten Keine Zeit für Architektur-Diskussionen + Architektur-Erneuerung Fehlendes Architekturverständnis im Entwicklungsteam //// Seite 5 Maßnahmen gegen Architektur-Erosion Festlegen von verbindlichen Architekturzielen Durchgängige Architekturprinzipien und Architekturstile Weiterbildung der Architekturen und Entwickler Etablieren einer Architekturgruppe Regelmäßige Architekturanalyse und -Erneuerung //// Seite 6 3

4 Architekturanalyse: Was ist das? Findet sich die geplante Architektur (Soll-Architektur) in der Strukturen der implementierten Software (Ist-Architektur) wieder? Soll-Architektur Ist-Architektur Quelltext //// Seite 7 Erfahrungshintergrund Architekturanalysen in Java, C#, C++, ABAP etc. Erkenntnisse Typische Eigenschaften je nach Größe Strukturelle Einfachheit und Einheitlichkeit Ohne regelmäßige Architektur-Erneuerung degenerieren Systeme Analysewerkzeuge SotoArc + Sotograph SonarJ Sonargraph Lattix //// Seite 8 4

5 Strukturelle Einfachheit der Architektur Einfach, einheitliche Architektur Modularität Geordnetheit Mustertreue //// Seite 9 Strukturelle Einfachheit der Architektur Einfach, einheitliche Architektur Modularität Geordnetheit Mustertreue //// Seite 10 5

6 Mustertreue: Was finden wir? Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen? //// Seite 11 Architekturstile: Was ist das? Ein Architekturstil ist eine prinzipielle Lösungsstruktur, die für ein Softwaresystem durchgängig und unter weitgehendem Verzicht auf Ausnahmen angewandt werden sollte. [Reussner et al. 2006] Komponentenarchitektur Schichtenarchitektur Mustersprache GUI Window View Model C ontr t o l Service e BusinessObject ect ValueObject //// Seite 12 6

7 Zwei Dimensionen einer Architektur Technische Schichtung Fachliche Schichtung Eine Komponente verursacht die Probleme Schwer zu behebende Verletzungen Leicht zu behebende Verletzungen Eine Komponente verursacht die Probleme //// Seite 13 Fachliche Schichtung misslungen Technische Schichtung Fast alle 90 fachlichen Komponenten brauchen sich gegenseitig Keine fachliche Schichtung Wenige Schichtenverletzungen //// Seite 14 7

8 Mustersprache 80% des Sourcecodes lässt sich den 23 Mustern zuordnen 4% Verletzungen in den Mustern //// Seite 15 Strukturelle Einfachheit der Architektur Architekturkomplexität Modularität Geordnetheit Mustertreue //// Seite 16 8

9 Modularität: Entwurf nach Zuständigkeiten Entwurf nach Zuständigkeiten (engl.: Responsibility-Driven Design) ist eine Entwurfsphilosophie, die von Rebecca Wirfs-Brock et al. Ende der 80er Jahre formuliert wurde: Objects are not just simple bundles of logic and data. They are responsible members of an object community. Dazu passende Ansätze: Separation of Concerns (Dijkstra) Modularität (Parnas) Kohäsion (Myers, Coad&Yourdon) Single Responsibility Principle (SRP) (Robert C. Martin) Jede Klasse, jedes Paket, jedes Subsystem, jedes Modul, jede Schicht sollte für eine klar definierte Aufgabe zuständig sein //// Seite 17 Modularität: Ausgewogene Größenverhältnisse Ist das System auf den verschiedenen Ebenen ausgewogen? Welche Code-Abschnitte fallen durch ihre Größe besonders auf? Typische Metriken: LOC pro Methode, Klasse, Package, Komponenten Duplizierter Code Zyklomatische Komplexität Anti-Pattern Godclass //// Seite 18 9

10 Kopplungsgrad Ist das System auf den verschiedenen Ebenen lose gekoppelt? Welche Code-Abschnitte fallen durch besonders viele Beziehungen auf? Ziel: Lose Kopplung //// Seite 19 Beispiel: Größenverhältnis und Kopplungsgrad Große Steuerungsklassen benutzen bis zu andere Klassen RLOC/Klasse RLOC Beziehungen/Klasse RLOC Ausgewogene Größenverhältnisse auf allen Ebenen führen zu geringerer Kopplung und besserem objektorientiertem Entwurfs //// Seite 20 10

11 Strukturelle Einfachheit der Architektur Architekturkomplexität Modularität Geordnetheit Mustertreue //// Seite 21 Zyklenfreiheit Hierarchische Strukturen Acyclic Dependencies Principle (ADP) Auswirkung auf: Wartbarkeit Austauschbarkeit Testbarkeit Einstiegspunkt beim Analysieren Zyklen zwischen Klassen, Paketen, Komponenten und Schichten vermeiden //// Seite 22 11

12 Schichtenarchitektur fast ohne Verletzungen WebServices 1 Ca LOCs Services 1 Tools 1 Client Services 2 Tools 2 Tools 3 Tools 4 Die Schichten spiegeln den Aufbau einer Client-Server- Architektur wieder: Anwendungen, Client, Server und Basis. WebServices //// Seite 23 Chaos auf Klassenebene 30% der Klassen sind in Klassenzyklen 60% der Packages sind in Zyklen Problem B Problem A BadSmell: God Class 98% der Klassen haben zu weniger als 10 Klassen Beziehungen Problem A kennt 21 Klassen und wird von 49 benutzt Problem B kennt 63 Klassen und wird von 18 Klassen benutzt //// Seite 24 12

13 Große Zyklen sichtbar machen 327 Klassen aus 8 Komponenten brauchen sich gegenseitig //// Seite 25 Der Zwang zur Zyklenfreiheit 80% des Sourcecodes 9 Komponenten = 17 Subsysteme //// Seite 26 13

14 Grundregeln struktureller Einfachheit für Architektur Architekturkomplexität Modularität Geordnetheit Mustertreue Zuständigkeit Kopplung Größenverhältnisse Schnittstellen Zyklenfreiheit auf allen Ebenen Architekturstil(e) Einheitlich und durchgängige //// Seite 27 Kommerzielle Produkte Axivion Bauhaus: Java,.Net, C/C++, Ada, VB und Cobol CAST: 28 Programmiersprachen (u.a. Java,.Net, Cobol/CICS) Lattix: Java,.Net, C/C++, Ada, Delphi und DB-Systeme Structure101: Java, C++, Ada SotoArc und Sonargraph: Java,.Net, C/C++, ABAP //// Seite 28 14

15 Kostenfreie Werkzeuge Sonar: Leitstand für Qualitätsmetriken Plattform für vielfältige Plugins JDepend: wenige Metriken einfache Abhängigkeitsanalyse JDepend + Google Architecture Rules: einfache Architekturbeschreibung Ndepend/CDepend: Metriken Abhängigkeitsanalyse XRadar: Analyse von Java-Projekten via maven Reports bezüglich Komplexität und Architekturverletzungen //// Seite 29 Restrukturierung von großen Systemen Erfahrung mit Analyse-Werkzeugen Umfassender Einblick und Überblick über die vorhandene Architektur Graphische Dokumentation mit Architekturdiagrammen Diskussionsgrundlage für und Simulation von Architektur-Restrukturierung Überprüfen der Effekte von Restrukturierungen auf die Architektur Refactoring-Anleitung für die erarbeitete Restrukturierungen //// Seite 30 15

16 Schrittweise Weiterentwicklung der Architektur Phase 1 Soll-/Ist-Architektur vergleichen Phase 2 Architektur diskutieren und verbessern Phase 3 Im Architekturkorridor bleiben und Architektur verbessern 2-Tage Workshop Verletzungen beheben 2x2-Tage Workshop Anpassungen an neue Architektur -Guidlines 1-Tages Work- shop Repara- a- turen ½-Tages Workshop Phase 1: Aufräumen Phase 2: Verbessern Phase 3: Erhalten //// Seite 31 Leitstand für Verbesserungen im laufenden Betrieb 94% 84% 74% 64% 54% 44% 34% Tatsächliches 24% Problem? v1.0 v1.1_b1 v1.1_b2 v1.1_b3 v1.1 v1.2_b1 v1.2 v2.0_b1 v2.0_b2 v2.0 Architekturqualität Feinentwurfsqualität Implementierungsqualität Testabdeckung Ergebnis Die Architekturziele sind im ganzen Team präsent und werden verfolgt. Softwarewartung und Änderung ist einfacher und kostengünstig. Die Software ist stabil, flexibel und langlebig. Neue Mitarbeiter können nach kurzer Zeit produktiv mitentwickeln //// Seite 32 16

17 Vielen Dank für Ihre Aufmerksamkeit. Diplom-Informatikerin Dr. Carola Lilienthal Mitglied der Geschäftsleitung cl //// Seite 33 17

Langlebige Softwarearchitekturen

Langlebige Softwarearchitekturen Langlebige Softwarearchitekturen Dr. Carola Lilienthal [email protected] www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Die zwei Architekturziele für diesen Vortrag Architekturziel 1:

Mehr

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, [email protected], @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software

Mehr

Langlebige Softwarearchitekturen der Weg aus den technischen Schulden

Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Dr. Carola Lilienthal, [email protected], @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß

Mehr

Validierung von SW-Architekturen - Erfahrungen beim Einsatz des Sotographen Dr. Carola Lilienthal Carola.Lilienthal@workplace-solutions.

Validierung von SW-Architekturen - Erfahrungen beim Einsatz des Sotographen Dr. Carola Lilienthal Carola.Lilienthal@workplace-solutions. Validierung von SW-Architekturen - Erfahrungen beim Einsatz des Sotographen Dr. Carola Lilienthal [email protected] www.workplace-solutions.de //// Hans-Henny-Jahnn-Weg 29 //// 22085

Mehr

Nachhaltigkeit durch regelmäßige Architekturprüfung Software-Architekturen überprüfen und erhalten

Nachhaltigkeit durch regelmäßige Architekturprüfung Software-Architekturen überprüfen und erhalten Nachhaltigkeit durch regelmäßige Architekturprüfung Software-Architekturen überprüfen und erhalten Dr. Carola Lilienthal, Henning Schwentner {cl,hs}@c1-wps.de OOP 2012, ICM International Congress Center,

Mehr

Langlebige Software-Architekturen

Langlebige Software-Architekturen Langlebige Software-Architekturen Technische Schulden analysieren, begrenzen und abbauen Bearbeitet von Carola Lilienthal 1. Auflage 2015. Taschenbuch. XII, 276 S. Paperback ISBN 978 3 86490 292 5 Format

Mehr

Mit service-orientierten Architekturkonzepten ABAP- Altsysteme auf die Zukunft ausrichten

Mit service-orientierten Architekturkonzepten ABAP- Altsysteme auf die Zukunft ausrichten Mit service-orientierten Architekturkonzepten ABAP- Altsysteme auf die Zukunft ausrichten, C1 WPS GmbH Dr. Sönke J. Magnussen, Lufthansa Revenue Services Agenda 1. Sirax Airline Revenue Accounting 2. Sirax

Mehr

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen ...we make the invisible visible... 1 Inhalt Fragestellungen Analysen und deren Anwendung Erfahrungen 2 Projektleiter Hat unsere Software eine klare, verständliche Struktur? Gibt es problematischen Code,

Mehr

Softwarearchitektur-Management

Softwarearchitektur-Management Kontrolle über Architekturerosion durch Softwarearchitektur-Management Thomas Schoen hello2morrow GmbH, Software-Tomography GmbH 1 Innere (technische, strukturelle) Softwarequalität Wie gut ist die Software

Mehr

ENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN 1 / 21. Markus Just Wissenschaftliche Vertiefung

ENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN 1 / 21. Markus Just Wissenschaftliche Vertiefung ENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN Markus Just 22.01.2016 Wissenschaftliche Vertiefung 1 / 21 Agenda 1) Einführung 2) SOLID- nach Robert C. Martin 3) Fazit 2 / 21 Mängel von

Mehr

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug [email protected] www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

Alternative Architekturkonzepte

Alternative Architekturkonzepte Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung

Mehr

Software-Refactoring. 29. Mai 2013

Software-Refactoring. 29. Mai 2013 Software-Refactoring 29. Mai 2013 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie

Mehr

OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung)

OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung) OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung) SS 2015 Birgit Demuth Analyse Anforderungs- Ermittlung Von der Analyse zum Entwurf System- Modelierung Anforderungs- Spezifikation (Pflichtenheft)

Mehr

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com Sonargraph in 15 Minuten Andreas Hoyer [email protected] blog.hello2morrow.com hello2morrow GmbH Gegründet 2005 Angesiedelt in Deutschland, USA und Kolumbien > 95% des Umsatzes Software Lizenzen,

Mehr

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

Heinz Züllighoven: Schritt 0: Die Anfänge im Kleinen

Heinz Züllighoven: Schritt 0: Die Anfänge im Kleinen Nachhaltige Software-Architekturen mit dem Werkzeug & Material-Ansatz Heinz Züllighoven Carola Lilienthal Universität Hamburg Zentrum für Architektur und Gestaltung von IT-Systemen C1 WPS GMBH //// Vogt-Kölln-Str.

Mehr

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen ...we make the invisible visible... Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen 1 Inhalt Qualitätsbegriff und Qualitätsmodelle Abstraktion Analysen und deren Anwendung Erfahrungen

Mehr

Kontinuierliche Architekturanalyse. in 3D

Kontinuierliche Architekturanalyse. in 3D Kontinuierliche Architekturanalyse in 3D Stefan Rinderle Bachelor an der HS Karlsruhe Master "Software Engineering" in München / Augsburg Seit 2013 bei Payback 2 Software-Visualisierung Visualisierung

Mehr

2 Softwarearchitektur in der Organisationsstruktur 25

2 Softwarearchitektur in der Organisationsstruktur 25 xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition

Mehr

Sotographie Code-basierte Analyse, Bewertung und Sanierung komplexer ABAP-Systeme

Sotographie Code-basierte Analyse, Bewertung und Sanierung komplexer ABAP-Systeme Sotographie Code-basierte Analyse, Bewertung und Sanierung komplexer ABAP-Systeme Autoren: Clemens Heppner Dipl.-Inform. Jörn Koch Dipl.-Inform Dr. Carola Lilienthal Dipl.-Inform. Dr. Guido Gryczan Prof.

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 2: Einführung in Service-Orientierte Architekturen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda

Mehr

Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise

Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise SEACON, 22./23.6.2009, Hamburg Ralf Degner, Techniker Krankenkasse Überblick Voraussetzungen, Ziele, Entscheidungen Logische Schichten

Mehr

<Insert Picture Here> Einführung in SOA

<Insert Picture Here> Einführung in SOA Einführung in SOA Markus Lohn Senior Principal Consultant SOA? - Ideen Selling Oracle To All SAP On ABAP Increasing Sales Of Applications 3 Agenda Motivation SOA-Definition SOA-Konzepte

Mehr

Modul Software Komponenten 01 Komponenten

Modul Software Komponenten 01 Komponenten Modul Software Komponenten 01 Komponenten Martin Jud Inhalt 1. Begriff 2. Bedeutung 3. Nutzen 4. Entwurf mit Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 2 1. Begriff Definition

Mehr

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

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Mag. Georg Buchgeher +43 7236 3343 855 [email protected] www.scch.at Das SCCH ist eine Initiative der Das SCCH befindet sich

Mehr

Behutsame Modernisierung

Behutsame Modernisierung Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

12.4 Sicherheitsarchitektur

12.4 Sicherheitsarchitektur 12.4 Sicherheitsarchitektur Modellierung Sicherheitsstrategie Systemmodell Sicherheitsmodell Entwurf Architektur Sicherheitsarchitektur Implementierung sicherer Code SS-12 1 Wie wird das Sicherheitsmodell

Mehr

Thomas Schoen hello2morrow GmbH. Six-Sigma für Software Architekten

Thomas Schoen hello2morrow GmbH. Six-Sigma für Software Architekten Thomas Schoen hello2morrow GmbH Six-Sigma für Software Architekten Komplexität kann leicht außer Kontrolle geraten 2010 hello2morrow GmbH 2 Was ist technische Softwarequalität? Technische (interne, strukturelle)

Mehr

Experts in agile software engineering. Software Architektur andrena objects ag

Experts in agile software engineering. Software Architektur andrena objects ag Experts in agile software engineering Software Architektur [email protected] Experts in agile software engineering 2 Experts in agile software engineering 2 Architektur in der Software Entwicklung

Mehr

Software Engineering. 5. Architektur

Software Engineering. 5. Architektur Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement

Mehr

Business-Software, die Spaß macht! IT S ALL ABOUT THE DOMAIN, HONEY - Erfahrungen aus 10 Jahren Domain Driven Design

Business-Software, die Spaß macht! IT S ALL ABOUT THE DOMAIN, HONEY - Erfahrungen aus 10 Jahren Domain Driven Design IT S ALL ABOUT THE DOMAIN, HONEY - Erfahrungen aus 10 Jahren Domain Driven Design Dr. Carola Lilienthal, [email protected], @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software,

Mehr

Effektive Software-Architekturen Ein praktischer Leitfaden

Effektive Software-Architekturen Ein praktischer Leitfaden Gernot Starke Effektive Software-Architekturen Ein praktischer Leitfaden ISBN-10: 3-446-41215-8 ISBN-13: 978-3-446-41215-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41215-6

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Ziele und Tätigkeiten von Architekten

Ziele und Tätigkeiten von Architekten Ziele und Tätigkeiten von Architekten Definition Software Architektur o A software architecture provides a model of a whole software system that is composed of internal behavioral units (i.e. components)

Mehr

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile OSGi The dynamic module system for Java Bundles Exports Imports Dependencies Services Declarative Services Versionen Dynamic

Mehr

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Matthias Wagner, Anita Herrmann Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Simulations-

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze [email protected] Gliederung Begriffsbestimmung

Mehr

Langlebige Softwarearchitekturen

Langlebige Softwarearchitekturen Carola Lilienthal Langlebige Softwarearchitekturen Technische Schulden analysieren, begrenzen und abbauen 2., überarbeitete und erweiterte Auflage Carola Lilienthal [email protected] www.llsa.de

Mehr

3-Tier-Architecture und J2EE

3-Tier-Architecture und J2EE 3-Tier-Architecture und J2EE Oliver Müller Seminar Software-Entwurf WS 2004/05 3-Tier, was war das noch gleich? NEIN, das nicht!!! 2 Die Lage - Applikationen laufen

Mehr

IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen

IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen Vorlesung - IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen Seite 1 Typische Situation in Integrationsprojekten Verwendung komplexer und teuerer Integrationsframeworks.

Mehr

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,

Mehr

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010 Architekturentscheidungen für große langlebige Softwaresysteme: Vendor-Lock-in- und Netz-Effekte Menschen beraten Menschen beraten BTC zeigt Wege auf - Sie entscheiden BTC zeigt Wege auf - Sie entscheiden

Mehr

Erfahrungen mit kontinuierlichem Architektur- und Qualitätsmonitoring in einer großen Anwendungsfamilie im Bankenumfeld

Erfahrungen mit kontinuierlichem Architektur- und Qualitätsmonitoring in einer großen Anwendungsfamilie im Bankenumfeld Di 11 Erfahrungen mit kontinuierlichem Architektur- und Qualitätsmonitoring in einer großen Anwendungsfamilie im Bankenumfeld Joachim Baumann Walter Bischofberger Organized by: Lindlaustr. 2c, 53842 Troisdorf,

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Baut man eine SOA in der Datenbank?

Baut man eine SOA in der Datenbank? DOAG November 16, 2010 Andreas Gaede PITSS GmbH Baut man eine SOA in der Datenbank? Agenda: Motivation Beispiele Fazit SOA Betrachtung Vorgehensweise think BIG start small Oracle Anwender SOA in der DB

Mehr

Lehrplan: Architektur und Design. paluno

Lehrplan: Architektur und Design. paluno Lehrplan: Architektur und Design Gliederung 1 Grundlagen der industriellen So9ware Entwicklung 2 Ebenen von Architektur und Design 3 KernakAvitäten von So9ware- Architekten 4 Architekturtypologien von

Mehr

ANGEWANDTE LINGUISTISCHE DATENVERARBEITUNG PROF. DR. JÜRGEN ROLSHOVEN UTE WINKELMANN

ANGEWANDTE LINGUISTISCHE DATENVERARBEITUNG PROF. DR. JÜRGEN ROLSHOVEN UTE WINKELMANN ANGEWANDTE LINGUISTISCHE DATENVERARBEITUNG PROF. DR. JÜRGEN ROLSHOVEN 15.02.2016 UTE WINKELMANN EINLEITUNG Akronym: Text Engineering Software Laboratory Virtuelle Arbeitsumgebung für textprozessierende

Mehr

Reengineering und Refactoring von Softwarearchitekturen

Reengineering und Refactoring von Softwarearchitekturen Methodische und Praktische Grundlagen der Informatik 3 Reengineering und Refactoring von Softwarearchitekturen Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik WS 2008/2009 Lernziele?

Mehr

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die

Mehr

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

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler Eine technische Plattform für Smart-Client-Systeme Alexander Ziegler Agenda Ausgangssituation Smart Client Ansatz Technische Kernthemen Erfahrungen 1 Agenda Ausgangssituation Smart Client Ansatz Erfahrungen

Mehr

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE. Motivation und Zielsetzung

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE. Motivation und Zielsetzung Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE www.arsnova.de Java Forum Stuttgart, 01. Juli 2004 1 Agenda SVG als Lösungsansatz SVG/J2EE-Technologiestudie

Mehr

Java Forum Stuttgart 7. Juli 2005

Java Forum Stuttgart 7. Juli 2005 Java Forum Stuttgart 7. Juli 2005 Das Versprechen der BPM-Plattform Plattform-Anbieter Eine kritische Analyse Dieter Szegedi Agenda Die zentralen Konzepte Ein Paradigmenwechsel Aufgabenstellung und Grundsätze

Mehr

Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI

Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI Agenda Einordnung des Themas Motivation Quantifizierung Nicht-funktionale

Mehr

Software-Refactoring. 27. Mai 2015

Software-Refactoring. 27. Mai 2015 Software-Refactoring 27. Mai 2015 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie

Mehr

Kapitel 1 Applikations-Architektur VIIII

Kapitel 1 Applikations-Architektur VIIII Kapitel 1 Applikations-Architektur VIIII Software Architecture, Quality & Testing FS 2016 Prof. Dr. Jana Koehler [email protected] Fallstudie Fillialbestellsystem (FBS) aus Modul Applikationsentwicklung

Mehr

Studium Informatik Praktikum an der "University of Wisconsin", USA Abschluss als Diplom Informatiker

Studium Informatik Praktikum an der University of Wisconsin, USA Abschluss als Diplom Informatiker Einsatzprofil 1. Persönliche Daten Name: Vorname: Lubahn Dirk Geburtsjahr: 1971 Staatsangehörigkeit: Ausbildung: Qualifikation: Fremdsprache: DV-Erfahrung seit: deutsch Abitur Studium Informatik Praktikum

Mehr

Instrumentation von Android Anwendungen mit ExplorViz

Instrumentation von Android Anwendungen mit ExplorViz Instrumentation von Android Anwendungen mit ExplorViz Jan Witzany 28. September 2016 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September 2016 1 / 19 Gliederung 1. Motivation

Mehr

Serviceorientiertes Fahrplanauskunfts- und Routingsystem für den ÖPNV auf Basis freier Geodaten und Software

Serviceorientiertes Fahrplanauskunfts- und Routingsystem für den ÖPNV auf Basis freier Geodaten und Software Serviceorientiertes Fahrplanauskunfts- und Routingsystem für den ÖPNV auf Basis freier Geodaten und Software Daniel Maier Universität Rostock / Werum Software & Systems AG Lüneburg 18.04.2012 2009 UNIVERSITÄT

Mehr

Verbesserung der Architektur und Dokumentation der DPP-Software Saros. Slawa Belousow Institut für Informatik FU Berlin 13.01.2011

Verbesserung der Architektur und Dokumentation der DPP-Software Saros. Slawa Belousow Institut für Informatik FU Berlin 13.01.2011 Verbesserung der Architektur und Dokumentation der DPP-Software Saros Slawa Belousow Institut für Informatik FU Berlin 13.01.2011 Vorstellung der Arbeit Problem Entwicklung wird immer schwieriger Ziel

Mehr

business.people.technology.

business.people.technology. business.people.technology. Portalserver meets SOA: State of the Portal Art Andreas Hartmann 18.06.2010 2 Portalserver meets SOA: State of the Portal Art 18.06.2010 Agenda Baukastensystem zur Integration

Mehr

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Huber @ThomasClaudiusH BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

Client/Server Applikation mit Android BDA Zwischenpräsentation. Agenda. Einführung. Einführung. Planung & Vorgehen. Systemübersicht.

Client/Server Applikation mit Android BDA Zwischenpräsentation. Agenda. Einführung. Einführung. Planung & Vorgehen. Systemübersicht. Client/Server Applikation mit Android BDA Zwischenpräsentation Horw, 11. Mai 2012 Christoph Moser, Thomas Galliker Agenda Einführung Planung & Vorgehen Systemübersicht Evaluation Demonstration Nächste

Mehr

Software-Qualität sichtbar machen

Software-Qualität sichtbar machen Software-Qualität sichtbar machen Prof. Dr. Claus Lewerentz BTU Cottbus Vortrag im Rahmen des Berlin-Brandenburger Software-Forums Zeit: 28. April 2003,18.30 Uhr Ort: Fraunhofer FIRST Berlin Software Qualität

Mehr

Kapitel 3 Software Quality III

Kapitel 3 Software Quality III Kapitel 3 Software Quality III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler [email protected] Agenda Heute Von Bad Smells zu Refactorings Wie wird Refactoring durchgeführt?

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Softwareanalyse. Einsatzgebiete, Werkzeuge und Beispiele. Bodo A. Igler und Burkhardt Renz. Fachhochschule Gießen-Friedberg

Softwareanalyse. Einsatzgebiete, Werkzeuge und Beispiele. Bodo A. Igler und Burkhardt Renz. Fachhochschule Gießen-Friedberg Softwareanalyse Einsatzgebiete, Werkzeuge und Beispiele Bodo A. Igler und Burkhardt Renz Fachhochschule Gießen-Friedberg Workshop VfSt 17. August 2006 Analysierbare Modelle Modelle und Fragen Analyse von

Mehr

Di 5.2. Kontrolle über Architekturerosion und Codequalität bei 40 Mio Java LOC. Harald Doderer Thomas Schoen

Di 5.2. Kontrolle über Architekturerosion und Codequalität bei 40 Mio Java LOC. Harald Doderer Thomas Schoen Di 5.2 January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich Kontrolle über Architekturerosion und Codequalität bei 40 Mio Java LOC Harald Doderer Thomas Schoen Kontrolle über

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger [email protected] http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

Mehr

ENTERPRISE MODERNIZATION

ENTERPRISE MODERNIZATION ENTERPRISE MODERNIZATION WAS GIBT ES NEUES? ING. ALEXANDER L. PAWLIK 29.06.2012 ENTERPRISE MODERNIZATION THEMEN Modernisierung der Anwendungsentwicklung Entwicklungswerkzeuge Teamarbeit Modernisierung

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor Software Engineering Experiment Sebastian Meyer und Kai Stapel Tool-Chain Übung Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" 2009 Sebastian Meyer und Kai Stapel 05.05.2009 Überblick SVN Grundlagen SVN in Eclipse Ant in Eclipse Cobertura

Mehr

SOA Starter Kit Einführungsstrategien und Einstiegspunkte

SOA Starter Kit Einführungsstrategien und Einstiegspunkte SOA Starter Kit Einführungsstrategien und Einstiegspunkte Benjamin Brunner Berater OPITZ CONSULTING Bad Homburg GmbH SOA Starter Kit Seite 1 Agenda Wer sollte eine SOA nutzen? Welche Ziele kann eine SOA

Mehr

Modernisierung von Legacy Anwendungen. Uwe Graf, Senior Software Engineer, EasiRun Europa GmbH

Modernisierung von Legacy Anwendungen. Uwe Graf, Senior Software Engineer, EasiRun Europa GmbH Modernisierung von Legacy Anwendungen Uwe Graf, Senior Software Engineer, EasiRun Europa GmbH Die EasiRun Europa GmbH 1982 1992 1997 2009 Gründung EasiRun Intenational Gründung EasiRun Europa EasiRun Europa

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Praktikum Datenbanken und verteilte Systeme SS Einführung August 2008

Praktikum Datenbanken und verteilte Systeme SS Einführung August 2008 Praktikum Datenbanken und verteilte Systeme SS 2007 - Einführung - 18. August 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg VSIS Arbeitsbereich VSIS: Verteilte

Mehr

Application Express (APEX) Carsten Czarski Business Unit Database. ORACLE Deutschland B.V. & Co KG

Application Express (APEX) Carsten Czarski Business Unit Database. ORACLE Deutschland B.V. & Co KG Application Express (APEX) Anwendungen - schnell und einfach. In der Cloud oder On Premise. Carsten Czarski Business Unit Database ORACLE Deutschland B.V. & Co KG Oracle Application Express (Oracle APEX)

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Software modular bauen

Software modular bauen Software modular bauen Architektur von langlebigen Softwaresystemen Grundlagen und Anwendung mit OSGi und Java von Ulf Fildebrandt 1. Auflage Software modular bauen Fildebrandt schnell und portofrei erhältlich

Mehr

STOFF- IDENT. System DAIOS. Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising. [email protected]

STOFF- IDENT. System DAIOS. Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising. marco.luthardt@hswt.de STOFF- IDENT System DAIOS Workshop: STOFF-IDENT & openmasp 18. / 19.04.2013 Freising [email protected] Überblick 1. Plattform - Vorschau 2. openmasp (OM) 3. STOFF-IDENT(SI) 4. Plattform - Fazit Folie

Mehr

Generischer Modellvergleich mit EMF Compare

Generischer Modellvergleich mit EMF Compare Fakultät Informatik Hauptseminar Technische Informationssysteme SS2010 Generischer Modellvergleich mit EMF Betreuer: Dipl.-Inf. Uwe Ryssel Dresden, 16.07.2010 Gliederung 1. Motivation 2. Eclipse Modeling

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

Ein Design Tool für objektorientierte portable Programmierschnittstellen

Ein Design Tool für objektorientierte portable Programmierschnittstellen Diplomarbeit Ein Design Tool für objektorientierte portable Programmierschnittstellen Vortragender: Elias Volanakis Inhalt 1. Entwurfsmuster 2. Wrapper Facade (WF) Aufgaben & Struktur Implementierung Nutzen

Mehr

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - [email protected]. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

Mehr