Architekturmanagement in der Praxis

Größe: px
Ab Seite anzeigen:

Download "Architekturmanagement in der Praxis"

Transkript

1 Architekturmanagement in der Praxis Dr. Carola Lilienthal C1 WPS GmbH Tel: Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis 1

2 ISO 9126 und Architekturanalyse Externe und Interne Qualität Funktionalität Effizienz Zuverlässigkeit Benutzbarkeit Wartbarkeit Portierbarkeit Eignung Verwendbarkeit Genauigkeit Interoperabilität Sicherheit Verstehbarkeit Erlernbarkeit Bedienbarkeit Attraktivität Reife Fehlertoleranz Ausfallsicherheit Datensicher- heit Zeitverhalten Resourcennutzung Analysierbarkeit Änderbarkeit Erweiterbarkeit Stabilität Testbarkeit Anpassbarkeit Installierbarkeit Ersetzbarkeit Konfigurierbarkeit Untersuchung der inneren Struktur eines Software-Produkts, um die Architektur zu verstehen und zu bewerten und dabei potenzielle Gefahren für die Qualität der Software und den zukünftigen (Weiter-)Entwicklungsprozesses aufzudecken. Architektur Erosion Softwaresysteme degenerieren: Zeitdruck führt zu Abkürzungen und Hacks. Verständnis/Wissen über das System ist ungleich im Team verteilt. Verletzungen der Architektur entstehen unbemerkt. Kopplungsgrad und Komplexität wachsen schneller als erwartet. Viele Architekturverletzungen sind manuell nicht zu erkennen. Die innere Softwarequalität ist dem Management nicht wichtig. Erodierte System sind schwer zu verstehen Erweiterungen erzeugen Seiteneffekte durch neue Fehler Kosten für Erweiterungsmaßnahmen steigen kontinuierlich an Seite 4 2

3 Maßnahmen gegen Erosion Refactoring und automatisches Testen Weiterbildung der Entwickler Codierungs- und Architekturrichtlinien Regelmäßige Architekturanalyse Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis 3

4 Geplante und implementierte Architektur Findet sich die geplante Architektur (Soll-Architektur) in der Strukturen der implementierten Software (Ist-Architektur) wieder? Soll-Architektur Ist-Architektur Klasse Subsystem/ Komponente Quelltext Schicht Plan und Implementierung stimmen selten überein Neuentwicklung Wichtige Details wurden im Plan nicht beschrieben Der Plan wurde von den Entwicklern falsch verstanden Wegwerfprototypen werden zu Produkten ausgebaut Der Plan konnte aus Zeitdruck nicht umgesetzt werden Die fachlichen und technischen Anforderungen ändern sich Weiterentwicklung Software ist keine Prosa, die einmal geschrieben wird und dann unverändert bleibt. Software wird erweitert, korrigiert, gewartet, portiert, adaptiert, Diese Arbeit wird von unterschiedlichen Personen vorgenommen (manchmal über Jahrzehnte)

5 Architekturanalyse Soll Ist??? Weitgehend konsistente Struktur und Abhängigkeiten Geplante aber nicht vorhandene Architekturelemente und Abhängigkeiten ( Redundanz) Nicht geplante aber vorhandene Architekturelemente und Abhängigkeiten ( Verletzung) Zugriff auf Interna ( Schnittstellenverletzung) Ist-Architektur: Aggregation Subsystem I Subsystem A Klasse A.1 Subsystem II Subsystem C Klasse C.1 Klasse B.1 Klasse B.2 Subsystem B Subsystem I Subsystem A Aggregation Klasse D.1 Subsystem D Subsystem II Subsystem C Subsystem B Subsystem D Aggregation Subsystem I Subsystem II 5

6 Analyse von Schichten/Schnitten Produkt 1 Produkt 2 Verletzung der Subsystem-APIs: Immer illegal Abhängigkeit innerhalb einer Schicht (optional) Interface Illegale Benutzungsbeziehungen: LOC 3 Schichten Verfolgung illegaler Beziehungen: Zoomen bis in den Code Produkt 1 Produkt 2 Von Subsystemen Aufwärtsreferenz: Interface Immer Fachlogik illegal nach Packages/Directories i nach Verletzung der Klassen/Dateien Subsystem-APIs: Immer illegal nach Methoden/Funktionen bis zum Sprung in die entsprechende Source-Code-Stelle Aufwärtsreferenz: Immer illegal Abhängigkeit innerhalb einer Schicht (optional) Oberfläche Fachlogik Aufwärtsreferenz: Immer illegal Datenhaltung Oberfläche Datenhaltung Illegale Benutzungsbeziehungen: LOC 3 Schichten 6

