Вы находитесь на странице: 1из 159

UML

Internet

Applying Use
Case Driven
Object Modeling
with UML
An Annotated
eCommerce Example

Doug Rosenberg
Kendall Scott

Boston San Francisco New York Toronto Montreal


London Munich Paris Madrid
Capetown Sydney Tokyo Singapore Mexico City


UML


Internet

004.415.2
32.973.26018.1
64

64

., .
UML
: . . .: . 160 .: . ( 
).
ISBN 5940740502

. 
Internet.
ICONIX , 
UML, ,
. 
: 
, ,
. ,
, , 
.
, 
. ,
,
.
Authorized Translation from the English language edition, entitled Applying Use Case
Driven Object Modeling with UML: An Annotated eCommerce Example, 1st Edition by
ROSENBERG, DOUG and KENDALL, SCOTT, published by Pearson Education, Inc,
publishing as AddisonWesley, Copyright by AddisonWesley.
All rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by any
information storage retrieval system, without permission from Pearson Education, Inc.
.

.
, , . ,
,
. 
, .

ISBN 0201730391 (.)


ISBN 5940740502 (.)

AddisonWesley
,


.............................................................................. 7
1. ICONIX ................................................ 12
ICONIX ................................................. 13
ICONIX ................................................... 22
..................................................................... 23
............................ 24
Internet .................................. 25

2. ........... 28
......... 29
10
Top 10 ..................... 31
................................................................................ 34
...................................................... 45

3. ........................... 47
..................... 48
10
Top 10 ................................. 50
................................................................................ 54
................................................ 65

4. ............................ 66
...................... 67
10
Top 10 .................................. 69

5. ............................................. 74
................................. 76
10
Top 10 .............................................. 79

UML
................................................................................ 82
................... 93

6.
................................................. 94

......................................................... 95
10
Top 10 .......... 97

7. .................. 101
................ 101
............................ 104
10
Top 10 ........ 106
.............................................................................. 110
............................ 123

8.
..................................................... 124

................................. 124
10
Top 10 ............. 129

.
............................................. 133
. .............. 133

.............................................................................. 152
....................................................... 154


(Tom Johnson), 
, . 
,
,
, . .

, Use Case Object Modeling with UML, 


, , 
, . 

,
.
( 1993 ) ,
.
. , 
, , .

, UML.

, ,
,
(reviewing) .
, 
, AddisonWesley 
, , 
Internet.
, 
. , 
, 
, . ,
, 
UML , 
, , .

, 
, . 
, , 
.
, , , 
.


1 ICONIX,
.
:


( 2), ( 3), 
( 5) 
( 7). ,
. 
Internet, 
, .
3 ;

5 7 . 
, 2,

5 7;

. 
Use Case Object Modeling with UML, 
;
,
.
, , 
: 
, ..;

.
.

, 
, .


( );

. Top 10. 
, ;
, , ,
, , ;

&

'

,
.
:

;
, 
Top 10 
.

. 2 , 
. 3.
5 7 ,
. ,

.
4 ,
,

.
6 , 
,
( 
), , 
,
( , , 
). , ,
.
8 .
, (),
, (), 
. , ,
,
.
4, 6, 8 , 
,

10

. , , ,

, 
.

. http://www.iconixsw.
com/WorkbookExample.html. , 
, 
, . 
.
,
.
, ?
. , 
.

, ICONIX,
(Andrea Lee) , 
ICONIX,
1, (Chris Starczak), (Jeff Kan
tor) (Erin Arnold). ,
, , , : , 
, ,
, , ,
  1.
(Paul Becker) 
AddisonWesley, (Ross Ve
nables) , ,
,
( ).
, 
(Mark Woodbury), 
, , , 
, . (Greg
Wilson), Dr.
Dobbs Journal. , 
. , : ,
1

, ! .
.

11

, ... ! 
,
, 
. ,
. , , 
.
, ,
,
.

,
2001
dougr@iconixsw.com
http://www.iconixsw.com


,
2001
kendall@usecasedriven.com
http://www.usecasedriven.com

1. ICONIX
ICONIX 
(Rational Unified Pro
cess RUP) eX
treme (XP). ICONIX, RUP, ,
. 
UML (Unified Modeling Language), 
. ,
ICONIX, (Ivar Jacobson), 
,
,
.
ICONIX , 
90 , (Jim Rum
baugh) (Grady Booch), .
UML,
.
32 UML, The Unified Modeling Lan
guage User Guide, : 80%
20% UML. ,
. UML 
, . 
, 
UML .
:
,
, .
, . 
,

. 
, .
, 
, : 
.

ICONIX

13

UML ( 
),
. 

. , ,

.

ICONIX
. 1.1 ,
ICONIX.
A

B
???

. 1.1. ,

, A B 
. ( 
, , , 
.) , A
, ,
,  . B 
, , ,
. , 
, . 
,
, 
, , 
, 
, .
, ,
. , 

. . 1.2 
:

ICONIX

14

;
;
, 
.

. 1.2.

. 
, .
: ?.

. , , 
, .
.
, , ,
. , 
, ,
.
, 
.
, , UML
. 
. ,
, 
; 
.
. 1.3 , 
. ,
.

