Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 19. November 2015

Größe: px
Ab Seite anzeigen:

Download "Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 19. November 2015"

Transkript

1 Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 19. November 2015

2 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere ich mich einem unbekannten Softwaresystem? Die Richtung festlegen Der erste Kontakt Erstes Verstehen Erkennen des Designs Mehr Detailverständnis 2 Software-Evolution WS 2015/2016

3 Forward-Engineering Forward Engineering is the traditional process of moving from high-level abstractions and logical, implementation-independent designs to the physical implementation of a system. Die traditionelle Softwareentwicklung von den Anforderungen zur Implementierung. Verwendung eines Vorgehensmodells bzw. eines bestimmten Softwareentwicklungsprozesses meist iterativ, z.b. Spiralmodell von Boehm oder V-Modell XT oft (insbesondere in OSS) agil, z.b. Scrum, XP Abnehmendes Abstraktionsniveau [Demeyer et al.] 3 Software-Evolution WS 2015/2016

4 Reverse Engineering Reverse Engineering is the process of analyzing a subject system to identify the system s components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Entgegengesetzte Richtung zum Forward Engineering Die Analyse eines Softwaresystems mit dem Ziel, das System- Design zu erkennen. Anwendung von Reverse Engineering beim Versuch, die Arbeitsweise der Software zu verstehen als Vorbereitung eines Re-Engineering, z.b. durch Re-Dokumentieren der Software oder Identifizierung potentieller Probleme Zunehmendes Abstraktionsniveau [Demeyer et al.] 4 Software-Evolution WS 2015/2016

5 Informationsquellen im Reverse Engineering Lesen der vorhandenen Dokumentation Lesen des Quellcodes Anwenden der Software Interviews mit den Benutzern und/oder Entwicklern Implementieren und Ausführen von Testfällen Erstellen und Analysieren von (Ausführungs-) Traces Benutzung von Werkzeugen zum Erstellen von abstrakteren Ansichten des Quellcodes und bestimmter Traces Verlaufsanalyse der Versionierung der Software 5 Software-Evolution WS 2015/2016

6 Re-Engineering Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form. Transformation einer konkreten Implementierung in eine andere konkrete Implementierung Währenddessen werden abstrakte Artefakte erstellt Re-Engineering ist Reverse Engineering, Evolution und Forward Engineering Fragestellung: Was muss geändert und was muss ersetzt werden? Dabei treten häufig ähnliche technische Probleme auf [Demeyer et al.] 6 Software-Evolution WS 2015/2016

7 Der Weg kann steinig sein Im Großen Unzureichende Dokumentation Keine gute Architektur Zu wenig Modularität Duplizierter Code Duplizierte Funktionalität Im Kleinen Falsche Verwendung von Vererbung Fehlende Vererbung Operationen in falschen Klassen Verletzung von Kapselungen Klassen als Auffanglager 7 Software-Evolution WS 2015/2016

8 Forward-, Reverse- und Re-Engineering [Demeyer et al.] 8 Software-Evolution WS 2015/2016

9 Re-Engineering Patterns Patterns wurden ursprünglich in der Architektur eingesetzt, um verschiedene physikalische Strukturen systematisch zu entwickeln Jeder Aspekt wird als wiederkehrendes Muster dargestellt Anwendung einer auf die spezifischen Gegebenheiten zugeschnittenen generellen Lösung Erste Anwendung in der Softwareentwicklung durch Beschreibung wiederkehrender Lösungen für Design-Probleme (Design Patterns) Aber auch: Anwendung in Design- und Entwicklungsprozess Re-Engineering Patterns als wiederkehrende Lösungen für Probleme bei der Änderung bestehender Softwaresysteme 9 Software-Evolution WS 2015/2016

10 Gruppierung von Re-Engineering Patterns [Demeyer et al.] 10 Software-Evolution WS 2015/2016

11 Setting Direction: Die Richtung festlegen Probleme Zu viele Details: technische und prozessspezifische Wie sollen die Prioritäten gesetzt werden? Kommunikation mit dem anwesenden bzw. abwesenden Entwicklerteam Schwierige Entscheidungen: Einpacken, Ändern oder Neuschreiben von problematischen Altkomponenten Zu weitreichendes Re-Engineering 11 Software-Evolution WS 2015/2016