7 Architekturanalyse Anforderungen Zerlegung in Teilsysteme Spezifizierte Abhängigkeiten und Schnittstellen Ist- Architektur Architektur- Entwurf Soll- Architektur Vergleich Differenz - Architektur Maßnahmen Rekonstruktion Übereinstimmungen Verletzungen Code Abbildungsvorschrift Sind Teilsysteme im Code repräsentiert? Werden Abhängigkeiten eingehalten? Werden Schnittstellen wie geplant genutzt? Abbildung der Soll- auf die Ist-Architektur Ist die Abbildung der Architektur im Code erkennbar? Module sollten sich anhand ihres Namens (Package-Name, Projektname) und/oder als Teil-Package-Bäume wiederfinden lassen. Schnittstellen von Modulen sollten ebenfalls auffindbar sein (z.b. Package api oder impl )

8 Sotoplatform Plattform für Sotographie Über 20 Jahren Erfahrung im Bereich objektorientierter Softwareprojekte und Datenbank- Design Kommerzielles Produkt seit 2002 Zusammenschluss mit Hello2Morrow/SonarJ in 2008 Viele Referenzkunden, u.a. Siemens, Lufthansa, HHLA, Kühle&Nagel, Daimler, Infineon Arbeitet Datenbank-gestützt Analysiert Java, C++, C# und bietet offene Schnittstelle für weitere Parser Architekturmodellierungskonzepte Eine Sotoarc-Architektur besteht aus einer Anzahl Module, die den Quellcode auf höherer Abstraktionsebene strukturieren. Module Enthalten Pakete oder wiederum Module Haben eine optionale Schnittstelle Drei Modularten Independent Subsysteme -> dürfen sich gegenseitig g g nicht verwenden Unrestricted Subsysteme -> keine architekturellen Restriktionen Schichten -> dürfen keine höheren Schichten verwenden Software-Tomography GmbH

9 Aufbau der Sotograph Plattform ModelManager Sotograph SotoArc Result Scope Query Scope C/C++ Parser Java Parser Repository Fill Interface Repository RDBMS Xref- Scope Graph Scope C# Parser CodeChecker Plugin Interface Metrics Scope DupliScope IDE Interaction PMD, CheckStyle FindBugs, Code Inspector,... SotoWeb SotoReport Eclipse, IntelliJ Idea, SNiFF+, Emacs, UltraEdit,... Software-Tomography GmbH 2008 Plattform: In Java entwickelt Repository: MySQL Ein etwas größeres Beispiel: Spring Spring AOP Source Level Metadata AOP Infrastructure Spring ORM Hibernate JDO support Spring DAO Transaction infrastructure JDBC, DAO Spring Web Web application context Spring Context Application context, UI, JNDI, EJB, Remoting, Mail, Validation Spring Web MVC MVC Framework Spring Core Beans Container, Supporting Utils LOC 583 Klassen 73 Packages 7 Subsysteme 9

10 Schichtenarchitektur von Spring LOC 583 Klassen 73 Packages 7 Subsysteme 5 Schichten Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis 10

11 Zyklen und Zyklengruppen A B C D E F Ein Zyklus aus vier Knoten Eine Zyklengruppe aus sechs Knoten und mehreren einzelnen Zyklen Zyklenbasierte Architekturanalyse Wieso sind zyklische Beziehungen problematisch? Komponenten, die zyklisch gekoppelt sind, können nicht einzeln getestet werden. Komponenten, die in verschiedenen Zyklen gebraucht werden, spielen dabei häufig mehrere Rollen, was sie schlecht verständlich macht. Komponenten, die in verschiedenen Zyklen gebraucht werden, können nicht mehr einfach ausgetauscht werden. Ef Erfahrung in großen Projekten zeigt, dass Zyklen die Wartbarkeit deutlich verschlechtern das Auflösen von Zyklen nicht mehr wartbare Systeme wieder erweiterbar machen kann 11

12 Einfache Zyklengruppe 16 Klassen in einer Zyklengruppe, eine Beziehung (Zugriff auf zwei Konstanten) ist die Ursache das Auflösen dieser Zyklengruppe ist durch das Verschieben von zwei Konstanten möglich Schwierige Zyklengruppe Sieben Klassen in einer Zyklengruppe, mehrere direkte Zyklen zwischen Klassen das Auflösen dieser Zyklengruppe ist nur durch ein Refactoring der Klassen möglich 12