ICONIX

15

. 1.3.

 
.

, 
, . 
, .
,
.
UML 

.
,
. , 
.
.

.
. 1.4
. 
.

.
. 
, Rational Rose GDPro, ,
, , ,

ICONIX

16

. 1.4.
()

, . 
.
.
, ,
. ,
, 

.  .
, 
, , 
.
ICONIX.

.
. .
UML, , 

.
UML . ,
. 
.

, . 
, , , ,

ICONIX

17

.
. ,
, , 
, .
, 
. ,
, .
, 
, , 
, . 
,
. 
.
. 1.5 UML.

UML, 
Objectory ProcessSpecific Extensions.
, 
. 
, 
, ,

. 1.5.

18

ICONIX

.
, . 
, .

.
,
, , . 
.
, 
. ,
, ,
. , 
.
. 
, 
.
, 
: 
. ,
, , ,
, 
. 
, .
: 
. 

. ,
.
.
,
. , ,
, , , ,
. , 
, 
.
,
.

. , , ,
.

ICONIX

19

, , , 
, ,
, 
. ,
: 

.

, , 
, .
OMT (Object Modeling Technique),
, 
, .
, 
, , 

. ,
, ,
. 
, , 
,
.
, 
. , , 
, . 
,
.
UML , ,
. 
, . 
, .
,
.

.
. 1.6 , , 
,
.
, . 
UML .

20

ICONIX

. 1.6.

,
UML. 
, 
UML.
, 
, 
.
, . ,
. 1.6,
, 
.

, .

. , 
, 
, 
. .
. 1.7 ICONIX.
.

ICONIX

21

. 1.7. ICONIX UML

: , 
, , .
,
. ,
, , 
, .
.
.
,
,
.
.

. , , , 
, 
.

, . 
,

22

ICONIX

, 
.
, 
.

. ,
,
. ,
, .
.
, 80% ,
, ,

.

ICONIX
. 1.7 
, UML ,
.
.
.
, UML.
, , , 
 .
UML, 

.
, . 
.

. , , 

.
, ,
.
, 
.
. 

( ,

23

). , ,

. ,
.
, 
ICONIX
, . 
.

ICONIX 
. 
:
() ;
( )
;
;
;
, ;
.
,
( ), ,

, (
) . 
,
. 
, 
. ,

.


,
,
, 
, . 
,

.

24

ICONIX


, .
, , , 
,
.

. , ,
. , 
, 
. 
, .
,  ,
, :
;
(),
;

. ,
;
;
, 

, :
, (cohesion), , 
..
, :

;

( ,
);

, ;
, 
, .


. 1.81.11 ICONIX 
. ,

Internet

25

,
.
.
,
,
.

, .

. .

1:

. 1.8.

, .
( ,
, , . 1.11 
.)
,
( ,
):
1. , .
2. , 
.
3. .

.
, .

Internet

Internet

26

ICONIX
*
,
.
. :
* ,
. (Objectory), UML;
*
.
,
.

2:

. 1.9.

. , ,
( 
). :
Internet;

;

;

;
,
, , ISBN ;

;

;
,
;

;

Internet

27

. :
* , ,
. ,
,
. ,
;
* , ,
;
*
.
,
(, ).
,
.

3:

. 1.10.

,
, .
.

.
* ,
.

4:

. 1.11.


;

;

.

2.


UML. 
, ,
, . 
 
,
. , 
, .

.
, , 
. , , (. 3),

. 
. ,
,
. ,
.

, .
: ( 
) ( ).
, 
, .
, .
UML ( 
) ( , ). ,
,
; 
, .

.

29


. , ,
 ,
,

. , 
.

OMT (Object Modeling Technique), 
. , 
, , ,
. ,
, 
. , ,
, ,
. ( 5)
( 7), , .
,
.
. 2.1 , 
ICONIX.



, ,
,
. , 
, 
.
, , 
,
. 
( ,
),
. ,
(), .
:

;

30

. 2.1. ICONIX

;
,
, .

( ) (
, ) .

( ).
,
. 
, 
.
( 
) .
, (
),
, (), 
, .

31


. ,
,
. 

.

10
Top 10
,
:
, , 
#10
.

, . 
. 
,

.
,
#9
.
(Kurt Derr) Applying OMT (SIGS Books,
1995) 
. , ,
.
, ,
.
,
#8
.

.

. ( ,
),
(. 7).
, 
#7
.
,
,

32

#6

#5

#4


. , 
. 
,
,
. 

.
, 
, , .
,
.
,
, UML 
.
( ,
: ,

).
. 
.

.
, 
.
,

. 
, 
 ,
.
, 
.
, cPortMgrIntf PortfolioManager.
,
, 
.
, . 
(
) .


#3

#2

#1

33

, 

.
UML
, . 
, C++, 
.
, 
, , ,
.

.
, 
,
, ,
. .
, 
. 

.
, 
,
.

. 5, : 
, 
. , ,


.
.

34

, 
. (
, .) 
. . 

, .

35

#3

#8

cLoginMgr

cBinaryTree
()

#4

. 2.2. 1

36

. 2.3. 1
:

