Vorlesung Software-Reengineering

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Software-Reengineering"

Transkript

1 Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2005/06 Überblick I 1

2 1 Über diese Folien Lernziele Reengineering Kontext Programm-Visualisierung Statische Programm-Visualisierung Dynamische Programm-Visualisierung Visualisierung von Metriken Klassenblaupause Evolutionäre Aspekte Zusammenfassung Wiederholungsfragen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Über diese Folien Diese Folien entstammen einer Präsentation von Michele Lanza (Universität Bern), mit dessen freundlicher Genehmigung. Die Unterschiede zum Original sind: Übersetzung ins Deutsche Kleinere Restrukturierungen und Verkürzungen Zusatz Spektrograph (Courtesy Jingwei Wu, Richard C. Holt, Ahmed Hassan, University of Waterloo, Canada) Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

3 Software-Visualisierung I Lernziele Software-Visualisierung in einem Reengineering-Kontext Statische Code-Visualisierung Dynamische Code-Visualisierung Visualisierung von Metriken Visualisierung der Evolution Leichtgewichtige Ansätze Kontext Reengineering ist meist interaktiv Große Datenmengen müssen verstanden werden Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Software-Visualisierung II Software Visualization is the use of the crafts of typography, graphic design, animation, and cinematography with modern human-computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software. Price, Baecker and Small, Introduction to Software Visualization Software is intangible, having no physical shape or size. Software visualisation tools use graphical techniques to make software visible by displaying programs, program artifacts and program behaviour. Thomas Ball Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

4 SV im Reengineering-Kontext Ziele: Reduktion der Komplexität Herausforderungen: Skalierbarkeit Aufgabenabhängigkeit der Visualisierung Art der Visualisierung Begrenzte Ressourcen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Programm-Visualisierung Program visualization is the visualization of the actual program code or data structures in either static or dynamic form. [Price, Baecker und Small] Gebiete Statische Programm-Visualisierung Dynamische Programm-Visualisierung Aufgaben Verschiedene Sichten generieren Inferenzen ermöglichen Spezifische Probleme (aktives Forschungsgebiet) Effiziente Ausnutzung des Platzes, Kantenüberschneidungen, Layout-Probleme, Fokus, Human-Computer-Interaction,... Keine Konventionen (Farben, Symbole, Interpretation,... ) Granularität? Ganze System, Subsysteme, Module, Klassen, Hierarchien,... Wofür, wie und wann anzuwenden? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

5 Statische Programm-Visualisierung Visualisierung von Information, die statisch abgeleitet ist. Hängt von Sprache und Sprachparadigma ab: objektorientierte Sprachen: Klassen, Methoden, Attribute, Vererbung,... prozedurale Sprachen: Prozeduren, Aufrufe, Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Klassendiagramme I Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

6 Klassendiagramme II (wie von herkömmlichen CASE-Werkzeugen dargestellt... ) Vorteile: Stellen objektorientierte Konzepte dar Geeignet für kleine Ausschnitte Nachteile: Skalieren nicht Benötigen Filter für relevante Informationen Nur voreingestellte Sichten Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Beispiel 1a: Rigi Entity-Relationship- Visualisierung generische Präsentation durch typisierte Graphen Probleme: Filterung Navigation Skalierbarkeit Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

7 Beispiel 1b: Rigi Entities können gruppiert werden Vorteile: Skaliert besser generisch Nachteile: Wenig Programmiersprachensemantik Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Beispiel 2: Klassen-Hierarchien Jun/OpenGL Smalltalk Klassenhierarchie Probleme: Keine weitere Bedeutung der Farbe Überladen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

8 Beispiel 3: Tree Maps Vorteile: hierarchisch (m.e.) 100% Raumnutzung skaliert Nachteile: Grenzen Wirres Bild Interpretation Nur Blätter Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Beispiele 4 und 5 Euklidische Kegel Vorteile: Nutzen dritte Dimension Nachteile: Mangelnde Tiefe Navigation Hyperbolische Bäume Vorteile: Fokus ist wählbar Dynamisch Nachteile: Copyright Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