13 Zyklen auf verschiedenen Ebenen Klassenzyklus Package-Zyklus Package A Package B Package A Package B Class A Class C Class A Class C Class B Class D Class B Class D Subsystem-Zyklus Subsystem A Package A Subsystem B Package B Package C Subsystem C Package D Class A Class C Class D Class F Class B Class E Class G Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis 13

14 Architekturstile Subsystemarchitektur [Bass et al. 2003] [Brügge /Dutroit 2004] Schichtenarchitektur [Fowler 2003] [Jacobson et al. 1999] [Siedersleben 2004] [Züllighoven 2005] Architekturstil Ein Architekturstil ist eine prinzipielle Lösungsstruktur, die für ein Softwaresystem Referenzarchitektur durchgängig und unter weitgehendem Verzicht auf Ausnahmen angewandt werden sollte. Erweiterte Schichtenarchitektur [Reussner et al. 2006] WAM Quasar Projekteigene Legende Schnittstelle Subsystem Schnittstelle Schicht Schnitt Erlaubte Beziehungen Elementart Zusammengesetzte Elementart Referenzarchitekturen: Stile auf der Klassen-Ebene WAM Quasar Komplexes Werkzeug T o o l Gui Interaktion Funktion Mono-Werkzeug Gui Monotool Service Material Fachwert Client Anwendungs- Fall Anwendungs- Entitätstyp- Verwalter Anwendungs- Entitätstyp Anwendungs- Datentyp Anwendungsfallkomponente Name Elementart Name Zusammengesetzte Elementart Erlaubte Benutzt-Beziehung 14

15 Zyklenfreiheit auf der Klassen-Ebene % Klassen in Zy yklen Referenzarchitektur 1 Schichtenarchitektur 2 Subsystemarchitektur 3 4 Auf Klassen-Ebene haben Referenzarchitekturen deutlich weniger Zyklen als andere Architekturstile. Klassenzyklen sind bei Schichten- und Subsystemarchitekturen oft nicht lokal Schichtenarchitektur 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 2 15

16 Ohne Referenzarchitektur: Chaos in Subsystemen 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 Zyklenfreiheit auf Subsystem-Ebene % Subsysteme in Zyk klen Fallstudien Schichtenarchitektur Referenzarchitektur Subsystemarchitektur Auf Subsystem-Ebene haben Schichtenarchitekturen in der Messung die wenigsten Zyklen. Häufig werden zyklische Strukturen in den Subsystemen versteckt, besonders wenn Technologien eingesetzt werden, die Zyklenfreiheit erzwingen. 16

17 Der Zwang zur Zyklenfreiheit führt zu größeren Subsystemen 80% des Sourcecodes 9 Komponenten = 17 Subsysteme Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis 17

18 Größenverhältnisse Ist das System auf den verschiedenen Ebenen ausgewogen? Welche Code-Abschnitte fallen durch ihre Größe besonders auf? Metriken: LOC pro Methode LOC pro File/Klasse Duplizierter Code Zyklomatische Komplexität (Anzahl der Pfade durch einzelne Prozeduren) Seite 35 Große Einheiten vermeiden Ein bekanntes Anti-Pattern - die Gott-Klasse : Sie ist für alles zuständig und hält 90% des Quelltextes. Methoden, die mehrere Bildschirmseiten lang sind, sind schlecht wartbar. Klassen mit mehreren hundert Methoden oder Exemplarvariablen sind meist zu groß! Wenn einzelne Einheiten zu groß werden, ist dies ein Hinweis auf niedrige Kohäsion: Wenn eine Einheit sehr viele Aufgaben erfüllt, erfüllt sie vermutlich zu viele Aufgaben. 18

19 Code-Duplizierung vermeiden Wenn ein Stück Quelltext in identischer Form an mehreren Stellen eines Systems definiert ist, sprechen wir von Code-Duplizierung. Code-Duplizierung ist problematisch, weil üblicherweise an einer Stelle nicht erkennbar ist, an welchen anderen Stellen derselbe Quelltext erscheint, und Änderungen an einem der Duplikate eventuell auch an allen anderen Duplikaten ausgeführt werden müssen; dies kann bei der Wartung übersehen werden. Kopien, speziell wenn sie noch leicht angepasst sind, das Testen kompliziert machen. Code-Duplizierung ist ein Zeichen niedriger Kohäsion: Wenn zwei Einheiten dieselbe (Teil-)Aufgabe erledigen, ist bei mindestens einer von beiden die Zuständigkeit falsch zugeordnet. Kopplungsgrad Ist das System auf den verschiedenen Ebenen lose gekoppelt? Welche Code-Abschnitte fallen durch besonders viele Beziehungen auf? BadSmell: Bottleneck 19

