48
assessment through exploration tudor gîrba www.tudorgirba.com

Assessment Through Exploration

Embed Size (px)

DESCRIPTION

I used this set of slides for the CHOOSE talk I gave at the University of Zurich on October 23, 2009

Citation preview

Page 1: Assessment Through Exploration

assessmentthrough exploration

tudor gîrbawww.tudorgirba.com

Page 2: Assessment Through Exploration

forward engineering

}

{

}

{

}

{

}

{

Page 3: Assessment Through Exploration

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

Page 4: Assessment Through Exploration

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

reve

rse e

ngin

eerin

g

Page 5: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

Page 6: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

reports are useful, but limited

Page 7: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

visualization is important

Page 8: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

exploration is crucial

Page 9: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

how can we build dedicated browsers?

Page 11: Assessment Through Exploration

Philipp BungeTudor GîrbaLukas RenggliJorge RessiaDavid Röthlisberger

Page 12: Assessment Through Exploration
Page 13: Assessment Through Exploration
Page 14: Assessment Through Exploration
Page 15: Assessment Through Exploration

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

Page 16: Assessment Through Exploration

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

Page 17: Assessment Through Exploration

package 1

package 2

...

Class A

Class B

...

method M

method N

...

source code

Page 18: Assessment Through Exploration
Page 19: Assessment Through Exploration
Page 20: Assessment Through Exploration
Page 21: Assessment Through Exploration
Page 22: Assessment Through Exploration

b := TableLa

youtBrowser

new.

b column: #n

amespaces;

column: #c

lasses;

column: #m

ethods.

b showOn: #n

amespaces;

using: [

b tree

displa

y: [ :model

|

mode

l allNamespa

ces

sele

ct: #isRoot

];

childr

en: #childSc

opes;

format

: #name ].

b showOn: #c

lasses;

from: #nam

espaces; usi

ng: [

b list

displa

y: #classes;

format

: #name ].

b showOn: #m

ethods;

from: #cla

sses; using:

[

b list

displa

y: #methods;

format

: #signature

].

Page 23: Assessment Through Exploration
Page 24: Assessment Through Exploration
Page 25: Assessment Through Exploration
Page 26: Assessment Through Exploration
Page 27: Assessment Through Exploration

b sendToOuts

ide: #class

from: #cla

sses.

b sendToOuts

ide: #method

from: #met

hods.

B := TableLa

youtBrowser

new.

B title: 'Gl

amorous Brow

ser'.

B row: #nav;

row: #deta

ils.

B showOn: #n

av;

using: [

B custom

: b ].

B showOn: #d

etails;

from: #nav

->#class;

using: [

B text

displa

y: #sourceTe

xt ].

B showOn: #d

etails;

from: #nav

->#method;

using: [

B text

displa

y: #sourceTe

xt ].

Page 28: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

Page 29: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{b := T

ableLayoutBr

owser new.

b column: #n

amespaces;

column: #c

lasses;

column: #m

ethods.

b showOn: #n

amespaces;

using: [

b tree

displa

y: [ :model

|

mode

l allNamespa

ces

sele

ct: #isRoot

];

childr

en: #childSc

opes;

format

: #name ].

b showOn: #c

lasses;

from: #nam

espaces; usi

ng: [

b list

displa

y: #classes;

format

: #name ].

b showOn: #m

ethods;

from: #cla

sses; using:

[

b list

displa

y: #methods;

format

: #signature

].

b sendToOuts

ide: #class

from: #cla

sses.

b sendToOuts

ide: #method

from: #met

hods.

B := TableLa

youtBrowser

new.

B title: 'Gl

amorous Brow

ser'.

B row: #nav;

row: #deta

ils.

B showOn: #n

av;

using: [

B custom

: b ].

B showOn: #d

etails;

from: #nav

->#class;

using: [

B text

displa

y: #sourceTe

xt ].

B showOn: #d

etails;

from: #nav

->#method;

using: [

B text

displa

y: #sourceTe

xt ].

Page 30: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

Page 31: Assessment Through Exploration

Browser

Page 32: Assessment Through Exploration

Browser

Pane

*

1

Page 33: Assessment Through Exploration

Port

Browser

Pane1 *

*

1

Page 34: Assessment Through Exploration

Port

TransmissionBrowser

Pane1 *

*

1

1

*

1..*

*

Page 35: Assessment Through Exploration

Port

TransmissionBrowser

Pane1 *

*

1

1 *

1

*

1..*

*

Page 36: Assessment Through Exploration

Port

TransmissionBrowser

Presentation Pane* 1 1 *

*

1

1 *

1

*

1..*

*

Page 37: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

1

*

* 1 1 *

*

1

1 *

1

*

1..*

*

Page 38: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

ListTree

1

*

* 1 1 *

*

1

1 *

1

*

1..*

*

Page 39: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

ListTree

1

*

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

Page 40: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

ListTree

1

*

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

Page 41: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

ListTree

1

*

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

BundleSimple

Page 42: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

Action

ListTree

1

*

*

1

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

BundleSimple

Page 43: Assessment Through Exploration

Object

Port

TransmissionBrowser

Presentation Pane

Action

ListTree

1

*

*

1

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

BundleSimple

Mondrian

Page 44: Assessment Through Exploration

~50 classes

~2300 lines of code

Object

Port

TransmissionBrowser

Presentation Pane

Action

ListTree

1

*

*

1

* 1 1 *

*

1

1 *

FinderTableLayout

1

*

1..*

*

BundleSimple

Mondrian

Page 45: Assessment Through Exploration
Page 46: Assessment Through Exploration

}

{

}

{

}

{}

{

}

{

how can we build dedicated browsers?