12 Grundsätze festlegen Prioritäten im Team festlegen Management möchte geringe Re-Engineering-Kosten. Nutzer möchten bessere Funktionalität. Entwickler möchten einen einfachen Job, aber den Job auch nicht verlieren. Wer ist wofür zuständig? Kann bezüglich der Re-Engineering-Aufgaben eventuell am Anfang noch nicht geklärt werden. Aber: Alle sind für die Evaluation (Testen, Debugging, etc.) zuständig. Zumindest ein Teammitglied sollte den Überblick über die Systemarchitektur behalten. 12 Software-Evolution WS 2015/2016

13 Mit welchen Problemen sollten wir starten? Mit den Problemen, die den Anwendern besonders wichtig sind. Wie erkennen wir, was wichtig ist? Das Geschäftsmodell erkennen Messbare Ziele bestimmen (z.b. bessere Antwortzeiten, schneller mit neuen Features auf dem Markt, etc.) Change Logs erzählen, welche Aktivitäten die wichtigsten waren. Was, wenn das wichtigste Problem zu groß ist? Zerteile es in kleinere, die in kurzer Zeit bearbeitet werden können. 13 Software-Evolution WS 2015/2016

14 Weitere Richtungs-Patterns Löse Probleme, nicht Symptome Anwender haben ihre eigene Sicht auf das System. Such das Problem hinter den Symptomen. Was nicht kaputt ist, sollte nicht angefasst werden. Kaputt ist, was nicht korrekt funktioniert, oder den Anforderungen nicht gerecht wird. Auch wenn es nicht schön ist Such eine einfache Lösung Besser eine einfache, spezifische Lösung als eine generelle, komplexe Lösung Synchronisiere das Team Kurze regelmäßige Treffen, um Informationen und Probleme auszutauschen sowie die weitere Richtung zu besprechen 14 Software-Evolution WS 2015/2016

15 Zusammenhang von Richtungs-Patterns [Demeyer et al.] 15 Software-Evolution WS 2015/2016

16 Gruppierung von Re-Engineering Patterns [Demeyer et al.] 16 Software-Evolution WS 2015/2016

17 First Contact: Der erste Kontakt Problem Softwaresysteme sind häufig groß und Zeit ist kostbar. Wie nähert man sich einem System möglichst effizient? Über das System reden Diskussion mit den Entwicklern Interview während einer Systemdemonstration Das System anschauen Lies den gesamten Code in einer Stunde! Überflieg die Dokumentation! Kompilation des Systems 17 Software-Evolution WS 2015/2016

18 Über das System reden: Diskussion mit den Entwicklern Ziel: In welchem Zustand ist das Projekt? Typische Fragen: Was war der einfachste/schwierigste Bug in letzter Zeit? Wie werden Bugs/Features gesammelt/priorisiert? Wer entscheidet was? Wie funktioniert die Qualitätssicherung? Wer ist seit wann im Team? Wie gut ist der Code/die Dokumentation? 18 Software-Evolution WS 2015/2016

19 Lies den gesamten Code in einer Stunde! Voraussetzungen: Die Programmiersprache ist bekannt. Die Evolutionsaufgaben sind klar. Begleitende Fragen: Ist das Re-Engineering möglich? Welche Module (Pakete, Klassen) sind wichtig für die gestellten Evolutionsaufgaben? Gibt es Code Smells? Welche Teile sollten weiter untersucht werden? Ergebnis ist ein kurzen Bericht über die gewonnenen Eindrücke. 19 Software-Evolution WS 2015/2016

20 Checkliste für den ersten Code-Kontakt Was ist die Paketstruktur? Test-Suiten geben über die Funktionalität von Modulen Aufschluss. Klassen oben in der Hierarchie zeigen Abstraktionen, untere Klassen Variationen Singleton Patterns zeigen Konstanten des Systems Abstrakte Klassen und Methoden zeigen Designentscheidungen. Kommentare beschreiben Designentscheidungen, sind aber nicht immer zuverlässig. 20 Software-Evolution WS 2015/2016

