Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec



Ähnliche Dokumente
Alexander Delater, Barbara Paech RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE


Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agiles Testen. Gedankensammlung. 17. November Patrick Koglin

Verteilte Paarprogrammierung mit Eclipse

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

07. November, Zürich-Oerlikon

Sehr geehrte Faktor-IPS Anwender,

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Softwareentwicklung aus Sicht des Gehirns

Kontinuierliche Architekturanalyse. in 3D

Einführung in die Informatik Tools

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

A Domain Specific Language for Project Execution Models

SWE12 Übungen Software-Engineering

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

Softwareanforderungsanalyse

Print2CAD 2017, 8th Generation. Netzwerkversionen

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

SDD System Design Document

DSL Entwicklung und Modellierung

Dokumentenverwaltung im Internet

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Internet Explorer Version 6

Grundbegriffe der Informatik

Verbesserung und Pflege der Dokumentation der DPP-Software Saros

Was versteht man unter Softwaredokumentation?

Updatehinweise für die Version forma 5.5.5

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

SCHWACHSTELLE MENSCH

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Analyse und Toolevaluierung

my.ohm Content Services Autorenansicht Rechte

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

HP Software Patch- und Version-Notification

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

OSD-Branchenprogramm. OSD-Version Was ist neu? EDV-Power für Holzverarbeiter

SJ OFFICE - Update 3.0

Projektmanagement durch Scrum-Proxies

Zeichen bei Zahlen entschlüsseln

falego das Fallmanagement für ISO 9001ff zertifizierte Startercenter NRW - Version

Agile Prozessverbesserung. Im Sprint zu besseren Prozessen

Ergebnis der Kundenumfrage zum ArticleSpinningWizard2

Kurzeinführung Excel2App. Version 1.0.0

LimeSurvey -Anbindung

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Einführung in Subversion

How-to: VPN mit PPTP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

Benachrichtigungsmöglichkeiten in SMC 2.6

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Liferay 6.2. Open Source IT-Dienstleister. Ein modernes Open Source Portal System. forwerts solutions GmbH, Gabriele Maas

Übungsklausur vom 7. Dez. 2007

Kurzanleitung zu. von Daniel Jettka

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Step by Step Webserver unter Windows Server von Christian Bartl

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Was ist neu in Sage CRM 6.1

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

SharePoint Demonstration

Version 0.3. Installation von MinGW und Eclipse CDT

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS

GRS SIGNUM Product-Lifecycle-Management

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Agile Werkzeuge für den Produktmanagementzyklus vom Konzept bis zur Auslieferung

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

GS-Programme 2015 Allgemeines Zentralupdate

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Summer Workshop Mehr Innovationskraft mit Change Management

Standardisiert aber flexibel

B12-TOUCH VERSION 3.5

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

Persönliches Adressbuch

Übungen zur Softwaretechnik

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Einzelkurs-Auswertung Microsoft Office Excel 2010 Aufbauseminar

Transkript:

Abschlussvortrag Masterarbeit: Operationalizing in an agile Software Projec Freie Universität Berlin, Institut für Informatik February 2, 2015

Übersicht 2

Was ist Softwarearchitektur? Softwarearchitektur geht über die konkreten Algorithmen und Datenstrukturen hinaus und befasst sich mit der Gesamtstruktur eines Systems. befasst sich mit: Globale Kontrolstrukturen Protokolle für Kommunikation, Synchronization und Datenzugriff Zuweisung von Funktionalität zu Entwurfselementen Komposition von Entwurfselementen physische Verteilung d. Systems usw. [frei nach [Garland and Shaw, 1993]] 3

und agile e Emergent keine explizite Planung entsteht durch zeitgerechte Refaktorisierung braucht Gewissenhaftigkeit vom Entwickler 4

: und agile e Agile Entwicklung wertet das Reagieren auf Änderungen höher als das Befolgen eines Planes zu traditionellen architekturellen Praktiken, welche viel Planung im Voraus brauchen 5

: architekturelle Erosion elle Erosion bezeichnet den wachsenden Spalt zwischen geplanter und tatsächlicher Folgen Wartbarkeit Erweiterbarkeit Wiederverwendbarkeit Evolvierbarkeit [frei nach [Terra, 2012]] 6

