Transcript
Page 1: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 1

S C I E N C E P A S S I O N T E C H N O L O G Y

u www.tugraz.at

Software Maintenance

VU 3.0 WS 2015/16

Univ.-Prof. Dr. Franz Wotawa

und DI Roxane Koitz Institut für Softwaretechnologie

[email protected]

Folien freundlicherweise zur Verfügung gestellt von Dr. Birgit Hofer

Page 2: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 2

Inhalt dieser LV-Einheit

Motivation

Maintenance Beispiele

Fehler in Software

Über die Lehrveranstaltung

Inhalt

Beurteilungsschema

Organisatorisches

Static Slicing

Page 3: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 3

Inhalt dieser LV-Einheit

Motivation

Maintenance Beispiele

Fehler in Software

Über die Lehrveranstaltung

Inhalt

Beurteilungsschema

Organisatorisches

Static Slicing

Page 4: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 4

Wozu Software Maintenance?

Meine Software ist immer korrekt!

Keine Modifikationen. Nur neue Projekte!

Quelle: http://www.genrocket.com/

Page 5: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 5

1999

Y2K Bug

Quelle: http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=2

2014

Heartbleed

1993

Rechenfehler

in Chip

1996

Ariane 5

2005

Handy-Netzausfall,

Steiermark

2009

Teure Zigaretten

Einige schlechte Maintenance-Beispiele

2038

Y2K38

Page 6: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 6

Quelle: http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=2

1993

Rechenfehler

in Chip

• 3-5 Millionen Chips waren von einem Fehler

in der Division von Zahlen betroffen

• $ 475 Millionen Schaden

Page 7: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 7

Quelle: http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=2

1996

Ariane 5

• Fehler bei der Übersetzung einer Zahl

in ein anderes Zahlensystem

• Zu großer Schub führte zu Explosion

• $ 370 Millionen Schaden

Page 8: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 8

Quelle: http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=2

1999

Y2K Bug

• In den frühen 1970-ern: Programmierer

sparten Speicher durch Kürzen des Datums

• In den 1990-er Jahren waren viele

dieser Programme noch im Einsatz

Page 9: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 9

2005

Handy-Netzausfall,

Steiermark Quelle: Kleine Zeitung

• Neue Software führte zu Problemen als zu viele

Benutzer telefonierten

• 500.000 Steirer für 8-9 Stunden ohne

Handyempfang

Page 10: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 10

Quelle: Kleine Zeitung

2009

Teure Zigaretten

• Fehler in Software-Update

• Falschbuchungen bei

Kreditkarten-Abrechungen

Page 11: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 11

2014

Heartbleed

• Schwachstelle bestimmter OpenSSL Versionen

• Input Überprüfung

• Buffer over-read

• $500 Millionen Schaden

Quellen: http://www5.in.tum.de/~huckle/bugse.html,

http://www.codenomicon.com

Page 12: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 12

2038

Y2K38

• UNIX Zeit seit 1.1.1970 in Sekunden

• Vorzeichenbehaftete 32-Bit-Ganzzahl

• 19.01.2038, 03:14:08 UTC

Integer overflow

• $? Schaden

Quellen: http://listverse.com/2012/12/24/10-seriously-epic-computer-software-bugs/

Page 13: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 13

Fehler pro 1000 Zeilen Software

Quellen: http://www5.in.tum.de/~huckle/bugse.html,

http://catless.ncl.ac.uk/Risks/20.82.html#subj7,

http://en.wikipedia.org/wiki/Source_lines_of_code

Page 14: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 14

Beispiel: Binary Search

1: public static int binarySearch(int[] a, int key) { 2: int low = 0; 3: int high = a.length - 1; 4: 5: while (low <= high) { 6: int mid = (low + high) / 2; 7: int midVal = a[mid]; 8: 9: if (midVal < key) 10: low = mid + 1; 11: else if (midVal > key) 12: high = mid - 1; 13: else 14: return mid; // key found 15: } 16: return -(low + 1); // key not found. 17: }

Page 15: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 15

Probleme bei vorherigen Beispielen

• Testen unter Verwendung kleiner Eingangswerte

“Programm implementiert das gewünschte Verhalten

korrekt!”

• Probleme durch Limitierungen der

Ausführungsumgebung

int + int kann größer als int sein

Anzahl der rekursiven Aufrufe ist begrenzt

• Fehler treten zur Laufzeit auf!!!

Page 16: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 16

Mobile Phones: App Market

Is the support for

just one OS, e.g.,

Android, easy

Page 17: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 17

Mobile Phones: App Market

Supporting JUST Android?

Quelle: http://www.idownloadblog.com/2013/07/30/the-terrible-state-of-android-fragmentation/

http://thenextweb.com/insider/2015/08/05/this-is-what-android-fragmentation-looks-like-in-2015/

Page 18: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 18

Inhalt dieser LV-Einheit

Motivation

Maintenance Beispiele

Fehler in Software

Über die Lehrveranstaltung

Inhalt

Beurteilungsschema

Organisatorisches

Static Slicing

Page 19: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 19

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 20: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 20

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 21: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 21

Page 22: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 22

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 23: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 23

Process models

Development Maintenance

Wasserfall-Modell

Spiral-Modell

Osbornes Modell

Boehms Modell

Page 24: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 24

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 25: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 25

Programmverstehen

• Einflussfaktoren

• Strategien

Page 26: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 26

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 27: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 27

Zweck der Analyse

• Struktur von Programmen offenlegen

• Fragen beantworten wie

Welche Statements haben einen Einfluss auf eine

Variable in einer bestimmten Programmzeile?

Welche Statements haben keinen Einfluss auf Resultat?

Kann ich eine bestimmte Stelle im Programm erreichen?

• LV-Ziel

Grundlegende Konzepte vermitteln

Kleine Beispiele für Demonstrationszwecke

Ideen auf größere Programme anwendbar

Page 28: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 28

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 29: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 29

Beispiel

public int foo(int x,y) {

int i = 0;

int result = 0;

while (i < x) {

result = result + y;

i = i + 1;

}

return result;

}

Page 30: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 30

Graphische Repräsentationen

Control flow graph Program dependency graph

i=0

result=0

result=result+y

i<x

i=i+1

start

i=0 result=0 while i<x

i=i+1 result=result+y

Page 31: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 31

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 32: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 32

Slicing

• A Slice is a (reduced) program, that preserves the

original program’s behavior for a given set of variables

at a chosen point in a program

1. public int foo(int x,y) {

2. int i = 0;

3. int result = 0;

4. while (i < x) {

5. result = result + y;

6. i = i + 1;

7. }

8. return result;

9. }

Slicing Criterion:

(8, {i})

Page 33: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 33

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 34: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 34

Delta Debugging

• Strukturierter Ansatz zur Minimierung von

Fehlerverursachenden Inputsequenzen

• Beispiel

Mozilla Bugzilla entry #24735 – „Mozilla cannot print“

Browser crashed when printing a certain file

Input file with 896 lines reduced to a single „<SELECT>“

statement

Page 35: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 35

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 36: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 36

Object Flow Graphs

• Datenflussanalyse von Objekt-orientierten

Programmen

• Verwendung in Reverse Engineering

Verfeinerung von Klassendiagrammen

Page 37: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 37

Was Sie in dieser LV erwartet

• Was ist Software Maintenance?

Klassifizierung, Kosten, Umfeld

Prozessmodelle

Teilprozesse (Programmverstehen, Reuse)

• Techniken zur Programmanalyse

Graphische Repräsentationen

Slicing

Delta Debugging

Object Flow Graphs

Class Diagram Recovery

Page 38: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 38

Class Diagram Recovery

Page 39: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 39

Beurteilung

• 40 % Klausur

• 60 % Aufgabenblätter

3 Aufgabenblätter

Gruppenarbeit (4 Studierende)

Abgabegespräche

Minimalanforderung:

50 % der erreichbaren Punkte bei der Klausur

50 % der erreichbaren Punkte bei JEDEM Aufgabenblatt

Page 40: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 40

Notenschlüssel

Prozent Note

0..50 5

>50..63 4

>63..75 3

>75..88 2

>88..100 1

Page 41: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 41

(Vorläufiger) Zeitplan Vorlesung

6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz

13.10. Program Slicing (dynamic) – Prof. Wotawa

20.10. Program Slicing (relevant) + Hitting Sets – Prof. Wotawa

27.10. Delta Debugging – Prof. Wotawa

3.11. Forward Slicing – Roxane Koitz

10.11. Object Flow Graphs – Prof. Wotawa

17.11. Class Diagram Extraction + Theorie – Prof. Wotawa

24.11. Theorie – Roxane Koitz

1.12. Theorie – Prof. Wotawa

15.12. Klausur (2 Gruppen)

12. 1. Nachklausur Ort und Zeit:

Dienstag, 10:00 s.t.

bis ca. 12:15, HS i7

Page 42: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 42

Klausur

• Umfang

Theorie

Beispiele

• Nachklausur für LV-Teilnehmer, die

beim Haupttermin negativ waren

nicht zum Haupttermin angetreten sind

Page 43: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 43

Aufgabenblätter

Aufgabe Blatt 1 Blatt 2 Blatt 3

Studienassistent Stephan Claudio Bianca

Inhalt • Static Slicing

• Dynamic Slicing

• Hitting Sets

• Delta Debugging

• Forward Slicing

• Class Diagram Extr.

• Object Flow Graphs

Ausgabe (Di) 13.10. 3.11. 17.11.

Registrierung (Di) 20.10. 10.11. 24.11.

Tutorial 15.10. 5.11. od. 10.11. 26.11

Fragestunde (Do) 22.10. 12.11. 3.12.

Abgabe (Mo/Di 10

Uhr) 3.11. 17.11. 7.12.

Abgabegespräche

(Do / Fr) 5.11. / 6.11. 19.11. / 20.11 10.12. / 11.12.

Page 44: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 44

Aufgabenblätter

• Programmieraufgabe

Implementierung von Vorlesungs-Algorithmen

Programmiersprache: Java

Zur Verfügung gestelltes Material: Framework

Basistestfall

Abgabe via SVN

• Theoretische Aufgaben

Beispiele ähnlich zu denen aus der Vorlesung

Zur Verfügung gestelltes Material: Latex-Vorlage

Abgabebox

Page 45: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 45

Aufgabenblätter

• Gruppenregistrierung

4 Studierende

Für JEDES Aufgabenblatt

Gruppensuche via Newsgroup

(tu-graz.lv.soma.gruppensuche)

Möglichkeit Gruppe zu wechseln

Zugang zu SVN Repositories

• Abgabegespräche

Verpflichtend

JEDES Gruppenmitglied muss gelöste Aufgaben

erklären und vorrechnen können (wird überprüft!)

Page 46: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 46

Bei Fragen

Während / nach der Vorlesung

Fragestunde

Newsgroup (tu-graz.lv.soma)

Sprechstunden

• Prof. Wotawa: Dienstags, 13 – 14 Uhr

• Roxane Koitz: Montags, 13 – 14 Uhr

Email an [email protected]

Page 47: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 47

UE-Teilnahme

Klausur

Nachklausur

Positiv

Positiv Positives

Zeugnis

Negatives

Zeugnis

Kein

Zeugnis

JA

NEIN

NEIN

NEIN JA

JA

START Anmeldung

Abmeldung

Page 48: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 48

Literatur

Penny Grubb and Amstrong A. Takang, Software Maintenance: Concepts and Practice, 2nd Ed., World Scientific Publishing Company, 2003, ISBN: 981238426X

Paolo Tonella and Alessandra Potrich,

Reverse Engineering of Object Oriented Code,

Springer, 2005, ISBN 0-387-40295-0

Skriptum, Folien und Links zu weiterführender Literatur http://www.ist.tugraz.at/teaching/bin/view/

Main/SoftwareMaintenance

Page 49: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 49

Tipps / Ratschläge

• Besuchen Sie den Vorlesungsteil!

• Versuchen Sie ALLE Übungsbeispiele selbständig zu lösen!

• Nutzen Sie bei Fragen die Sprechstunden, Fragestunden, Tutorials und die Newsgroup (tu-graz.lv.soma)

Page 50: Software Maintenance VU 3.0 WS 2015/16 · Software Maintenance Introduction 41 (Vorläufiger) Zeitplan Vorlesung 6.10. Vorbesprechung + Program Slicing (static) – Roxane Koitz 13.10

Software Maintenance

Introduction 50

Fragen?


Recommended