21 Überflieg die Dokumentation! Begleitende Fragen: Welche Teile sind nützlich? Welche nicht? Für wen ist welche Dokumentation geschrieben? Schreib einen kurzen Bericht über die gewonnenen Informationen! Liste der nützlichen Teile (Anforderungsspezifikation, gewünschte Features, wichtige Constraints, Designmodelle, Benutzer- /Entwicklerhandbuch) Wie aktuell sind sie? (Versionsnummer, Datum) 21 Software-Evolution WS 2015/2016

22 Die Software anwenden Probleme Welche sind die typischen Benutzungsszenarien? Welche Features sind relevant, welche nicht? Vorgehen Einen Benutzer das System demonstrieren lassen. Ein Video anschauen/ein Tutorial lesen Das System selbst benutzen. 22 Software-Evolution WS 2015/2016

23 Zusammenhang von Kontakt-Patterns [Demeyer et al.] 23 Software-Evolution WS 2015/2016

24 Beispiel: Evolutionsaufgabe für Henshin Führe eine neue Unit ein, die eine Menge referenzierter Units sooft wie möglich anwendet (LayerUnit). Grund: Oftmals soll eine Regel-Menge (bzw. die darin enthaltenen Regeln) solange ausgeführt werden, bis keine Regel mehr angewendet werden kann (z.b. in Grammatiken). Bisher: Wrappen der Regeln in einer IndependentUnit, die innerhalb einer LoopUnit ausgeführt wird. Beispiel: Komplette Ausführung eines Aktivitätendiagramms 24 Software-Evolution WS 2015/2016

25 Eclipse Git-Repository des Henshin-Projekts Dokumentation mit verschiedenen Beispielen Feature-Projekt zum Bündeln der Plugins Update-Site für die Installation Plugin-Projekte Verschiedene Skripte unterschiedlicher Funktionalität 25 Software-Evolution WS 2015/2016

26 Plugin-Struktur der Henshin-Komponenten 26 Software-Evolution WS 2015/2016

27 Pakete und Abhängigkeiten von org.eclipse.emf.henshin.interpreter [Metrics2] 27 Software-Evolution WS 2015/2016

28 Beispiel: Evolutionsaufgabe für Henshin erste Einschätzung der Änderungs-Stellen 1. Anpassung des Modells Plugin: org.eclipse.emf.henshin.model Modell model/henshin.ecore erweitern und Code neu generieren 2. Anpassung der Editoren Plugin: org.eclipse.emf.henshin.edit/editor Plugin: org.eclipse.emf.henshin.diagram Editoren erneut generieren bzw. manuell anpassen (z.b. Icons) 3. Anpassung des Interpreters Plugin: org.eclipse.emf.henshin.interpreter Klasse: org..henshin.interpreter.impl.unitapplicationimpl.java 28 Software-Evolution WS 2015/2016

29 Zusammenfassung Software Evolution funktioniert nur mit Reverse Engineering. Bevor man ein Programm ändern kann, muss man es verstehen. Dazu muss man das Design hinter einem Programm erkennen. Re-Engineering Patterns helfen, ein Programm systematisch und effizient zu verstehen und zu ändern. Evolutionsaufgabe für Henshin: Einführung einer LayerUnit Erste Einschätzung der betroffenen Änderungsstellen in den einzelnen Komponenten von Henshin 29 Software-Evolution WS 2015/2016

30 Literatur und Werkzeuge Literatur: Serge Demeyer, Stephane Ducasse, Oscar Nierstrasz: Object-Oriented Reengineering Patterns, 2013, Kap. 1 3, online verfügbar unter Werkzeuge: Henshin Website: Henshin Repository: Eclipse Metrics2 Project: 30 Software-Evolution WS 2015/2016

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014 Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 27. November 2014 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere

Mehr

Programmverstehen 3: Detailliertes Verständnis. Dr. Thorsten Arendt Marburg, 10. Dezember 2015

Programmverstehen 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

Mehr

Re-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: 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

Mehr

Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 13. November 2014

Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 13. November 2014 Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse Dr. Thorsten Arendt Marburg, 13. November 2014 Überblick Was ist eine Änderungsverwaltung und warum braucht man sie? Fehlerverfolgung

Mehr

Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 12. November 2015

Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 12. November 2015 Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse Dr. Thorsten Arendt Marburg, 12. November 2015 Überblick Was ist eine Änderungsverwaltung und warum braucht man sie? Fehlerverfolgung

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

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Viele Designkonzepte

