Professional Documents
Culture Documents
Solutions: OO Analysis and Design With UML and USDP
Solutions: OO Analysis and Design With UML and USDP
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
4
7
6
.
2
.
1
A
c
c
e
p
t
P
a
y
m
e
n
t
B
y
C
a
r
d
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
a
r
d
P
r
o
c
e
s
s
i
n
g
C
o
m
a
p
n
y
:
S
h
o
p
A
s
s
i
s
t
a
n
t
A
c
c
e
p
t
P
a
y
m
e
n
t
B
y
C
a
r
d
:
C
u
s
t
o
m
e
r
D
e
t
a
i
l
s
C
u
s
t
o
m
e
r
g
e
t
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
(
)
a
c
c
e
p
t
P
a
y
m
e
n
t
(
)
p
a
y
m
e
n
t
A
c
c
e
t
p
e
d
(
)
a
c
c
e
p
t
O
r
d
e
r
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
4
8
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
0
6
.
2
.
3
A
d
d
I
t
e
m
T
o
B
a
s
k
e
t
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
A
d
d
I
t
e
m
T
o
B
a
s
k
e
t
:
S
h
o
p
p
i
n
g
B
a
s
k
e
t
a
d
d
I
t
e
m
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
4
9
6
.
2
.
2
A
d
d
P
r
o
d
u
c
t
T
o
C
a
t
a
l
o
g
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
S
h
o
p
k
e
e
p
e
r
a
d
d
B
o
o
k
(
)
:
P
r
o
d
u
c
t
C
a
t
a
l
o
g
A
d
d
P
r
o
d
u
c
t
T
o
C
a
t
a
l
o
g
:
B
o
o
k
:
C
D
a
d
d
C
D
(
)
c
r
e
a
t
e
c
r
e
a
t
e
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
1
6
.
2
.
4
B
r
o
w
s
e
P
r
o
d
u
c
t
s
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
P
r
o
d
u
c
t
C
a
t
a
l
o
g
b
r
o
w
s
e
C
a
t
e
g
o
r
y
(
c
a
t
e
g
o
r
y
)
:
S
h
o
p
A
s
s
i
s
t
a
n
t
B
r
o
w
s
e
P
r
o
d
u
c
t
s
p
r
o
d
u
c
t
s
=
f
i
n
d
P
r
o
d
u
c
t
s
B
y
C
a
t
e
g
o
r
y
(
c
a
t
e
g
o
r
y
)
s
e
l
e
c
t
e
d
:
P
r
o
d
u
c
t
V
i
e
w
P
r
o
d
u
c
t
s
(
p
r
o
d
u
c
t
s
)
r
e
f
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
2
6
.
2
.
5
C
a
n
c
e
l
O
r
d
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
[
i
d
]
:
O
r
d
e
r
C
a
n
c
e
l
O
r
d
e
r
:
O
r
d
e
r
M
a
n
a
g
e
r
c
a
n
c
e
l
O
r
d
e
r
(
i
d
)
O
p
e
n
C
a
n
c
e
l
l
e
d
e
n
t
r
y
/
s
e
t
C
a
n
c
e
l
l
a
t
i
o
n
T
i
m
e
D
a
t
e
(
)
c
a
n
c
e
l
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
3
6
.
2
.
6
C
l
o
s
e
O
r
d
e
r
C
o
m
m
u
n
i
c
a
t
i
o
n
D
i
a
g
r
a
m
D
i
s
p
a
t
c
h
e
r
[
C
l
o
s
e
d
]
:
O
r
d
e
r
:
O
r
d
e
r
M
a
n
a
g
e
r
1
c
l
o
s
e
O
r
d
e
r
(
)
1
.
1
c
l
o
s
e
(
)
:
S
h
i
p
p
i
n
g
D
e
t
a
i
l
s
[
O
p
e
n
]
:
O
r
d
e
r
b
e
c
o
m
e
1
.
3
c
r
e
a
t
e
1
.
2
s
e
t
S
h
i
p
p
i
n
g
D
e
t
a
i
l
s
(
)
C
l
o
s
e
O
r
d
e
r
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
4
6
.
2
.
7
C
l
o
s
e
O
r
d
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
D
i
s
p
a
t
c
h
e
r
[
i
d
]
:
O
r
d
e
r
C
l
o
s
e
O
r
d
e
r
:
O
r
d
e
r
M
a
n
a
g
e
r
c
l
o
s
e
O
r
d
e
r
(
i
d
)
O
p
e
n
C
l
o
s
e
d
c
l
o
s
e
(
)
s
e
t
S
h
i
p
p
i
n
g
D
e
t
a
i
l
s
(
)
:
S
h
i
p
p
i
n
g
D
e
t
a
i
l
s
c
r
e
a
t
e
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
5
6
.
2
.
8
C
h
e
c
k
o
u
t
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
o
r
d
e
r
=
c
r
e
a
t
e
O
r
d
e
r
(
)
C
u
s
t
o
m
e
r
:
S
h
o
p
A
s
s
i
s
t
a
n
t
:
S
h
o
p
p
i
n
g
B
a
s
k
e
t
I
n
v
e
n
t
o
r
y
:
O
r
d
e
r
M
a
n
a
g
e
r
c
h
e
c
k
o
u
t
(
)
i
t
e
m
s
=
g
e
t
I
t
e
m
s
(
)
:
O
r
d
e
r
c
r
e
a
t
e
l
o
o
p
[
f
o
r
e
a
c
h
i
t
e
m
i
n
i
t
e
m
s
]
i
n
S
t
o
c
k
=
r
e
s
e
r
v
e
(
i
t
e
m
)
a
l
t
[
i
n
S
t
o
c
k
]
a
d
d
I
t
e
m
(
i
t
e
m
)
[
!
i
n
S
t
o
c
k
]
i
t
e
m
O
u
t
O
f
S
t
o
c
k
(
i
t
e
m
)
d
i
s
p
l
a
y
(
)
a
l
t
c
o
n
f
i
r
m
O
r
d
e
r
(
)
C
l
o
s
e
d
c
o
n
f
i
r
m
(
)
[
c
o
n
f
i
r
m
]
[
c
a
n
c
e
l
]
c
a
n
c
e
l
O
r
d
e
r
(
)
i
t
e
m
s
=
g
e
t
I
t
e
m
s
(
)
l
o
o
p
[
f
o
r
e
a
c
h
i
t
e
m
i
n
i
t
e
m
s
]
r
e
l
e
a
s
e
I
t
e
m
(
i
t
e
m
)
d
e
s
t
r
o
y
C
h
e
c
k
o
u
t
:
C
u
s
t
o
m
e
r
D
e
t
a
i
l
s
C
a
r
d
P
r
o
c
e
s
s
i
n
g
C
o
m
p
a
n
y
A
c
c
e
p
t
P
a
y
m
e
n
t
B
y
C
a
r
d
r
e
f
C
a
n
c
e
l
l
e
d
O
p
e
n
c
a
n
c
e
l
(
)
O
p
e
n
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
6
6
.
2
.
9
C
r
e
a
t
e
N
e
w
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
S
h
o
p
A
s
s
i
s
t
a
n
t
c
r
e
a
t
e
C
u
s
t
o
m
e
r
(
)
:
C
u
s
t
o
m
e
r
D
e
t
a
i
l
s
:
C
u
s
t
o
m
e
r
M
a
n
a
g
e
r
c
r
e
a
t
e
C
u
s
t
o
m
e
r
(
)
c
r
e
a
t
e
C
r
e
a
t
e
N
e
w
C
u
s
t
o
m
e
r
:
S
e
c
u
r
i
t
y
G
u
a
r
d
c
r
e
a
t
e
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
,
c
u
s
t
o
m
e
r
I
d
e
n
t
i
f
i
e
r
)
:
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
c
r
e
a
t
e
:
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
c
r
e
a
t
e
v
a
l
i
d
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
7
6
.
2
.
1
0
C
r
e
a
t
e
N
e
w
U
s
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
S
y
s
t
e
m
A
d
m
i
n
i
s
t
r
a
t
o
r
[
e
x
i
s
t
i
n
g
]
:
U
s
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
c
r
e
a
t
e
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
N
a
m
e
,
p
a
s
s
w
o
r
d
,
n
a
m
e
,
e
m
a
i
l
A
d
d
r
e
s
s
,
p
h
o
n
e
N
u
m
b
e
r
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
C
r
e
a
t
e
N
e
w
U
s
e
r
v
a
l
i
d
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
e
x
i
s
t
s
=
v
a
l
i
d
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
:
U
s
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
c
r
e
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
,
n
a
m
e
,
e
m
a
i
l
A
d
d
r
e
s
s
,
p
h
o
n
e
N
u
m
b
e
r
)
[
l
o
o
p
f
o
r
e
a
c
h
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
]
C
h
e
c
k
e
a
c
h
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
o
b
j
e
c
t
t
o
e
n
s
u
r
e
t
h
a
t
t
h
e
u
s
e
r
n
a
m
e
a
n
d
p
a
s
s
w
o
r
d
a
r
e
f
r
e
e
.
o
p
t
[
!
e
x
i
s
t
s
]
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
8
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
5
9
6
.
2
.
1
1
D
e
l
e
t
e
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
S
h
o
p
k
e
e
p
e
r
d
e
l
e
t
e
C
u
s
t
o
m
e
r
(
i
d
)
[
i
d
]
:
C
u
s
t
o
m
e
r
D
e
t
a
i
l
s
:
C
u
s
t
o
m
e
r
M
a
n
a
g
e
r
D
e
l
e
t
e
C
u
s
t
o
m
e
r
f
i
n
d
C
u
s
t
o
m
e
r
(
i
d
)
:
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
d
e
s
t
r
o
y
d
e
s
t
r
o
y
:
S
e
c
u
r
i
t
y
G
u
a
r
d
[
u
s
e
r
N
a
m
e
]
:
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
d
e
s
t
r
o
y
d
e
l
e
t
e
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
r
N
a
m
e
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
0
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
1
6
.
2
.
1
2
D
e
l
e
t
e
P
r
o
d
u
c
t
F
r
o
m
C
a
t
a
l
o
g
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
S
h
o
p
k
e
e
p
e
r
i
d
:
P
r
o
d
u
c
t
:
P
r
o
d
u
c
t
C
a
t
a
l
o
g
D
e
l
e
t
e
P
r
o
d
u
c
t
F
r
o
m
C
a
t
a
l
o
g
d
e
l
e
t
e
P
r
o
d
u
c
t
(
i
d
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
2
6
.
2
.
1
3
D
e
l
e
t
e
U
s
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
S
y
s
t
e
m
A
d
m
i
n
i
s
t
r
a
t
o
r
[
u
s
e
r
N
a
m
e
]
:
U
s
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
d
e
l
e
t
e
(
u
s
e
r
N
a
m
e
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
D
e
l
e
t
e
U
s
e
r
f
i
n
d
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
r
N
a
m
e
)
d
e
s
t
r
o
y
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
3
6
.
2
.
1
4
D
i
s
p
l
a
y
B
a
s
k
e
t
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
S
h
o
p
p
i
n
g
B
a
s
k
e
t
d
i
s
p
l
a
y
B
a
s
k
e
t
(
)
:
S
h
o
p
A
s
s
i
s
t
a
n
t
D
i
s
p
l
a
y
B
a
s
k
e
t
i
t
e
m
s
=
g
e
t
I
t
e
m
s
(
)
i
t
e
m
:
I
t
e
m
[
f
o
r
e
a
c
h
i
t
e
m
i
n
i
t
e
m
s
]
d
i
s
p
l
a
y
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
4
6
.
2
.
1
5
D
i
s
p
l
a
y
O
p
e
n
O
r
d
e
r
s
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
d
i
s
p
l
a
y
O
p
e
n
O
r
d
e
r
s
(
)
:
O
r
d
e
r
M
a
n
a
g
e
r
D
i
s
p
l
a
y
O
p
e
n
O
r
d
e
r
s
o
r
d
e
r
:
O
r
d
e
r
g
e
t
S
u
m
m
a
r
y
(
)
s
e
l
e
c
t
e
d
:
O
r
d
e
r
[
f
o
r
e
a
c
h
o
r
d
e
r
i
n
o
r
d
e
r
s
]
d
i
s
p
l
a
y
(
)
d
i
s
p
l
a
y
O
r
d
e
r
D
e
t
a
i
l
s
(
)
o
r
d
e
r
s
=
g
e
t
O
p
e
n
O
r
d
e
r
s
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
5
6
.
2
.
1
6
F
i
n
d
P
r
o
d
u
c
t
s
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
P
r
o
d
u
c
t
C
a
t
a
l
o
g
f
i
n
d
P
r
o
d
u
c
t
s
(
c
r
i
t
e
r
i
a
)
:
S
h
o
p
A
s
s
i
s
t
a
n
t
F
i
n
d
P
r
o
d
u
c
t
s
p
r
o
d
u
c
t
s
=
f
i
n
d
P
r
o
d
u
c
t
s
(
c
r
i
t
e
r
i
a
)
s
e
l
e
c
t
e
d
:
P
r
o
d
u
c
t
V
i
e
w
P
r
o
d
u
c
t
s
(
p
r
o
d
u
c
t
s
)
r
e
f
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
6
6
.
2
.
1
7
L
o
g
O
n
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
[
u
s
e
r
N
a
m
e
]
:
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
v
a
l
i
d
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
L
o
g
O
n
C
u
s
t
o
m
e
r
v
a
l
i
d
a
t
e
(
u
s
e
N
a
m
e
,
p
a
s
s
w
o
r
d
)
:
S
h
o
p
A
s
s
i
s
t
a
n
t
r
e
c
o
g
n
i
s
e
C
u
s
t
o
m
e
r
(
)
T
h
e
s
y
s
t
e
m
r
e
c
o
g
n
i
s
e
s
t
h
e
C
u
s
t
o
m
e
r
.
T
h
e
C
u
s
t
o
m
e
r
d
o
e
s
n
o
t
h
a
v
e
t
o
e
n
t
e
r
a
u
s
e
r
n
a
m
e
a
n
d
p
a
s
s
w
o
r
d
f
i
n
d
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
r
N
a
m
e
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
7
6
.
2
.
1
8
L
o
g
o
n
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
-
E
x
i
s
t
i
n
g
C
u
s
t
o
m
e
r
N
o
t
R
e
c
o
g
n
i
s
e
d
C
u
s
t
o
m
e
r
:
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
l
o
g
O
n
C
u
s
t
o
m
e
r
(
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
E
x
i
s
t
i
n
g
C
u
s
t
o
m
e
r
N
o
t
R
e
c
o
g
n
i
s
e
d
f
i
n
d
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
)
v
a
l
i
d
a
t
e
P
a
s
s
w
o
r
d
(
)
:
S
h
o
p
A
s
s
i
s
t
a
n
t
l
o
g
O
n
C
u
s
t
o
m
e
r
(
)
T
h
e
s
y
s
t
e
m
d
o
e
s
n
o
t
r
e
c
o
g
n
i
s
e
t
h
e
C
u
s
t
o
m
e
r
.
T
h
e
C
u
s
t
o
m
e
r
h
a
s
t
o
e
n
t
e
r
a
u
s
e
r
n
a
m
e
a
n
d
p
a
s
s
w
o
r
d
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
8
6
.
2
.
1
9
L
o
g
o
n
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
-
C
u
s
t
o
m
e
r
L
o
g
O
n
F
a
i
l
s
C
u
s
t
o
m
e
r
:
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
l
o
g
O
n
C
u
s
t
o
m
e
r
(
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
C
u
s
t
o
m
e
r
L
o
g
O
n
F
a
i
l
s
f
i
n
d
C
u
s
t
o
m
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
)
v
a
l
i
d
a
t
e
P
a
s
s
w
o
r
d
(
)
l
o
g
S
e
c
u
r
i
t
y
V
i
o
l
a
t
i
o
n
(
)
T
h
e
C
u
s
t
o
m
e
r
e
n
t
e
r
s
a
n
i
n
v
a
l
i
d
p
a
s
s
w
o
r
d
o
n
t
h
e
i
r
t
h
i
r
d
a
t
t
e
m
p
t
a
t
l
o
g
o
n
.
:
S
h
o
p
A
s
s
i
s
t
a
n
t
l
o
g
O
n
C
u
s
t
o
m
e
r
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
6
9
6
.
2
.
2
0
L
o
g
O
n
U
s
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
U
s
e
r
[
u
s
e
r
N
a
m
e
]
:
U
s
e
r
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
l
o
g
O
n
U
s
e
r
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
:
S
e
c
u
r
i
t
y
G
u
a
r
d
L
o
g
O
n
U
s
e
r
f
i
n
d
S
e
c
u
r
i
t
y
P
r
o
f
i
l
e
(
u
s
e
r
N
a
m
e
)
v
a
l
i
d
a
t
e
(
u
s
e
r
N
a
m
e
,
p
a
s
s
w
o
r
d
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
7
0
6
.
2
.
2
1
M
a
n
a
g
e
B
a
s
k
e
t
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
S
h
o
p
p
i
n
g
B
a
s
k
e
t
:
S
h
o
p
A
s
s
i
s
t
a
n
t
M
a
n
a
g
e
B
a
s
k
e
t
[
s
e
l
e
c
t
e
d
I
d
]
:
I
t
e
m
w
h
i
l
e
u
p
d
a
t
i
n
g
b
a
s
k
e
t
r
e
m
o
v
e
I
t
e
m
(
s
e
l
e
c
t
e
d
I
d
)
s
e
t
Q
u
a
n
t
i
t
y
(
s
e
l
e
c
t
e
d
I
d
,
n
e
w
Q
u
a
n
t
i
t
y
)
s
e
t
Q
u
a
n
t
i
t
y
(
n
e
w
Q
u
a
n
t
i
t
y
)
d
e
s
t
r
o
y
r
e
m
o
v
e
I
t
e
m
(
s
e
l
e
c
t
e
d
I
d
)
s
e
t
Q
u
a
n
t
i
t
y
(
s
e
l
e
c
t
e
d
I
d
,
n
e
w
Q
u
a
n
t
i
t
y
)
[
r
e
m
o
v
e
]
a
l
t
[
s
e
t
Q
u
a
n
t
i
t
y
]
s
e
l
e
c
t
e
d
I
d
=
s
e
l
c
t
I
t
e
m
(
)
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
7
1
6
.
2
.
2
2
U
p
d
a
t
e
C
u
s
t
o
m
e
r
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
S
h
o
p
A
s
s
i
s
t
a
n
t
u
p
d
a
t
e
C
u
s
t
o
m
e
r
(
i
d
)
c
u
s
t
o
m
e
r
:
C
u
s
t
o
m
e
r
D
e
t
a
i
l
s
:
C
u
s
t
o
m
e
r
M
a
n
a
g
e
r
f
i
n
d
C
u
s
t
o
m
e
r
(
i
d
)
s
e
t
N
a
m
e
(
n
e
w
N
a
m
e
)
U
p
d
a
t
e
C
u
s
t
o
m
e
r
c
u
s
t
o
m
e
r
=
f
i
n
d
C
u
s
t
o
m
e
r
(
)
s
e
t
A
d
d
r
e
s
s
(
n
e
w
A
d
d
r
e
s
s
)
s
e
t
E
m
a
i
l
A
d
d
r
e
s
s
(
n
e
w
E
m
a
i
l
A
d
d
r
e
s
s
)
s
e
t
P
h
o
n
e
N
u
m
b
e
r
(
n
e
w
P
h
o
n
e
N
u
m
b
e
r
)
s
e
t
F
a
x
N
u
m
b
e
r
(
n
e
w
F
a
x
N
u
m
b
e
r
)
s
e
t
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
(
n
a
m
e
O
n
C
a
r
d
,
c
a
r
d
N
u
m
b
e
r
,
e
x
p
i
r
y
D
a
t
e
,
t
y
p
e
,
c
a
r
d
V
e
r
i
f
i
c
a
t
i
o
n
C
o
d
e
)
[
o
l
d
]
:
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
[
n
e
w
]
:
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
o
p
t
[
c
h
a
n
g
e
N
a
m
e
]
[
c
h
a
n
g
e
A
d
d
r
e
s
s
]
[
c
h
a
n
g
e
E
m
a
i
l
A
d
d
r
e
s
s
]
[
c
h
a
n
g
e
P
h
o
n
e
N
u
m
b
e
r
]
[
c
h
a
n
g
e
F
a
x
N
u
m
b
e
r
]
[
c
h
a
n
g
e
C
r
e
d
i
t
C
a
r
d
]
C
r
e
d
i
t
C
a
r
d
D
e
t
a
i
l
s
a
r
e
n
o
t
u
p
d
a
t
e
d
.
O
l
d
d
e
t
a
i
l
s
a
r
e
d
e
l
e
t
e
d
a
n
d
r
e
p
l
a
c
e
d
w
i
t
h
n
e
w
o
n
e
s
.
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
7
2
2
0
0
4
C
l
e
a
r
V
i
e
w
T
r
a
i
n
i
n
g
L
i
m
i
t
e
d
7
3
6
.
2
.
2
3
V
i
e
w
P
r
o
d
u
c
t
s
S
e
q
u
e
n
c
e
D
i
a
g
r
a
m
C
u
s
t
o
m
e
r
:
S
h
o
p
A
s
s
i
s
t
a
n
t
s
e
l
e
c
t
P
r
o
d
u
c
t
(
)
s
e
l
e
c
t
e
d
:
P
r
o
d
u
c
t
d
i
s
p
l
a
y
F
u
l
l
D
e
t
a
i
l
s
(
)
W
h
i
l
e
v
i
e
w
i
n
g
a
l
t
[
n
e
x
t
]
[
p
r
e
v
i
o
u
s
]
[
s
e
l
e
c
t
P
r
o
d
u
c
t
]
V
i
e
w
P
r
o
d
u
c
t
s
(
p
r
o
d
u
c
t
s
)
d
i
s
p
l
a
y
P
a
g
e
(
n
e
x
t
)
[
b
a
c
k
]
d
i
s
p
l
a
y
P
a
g
e
(
p
r
e
v
i
o
u
s
)
d
i
s
p
l
a
y
P
a
g
e
(
c
u
r
r
e
n
t
)
A
f
t
e
r
d
i
s
p
l
a
y
i
n
g
f
u
l
l
d
e
t
a
i
l
s
r
e
t
u
r
n
t
o
t
h
e
l
a
s
t
d
i
s
p
l
a
y
e
d
p
a
g
e
.
2004 Clear View Training Limited
74
7 ECP analysis class diagrams
7.1 Introduction
This section contains the final ECP analysis class diagrams that resulted from the process
of use case realization.
7.2 ECP analysis package diagram
Figure 5:
2004 Clear View Training Limited
75
7.3 Overview class diagram
Figure 6:
2004 Clear View Training Limited
76
7.4 The Shop package
Figure 7:
7.5 The Product package
Figure 8:
2004 Clear View Training Limited
77
7.6 The Order package
Figure 9:
7.7 The Customer package
Figure 10:
2004 Clear View Training Limited
78
7.8 The Security package
2004 Clear View Training Limited
78
8 ECP design model
8.1 Introduction
In iteration 1, we implement the use cases AddProductToCatalog, RemoveProductFrom-
Catalog for books.
In this iteration we develop a vertical slice down through the system from the user inter-
face layer to the database access layer.
8.2 Subsystems
The component diagram in Figure 11 shows the layered architecture for the ECP system.
These layers are:
Presentation - the user interface layer;
Business Logic - the business logic of the application;
Database Access - the interface to the database.
Each of these layers contains one or more components stereotyped subsystem. Each of
these components represents a logical unit of decomposition of the system. Each compo-
nent is realized by one or more classes
Figure 11:
subsystem
WebInterface
subsystem
ProductCatalog
subsystem
MySQLInterface
HTMLPage
ManageBookCatalog
servlet
AddBookServlet
servlet
DeleteBookServlet
BookVO BookDAO
Presentation
Layer
Business
Logic Layer
Database
Access Layer
ECP Iteration 1 Component Architecture
2004 Clear View Training Limited
79
8.3 Design class diagram
This class diagram shows how the Business Logic layer (AddBookServlet and Delete-
BookServlet) interacts with the Database Access layer (BookCatalogDAO and BookVO)
to add and delete book entries from the database.
Figure 12:
2004 Clear View Training Limited
80
8.4 Artifacts
Figure 13:
8.5 AddBookToCatalog design sequence diagram
Figure 14:
subsystem
WebInterface
subsystem
ProductCatalog
subsystem
MySQLInterface
directory
httpdocs
artifact
ManageBookCatalog.html
manifest
directory
classes
artifact
AddBookServlet.class
artifact
DeleteBookServlet.class
artifact
BookVO.class
artifact
BookCatalogDAO.class
manifest
manifest
ECP Iteration 1 Component Manifestation
directory
WEB_INF
deployment spec
web.xml
Shopkeeper
addBook()
:ProductCatalog
AddBookToCatalog
book:BookVO
BookVO(isbn, title, category, authors,
publisher, price description, imageURI)
:AddBookServlet
:WebInterface
doPost(req, res)
:BookCatalogDAO
addBook( book )
:ManageBookCatalog.html
:MySQLInterface
:MySQLInterface
2004 Clear View Training Limited
81
8.6 DeleteBookFromCatalog design sequence diagram
Figure 15:
8.7 Order state machine
Figure 16:
Shopkeeper
deleteBook()
:ProductCatalog
DeleteBookFromCatalog
:DeleteBookServlet
:WebInterface
doPost(req, res)
:BookCatalogDAO
deleteBook( isbn )
:ManageBookCatalog.html
:MySQLInterface
Order state machine
Open
:UnpaidFor
PaidFor
Closed
Shipped Cancelled
acceptPayment
cancel
2004 Clear View Training Limited
82
8.8 UnpaidFor submachine state - adding and removing items
Here is the submachine for the UnpaidFor state.
Figure 17:
UnpaidFor
EditingOrder
AddingItem
entry/addItem
RemovingItem
entry/removeItem
UpdatingTotal
entry/calculateTotal
ChangingQuantity
entry/changeQuantity
addItem
removeItem [numberOfItems > 0]
changeQuantity [numberOfItems > 0]
[quantity = 0]
[quantity > 0]
2004 Clear View Training Limited
83
9 ECP deployment model
9.1 Deployment diagram
Figure 18:
device
WindowsPC
execution environment
IE6
device
LinuxPC
execution environment
Tomcat
execution environment
MySQL
http
ECP Deployment Diagram
directory
httpdocs