20 Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Trendanalyse Werkzeuge in der Praxis Analyse der Systemevolution Kontinuierliche / wiederholte Anwendung der vorgestellten Analysen auf ein sich entwickelndes System Ermöglicht Verfolgen von Qualitätstrends Entscheidungen lassen sich aufgrund von Trendbeobachtungen oft besser fällen als für Punktbeobachtungen (Soll-Richtung der Werteentwicklung meist bekannt, aber keine absoluten Schranken) Problem: richtige Bewertung des Trends relativ zum Systemwachstum 20

21 Trend: Architekturvergleich Trend über die Zeit? Realisierte i Architekturen Zeit Version 1 Version 2 Version 3 Probleme: Veränderung der Ist- Architektur und deren Abbildung auf Soll- Architektur (Umstrukturierungen, Umbenennungen etc.) Bewertung des Systemwachstums Geplante Architektur Beispiel: ArgoUML Time Anzahl Verletzungen argouml0156 argouml0161 argouml

22 Beispiel: ArgoUML Time 5,00 4,72 Violations Verletzungen per pro ,50 4,23 4,22 LOC Normalisierung 4,00 Verletzungen pro der Verletzungen 3,50 Violations per 100 Klassen classes gegen 3,00 2,94 Größenmaße 263 2,63 2,50 2,57 Violations Verletzungen per pro ,41 2,19 2,22 references Referenzen 2,00 1,66 1,68 1,80 1,50 Violations Verletzungen per pro ,00 1,17 1,17 1,10 layer-crossing Schicht-übergreifenden references Referenzen 0,50 Violations Verletzungen total absolut 0,00 argouml0156 argouml0161 argouml0171 Inhalt Motivation Vergleich Soll- und Ist-Architektur Zyklenbasierte Analyse Architekturstile Metriken / Maße Kriterien für die Analyse Trendanalyse Werkzeuge in der Praxis 22

23 Lattix Amerikanisches Firma, unterstützt vom MIT DSM-Theorie = Dependency oder Design Structure Matrix Kommerzielles Produkt seit 2004 Große Kunden: EMC, Ericsson. Invensys, PTC and Virtusa Arbeitet im Hauptspeicher Analyse von Java und C/C++, Ada Matrixdarstellung Kopplungsanalyse mit Hilfe von Matrix-Visualisierungen Legt mehr Gewicht auf Aussagen über Beziehungen als Strukturdarstellung Paarweise Gegenüberstellung der Subsysteme Feld A:B gibt Auskunft über die Intensität der Kopplungen zwischen A und B A B A Referenzen A A Referenzen A B B Referenzen B A Referenzen B B 23

24 Ablesbare Architekturzustände Schichtenarchitektur ht hit Strenge Schichtenarchitektur (Jede Schicht benutzt ausschließlich die direkt darunterliegende Schicht.) Schichtenarchitektur mit Verletzungen (Die util-schicht benutzt die application und die model-schicht.) Definition von Architekturregeln Grüne Markierung: Erlaubte Beziehung Gelbe Markierung: Verbotene Beziehung Rote Markierung: Verletzte Beziehung 24

25 Sotoarc Anwendungsfälle Architekturmodellierung und überprüfung Simulation und Planung von Restrukturierungen Verstehen von Softwaresystemen Zyklenanalyse auf verschiedenen Abstraktionsebenen Zielgruppen Software-Architekten Technische h Projektverantwortliche t tli Qualitätsverantwortliche Unterstützte Programmiersprachen Java, C#, C++ Software-Tomography GmbH 2008 Soto-Werkzeugfamilie Software-Tomography GmbH

26 Das Vorgehen Ihr System Natürliche Subsysteme User Interface Business Logic Contracts Customer User Common Data Access Schritt 1: Horizontale Aufteilung in Layers Schritt 2: Vertikale Aufteilung in fachliche Schnitte Schritt 3: Definition erlaubter Benutzungsbeziehungen Beispiel: Schichten und Schnitte LOC 507 Klassen 90 Packages 8 Subsysteme 3 Schichten 4 Produkte 26