Mehr

Institut für Informatik Betriebliche Informationssysteme Graph-basiertes Reengineering

Institut 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

Mehr

Migrationsstrategien. Dr. Thorsten Arendt Marburg, 22. Januar 2015

Migrationsstrategien. Dr. Thorsten Arendt Marburg, 22. Januar 2015 Migrationsstrategien Dr. Thorsten Arendt Marburg, 22. Januar 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Wenn man ein bestehendes System re-engineered

Mehr

Evolutionsprozesse. Dr. Thorsten Arendt Marburg, 23. Oktober 2014

Evolutionsprozesse. Dr. Thorsten Arendt Marburg, 23. Oktober 2014 Evolutionsprozesse Dr. Thorsten Arendt Marburg, 23. Oktober 2014 Überblick Betrachtung der bekannten Softwareentwicklungsprozesse bezüglich Software-Evolution Evolutionsprozesse Techniken für Software-Evolution

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile OSGi The dynamic module system for Java Bundles Exports Imports Dependencies Services Declarative Services Versionen Dynamic

Mehr

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec Abschlussvortrag Masterarbeit: Operationalizing in an agile Software Projec Freie Universität Berlin, Institut für Informatik February 2, 2015 Übersicht 2 Was ist Softwarearchitektur? Softwarearchitektur

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter: Gabriele Taentzer, Daniel Strüber Kontakt:

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

2 Softwarearchitektur in der Organisationsstruktur 25

2 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

Mehr

Software Evolution: Einführung. Dr. Thorsten Arendt Marburg, 15. Oktober 2015

Software 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?

Mehr

Entwicklung moderner Rich-Internet-Applications

Entwicklung moderner Rich-Internet-Applications Technische Universität München Projekt: Systementwicklung WS 2007/08 Entwicklung moderner Rich-Internet-Applications 15.10.2007 Kickoff-Meeting Florian Forster Florian Forster (forster@in.tum.de) Agenda

Mehr

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Modellgetriebene 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

Mehr

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Kernprozess 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

Mehr

Software-Refactoring. 29. Mai 2013

Software-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

Mehr

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio.

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio. Abschlussbericht Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio Christian Weber Agenda Motivation (3-5) Vorgehen (6-7) Konzeptionelle

Mehr

Software-Evolution. 27. Januar 2015

Software-Evolution. 27. Januar 2015 Software-Evolution 27. Januar 2015 Überblick Warum ist Software-Evolution wichtig? Was ist Software-Evolution? Was sind die Prinzipien der Software-Evolution? Unterscheidet sich die Evolution von Open-Source-

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder Best Practices für RM/RE in einem Prozess Framework Thomas Schröder 1 Die Herausforderung bewährte Praktiken effektiv zu nutzen Unterschiedliche Quellen in unterschiedlichen Formaten Schwierig anzupassen

Mehr

Mö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 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

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Einführung in die Softwaretechnologie

Einführung in die Softwaretechnologie R O O T S Einführung in die Softwaretechnologie Wintersemester 2011 Dr. Günter Kniesel Institut für Informatik III Römerstr. 164, D-53117 Bonn gk@cs.uni-bonn.de http://sewiki.iai.uni-bonn.de/teaching/lectures/se/2011/

Mehr

Workshop Visualisierung 2011 Diskussionsnotizen

Workshop Visualisierung 2011 Diskussionsnotizen Fakultät für Informatik Technische Universität München Workshop Visualisierung 2011 Diskussionsnotizen 20.7.2011, Software-Architektur Jahrestagung 2011, Hamburg Prof. Dr. Florian Matthes Software Engineering

Mehr

Verbesserung 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 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

Mehr

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen

Mehr

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

Entwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik

Entwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Entwurfsmuster Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Information über Entwurfsmuster Die heutige Vorlesung: Einführung in die Thematik Die Vorlesung am 12.01:

Mehr

Praktikumsvorbesprechung: Software Engineering WS 07/08

Praktikumsvorbesprechung: Software Engineering WS 07/08 Praktikumsvorbesprechung: Software Engineering WS 07/08 Bernd Bruegge Technische Universität München Lehrstuhl für Angewandte Softwaretechnik Marc Lindike Flughafen München 1 Überblick Einleitung (5 min)

Mehr

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Behutsame Modernisierung

Behutsame Modernisierung Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

Scrum for Management Praxis versus Theorie oder Praxis dank Theorie. ALM Day 26.Oktober 2011 Urs Böhm

Scrum for Management Praxis versus Theorie oder Praxis dank Theorie. ALM Day 26.Oktober 2011 Urs Böhm Scrum for Management Praxis versus Theorie oder Praxis dank Theorie ALM Day 26.Oktober 2011 Urs Böhm Übersicht Kurze Situationsübersicht Diskussion Prozesse Challenges in der SW-Entwicklung Wie geht Scrum

Mehr

1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell:

1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell: 1 Einführung und Überblick 1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell: Anstoß Auftrag Projekt planen Anforderungen spezifizieren Lieferung Architektur entwerfen System

Mehr

Universität Bielefeld. Softwarepraktikum. Gernot A. Fink SS Rückblick extreme Programming (XP)

Universität Bielefeld. Softwarepraktikum. Gernot A. Fink SS Rückblick extreme Programming (XP) Softwarepraktikum Gernot A. Fink SS 2005 Rückblick extreme Programming (XP) extreme Programming: Die Idee XP takes common sense principles and practices to extreme levels. (Kent Beck, 2001) (d.h. alles,

Mehr

IBM Software Demos Rational Systems Developer Introduction

IBM Software Demos Rational Systems Developer Introduction Heute sehen wir uns den IBM Rational Systems Developer näher an, der Teil der IBM Rational Software Delivery Platform ist. IBM Rational Systems Developer richtet

Mehr

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c Robin Müller-Bady Systemberater, Oracle Deutschland The following is intended to outline our general product direction. It is intended

Mehr

Model Driven Architecture Praxisbeispiel

Model 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

Mehr

Qualitätssicherung von Software

Qualitätssicherung von Software Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST 2.4 OO-Test 26.11.2004 Folie 2 Kapitel 2. Testverfahren 2.1 Testen im SW-Lebenszyklus 2.2

Mehr

3b. Issue Management, Issue-Based Change Management und persönliches Zeitmanagement

3b. Issue Management, Issue-Based Change Management und persönliches Zeitmanagement Vorlesung Softwaretechnologie Wintersemester 2011/12 R O O T S 3b. Issue Management, Issue-Based Change Management und persönliches Zeitmanagement 24.10.2013 Motivation: Projektmanagement Was ist zu tun?

Mehr

Dokumentation. Projekt: Innovation Management Plattform To Activate Creative Thoughts

Dokumentation. Projekt: Innovation Management Plattform To Activate Creative Thoughts Dokumentation Projekt: Innovation Management Plattform To Activate Creative Thoughts Betreuer: Dr. Joachim Kurzhöfer, Stefan Wunderlich, Jens Siewert Referentin: Yaping Lian Gliederung Einleitung: Agiles

Mehr

Phasen. Gliederung. Rational Unified Process

Phasen. Gliederung. Rational Unified Process Rational Unified Process Version 4.0 Version 4.1 Version 5.1 Version 5.5 Version 2000 Version 2001 1996 1997 1998 1999 2000 2001 Rational Approach Objectory Process OMT Booch SQA Test Process Requirements

Mehr

Design Patterns. 3. Juni 2015

Design 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?

Mehr

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 1 Gliederung Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 2 Rational Unified

Mehr

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Modellgetriebene 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

Mehr

Cloud Architektur Workshop

Cloud Architektur Workshop Cloud Architektur Workshop Ein Angebot von IBM Software Services for Cloud & Smarter Infrastructure Agenda 1. Überblick Cloud Architektur Workshop 2. In 12 Schritten bis zur Cloud 3. Workshop Vorgehensmodell

Mehr

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:

Mehr

Inhaltsverzeichnis. Teil I Grundlagen 1

Inhaltsverzeichnis. 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

Mehr

Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum

Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum Traceability Workshop SE 2013 Aachen 26. Feb. 2013 Elke Bouillon 1, Baris Güldali 2, Andrea Herrmann 3, Thorsten Keuler

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Oliver Böhm MKS GmbH Agenda Überblick Der Entwicklungsprozess: Requirements

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Michael Eisenbarth Abteilung Requirements- und Usability-Engineering Fraunhofer-Institut für Experimentelles Software Engineering

Mehr

Software Engineering II (IB) Softwareevolution

Software 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...................

Mehr

Tabellarischer Vergleich der. für modellbasiertes Testen aus Managementsicht. Dominik Beulen, Barış Güldalı, Michael Mlynarski

Tabellarischer Vergleich der. für modellbasiertes Testen aus Managementsicht. Dominik Beulen, Barış Güldalı, Michael Mlynarski Tabellarischer Vergleich der Prozessmodelle für modellbasiertes Testen aus Managementsicht Dominik Beulen, Barış Güldalı, Michael Mlynarski TAV 29, Stralsund 12.11.2009 Überblick Wie sieht der Prozess

Mehr

Installationsbeschreibung

Installationsbeschreibung Installationsbeschreibung Mantis Eclipse Integration Version: 1.00 Stand: 05.08.2008 J3S e.k. Sven Sass Semperstr. 77 22303 Hamburg Tel.: +49 (40) 982 620 87 Fax: +49 (40) 982 620 88 http://www.j3s.de

Mehr

Reengineering und Refactoring von Softwarearchitekturen

Reengineering und Refactoring von Softwarearchitekturen Methodische und Praktische Grundlagen der Informatik 3 Reengineering und Refactoring von Softwarearchitekturen Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik WS 2008/2009 Lernziele?

Mehr

Kapitel 3 Software Quality III

Kapitel 3 Software Quality III Kapitel 3 Software Quality III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Agenda Heute Von Bad Smells zu Refactorings Wie wird Refactoring durchgeführt?

Mehr

Effektiver Einsatz von Code-Reviews

Effektiver Einsatz von Code-Reviews Effektiver Einsatz von Code-Reviews Version: 1.4 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de 18. Java Forum Stuttgart 2015 Ihr Sprecher Thorsten Maier Trainer,

Mehr

Iterative Softwareentwicklung. Ullrich Köthe 19. April 2001

Iterative Softwareentwicklung. Ullrich Köthe 19. April 2001 Iterative Softwareentwicklung Ullrich Köthe 19. April 2001 2 Traditionelles Entwicklungsmodell von Geräteentwicklung inspiriert: je später eine Änderung notwendig wird, desto teurer 12000 10000 8000 6000

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen Roland Koppe, Stefan Häusler, Axel Hahn 2 Übersicht Einleitung und Motivation Ansatz und Methodik

Mehr

Team Foundation Server & Ranorex Workshop

Team 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,

Mehr

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP 3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg ARIS meets RUP Der ARIS Unified Information System Development Process Martin Plümicke Berufsakademie

Mehr

Agile Methoden. David Tanzer. Oliver Szymanski

Agile Methoden. David Tanzer. Oliver Szymanski Agile Methoden David Tanzer Oliver Szymanski Ziel von Softwareentwicklung Anforderungen zuverlässig und effizient in lauffähige Software verwandeln. Ziel von Softwareentwicklung Bedürfnisse des Kunden

Mehr

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen I " t3ildungsmedien Informatik Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen Hansruedi Tremp und Markus Ruggiero Application

Mehr

Best Prac*ces for Scien*fic Compu*ng. Von Marc Grimpo

Best Prac*ces for Scien*fic Compu*ng. Von Marc Grimpo Best Prac*ces for Scien*fic Compu*ng Von Marc Grimpo 1 Zugrunde liegende Paper Best Prac*ces for Scien*fic Compu*ng, Wilson et al. A survey of the Prac*ce of Computa*onal Science, Prabhu et al. So;ware

Mehr

16.4 Wiederverwendung von COTS-Produkten

16.4 Wiederverwendung von COTS-Produkten 16.4 Wiederverwendung von COTS-Produkten COTS = commercial of the shelf im Handel erhältliche Software-Produkte Anpassung für Kunden ohne Änderung am Quellcode Quellcode in der Regel nicht einsehbar (Ausnahme

Mehr

Software Projekt 2 / Gruppe Knauth Lernziele:

Software Projekt 2 / Gruppe Knauth Lernziele: Lernziele: Realisierung eines komplexen Software-Projektes unter Industrie-ähnlichen Bedingungen Organisiertes Arbeiten im Team Team Organisation: Rollen und Aufgaben der Team-Mitglieder bestimmen Spezifikation

Mehr

Frank.Maar@microsoft.com Developmentprozesse - Grundlage Ihrer Entwicklung Grundsätzliche Art der Vorgehensweise formal agil V-Modell XT MSF for CMMI Improvement definiert MSF Agile SCRUM Prozess-Inhalte

Mehr

Seminar: Software Engineering verteilter Systeme

Seminar: Software Engineering verteilter Systeme Seminar: Software Engineering verteilter Systeme Hauptseminar im WS 2010/2011 Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49

Mehr

IT-Projekte: "Planungssicherheit bis zur Implementierung"

IT-Projekte: Planungssicherheit bis zur Implementierung IT-Projekte: "Planungssicherheit bis zur Implementierung" Markus Weibel Senior Solution Engineer / Consultant CRM 08.09. 2017 / Folie 1 / IT-Projekte: "Planungssicherheit bis zur Implementierung" Ihr Referent

Mehr

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten In Softwareprojekten gibt es oft organisatorische Probleme, die von der inhaltlichen Arbeit

Mehr

PLUS Architektur-Browser

PLUS Architektur-Browser Tobias Kiefer Bachelor-Arbeit Betreuer: Prof. Dr. Antonio Krüger PLUS Architektur-Browser (PAB) Bachelor-Master-Seminar, 09.01.2014 Agenda Was ist abat+? Motivation Related Work Architektur Mein Vorhaben

Mehr

Inhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23

Inhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23 Lektion 1.......... Danksagung 11 Einführung 13 Systemanforderungen 13 Wo Sie am besten anfangen 14 Die Übungsdateien installieren und verwenden 16 Installation der Übungsdateien 16 Die Übungsdateien verwenden

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Reference Migration Process ReMiP

Reference Migration Process ReMiP Reference Migration Process ReMiP Ein Referenz-Prozess der Software-Migration 1 Übersicht Motivation º Gründe für Migrationen º Notwendigkeit eines generischen Referenz-Prozesses Herleitung des Referenzprozesses

Mehr

Gegensätze ziehen sich an Formale Anforderungsspezifikationen und agile Softwareentwicklung unter einen (TFS)Hut bekommen

Gegensätze ziehen sich an Formale Anforderungsspezifikationen und agile Softwareentwicklung unter einen (TFS)Hut bekommen Gegensätze ziehen sich an Formale Anforderungsspezifikationen und agile Softwareentwicklung unter einen (TFS)Hut bekommen Agenda Gegensätze? RE in der agilen Entwicklung RE in der klassischen Entwicklung

Mehr

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

Mehr

Software Engineering II (IB) Softwareevolution

Software 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

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

Entwurfsmuster (Design Patterns)

Entwurfsmuster (Design Patterns) Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder

Mehr

Testen von SOA-Anwendungen mit dem BPEL Testframework

Testen von SOA-Anwendungen mit dem BPEL Testframework Testen von SOA-Anwendungen mit dem BPEL Testframework Stefan Kühnlein IBM Deutschland Enterprise Application Solution GmbH Hollerithstr. 1 81829 München 0160/8848611 Stefan.Kuehnlein@de.ibm.com IBM Deutschland

Mehr

1 Einleitung 1. 2 Grundkonzepte 11

1 Einleitung 1. 2 Grundkonzepte 11 Inhalt 1 Einleitung 1 1.1 Softwarequalität betrifft viele 1 1.2 Für wen dieses Buch gemacht ist 1 1.3 Was Sie von diesem Buch erwarten können 2 1.4 Das Abenteuer von Q 3 1.5 Themen und Anspruch 3 1.5.1

Mehr

Komponentenbasierter

Komponentenbasierter Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Softwareentwicklungsumgebungen

Softwareentwicklungsumgebungen 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

Mehr

Unit Testing, SUnit & You

Unit Testing, SUnit & You HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You

Mehr

Kurzanleitung Eclipse

Kurzanleitung Eclipse Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon

Mehr

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr