Mein Talk auf der OOP in München mit einer Kurzfassung aus meinem Buch "Langlebige Softwarearchitekturen - Technische Schulden beherrschen und abbauen"
Technische Schulden in Architekturen erkennen und beseitigenCarola Lilienthal
Beim Entwurf der Softwarearchitektur zu Beginn eines Projekts bringen die Architekten i.d.R. all ihre Erfahrung und ihr Knowhow ein und stellen eine Architektur-Blaupause für die Entwicklung bereit. Aber während der Implementierung weichen die Entwickler ungewollt mehr und mehr von diesen Vorgaben ab: Einerseits macht der Projektdruck Abweichungen notwendig, andererseits entstehen die Abweichungen ungewollt und unbemerkt. Die Architektur des Systems erodiert und es werden Schritt für Schritt technische Schulden aufgebaut. Wartung und Erweiterung der Software werden immer teurer bis zu dem Punkt, an dem jede Änderung zu einer schmerzhaften Anstrengung wird.
In diesem Vortrag berichte ich von meinen Erfahrungen der letzten zehn Jahre mit der Analyse von Softwarearchitekturen in Java (60 Systeme), C# (10 Systeme), C++(6 Systeme): Die Zuhörer wissen nach meinem Vortrag, welche Fehler sie in ihren Softwareprojekten bei der Umsetzung der Architektur nicht machen sollten, welche Prinzipien Sie einhalten sollen, um technische Schulden nicht entstehen zu lassen, welche Tools helfen, technische Schulden aufzuspüren, und wie technische Schulden abgebaut werden können.
Was für Arten von Qualitätssicherung sind sinnvoll, wenn man eine sich ändernde Architektur in sich änderndem Kontext entwickelt? Wie kann man im Team die Architektur als Mob verbessern?
Langlebige Softwarearchitekturen - Der Umgang mit technischen SchuldenCarola Lilienthal
Zu Beginn eines Projekts stellen die Architekten eine Architektur-Blaupause für die Entwicklung bereit. Während der Implementierung weichen die Entwickler ungewollt mehr und mehr von diesen Vorgaben ab: Einerseits macht der Projektdruck Abweichungen notwendig, andererseits entstehen die Abweichungen ungewollt und unbemerkt.
Die Architektur des Systems erodiert und weicht immer mehr von der geplanten Nutzung des Frameworks ab. Die Komplexität nimmt zu und es werden Schritt für Schritt technische Schulden aufgebaut.
In diesem Vortrag berichte ich von meinen Erfahrungen der letzten zehn Jahre: Die Zuhörer erfahren, welche Fehler sie in ihren Softwareprojekten bei der Umsetzung der Architektur nicht machen sollten, welche Prinzipien Sie einhalten sollen, um ein langlebige Architekturen zu entwerfen, welche Tools helfen, technische Schulden aufzuspüren, und wie technische Schulden abgebaut werden können.
Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende nicht die Technik, sondern die *Fachlichkeit* ist. Wenn wir in der Software nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt. Um das zu verhindern, zeigen wir in diesem Vortrag, wie man die Architektur so baut, dass sie die Fachlichkeit darstellt und wie Domain Driven Design (DDD) und Microservices uns dabei helfen können.
Technische Schulden tun weh! Wie man sie erkennt und beseitigtCarola Lilienthal
Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt. Deadlines, unterschiedliche Qualifikationen und Missverständnisse im Entwicklungsteam führen dazu, dass die Architektur des Systems erodiert und Schritt für Schritt technische Schulden aufgebaut werden. Bis das ganze System zu einem unordentlichen großen Knäul verwoben ist und jede Anpassung zu einer unkalkulierbaren Kostenschraube wird. Weder den Entwicklungsteam, noch dem Management macht ein System in einem solchen Zustand Freude.
In diesem Vortrag zeige ich Ihnen, wie Sie Ihren Sourcecode organisieren und weiterentwickeln können, um das Entstehen und Ansteigen von technischen Schulden zu verhindern. Dabei werden Sie sehen, welche Prinzipien helfen, technische Schulden zu vermeiden und wie sie durch geeignete Refactoring aus der Welt geschaffen werden können. Basis aller Empfehlungen werden Beispiele aus den nunmehr über 100 Analysen sein, die ich an unterschiedlichsten Softwaresystemen durchführen durfte.
Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende nicht die Technik, sondern die *Fachlichkeit* ist. Wenn wir in der Software nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt. Um das zu verhindern, zeige ich in diesem Vortrag, wie man die Architektur von E-Commerce-Systemen so baut, dass sie die Fachlichkeit darstellt und wie Domain Driven Design (DDD) und Microservices uns dabei helfen können.
Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt: Knappe Zeitvorgaben zwingen uns, schnelle Lösungen – Hacks – zu programmieren. Unterschiedliche Qualifikationen im Entwicklungsteam führen zu Code in ebenso unterschiedlicher Güte. Alter Code, den keiner mehr kennt, muss angepasst werden und vieles mehr. All das führt zu schlechtem, verknäultem Code, dem sogenannten Monolithen, der die Entwicklungskosten in Zukunft in die Höhe treibt und den Entwicklungsteams schlaflose Nächte bereitet. Mit Domain-Driven Design haben wir ein Werkzeug an der Hand, um solche Monolithen Schritt für Schritt zu zerlegen und wieder in den Bereich der beherrschbaren Wartungskosten zu bringen.
Technische Schulden in Architekturen erkennen und beseitigenCarola Lilienthal
Beim Entwurf der Softwarearchitektur zu Beginn eines Projekts bringen die Architekten i.d.R. all ihre Erfahrung und ihr Knowhow ein und stellen eine Architektur-Blaupause für die Entwicklung bereit. Aber während der Implementierung weichen die Entwickler ungewollt mehr und mehr von diesen Vorgaben ab: Einerseits macht der Projektdruck Abweichungen notwendig, andererseits entstehen die Abweichungen ungewollt und unbemerkt. Die Architektur des Systems erodiert und es werden Schritt für Schritt technische Schulden aufgebaut. Wartung und Erweiterung der Software werden immer teurer bis zu dem Punkt, an dem jede Änderung zu einer schmerzhaften Anstrengung wird.
In diesem Vortrag berichte ich von meinen Erfahrungen der letzten zehn Jahre mit der Analyse von Softwarearchitekturen in Java (60 Systeme), C# (10 Systeme), C++(6 Systeme): Die Zuhörer wissen nach meinem Vortrag, welche Fehler sie in ihren Softwareprojekten bei der Umsetzung der Architektur nicht machen sollten, welche Prinzipien Sie einhalten sollen, um technische Schulden nicht entstehen zu lassen, welche Tools helfen, technische Schulden aufzuspüren, und wie technische Schulden abgebaut werden können.
Was für Arten von Qualitätssicherung sind sinnvoll, wenn man eine sich ändernde Architektur in sich änderndem Kontext entwickelt? Wie kann man im Team die Architektur als Mob verbessern?
Langlebige Softwarearchitekturen - Der Umgang mit technischen SchuldenCarola Lilienthal
Zu Beginn eines Projekts stellen die Architekten eine Architektur-Blaupause für die Entwicklung bereit. Während der Implementierung weichen die Entwickler ungewollt mehr und mehr von diesen Vorgaben ab: Einerseits macht der Projektdruck Abweichungen notwendig, andererseits entstehen die Abweichungen ungewollt und unbemerkt.
Die Architektur des Systems erodiert und weicht immer mehr von der geplanten Nutzung des Frameworks ab. Die Komplexität nimmt zu und es werden Schritt für Schritt technische Schulden aufgebaut.
In diesem Vortrag berichte ich von meinen Erfahrungen der letzten zehn Jahre: Die Zuhörer erfahren, welche Fehler sie in ihren Softwareprojekten bei der Umsetzung der Architektur nicht machen sollten, welche Prinzipien Sie einhalten sollen, um ein langlebige Architekturen zu entwerfen, welche Tools helfen, technische Schulden aufzuspüren, und wie technische Schulden abgebaut werden können.
Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende nicht die Technik, sondern die *Fachlichkeit* ist. Wenn wir in der Software nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt. Um das zu verhindern, zeigen wir in diesem Vortrag, wie man die Architektur so baut, dass sie die Fachlichkeit darstellt und wie Domain Driven Design (DDD) und Microservices uns dabei helfen können.
Technische Schulden tun weh! Wie man sie erkennt und beseitigtCarola Lilienthal
Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt. Deadlines, unterschiedliche Qualifikationen und Missverständnisse im Entwicklungsteam führen dazu, dass die Architektur des Systems erodiert und Schritt für Schritt technische Schulden aufgebaut werden. Bis das ganze System zu einem unordentlichen großen Knäul verwoben ist und jede Anpassung zu einer unkalkulierbaren Kostenschraube wird. Weder den Entwicklungsteam, noch dem Management macht ein System in einem solchen Zustand Freude.
In diesem Vortrag zeige ich Ihnen, wie Sie Ihren Sourcecode organisieren und weiterentwickeln können, um das Entstehen und Ansteigen von technischen Schulden zu verhindern. Dabei werden Sie sehen, welche Prinzipien helfen, technische Schulden zu vermeiden und wie sie durch geeignete Refactoring aus der Welt geschaffen werden können. Basis aller Empfehlungen werden Beispiele aus den nunmehr über 100 Analysen sein, die ich an unterschiedlichsten Softwaresystemen durchführen durfte.
Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende nicht die Technik, sondern die *Fachlichkeit* ist. Wenn wir in der Software nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt. Um das zu verhindern, zeige ich in diesem Vortrag, wie man die Architektur von E-Commerce-Systemen so baut, dass sie die Fachlichkeit darstellt und wie Domain Driven Design (DDD) und Microservices uns dabei helfen können.
Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt: Knappe Zeitvorgaben zwingen uns, schnelle Lösungen – Hacks – zu programmieren. Unterschiedliche Qualifikationen im Entwicklungsteam führen zu Code in ebenso unterschiedlicher Güte. Alter Code, den keiner mehr kennt, muss angepasst werden und vieles mehr. All das führt zu schlechtem, verknäultem Code, dem sogenannten Monolithen, der die Entwicklungskosten in Zukunft in die Höhe treibt und den Entwicklungsteams schlaflose Nächte bereitet. Mit Domain-Driven Design haben wir ein Werkzeug an der Hand, um solche Monolithen Schritt für Schritt zu zerlegen und wieder in den Bereich der beherrschbaren Wartungskosten zu bringen.
Softwareentwicklung ist Modell-Bildung. Wir bauen einen Teil der Wirklichkeit als Programm nach und verbessern sie so. Ein traditioneller Ansatz ist, die Domäne als Ganzes möglichst detailgenau nachzubilden. Aber ist das eigentlich der Zweck von Modellen? Wenn wir genau hinschauen, bemerken wir, dass ein Modell eigentlich genau das Gegenteil ist. Ein Modell ist nämlich eine Abstraktion der Wirklichkeit, in die nur das Wesentliche übertragen und das Unwesentliche weggelassen wird. Was wesentlich und was unwesentlich ist, ergibt sich aus dem Kontext. Ein einfaches Modell ist leichter zu verstehen als ein kompliziertes. Deshalb ist es eine gute Idee, von einer komplizierten Wirklichkeit mehrere einfache (und einfach verständliche) Modelle zu bilden. Genau diesen Effekt machen sich Microservices und DDD mit seinem Strategisches Design zu nutze. Hier werden statt dem einen großen unternehmensweiten Modell, mehrere kleine gut verständliche Modelle gebildet. In diesem Talk betrachten wir, welche Mittel uns zur Verfügung stehen, um gute Modelle zu bauen und die Domäne so aufzuteilen, dass wir auch mit mehreren sinnvoll und unabhängig arbeiten können.
http://www.opitz-consulting.com
"Automatisierung im DWH" war das Thema unserer Experten Marian Strüby und Dr. Jens Bleiholder zusammen mit Ulf Jeffke, Manager Voice & Data Anlalyst - Vodafone Kabel Deutschland, bei der DOAG 2015 Konferenz und Ausstellung.
Modularisierung, Standardisierung, Automatisierung. Mit diesen drei Stichworten kann man die Vorteile des ODI 12c als ETL-Tool im eigenen DWH-Projekt auf den Punkt bringen. Der ODI eröffnet hier eine ganze Reihe an Möglichkeiten, die Entwicklung eines DWH zu beschleunigen, dem Entwickler Arbeit abzunehmen und gleichzeitig die Entwicklung zuverlässiger und fehlerfreier zu machen. Dabei wird die Entwicklung noch wesentlich effizienter, wenn man auch bei Datenmodellierung und Architektur auf Modularisierung, Standardisierung und Automatisierung achtet und z.B. Data Vault verwendet. Anhand von Beispielen aus einem Kundenprojekt stellen wir unsere Erfahrungen auf diesem Gebiet vor und zeigen, wie der ODI 12c im Projekt dabei hilft und ein DWH größtmöglich automatisiert, aufzubauen: Generieren von Datenmodellen und zugehörigen Mappings, automatisches Deployment, Anpassung von Knowledge-Modulen etc. Den Kunden freut es, bekommt er nun mehr DWH für sein Geld. Den Entwickler freut es, muss er nun nicht mehr die langweiligen immer gleichen Arbeiten erledigen. Den Endanwender freut es, bleibt nun mehr Zeit übrig, um auf seine Probleme und Businesslogik einzugehen.
http://www.opitz-consulting.com/go/3-5-11
Um ein langfristiges, nachhaltiges Unternehmenswachstum sicherstellen zu können, ist es wichtig, sich vom Wettbewerb abzuheben. Da klassische Märkte ihren Sättigungsgrad erreicht haben, ist es an der Zeit neue Wege zu beschreiten.
Multi-Channel Enablement eröffnet Unternehmen heute Chancen, neue Vertriebskanäle, Services und Dienstleistungen schnell auf den Markt zu bringen. Grundlage hierfür ist eine stabile und zukunftssichere Integrationsinfrastruktur.
Bei der Jax 2015 zeigten unsere Experten Sven Bernhard und Dominik Bial, wie ein zentraler Integrationbackbone und das zugehörige Multi-Channel Enablement mit Blick auf Cloud, IoT sowie Mobile aussehen kann.
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG
Wünsch AG Vortrag auf der 39. DNUG Konferenz. Modernisierung von Notes Applikationen bis hin zur mobilen Anwendung.
Der Vortrag der Wünsch AG gibt praktische Tipps zum Vorgehen und zur Auswahl der passenden Technologie.
Angefangen über die Modernisierung mit Notes Standards, über HTML, HTML5, xPages, verschiedenen Java Frameworks bis hin zur mobilen Nutzung "alter" Lotus Notes Client Applikationen.
Weitere Infos finden Sie auf http://www.wuensch.de
Schulungsprogramm für Output Management Solutions.
Schulungsthemen:
o AFP-Einführung (Intensiv)
o PPFA – Page Printer Formatting Aid (Traditional) o AFP-Architektur auf z/OS
o ELIXIR DesignPro Tools o ELIXIR DesignPro Tools Spezial für z/OS
o FONT Spezialkurs
o EngageOne / DOC1 Basisschulung
o EngageOne / DOC1 für Fortgeschrittene und Administratoren
o PPFA Conditional Processing
Schulungsprogramm für den effizienten Einsatz von Produkten und Lösungen im Output Management aufgesetzt. In praxisnahen Beispielen wird in den Schulungen aufgezeigt, wie sich Prozesse im Output Management wirtschaftlicher gestalten lassen und optimierte Ergebnisse erzielbar sind, wenn Produktfunktionen effizienter angewendet werden.
http://www.opitz-consulting.com
Bei der DOAG 2015 Konferenz und Ausstellung befasste sich unser Experte Gerd Volberg mit Oracle Forms und der Oracle SB.
In modernen Applikationslandschaften findet man immer häufiger den Oracle Service Bus. Dieser Vortrag beschreibt, wie man mit einfachen Mitteln eine Oracle Forms Applikation als Service in den OSB integriert und welche Vorteile das hat.
Die benötigten PL/SQL-Sourcecodes werden erläutert und vorgestellt. In einer Demo-Applikation wird live gezeigt, wie die Integration von Oracle Forms in einer OSB-Landschaft funktioniert und was man beachten muss.
_ _
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com
Unser Leistungsangebot: http://www.opitz-consulting.com
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com
http://www.opitz-consulting.com
Glaubt man den Diskussionen auf Reddit und Yahoo Hackernews, ist JSF schon lange tot. Es sei langweilig, hässlich und ineffizient, heißt es dort. Heutzutage schreibt jeder Entwickler, der etwas auf sich hält, seine Programme in Javascript und HTML5. Nun, AngularFaces und BootsFaces bringen JavaScript und das frische Look and Feel von Bootstrap in die JSF-Welt.
AngularFaces macht es möglich, AJAX durch AngularJS zu ersetzen oder zu ergänzen. Damit gewinnen Sie eine Menge Flexibilität: Viele Dinge lassen sich in JavaScript einfacher programmieren als auf dem Server. Wie weit Sie dabei gehen, bleibt Ihnen überlassen. Sie können zum Beispiel damit beginnen, die Validierungen auf den Client zu verlagern. Oder einzelne schicke AngularJS-Komponenten in Ihrer JSF-Anwendung nutzen. Oder Sie gehen weiter und schreiben eine Single-Page-Anwendung, die von AngularJS gesteuert wird und nur die Infrastruktur von JSF nutzt.
BootsFaces ist eine Komponentenbibliothek, die rund 58 Komponenten in der Optik von Bootstrap liefert. Seit HTML5 brauchen Sie keine Komponentenbibliothek, um Bootstrap einzusetzen. Mit BootsFaces geht es aber deutlich einfacher. Wenige Zeilen genügen, und Ihre JSF-Anwendung sieht auch auf dem Smartphone gut aus.
Diesen Vortrag hielt unser Senior Consultant Stephan Rauh gemeinsam mit BootsFaces Team Lead Riccardo Massera am 9. März 2016 bei der Javaland in Brühl.
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Besuchen Sie unsere Homepage: http://www.opitz-consulting.com
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAGeorg Eck
Heute wird im Maschinenbau, in der Automobilindustrie und jetzt auch in der Architektur mehr und mehr 3D PDF eingesetzt. Für welche Anforderungen sind welche Werkzeuge richtig eingesetzt. Tetra4D ist dabei führend.
Der Vortrag "Staffware Process Suite – Delivering the Process of Business" von Dr. Ulrich Kampffmeyer fand am 19. Februar 2002 in Frankfurt statt.
Agenda
- PROJECT CONSULT
- Was ist Business Process Management?
- Marktentwicklung
- Einsatzgebiete
- Nutzen von Workflow-Management-Systemen
- Trends
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...bhoeck
Als Kollaborationswerkzeug hat Microsoft Teams sich bereits etabliert. Dass damit auch moderne Besprechungsumgebungen und virtuelle Telefonanlagen umgesetzt werden können, demonstriert Net at Work anschaulich in zwei neuen Workshops.
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15die.agilen GmbH
Der klassische Designprozess kommt im RWD-Zeitalter an die Grenzen. Der RWD-Workflow fordert eine iterative und inkrementelle Herangehensweise an Design und das daraus entstehende Frontend, welches als Prototyp früh zu Verfügung stehen soll. Atomic Design ist ein sinnvoller und erprobter Ansatz, um dies zu realisieren. Der Vortrag geht dazu auf alle Aspekte von Atomic Design ausführlich ein und zeigt anhand eines Praxisbeispiels die konkrete Umsetzung.
Maschinenbau: Design Baukasten als vorteilhafte Moduleolik88
Modulbauweise im Maschinenbau: Welche Herausforderungen kommen im Bereich Planung, Fertigung, Umsetzung auf den Maschinenbau zu? Wirkt Modularität der steigenden Maschinenkomplexität entgegen?
Agile (Software-) Prozesse - Quo Vadis? [in German]Martin Gaedke
[DE] Eingeladener Impulsvortrag zum Thema Agile Software Engineering und Agile Management - in drei Teilen: Eine kurze Einführung zu Scrum, Übersicht zu Agilen Prozessen sowie ein Ausblick zu aktuellen Trends.
Einladung im Rahmen des BMBF-Projektes "Innoprofile-Transfer" zu Systemzuverlässigkeit in Elektromobilität und Energiemanagement
[EN] An introductory note about Agile Software Engineering and Agile Management - in three parts: An introduction to Scrum, Agile principles and approaches, and current trends regarding applying Agile in Management, Enterprise Agility, Lean, Kanban, Scalable Agile Framework, Business Model Generation, Holacracy, purpose-driven work environment, Design Thinking, Results-only and Impact-oriented approaches.
Presented at "Innoprofile-Transfer" project-workshop on System Reliability in electric mobility and energy management (a project funded by the Federal Ministry of Education and Research (BMBF)).
Agenda 6. Jahrestagung Variantenmanagement im Pullman Hotel in Stuttgart vom 28.-30. September. Die aicomp | group, einer der Sponsoren des Events, beteiligt sich mit einem Vortrag zur graphischen Konfiguration.
Softwareentwicklung ist Modell-Bildung. Wir bauen einen Teil der Wirklichkeit als Programm nach und verbessern sie so. Ein traditioneller Ansatz ist, die Domäne als Ganzes möglichst detailgenau nachzubilden. Aber ist das eigentlich der Zweck von Modellen? Wenn wir genau hinschauen, bemerken wir, dass ein Modell eigentlich genau das Gegenteil ist. Ein Modell ist nämlich eine Abstraktion der Wirklichkeit, in die nur das Wesentliche übertragen und das Unwesentliche weggelassen wird. Was wesentlich und was unwesentlich ist, ergibt sich aus dem Kontext. Ein einfaches Modell ist leichter zu verstehen als ein kompliziertes. Deshalb ist es eine gute Idee, von einer komplizierten Wirklichkeit mehrere einfache (und einfach verständliche) Modelle zu bilden. Genau diesen Effekt machen sich Microservices und DDD mit seinem Strategisches Design zu nutze. Hier werden statt dem einen großen unternehmensweiten Modell, mehrere kleine gut verständliche Modelle gebildet. In diesem Talk betrachten wir, welche Mittel uns zur Verfügung stehen, um gute Modelle zu bauen und die Domäne so aufzuteilen, dass wir auch mit mehreren sinnvoll und unabhängig arbeiten können.
http://www.opitz-consulting.com
"Automatisierung im DWH" war das Thema unserer Experten Marian Strüby und Dr. Jens Bleiholder zusammen mit Ulf Jeffke, Manager Voice & Data Anlalyst - Vodafone Kabel Deutschland, bei der DOAG 2015 Konferenz und Ausstellung.
Modularisierung, Standardisierung, Automatisierung. Mit diesen drei Stichworten kann man die Vorteile des ODI 12c als ETL-Tool im eigenen DWH-Projekt auf den Punkt bringen. Der ODI eröffnet hier eine ganze Reihe an Möglichkeiten, die Entwicklung eines DWH zu beschleunigen, dem Entwickler Arbeit abzunehmen und gleichzeitig die Entwicklung zuverlässiger und fehlerfreier zu machen. Dabei wird die Entwicklung noch wesentlich effizienter, wenn man auch bei Datenmodellierung und Architektur auf Modularisierung, Standardisierung und Automatisierung achtet und z.B. Data Vault verwendet. Anhand von Beispielen aus einem Kundenprojekt stellen wir unsere Erfahrungen auf diesem Gebiet vor und zeigen, wie der ODI 12c im Projekt dabei hilft und ein DWH größtmöglich automatisiert, aufzubauen: Generieren von Datenmodellen und zugehörigen Mappings, automatisches Deployment, Anpassung von Knowledge-Modulen etc. Den Kunden freut es, bekommt er nun mehr DWH für sein Geld. Den Entwickler freut es, muss er nun nicht mehr die langweiligen immer gleichen Arbeiten erledigen. Den Endanwender freut es, bleibt nun mehr Zeit übrig, um auf seine Probleme und Businesslogik einzugehen.
http://www.opitz-consulting.com/go/3-5-11
Um ein langfristiges, nachhaltiges Unternehmenswachstum sicherstellen zu können, ist es wichtig, sich vom Wettbewerb abzuheben. Da klassische Märkte ihren Sättigungsgrad erreicht haben, ist es an der Zeit neue Wege zu beschreiten.
Multi-Channel Enablement eröffnet Unternehmen heute Chancen, neue Vertriebskanäle, Services und Dienstleistungen schnell auf den Markt zu bringen. Grundlage hierfür ist eine stabile und zukunftssichere Integrationsinfrastruktur.
Bei der Jax 2015 zeigten unsere Experten Sven Bernhard und Dominik Bial, wie ein zentraler Integrationbackbone und das zugehörige Multi-Channel Enablement mit Blick auf Cloud, IoT sowie Mobile aussehen kann.
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG
Wünsch AG Vortrag auf der 39. DNUG Konferenz. Modernisierung von Notes Applikationen bis hin zur mobilen Anwendung.
Der Vortrag der Wünsch AG gibt praktische Tipps zum Vorgehen und zur Auswahl der passenden Technologie.
Angefangen über die Modernisierung mit Notes Standards, über HTML, HTML5, xPages, verschiedenen Java Frameworks bis hin zur mobilen Nutzung "alter" Lotus Notes Client Applikationen.
Weitere Infos finden Sie auf http://www.wuensch.de
Schulungsprogramm für Output Management Solutions.
Schulungsthemen:
o AFP-Einführung (Intensiv)
o PPFA – Page Printer Formatting Aid (Traditional) o AFP-Architektur auf z/OS
o ELIXIR DesignPro Tools o ELIXIR DesignPro Tools Spezial für z/OS
o FONT Spezialkurs
o EngageOne / DOC1 Basisschulung
o EngageOne / DOC1 für Fortgeschrittene und Administratoren
o PPFA Conditional Processing
Schulungsprogramm für den effizienten Einsatz von Produkten und Lösungen im Output Management aufgesetzt. In praxisnahen Beispielen wird in den Schulungen aufgezeigt, wie sich Prozesse im Output Management wirtschaftlicher gestalten lassen und optimierte Ergebnisse erzielbar sind, wenn Produktfunktionen effizienter angewendet werden.
http://www.opitz-consulting.com
Bei der DOAG 2015 Konferenz und Ausstellung befasste sich unser Experte Gerd Volberg mit Oracle Forms und der Oracle SB.
In modernen Applikationslandschaften findet man immer häufiger den Oracle Service Bus. Dieser Vortrag beschreibt, wie man mit einfachen Mitteln eine Oracle Forms Applikation als Service in den OSB integriert und welche Vorteile das hat.
Die benötigten PL/SQL-Sourcecodes werden erläutert und vorgestellt. In einer Demo-Applikation wird live gezeigt, wie die Integration von Oracle Forms in einer OSB-Landschaft funktioniert und was man beachten muss.
_ _
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com
Unser Leistungsangebot: http://www.opitz-consulting.com
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com
http://www.opitz-consulting.com
Glaubt man den Diskussionen auf Reddit und Yahoo Hackernews, ist JSF schon lange tot. Es sei langweilig, hässlich und ineffizient, heißt es dort. Heutzutage schreibt jeder Entwickler, der etwas auf sich hält, seine Programme in Javascript und HTML5. Nun, AngularFaces und BootsFaces bringen JavaScript und das frische Look and Feel von Bootstrap in die JSF-Welt.
AngularFaces macht es möglich, AJAX durch AngularJS zu ersetzen oder zu ergänzen. Damit gewinnen Sie eine Menge Flexibilität: Viele Dinge lassen sich in JavaScript einfacher programmieren als auf dem Server. Wie weit Sie dabei gehen, bleibt Ihnen überlassen. Sie können zum Beispiel damit beginnen, die Validierungen auf den Client zu verlagern. Oder einzelne schicke AngularJS-Komponenten in Ihrer JSF-Anwendung nutzen. Oder Sie gehen weiter und schreiben eine Single-Page-Anwendung, die von AngularJS gesteuert wird und nur die Infrastruktur von JSF nutzt.
BootsFaces ist eine Komponentenbibliothek, die rund 58 Komponenten in der Optik von Bootstrap liefert. Seit HTML5 brauchen Sie keine Komponentenbibliothek, um Bootstrap einzusetzen. Mit BootsFaces geht es aber deutlich einfacher. Wenige Zeilen genügen, und Ihre JSF-Anwendung sieht auch auf dem Smartphone gut aus.
Diesen Vortrag hielt unser Senior Consultant Stephan Rauh gemeinsam mit BootsFaces Team Lead Riccardo Massera am 9. März 2016 bei der Javaland in Brühl.
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Besuchen Sie unsere Homepage: http://www.opitz-consulting.com
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAGeorg Eck
Heute wird im Maschinenbau, in der Automobilindustrie und jetzt auch in der Architektur mehr und mehr 3D PDF eingesetzt. Für welche Anforderungen sind welche Werkzeuge richtig eingesetzt. Tetra4D ist dabei führend.
Der Vortrag "Staffware Process Suite – Delivering the Process of Business" von Dr. Ulrich Kampffmeyer fand am 19. Februar 2002 in Frankfurt statt.
Agenda
- PROJECT CONSULT
- Was ist Business Process Management?
- Marktentwicklung
- Einsatzgebiete
- Nutzen von Workflow-Management-Systemen
- Trends
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...bhoeck
Als Kollaborationswerkzeug hat Microsoft Teams sich bereits etabliert. Dass damit auch moderne Besprechungsumgebungen und virtuelle Telefonanlagen umgesetzt werden können, demonstriert Net at Work anschaulich in zwei neuen Workshops.
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15die.agilen GmbH
Der klassische Designprozess kommt im RWD-Zeitalter an die Grenzen. Der RWD-Workflow fordert eine iterative und inkrementelle Herangehensweise an Design und das daraus entstehende Frontend, welches als Prototyp früh zu Verfügung stehen soll. Atomic Design ist ein sinnvoller und erprobter Ansatz, um dies zu realisieren. Der Vortrag geht dazu auf alle Aspekte von Atomic Design ausführlich ein und zeigt anhand eines Praxisbeispiels die konkrete Umsetzung.
Maschinenbau: Design Baukasten als vorteilhafte Moduleolik88
Modulbauweise im Maschinenbau: Welche Herausforderungen kommen im Bereich Planung, Fertigung, Umsetzung auf den Maschinenbau zu? Wirkt Modularität der steigenden Maschinenkomplexität entgegen?
Agile (Software-) Prozesse - Quo Vadis? [in German]Martin Gaedke
[DE] Eingeladener Impulsvortrag zum Thema Agile Software Engineering und Agile Management - in drei Teilen: Eine kurze Einführung zu Scrum, Übersicht zu Agilen Prozessen sowie ein Ausblick zu aktuellen Trends.
Einladung im Rahmen des BMBF-Projektes "Innoprofile-Transfer" zu Systemzuverlässigkeit in Elektromobilität und Energiemanagement
[EN] An introductory note about Agile Software Engineering and Agile Management - in three parts: An introduction to Scrum, Agile principles and approaches, and current trends regarding applying Agile in Management, Enterprise Agility, Lean, Kanban, Scalable Agile Framework, Business Model Generation, Holacracy, purpose-driven work environment, Design Thinking, Results-only and Impact-oriented approaches.
Presented at "Innoprofile-Transfer" project-workshop on System Reliability in electric mobility and energy management (a project funded by the Federal Ministry of Education and Research (BMBF)).
Agenda 6. Jahrestagung Variantenmanagement im Pullman Hotel in Stuttgart vom 28.-30. September. Die aicomp | group, einer der Sponsoren des Events, beteiligt sich mit einem Vortrag zur graphischen Konfiguration.
“Softwarearchitektur besteht aus Struktur, Verhalten und Stil” – das lernen wir aus der Literatur. Richtig! Nur: Ist das alles? Im Projektalltag ist der Architekt auch der große Kommunikator und Dolmetscher, der erklärt, vermittelt, Händchen hält, zuweilen auch “die Peitsche schwingt”. Lernen Sie heute, warum Architektur und Kommunikation in einem Softwareprojekt fast ein und dasselbe sind.
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...Rainer Stropek
Wenn es etwas gibt, das Softwareunternehmerinnen sich die Haare raufen lassen, dann sind das im Moment User-Interface-Technologien. Web oder App? HTML oder XAML? Native oder Cross-Platform? Klassisch oder Bot? Kaum ein Unternehmen kann es sich leisten, jeden Trend und jede Plattform mitzumachen. Was also tun? Rainer Stropek ist seit über zwanzig Jahren Unternehmer in der Softwarebranche. In dieser Session teilt Rainer seine Einschätzungen über den aktuellen Stand der UI-Technologien im Microsoft-Umfeld. Er berichtet, wie er sein Unternehmen technisch und strategisch aufstellt, um nicht von den Kosten ständiger UI-Neuentwicklungen aufgefressen zu werden.
Große agile Teams - Zu viele Entwickler verderben den Brei?Julia Stoff
In der Softwareentwicklung haben agile Teams idealerweise drei bis neun Teammitglieder, so lehrt es der Scrum Guide. In Studien lässt sich Ähnliches finden. Die Produktivität soll sogar mit jeder weiteren Person sinken. Was ist, wenn ein Team größer ist? Wie erhält man den Wissenstransfer bei individuellen Arbeitszeitmodellen von einzelnen Teammitgliedern? Und wie passt eine Designerin eigentlich in ein Cross-funktionales Entwicklungsteam? Fragen, die ein modernes Entwicklungsteam aufwerfen. Wir zeigen aus der Praxis, welche Methoden und Mechanismen sich bei uns etabliert haben und uns zu einem großen, agilen und erfolgreichen Team machen.
its all about the domain honey! Experiences from 15 years of Domain-Driven De...Carola Lilienthal
Great technologies, programming languages and tools are used when building software. That is good and right. But unfortunately, it is often lost sight of the fact that the decisive factor is not the technology, but the *business domain*. If we do not map the domain language and the business processes in the software, then it will not help our users in their work. No technology in the world can protect us from this.
In this talk, I'll show you how you can identify problems in an existing legacy system that could be solved with Domain-Driven Design. We will see problems such as: large entities that are used all over the system, how we could divide them into smaller entities according to the business domain and how we should cut the source code into bounded contexts. All this will be done with many examples from analysis tools that help us to see the system on the level above the source code.
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...Carola Lilienthal
Great technologies, programming languages and tools are used when building software. That is good and right. But unfortunately, it is often lost sight of the fact that the decisive factor is not the technology, but the *business domain*. If we do not map the domain language and the business processes in the software, then it will not help our users in their work. No technology in the world can protect us from this.
In this talk, I'll show you how you can identify problems in an existing legacy system that could be solved with Domain-Driven Design. We will see problems such as: large entities that are used all over the system, how we could divide them into smaller entities according to the business domain and how we should cut the source code into bounded contexts. All this will be done with many examples from analysis tools that help us to see the system on the level above the source code.
Carola is managing the company WPS since 2014 where 120 developers and architects improve legacy systems all around the world. In this talk you will learn how to bring your old code base back to the path of virtue, step by step, so that maintenance is fun again.
Today programmers do not develop applications from scratch, but they spend their time fixing, extending, modifying and enhancing existing applications. The biggest problem in their daily work is that with time maintenance mutates from structured programming to defensive programming: The code becomes too complex to be maintained. We put in code we know is stupid from an architectural point of view but it is the only solution that will hopefully work. Maintenance is more and more difficult and expensive. Our software accumulates technical debts.
In this talk, you will see how you should improve your architecture and source code to prevent technical debt growing unrestricted. With the proper knowledge about well-structured architecture, refactorings for tangled code can quickly be found. Complex code can be eliminated, and maintenance costs will be reduced.
Today programmers do not develop applications from scratch, but they spend their time fixing, extending, modifying and enhancing existing applications. These old systems are often a large tangled mess, where changes become harder and harder. DDD can help us to improve this situation and to meltdown the big ball of mud.
Since Microservices have appeared as an architectural style to solve organizational problems and improve scalability the ideas of Domain-Driven Design have experienced a strong revival. On the one hand the guidelines of strategic design (DDD in the large) help us to cut the domain into domain-related bounded contexts. These bounded contexts than correspond with microservices. Within the bounded contexts tactical design (DDD in the small) with the ubiquitous language and the building blocks entity, value object, aggregate, service etc. give us guidance how to implement and structure our design. In this workshop we will show you the essentials of DDD and report on our ten yours experience with DDD. Short lectures, discussions and exercises will alternate with one another.
Almost every software system is created in difficult conditions and thus from the beginning burdened with quality problems. The most common difficulties are: deadlines forcing us to program hacks; divergent development skills in the team resulting in code of different quality; or old code, that is clumsy, tangled and without unit tests, putting a spoke in our wheel. All these bits and pieces of bad code will raise development costs in the futures that is why they are called technical debt.
In this talk you will see, which principles you should apply to your source code to prevent technical debt growing unrestricted. With the proper tool support refactorings for bad code can quickly be found and eliminated. I will present to you the tool Sotograph which allows us to inspect PHP code on a structural level and try out the effects of refactorings.
Was sind die entscheidenden Zutaten für agile Projekte? Was muss man bei agilen Projekten unbedingt beachten, damit Agilität ihre beeindruckende Kraft entfalten kann.
5. 07.02.2016 //// Seite 5WPS - Workplace Solutions GmbH
Maßnahmen gegen technische Schulden
Kontinuierliche Architekturdiskussion
Weiterbildung der Architekturen und Entwickler
Automatisches Testen und Refactoring
Regelmäßige Architekturanalyse und -Erneuerung
6. 07.02.2016 //// Seite 6WPS - Workplace Solutions GmbH
Architekturanalyse: Was ist das?
Findet sich die geplante Architektur (Soll-Architektur) in der
Strukturen der implementierten Software (Ist-Architektur) wieder?
Plan mit
Klassen =
Soll-Architektur Ist-Architektur
≠ Sourcecode
DirectoriesDirectories
Packages
Namespaces
Subsysteme
Komponenten
Module
Schichten
7. 07.02.2016 //// Seite 7WPS - Workplace Solutions GmbH
Zwei Architekturziele für Langlebigkeit
Architekturziel 1: Wartbarkeit
• schnelle Fehleranalyse
• schnelle Anpassungen
• Analysierbarkeit und Verständlichkeit
• Reduktion von Komplexität
Architekturziel 2: Flexibilität
• Varianten von Geschäftsprozessen
• Geänderte Anforderungen
• Serviceorientierung und Skalierbarkeit
• Baukastenprinzip
8. 07.02.2016 //// Seite 8WPS - Workplace Solutions GmbH
Expertise zu Architekturanalyse
Architektur-Review und Bewertungen mit Qualitätsgutachten
Analyse und Priorisierung von technischen Schulden
Beratung zu Architekturverbesserung und Refactorings
Einführung und Weiterentwicklung von Architekturstile
Unsere Dienstleistungen
9. 07.02.2016 //// Seite 9WPS - Workplace Solutions GmbH
70%
20%
10%
Code verstehen
Problem lösen
Code schreiben
Womit verbringen wir unsere Zeit?
10. 07.02.2016 //// Seite 11WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
12. 07.02.2016 //// Seite 15WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
Modularität
13. 07.02.2016 //// Seite 16WPS - Workplace Solutions GmbH
Modularität
Hohe Kohäsion und lose Kopplung
Responsibility Driven Design
Separation of Concerns
Single Responsibility Principle
14. 07.02.2016 //// Seite 17WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
Modularität
16. Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität
17. Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität Musterkonsistenz
18. 07.02.2016 //// Seite 26WPS - Workplace Solutions GmbH
User Interface
Domain
Application
Hierarchien in Architekturebene: Schichten und Module
Fachliches
Modul B
Fachliches
Modul B
Fachliches
Modul A
Fachliches
Modul A
Fachliche Schichtung
TechnischeSchichtung
Fachliches
Modul C
Fachliches
Modul C
19. 07.02.2016 //// Seite 27WPS - Workplace Solutions GmbH
Zwei Dimensionen einer Architektur
Technische Schichtung Fachliche Schichtung
Leicht zu
behebende
Verletzungen
Schwer zu
behebende
Verletzungen
Eine
Komponente
verursacht die
Probleme
Eine
Komponente
verursacht die
Probleme
20. 07.02.2016 //// Seite 28WPS - Workplace Solutions GmbH
Fachliche Schichtung misslungen
Technische Schichtung Keine fachliche Schichtung
Wenige
Schichten-
verletzungen
Fast alle 90
fachlichen
Komponenten
brauchen sich
gegenseitig
21. 07.02.2016 //// Seite 29WPS - Workplace Solutions GmbH
Hierarchien auf Klassenebene
Auswirkung auf:
Wartbarkeit
Austauschbarkeit
Testbarkeit
Modularität
Musterkonsistenz
Hierarchien auf allen Ebenen einführen
28. 07.02.2016 //// Seite 38WPS - Workplace Solutions GmbH
Uneven Modules
Ein großer Monolith mit vielen kleinen Satelliten
950.860 LOC
84.808 LOC
Häufige Ursache: Build-System, das Zyklen verbietet
29. 07.02.2016 //// Seite 41WPS - Workplace Solutions GmbH
Modularität: Ausgewogene Größenverhältnisse
Typische Metriken:
LOC pro Methode, Klasse, Package, Komponenten
Duplizierter Code
Zyklomatische Komplexität
Ist das System auf den verschiedenen Ebenen ausgewogen?
Welche Code-Abschnitte fallen durch ihre Größe besonders auf?
Anti-Pattern
„Godclass“
30. 07.02.2016 //// Seite 42WPS - Workplace Solutions GmbH
Beispiel: Größenverhältnis und Kopplungsgrad
Große Steuerungsklassen benutzen bis zu 100 – 500 andere Klassen
Ausgewogene Größenverhältnisse führen zu geringerer Kopplung
31. 07.02.2016 //// Seite 43WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität Musterkonsistenz
32. 07.02.2016 //// Seite 44WPS - Workplace Solutions GmbH
Muster auf Architekturebene: Vier Module
Modul
Grün
Modul
Lila
Modul
Orange
Modul
Blau
33. 07.02.2016 //// Seite 45WPS - Workplace Solutions GmbH
Musterkonsistenz: Was finden wir?
Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
35. 07.02.2016 //// Seite 47WPS - Workplace Solutions GmbH
Muster auf Klassenebene: Entwurfsmuster und Mustersprachen
User Interface
Domain
Application
Fachliches ModulFachliches Modul
Window
GUI
Model
View
C
o
n
t
r
o
l
ValueObject
Service
BusinessObject
SchichtungdurchMuster
36. 07.02.2016 //// Seite 48WPS - Workplace Solutions GmbH
Gute umgesetzte Mustersprache
☺ 90% des Sourcecodes lässt sich den Mustern zuordnen
☺ 0,1% Verletzungen in den Mustern
37. 07.02.2016 //// Seite 49WPS - Workplace Solutions GmbH
Entdeckung einer Mustersprache
☺ 80% des Sourcecodes lässt sich den 23 Mustern zuordnen
☺ 4% Verletzungen in den Mustern
38. 07.02.2016 //// Seite 50WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
HierarchisierungModularität Musterkonsistenz
Einheitliche und
durchgängige
Muster
Zyklenfreiheit auf
allen Ebenen
Zuständigkeit
Kopplung
Größenverhältnisse
Schnittstellen
39. 07.02.2016 //// Seite 51WPS - Workplace Solutions GmbH
Kostenfreie Werkzeuge
• SonarQube:
• 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
• Moose
• Code City
40. 07.02.2016 //// Seite 52WPS - Workplace Solutions GmbH
Kommerzielle Produkte
Axivion Bauhaus: Java, .Net, C/C++, Ada, VB und Cobol
Lattix: Java, .Net, C/C++, Ada, Delphi und DB-Systeme
Structure101: Java, C++, Ada
SotoArc und Sonargraph: Java, .Net, C/C++, ABAP, PHP
• Teamscale
• Seerene
41. 07.02.2016 //// Seite 59WPS - Workplace Solutions GmbH
Vorgehen bei der Architekturanalyse und Verbesserung
42. 07.02.2016 //// Seite 63WPS - Workplace Solutions GmbH
Leitstand für Verbesserungen im laufenden Betrieb
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.
Ergebnis
Tatsächliches
Problem?24%
34%
44%
54%
64%
74%
84%
94%
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
43. Vielen Dank für Ihre Aufmerksamkeit!
www.langlebige-softwarearchitektur.de
Dr. Carola Lilienthal
Mitglied der
Geschäftsleitung
cl@wps.de
www.wps.de
+49 170 184 77 11
Diplom-Informatikerin
@cairolali