Behutsame Modernisierung
|
|
- Helene Bruhn
- vor 6 Jahren
- Abrufe
Transkript
1 Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka <Jan.Wloka@first.fraunhofer.de>
2 Bekannte Situationen und Ursachen Situationen mit alter Software Ein System läuft stabil aber auf veralteter Hardware Wartung des Systems ist kostspielig Integrationsbemühungen werden massiv behindert Erweiterung der Funktionalität ist schwierig, wenn nicht sogar unmöglich Häufige Ursachen Starke Abweichungen zwischen Implementierung und Dokumentation "Featurerismus" Personal Fluktuation Seite 3 Das Problem Legacy Information System Definition Legacy System:... any information system that significantly resists modification and evolution... [Brodie, Stonebraker, 1995] Das Problem im Detail: Einzige Dokumentationsquelle ist der Quellcode Quellcode-Strukturen sind häufig spröde (brittle), Unflexibel, nicht erweiterbar Mangel an Offenheit für neue Funktionalitäten Isolierte Funktionalität Seite 4
3 Drei Kategorien von LösungsmL sungsmöglichkeitenglichkeiten Re-Development Neu-Entwicklung from scratch Neue Technologien, Architektur, Werkzeuge, etc. ABER: Sehr aufwendig, Keine Weiterverwendung, Ohne Erfolgsgarantie Wrapping Kapseln des Systems oder einzelner Systemteile Neue Schnittstellen zur Funktionalität Domäne der Komponenten-basierten Ansätze ABER: Keine Fehlerbehebung, Keine Verbesserung von System-Eigenschaften, Kaum erweiterbar Doch warum ist Wrapping häufig schwierig??????? Seite 5 Komplexe Strukturen und crosscutting crosscutting Funktionalitäten Besondere Probleme Komplexe Strukturen Beispiele: Starke Abhängigkeiten durch Vererbungs-/Benutzungsbeziehungen, Sehr lange Methoden Kaum verständlich da zu komplex crosscutting Funktionalitäten Liegen quer zur Struktur Schwer kappselbar Beispiele: Verteilung, Synchronisation, Notification, Logging, Exception-Handling, Memory-Management ClassA ClassB ClassC X X X Funktionalität 1 Funktionalität 2 X X X Funktionalität 3 Seite 6
4 crosscutting Funktionalitäten Ein Beispiel Werkzeug: Aspect Browser Identifikation von einzelnen Funktionalitäten mit Textanalyse (Regular Expressions) Beispiel: XML Parser Log ROT Write GRÜN Parse BLAU Seite 7 Re-Development Wrapping Re-Engineering Re-Engineering Analysieren/Verstehen und Abändern der existieren Quellen: Quellcode Analyse Zugang zur Funktionalität Modularisierung Separierung der Funktionalität Komposition Integration der Funktionalität Ziel: Die Implementierung in einer neuen Form wiederherzustellen??? Welche Möglichkeiten zur Modularisierung habe ich? Seite 8
5 Möglichkeiten zur Modularisierung Inkrementelle Strukturverbesserung Refactoring = methodisch fundierte Herangehensweise um strukturelle Änderungen in bestehenden Systemen gezielt und sicher durchzuführen Refactoring als Technik und vor allem methodischer Ansatz Bekannte, erprobte und Werkzeug-gestützte Technologie Strukturen werden zerlegt, entkoppelt und vereinfacht Verständnis und Modularität des bestehenden Systems werden verbessert Refactoring von OO-Strukturen Seite 9 Möglichkeiten zur Modularisierung Beschränkungen von Refactoring Quer zur Struktur liegende Funktionalität wird nur hin und her verschoben Komplexität wird nur lokal beseitigt (Wegräumen ohne Aufräumen) Designkonflikte können nicht immer aufgelöst werden z.b. Modularisierung nach Struktur (OO) vs. Modularisierung nach Funktion (Funktionale Psrogrammierung) OO Modularisierungsmöglichkeiten reichen nicht aus! Seite 10
6 Erweiterte Modularisierungskonzepte Aspektorientierte Softwareentwicklung Aspekte liegen quer zur Struktur Kapselung der crosscutting Funktionalitäten Aspektorientierte Programmierung: Kernsystem (OO) Aspekte beziehen sich auf das Kernsystem Aspekte müssen Quellen nicht verändern Integration durch Weaver ClassA m1() m2(p1) ClassB m2() m3(p1, p2) m4() ClassC m2() m5(p1) joinpoints Alle Methoden aus ClassA Alle Methoden m2 Alle parameterlosen Methoden Beispiele für Aspekte: Verteilung, Synchronisation, Logging, Exception-Handling, Memory-Management Techniken/Werkzeuge für unterschiedliche Sprachen verfügbar Kern Aspekte Seite 11 advice before after around Aspektorientierte Modularisierungstechniken Aspektorientierte Erweiterungen Für Java: AspectJ, Hyper/J, Object Teams Für C++: AspectC++, Object Teams AspectJ Erste Aspektorientierte Erweiterung Quellcode-Manipulation von außen Hyper/J Byte-Code Modifikation von außen Kein Quellcode nötig Object Teams Verbindung der Möglichkeiten verschiedener AO-Sprachen Seite 12
7 Lösungen und Probleme Separierung von quer zur Struktur liegender Funktionalität war unmöglich Aspekte ermöglichen deren Modularisierung und Komposition Aspekte für verschiedene Programmiersprachen verfügbar Offene Probleme: Methodisch richtige Separierung von Funktionalität in Aspekte Werkzeuge zum Auffinden und automatisierten Modularisierung Refactoring-Werkzeug für Aspekte FhI FIRST: Weiterentwicklung der Programmiersprache Object Teams Werkzeuge zur automatisierten Modularisierung in Aspekte Seite 13 Fazit Modernisierung ist Bestandteil fast jedes Softwareentwicklungsprojektes Für viele Probleme sind bereits Lösungen vorhanden Techniken der AOSD scheinen besonders geeignet, dabei Quellcode-Analyse technisch noch nicht ganz ausgereift, aber hilfreich Modularisierungstechniken ausreichend vorhanden, methodische Unterstützung? Kompositionsmöglichkeiten Teillösungen sind vorhanden, aber nicht vereint Was Fehlt: Integrierte Werkzeugunterstützung die Einzelwerkzeuge vereinigt Seite 14
8 Haben Sie Fragen? Jan Wloka Seite 15
Bessere Software durch AOP? Achim Demelt OOP 2008
Bessere Software durch AOP? Achim Demelt OOP 2008 Agenda Motivation Konzepte der Aspektorientierung Aspektorientierung in der Praxis Bessere Software? Die Zukunft von AOP 2 Motivation Software wird immer
MehrRe-Engineering: Test-First-Ansatz. Dr. Thorsten Arendt Marburg, 17. Dezember 2015
Re-Engineering: Test-First-Ansatz Dr. Thorsten Arendt Marburg, 17. Dezember 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2015/2016 Überblick Probleme Wie ändert man Teile eines
MehrModel Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften
Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Proseminarvortrag Werkzeugunterstützung für sichere Software Jens Knipper Fakultät für Informatik Technische Universität Dortmund 31.
MehrAspektorientierte Programmierung (aspect-oriented programming, AOP)
Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen
MehrInstrumentation von Android Anwendungen mit ExplorViz
Instrumentation von Android Anwendungen mit ExplorViz Jan Witzany 28. September 2016 Jan Witzany Instrumentation von Android Anwendungen mit ExplorViz 28. September 2016 1 / 19 Gliederung 1. Motivation
MehrAspektorientierte Modellierung
Aspektorientierte Modellierung Softwaretechnik-Seminar 2002 Thema: Evolutionäre Software Referent: Alexander Winter Gliederung Einführung und Motivation Was ist Aspektorientierte Modellierung? Vorstellung
MehrInhaltsverzeichnis. Teil I Grundlagen 1
xv Teil I Grundlagen 1 1 Modelle und Modellierung 3 1.1 Modelle, die uns umgeben.................................. 3 1.2 Modelltheorie........................................... 5 1.3 Ziele beim Einsatz
MehrAspekt Orientierte Programmierung
Kapitel 13 Aspekt Orientierte Programmierung 13.1 Aspekte in Apache Wir betrachten den Quellcode des Apache-Servers: Der Code zum XML-Parsen steckt in einer eigenen Klasse (rot) Quelle: aspectj.org 0 ausgearbeitet
MehrAOSTA. Aspects in Operating Systems: Tools and Applications
AOSTA Aspects in Operating Systems: Tools and Applications Michael Engel, Philipps-Universität Marburg AG Verteilte Systeme engel@informatik.uni-marburg.de Aspektorientierung in 5 Minuten ;-) Crosscutting
Mehr7. Zusammenfassung (1)
Typisierung in OO-Sprachen Subtyping vs. Subclassing Untertypen für Typkonstrukte Funktionsuntertypen und Überschreiben Generik Einsatz von Vererbung konzeptioneller Entwurf: Abstraktion Spezialisierung
MehrChristoph Behounek, eggs unimedia
Adobe Experience Manager6.1 Planung eines erfolgreichen AEM Upgrades Christoph Behounek, eggs unimedia Adobe Experience Manager Ohne Planung funktioniert es nicht Planung eines erfolgreichen AEM Updates
Mehrwindream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream
windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream 2 Einfache System-Erweiterungen und Software- Integrationen mit windream Die offene Architektur des Enterprise-Content-Management-Systems
MehrOlaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe
Olaf Seng Thomas Genßler Benedikt Schulz Einführung Grundlagen Vorgehensweise Beispiel Zusammenfassung Übersicht 2 Einführung Szenario & Probleme Hinzufügen einer neuen Funktion zu einer Komponente Erfordert
MehrAOP Day 07. eine Veranstaltung der SIG AspectJ. organisiert vom AOP-Komitee. und der guten Fee. powered by. Oliver Böhm Darko Palic Ludger Solbach
AOP Day 07 eine Veranstaltung der SIG AspectJ organisiert vom AOP-Komitee Oliver Böhm Darko Palic Ludger Solbach und der guten Fee Bori Gerhardt powered by Historisches (1) Dez. 2005: AspectJ Winter Camp
MehrSoftware-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
MehrViele Entwickler finden Testen langweilig.
1 Viele Entwickler finden Testen langweilig. 2 Das galt auch für mich und meine Kollegen. 3 Programmierung kreativ Testen wiederholend, langweilig, eintönig 4 Programmierung konstruktiv, neuen Nutzen schaffen
MehrSoftware-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
MehrHauptseminar AOSD. Design-by-Contract
Hauptseminar AOSD Seite 1 Entstehung Was ist das? Java Annotations und AOP ConceptJ Zusammenfassung Seite 2 Entstehung Entwickelt von Bertrand Meyer Heute Prof. an der ETH Zürich Erstmals in Programmiersprache
MehrAdvanced Software Engineering WS0910 Kapitel4. Dr. Dominik Haneberg
Advanced Software Engineering WS0910 Kapitel4 Dr. Dominik Haneberg ASPEKT-ORIENTIERTE ENTWICKLUNG 08.02.2010 Advanced Software Engineering 2 Einführung Aspektorientierte Programmierung (AOP) ist ein Programmierparadigma,
MehrDas Softwaresystem BASEMENT
Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte
MehrModel Driven Architecture Praxisbeispiel
1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch
MehrZiele 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)
MehrVortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
MehrSAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld
SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! SAP Ali Kaveh Software Engineering live Agile! Certified Scrum Master Solution
MehrErläuterungen zu Darstellung des DLQ-Datenportals
Erläuterungen zu Darstellung des DLQ-Datenportals Definition zum Datenportal Das DLQ-Datenportal (DP) definiert fachliche Schnittstellen für den Datenaustausch zwischen verschiedenen Kommunikationspartnern.
MehrANGEWANDTE LINGUISTISCHE DATENVERARBEITUNG PROF. DR. JÜRGEN ROLSHOVEN UTE WINKELMANN
ANGEWANDTE LINGUISTISCHE DATENVERARBEITUNG PROF. DR. JÜRGEN ROLSHOVEN 15.02.2016 UTE WINKELMANN EINLEITUNG Akronym: Text Engineering Software Laboratory Virtuelle Arbeitsumgebung für textprozessierende
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrService Virtualisierung
Service Virtualisierung So bekommen Sie Ihre Testumgebung in den Griff! Thomas Bucsics ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com
MehrThema: Aspekt-orientierte Entwicklung: Einführung
Thema: Aspekt-orientierte Entwicklung: Einführung Student: Doris Tchouaffé Studiengang: Master Technische Informatik Matrikelnummer: 11021433 Betreuer: Prof. Dr. Hans W. Nissen Abgabedatum: 08.05.2008
MehrMake-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm 25.6.2012
Make-loses Java für mehr Produktivität: Das z 2 -Environment Henning Blohm 25.6.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Oh je noch ein Tool?
MehrSoftware Engineering
Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie
MehrPerformance Monitoring Warum macht es Sinn?
Performance Monitoring Warum macht es Sinn? achermann consulting ag Nicola Lardieri Network Engineer Luzern, 25.5.2011 Inhalt Definition Monitoring Warum Performance Monitoring? Performance Monitoring
Mehr1 Einleitung zum Thema Softwaremigration 1
xi 1 Einleitung zum Thema Softwaremigration 1 1.1 Die Motivation für Softwaremigration........................ 1 1.2 Zum Zustand der IT in der betrieblichen Praxis................. 4 1.3 Alternativen zur
MehrRTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen
RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen Thorsten Keuler (thorsten.keuler@iese.fraunhofer.de) IESE Fraunhofer Institut Experimentelles Software
Mehrsecunet Security Networks AG A priori Policies zum Schutz von Fahrzeug Bordnetzen
secunet Security Networks AG A priori Policies zum Schutz von Fahrzeug Bordnetzen 12. Deutscher IT-Sicherheitskongress Bonn, 10. Mai 2011 Dr. Marc Lindlbauer, Bereichsleiter Online Security Agenda 1 Online-Dienste
MehrGemeinsam mehr erreichen.
Gemeinsam mehr erreichen. Microservices, ein Vorgehensmodell zur Softwareentwicklung - Nürnberg - 17. November 2016 "Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und
MehrModellgetriebene 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
Mehr2 Softwarearchitektur in der Organisationsstruktur 25
xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition
MehrSoftwarearchitektur 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
MehrModel Driven Architecture
Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester
MehrContinuous Everything
Continuous Everything Development, Integration, Deployment, DevOps Peter Hormanns cusy GmbH, Berlin Vortrag OpenRheinRuhr 5./6. November 2016 de.slideshare.net/cusyio/continuous-everything Kapitel you
MehrSoftware Evolution: Einführung. Dr. Thorsten Arendt Marburg, 15. Oktober 2015
Software Evolution: Einführung Dr. Thorsten Arendt Marburg, 15. Oktober 2015 Überblick Was ist Software-Evolution? Warum ist Software-Evolution wichtig? Was sind die Prinzipien der Software-Evolution?
MehrMustersuche in Quellcode
Mustersuche in Quellcode Komponentenbasierte Softwareentwicklung 13.07.2005 Peter Schübel 1 Gliederung 1. Vorstellung des Projekts InPulse 2. Design Patterns 1. Idee 2. Beispiele 3. Referenzsystem World
MehrOhne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012
Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?
MehrAOP im Einsatz mit OSGi und RCP. Martin Lippert, Peter Friese und Heiko Seeberger
AOP im Einsatz mit OSGi und RCP Martin Lippert, Peter Friese und Heiko Seeberger Agenda Einführung Aspect-Weaving im Überblick Aspect-Weaving für OSGi: Equinox Aspects Anwendungsfall: Security für Eclipse-RCP
MehrSoftware Engineering II (IB) Softwareevolution
Software Engineering II (IB) Softwareevolution Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 21:17 Software Engineering II (IB), Softwareevolution 1/28 Softwareveränderungen Veränderungen der Software
MehrVerbesserung der Architektur und Dokumentation der DPP-Software Saros. Slawa Belousow Institut für Informatik FU Berlin 13.01.2011
Verbesserung der Architektur und Dokumentation der DPP-Software Saros Slawa Belousow Institut für Informatik FU Berlin 13.01.2011 Vorstellung der Arbeit Problem Entwicklung wird immer schwieriger Ziel
MehrSoftware Engineering II (IB) Softwareevolution
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 21:17 Inhaltsverzeichnis Softwareveränderungen............................... 2 Spiralmodell von Entwicklung und Evolution...................
MehrAspektorientierte Middleware Florian Wagner
Anwendungen der Aspektorientierung (5) Übersicht Middleware? Middleware-Concerns Java 2 Enterprise Edition AO Implementierung AOP & JBoss 2 mid dle ware (mĭd'l-wâr') n. Software that serves as an intermediary
MehrMDRE die nächste Generation des Requirements Engineerings
MDRE die nächste Generation des Requirements Engineerings Tom Krauß, GEBIT Solutions GmbH Copyright 2007 GEBIT Solutions Agenda Requirements Engineering heute eine Bestandsaufnahme Modell-Driven Requirements
MehrCiAO (CiAO is Aspect-Oriented)
CiAO (CiAO is Aspect-Oriented) Eine aspektorientiert entworfene Betriebssystemfamilie Daniel Lohmann Olaf Spinczyk Wolfgang Schröder-Preikschat Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme
MehrTest-driven development JUnit-Test. Lars Varain
Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven
MehrOOP. Tagesprogramm. Aspektorientierte Programmierung. Annotationen
1 2014-12-03 Tagesprogramm Aspektorientierte Programmierung Annotationen 2 Aspektorientierte Programmierung Programmierparadigma AspectJ separation of concerns Modularisierung Aspekte kapseln Verhalten
MehrSchnelles Prototyping für die medizinische Bildverarbeitung
Schnelles Prototyping für die medizinische Bildverarbeitung Danial Bin Mohamed Saruji, Michael Müller, Hans-Peter Meinzer Abteilung Medizinische und Biologische Informatik, Deutsches Krebsforschungszentrum
MehrModellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015
Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 11. Februar 2015 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion
MehrSOAP Simple Object Access Protocol. Dr. Reinhard Riedl Universität Zürich/Universität Rostock
SOAP Simple Object Access Protocol Dr. Reinhard Riedl Universität Zürich/Universität Rostock Vision Implementierung von verteilten Systemen über Systemgrenzen hinweg Integration von heterogenen verteilten
MehrSoftware Engineering. 7) SW Wartung. Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik. Studiengang WiBac 4 (Stand:
Software Engineering 7) SW Wartung Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: anja.metzner@hs-augsburg.de Studiengang WiBac 4 (Stand: 15.03.2014), Hochschule Augsburg,
MehrAspektorientierte Programmierung
Aspektorientierte Programmierung Programmierparadigma AspectJ separation of concerns Modularisierung Aspekte kapseln Verhalten das mehrere Klassen betrifft Objektorientierte Programmiertechniken: Aspektorientiertheit,
MehrKernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3
Systems Engineering Systems Engineering ist die gezielte Anwendung von wissenschaftlichen und technischen Ressourcen! zur Transformation eines operationellen Bedürfnisses in die Beschreibung einer Systemkonfiguration
MehrZUSAMMENARBEIT TU MÜNCHEN
ZUSAMMENARBEIT TU MÜNCHEN Datum: 23.03.2010 Rudolf Vaas Agenda 1. Motivation und Hintergrundinformation 2. Forschungsprojekt SoQuo in der Praxis 3. Fazit MOTIVATION & HINTERGRUNDINFORMATION Motivation
MehrErweiterung von objektorientiertem Refactoring für die aspektorientierte Sprache ObjectTeams/Java
Erweiterung von objektorientiertem Refactoring für die aspektorientierte Sprache ObjectTeams/Java Diplomarbeit vorgelegt von Gregor Brcan laibach@cs.tu-berlin.de Gutachter: Prof. Dr. Stefan Jähnichen Dr.
MehrEinführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung
Einführung in AOP Informatikseminar Rico Schiekel - 012816 rschiekel@web.de Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung
MehrFeature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn
Feature Modelle und ihre Anwendung Feature Modelle und ihre Anwendungen 22.07.2010 1 Software-Produktlinien Zusammenfassung mehrerer verwandter Softwaresysteme zu einer Domäne (Anwendungsgebiet) Softwaresysteme
MehrKostengünstige Performance Engineering Lösungen (Java Forum Stuttgart 2009)
Low Costs High Speed Kostengünstige Performance Engineering Lösungen (Java Forum Stuttgart 2009) M.Sc. Stefan Siegl NovaTec GmbH Business Unit Leitung Application Performance Engineering NovaTec Ingenieure
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Die 5 Leben des AspectJ
Einleitung Die 5 Leben des AspectJ Markus Völter, voelter@acm.org, www.voelter.de Martin Lippert, lippert@acm.org, www.martinlippert.com Aspekte dienen dazu, querschnittliche Belange, sogenannte Cross-Cutting
MehrAnwendung der Aspektorientierung : Security
Seminar AOSD Anwendung der Aspektorientierung : Security Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann 1. Motivation Anwendung der AO: Security 2 Sicherheitsprobleme beim Design und bei der Programmierung
MehrVIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN
Fakultät Informatik Institut für Systemarchitektur, Professur Betriebssysteme VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Henning Schild Dresden, 5.2.2009 Definition Einführung von Abstraktionsschichten
MehrJUnit. Software-Tests
JUnit Software-Tests Übersicht Einleitung JUnit Jia Li Grundlegendes Diana Howey Hendrik Kohrs Praktische Einbindung Benjamin Koch Zili Ye Einleitung in allgemeines Testen Automatische Tests Testen ist
MehrSoftware Engineering für kritische Systeme
Software Engineering für kritische Systeme (v. 31.01.2015) Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV und Fraunhofer Institut für Software- und Systemtechnik, Dortmund http://jan.jurjens.de
MehrPotentiale modellgetriebener Softwareentwicklung
Model Driven Software Development Potentiale modellgetriebener Softwareentwicklung Referent: Hartwig Tödter Seite 2 / 23 Inhaltsverzeichnis 1. Grundideen modellgetriebener Softwareentwicklung 2. Vorteile
MehrTeam Foundation Server & Ranorex Workshop
Tag 1: Testing Fundamentals Der Kurs (Tag) zeigt wie Software Tests in einem "best practice" Ansatz gestaltet werden können. Referenzierend auf den ISTQB gibt es ein "Best off" aus der Gestaltung, Abwicklung,
MehrWer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.
Copyright 2010, MATHEMA Software GmbH 1 Wer bin ich > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.Net > Schwerpunkte Software
MehrSchnelle systematische Entwicklung von Internet-Anwendungen
Schnelle systematische Entwicklung von Internet-Anwendungen Birkenfeld 12. Januar 2001 IESE Fraunhofer Institut Experimentelles Software Engineering Dr. Peter Knauber Sauerwiesen 6 D-67661 Kaiserslautern
MehrSoftware Engineering
Software Engineering Grundlagen, Menschen, Prozesse, Techniken von Jochen Ludewig, Horst Lichter 1. Auflage Software Engineering Ludewig / Lichter schnell und portofrei erhältlich bei beck-shop.de DIE
MehrProgrammverstehen 3: Detailliertes Verständnis. Dr. Thorsten Arendt Marburg, 10. Dezember 2015
Programmverstehen 3: Detailliertes Verständnis Dr. Thorsten Arendt Marburg, 10. Dezember 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2015/2016 Überblick Probleme Auch wenn das
MehrSW-Archäologie mit AOP (Praxisbericht)
SW-Archäologie mit AOP (Praxisbericht) Ausgrabungen vergangener SW-Architekturen 9. Workshop SW-Reengineering Bad Honnef Mail 2007 Oliver.Boehm@agentes.de agentes AG 2006 Aktionäre Pironet NDH AG (Hauptaktionär)
MehrWirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung I/ Software Engineering I Modulnummer
Modulbeschreibung Programmierung I/ Software Engineering I Modulname Programmierung I/ Software Engineering I Modulnummer -1.3 Pflicht-/Wahlpflicht-/ Pflicht Modul-Verantwortlicher Prof. Erich Stein Inhalt/Untermodule
MehrInstitut für Informatik Betriebliche Informationssysteme Graph-basiertes Reengineering
Graph-basiertes Reengineering Seminar Model-Driven Software Development (MDSD) Stefan Sosnicki Agenda 1. Einleitung 2. Begriffsklärung 3. Vorstellung der Werkzeuge 1. Jumli 2. Umodel 3. Fujaba 4. Vergleich
MehrHauptseminar AOSD. Aspektorientierte Programmierung am Beispiel AspectJ
Hauptseminar AOSD Aspektorientierte Programmierung am Beispiel Seite 1 Aspektorientierte Programmierung Umfeld - eine Definition Elemente in Introduction Pointcut Join Point Advice Aspect Errors and Warnings
MehrNeue Funktionen in Innovator 11 R5
Neue Funktionen in Innovator 11 R5 Innovator for Enterprise Architects, Java Harvester und Prüfassistent 12.11.2013 Agenda 1 2 3 Einführung Was ist neu in Innovator 11 R5? Szenario Enterprise Architektur
MehrDie Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal
HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen
MehrVorlesung Software aus Komponenten
Vorlesung Software aus Komponenten 1. Komponenten Markt - Standards Prof. Dr. Hans-Gert Gräbe Wintersemester 2006/07 1 1.3. Komponenten Eigenschaften 4 Haupteigenschaften von Komponenten: eine funktional
MehrSoftwareentwicklungsumgebungen
Softwareentwicklungsumgebungen Pit Pietsch Dipl.-Wirt.-Inform. Universität Siegen Fachgruppe Praktische Informatik Themen 1. SEU / Eclipse 2. Emf Ecore & Model Driven Engineering 3. Model-Repositories
MehrValidierung von System- Architekturen
Validierung von System- Architekturen Westsächsische Hochschule Zwickau, Fachgruppe Informatik André Pflüger, Christian Poßögel Motivation Schwierigkeit: Entwicklung schreitet stetig voran Ergebnisse sind
MehrMDA-Praktikum, Einführung
MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrUse Cases vs. Funktionale Spezifikation
Use Cases vs. Funktionale Spezifikation Ein experimenteller Vergleich zweier Methoden zur Anforderungsspezifikation Fraunhofer IESE: Anne Groß (Anne.Gross@iese.fraunhofer.de) & Jörg Dörr (Joerg.Doerr@iese.fraunhofer.de)
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrVom Wiegen wird die Sau nicht fett: PL/SQL-Qualitätsanalysen
Vom Wiegen wird die Sau nicht fett: PL/SQL-Qualitätsanalysen Dr. Elmar Jürgens TU München & CQSE GmbH München Abstract Für Programmiersprachen wie Java oder C# gibt es eine Vielzahl von Qualitätsanalysen:
MehrAspekt-orientierte Programmierung
Aspekt-orientierte Programmierung Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-01-09 Separation der Interessen Die Separation der Interessen (separation of
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrJ. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST
Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrRefactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag
Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität
MehrDie SOLID-Prinzipien Fünf Grundsätze für bessere Software
ESE Kongress 2014 Vortragsskript: Die SOLID-Prinzipien Fünf Grundsätze für bessere Software Frank Listing, MicroConsult GmbH Die Qualität der Software ist nicht in allen Projekten ideal, und deshalb werden
MehrSystematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015
Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von
MehrMögliche Wege Ihrer Legacy-Applikationen in die Moderne mit Bison Technology. Diego Künzi, Produktmanager Bison Technology, Bison Schweiz AG
Mögliche Wege Ihrer Legacy-Applikationen in die Moderne mit Bison Technology Diego Künzi, Produktmanager Bison Technology, Bison Schweiz AG Inhalt Weshalb Legacy Applikationen modernisieren? Mögliche Strategien
MehrSoftware- und Systementwicklung
Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm
MehrAgiles Testen. Gedankensammlung. 17. November 2013 - Patrick Koglin
Agiles Testen Gedankensammlung 17. November 2013 - Patrick Koglin Inhalt Reflektion: Agilität notwendig? Wo? Eigenschaften agiler Entwicklung Quality is everyone s responsibility Qualität möglich machen
Mehr