Ansatz Entwicklung einer DSL für en Modellierung der Implementirung von nahtloses Einführen in den 7

Ansatz Operationalisierung Die wird selbst zum Artefakt der Entwicklung. Das Modell wird wie Quellcode behandelt, d.h. es wird unter Versionsverwaltung stehen, Änderungen daran werden durchgesichtet, und Änderungen daran haben konkrete Auswirkungen. 8

Ansatz nahtloses Einführen in den Entwicklung einer DSL für en Modellierung der Implementirung von 9

, Das Versuchskaninchen: Saros 10

Jenkins & Gerrit Jenkins Continuous Kompiliert und testet Patches Gerrit Code Review Erlaubt das Submitten eines Patches in die produktive Codebasis 11

, Alter Workflow 12

, Workflow mit Sonarqube 13

Sonarqube open platform to manage code quality statische und dynamische Analyse von Projekten Management der entdeckten Issues Erweiterbar und OpenSource (LGPLv3) 14

Implementierung der nahtlose keine Installation von neuen Werkzeugen kein zusätzlicher Aufwand um den Feedback von Sonarqube einzusehen schneller Feedback 15

Implementierung der Erweiterung der Jenkins Konfiguration Nach jedem Build für ein Patch werden pro Projekt Sonarqube Analysen sowie die Unittests durchgeführt Verified[+1, -1] 16

Implementierung der Scala Skript welches sammelt die Issues von der Analyse postet sie als Kommentare Gerrit-Review 17

Evaluation informell, da kleiner Kreis an aktiven Entwicklern positives Feedback im Groben wurde das Ziel der Nahtlosigkeit erreicht 18

Ansatz nahtloses Einführen in den Entwicklung einer DSL für en Modellierung der Implementirung von 19

Description Languages ADL formelle Notation zur Modelierung von en. übliche Elemente Components Connectors Constraints Rationale 20

Xtext Sprache für Grammatiken generiert Parser (wichtig für ) generiert Eclipse-Editor 21

, Die Grammatik 22

Figure : Patrick Schlott: Analyse und Verbesserung der eines nebenläufigen und verteilten, 23

, Die Beschreibung 24

Literate DSL Literate Programming Programme in diesem Stil bestehen aus zwei Elementen. Essay tangling Code 25

, Evaluation Evaluation fand im Reviewprozess auf Gerrit statt. schneller Feedbackzyklus 26

Ansatz nahtloses Einführen in den Entwicklung einer DSL für en Modellierung der Implementirung von 27

Sonarqube Plugin Erste Version als Erweiterung von dem PMD-Plugin Zweite Version als Erweiterung einer Sonarqube Java Rule Beide analysieren auf Ebene des abstrakten Syntaxbaumes 28

, AST 29

Ergebnisse im Überblick Software DSL zur Beschreibung von en a Eclipse Editor für die DSL b Sonarqube Plugin für Checks c zwischen Issue Reports von Sonarqube und Gerrit a https://github.com/saros-project/archnemesis b Eclipse Update Site: http://saros-build.imp.fu-berlin.de/update-archnemesis/ c https://github.com/saros-project/archnemesis-sonar-rule von Saros zusätzliches Feedback von FindBugs, Squid etc. operationailisierte Beschreibung der 30

Ausblick Es gibt noch offene Stellen Schnittstellen könnten besser modelliert werden Sonarqube hat immer noch gelegentlich das Read Timed out Problem Das weitere Vorgehen um Constraints ist nicht ganz klar Man kann die Gerrit-Historie nach weiteren -Eigenschaften von Saros durchforsten, und diese in der DSL ausdrücken 31

, Bibliographie Ricardo Terra and Marco Tulio Valente and Krzysztof Czarnecki and Roberto S. Bigonha Recommending Refactorings to Reverse Software Erosion. 16th European Conference on Software Maintenance and Reengineering, 2012. Garlan, D. & Shaw, M An Introduction to Software, Advances in Software Engineering and Knowledge Engineering Vol. 1, 1993. 32

, Vielen Dank für ihre Aufmerksamkeit! 33