• Nenhum resultado encontrado

PDF Overview and Organization of the Course Overview Software Evolution

N/A
N/A
Protected

Academic year: 2023

Share "PDF Overview and Organization of the Course Overview Software Evolution"

Copied!
7
0
0

Texto

(1)

Overview and Organization of the Course Software Evolution 1

Overview and Organization of the Course

Software Evolution

Mark van den Brand

&

Paul Klint

Overview and Organization of the Course Software Evolution 2

Overview

Schedule

Lectures and Article reading Practical Lab work

Assessment

Overview and Organization of the Course Software Evolution 3

Global Schedule

Week

36 L1 P1 P2 L2

37 L3 P3 P4 A1

38 L4 P5 P6 A2

39 L5 P7 P8 A3

40 L6 P9 P10 A4

41 L7 P11 P12 A5

42 L8 P13 P14 A6

43

= lecture

= practical lab work

= articles

= examination

Tuesday (11-13) Tuesday (13-17)Thursday (13-17) Friday (13-15)

Overview and Organization of the Course Software Evolution 4

Rooms

Week Friday (13-15)

36 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

37 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

38 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

39 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

40 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

41 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

42 B.341 P.015A/P.123 P.127 P.127 & A.108 P.127 B.341

43

= lecture: B.341

= practical lab work:P.127

private study: P.015A/P.123/A.108

= articles B.341

Tuesday (11-13)Tuesday (13-15)Tuesday (15-17) Thursday (13-17)Thursday (15-17)

(2)

Overview and Organization of the Course Software Evolution 5

Lecture and Article Sessions

Week Date Lecturer Subject

36 L1 September, 2 Klint Overview and Organization; Intro software evolution 36 L2 September, 5 Klint Introduction to software evolution

37 L3 September, 9 Van den Brand Basic technology for analysis and transformation 37 A1 September, 12 Van den Brand Student presentations

38 L4 September, 16 Van den Brand Basic technology for analysis and transformation 38 A2 September, 19 Klint Student presentations

39 L5 September, 23 Klint Analysis of software systems 39 A3 September, 26 Van den Brand Student presentations 40 L6 September, 30 Klint Analysis of software systems 40 A4 October, 3 Klint Student presentations

41 L7 October, 7 Van den Brand Transformation of software systems 41 A5 October, 10 Klint Student presentations

42 L8 October, 14 Van den Brand Transformation of software systems 42 A6 October, 17 Van den Brand Student presentations

43

Overview and Organization of the Course Software Evolution 6

Article Sessions: Goals

Becoming aware of the relevant literature (2003) Workshop on Program Comprehension:

csdl.computer.org/comp/proceedings/iwpc/2003/1883/00/1883toc.htm

Conf. on Software Maintenance and Reengineering

csdl.computer.org/comp/proceedings/csmr/2003/1902/00/1902toc.htm

Writing a summary of each article Presenting a summary of each article

7

Article Sessions: Form

Each student reads,

summarizes, and presents two articles

Each article is only discussed once Mail your selection to:

and it will appear on the course website:

8

Article Sessions: Summary

Summary of ... (precise reference to article) Your name

Global summary of the contents What is the main idea?

What did you learn from it?

What did you not understand?

Other comments

(3)

Overview and Organization of the Course Software Evolution 9

Article Sessions: Summary

Size: less than 2 pages A4 Language: English

Submit on paper during the presentation session

Overview and Organization of the Course Software Evolution 10

Article Sessions: Presentation

Give a presentation about the article Same structure as written summary Duration: 10 minutes

Material: (3) overhead sheets/power point screens

Overview and Organization of the Course Software Evolution 11

A1 (12 sept) A2 (19 sept) A3 (26 sept) A4 (3 oct) A5 (10 oct) A6 (17 oct)

Idris Alamutu 1 1

Yassin Asri 1 1

Wilfred Belo 1 1

Rinke Blootens 1 1

Shah Chaudry 1 1

August de l'Annee de Betrancourt 1 1

Hans Dekker 1 1

Abdelhad Elamraoui 1 1

Sabrina Filemon 1 1

Chris Houwing 1 1

Erik-jan Kok 1 1

Said Lakhloufi 1 1

Peter Lamers 1 1

Martijn Langereis 1 1

Erik Mulder 1 1

Oliveiro Matthias 1 1

Silvester Prinsen 1 1

1 1

Fatma Tosun 1 1

6 6 7 6 6 7

Martijn Th rig

Schedule for Articles

per Student

Overview and Organization of the Course Software Evolution 12

Practical Lab Work: Goals

Experience the problems of understanding an unknown software system

Get acqainted with language-processing tools Get acquainted with software-querying techniques

(4)

Overview and Organization of the Course Software Evolution 13

Practical Lab Work: Schedule

Week

36 L1 P1 P2 L2

37 L3 P3 P4 A1

38 L4 P5 P6 A2

39 L5 P7 P8 A3

40 L6 P9 P10 A4

41 L7 P11 P12 A5

42 L8 P13 P14 A6

43

= lecture

= practical lab work Series I: P1--P6 Series II: P7--P10

= articles Series III: P11--P14

= examination

Tuesday (11-13)Tuesday (13-17)Thursday (13-17) Friday (13-15)

Overview and Organization of the Course Software Evolution 14

Practical Lab Work: Series I

Given is a large software system (“The system”) in this case Java's AWT library, available at

Given are questions about this system (see later) Look for methods to answer these questions

any tools/techniques are allowed!

15

Practical Lab Work: Reports

Report on your findings as follows:

The methods/tools used (including URL or reference)

What did you find?

How many occurrences did you find (if applicable)

Your experience with the method/tool used Any other observations

16

Practical Lab Work: Series I Questions

Q1: How many source lines?

Q2: How many source files?

Q3: How many class declarations?

Q4: How many interface declarations?

Q5: What is the largest class?

Q6: What is largest method?

Motivation: these facts are needed to get an initial impression of a system

(5)

Overview and Organization of the Course Software Evolution 17

Practical Lab Work: Series I Questions

Q7: Find cyclic class dependencies A class uses (directly or indirectly) itself Use = methods calls, inheritance, containment

Motivation: cyclic class dependencies are difficult to understand/maintain

Example of a contained class

Overview and Organization of the Course Software Evolution 18

Cyclic Dependencies: Examples

! " # $

% %

! " # $

%

Overview and Organization of the Course Software Evolution 19

A Note on Method Calls

When considering method calls you do not have to consider the type of the object of which the method is called.

Effect: all methods in different classes with the same name are treated as the same

This may gives false positives but simplifies the analysis

Overview and Organization of the Course Software Evolution 20

Practical Lab Work: Series I Questions

Q8: Find degenerate inheritance

a class inherits an interface directly and indirectly

& '

( ) ) '

(+* ) ) '

Motivation: the direct inheritance is misleading (and redundant)

(6)

Overview and Organization of the Course Software Evolution 21

Practical Lab Work: Series I Questions

Q9: Detect subclass knowledge: a super class

“knows” its subclass by containment or (possibly indirect) method calls

Motivation: Superclasses should be understandable and reusable independently of their subclasses

Overview and Organization of the Course Software Evolution 22

Practical Lab Work: Series I Questions

Q10: Find similar classes (also known as

“clones”).

Two classes are similar if they

call the same methods

contain the same classes

inherit from the same classes

Motivation: clones require maintenance that can be avoided by merging them

23

Practical Lab Work: Series II + III

Series II: Get acquainted with the ASF+SDF Meta-Environment

Series III: Use relational calculus to answer some of the questions from Series I

Details follow later

24

Assessment

Grades for Article summaries + presentations Grades for Lab work Series I, II & III

Grades for exam in week 43

(7)

Overview and Organization of the Course Software Evolution 25

Practical matters

Lab Assistent: Taeke Kooiker (

) Course web site:

Book: T.M. Pigoski, Practical Software

Maintenance is used as background material. Is not required.

Other material will be made available at the web- site

Referências

Documentos relacionados

Sociedade Brasileira de Química SBQ 32a Reunião Anual da Sociedade Brasileira de Química 200 300 400 500 600 700 1 2 3 Intensidade relativa comprimento de onda nm controle 0