27 Wie helfen Analysewerkzeuge bei der Qualitätssicherung? Sichtbar machen der Ist-Architektur erlaubt Einblicke oberhalb des Programmtexts Soll-Architektur definieren Soll- und Ist-Architektur vergleichen Zyklen werden auf allen Ebenen sichtbar und lassen sich mit Hilfe der Analysewerkzeuge untersuchen Die Analysewerkzeuge macht Probleme sichtbar: 2-3 Problem-Artefakte machen den meisten Ärger Die dunklen Ecken sind den Entwicklern meistens bekannt Gute Ergebnisse geben Bestätigung und stärken Vertrauen in den Code Frühzeitige und kontinuierliche Untersuchungen bewahren die Systeme vor dem Zerfall Refactoring-Vorschläge erarbeiten Qualitätssicherung mit der Sotoplatform Kurzanalysen Ein Tag genügt um den Finger in die offenen Wunden zu legen. Die Entwickler sind sich ihrer Probleme aber nicht der Ursachen bewusst. Software-Qualitäts-Analyse durch Qualitätsberater Sehr tiefgehende Qualitäts-Analysen großer, komplexer Softwaresysteme zwei Personenwochen Aufwand Expertenwissen notwendig Kontinuierliche Qualitätsüberwachung Qualitätssicherung Mit kleinem wöchentlichen Aufwand möglich Basisanalyse und Einarbeitung: 2-3 Tage Architekturstil Pair Programming Architekturreviews Projektreviews Unit-Tests Akzeptanztests Live Tests Lasttests 27

28 Vielen Dank für Ihre Aufmerksamkeit!

Technische Schulden in Architekturen erkennen und beseitigen

Technische Schulden in Architekturen erkennen und beseitigen Technische Schulden in Architekturen erkennen und beseitigen Dr. Carola Lilienthal Carola.Lilienthal@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software, die

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, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software

Mehr

...we make the invisible visible...

...we make the invisible visible... ...we make the invisible visible... 1 Inhalt Qualitätsbegriff Fragestellungen im Zusammenhang mit innerer Softwarequalität Analysen und deren Anwendung Erfahrungen 2 Ausfallsicherheit Datensicherheit Zuverlässigkeit

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

Langlebige Softwarearchitekturen

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

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, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß

Mehr

Keine technischen Schulden mehr!

Keine technischen Schulden mehr! 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 -

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

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

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

Vom Pair Programming zur Mob-Architekturverbesserung

Vom Pair Programming zur Mob-Architekturverbesserung Vom Pair Programming zur Mob-Architekturverbesserung Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß macht! Software-

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

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 Carola.Lilienthal@workplace-solutions.de www.workplace-solutions.de //// Hans-Henny-Jahnn-Weg 29 //// 22085

Mehr

Der agile Software Architekt

Der agile Software Architekt Der agile Software Architekt Ingmar Kellner 2013-09-25 Agil == Beweglich == Zur Handlung Fähig Source: http://de.wiktionary.org/wiki/agil Gegebene Versprechen schränken meine Agilität ein! 2013, hello2morrow

Mehr

...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering

...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering ...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering 1 Statische Software Analyse From Wikipedia, the free encyclopedia Static analysis is the analysis of computer

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen

Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen Christian Böhmer, isys Software GmbH Björn Grimm, Hochschule München 1 Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen

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

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

Refactorings in großen Softwareprojekten

Refactorings in großen Softwareprojekten Refactorings in großen Softwareprojekten (C) 2004 Martin Lippert lippert@acm.org Stefan Roock stefan@stefanroock.de Was ist Refactoring? A change made to the internal structure of software to make it easier

Mehr

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Software Engineering Grundsätzen und Identifikation von Maßnahmen zur Verbesserung Axel Sommer Inhalt Motivation und Ziele Software

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

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

Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin 03.02.2011 Inhalt der Präsentation 1.Arbeit und Vortrag 1 2.Aktuelle Saros-Architektur

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 a.hoyer@hello2morrow.com blog.hello2morrow.com hello2morrow GmbH Gegründet 2005 Angesiedelt in Deutschland, USA und Kolumbien > 95% des Umsatzes Software Lizenzen,

Mehr

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master)

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master) # Entwicklung verteilter Java Anwendungen # Referat Continuous Integration mit Maven und Jenkins Benjamin Keeser Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master) 2 Ablauf... Continuous

Mehr

Sotograph im Einsatz bei der FIDUCIA IT AG. Harald Doderer, Technische Architektur

Sotograph im Einsatz bei der FIDUCIA IT AG. Harald Doderer, Technische Architektur Sotograph im Einsatz bei der FIDUCIA IT AG Harald Doderer, Technische Architektur 30.05.08 Agenda Die FIDUCIA IT AG Statische Code-Analyse Das Sotograph-Umfeld Die Ergebnisse Sotograph im Einsatz bei der

Mehr

Womit wir uns beschäftigen

Womit wir uns beschäftigen Berechnung und Optimierung von Grenzwerten für Mengen von Software Metriken Steffen Herbold, Jens Grabowski, Stephan Waack Georg-August-Universität Göttingen Softwareforen Leipzig Womit wir uns beschäftigen

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

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

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG) Spring & OSGi: Plattform der Zukunft Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG) 0 Inhalt Warum Spring & OSGi? Die Grundidee Der Stand der Dinge Ein praktisches

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

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

Spring und Eclipse Equinox kombiniert. Martin Lippert (it-agile GmbH) Gerd Wütherich (comdirect bank AG)

Spring und Eclipse Equinox kombiniert. Martin Lippert (it-agile GmbH) Gerd Wütherich (comdirect bank AG) Spring und Eclipse Equinox kombiniert Martin Lippert (it-agile GmbH) Gerd Wütherich (comdirect bank AG) Inhalt Eclipse Equinox Server-Side Eclipse Spring und Eclipse Equinox Beispiele Fazit 1 Eclipse everywhere

Mehr

Ein Werkzeug zur Überdeckungsmessung für kontrollflussbezogene Testverfahren

Ein Werkzeug zur Überdeckungsmessung für kontrollflussbezogene Testverfahren Ein Werkzeug zur Überdeckungsmessung für kontrollflussbezogene Testverfahren Hendrik Seffler HU Berlin Abschlussvortrag p. 1/25 Was? Entwicklung eines Werkzeugs zur Überdeckungsmessung für kontrollflussbezogene

Mehr

Matthias Küspert software engineering

Matthias Küspert software engineering Matthias Küspert software engineering Aliceplatz 3 63065 Offenbach +49 (0) 173 537 4207 matthias@kuespert-web.de www.kuespert-web.de Profil Software Ingenieur seit 1988. Fachliche Schwerpunkte Aufbau und

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

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 georg.buchgeher@scch.at www.scch.at Das SCCH ist eine Initiative der Das SCCH befindet sich

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

Anforderungen gezielter umsetzen, Optimieren, Transparenz schaffen

Anforderungen gezielter umsetzen, Optimieren, Transparenz schaffen Application Lifecycle Management in Eclipse Anforderungen gezielter umsetzen, Optimieren, Transparenz schaffen Christoph Bräuchle, MKS GmbH Interessen (klassisch) Budget: werden Aufwände eingehalten, ergeben

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

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013 Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 7. Februar 2013 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion

Mehr

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag ISIS beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag Inhalt Was ist Softwarequalität Was ist ISIS Die Philosophie dahinter Die Innovation Werkzeuge Projektlogbuch Sotograph

Mehr

Seminar Softwareentwicklung in der Wissenschaft

Seminar Softwareentwicklung in der Wissenschaft Seminar Softwareentwicklung in der Wissenschaft Überblick über Softwareentwicklung Julian Kunkel Prof. Dr. Thomas Ludwig, Dr. Hermann Lenhart, Petra Nerge Gliederung Wissenschaftlicher Erkenntnissgewinn

Mehr

HAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz

HAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz HAGEN KLATT Geburtsjahr 1989 Profil-Stand Juni 2017 Triona Information und Technologie GmbH Dekan-Laist-Straße 15a 55129 Mainz Fon +49 (0) 6131 / 501538-0 Mail projekte@triona.de FACHLICHE SCHWERPUNKTE

Mehr

PROFIL HAGEN KLATT. Stand: Juni Triona Information und Technologie GmbH. Dekan-Laist-Str. 15a Mainz. Tel: /

PROFIL HAGEN KLATT. Stand: Juni Triona Information und Technologie GmbH. Dekan-Laist-Str. 15a Mainz. Tel: / PROFIL Stand: Juni 2017 HAGEN KLATT Triona Information und Technologie GmbH Dekan-Laist-Str. 15a 55129 Mainz Tel: +49 6131/5015380 Mail: projekte@triona.de Web: www.triona.de QUALIFIKATIONEN Fachliche

Mehr

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Was wir vorhersagen, soll auch eintreffen! Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Pascal Muth Zusammenfassung In diesem Whitepaper wird die Tableau Extensions API von Tableau

Mehr

Architekturstile in der Praxis

Architekturstile in der Praxis Architekturstile in der Praxis Carola Lilienthal Arbeitsbereich Softwaretechnik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Vogt-Kölln-Straße 30 D-22527Hamburg lilienthal@informatik.uni-hamburg.de

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für

Mehr

