SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Wertstoff Software 
Wissenssicherung in (Legacy-) Systemen 
Mag. Michael Moser 
Software Competence Center Hagenberg 
Software Analytics and Evolution 
+43 7236 3343 814 
michael.moser@scch.at 
www.scch.at 
SCCH is an initiative of SCCH is located in
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Fortran-Entwickler gesucht! 
© Software Competence Center Hagenberg GmbH 2
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Fortran-Entwickler gesucht! 
30 – 40 Jahre Softwareentwicklung 
Fachwissen in Software abgelegt 
Physikalische Berechnungen 
Kundenanforderungen 
Fehlende Dokumentation 
Millionen von Fortran-Codezeilen 
Pensionierungswelle in 5 Jahren! 
© Software Competence Center Hagenberg GmbH 3
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Software 
Software 
Software 
Problemkontext 
DK 
Domain Experts 
DK = Domain Knowledge 
IMPLEMENTATION 
require 
Stakeholders 
© Software Competence Center Hagenberg GmbH 4
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Problemkontext 
programs 
DK’ 
Code 
DK 
Domain Experts 
DK = Domain Knowledge 
IMPLEMENTATION 
Software 
Software 
Software 
require 
Stakeholders 
DK 
DK 
© Software Competence Center Hagenberg GmbH 5
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Problemkontext 
programs 
DK’ 
Code 
Software 
developer 
programs 
DK 
Domain Experts 
describes 
Specifications 
read / writes 
DK = Domain Knowledge 
IMPLEMENTATION 
Software 
Software 
Software 
require 
Stakeholders 
DK 
DK’ 
DK 
© Software Competence Center Hagenberg GmbH 6
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
DK 
Domain Experts 
describes 
Specifications 
Software 
Software 
Software 
Uses / Requires 
Stakeholders 
DK 
read / writes 
DK’ 
DK 
build / deploy 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
© Software Competence Center Hagenberg GmbH 7
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Problemkontext 
build / deploy ! 
Code 
Software 
developer 
programs 
Domain Experts 
Specifications 
IMPLEMENTATION SOFTWARE MAINTENANCE 
© Software Competence Center Hagenberg GmbH 
Software 
Software 
Software 
Stakeholders 
DK 
Uses / Requires 
Change 
Management 
request changes 
DK 
describes 
read / writes 
programs 
DK’ 
DK’ 
DK 
! 
Documentation 
DK = Domain Knowledge
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
describes 
! 
Specifications 
Documentation 
DK 
Domain Experts 
Software 
Software 
Software 
Uses / Requires 
? 
! 
Stakeholders 
DK 
DK 
Change 
Management 
build / deploy 
request changes 
read / writes 
DK’ 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
© Software Competence Center Hagenberg GmbH 9
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
describes 
Specifications 
Documentation 
DK 
! 
Domain Experts 
Software 
Software 
Software 
Uses / Requires 
? 
! 
Stakeholders 
DK 
DK 
Change 
Management 
build / deploy 
request changes 
DK’ 
?? 
read / writes 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
© Software Competence Center Hagenberg GmbH 10
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
describes 
Specifications 
Documentation 
DK 
! 
Domain Experts 
Software 
Software 
Software 
Uses / Requires 
? 
! 
Stakeholders 
DK 
DK 
Change 
Management 
build / deploy 
request changes 
DK’ 
?? 
read / writes 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
© Software Competence Center Hagenberg GmbH 11
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
DK 
! 
Domain Experts 
Software 
Software 
Software 
Uses / Requires 
? 
! 
Stakeholders 
DK 
DK 
Change 
Management 
build / deploy 
request changes 
describes 
DK’ 
?? 
Specifications 
Documentation 
read / writes 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
DK’ 
Code’ 
DK 
DK 
build / deploy 
REENGINEERING 
Software 
Software 
Software 
? 
? 
© Software Competence Center Hagenberg GmbH 12
Wertstoff Software 
Wissenssicherung in Legacysystemen 
DK’ 
Code 
Problemkontext 
programs 
Software 
developer 
programs 
DK* 
! 
Domain Experts 
Software 
Software 
Software 
Uses / Requires 
? 
! 
Stakeholders 
DK 
DK 
Change 
Management 
build / deploy 
request changes 
describes 
DK’ 
?? 
Specifications 
Documentation 
read / writes 
DK = Domain Knowledge 
IMPLEMENTATION SOFTWARE MAINTENANCE 
DK’ 
Code’ 
DK 
DK 
build / deploy 
? 
REENGINEERING 
Software 
Software 
Software 
? 
? 
© Software Competence Center Hagenberg GmbH 13
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aussagen aus der Literatur 
© Software Competence Center Hagenberg GmbH 14
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aussagen aus der Literatur 
Schwer zu ändern und warten 
Schwer zu erweitern Unflexibel 
Integration mit anderen System schwierig 
Spezifisch für eine Organisation 
Benötigt veraltete Hardware 
© Software Competence Center Hagenberg GmbH 15
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aussagen aus der Literatur 
Schwer zu ändern und warten 
Schwer zu erweitern Unstrukturiert 
Integration mit anderen System schwierig 
Spezifisch für eine Organisation 
Benötigt veraltete Hardware 
Entscheidend für Unternehmenserfolg 
Lange Lebensdauer 
Großes Risiko bei 
Migration oder Austausch 
Fehlende Dokumentation 
Fehlendes Verständnis 
© Software Competence Center Hagenberg GmbH 16
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
How Legacy Systems are Perceived by IT Professionals 
Ravi Khadka et al., How Do Professionals Perceive 
Legacy Systems and Software Modernization? In 36th 
International Conference on Software Engineering. 
ACM, 2014. 
Nutzen 
Unternehmenskritisch 
Bewährte Technologie 
Verlässliches System 
Performant 
© Software Competence Center Hagenberg GmbH 17
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
How Legacy Systems are Perceived by IT Professionals 
Ravi Khadka et al., How Do Professionals Perceive 
Legacy Systems and Software Modernization? In 36th 
International Conference on Software Engineering. 
ACM, 2014. 
Nutzen 
Unternehmenskritisch 
Bewährte Technologie 
Verlässliches System 
Performant 
Gründe für Modernisierung 
Auf Änderung rasch zu reagieren 
Hohe Wartungskosten 
Fehlendes Wissen 
Fehleranfällig 
© Software Competence Center Hagenberg GmbH 18
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
How Legacy Systems are Perceived by IT Professionals 
Ravi Khadka et al., How Do Professionals Perceive 
Legacy Systems and Software Modernization? In 36th 
International Conference on Software Engineering. 
ACM, 2014. 
Nutzen 
Unternehmenskritisch 
Bewährte Technologie 
Verlässliches System 
Performant 
Gründe für Modernisierung 
Auf Änderung rasch zu reagieren 
Hohe Wartungskosten 
Fehlendes Wissen 
Fehleranfällig 
Herausforderungen bei Modernisierung 
Zeitdruck 
Daten Migration 
Komplexe Architektur 
Fehlendes Wissen 
Schwierig Business Logic zu extrahieren 
Widerstand innerhalb der Organisation 
© Software Competence Center Hagenberg GmbH 19
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
How Legacy Systems are Perceived by IT Professionals 
Ravi Khadka et al., How Do Professionals Perceive 
Legacy Systems and Software Modernization? In 36th 
International Conference on Software Engineering. 
ACM, 2014. 
Nutzen 
Unternehmenskritisch 
Bewährte Technologie 
Verlässliches System 
Performant 
Gründe für Modernisierung 
Auf Änderung rasch zu reagieren 
Hohe Wartungskosten 
Fehlendes Wissen 
Fehleranfällig 
Herausforderungen bei Modernisierung 
Zeitdruck 
Daten Migration 
Komplexe Architektur 
Fehlendes Wissen 
Schwierig Business Logic zu extrahieren 
Widerstand innerhalb der Organisation 
© Software Competence Center Hagenberg GmbH 20
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aus unserer Projekterfahrung 
© Software Competence Center Hagenberg GmbH 21
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aus unserer Projekterfahrung 
Technische u. wissenschaftliche Software 
Fortran, C/C++, PL/SQL 
Komplexe Berechnungen 
Umfangreiche Berechnungen 
Optimiert (Laufzeit, Speicher) 
© Software Competence Center Hagenberg GmbH 22
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Legacy Systeme 
Aus unserer Projekterfahrung 
Technische u. wissenschaftliche Software 
Individueller Code 
Langlebig (über Jahrzehnte) 
Fehlende Dokumentation 
Fortran, C/C++, PL/SQL 
Komplexe Berechnungen 
Umfangreiche Berechnungen 
Optimiert (Laufzeit, Speicher) 
Funktionale Spezifikation gefordert 
© Software Competence Center Hagenberg GmbH 23
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Ziele 
 Lokalisierung von Fachwissen in Programmcode 
 Rekonstruktion von Fachwissen aus Programmcode 
 Fachwissen in für Fachexperten geeigneter Notation ablegen 
 Fachliche Spezifikation für bestehende/neue Software 
FW 
Code 
Extraktion Transformation 
Fachwissen 
Spezifikation 
© Software Competence Center Hagenberg GmbH 24
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Beispiele für Fachwissen 
Finanzprodukte 
Klimamodelle 
Spritzgießverfahren 
Auslegung elekt. Maschinen 
© Software Competence Center Hagenberg GmbH 25
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Ansätze zur Wissenssicherung aus Software 
 Business Rule Extraction, Business Processes Extraction 
 Methoden 
Program Slicing, Pattern Matching, Variable Classification, Control flow 
Analysis, Dependency Mining, Process Mining, Program Trace Generation, 
Execution Pattern Generation, User-System Interaction Analysis, 
Feature Location, ... 
 Automatisierungsgrad 
Manuell, halbautomatisch, automatisch 
 Repäsentationen 
When Employee On Leave is not true, 
Total Salary = Total Salary + Union 
Fees 
NOT A Calculate C = C + B 
IF 
NOT A 
COMPUTE C 
= 
C + B 
011115 IF NOT A THEN 
011116 COMPUTE C = C + B 
011117 ENDIF 
End User 
Data 
Business 
Rule 
Abstract 
Syntax 
Tree 
Source 
Code 
 Intern: Abstract Syntax Trees, Control Flow Graphs, Program Dependency Graphs 
 Ausgabe: Code, Snippets, Text, Snippets, Business Rule Languages, Business 
Process Models, Business Processes Extraction, Entity Relationship Diagrams 
© Software Competence Center Hagenberg GmbH 26
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Unser Ansatz zur Wissenssicherung aus Software 
Fokus auf technische u. 
wissenschaftliche Software 
When Employee On Leave is not true, 
Total Salary = Total Salary + Union 
Fees 
NOT A Calculate C = C + B 
IF 
NOT A 
COMPUTE C 
= 
C + B 
011115 IF NOT A THEN 
011116 COMPUTE C = C + B 
011117 ENDIF 
DO 100 I = 1, N 
A = A + B(I) 
100 CONTINUE 
End User 
Data 
Business 
Rule 
Abstract 
Syntax 
Tree 
Source 
Code 
© Software Competence Center Hagenberg GmbH 27
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Unser Ansatz zur Wissenssicherung aus Software 
Fokus auf technische u. 
wissenschaftliche Software 
Statische Analyse von Source Code 
Generische Repräsentation der 
Programmstruktur (GAST) 
When Employee On Leave is not true, 
Total Salary = Total Salary + Union 
Fees 
NOT A Calculate C = C + B 
IF 
NOT A 
COMPUTE C 
= 
C + B 
011115 IF NOT A THEN 
011116 COMPUTE C = C + B 
011117 ENDIF 
I 1 N 
BODY A 
DO 100 I = 1, N 
A = A + B(I) 
100 CONTINUE 
DO 
= 
A + B(I) 
End User 
Data 
Business 
Rule 
Abstract 
Syntax 
Tree 
Source 
Code 
© Software Competence Center Hagenberg GmbH 28
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Unser Ansatz zur Wissenssicherung aus Software 
Fokus auf technische u. 
wissenschaftliche Software 
Statische Analyse von Source Code 
Generische Repräsentation der 
Programmstruktur (GAST) 
When Employee On Leave is not true, 
Total Salary = Total Salary + Union 
Fees 
NOT A Calculate C = C + B 
IF 
NOT A 
COMPUTE C 
= 
C + B 
011115 IF NOT A THEN 
011116 COMPUTE C = C + B 
011117 ENDIF 
domänenspezifische Modelle 
A = SUM(B, 1, N) 
I 1 N 
BODY A 
DO 100 I = 1, N 
A = A + B(I) 
100 CONTINUE 
DO 
= 
A + B(I) 
End User 
Data 
Business 
Rule 
Abstract 
Syntax 
Tree 
Source 
Code 
Transformation in 
© Software Competence Center Hagenberg GmbH 29
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Unser Ansatz zur Wissenssicherung aus Software 
Fokus auf technische u. 
wissenschaftliche Software 
Statische Analyse von Source Code 
Generische Repräsentation der 
Programmstruktur (GAST) 
When Employee On Leave is not true, 
Total Salary = Total Salary + Union 
Fees 
NOT A Calculate C = C + B 
IF 
NOT A 
COMPUTE C 
= 
C + B 
011115 IF NOT A THEN 
011116 COMPUTE C = C + B 
011117 ENDIF 
domänenspezifische Modelle 
Ausgabe in Notation der Domäne 
퐴 = 
푁 
퐵푖 
1 
A = SUM(B, 1, N) 
I 1 N 
BODY A 
DO 100 I = 1, N 
A = A + B(I) 
100 CONTINUE 
DO 
= 
Mathematische Notation 
A + B(I) 
End User 
Data 
Business 
Rule 
Abstract 
Syntax 
Tree 
Source 
Code 
Transformation in 
© Software Competence Center Hagenberg GmbH 30
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Unser Ansatz zur Wissenssicherung aus Software 
© Software Competence Center Hagenberg GmbH 31
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Einsatzszenarien und Beispiele 
Reverse Engineering mit Fokus auf Redokumentation 
Forward Engineering 
© Software Competence Center Hagenberg GmbH 32
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
Program Documentation 
Technische 
Dokumentation 
Programmcode 
 High writing effort because of redundant data in code and 
Keine Dokumenation verfügbar 
documentation (formula, diagrams) 
 Source code and documentation are out-of-sync over time 
 Documentation not consistent (not formal) 
Hoher Aufwand zur (Re)Dokumentation 
Programmcode und Dokumenation sind nicht synchronisiert 
© Software Competence Center Hagenberg GmbH 33
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
Program Documentation 
Programmcode 
Single Source of Truth 
1. Annotation 
2. Generierung 
Technische 
Dokumentation 
 High writing effort because of redundant data in code and 
Keine Dokumenation verfügbar 
documentation (formula, diagrams) 
 Source code and documentation are out-of-sync over time 
 Documentation not consistent (not formal) 
Hoher Aufwand zur (Re)Dokumentation 
Programmcode und Dokumenation sind nicht synchronisiert 
© Software Competence Center Hagenberg GmbH 34
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
! @section The ... 
! @subsection The ... 
! @p Short text goes here 
! @include{Text.odt} 
! @includegraphics{data.png} 
REAL :: a ! @symbol alpha @text Nominal .. 
REAL :: b ! @symbol U_{eff} @unit kV 
Struktur von Dokumenation 
Einbinden von Text 
Einbinden von Bildern 
Symbole (explicit in LaTeX style) 
double precision AZ2 
double precision AZ4 1:1 Zuweisungen von Variablen 
... 
AZ2 = (ALPHA*Z)**2 
AZ4 = AZ2 * AZ2 
FP = (0.0083*AZ4+0.20206+1./(1.+AZ2) )*AZ2 
FM = (0.0020*AZ4 + 0.0369 ) * AZ4 
GFCOUL = FP – FM 
© Software Competence Center Hagenberg GmbH 35
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
! @section The ... 
! @subsection The ... 
! @p Short text goes here 
! @include{Text.odt} 
! @includegraphics{data.png} 
REAL :: a ! @symbol alpha @text Nominal .. 
REAL :: b ! @symbol U_{eff} @unit kV 
Struktur von Dokumenation 
Einbinden von Text 
Einbinden von Bildern 
Symbole (explicit in LaTeX style) 
double precision AZ2 ! @substitute @suppress 
double precision AZ4 ! @substitute @suppress Unterdrücken von Zuweisungen 
... 
AZ2 = (ALPHA*Z)**2 
AZ4 = AZ2 * AZ2 
FP = (0.0083*AZ4+0.20206+1./(1.+AZ2) )*AZ2 
FM = (0.0020*AZ4 + 0.0369 ) * AZ4 
GFCOUL = FP – FM 
© Software Competence Center Hagenberg GmbH 36
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
geschlossene 
Formeln 
© Software Competence Center Hagenberg GmbH 37
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
Entscheidungs-tabelle 
© Software Competence Center Hagenberg GmbH 38
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
Diagramme 
© Software Competence Center Hagenberg GmbH 39
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Redokumentation 
Werkzeug-unterstützung 
© Software Competence Center Hagenberg GmbH 40
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Spezifikation 
(handgeschrieben) 
41 
© Software Competence Center Hagenberg GmbH 
Programmcode 
Szenario – Forward Engineering
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Forward Engineering 
Spezifikation 
(handgeschrieben) 
42 
© Software Competence Center Hagenberg GmbH 
Programmcode 
Implementiert Code, diese Formel?
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Forward Engineering 
Platzhalter für Symbole / Variablen 
{var Q_w_flk} 
Platzhalter für Gleichungen 
© Software Competence Center Hagenberg GmbH 
Symbol definintions symbols.txt 
@var pi @symbol pi @text pi 
@var sig_m @symbol sigma{N} @text Normal stress 
@var Q_w_flk @symbol Q* @text The generali 
@var n_vec @symbol N @text The normal v 
Verwendung von Symbolersetztungsdatei 
Annotation von Gleichungen
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Szenario – Forward Engineering 
.docx .sources .pdf 
Parser / Analyzer / Documentation Generator 
© Software Competence Center Hagenberg GmbH 44
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Analyse von 
Programmcode 
Evolution von 
Software 
Generierung von 
Dokumentation 
Spezifikation und 
Modellierung 
© Software Competence Center Hagenberg GmbH 45
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Take Aways 
© Software Competence Center Hagenberg GmbH 46
Wertstoff Software 
Wissenssicherung in Legacysystemen 
Danke. 
Mag. Michael Moser 
Software Competence Center Hagenberg 
Software Analytics and Evolution 
+43 7236 3343 - 814 
michael.moser@scch.at 
www.scch.at 
© Software Competence Center Hagenberg GmbH 47

Weitere ähnliche Inhalte

Andere mochten auch

Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungAndreas Schreiber
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social SoftwareGPMS
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines AosdCédric WILLIAMSON
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk AG
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementALTAIDE
 
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...styropor
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenMatthias Stürmer
 
Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Matthias Stürmer
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Club Alliances
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando CódigosRafael Rosa
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...Ayelt Komus
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Social Software Im Unternehmen
Social Software Im UnternehmenSocial Software Im Unternehmen
Social Software Im UnternehmenHelmut Nagy
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010MD DAY
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi SaaS Guru
 
Torsten Grote: Freie Software
Torsten Grote: Freie SoftwareTorsten Grote: Freie Software
Torsten Grote: Freie SoftwareStefanMz
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...ljaquet
 

Andere mochten auch (20)

Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)Forschung
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social Software
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
 
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
 
Lm software
Lm softwareLm software
Lm software
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimieren
 
Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Social Software Im Unternehmen
Social Software Im UnternehmenSocial Software Im Unternehmen
Social Software Im Unternehmen
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010
 
FABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriertFABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriert
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi
 
Slide Lewis Chimarro
Slide   Lewis ChimarroSlide   Lewis Chimarro
Slide Lewis Chimarro
 
Torsten Grote: Freie Software
Torsten Grote: Freie SoftwareTorsten Grote: Freie Software
Torsten Grote: Freie Software
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
 

Ähnlich wie Wertstoff Software - Wissenssicherung in Legacy-Systemen

ITEGIA Performance-Optimierung
ITEGIA Performance-OptimierungITEGIA Performance-Optimierung
ITEGIA Performance-OptimierungPeter Schrey
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1DNUG e.V.
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteQAware GmbH
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der PraxisMichael Mirold
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Dynatrace
 
KEGON Unternehmensdarstellung
KEGON UnternehmensdarstellungKEGON Unternehmensdarstellung
KEGON UnternehmensdarstellungKEGON AG
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
BCC: Angebot fuer Anbieter von ergaenzenden SAP-Loesungen
BCC: Angebot fuer Anbieter von ergaenzenden SAP-LoesungenBCC: Angebot fuer Anbieter von ergaenzenden SAP-Loesungen
BCC: Angebot fuer Anbieter von ergaenzenden SAP-LoesungenBCC_Group
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsacentrix GmbH
 
Condition Monitoring, Produktionseffizienz, Traceability.
Condition Monitoring, Produktionseffizienz, Traceability.Condition Monitoring, Produktionseffizienz, Traceability.
Condition Monitoring, Produktionseffizienz, Traceability.ifm electronic gmbh
 

Ähnlich wie Wertstoff Software - Wissenssicherung in Legacy-Systemen (20)

ITEGIA Performance-Optimierung
ITEGIA Performance-OptimierungITEGIA Performance-Optimierung
ITEGIA Performance-Optimierung
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Syntegris Unternehmensprofil
Syntegris UnternehmensprofilSyntegris Unternehmensprofil
Syntegris Unternehmensprofil
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Managed GNU/Linux Servers
Managed GNU/Linux ServersManaged GNU/Linux Servers
Managed GNU/Linux Servers
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 
Moss2009
Moss2009Moss2009
Moss2009
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Heicon global engineering
Heicon global engineeringHeicon global engineering
Heicon global engineering
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
 
KEGON Unternehmensdarstellung
KEGON UnternehmensdarstellungKEGON Unternehmensdarstellung
KEGON Unternehmensdarstellung
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
BCC: Angebot fuer Anbieter von ergaenzenden SAP-Loesungen
BCC: Angebot fuer Anbieter von ergaenzenden SAP-LoesungenBCC: Angebot fuer Anbieter von ergaenzenden SAP-Loesungen
BCC: Angebot fuer Anbieter von ergaenzenden SAP-Loesungen
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Zinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.deZinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.de
 
Condition Monitoring, Produktionseffizienz, Traceability.
Condition Monitoring, Produktionseffizienz, Traceability.Condition Monitoring, Produktionseffizienz, Traceability.
Condition Monitoring, Produktionseffizienz, Traceability.
 

Wertstoff Software - Wissenssicherung in Legacy-Systemen

  • 1. Wertstoff Software Wissenssicherung in (Legacy-) Systemen Mag. Michael Moser Software Competence Center Hagenberg Software Analytics and Evolution +43 7236 3343 814 michael.moser@scch.at www.scch.at SCCH is an initiative of SCCH is located in
  • 2. Wertstoff Software Wissenssicherung in Legacysystemen Fortran-Entwickler gesucht! © Software Competence Center Hagenberg GmbH 2
  • 3. Wertstoff Software Wissenssicherung in Legacysystemen Fortran-Entwickler gesucht! 30 – 40 Jahre Softwareentwicklung Fachwissen in Software abgelegt Physikalische Berechnungen Kundenanforderungen Fehlende Dokumentation Millionen von Fortran-Codezeilen Pensionierungswelle in 5 Jahren! © Software Competence Center Hagenberg GmbH 3
  • 4. Wertstoff Software Wissenssicherung in Legacysystemen Software Software Software Problemkontext DK Domain Experts DK = Domain Knowledge IMPLEMENTATION require Stakeholders © Software Competence Center Hagenberg GmbH 4
  • 5. Wertstoff Software Wissenssicherung in Legacysystemen Problemkontext programs DK’ Code DK Domain Experts DK = Domain Knowledge IMPLEMENTATION Software Software Software require Stakeholders DK DK © Software Competence Center Hagenberg GmbH 5
  • 6. Wertstoff Software Wissenssicherung in Legacysystemen Problemkontext programs DK’ Code Software developer programs DK Domain Experts describes Specifications read / writes DK = Domain Knowledge IMPLEMENTATION Software Software Software require Stakeholders DK DK’ DK © Software Competence Center Hagenberg GmbH 6
  • 7. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs DK Domain Experts describes Specifications Software Software Software Uses / Requires Stakeholders DK read / writes DK’ DK build / deploy DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE © Software Competence Center Hagenberg GmbH 7
  • 8. Wertstoff Software Wissenssicherung in Legacysystemen Problemkontext build / deploy ! Code Software developer programs Domain Experts Specifications IMPLEMENTATION SOFTWARE MAINTENANCE © Software Competence Center Hagenberg GmbH Software Software Software Stakeholders DK Uses / Requires Change Management request changes DK describes read / writes programs DK’ DK’ DK ! Documentation DK = Domain Knowledge
  • 9. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs describes ! Specifications Documentation DK Domain Experts Software Software Software Uses / Requires ? ! Stakeholders DK DK Change Management build / deploy request changes read / writes DK’ DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE © Software Competence Center Hagenberg GmbH 9
  • 10. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs describes Specifications Documentation DK ! Domain Experts Software Software Software Uses / Requires ? ! Stakeholders DK DK Change Management build / deploy request changes DK’ ?? read / writes DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE © Software Competence Center Hagenberg GmbH 10
  • 11. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs describes Specifications Documentation DK ! Domain Experts Software Software Software Uses / Requires ? ! Stakeholders DK DK Change Management build / deploy request changes DK’ ?? read / writes DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE © Software Competence Center Hagenberg GmbH 11
  • 12. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs DK ! Domain Experts Software Software Software Uses / Requires ? ! Stakeholders DK DK Change Management build / deploy request changes describes DK’ ?? Specifications Documentation read / writes DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE DK’ Code’ DK DK build / deploy REENGINEERING Software Software Software ? ? © Software Competence Center Hagenberg GmbH 12
  • 13. Wertstoff Software Wissenssicherung in Legacysystemen DK’ Code Problemkontext programs Software developer programs DK* ! Domain Experts Software Software Software Uses / Requires ? ! Stakeholders DK DK Change Management build / deploy request changes describes DK’ ?? Specifications Documentation read / writes DK = Domain Knowledge IMPLEMENTATION SOFTWARE MAINTENANCE DK’ Code’ DK DK build / deploy ? REENGINEERING Software Software Software ? ? © Software Competence Center Hagenberg GmbH 13
  • 14. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aussagen aus der Literatur © Software Competence Center Hagenberg GmbH 14
  • 15. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aussagen aus der Literatur Schwer zu ändern und warten Schwer zu erweitern Unflexibel Integration mit anderen System schwierig Spezifisch für eine Organisation Benötigt veraltete Hardware © Software Competence Center Hagenberg GmbH 15
  • 16. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aussagen aus der Literatur Schwer zu ändern und warten Schwer zu erweitern Unstrukturiert Integration mit anderen System schwierig Spezifisch für eine Organisation Benötigt veraltete Hardware Entscheidend für Unternehmenserfolg Lange Lebensdauer Großes Risiko bei Migration oder Austausch Fehlende Dokumentation Fehlendes Verständnis © Software Competence Center Hagenberg GmbH 16
  • 17. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme How Legacy Systems are Perceived by IT Professionals Ravi Khadka et al., How Do Professionals Perceive Legacy Systems and Software Modernization? In 36th International Conference on Software Engineering. ACM, 2014. Nutzen Unternehmenskritisch Bewährte Technologie Verlässliches System Performant © Software Competence Center Hagenberg GmbH 17
  • 18. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme How Legacy Systems are Perceived by IT Professionals Ravi Khadka et al., How Do Professionals Perceive Legacy Systems and Software Modernization? In 36th International Conference on Software Engineering. ACM, 2014. Nutzen Unternehmenskritisch Bewährte Technologie Verlässliches System Performant Gründe für Modernisierung Auf Änderung rasch zu reagieren Hohe Wartungskosten Fehlendes Wissen Fehleranfällig © Software Competence Center Hagenberg GmbH 18
  • 19. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme How Legacy Systems are Perceived by IT Professionals Ravi Khadka et al., How Do Professionals Perceive Legacy Systems and Software Modernization? In 36th International Conference on Software Engineering. ACM, 2014. Nutzen Unternehmenskritisch Bewährte Technologie Verlässliches System Performant Gründe für Modernisierung Auf Änderung rasch zu reagieren Hohe Wartungskosten Fehlendes Wissen Fehleranfällig Herausforderungen bei Modernisierung Zeitdruck Daten Migration Komplexe Architektur Fehlendes Wissen Schwierig Business Logic zu extrahieren Widerstand innerhalb der Organisation © Software Competence Center Hagenberg GmbH 19
  • 20. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme How Legacy Systems are Perceived by IT Professionals Ravi Khadka et al., How Do Professionals Perceive Legacy Systems and Software Modernization? In 36th International Conference on Software Engineering. ACM, 2014. Nutzen Unternehmenskritisch Bewährte Technologie Verlässliches System Performant Gründe für Modernisierung Auf Änderung rasch zu reagieren Hohe Wartungskosten Fehlendes Wissen Fehleranfällig Herausforderungen bei Modernisierung Zeitdruck Daten Migration Komplexe Architektur Fehlendes Wissen Schwierig Business Logic zu extrahieren Widerstand innerhalb der Organisation © Software Competence Center Hagenberg GmbH 20
  • 21. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aus unserer Projekterfahrung © Software Competence Center Hagenberg GmbH 21
  • 22. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aus unserer Projekterfahrung Technische u. wissenschaftliche Software Fortran, C/C++, PL/SQL Komplexe Berechnungen Umfangreiche Berechnungen Optimiert (Laufzeit, Speicher) © Software Competence Center Hagenberg GmbH 22
  • 23. Wertstoff Software Wissenssicherung in Legacysystemen Legacy Systeme Aus unserer Projekterfahrung Technische u. wissenschaftliche Software Individueller Code Langlebig (über Jahrzehnte) Fehlende Dokumentation Fortran, C/C++, PL/SQL Komplexe Berechnungen Umfangreiche Berechnungen Optimiert (Laufzeit, Speicher) Funktionale Spezifikation gefordert © Software Competence Center Hagenberg GmbH 23
  • 24. Wertstoff Software Wissenssicherung in Legacysystemen Ziele  Lokalisierung von Fachwissen in Programmcode  Rekonstruktion von Fachwissen aus Programmcode  Fachwissen in für Fachexperten geeigneter Notation ablegen  Fachliche Spezifikation für bestehende/neue Software FW Code Extraktion Transformation Fachwissen Spezifikation © Software Competence Center Hagenberg GmbH 24
  • 25. Wertstoff Software Wissenssicherung in Legacysystemen Beispiele für Fachwissen Finanzprodukte Klimamodelle Spritzgießverfahren Auslegung elekt. Maschinen © Software Competence Center Hagenberg GmbH 25
  • 26. Wertstoff Software Wissenssicherung in Legacysystemen Ansätze zur Wissenssicherung aus Software  Business Rule Extraction, Business Processes Extraction  Methoden Program Slicing, Pattern Matching, Variable Classification, Control flow Analysis, Dependency Mining, Process Mining, Program Trace Generation, Execution Pattern Generation, User-System Interaction Analysis, Feature Location, ...  Automatisierungsgrad Manuell, halbautomatisch, automatisch  Repäsentationen When Employee On Leave is not true, Total Salary = Total Salary + Union Fees NOT A Calculate C = C + B IF NOT A COMPUTE C = C + B 011115 IF NOT A THEN 011116 COMPUTE C = C + B 011117 ENDIF End User Data Business Rule Abstract Syntax Tree Source Code  Intern: Abstract Syntax Trees, Control Flow Graphs, Program Dependency Graphs  Ausgabe: Code, Snippets, Text, Snippets, Business Rule Languages, Business Process Models, Business Processes Extraction, Entity Relationship Diagrams © Software Competence Center Hagenberg GmbH 26
  • 27. Wertstoff Software Wissenssicherung in Legacysystemen Unser Ansatz zur Wissenssicherung aus Software Fokus auf technische u. wissenschaftliche Software When Employee On Leave is not true, Total Salary = Total Salary + Union Fees NOT A Calculate C = C + B IF NOT A COMPUTE C = C + B 011115 IF NOT A THEN 011116 COMPUTE C = C + B 011117 ENDIF DO 100 I = 1, N A = A + B(I) 100 CONTINUE End User Data Business Rule Abstract Syntax Tree Source Code © Software Competence Center Hagenberg GmbH 27
  • 28. Wertstoff Software Wissenssicherung in Legacysystemen Unser Ansatz zur Wissenssicherung aus Software Fokus auf technische u. wissenschaftliche Software Statische Analyse von Source Code Generische Repräsentation der Programmstruktur (GAST) When Employee On Leave is not true, Total Salary = Total Salary + Union Fees NOT A Calculate C = C + B IF NOT A COMPUTE C = C + B 011115 IF NOT A THEN 011116 COMPUTE C = C + B 011117 ENDIF I 1 N BODY A DO 100 I = 1, N A = A + B(I) 100 CONTINUE DO = A + B(I) End User Data Business Rule Abstract Syntax Tree Source Code © Software Competence Center Hagenberg GmbH 28
  • 29. Wertstoff Software Wissenssicherung in Legacysystemen Unser Ansatz zur Wissenssicherung aus Software Fokus auf technische u. wissenschaftliche Software Statische Analyse von Source Code Generische Repräsentation der Programmstruktur (GAST) When Employee On Leave is not true, Total Salary = Total Salary + Union Fees NOT A Calculate C = C + B IF NOT A COMPUTE C = C + B 011115 IF NOT A THEN 011116 COMPUTE C = C + B 011117 ENDIF domänenspezifische Modelle A = SUM(B, 1, N) I 1 N BODY A DO 100 I = 1, N A = A + B(I) 100 CONTINUE DO = A + B(I) End User Data Business Rule Abstract Syntax Tree Source Code Transformation in © Software Competence Center Hagenberg GmbH 29
  • 30. Wertstoff Software Wissenssicherung in Legacysystemen Unser Ansatz zur Wissenssicherung aus Software Fokus auf technische u. wissenschaftliche Software Statische Analyse von Source Code Generische Repräsentation der Programmstruktur (GAST) When Employee On Leave is not true, Total Salary = Total Salary + Union Fees NOT A Calculate C = C + B IF NOT A COMPUTE C = C + B 011115 IF NOT A THEN 011116 COMPUTE C = C + B 011117 ENDIF domänenspezifische Modelle Ausgabe in Notation der Domäne 퐴 = 푁 퐵푖 1 A = SUM(B, 1, N) I 1 N BODY A DO 100 I = 1, N A = A + B(I) 100 CONTINUE DO = Mathematische Notation A + B(I) End User Data Business Rule Abstract Syntax Tree Source Code Transformation in © Software Competence Center Hagenberg GmbH 30
  • 31. Wertstoff Software Wissenssicherung in Legacysystemen Unser Ansatz zur Wissenssicherung aus Software © Software Competence Center Hagenberg GmbH 31
  • 32. Wertstoff Software Wissenssicherung in Legacysystemen Einsatzszenarien und Beispiele Reverse Engineering mit Fokus auf Redokumentation Forward Engineering © Software Competence Center Hagenberg GmbH 32
  • 33. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation Program Documentation Technische Dokumentation Programmcode  High writing effort because of redundant data in code and Keine Dokumenation verfügbar documentation (formula, diagrams)  Source code and documentation are out-of-sync over time  Documentation not consistent (not formal) Hoher Aufwand zur (Re)Dokumentation Programmcode und Dokumenation sind nicht synchronisiert © Software Competence Center Hagenberg GmbH 33
  • 34. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation Program Documentation Programmcode Single Source of Truth 1. Annotation 2. Generierung Technische Dokumentation  High writing effort because of redundant data in code and Keine Dokumenation verfügbar documentation (formula, diagrams)  Source code and documentation are out-of-sync over time  Documentation not consistent (not formal) Hoher Aufwand zur (Re)Dokumentation Programmcode und Dokumenation sind nicht synchronisiert © Software Competence Center Hagenberg GmbH 34
  • 35. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation ! @section The ... ! @subsection The ... ! @p Short text goes here ! @include{Text.odt} ! @includegraphics{data.png} REAL :: a ! @symbol alpha @text Nominal .. REAL :: b ! @symbol U_{eff} @unit kV Struktur von Dokumenation Einbinden von Text Einbinden von Bildern Symbole (explicit in LaTeX style) double precision AZ2 double precision AZ4 1:1 Zuweisungen von Variablen ... AZ2 = (ALPHA*Z)**2 AZ4 = AZ2 * AZ2 FP = (0.0083*AZ4+0.20206+1./(1.+AZ2) )*AZ2 FM = (0.0020*AZ4 + 0.0369 ) * AZ4 GFCOUL = FP – FM © Software Competence Center Hagenberg GmbH 35
  • 36. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation ! @section The ... ! @subsection The ... ! @p Short text goes here ! @include{Text.odt} ! @includegraphics{data.png} REAL :: a ! @symbol alpha @text Nominal .. REAL :: b ! @symbol U_{eff} @unit kV Struktur von Dokumenation Einbinden von Text Einbinden von Bildern Symbole (explicit in LaTeX style) double precision AZ2 ! @substitute @suppress double precision AZ4 ! @substitute @suppress Unterdrücken von Zuweisungen ... AZ2 = (ALPHA*Z)**2 AZ4 = AZ2 * AZ2 FP = (0.0083*AZ4+0.20206+1./(1.+AZ2) )*AZ2 FM = (0.0020*AZ4 + 0.0369 ) * AZ4 GFCOUL = FP – FM © Software Competence Center Hagenberg GmbH 36
  • 37. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation geschlossene Formeln © Software Competence Center Hagenberg GmbH 37
  • 38. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation Entscheidungs-tabelle © Software Competence Center Hagenberg GmbH 38
  • 39. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation Diagramme © Software Competence Center Hagenberg GmbH 39
  • 40. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Redokumentation Werkzeug-unterstützung © Software Competence Center Hagenberg GmbH 40
  • 41. Wertstoff Software Wissenssicherung in Legacysystemen Spezifikation (handgeschrieben) 41 © Software Competence Center Hagenberg GmbH Programmcode Szenario – Forward Engineering
  • 42. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Forward Engineering Spezifikation (handgeschrieben) 42 © Software Competence Center Hagenberg GmbH Programmcode Implementiert Code, diese Formel?
  • 43. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Forward Engineering Platzhalter für Symbole / Variablen {var Q_w_flk} Platzhalter für Gleichungen © Software Competence Center Hagenberg GmbH Symbol definintions symbols.txt @var pi @symbol pi @text pi @var sig_m @symbol sigma{N} @text Normal stress @var Q_w_flk @symbol Q* @text The generali @var n_vec @symbol N @text The normal v Verwendung von Symbolersetztungsdatei Annotation von Gleichungen
  • 44. Wertstoff Software Wissenssicherung in Legacysystemen Szenario – Forward Engineering .docx .sources .pdf Parser / Analyzer / Documentation Generator © Software Competence Center Hagenberg GmbH 44
  • 45. Wertstoff Software Wissenssicherung in Legacysystemen Analyse von Programmcode Evolution von Software Generierung von Dokumentation Spezifikation und Modellierung © Software Competence Center Hagenberg GmbH 45
  • 46. Wertstoff Software Wissenssicherung in Legacysystemen Take Aways © Software Competence Center Hagenberg GmbH 46
  • 47. Wertstoff Software Wissenssicherung in Legacysystemen Danke. Mag. Michael Moser Software Competence Center Hagenberg Software Analytics and Evolution +43 7236 3343 - 814 michael.moser@scch.at www.scch.at © Software Competence Center Hagenberg GmbH 47