Gewachsene Architektur Das kann nicht funktionieren!

Slides:



Advertisements
Ähnliche Präsentationen
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Advertisements

Modellgetriebene Softwareentwicklung
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Objektrelationales Mapping mit JPA
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Introducing the .NET Framework
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
UML Begleitdokumentation des Projekts
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Coccon das Web-XML-Publishing System Thomas Haller.
Aichinger Christian, Strasser Jürgen
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Service Orchestrierung mit .NET
SharePoint 2010 for Information Architects
Mit 3 Schichte zum Erfolg
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Reiner Ganser Solution Architect 1stQuad Solutions GmbH Presentation Subtitle.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Emergent Architecture Architektur in einer agilen Welt
Qualitätsmanagement in der Entwicklung !?. artiso solutions GmbH | Oberer Wiesenweg 25 | Blaustein | Agenda 1. Ziele und Probleme.
Performance-Testing als Basis für Performanceoptimierungen
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Technische Universität München Zentralübung Automotive Software Engineering – Übungsblatt 6.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Cloud Computing C# Windows 7.NET Micro Framework Silverlight WCF Patterns & Practices Surface XML Refactoring WPF Software Factories Windows Server ASP.NET.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
Artiso solutions GmbH | Oberer Wiesenweg 25 | Blaustein | Advanced UI-Testing für WPF.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Theorie. Was ist Drupal? Content-Management-System, Open Source Software Hauptanwendung in der Organisation von Websites In PHP geschrieben und wird als.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Freie Software Björn Schießle Free Software Foundation Europe
© 2004 Model-View-Control Pattern (MVC) Das Model-View-Control Pattern.
Verteilte Anwendungen: J2EE
Projektarbeit in der Informatik
4D-modellierung und prozess-simulation im planungsprozess gabriel wurzer, wolfgang lorenz {wurzer|lorenz}#iemar.tuwien.ac.at.
Das Entwurfsmuster Model-View-Controller
Architektur von Web-Anwendungen
Applikation-Mining als Methode zur Forms 9i-Migration
Projektarbeit in der Informatik
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Continuous Integration mit TeamCity
Wartbarkeit des Systems wird immer schwieriger Aufwändige Fehlersuche Bugfixes mit unbekannten Auswirkungen Entwicklung von neuen Feature wird immer.
Virtualisierung von Web-Applikationen mit Docker
Programmiermethodik Übung 7
Methodische Grundlagen des Software-Engineering
 Präsentation transkript:

Gewachsene Architektur Das kann nicht funktionieren!

Advanced Developers Conference 10.-11. Oktober 2004 Vorstellung Thomas Schissler Software-Architekt bei Wasserfall & Co Schwerpunkte sind UML V-Modell Architekturkonzepte Blog : http://www.artiso.com/problog Kontakt: Tschissler@artiso.com Thomas Schissler - XML-Serialisierung

Advanced Developers Conference 10.-11. Oktober 2004 Gute Architektur? Thomas Schissler - XML-Serialisierung

Architektur-Probleme bei Agilität

Advanced Developers Conference 10.-11. Oktober 2004 Vorstellung Matthias Rink Scrum Teammitglied artiso AG Schwerpunkte sind WPF Task Parallel Library Neugierde auf alles Neue Blog : http://www.artiso.com/problog Kontakt: MRink@artiso.com Thomas Schissler - XML-Serialisierung

Gewachsene Architektur Wie funktioniert es doch?

Warum ist Architektur wichtig Fehler vermeiden Wartbarkeit Testbarkeit Verschiedene Ausführungsumgebungen Performance Kosten für Erweiterungen niedrig halten Team-Zusammenarbeit

Was ist Architektur eigentlich? Code-Ebene Modell-Ebene Technologie-Ebene

Code-Ebene Architektur auf Code-Ebene sind häufig Design-Patterns die jedoch nicht projektspezifisch sind Das ist das Handwerkszeug jedes Entwicklers, nicht nur des Architekten Wissensvermittlung im Team

Komponentenorientierte Architektur

Contracts Data Contract Component Contract

Implementierung Komponente

Inversion of Control (IoC) Constructor Injection

Ohne IoC SavePerson referenziert konkreten DataAccess Codeänderung an SavePerson nötig wenn statt in die Datenbank in Xml File gespeichert werden soll DataAccessSqlServer DataAccessXmlFile SavePerson

Mit IoC SavePerson referenziert Contract von DataAccess Anpassung der Konfiguration des IoC Keine Änderungen am Code der Komponenten selber IoC Container IDataAccess DataAccessSqlServer SavePerson DataAccessXmlFile

Open Closed Principle Closed Interface Open Features

Technologie-Ebene Technologieauswahl Technologie beeinfluss Architektur Technologie birgt auch Architekturrisiken (EF, TFS API, WCF und klassisches OO Customer mit Save-Methode Trennung Daten und Funktion)

Technologien ermöglichen Patterns View View Model Erlaubte Abhängigkeiten Komponenten Data Binding Funktionalität aufrufen

Technologien fordern Patterns WCF fordert Trennung Daten und Funktionalität

Technologien fordern Patterns Workflow Foundation: Zustandslose Komponten

Technologien bedeuten Risiken Risiken durch Verwendung von Technologien: Entity Framework Performance Zugehörigkeit von Tracking Entities zu Kontext über WCF Abhängigkeit von Entity Framework in gesamter Anwendung TFS API Schlechte Testbarkeit Abhängigkeiten bei Verwendung von Workitem Typ in gesamter Anwendung

Modell-Ebene Spezifische Architektur sind nur schwer anpassbar, Anpassungen sind aber in jedem Projekt notwendig Wie viel Modellierung, wann, wer und wie lange behalten? Modelle für Diskussion Realisierungsvision im SP2 Modelle gültig im Sprintkontext Fortlaufende Pflege lohnt sich oft nicht Automatisch generierte Modelle verwenden

Realisierungsvision Beispiel aus Daily Standup Tool Abschließen von zugewiesenem Workitem Beachtung von Workflow des Workitems

Modellgetriebene Entwicklung

Modellgetriebene Entwicklung

Modellgetriebene Entwicklung

Teamorganisation Weisungsberechtigter Architekt vs. demokratisches Team Kein Code-Ownership, dadurch muss jeder im Team Architektur verstehen und anwenden können Team entwickelt gemeinsam Realisierungsvision, diese wird nicht von einem vorgegeben Neue Technologien und Patterns werden aus dem Team vorgeschlagen und demokratisch deren Nutzung beschlossen

Danke für ihre Aufmerksamkeit ? Noch Fragen? Gerne auch später unter MRink@artiso.com oder TSchissler@artiso.com