Engineering-Werkzeug komplexe Softwaresysteme

Engineering-Werkzeug komplexe Softwaresysteme Flow Graph Manipulator (FGM) 3.0 Reverse-Engineering Engineering-Werkzeug für komplexe Softwaresysteme Anja Beier pro et con Innovative Informatikanwendungen GmbH 11. Workshop Software-Reengineering 04.-06.

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung

Mehr

Think Agile Refactorings in großen Softwareprojekten

Think Agile Refactorings in großen Softwareprojekten Refactorings in großen Softwareprojekten Martin Lippert martin.lippert@it-agile.de Stefan Roock stefan.roock@it-agile.de http://www.it-agile.de Think Agile Refactorings in großen Softwareprojekten Inhalt

Mehr

Automatisierte Architekturanalyse unter Einsatz von UML 2.0 Modellen

Automatisierte Architekturanalyse unter Einsatz von UML 2.0 Modellen Automatisierte Architekturanalyse unter Einsatz von UML 2.0 Modellen Vorstellung: Thorben Pergande Bisheriges Studium: B.Sc. Angewandte Informatik an der HAW Professoren an dieser Ausarbeitung beteiligt:

Mehr

SOLID für.net und JavaScript

SOLID für.net und JavaScript SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

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

Mail Integration Solution White Paper

Mail Integration Solution White Paper Integration Solution White Paper Inhalt Allgemeine Information... 3 IMAP... 3 Rapid Automation (RA)... 3 RA Agent... 3 RA Solution... 3 Integration Solution... 4 Anwendungsfälle... 5 Download eingehender

Mehr

Iterative Softwareentwicklung. Ullrich Köthe 19. April 2001

Iterative Softwareentwicklung. Ullrich Köthe 19. April 2001 Iterative Softwareentwicklung Ullrich Köthe 19. April 2001 2 Traditionelles Entwicklungsmodell von Geräteentwicklung inspiriert: je später eine Änderung notwendig wird, desto teurer 12000 10000 8000 6000

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

Entwicklung einer unterstützenden Suchfunktion für den ConSol*-Profil-Generator

Entwicklung einer unterstützenden Suchfunktion für den ConSol*-Profil-Generator Entwicklung einer unterstützenden Suchfunktion für den ConSol*-Profil-Generator 1 Vorstellung Analyse Entwurf Implementierung Test Fazit Agenda 2 Vorstellung Entwurf Implementierung Test Fazit Analyse

Mehr

CLICK TO EDIT MASTER TITLE STYLE

CLICK TO EDIT MASTER TITLE STYLE CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann

Mehr

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0 20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0 Raus aus dem Chaos mit der kollaborativen Open Source- Entwicklungsumgebung. Nürnberg 21. November 2007 Robert Szilinski PROMATIS software GmbH

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

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

Portale mit dem Java-Portlet-Standard JSR168, Jetspeed 2 und WSRP

Portale mit dem Java-Portlet-Standard JSR168, Jetspeed 2 und WSRP Portale mit dem Java-Portlet-Standard JSR168, Jetspeed 2 und WSRP Thorsten Berger Diplomstudiengang Informatik 8. Semester 10. Juli 2005 Einführung 1. Einführung Portal-Begriff Vorteile Software 2. Java-Portlet-Standard

Mehr

Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs

Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs Andreas Franz Arbeitsgruppe Software Engineering, Institut für Informatik der Freien Universität Berlin Modularitätsbetrachtung von Webanwendungen im Rahmen des Plat_Forms Wettbewerbs Abschlussvortrag

Mehr

Build Management Tool

Build Management Tool Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar

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

Tränen lügen nicht Dashboards schon!

Tränen lügen nicht Dashboards schon! Tränen lügen nicht Dashboards schon! HARM GNOYKE, EMBARC JavaLand, Phantasialand Brühl 08.03.2016 0 Tränen lügen nicht Dashboards schon! "Und dann war da noch der Mann, der beim Durchqueren eines im Durchschnitt

Mehr

Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle. Dipl.-Ing. Frank Breckle

Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle. Dipl.-Ing. Frank Breckle Einsatz von Java mit der IBM iseries bei der Staatl. Lotterieeinnahme Glöckle Dipl.-Ing. Frank Breckle Agenda Wer ist die Staatliche Lotterieeinnahme Glöckle? Warum wurde vor 4 Jahren eine neue Technologie

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

Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware VDMS

Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware VDMS Stephan Püngel Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware sübersicht Einstieg Vorstellung als Rich Internet Application Technologie

Mehr

Komponentenbasierter

Komponentenbasierter Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse

Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse 25. Oktober 2012 Taentzer Modellgetriebene Softwareentwicklung 59 Überblick Anforderungsanalyse auf zwei Ebenen: Analyse einer konkreten

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

Praktikumsaufgabe Software Engineering

Praktikumsaufgabe Software Engineering 6. Praktikum Software-Qualität Praktikumsaufgabe Software Engineering Im 6. Praktikum analysieren Sie Ihre in C++ geschriebenen Anwendung mit dem Test- und Analysetool Logiscope der Firma Kalimetrix. Mit

Mehr

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen I " t3ildungsmedien Informatik Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen Hansruedi Tremp und Markus Ruggiero Application

Mehr

Relevante Metriken zur Bestimmung von Softwarequalität

Relevante Metriken zur Bestimmung von Softwarequalität Relevante Metriken zur Bestimmung von Softwarequalität Steffen Förster 2 Definitionen Metrik Eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet. Dieser berechnete Wert ist interpretierbar

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

Mehr

Java.NET Web-Technologien Mobile

Java.NET Web-Technologien Mobile 2017 Java.NET Web-Technologien Mobile MATHEMA Training Seit mehr als 20 Jahren unterstützen wir unsere Kunden nicht nur mit hochqualifizierter Beratung sowie Entwicklungsleistung, sondern geben unser in

Mehr

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

Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte

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

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

Automatisierte Ermittlung von Subsystemschnittstellen Worum geht es?

Automatisierte Ermittlung von Subsystemschnittstellen Worum geht es? Automatisierte Ermittlung von Subsystemschnittstellen Worum geht es? Programme (z.b. XCTL-System) sind in Subsysteme aufgeteilt Schnittstellen beschreiben die (von anderen Subsystemen) nutzbaren Elemente

Mehr

Software-Engineering für langlebige Systeme

Software-Engineering für langlebige Systeme Software-Engineering für langlebige Systeme Thomas Ruhroth Dortmund SoSe 2015 VL1 Softwareerosion Systemtypen Ziele: Den Inhalt der Vorlesung kennen lernen. Kennenlernen der grundlegenden Probleme durch

Mehr

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

XML Publisher die universelle Lösung für Geschäftsdokumente XML Publisher die universelle Lösung für Geschäftsdokumente Jürgen Menge TSBU Middleware ORACLE Deutschland GmbH Moderne Lösung zur Entwicklung, Erzeugung und Verteilung von Geschäftsdokumenten (Output

Mehr

Software Architecture Discovery

Software Architecture Discovery Wie können bestehende verteilte Systeme (IoT / Cloud) analysiert werden? 9. Mai 207 2 / 25 2 / 25 3 / 25 WPS - Workplace Solutions GmbH 4 / 25 Eigentlich läuft doch schon ne ganze Menge There s a way to

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

Softwareentwicklung in der Wissenschaft. Planet Simulator. Enno Köster. Enno Köster / 24

Softwareentwicklung in der Wissenschaft. Planet Simulator. Enno Köster. Enno Köster / 24 Softwareentwicklung in der Wissenschaft Planet Simulator Enno Köster Enno Köster 9.2.2011 1 / 24 Gliederung Überblick Software Entwicklung Abgleich mit ISO-Norm Verbesserungsvorschläge Fazit Enno Köster

Mehr

Datenbanksysteme. Donald Kossmann TU München

Datenbanksysteme. Donald Kossmann TU München Datenbanksysteme Donald Kossmann TU München Übersicht Wie benutze ich ein Datenbanksystem? Datenmodellierung (ER, UML, Theorie) Datenbankprogrammierung (SQL) Wie baue ich ein Datenbanksystem? Anfrageoptimierung

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

Usus.NET. Visual Studio-Erweiterung zur statischen Code-Analyse Manuel Naujoks

Usus.NET. Visual Studio-Erweiterung zur statischen Code-Analyse Manuel Naujoks Usus.NET Visual Studio-Erweiterung zur statischen Code-Analyse Manuel Naujoks 23.11.2013 1 Agenda 1. Anforderungen 2. Usus für Java 3. Technologie Evaluierung 4. Usus.NET Visual Studio-Erweiterung 5. Clean

Mehr

Abhängigkeiten managen mit Degraph

Abhängigkeiten managen mit Degraph Abhängigkeiten managen mit Degraph Jens Schauder T-Systems on site services GmbH Wolfsburg Schlüsselworte Java, Packages, Abhängigkeiten,Visualisierung, Module, Testen, Degraph Abstract Wer mit offenen

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

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

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr