Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Tanzanite-TBA
:Cranberry:
Bosch
:Tanzanite-TBA
:
Ha
rris
on
Str
ow
d
Fre
dd
y M
org
en
ste
rn
Nir
an
jan
Sa
lima
th
Ge
offe
ryG
eis
el
Va
roka
sP
an
usu
wa
n
Aa
ron
Fe
tte
rma
n
Cranberry:
Aliy
aM
ussin
a
Arp
an
Jh
a
Xu
eso
ng
Liu
An
ush
ka
Sir
de
sh
pa
nte
Bosch
:
Bh
an
uS
istla
Ab
his
he
kM
ind
e
Je
ff S
alk
Yu
ki S
atio
Na
n L
i
Overview
�R
e-intr
oduce the d
esig
n
�D
em
o o
f th
e g
am
e
�T
he D
esig
n E
xperience
�T
he S
pecific
ation E
xperience
�T
he S
pecific
ation E
xperience
�T
he T
esting E
xperience
�Q
uestions
Recall: The Design
Contr
olle
r
Model
Vie
w
Da
ta F
low
Fra
mew
ork
Recall: The Design
Back-e
nd
Plu
gin
Fro
nt-
end
Plu
gin
Fra
mew
ork
Recall: The Design
The F
ram
ew
ork
pro
vid
es a
set of
inte
rfaces a
nd a
set of sta
ndard
cla
sses
..w
hic
h a
re u
sed
Back-e
nd
Plu
gin
Fro
nt-
end
Plu
gin
..w
hic
h a
re u
sed
or
exte
nded b
y
the p
lugin
s
A c
lass
Inh
erits
fro
m
Use
s*
Th
is g
rap
hic
is ju
st a
ca
rto
on
, it is n
ot m
ea
nt to
re
pre
se
nt th
e a
ctu
al cla
ss s
tru
ctu
re o
f th
e g
am
e
Demonstration
Demonstration
Demonstration
Demonstration
Ma
kin
g m
ove
s
Sw
itch
ing tu
rns
Sw
itch
ing tu
rns
Ca
ptu
rin
g p
iece
s
Vic
tory
co
nd
itio
ns
Design: what went well
�E
ach o
f th
e p
lugin
sw
as im
ple
mente
d
�F
lexib
ility
in h
ow
each w
as im
ple
mente
d
�W
ell
defined c
lass s
tructu
re
�D
eco
up
led
fro
nt
an
d b
ack
�D
eco
up
led
fro
nt
an
d b
ack
�C
ou
ld w
ork
on
ea
ch
in
de
pe
nd
en
tly
�C
om
munic
ating a
lot
�H
avin
g p
eo
ple
de
sig
na
ted
as in
term
ed
iarie
s
be
twe
en
te
am
s
Design: what did not go well
�In
tegra
tion w
as h
ard
�D
eta
ils o
f in
terf
acin
g b
etw
ee
n fro
nt
an
d b
ack
en
d w
ere
no
t sp
ecifie
d in
en
ou
gh
de
tail
�W
ork
ing
ou
t th
ese
de
tails
wa
s c
ostly a
nd
�
Wo
rkin
g o
ut
the
se
de
tails
wa
s c
ostly a
nd
too
k e
ffo
rt
Fra
mew
ork
Back-e
nd
Plu
gin
Fro
nt-
end
Plu
gin
??
??
Design: Changes
�E
xpanded t
he
capabili
ties o
f th
e
rendere
r
�A
main
meth
od t
o p
ut
�R
earr
ange p
art
s o
f th
e
desig
n�
Mo
re s
up
po
rt fo
r p
rim
itiv
e e
ve
nts
What we changed
What we would change
�A
main
meth
od t
o p
ut
every
thin
g t
ogeth
er
�P
anels
inclu
ded
pro
cessin
g f
or
actions
in that panel
pri
mitiv
e e
ve
nts
�S
pend m
ore
tim
e
meeting t
o talk
about
the d
esig
n
�O
n the fra
mew
ork
sid
e,
�D
esig
n w
ith
im
ple
me
nta
tio
n in
min
d
What went well?
�In
form
al docum
enta
tion h
elp
team
s
unders
tand the fra
mew
ork
better
Making a move
1.
The u
ser
execute
s a
move t
hro
ugh t
he U
I
2.
The c
ontr
olle
r convert
s t
he c
o-o
rdin
ate
s in t
he U
I to
a M
ove
2.
The c
ontr
olle
r convert
s t
he c
o-o
rdin
ate
s in t
he U
I to
a M
ove
usin
g t
he M
oveF
acto
ry
3.
The c
ontr
olle
r in
vokes t
he G
am
e.M
ove()
meth
od p
assin
g in
this
Move o
bje
ct
4.
Gam
e.M
ove()
invokes R
ule
.isLegalF
or(
) passin
g in t
he
Move o
bje
cts
and p
layer
and b
oard
deta
ils
5.
If the R
ule
.isLegalF
or(
) m
eth
od r
etu
rns f
als
e,
Gam
e.M
ove()
retu
rns im
media
tely
6.
If the R
ule
.isLegalF
or(
) m
eth
od r
etu
rns t
rue, in
vokes
Board
.move()
7.
Board
.move()
update
s t
he s
tate
of th
e b
oard
whic
h is
reflecte
d in U
I
What went well?
�S
pecify d
eta
iled p
ieces h
elp
testing o
f
each c
om
ponent
�M
ore
ab
ou
t th
is in
te
stin
g!
Lessons Learned from Frontend
Specification
�T
he s
pecific
ation o
f th
e f
ronte
nd
depends a
lot
on r
endering p
latform
Repain
t!R
epain
t
?!?
Co
mp
osite
Pa
ne
l
Bo
ard
Pa
ne
lR
endere
r
Rendere
r
Tu
rn
Pa
ne
lR
endere
rJP
an
el
JP
an
el
JP
an
el
?!?
Lessons Learned from Backend
Specification
�C
om
munic
ation issue c
ause r
ew
ork
s o
n
a lot
of
facili
ties p
rovid
ed
Should
have lim
it
Should
have lim
it
exposure
only
to
the s
tandard
inte
rfaces
Ba
se
Pa
cka
ge
Fra
me
wo
rk
Pa
cka
ge
Ga
me
Pa
cka
ge
Lessons Learned from Backend
Specification
�U
sin
g M
VC
requires tw
o team
to a
gre
e
on the m
essages, w
hic
h leads to s
om
e
confu
sio
n
�W
ha
t m
essa
ge
s to
se
nd
?�
Wh
at m
essa
ge
s to
se
nd
?
�W
hic
h w
ay is u
p?
X
Y
X
Y
Backend T
hin
ksC
Fro
nte
nd T
hin
ksC
Resolving Specification Issues
�A
lot of
inte
racting a
nd c
oord
inating
betw
een the t
eam
s
�U
se e
xam
ple
s o
n h
ow
to p
ut
thin
gs
togeth
er
togeth
er
Plural Specification
�C
hecks that
every
thin
g is r
eady for
the g
am
e
to initia
lize
setP
layer(
)
setR
ule
s()
setB
oard
()
Plural Specification
�C
hecks that
liste
ners
can a
ttach o
nly
to t
he
top m
ost
panels
Aliv
e
Sta
teA
lso c
aptu
re U
niq
ue
Co
mp
osite
Pa
ne
l
Bo
ard
Pa
ne
l
Tu
rn
Pa
ne
l
Lis
tener
Sta
te
Att
ached
Sta
te
Att
ached
Sta
te
Als
o c
aptu
re U
niq
ue
perm
issio
n to the
liste
ner
Issu
es in Plural Specification
�T
rackin
g loaded a
nd s
aved s
tate
�A
few
concepts
not very
well
unders
tood
�N
eed to a
nnota
te the p
lug in c
lasses a
s
well
as the f
ram
ew
ork
well
as the f
ram
ew
ork
�@
Pe
rm(“
un
iqu
e(t
his
!fr)
”)
Plural vs. JavaDoc?
�JavaD
ocs
are
less c
om
ple
x a
nd c
an b
e
unders
tood b
y a
more
genera
l audie
nce
�JavaD
ocs
do n
ot allo
w for
auto
mate
d
corr
ectn
ess c
heckin
gcorr
ectn
ess c
heckin
g
�C
onclu
sio
n: Too m
uch o
verh
ead to
apply
Plu
ral to
an e
ntire
pro
ject
�u
sin
g it
on
se
lect p
iece
s th
at
rely
on
we
ll
de
fin
ed
pro
toco
ls c
an
be
extr
em
ely
effe
ctive
Testing Experience
�Defined interfaces made targeting specific
sections of code easier.
�S
pe
cifyin
g e
lem
en
ts in
de
tails
he
lps in
te
stin
g
Board
Panel
Mock
Board
Mock
Rendere
rC
lick!
�No framework specification on events m
ade
parts hard to specify early
�Te
sting event-based system is hard
Panel
Board
r
Turn
Panel
Mock
Board
Mock
Rendere
r
Clic
k!
Testing Challenges:
Some things were unrealistic to test
�Testing U
I re
sponse to a
board
update
�E
xam
ple
:�
Checkin
g the p
iece r
endering
�In
pra
ctice v
ery
hard
to im
ple
ment:
�In
pra
ctice v
ery
hard
to im
ple
ment:
obta
inin
g the d
raw
n p
iece fro
m t
he
Board
Panel.
�Tweak: C
an b
e d
one b
y c
heckin
g
the c
ente
r of
the c
ell.
�Too m
uch o
verh
ead.
Testing Challenges
�Te
sts
we
re d
esig
ne
d a
nd
im
ple
me
nte
d
se
pa
rate
ly
�S
om
e t
ests
we
re c
ha
ng
ed
du
rin
g t
he
ir
imp
lem
en
tatio
n
�W
rong a
ssum
ptions
�W
rong a
ssum
ptions
�S
om
e intr
a-
and inte
r-te
am
com
munic
ation
issues
�F
ront-
end c
hanges r
equired b
ack-e
nd t
est
change
�In
teg
ratio
n te
st
�H
ard
�D
ela
yed