View
1.287
Download
0
Category
Tags:
Preview:
DESCRIPTION
I used this set of slides for the CHOOSE talk I gave at the University of Zurich on October 23, 2009
Citation preview
assessmentthrough exploration
tudor gîrbawww.tudorgirba.com
forward engineering
}
{
}
{
}
{
}
{
forward engineering
actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
forward engineering
actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
reve
rse e
ngin
eerin
g
}
{
}
{
}
{}
{
}
{
}
{
}
{
}
{}
{
}
{
reports are useful, but limited
}
{
}
{
}
{}
{
}
{
visualization is important
}
{
}
{
}
{}
{
}
{
exploration is crucial
}
{
}
{
}
{}
{
}
{
how can we build dedicated browsers?
http://moose.unibe.ch/tools/glamour
Philipp BungeTudor GîrbaLukas RenggliJorge RessiaDavid Röthlisberger
package 1
package 2
...
Class A
Class B
...
method M
method N
...
source code
package 1
package 2
...
Class A
Class B
...
method M
method N
...
source code
package 1
package 2
...
Class A
Class B
...
method M
method N
...
source code
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
].
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 ].
}
{
}
{
}
{}
{
}
{
}
{
}
{
}
{}
{
}
{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 ].
}
{
}
{
}
{}
{
}
{
Browser
Browser
Pane
*
1
Port
Browser
Pane1 *
*
1
Port
TransmissionBrowser
Pane1 *
*
1
1
*
1..*
*
Port
TransmissionBrowser
Pane1 *
*
1
1 *
1
*
1..*
*
Port
TransmissionBrowser
Presentation Pane* 1 1 *
*
1
1 *
1
*
1..*
*
Object
Port
TransmissionBrowser
Presentation Pane
1
*
* 1 1 *
*
1
1 *
1
*
1..*
*
Object
Port
TransmissionBrowser
Presentation Pane
ListTree
1
*
* 1 1 *
*
1
1 *
1
*
1..*
*
Object
Port
TransmissionBrowser
Presentation Pane
ListTree
1
*
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
Object
Port
TransmissionBrowser
Presentation Pane
ListTree
1
*
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
Object
Port
TransmissionBrowser
Presentation Pane
ListTree
1
*
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
BundleSimple
Object
Port
TransmissionBrowser
Presentation Pane
Action
ListTree
1
*
*
1
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
BundleSimple
Object
Port
TransmissionBrowser
Presentation Pane
Action
ListTree
1
*
*
1
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
BundleSimple
Mondrian
~50 classes
~2300 lines of code
Object
Port
TransmissionBrowser
Presentation Pane
Action
ListTree
1
*
*
1
* 1 1 *
*
1
1 *
FinderTableLayout
1
*
1..*
*
BundleSimple
Mondrian
}
{
}
{
}
{}
{
}
{
how can we build dedicated browsers?
http://moose.unibe.ch/tools/glamour
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by/3.0/
Recommended