cBinaryTree ( UML 
). ,
;
cLoginMgr . 
, .
, ;
cLoginMgr .

37

#5

#6

cSessionBeanShpngCart

#4

. 2.4. 2

38

. 2.5. 2
:
cSessionBeanShpngCart , 
Enterprise Java
Beans (EJB). , , 
(. 5);
, , ;
. ,
, . ,
.

39

1
entity

#10

1..3

#2

()
()
()

#8

. 2.6. 3

40

. 2.7. 3
:
, 
(, 
, );
;
.

41

#5

: Vector

#1

#2

. 2.8. 4

42

. 2.9. 4
:
, , ,
, , , 
Order (,
3,
);
Vector Java;
(Proxy).
.

#6

#5

server

client

#5
()


()

. 2.10. 5

#8

43

44

server

. 2.11. 5
:
;
, ,
, ;

.

45


. 2.12
Internet. ,
, ,
.

46

. 2.12. Internet+

3.
,
: ?.

, 
. , , 
.
.
. 3.1
ICONIX 
. ,
.

. 3.1. ICONIX

48

. 
, 
.
. 3.1 , 
. 
.
.

.
,
.

. ,
, 
. ,
. , 
.
,
. , 
, 
.


, 

, .

.

: .

. , ,
. ,
: 
, . 
, 
.
 , ,
. , 

49

,
. 

, (. 2).

,
. , (. 5) 
.

. :
1. , 
.
, .
2. : ?. 
.
3. : ?. ,
.
4. : ?. .
 ? ?
, 
. ,
, , , .
, ;
, .

( 4),
( 6),
( 8). , , : 
, .

( , ), 
. ,
. 

(include) (extend), UML, 
(invoke) (precede) Open
Modeling Language (OML), Use Case Dri
ven Object Modeling with UML, , 

50

, 
.

, ,
.
:
.

, :

;

, ;
( )
, .

10
Top 10
, 
:

#10
.
,
. , 
, . 
, 

. , 
, ( 
)
( ).
() 
.
, .
#9

. 
.
,
2. 

51

, , 13 , . 
, , 
,
. , , 
. , 
, ,
, , , .
#8

#7

#6

#5

.
, 
, . 

,

. ,
,
,  .
.

,
. 
, 
. 9
,

. .
, 
, .
.
,
. ,
.
, ,
. , 
, , 

( 5)
.
.

52

#4

#3

#2

,
, 
.
, 
, 
.
,
.
,
, : ,
. , 
: 
,
. , 
,
, , 
. ,
.

.
.
, 
, , 
. , ,

, , , 
, . , 
?

, , 
.

.
 . ,
: 
. 
, .
.


#1

53

, , :
.

. 
(include) UML 
(invoke) (precede) OML
 . 
 .
, . 
, .

54

, Internet,
, , 
. ( 
.) 
.
.
() , 
.

55

1a
[ ]
. .
.
. 
, .

#8

[ ]
. ,
.
[ ]
, 
. .

#6

#3

56

. , 
(), . ,
.
:

, 
;
, 
;
, 
;
, 
.

. ...
, ..., .
. ,
. , ,
.
. C 
.
:
. ,
.
, . , , 
;
;
, 
,  .

57

2
[ ]
. .
. .
. .
. ,
.
. .

#2

[ ]
.

#4

.
[ ]
.
, .
...

#3

58

. ,
...

. ,
...
. , (
).
,
. . 
, .
.
, , 
.
:
, 
. , 
 ;
,
. , ;
, , 
.

59

3
[ ]

... 
.

#7

[ ]
. !
, 
, ...
. !
, .

#10

[ ]

, , !
, .
 . !
, , 
.
.

#9

60

...
,
...
. !
. ,
...
. 
, .
, , !
, .  
. 
. .
:
;
, ;
.

61

4
[ ]


. .
.

#4

[ ]
 .
, , !
, !
...

#3

[ ]

.
. ,
, , 
, .
OK.

#9

62

. 
. 
.
.
, .
. , , 
, , .
 . 
, , ,
...
.
, 
.
. !
[ , 
].
OK.
:
, , 
;
, , , 
;
!
.

63

5
[ ]

, 
.

#8

[ ]
, 
30 ... . 
.
, .

#6

[ ]

.
.
, ,
.

#9

64

, , 
, ,  . 
 .
.
, 30 ,
.
( )... . 
.
OK.
. 
. , ,
.
:
, , 
, ;

, , ;
, 
.

65


. 3.2 In
ternet. , ,
, .

. 3.2. Internet

4.

,
, 
. , 
, (
). ,
, ,
, , 
.

, ,
.
.
, #
,
.

1:

. 4.1. ICONIX

67

, 
. , 
.
. 4.1 , .



, . ,
, ,

. ,
, ,
. , ,


.
, 
:
?. ICONIX 
UML
. 
,
, .
 , 
, 
, , .

. 
,
,
,
.
: 
?. , 

, 
. 
, ,
. :
, .

68

. 4.1 ,
.
.
, 

. , 
eXtreme Programming (XP),
,
. ,
Ctrl+Alt+Delete, .
, ,
.
, ,
, . 
 , , . 
, . (
), ,
, ,  ? 
, , 
.. , ,
, . ,
? , 
. 

(), .
, , 
.
. ,

. 
, 

. 
.
: 
,

, .

,

69

, 
;
, 
. (, 
.) ,
, .
, ,

, , 
, ,  
. 
.

. 

.
, , ,
, 
, , 
.

. 3 
,
.
: ?
, ? ?.
8 
,  
, ,
.

10
Top 10
,
:
#10

, 
, .
XP : 
,

70


. , 
,
,
,
. 
, ,
, .
XP 
. (Kent
Beck) C3 (
XP) Wiki: ... ,
1 . , 
, ,
, ... 
,

. XP,
,
,
, 
, . 
C3 ( 
2000 )
2000 ,
( )
,
. (
http://c2.com/cdi/wiki?CthreeprojectTerminated 
, .)
?
. 

, 

( ,
) , .

:  Gold Owner ( ) Goal Donor (


) . . .


#9

#8

#7

#6

71

, 
.

, 
, .
, ( ).
,
.

.

, 
 ,

. 
, ,
, .
, ,
, , , 
,
.
,
, .
, 

. 
.
, :
, .
, .
, 
.
, 
. , ,
,
. 
, 
.

72
#5

#4

#3

#2


.
, 
( 2) 
( 3), :

. 
, 
.
, ( 5)
, .
, 
.
, 90%
. 
, , 
, 
. ,
, , , 
.
.
, 
.

,
. ?
 , ?
? , 

,
, .

.
,
, .
.
, , 
, ,
.


#1

73

, , 
.

 .
 .
, 
(, ).
, .
,
. 
, , , 
. 
, .

5.

. , 
? ( 7.) 
, . 
.
UML:
, , 
. UML, 
. Objectory, 
.
, ,
 .
UML, ,
. 
Objectory 
, 
.
.
, UML ,

, , .
,
UML (. 5.1):
, 
;

. 5.1.

75

(.
2);
( ,
), 
.
. 5.1 .
ICONIX ,
()
() . 5.2.

. 5.2.

,
. , 
, , 
, ,
, .
(. 7) , 
, .


. 
.

, 
. 
. , ,
, 
.

76

. 
, ,
.
, UML 
. ,
.
. 5.3 
ICONIX.

. 5.3.


ICONIX. 
,
, (. . 5.4):
(
), , 

,
. :

77

,

;
, 
, 
(. 3). , 
,
, 
, 
(. 7);
, , 
 
. ,
, 
. , 
, 
;
, 
.
,
:
,
(, )

?
?

?
? ?


. .

.
.

. 5.4.

78


. , .
,
. 
, 3,
;

, ,
. , 
, ,
.
;
() 
. 
. 
. ,
, 
. ( 20% )
, 

, .


, , 
, 
. , 
.
:
1. .
2. 
.
3. .
4. , 
, .
, 
, .
,
, .
. 5.5 .

,

79

. 5.5.


. , ,

. 
.

,
. , 
, . 
.

10
Top 10
,
:

80
#10

#9

#8

#7


.
,
 
, 

. (
7, .) 
, , 
, 
.

.

.
( ) :
. 
, 
.

.
,
. 

, 
. 

,
, .

.

, 
. 
,


.


#6

#5

#4

#3

#2

81


.
, 
. 
, 
.
, ,
.
.

. 
, , , ,

.
, 
.
.
 
, 
 . 
, ,

. , , 
. 
, .

.
( )
,
, .
. 

.

, ,
.

.

82

, 
, 
, 
. ,
.
,
,

.
#1

.
,


. ,
.

, 
. 
. . 

, .

83

1.

#10
#8

#6

()

#8

. 5.6.
.
. . 
.
, , .
.
, . 
, 
, , .
OK, .

84

1.

OK

. 5.7.
:

;
;
.

85

2.

#5

(
)

#5

#10

(
)

. 5.8.
. , 
. , ,
.
,
, .
, ,
. 
. .
: ... ... ...
, ...

86

2.

(
)

(
)

[
]

. 5.9.

,
.
:
. ,
,
Web ( ,
, ,
);

;
.

87

3.

#5

(
)

#1

(
)

#7

. 5.10.
.
. 
, .
. .
:
1. 0, .
2. ,
.
3. , 
.

88

3.

(
)

. 5.11.

. , 
.
:
, ,
;
, ,
(
);
, .

89

4.

#3

#6

(
)

()
()

. 5.12.
. , , 
, ,
#9
.  ,
. 
. .
, , , 
,  , 
.
.
, , 
.

90

4.

[
]

(
)

. 5.13.

,
, , 
.
:
, ;
;

.

91

5.


(
)

#10
#8

(
)

#1

email

. 5.14.
. ,
30 , .
( ), , ,
. . 

. OK .
, . 
.
. 30
, 
.

92

5.

(
)


(
)

email

. 5.15.
:

;
, , ;

.

93


. 5.16 , 
Internet.

email

: Vector

. 5.16.
Internet)

6.

() 

,
.
, ,
( ,
, , 
). ,
, .
, , ,

(
) , , 
. 
, ,
, .
. 6.1 , .
#
.
. :
# , .
, UML Objectory;
#
.
,
.