9 Dynamische Programm-Visualisierung Visualisierung dynamischen Verhaltens Ausführungs-Trace Ressourcenverbrauch (Speicher/Laufzeit) Objekt-Interaktion... Schritte: 1 Code-Instrumentierung 2 Gewinnung der Laufzeitinformation 3 Auswertung der Laufzeitinformation 4 Visualisierung der Auswertung Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Beispiel 1: JInsight Visualisierung von Ausführungs-Traces Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

10 Beispiel 2: Aufrufmatrix für Klassen einfach skaliert reproduzierbar Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Dynamische SV: Probleme Code-Instrumentierungsproblem Logging, erweiterte Virtual Machines, Method-Wrapping Skalierbarkeitsproblem Fülle der Details Traces werden sehr schnell enorm groß Vollständigkeitsproblem Information gilt nur für betrachtete Szenarien Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

11 Visualisierung von Metriken Kombination von Metriken und Software-Visualisierung Graph-Repräsentation Bis zu fünf Metriken bestimmen die Visualisierung der Knoten: Größe (1+2) Farbe (3) Position (4+5) Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 System Complexity View Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

12 Method Efficiency Correlation View Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Inheritance Classification View Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

13 Data Storage Class Detection View Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Granularitätsproblem Hübsch... aber was verbirgt sich dahinter? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

14 Klassenblaupause Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Semantische Information Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

15 Kategorisierung von Klassen Basiert auf Klassenblaupausen Zwei Perspektiven: Einzelne Klasse Vererbungskontext Klassenblaupause für jede einzelne Klasse Sind als Baum angeordnet Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Klassenblaupause: Data Storage Viele Attribute Kann viele Zugriffsoperationen haben (Accessors) Harmloses Verhalten Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

16 Klassenblaupause: Wide Interface Viele Methoden in der Schnittstelle Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Klassenblaupause: Large Implementation Geschachtelte Aufrufstruktur Viele Methoden Hohe Komplexität Breite Schnittstelle Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

17 Evolutionäre Aspekte Die Gegenwart ist oft verständlicher, wenn man die Vergangenheit kennt. Betrachtung von Aspekten des Systems über die Zeit. Metrikwerte können besser eingeschätzt werden. Erlaubt, Trends auszumachen. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Evolutionsmatrix Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

18 Kategorisierung von Klassen anhand der Evolutionsmatrix Dargestellte Metriken für Klassen: NOM (number of methods) NOA (number of attributes) Kategorisierung anhand der individuellen Evolution und der System-Evolution : Pulsar Supernova Weißer Zwerg Roter Riese Dornröschen Eintagsfliege Methusalem Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Pulsar & Supernova Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

19 Weißer Zwerg, Roter Riese, Dornröschen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Eintagsfliege & Methusalem Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

20 Fallstudie MooseFinder (38 Versionen) Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Spektrograph x-achse: Zeit; y-achse: Softwareeinheit; Farbe: #commits Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

21 Vorlesung Software-Reengineering Evolutionäre Aspekte Spektrograph Spektrograph x-achse: Zeit; y-achse: Softwareeinheit; Farbe: #commits Courtesy Jingwei Wu, Richard C. Holt, Ahmed Hassan, University of Waterloo, Canada Färbung im Spektrograph linearer Gradient exponentieller Gradient Stufen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

22 Software-Visualisierung I SV ist unabdingbar im Reengineering-Kontext Match-Mismatch-Hypothese: problem-solving performance depends on whether the structure of a problem is matched by the structure of a notation Gilmore und Green Jede SV betont bestimmte Information und vernachlässigt andere Information. Geeignete SV ist abhängig von der zu lösenden Aufgabe. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Software-Visualisierung II Alphabetismus der SV Wie drücke ich es aus? Wie interpretiere ich es? Vieles noch in der Forschung, wenig in kommerziellen Werkzeugen Software-Wahrnehmung: Andere menschliche Sinne werden genutzt Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

