presenting is storytelling at uni zurich - slides (2014-03-05)

Post on 10-May-2015

447 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

I used these slides for a lecture I gave at the University of Zurich on the topic of Presenting is storytelling.

TRANSCRIPT

www.tudorgirba.com

PresentingTudor Gîrbawww.tudorgirba.com

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template• Design

• Audience• Story• More about slides• Conclusion

2

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template• Design

• Audience• Story• More about slides• Conclusion

3

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comAbout this talk• I used to be extremely afraid of speaking in public

• In fact, I was so afraid that I could hardly speak

• But, because I had to speak, I spent a bit of time thinking about it

• Today, I will share with you some of my reflections on how to do presentations• I am actually quite nervous to talk about it here

4

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template

• Audience• Story• More slides• Conclusion

5

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comSlides• Every decent talk is accompanied by slides

• Text is difficult to read so, slides should not have more than 6 first level bullets

• The text should be no smaller than 12 pt

• A good slide has an engaging design

• Don’t just use a standard design• Show that you care

• Let’s see what a good template is made of ...

6

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps

7

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps1. Align title to the left, and add logo to the top right

• The logo should not be too large, but it should be visible at all time• Adding it to the right, makes it secondary in the visual hierarchy so that it is not

compete with the rest of the text

7

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps1. Align title to the left, and add logo to the top right

• The logo should not be too large, but it should be visible at all time• Adding it to the right, makes it secondary in the visual hierarchy so that it is not

compete with the rest of the text

2. Choose colors and style to match the corporate look

7

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps1. Align title to the left, and add logo to the top right

• The logo should not be too large, but it should be visible at all time• Adding it to the right, makes it secondary in the visual hierarchy so that it is not

compete with the rest of the text

2. Choose colors and style to match the corporate look3. Delimit the title zone and readjust the style

7

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps1. Align title to the left, and add logo to the top right

• The logo should not be too large, but it should be visible at all time• Adding it to the right, makes it secondary in the visual hierarchy so that it is not

compete with the rest of the text

2. Choose colors and style to match the corporate look3. Delimit the title zone and readjust the style4. Add footer

• Slide number is important to let the audience know about the progress• Add your name, just in case they forgot it• Add the date and place of the presentation to show that it is customized for the

situation

7

STOP

presenting is storytelling

www.tudorgirba.com

why are we here?

lecture |ˈlek ch ər|nounan educational talk to an audience

legerelatin verbaction of reading, that which is read

lecture |ˈlek ch ər|nounan educational talk to an audience

presenting is storytelling

www.tudorgirba.com

story = fairy tale

designyour story

audience?who is your

let me tell you a storyaboutParis

audience?who is your

messagemessage

messagemessage

message

messagemessage

messagemessage

messagemessage

message

messagemessagemessagemessage

message

message message

message

message

message

message

message

messagemessage

message

message

message

message

messagemessage

message

messagemessage

message

message

message

messagemessage

messagemessage

message

messagemessage

messagemessage

messagemessage

message

messagemessagemessagemessage

message

message message

message

message

message

message

message

messagemessage

message

message

message

message

messagemessage

message

messagemessage

message

message

message

messageone

to Understand Software Evolution

Modeling History

vorgelegt von

Tudor Gîrba

von Rumänien

Inauguraldissertation der Philosophisch-naturwissenschaftlichen

Fakultät der Universität Bern

Leiter der Arbeit:

Prof. Dr. Stéphane DucasseProf. Dr. Oscar Nierstrasz

Institut für Informatik und angewandte Mathematik

To provide a genericmeta-model for expressing software evolution analyses, we need to recognize evolution as an explicit phenomenon and model it as a first class entity.

to Understand Software Evolution

Modeling History

vorgelegt von

Tudor Gîrba

von Rumänien

Inauguraldissertation der Philosophisch-naturwissenschaftlichen

Fakultät der Universität Bern

Leiter der Arbeit:

Prof. Dr. Stéphane DucasseProf. Dr. Oscar Nierstrasz

Institut für Informatik und angewandte Mathematik

messageone

slides

slides are visual aids

slides are visual aids

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comImportant sign• At this sign, stop, look around and proceed if no other car is

coming your way.

• Important!!!! The cars coming from the other directions will not have to stop.

• This sign was put here by the authorities in charge.

• This sign concerns vehicles only. Pedestrians should look at the signs dedicated to them.

• This sign should not be touched or hindered in any way. Any violation is punishable according to the law.

50

STOP

STOP

few details are important

omit needless words

we sell fresh fish here

fresh fish here

fresh fish

fresh

fresh

for sale: baby shoes, never wornErnest Hemingway

design is not the abundance of simplicityit is the absence of complexity

emphasizing everything IS emphasizing nothing

whitespace

y

x

y

x

y

x

remove chart junkincrease data ink

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is awhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is awhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

fill it for a reason

projector = screen

the story is in between

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comText and slides• The more text there is on a slide, the more I will tend to speak it as

it is written on the slide.

• But, you can read a text much faster than I can speak it.

• In such situations, my speech becomes noise as you rather prefer to just go ahead and read it by yourself.

• That is the reason why slides should not have text that competes with my speech, but rather be as visual as possible to complement it.

• If I would read this to you, you would likely be reading this line while I would still be somewhere in the middle of the text.

91

notes will set you free

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comText and slides• The more text there is on a slide, the more I will tend to speak it as

it is written on the slide.

• But, you can read a text much faster than I can speak it.

• In such situations, my speech becomes noise as you rather prefer to just go ahead and read it by yourself.

• That is the reason why slides should not have text that competes with my speech, but rather be as visual as possible to complement it.

• If I would read this to you, you would likely be reading this line while I would still be somewhere in the middle of the text.

1

notes will set you free

http://www.iwm-kmrc.de/workshops/visualization/sweller.pdf

http://www.smh.com.au/news/technology/powerpoint-presentations-a-disaster/2007/04/03/1175366240499.html

One assumption is that slides must also carry the message in the absence of the speaker, and hence most of the content must be on the slides. The result is lots of bullet points and lots of text.

However, lots of text competes with the spoken words because we can just read faster than we speak. And we want the audience to hear what we have to say.

Another option is to put the text in the notes and provide slides with notes for as printouts.

transition

slides are visual aids

slides are visual aids

slides are visual aids

presenting is storytelling

www.tudorgirba.com

technical talks?what about

any fact has its own story

content form

content form

yesterday’s weather

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions) sortBy: [:a :b | a value getWENM >= b value getWENM].

x := last2HistoriesSortedByENM first value getENM. valuesCount := 0. last2HistoriesSortedByENM do: [ :each | (each value getENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getENM]. (valuesCount < topCurrentENM) ifTrue: [ last2VersionsTopHistories addLast: each] ]. previousVersionsTopHistoriesNames := previousVersionsTopHistories collect: [ :each | each value name]. over := false.

last2VersionsTopHistories do: [:each | ((previousVersionsTopHistoriesNames includes: (each value name)) and: [over not]) ifTrue: [ yesterdayWeatherHits := yesterdayWeatherHits + 1. over := true]. ]. ].

^yesterdayWeatherHits/(self size - 1) asFloat.

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

30%

30% 90%

past

past future

past future

past future

past future

past future

YesterdayWeatherHit(present):

past:=all.topChanged(beginning, present) future:=all.topChanged(present, end)

past.intersect(future).notEmpty()

past future

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

hit hit hit

YW = 3 / 8 = 37%

hit hit hit hit hit hit hitYW = 7 / 8 = 87%

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

yWFor: yesterdayCheck for: tomorrowCheck | hits | hits := (self detailedYWFor: yesterdayCheck for: tomorrowCheck) sum: [ :each | each isEmpty ifTrue: [0] ifFalse: [1]]. ^ hits / (self versions size - 2)

yWFor: yesterdayCheck for: tomorrowCheck ^ ( 3 to: self versions size ) collect: [ :i | | yesterday tomorrow | yesterday := self selectByExpression: yesterdayCheck appliedFromVersionIndex: 1 toVersionIndexAndPresentInIt: i - 1. tomorrow := self selectByExpression: tomorrowCheck appliedFromVersionIndexAndPresentInIt: i - 1 toVersionIndex: self versions size. yesterday intersectWith: tomorrow ]

content form

areyoua designer?

presenting is storytelling

www.tudorgirba.com

www.tudorgirba.com

moosetechnology.org humane-assessment.com

pharo.orgdemo-driven.com

top related