2:

. 6.1. ICONIX

95




, 
, ,
. : 
, ,
.
, 
. , 
; .
5 ,
, , 

.
:
,
.
.
:
;

;
.
. 5.5 . ,
,
, , 
, , .

(). ,

, , 

. ,
, ,
.
.
,
.

96


. , 
, ,
 , 
. ,
,
, 
, . 
, .
, 
, , . , 
, ,
 .
, 
. , ,
,
UML. ,

.
,
,
, 
.
, , 
. .
, ,
: (. Use
Case Driven Object Modeling). , , 


.
; , 
.
.
, 
. 
(, Java Visual Basic), 
( , Enterprise Java Beans (EJB)
Java Server Pages (JSP) Distributed Component Object Mo
del (DCOM) Active Server Pages (ASP) Microsoft).

97


.
, , EJB JSP, 

, HTML.
, ,
, ,

, 
.
.
, 
, . 

.

. 
, , 
.

, 
.
,
. 
,
(. 7). , 

, , .

. , : 

, 
, 
.
.

10
Top 10
,
:

98
#10

#9

#8

#7

, 
,
.
,

.
. ,
, 
.
, ,

.
, 
.

, ,

.
, , 
, .
,
! , 
, .
,
, .
.
,

( ) (
). 
, . 
, 
.
.


. , 


99

, .
.

, , 
, .
 
, .
: 
,
.
#6

#5

#4

, .
5 , 
. 

, 
.
(. 7).
,
.
7 ,
. 

, . ,

.
, 
.
,
.
2.

. 
,
. 
,
, 
. 
.

100
#3

#2

#1



.

. ,
, ,
, 
, 
.
, 
. , 
,
(
). , 

. 
, 
.
,
, 
.
,
, , 
, ,
. , , 

, 
( ,
;
). , 
.
,
, ,
.
, 
, 
. 
.
.

, .

7.


.
( ) 
. 
. 

, ,
.

, 
. 
.
. ,
, , . 
, 
.
. 7.1 
ICONIX.



:
, 
.
(
) ,
,

. ,
. ,
, ,

102

. 7.1.

, , 
. ;
, 
.
, 
. ,
, 
. 
/;
.
, (
7580%) 
. 
, 
. ,
.
, , 
. (
: ,
,

103

.)

, . 
, 
,
. , 
, 
, .
,
UML,
, OMT.
ICONIX
. , 
, 
. ( 
.) ,
,
.
(. 7.2)
:
, 
. 
, , , 
( ) ;
, 
, :

. . 
, ;
,
, ;
, ,
. ,
, , 
;
(), .
, 
, .
, 
: ,

104


. , 
,

. 
, 
,
.


,
( 
).
.
. 7.2 
ICONIX:
1. . 
.

.

:
:

1.

.

2. .
3. .

4.
,
.

.

. 7.2.

105

, . 

. ,
, 
.
; ,
.
2. , 
. , 
. ( 

, .

. , 
.) ,
.
, , 
, .
3. .

, ,
. 
,
.
ICONIX,
. ( 
, 
. Rational Rose, 
http://www.
iconixsw.com/RoseScripts.html.
, GDPro
Embarcadero Together/J TogetherSoft.) 
, 
.
4. , 
.
, , 
, ,
, . (,
.)

106

, , 
. 
,
. 
, , 
, . ,

.
:
. 

, ,
. , ,
, 
.
.

, , ,
(Erich Gamma), (Richard Helm), (Ralph
Johnson) (John Vlissides) Design Patterns (
AddisonWesley, 1995)1. , 
,
. ,
, 
.
 .
. 

, , .

10
Top 10
, 
:
#10


.

, 

: (, , 2001).

107

(The Object Advantage, AddisonWesley, 1995): 


, ( UML 
) 
, ,
, 
, , .
#9

#8

#7

#6

#5


.
, 
( ),
, 
. 
,
.
.

.
, 
, , , 
, .

.

, .
, ,

, 
.
, , .
, 
.
,
.

,
.

,
.

108


,
.
, , 
, , 
,
. ( , 
Rational Rose 
; 
,
.) ( 
) 
ICONIX. , ,
.

#4

#3

#2

(, 
, ),
.
,
, , 
. ,

. ,
"getAttribute" "setAttribute".
, 

.
.
,
( ).
, , 
.
, 
.
, ,
, .

 .
.
, ,
. ,

109

,
( , 
, ) 
( , ,
, 
, ).
#1


.

, 
, 

.
. 
, . 
, 
,
, 
. ,
.

110

, Internet
, , ,
.
.
.
, .

. 7.3.

,
,

,
.


,

.

,
,

.


.

.


, +

.
,
,
.

,
,
.

()

()

#2

()

#3

()

5 :

()

4 :

()

3 :

()

2 :

()

1 :

#8

111

1a.

,
,

,
.


,

.

,
,

.


.

.


, +

.
,
,
.

,
,
.

1 :

()

4 :

()

()

6 :

()

5 :

()

()

()

()

3 :

()

()

2 :

112

1.

. 7.4.

. 
, , , ;
, ,
.

.

#7


1 :
2 :
3 :

.
()
.
()

.

()
, ,

.

#5

()

#3

.


()
OK()
()
()

,


.

()


,

,
.

()

,
,

,
.

()

2a.

. 7.5.


,

.
OK,
.

5 :

()



,

.

4 :

113

114


1 :

2 :

3 :

4 :

()

()


,
,
.

()

()

()


,

.
OK,
.

()
()
()

,
,


, .
,


.

,

,
.

()

()

()

2.

()



,

.

5 :

. 7.6.

;
, , 
;
, ,
, .

[ ]

1 :

2 :

3 :
+

4 :

5 :

+()
()

#3

()

()

. 7.7.

#9

3.

#8

115

116


2 :

3 :

4 :

5 :

6 :

+()
+
.

()


" ".
()

,
,
.

.
,
.


.



,

.

()

()

1 :

3.

,
,

,
.

. 7.8.

;
. 
, , ;
, 
.

[ ]

2 :

3 :

4 :

()
()

,

.
.

.

()

#4

()

()

#2

()
0,
.
,
,
.

()

#6
()


, ,
.
()

. 7.9.

()


.

4.

1 :

117

118

4 :

()
()



.
,

.

[
]
()

()
.

.

()
()


0,
.
,
,
.

()

()
()


, ,
.

()
()

()

3 :

4.

. 7.10.

;
;
,
, ( 
Java, ).

2 :
1 :

#8
1 :

2 :

3 :

4 :

5 :

()
,
30 ,

.

( ),
,
. .



. OK
.
,

.

.

()

()

()
()

()

()

30 ,

.

#2
()

. 7.11.

5.

#7

119

120

2 :

3 :

4 :

5 :

6 :

()
,

30 ,
.

( ),
,
.

()

()
.
+

.

.

()
()
()
()

OK
.
,

.

.


30 ,

()

()

()

5.

1 :

. 7.12.

;
, 
. ;

. , 
(proxy) .

[
]

121

boundary

boundary

boundary

()
()
()

()
()
()
()
()
()

()
()
()

boundary

boundary

()
OK()

OK

boundary

(
)

boundary

()
()
()

()
()
()
()
()

boundary

()
()

entity

entity

()

()

boundary

()
OK()
boundary

: Vector

entity

()
()
()

()
()
()
()
()
()

()

entity

()
()

()

entity

()
()
()

. 7.13. Internet% ( 1)

122

boundary

()
()
()
()
()
()

entity

boundary

()
()
()

boundary

()
()
()

(
)

boundary

entity

email
()
()
Email()
()
()

()
()
()
()
()
()

boundary

()
()
()
()
()
()

entity

entity

()

()
()

: Vector

entity

entity

()
()

()
()

entity

()
()
()

entity

()
()
()

. 7.14. Internet% ( 2)

123


. 7.137.15
Internet. ( . 7.13 
. 7.12. . 7.14
. 7.13.)


entity

email

()
()
Email()
()
()

boundary

entity

()

boundary

entity

(
)

()


boundary
+
+()

()
()
()


(
)

. 7.15. Internet% ( 3)

8.

() Critical Design Re
view (CDR) , ,
,

, .
, 
.
, , ,
.
,
, .
. ,

.
. 

. 
, 
. 
,
. . 8.1 ICONIX.



, , 
. 6 , 
() 
.

, 
( ),

125

. :
! , , ,
. ,
, ! .
;
! ,
;
! , ,
.
,
(, ).
,
.

3:

. 8.1. ICONIX

: , 
. , 
.
, 
,
. , 
7, , 
, 

. 
, 
, , ,
.


,
, ,
, . , 

. , ,
, 
. , , 
,
, .

126

, 

,
. , 

. ,
, , (
).
, , 
. 7 , 
,
.
, . 
, , 
, .
, 
, . (Halbert) (OBrien)
:
. 
, , 
. , 
;
.
, 
.
,
, , 
, , ;
. ,
. : 
 ;
. :
.

, .
, 

.
, ( , ) 
ObjectOriented Analysis and Design with Appli
cations (AddisonWesley, 1994).

127

,
:
(coupling)
. , 
, ;
(cohesion) ,
. 
. ,

;
(sufficiency) , 
, ,
,
. 
;
(completeness) ,
, . 

. , 
, ;
(primitiveness) ,

. ,
.


. 
, 
.
, , 
, .

(
C++). ,
, .
, C++
,
(Robert Martin) Designing Object Oriented C++
Applications Using the Booch Method (Prentice Hall, 1995).
, XP. 
: ,

128

, ?
, , , .

. , 
, , . 

.
, C++
. 
. ,
, 
, 
, 
.
, 
, .
XP, ,
, .

, 
. ,
DCOM EJB, , 
. :
, ,
, .
.
, , 
 .
, ,
, 
, , , 
.
, ,
. ,
, 
. , 
, 
, .
6 
,

129

: , 
.. ,
. 

.

, ,
.

10
Top 10
, 
:
#10

#9

#8


.
, , 
, 
.
. 

.

.

, 

.

, , 
. , , , , 
, ,
.

.
,
, .  ,

.

130
#7

#6

#5

#4



.

, ,
,
. 
,
. 
 .