23 Literatur Object-Oriented Reverse Engineering - Coarse-grained, Fine-grained, and Evolutionary Software Visualization, Dissertation, Michele Lanza http: // lanza/information/information.html Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47 Wiederholungs- und Vertiefungsfragen I Wofür eignen sich Tree Maps und wie sind sie zu interpretieren? Welche Probleme gibt es bei der Visualisierung dynamischer Daten? Wie lassen sich Metriken visualisieren? Was ist eine Klassenblaupause? Wie lassen sich damit Klassen charakterisieren? Welche zusätzlichen Aspekte lassen sich durch die Visualisierung evolutionärer Daten gewinnen? Was sagt die Match-Mismatch-Hypothese (Gilmore und Green) aus? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

24 Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2005/ / 47

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Software-Visualisierung

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2012/13 Überblick I Software-Visualisierung

Mehr

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS Master Seminar Empirical Software Engineering Anuradha Ganapathi Rathnachalam Institut für Informatik Software & Systems Engineering Agenda Introduction

Mehr

Graph Visualisierung und Navigation. PG478 Open Graph Drawing Framework Martin Gronemann

Graph Visualisierung und Navigation. PG478 Open Graph Drawing Framework Martin Gronemann Graph Visualisierung und Navigation PG478 Open Graph Drawing Framework Martin Gronemann Übersicht 1. Anwendungsgebiete 2. Layouttechniken 3. Klassische Werkzeuge der Navigation Zoom & Pan Joint pan-zoom

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 4 Modellierungssprachen Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind für den persönlichen,

Mehr

Semantik-Visualisierung

Semantik-Visualisierung Semantik-Visualisierung 2. Potsdamer I-Science Tag Dirk Burkhardt Fraunhofer IGD Abteilung Echtzeitlösungen für Simulation und Visual Analytics Fraunhoferstraße 5 64283 Darmstadt Germany Tel. +49 (0)6151

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. R. Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2005/06 Überblick I 1 Blatt 2 1 Blatt 2 A 2.1:

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Entwurfsmuster Entwurfsmuster: Entwurfsmuster

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

32. Werkzeuge zur Visualisierung

32. Werkzeuge zur Visualisierung 32. Werkzeuge zur Visualisierung Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de

Mehr

JPlus Platform Independent Learning with Environmental Information in School

JPlus Platform Independent Learning with Environmental Information in School JPlus Platform Independent Learning with Environmental Information in School Mario Härtwig, Pierre Karrasch Salzburg, 7. Juli 2010 Genesis Umweltmonitoring als Beitrag zur Umweltbildung an Schulen. Kulturlandschaftsentwicklung

Mehr

Was ist Wartung und welche vier Arten der Wartung unterscheidet die Norm ISO/IEC 12207? Wie lautet die Regel von Boehm? (ein Beispiel ausrechnen)

Was ist Wartung und welche vier Arten der Wartung unterscheidet die Norm ISO/IEC 12207? Wie lautet die Regel von Boehm? (ein Beispiel ausrechnen) 1.99 Fragen zu: Software-Wartung Was ist Wartung und welche vier Arten der Wartung unterscheidet die Norm ISO/IEC 12207? Welche Qualitätseigenschaften erhöhen (Ihrer Auffassung nach) die Wartbarkeit und

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2011/12 Überblick I Refactoring Code-Transformationen:

Mehr

Web 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) 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

Mehr

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE Was bedeutet NoSQL? Ein Sammelbegriff für alternative Datenbanklösungen, die

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2007 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen

Mehr

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen

Mehr

Informatik 1. Informatik 1. Wolfgang Schreiner Engineering für Computer-basiertes Lernen Fachhochschule Hagenberg