.

, .
7 , ,
. ,

.

. ,
 (Rebecca WirfsBrock) De
signing ObjectOriented Software (Prentice Hall, 1990):
,
. ,
.
, ,
. , 

, .
(, ).
, 
,
. , 
( 
)
( ).

.

131

. 
, 

, .
#3

#2

#1

, 
, DCOM EJB.
, ICONIX 

. 
,
, .

, .



, ,
, 
.

. ,
.
(Martin Fowler) Refactoring (Addison
Wesley, 2000) (refactoring) 
,
, 
. , . 
XP .
(Ron Jeffries),
(Ann Anderson) (Chet Hendrickson)
Extreme Programming Installed (AddisonWesley, 2001):
, . ,
,
, ,
.
,
. ,
, , ,
, ( 
) .

132



.
, ( ) 
. 
.
, : 
,
. ICONIX.




.
Internet,
Rational Rose. :
, 2;
, 3;
, 2;
5;
, 5;
7;
, 7.

:
;
;
;
;
;
;
.

.
. 
. , ,
. 
. 
.

134

.
,
.
. 
.

. ,
(
). 
, .
.
, .

. 1. Main

135

. 
, 
, .
. 
.

. 2.

136

email

: Vector

. 3.


boundary

boundary

()
()
()

()
OK()

()
()
()

boundary

OK

(
)

boundary

()
()
()

boundary

()
()
()
()
()

boundary

entity

boundary

()

: Vector

entity

boundary

()
OK()

()
()

entity

()
()
()

()

boundary

()
()
()
()
()
()

boundary

()
()
()
()
()
()

()

entity

()
()

entity

()

137

()
()
()

. 4. ( 1)

138

boundary

()
()
()
()
()
()

entity

boundary

()
()
()

(
)

boundary

()
()
()

entity

email
()
()
Email()
()
()

boundary

boundary

()
()
()
()
()
()

()
()
()
()
()
()

boundary

()

()
()

entity

: Vector

entity

()
()

entity

()
()

entity

()
()
()

entity

()
()
()

. 5. ( 2)

139

. 
, , 
, , 
.
.

,
.


entity

email

()
()
Email()
()
()

boundary

entity

()

()

boundary

entity

(
)

()


boundary
!
!()

()
()
()


(
)

. 6. ( 3)

140


.
, 
, ,
.

.
,
.
.
,
.
. 
, .
, 
.
, 
.
, 

.
. 
.

.

.
. 
,
.
. 
.
. 
0, .
,
.

,
.

141

(
)


(
)

. 7.
( )

. 
.

. 
. 
. 
.
, 
, .
. 
, 
.

, , 
, .
OK, .
, 
,
.

142

3 :

4 :

()
()

. 8.
( )

2 :
1 :



.

,
.
.

.

()
()

()


()
0,
.

()
()

,
,
.

()
()


, ,
.

()

()


.

143

, 
.
,

.
. 
.

OK

(

)

. 9. ( )

. ,
, () . 

, .
. , 

.

144

1 :

2 :

3 :

4 :

()
()


,
,
.

()
()
()


()

()


,

.
OK,
.

()
OK()
()

,
,

,
.
,


.

,


.

()

()

()

. 10.
( )


,

.

5 :

145


, 
.
, 

.
,

.
,
.
. 
.
. 
.

. , 
, , 
.  .

. .
. 

, .
. 
. 
. 

.

. 
, .
, 
.

. 
, 

146

.
, , 
.
.
.
.
, , 
.
, 
.

,  ,
, .
.
.

(
)

(
)

(
)

. 11. ( )

. 12.
( )

,
,
,
.


,

.

,
,

.


.

.


, !

.
, ,
,
.

()

()

()

5 :

()

4 :

()

3 :

()

()

1 :

,
,
.

2 :

()

6 :


147

148

. , , 
,
,  
.
, 
, 
, .
, 
, , 
.
. 
, 
.
. 
. 
.

(
)

. 13. ( )

1 :

. 14.
( )


,
,
.

2 :

3 :

4 :

5 :

6 :

!()
!
.

()


" ".

, ,

.

.
,
.


.

()

()

()


!

,
.

149

150

. , 
30 ,
. 
( ), , ,
.
. 
. 
. 
OK .
,
. 
.
.
30 , 
.
. 
.
: 2; 10.


(
)

(
)

. 15.
( )

3 :

4 :

5 :

6 :


()
,
30 ,

.

( ),
, .

()

()
.

.


.

()
()
()
()

OK
.
,

.

.

OK()

()

()

()

. 16.
( )

1 :

2 :


30 ,

151


1. Grady Booch. ObjectOriented Analysys and Design with Applications.
Second Edition. AddisonWesley, 1994.
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling
Language User Guide. Addison Wesley Longman, 1999.
3. Peter DeGrace, Leslie Hulet Stahl. The Olduvai Imperative. Prentice
Hall, 1993.
4. Tom DeMarco. Structured Analysis and System Specification. Prentice
Hall, 1985.
5. Kurt Derr. Applying OMT. SIGS Books, 1995.
6. Bruce Powel Douglass. RealTime UML: Developing Efficient Objects
for Embedded Systems. Addison Wesley Longman, 1998.
7. Martin Fowler. Refactoring. AddisonWesley, 2000.
8. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides [Gang of
Four]. Design Patterns: Elements of Reusable ObjectOriented Software.
AddisonWesley, 1995. ( : . .
. , , 2001.)
9. Maurice Howard Halstead. Elements of Software Science. 1977.
10. Ivar Jacobson, Maria Ericsson, Agneta Jacobson. The Object Advantage:
Business Process Reengineering with Object Technologe. AddisonWes
ley, 1995.
11. Ron Jeffries, Ann Anderson, Chet Hendrickson. Extreme Programming
Installed. AddisonWesley, 2001.
12. Chris Kemerer. Software Project Management. Reading and Cases. Richard
D. Irwin, 1996.
13. Robert Cecil Martin. Designing ObjectOriented C++ Applications Using
the Booch Method. Prentice Hall, 1995.
14. Doug Rosenberg. Applying OO Methods to Interactive Multimedia
Projects / OBJECT, June 1995.
15. Doug Rosenberg. Inside the ICONIX Process (CDROM; ICONIX, 2001).
16. Doug Rosenberg. Mastering UML with Rational Rose (CDROM; ICO
NIX, 1997).
17. Doug Rosenberg. Modeling Client/Server Systems / OBJECT, March
1994.

153

18. Doug Rosenberg. An Object Methodology Overview (CDROM; ICO


NIX, 1994).
19. Doug Rosenberg. Rational Rose 98 for Power Users (CDROM; ICO
NIX, 1998).
20. Doug Rosenberg. UML Applied: Nine Tips to Incorporating UML Into
Your Project / Software Development, March 1998.
21. Doug Rosenberg. A Unified Object Modeling Technique with Objectory
for Client/Server Development / OBJECT, November 1993.
22. Doug Rosenberg. Validating the Design of Client/Server Systems / OBJECT,
July 1994.
23. Doug Rosenberg and Kendall Scott. Optimizing Rose 98 to Support Use
Case Driven Object Modeling ( Internet
: http://www.rosearchitect.com/archives/9810/online.shtml).
24. Doug Rosenberg and Kendall Scott. Use Case Driven Object Modeling
with UML: A Practical Approach. Addison Wesley Longman, 1999.
25. James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy,
William Lorenzen. ObjectOriented Modeling and Design. Prentice Hall,
1991.
26. William Shakespeare. Much Ado About Nothing.
27. Rebecca WirfsBrock, Brian Wilkerson, Lauren Wiener. Designing Object
Oriented Software. Prentice Hall, 1990.

28, 32

10
79
76

18
78
22, 31
28, 30

79
29
30
94
50
28

52, 69, 72

81
101
12, 16, 22,
74, 103, 106, 125

20

18
14

10
106

103
101
129
108, 126, 129
103
68

106
78, 81, 97

74
96, 100
30

108
48
ICONIX 20

# 107
12, 16, 32, 126

24

31, 69


101, 105
18
75
77
51, 74


125
103
21
48

68
18


67
124, 129
95, 98
126, 130

109

22

29, 77

33
29
32


105
75
75

81
31

78

109

155

12
13, 22

10
31
28


71
ICONIX 29

71
18, 28
18
49, 98
18
18
45, 93

50
ICONIX 47
49
124

28, 30

99
28

102

(include) 49, 53
(invoke) 49, 53

(precede) 49, 53
(extend) 49
33

156

UML

50
33

33, 99
96

33
124, 130
99
128

106
128
70
108, 124, 127
31,
108, 126, 130

25, 29
25
25, 29, 48
127

75, 77

18, 22, 28, 29

33

99

52, 69, 72, 80



52, 72
69
69, 72

103, 107

71
68
50
95
108, 126, 130

149
148
61, 63

116, 142

88, 141
57

59
55
57
61

147
146
55, 59

151
150
61, 63

144
143
55
127



77

68
75
21, 24, 47, 51, 68, 71
ICONIX

eXtreme Programming 12

12
21

12, 19

80

101, 107
24
126
99
15

79

31
50

69
97


ICONIX 12
131

()
10
129
125
124

157

9
124

() 97
10
97
94
9
95

10
69
67
9
67
. .

. .

48, 51, 95

76, 81, 95
108, 124, 127
126, 130
73

108

31
ICONIX 20
49, 82, 97, 103,
105, 108
107
20
22
19
74, 77
##
49, 100

158

UML


94

101
75
78
75

69

75
129
94
96

21

106
50
29

E
eXtreme Programming
68
ICONIX 12
131
C3 70

G
GDPro 15, 105

O
Object Modeling Technique (OMT),
19, 29, 103
Objectory 17, 74
OML. . Object Modeling Language
OMT. . Object Modeling Technique
Open Modeling Language (OML),
50
invoke 53
precede 53

Rational Rose 15, 105, 108

33, 48
96

75
75

49, 52,
69, 73

Together/J 105

U
UML

14, 28, 74
15, 103
49

extend 49
include 49, 53


UML

.


. .
. .
. .
. .
. .
. .
. .
. .

. .
. . . 13. .
.


. , . , . 1.