Informatik 1. Informatik 1. Wolfgang Schreiner Engineering für Computer-basiertes Lernen Fachhochschule Hagenberg Informatik 1 Wolfgang Schreiner Engineering für Computer-basiertes Lernen Fachhochschule Hagenberg [email protected] http://cbl.fhs.hagenberg.ac.at/ schreine Wolfgang Schreiner FH

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria [email protected] http://www.risc.jku.at Wolfgang

Mehr

Inhalte des Moduls Programmieren 1

Inhalte des Moduls Programmieren 1 Inhalte des Moduls Programmieren 1 Einführung: Algorithmus und Programm, Programmiersprache Erste Schritte in Java Grundlagen der Sprache: Datentypen, Ausdrücke und Anweisungen, imperative Programmierung

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Greenfoot. Agenda. Axel Schmolitzky. Vorstellungsrunde. Hintergrund von Greenfoot: BlueJ. Greenfoot Demo. Greenfoot theoretisch. Greenfoot Szenarien

Greenfoot. Agenda. Axel Schmolitzky. Vorstellungsrunde. Hintergrund von Greenfoot: BlueJ. Greenfoot Demo. Greenfoot theoretisch. Greenfoot Szenarien Greenfoot Axel Schmolitzky Arbeitsbereich Softwaretechnik Department Informatik, Universität Hamburg Agenda Vorstellungsrunde Hintergrund von Greenfoot: BlueJ Greenfoot Demo Greenfoot theoretisch Greenfoot

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 I 1 Arten von Reengineering-Projekten

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Instrumentation von Android Anwendungen mit ExplorViz

Instrumentation 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

Mehr

Graph-basierte Modellierung in Software-Werkzeugen

Graph-basierte Modellierung in Software-Werkzeugen Graph-basierte Modellierung in Software-Werkzeugen 1 Inhalt Einleitung Modellierung mit Graphen Modellierung mit Graphklassen (Schemata und Constraints) Implementation von Graphen (Algorithmen und Anfragen)

Mehr

Modulliste. für den Masterstudiengang. Data & Knowledge Engineering (alt) an der Otto von Guericke Universität Magdeburg Fakultät für Informatik

Modulliste. für den Masterstudiengang. Data & Knowledge Engineering (alt) an der Otto von Guericke Universität Magdeburg Fakultät für Informatik Modulliste für den Masterstudiengang Data & Knowledge Engineering (alt) an der Otto von Guericke Universität Magdeburg Fakultät für Informatik vom Sommersemester 2019 Der Masterstudiengang Data & Knowledge

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Software-Engineering im Sommersemester 2014

Software-Engineering im Sommersemester 2014 Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl

Mehr

Inhalt. " DiaGen Historie und Beschreibung. " Architektur eines DiaGen-Editors. " Hypergraphen. " DiaGen-Editoren Komponenten

Inhalt.  DiaGen Historie und Beschreibung.  Architektur eines DiaGen-Editors.  Hypergraphen.  DiaGen-Editoren Komponenten DIAGEN Sven Goeckels Seminar : Visuelle Sprachen Universität Bremen FB Informatik WS 2001/2002 Inhalt " DiaGen Historie und Beschreibung " " Hypergraphen " DiaGen-Editoren Komponenten? Modeler? Reducer?

Mehr

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick

Mehr

Kapitel Andere dynamische Datenstrukturen

Kapitel Andere dynamische Datenstrukturen Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2017/2018 Vorlesung#13, 12.12.2017

Mehr

MULTIMEDIA IN DER TECHNISCHEN DOKUMENTATION. mediadynamics

MULTIMEDIA IN DER TECHNISCHEN DOKUMENTATION. mediadynamics MULTIMEDIA IN DER TECHNISCHEN DOKUMENTATION ZUR PERSON: GEORG O. HERRIGER dipl. ing. ETH / BR SPRV Technik / Informatik 4m TechDok-Software Kommunikationsberatung Marketing / Medien herriger & partner

Mehr

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1 Quelle: http://geekandpoke.typepad.com Modellbasierte Entwicklung Komplexität von Software User Interface Entwicklung Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

1.3 Charakteristische Eigenschaften von objektorientierten Systemen

1.3 Charakteristische Eigenschaften von objektorientierten Systemen 1.3 Charakteristische Eigenschaften von objektorientierten Systemen Einkapselung (Encapsulation) Geheimhaltungsprinzip (Information / Implementation hiding) Persistenz (State retention) Objektidentität

Mehr

The purpose of computing is insight, not numbers. Richard Hamming (1915-1998)

The purpose of computing is insight, not numbers. Richard Hamming (1915-1998) + Visual Analytics The purpose of computing is insight, not numbers. Richard Hamming (1915-1998) + Aufbau n Einführung n Historie n Definition n Prozess n Verwandte Gebiete n Praktische Beispiele n IN-SPIRE

Mehr

Liste MI / Liste I Programmieren in C++

Liste MI / Liste I Programmieren in C++ Liste MI / Liste I Programmieren in C++ Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Medieninformatik WS 2007/2008 Kapitel 1-4 1 Ziele Kennenlernen einer weiteren objektorientierten

Mehr

1.3 Entwicklungsmethoden: Systematischer Überblick

1.3 Entwicklungsmethoden: Systematischer Überblick 1.3 Entwicklungsmethoden: Systematischer Überblick Literatur: Balzert Band 1, LE 4-11 "There is method in the madness." William Shakespeare Was ist eine Software-Entwicklungsmethode? Beschrieben in Lehrbüchern

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm Rainer Koschke Universität Bremen Workshop Software-Reengineering Bad Honnef 5. Mai 2005 Bauhaus Forschungskooperation

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering [email protected] arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Tabellen mit ASIL Zuordnungen

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Tabellen mit ASIL Zuordnungen I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011 Tabellen mit ASIL Zuordnungen 1. Die Tabellen in der Norm (mit ASIL Zuordnung) Ein wesentlicher Bestandteil der Norm sind die insgesamt

Mehr

5.2 Entity-Relationship-Modell

5.2 Entity-Relationship-Modell 5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Softwaresysteme für Augmented Reality: Beispiele. Vorlesung Augmented Reality Andreas Butz

Softwaresysteme für Augmented Reality: Beispiele. Vorlesung Augmented Reality Andreas Butz Softwaresysteme für Augmented Reality: Beispiele Vorlesung Augmented Reality Andreas Butz 1 Ein Generisches AR-System Sensorik Einbeziehung der Ortsinformation in virtuelle Welt Realität Tracking (Ortsbestimmung)

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2008/09 Überblick I 1 1 Softwarearchitektur

Mehr

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Motivation Überblick Was macht Funktionale Programmierung aus? Sind Funktionale Programmierung und Objektorientierte Programmierung

Mehr

Visual Analytics. Diana Topko. Grundseminar, 18. Dezember 2018

Visual Analytics. Diana Topko. Grundseminar, 18. Dezember 2018 Visual Analytics Diana Topko Grundseminar, 18. Dezember 2018 Agenda Visuelle Wahrnehmung Motivation für Visual Analytics Interactive Visual Analytics Ausblick Konferenzen Visuelle Wahrnehmung Text VS Bild

Mehr

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Objektorientierte Programmierung III

Objektorientierte Programmierung III Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen

Mehr

Herzlich Willkommen! Die neue Dimension des Bedienungskomforts: Fiori 2.0

Herzlich Willkommen! Die neue Dimension des Bedienungskomforts: Fiori 2.0 Herzlich Willkommen! Die neue Dimension des Bedienungskomforts: Fiori 2.0 1 Fiori Ein Erfolgsgeschichte mit Hürden_ Markteinführung im 2013 25 einfache, transaktional orientierte Fiori Apps Sehr bescheidenes

Mehr

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only Technische Universität Darmstadt Telecooperation/RBG Grundlagen der Informatik I Thema 0: Einführung Dr. Guido Rößling Copyrighted material; for TUD student use only 1 Worum es in der Informatik nicht

Mehr