Secure Systems Development with UML [1 ed.] 9783540007012, 3-540-00701-6

The correct development of security-critical computer systems is as vital as it is difficult. This book presents the ext

214 102 4MB

English Pages 317 Year 2005

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Secure Systems Development with UML [1 ed.]
 9783540007012, 3-540-00701-6

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Jan Jürjens Secure Systems Development with UML

Jan Jürjens

Secure Systems Development with UML With 79 Figures

123

Jan Jürjens Dep. of Informatics Software and Systems Engineering Technische Universität München Boltzmannstr. 3 85748 München/Garching e-mail: [email protected]

Library of Congress Control Number: 2004112217

ACM Computing Classification (1998): D.2.2, D.2.4 ISBN 3-540-00701-6 Springer Berlin Heidelberg New York

This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable for prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springeronline.com © Springer-Verlag Berlin Heidelberg 2005 Printed in Germany The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: KünkelLopka, Heidelberg Production: LE-TeX Jelonek, Schmidt & Vöckler GbR, Leipzig Typesetting: by the Authors Printed on acid-free paper 45/3142/YL - 5 4 3 2 1 0

 



                         

          

     

           

           

   

     

             

   



     

  

                   !          "     # $               %   

  &'& "& '  &  %               



    (        

         )

 

 

   

     

    

                         



    #      $ 

 

                                         

    

   

   

         

          *          !           +,,-   

                  !                        



 !  

           . !

                    

         /       .        0                                            

   !    

  (          ( 

                              Æ       )             &       .                          

                         





   







  



. 



         

        

 

          

 





. 

     

   

   

 .

                 

       





        

       .                                               

           



  

   



   1                .   

                    .

    

       !                  

             2                        

   0 

      .            .            

                 )             

 .     

   "    %        

.  

     

     

  

   

  

   !   3 4      "!34%  . .            

                5                  . 6'                                            





 

        

                    

                     . 

  

 .

    *                        #             $    .                                     

       

   

 .              



                   



.                              

            

                       

0 

 

' 7--8

 

)  .        .            

          

        

 

                        2   9   

    

       

 .

            

    .                           Æ   '                                       



 .

 Æ          





  

        :          1              

   

    

            6  '     "6'% (          

         Æ         ;

¯

)                    

¯

     ½ =    

                   .       =                                    1          6'            *         

     

 

 :        !      &  



 5 )  . A                        +87

 .  '   H  9 ; &) HOL          +87 ML+

)   )   &    H                +88

ML7

!  

 9                                       +8G

MLL

4   H                                   +>+

 .  '   > M8+

 &

 A                              +>>

M87

                                                    +>N

MM

9                                                +>,

' +! + 

+M+

G+

6' '                                             +M+

G7

6' '   &                                     +M,

GL

H 

G8

HA   &                                   +GM

G>

H   ) &                              +GG

                                             +G7

G>+

H                                         +N-

G>7

&                                             +N7

G>L

!                                             +N8

G>8

)                                           +N>

G>>

*                                            +N>

G>M

&   !

   *                            +NG

GM

                                                    +NN

GG

9                                                +N,

+!  !    !  %  N+

N7

+,+

*  &     *   6'                   +,+ N++

A   L

L 8

M G *  &  9    6'                    7M7

5  6'& "  

   %               +GL

GM

&                                              +GL

N+

4 ;                                      7-G

N7

&                                                7-,

NL

4                                           7+-

N8

4                                                7+-

N>

4                                             7++

NM

4                                                7++

NG

4 ;                                       7+7

NN

4                                           7+7

N,

6' '     

                       7+M

N+- )                                           7+N N++ )     4                           7+N N+7 )     4                                 7+, 5+

     6' '                           7>-

 



   

' 5    '             

      

    

                

      

     . 

     )  .     

  



             

   2           

   

       !             B        .      

       )  .             

 !  !         

    

    

  



   

   ".

          .%       

   

# ! 9               Æ        '  :                                        *          D,>℄     +G      . 

 &                D&GN℄ '                                  

 . *       +,,G 

   &)  .         .   6& 9  

 9       

 6&           

               ,++  

       1    9℄ '           #    . 

                B  

         B      $ "H  % !   

    D& ,,℄ N>Q  ℄ 

  

      

        

  

                                          D& ,,℄                   .   

  D) -+℄ &                             

    

             !

     

     

 

      



            

              

(   ' !   



                

   #  

    $; !   

              1                    .       

        & 

 

                          #  $ D1,> ' A,N℄ *    

     

 ; 4        

             

        *   



   



(    

  

 .     

                

   .    

                  .  &             

  

    

      

         

D) -+℄ 0 

   

               



      

                

 *      ' 

D' -+ -+℄

      )  7--+

)

'   

!                      

   

                  

                    

 7--

          D5N+℄  Æ                       

          

  

 



   

                      

 

   D' D6'-L℄¿ 

6'         (                .        (                    !  .      . ;

    

    

 

 

   (  

                          

   

                     

     

 

         

  ;   

                  =

   

            

      

"

     % 

     

       

        ;             

                0 B      D0A,G℄

, 

   

               

             

&    

       :          

                   



                  

                  

    

               

         

 

"   . 

   %

   

 

    

 (  .        (       

      ¾ ¿

 = $ 1         >0 ' @ &℄ 4  1         #    A  A

.  B      !   

 

  

  

    )

       

     

     

(  

  

   

             .       

               

          *   .              

           !

        



             .             .             )                          

11  3 ! 6             

                             6

    

 





)        

        

      

      

      4        

   )   

          )         



  

  * L+ )  .    



    

     

   

  



   

                             



  

       

       

    

         =     . 

            

                  )        .                             

" 





 

   

)          * L+              



 

       



 

buys good sells good

Customer

Business

      

  

    

)

. 0 1 

11 3 ! )

 

  #                

         &        



 

     

                       )

   

 



  $ D6'-L  A+-℄ )

             

  #   

 

         

        )     

    

    

                   $ D6'-L  A8℄ 1 

    

      

(

 

 

  

       

          

 )   

              

 

   

!

                    

             

          )

          



        

             .                 

  9  

            .           !                            

  

   

         (            .                      )   





  6'       



 R

 &  L7N      

 6'      )       

                  )   

       



 

   

%   

  

.      

  

   





"  

       

     

  



 



 %

  

 

!    

   

 





 

  1 

  6 

  

  *  

   

!  

    

     

              



    

 

           

)         



   

  

!            

                

 

                    

      





        "  

              *    * L7  

   

    



     

  





   

         

 ; 6        



11   ! 6'                          

                                             D6'-L℄

.  B     

*

«Interface»

«Interface»

sending

receiving

send(d:Data)

receive():Data «send»

Sender

Receiver receive():Data transmit(d:Data)

send(d:Data)

  %                    0  D0A,G℄                  ) 

 

 #                      

                    $

D6'-L  A+8℄ &                            "    %          

  "    %      )            "  



  %      



     %

  

,      

"  

1            

               1  

            

         )                                                              *      

            

  .  * LL )

D ℄                             

 

               

 

  

      

 

 

  "  

 %

               S     S           

     "  

 %

"   %  "    %     

            

   

  

 



" "  %%

   

 

 

 ;S   !   

              .   

 

" "  %%



"%



"%

 

        R          

             A        

   



  



  R     



  

                     

  

    

      

 .    

                                                    

         

+

. 0 1  )        * LL     

"  #

   

%         )

"  





 

               

              

   

   1

   #          #      &                                              "  "% S ;;       " ;;  %        "         

   

   

"          

          

entry/i:=i+1

Wait

send(d) /request()

Request

return(K,C)

>  89 ;  33 ℄    8 33 9 Send

  4       11"  7 ! )

, 

   

!     

#  



        

          

 



     



       ) 

    



    

  "        %      

   "          %$ D6'-L  A+L℄ 4   

                                                      

 

  

1             

                

          



  

         

 

  

    

      



  

     

              



      

      *    



  

        

   *    

            



 

   







    

      

  

     



  1                       

          



 

   

C         "        #  #     4  ...

.  B     

-

          2     

  ( 

              

                          ;;S  

               

  

"

  



"



 

   

5                

   

"

 

 

  

 

 *  

   



             " " ¼¼ "    "  %%%   * L8                    

    .  D℄   

   

           

       

      



              

   !

              )     

      * L8 !

    

                                              " ;;  %        !      " " ¼ " %% S ¼         

                          " ;; ¼ %¼      " ;;  %  .        

                 

 .



    



 

   

           

      





 

 .      !  

                      



                 &  >7

C:Client

Si :Server 8 

  

  



    8 33  99





    8 33 ¼ 9¼ 

    8 33  9

> 8 ¼ 8 99



> 8  8  99 ;  8 ¼¼ 8   8  999 

;  ℄







; ¼ ℄

8   9

 33;  

 33;  



33; 8  8  99  33; 8 ¼¼ 8    8  999 



¼¼



¼

¼

33;

 

33;

 

33;

 









  47

   



A         "        #  #     4  ...

.

. 0 1 

11& '  ! ) 6' +

               

   

                                      D6'-L  L+>M℄      

 $



    

     

   * 

    



         



          





        

 



   

&  

    

 

$

 

    

    

*     

11)  !  ! )

    

  #  

      





       

          





 $ D6'-L  AM℄              

               . )   

                          L% )                          



 .         

 .  D)3,M℄ )

  



 .  

    

 =&       

4"

  

  

          



" AC     ,4    

 89



 

  !       1 ½

2         "  " # # 

  



   #     # #"  G H  #

(+

& $#  4 " 6      4"    

" AC     ,4    

    

 89

                  

 

         

  !       1   *  8G  



 



 .  



  



         &  >L )         

  !  

 . .  

   

 .  



      . 

  

        0  0 

            

           

        

                        

        

                      

   

         



 

               

        

                             

              

                          &   L+  LL       





  

        

 

  

  

 

                =                            .    



      "  %  

                         "  %  

   



   



     

    

     

      



  

       

      "       

                

 

    

  



    

 

    

 

             

  6 %



     

 

    

    

         

  

   

                       

   :  

  

     

  

&'  B 

  

(-

* 

              

                  

   

 

 



   

   

   



 

 

       (        

            ;    

    

        

  

   



    

       

        

        

           



           

    



  

      (                     * 

    

         

    

  =        

     

   



         1 .        

    

            .

            

  

          

        

  

             

   

      

    



    

    





 

       

 





    



      '     

   



 





 

     



      

        

   

 





  



 

  6' 



      

          .



 







 

 ;

S     S     S

    



!" 

 

   

  

 

 

1     

        .     

* 8N A



  

        

   

      * 8M

   

          



Ë "% S 

 

  Ë "%       

  Ë "%

 



 

       !  

     .         

       

  





  

         

&    " %

  

    ! 

      !   

                                   

        

   

       .  

 





     

 &    " %

 





  



           



                







 

  

     

)

& $#  4 " 6      «secure links»

remote access

{adversary=default}

client machine get_password client apps

«secrecy»

web server access control

browser

«Internet»

  6      

   

      

 







  



 

   



'        

  





                

 

  

        

     

  

server machine

«call»

     

"



 

  

   



      

 

         ;



*    



 

  %

!    



"

!

   

   

    







  



        

   

  %          %

 

      

" 





  



     "  

"  

  

      

     

   

"  

    

 





 

    

             !" 

*  8,   .         

  

    

 

 



        

      

 H      



  

        

 



 







     

  

      3  

3      '           ;            3            



 

  

     H       !

          H         

  

     



                         



    

              

         

                    

            

&'  B

)'

«secure dependency»

Key generation newkey(): Key

«interface» Random number random(): Real

Random generator

Key generator

«critical»

{high={random()}}

seed: Real

«call»

random(): Real

newkey(): Key

  ;℄

3 

>;℄ tls.C

tls.S

init(n:Data,k:Keys,cert:Exp) xchd(mstr:Exp)

tls:

Si :Server

C:Client

8 

  

  



    8 33  99





    8 33 ¼ 9¼





    8 33  9

> 8 ¼ 8 99 ; ¼ ℄



> 8  8  99 ;   8 ¼ 8   8  999 ;  ℄



8   9

 33;    33;   ¼  33; 8  8  99   33; 8 ¼ 8   8  999

 





  33;    

«LAN»

serversite «Internet» serverapp

clientapp C:Client

 



«LAN»

clientsite

¼ 33; ¼ 33;



«send» «send»

  !4     

S:Server

)&

& $#  4 " 6     

 .    

  

            

    .             

  . 

       .       #  $                        # .$           





   .        

&   "%



      )  



      

    





  

                  

  

               =  

         

     

         

     .         .               )        .   

    

              .            

 ( $)(0  $)(                     ; ! 

  

 

$4    

    % 

          



.    



     

   :  .   

  

"  



'       

 6'   

    : "    :%                 

  

    

&  LL>

!"      * 8++      



      



 

         L%  



                  

     .   

              

                   

          &

       

      





 

        

 

           

        (                       



  

 

      1      6'      

 .          

                         9              6'         . H         D?C  -7  ?1-L 0?-L ?15-L 550 -L℄ 1                

          :                                       !             D8   

  



   0 

  .

   

              =    

 ;;  ;;     

)  

 

    

     

       

  ; 

  ;       



  ;   



  ;  





" ;;  %

" ;;  ;;  %

    



" ;;  %

1   

               >8  



     



  

                 

 .  

 



   

                          

     

  .               

 .    0            

( A          !4 «data security»

TLS variant

{adversary=default}

C:Client

«critical»

   ;     ;    ;           ;8  9

 

S:Server

C:Client

3  : 3     3  





resp(shrd:Exp,cert:Exp) «send»

3 :







entry/i:=0

entry/j:=0

entry/i:=i+1

entry/j:=j+1

«send»

«critical» S:Server     ;      ;     ;        

+(

  







> ; ℄

> ; ℄



3 



tls.C



tls.S

init(n:Data,k:Keys,cert:Exp) xchd(mstr:Exp)

tls:

Si :Server

C:Client

8



  

 

 

   





    









8  33 ¼ 33 ¼ 9¼     8  33  9 



> 8  8  99 ;   8   9 8 ¼ 8   8  999 ; 

 8 ¼ 8   8  999 ; ℄   33;   33; ¼ 33; 8  8  99  33; 8 ¼ 8   8  999 

8 33 99 









> 8 ¼ 8 99 ; ¼℄























 



 

















33;

serversite

«LAN»

clientsite

¼ 33; ¼ 33;

     

 

«LAN»

«Internet» serverapp

clientapp C:Client

«send»

S:Server

«send»

  @       !4   1  

+)

( A  

   

  



  .   

  

           

   

         !

                            .   

    B     

            .        

 8              

   

   



 .





        

   1

      

                        

'       



         

          

     



       



 

                     * >8      

      1                      

          .  

  .   

 .                

    





    * >8        



+



   

      =                   

 



  

     .

  

   

     

(  ! &1&1

&$   

  (    

  "

    

 



 " (





         

0  

 S  /

     

    + S ( / 7

   

  "

 (

S"

  0   0



    

 

 (

   (    5

 



0

   (  "



"  "

     

 "

 

       

S

  





(  

(  



              ; +  ( 

   

     

 $4  $4

    

    .  

0 0

" ;;

 

;;

 %

    " ;;  %        " ;;  %   

     

 

;





  6   

 

S

 

S

 0  /

   

        

S







 

  

  

( A          !4

+*

                     

.      

          " ;;   ;;  %             " ;;  % "    S  %     " ;;  % "   

  S  %               

.



                        

 

    1

  

         

  

            .                

             

     .      1      



       

      .  

           

 

         

 

  



 . 

        

S"



+S(



"     

&  LL8          % !                      

    

    

                    

      

        !

       .      

   

  

    

   

" ;;





  

       

  

   

 



;;

 %

   

 .   

  >8     .;             

         

    B .   

  

 . 

  

 

.



    



+)(



;;



;;

  



      

    



" ;;

 %

   

   

 . 

    B

    

             .   

         .  

      #      $        

.  

       

Æ 

     

         

Æ  !

  

 

  

       

   

              

     +

    

        

       

  +M *         

    * >+>                       

  )          ;;S "          0             "    

   5                            "    

 

 )  

       

     

¼

   ;    " 



¼

% ;;S



 

             

          

¼

 





¼

       )           .    &)'     





                   =    

 .

                       *       

      

        

 &)'    

       

  

      &)'       0   +7

      



              

$ 

         

   

      &  8+7       

   $ 



               ; !

   

    

       

6  

  

                   

  

 

  

$ 

              

    



$ 

    

% # &   % # !  &

     

Init



   !



    

   

RespI

!  #        $  !$ $ $   $         %   !       &  $       ℄    !  $  $  $  $        !  !  & % Credit RespC Fail &℄    %&   & $       ℄         &&  !  &    Success

       3   7



«critical»

«send»

RespC

     & $       ℄  !  &   



 !        





  &℄   

%

RespL(s2)

IntIssuer









«send»



%&    &&

Credit 







   

C:Card

c

l

 ! ℄

 ! ℄



entry/ n:=n+1

entry/ nt:=nt+1

entry/n:=0

L:LSAM

Ilog(cep,lda,m,nt,r,ml,r2l)

  !   !    

ILog

«send»

Load(cep,lda,m,nt,s1,ml,h hl,h2l) Comp(cep,lda,m,nt,r2l,s3)



«critical»

              

 #      ! $ $ $  $        entry/nt:=0 $  $      !

RespI

Llog(cep,m,nt,rc)

 !   

LLog

«send»

RespI(cep,nt,sl,hc) RespC(s3,rc) RespL(s2)



Issuer

«interface»

«critical» LSAM «send»                   

   !

«send»

«send»

  $  %   !     ! $ $ 

Init

Success

Clog(lda,m,nt,s2,rl)



    &  $       ℄  !  !  &

Fail





 !    

CLog

Init(lda,m) Credit(s2,rl)

     

«interface»

RespI(cep,nt,sl,hc) RespC(s3,rc)

IntCard

 $       "     

«critical» Card             

«data security»

% # &   % # !  &

l:

Load

i

I:Issuer

'  ( A  

i:



Init

 & Load

C:CEPS

Init

  

L:LSAM

«smart.card»

l:LLog

loadapp

Loadacq

# &  



«Internet»

«send»

«send»

i:ILog

I:Issuer

«issuer node» issuerapp

Issuer

%#  !  !   

!  !   

  4 B       

«LAN»

«send»

«send»



Fail

%#  &  ! &

Load?



        !



  !    !$ $ $ ℄      $  

  $         %

%   ! ! $ $  %& Fail $         

    $ '℄ %   ! ! $ $ 





     !       & 



     &    

    $             $  &℄ 

     $ &℄  $       

RespI

   

  $ 

Success



     !  $           !

# !  

«smart.card»

c:CLog

cardapp

Card

c:

(. % 6    4 B   ' .

' &

( A  

8 9 33;   8

33 33339 >  8 !9; 3333 33  ;"℄  8 #  9

  ! 

33;    8 33

33339  33;   8

33 3333 9  8

9





Init

8

   



9

RespI

#

8

9

  ! 

8

  # "

Success #

9

>  8 !9; 3333 33   ;"℄ 33;   8

33 33339



8

9

  # 

Load

33;    8 33

33339 8

33;    8 33

33"339

#

Fail

33;    8 33

33"339 8

9

9

$ 

"  ! 

$ 

  ! 

       3 

8

%$  

"    "

8 9

 % " 

33;   89 >$ ' ℄

8

%$  

 

9

   !

  33;   8

33 3333  9

Fail



8

9

%$  

 

Init

9

   !

Load?

>&  8 9    8 9; 33

3333  33 33 !℄   89; 3333

3333 33 ! 33;    8 3333 33 9  33;    89    33;   8

33 3333  9  %8 !9 8

$  

  ! #

8

%$  

    !

       3  

9

9

¼

¼

¼¼

¼



9

8

8

8

¼

 9

 9

8

¼

¼



9

 "

¼



¼

 " #

9



 !

9

8

%$ 

¼¼

¼¼



¼¼



9    "

>&  8 ¼¼ 9   8 ¼¼ 9; ¼¼33

¼¼33¼¼33¼¼   ¼ 8¼ 9; ¼¼33¼¼33

¼¼33¼¼33 ¼¼  33 33 ¼33 !¼ ℄

I:Issuer

8 ¼¼ 

¼¼ ¼¼ ¼¼ ¼¼  ¼ ¼ !¼ 933;%$

¼  33;   89  ¼¼ ¼¼ ¼¼ ¼ !33;    8  33 33 33  9 ¼¼ ¼¼ ¼¼  33;   8

33  33 33  9



  47

         

¼



¼ ! 33;  % 8 #¼  ¼ 9 33;   8 ¼ ¼ ¼ ¼ 9 33;   ¼ ¼ 33;   8

33  33 339 ¼ ¼ !33; 8

33  33  33! 9 ¼ ¼ ¼ ¼ 33;  8  33 33

3333 33 33  33 ! 9

8

8

 

8 9

¼

$  



%$  

> !¼;"℄

¼



 % !



%$  



L:LSAM

> ¼;"

¼ ;   8

33 3333 9℄

  # 

8

  ! 



9

9

  



   

8

¼ ¼ 9 33;   ¼ ¼ 33;    8 33

33 339 ¼ 33;   8

33 3333 9 ¼ #33;    8 33

33 339  ¼¼ ¼ 8 !  9 33;   ¼¼ ¼ ¼  33;   8

33 3333 9

$ 

  !

8

>  8 !¼¼ 9; 3333 33 ¼¼ ¼;"℄

C:Card

(. % 6    4 B   ' (

')

( A  

  !

  

       



 

.  

    

       

 

          





 



  



       



)     



;



)        



 

    .    &)'         &)' !          

.

        

 

$ 

  





        

.



    

  

           &)' )   .          

      

)       

  

      

     

 

 



&)' 



         *     



           

   )                

     



     

5              &)'

  2      

  

      

      



  

        

              " 

        %

 # 6 



 % 4A 

            #      !   #  4A  " 1"  4A                     

    #  7$    B  # 

     B



  B

  3    8  33 

33  33 9 

    3   8

33  33  33  9                   7    1"   #     1"   # 4A       8  33  33 

33  33 33 33  33  9 8  #"          3   8

33  33  33 9          3   8

33  33  33 !9 !   3    8  33  33 33 9 #

         8  33 

33  33 9

           B 

4A9

(. % 6    4 B   1  

      

     



 &)'

 



$



    

 

     

  B



      



¼



¼

 



 

  

 

 







   

 

     





 #!  2 -



      

         







 .

        



  

    

$ 



 

        

    &)'

 $ 

   .



 

   

 &)'     

   

      

  





   

     

   



   

    

   

-



   1 

         







    

    $    

 &  8 9    8 9; 33

3333  33 33 !℄    89; 3333

3333 33 (3;   !3;    8 3333 33 9  8 33

333333 9   3;   8

33 3333  9  %8 ! (9 8

$  

  ! #

8

%$  

  

¼

9 9

 !

  @       3  

( A   '')

¼



¼

¼¼

¼



9

8

  



8

¼

9

¼



9  9



   

8

  !

8

  # 



8

¼

¼







¼

8



¼

9



 % ! (





8



¼

9





 " (

$ 





¼





" #



¼

9

!

> !;"    8 (9; 33

333333 ℄

%$ 

L:LSAM

 9

¼

8

%$ 

9

¼¼

%$ 

¼



¼¼

¼¼

8

¼¼



¼¼

  "

9

>&  8 9   8 ¼¼ 9; ¼¼33

¼¼33¼¼33¼¼   8¼ 9; ¼¼33¼¼33

¼¼33¼¼33   ¼¼  33 ¼33 !¼ ℄ 33

I:Issuer

¼¼

¼¼

¼¼

¼

¼

8  

    ! 9 33; %$

! 33;  % ¼ 8 9  33;  8 #¼  ¼ 9 33;     ¼ ¼¼ ¼¼ ¼¼ !33;   8 ¼ ¼ ¼ ¼ 9 33;    8  33 33 33  9 ¼ ¼ ¼¼ ¼¼ ¼¼  33;   8

33  33 33  9 33;   8

33  33 339 ¼ ¼¼ ¼¼ ¼¼ ¼¼ ¼ ¼ (33;   !33;   8

33  33  33! 9  8  33

33 33 33 9 ¼ ¼ ¼ ¼ 33;    8  33 33

3333 33 33 33 ! 9  ¼

> ;"

;   8

33 3333 9℄



C:Card

¼

 ;"℄

 !

>  8 !¼¼ 9; 3333 33 ¼¼

8

$ 

¼¼

8

¼ ¼ 9 33;   ¼ ¼ 33;    8 33

33 339 ¼ 33;   8

33 3333 9  ¼ #33;    8 33

33 339  8 !¼¼ ¼ 9 33;   33;   8

¼33 3333¼ 9 

  47

           

(. % 6    4 B  

''*

1                    *      

           6'       

   &  8+7

  &1

1 

%

 

0



 

0

¼

        %  

    

0 0  0  0 0  0 . 0 

   

 0

3         

                  (   

4   



  (

1      



           %    S /

  2   

         

          

  

    

   





   .            

$;

   

   ++           

                     

$ "  /   %

 

$





  .    

$ )

 

             

; $$

%"      0



9  

             ? 

  ?93 +7 &    )     DA ,, 3 --℄     

  Æ 

     

 

 

  

* )+ 

 

  .

DA ,N 5/,,℄ !      

           

               )    

                       

    

         .    

        1  

  6'

   

  

         

                 

   )       .   

    ?                   

 

   



   ?           

      ! &  >8L                 

    

             

&1"1 '

 3   ; )  2  



  

  D&&,8℄      

-

               

      

     

        9     (    

          " 8  8 99 ; )℄  3; 



8

 *  

   



9 waitReq

checkReq

8

 

>  ;  ℄



  899

 8

9

 3;   8 9



  =  #    !"        * >77            

            

                  

       





           * >7L !                #              

        

   

      .    

          .  ;           (   . ¼                          

            #

      

      .        *

      .         .             

   Æ 

 

 .          

                 

89



)



o 8

  

 

8



99



/  

8    8 9

  



8)



)

 99



o

)



o 8  9



)

  =  #      

'

( A  

    



# 

.         .      

   

   



#

  

 .

 

  

   .    .

.         . 

      









       

 

   

1    &  LLL 



 

 

 





                   

            .





   

    

            

"%

          = 

               .

 





1 

                    

 * "%

   



    

    

  

         

     

        )

       

       .

    

 * 

                  

 

           .       

   .  

          .       

      &  >7     :         

 ;     

       

  . 

    



     

      

       

     

 

 





#



 .

     

 .    * >78 0 

    



      

  

              .



        1           

: .           6' 



     

    

 o



 





/    





     







o

    



 





      

/ )

)

  =  #   " E  &1"1 $4!   +   '

 

1                 

      )                       

            ;



                         

(& 5  4  I   

'.

www.bankeasy.com Server

Local

Browser

Store

www.finance.com Server

  

     B  3 A                         

         &

     .                                   6'   1   6'       * )+   

          1   

      

  6'                

             )                 6'            (      !  

    ;  !  

 . 5 .    

    * 

         

      * >7>  

        

      .  

       

 

  

   

         ; "+% )           .         

                 +   7  "          . 

 % "7% )   "       

   %  

         

             .   &

       

   !   

  

 

    

     . 

   

 

 

    

               +  >7        ( 

     D?C  -+℄ H   .  &  >+ 

  D)*A-7℄   .                      



      

           





        7 

 &    D)&,,℄   .       

       2        &  >L      D?1-+ ?C  -+ ?C  -8 ℄   D?1-+℄ 

     



      =  '  

A  "='A% )     2 

   

  

) A  !  

'.*

MyApp JMI r

ate

MDR

MOF

3:

[UML 1.4]

ge

2 : ins

1: 01 - 02 - 15 . xm

ne

UML 1.4

ta ntia te

MyUml

l (U

4: M

ML 1.4 Me tam od el)

yU

ml

. xm

i

     5@ # "

     7 )       @'!               '9H       ?'!      

        L                     

    6' !   8  6'              

  



 

   ?'!    

  ?                    

 @'!    5  

            

 '9H 

        6'                   6'             

2 !  ( /  , )*

                   6'                   

   6 '      D?&) -8℄

)11 ( +             

   

     

6'                  &  8+7     ;

'.+

) !   

&     ; 

   

        



   

            

       

    



   

&      ;        

    

 

     2                    "  

 

 %

                  

  

  

«framework» GuiWrapper

     

IGuiMode

ITextMode

«tool» MyUmlTool

«framework» WebWrapper

  !   

IWebMode

) A  !   (  4        

  

   





    

    

*" 

      

            

      .         "A6!%

& 

'&'

 

     

"" 

    

               A6!        



  . 





      0   

*

 O

            

"

        

  

     

   



 

   

  

   A6!     

  

    

    )

        6'     .     6' +>

            @'! +7   D@'!-7℄     6'  ½ !           

             6'   . !      

                

         &  M> =       

 ;   

        

                   .               6' 

)11  3     8   1           2     . &  D0-L℄         6'   .                  ℄   

 

           !       

  

   

    

                           

          D)--℄;       

     



   



3

 





3

 



         .    ;

¯ ¯





 



    .        

   

3



¼

3

                         

 









¼

3



¼

 

 



          

  

     

 

    

            (      



   1            



  



 

    

 

  

 

 







      

     





 









    







  

       

     

  

    



     

   )   





 

   

         (  

                     )      

   

      &    

         

                              

         

   & &  >7                           )     

      * L8            &  >7  

         

"

        0 

 

 

;;S

            

'&

+   4" 5   

  

 

"

 

 

 5         





               "    

 



'#   4   7 ! ) 

  

)+"%

 



S ")+" %  " %%   ;

   "  %  



     

            



   





    

  " %           

 "% "%  "%% "  

   %     " %         

     " %  $4   5    

S " " %



   



  

"%  $       

     "%  )+"%         

  

   



)+"%

  



  "%

 "%  )+"%

 

   )       

 

 "% 



  

  

          

            (  

     

   







¼

 

¼

 

)+"%  )+"¼ % S 

        

(        





  

          

          9(            

 

      

 

 

   





                                                

   

 



  



  



     

 "%;    

     



    

    



  







  



    

 

              

! 

   





       

 





     



    

   !   1 

  

       

     !   

   

      

     

(                           *                        

            

!         

        #$



  



    



         

  

           





   

      

+'   4        

'(

 *          6' '        



     

  

)          

        



                   6' '   

  (             )   

       &  N+L ) 

            

    

         

      

                 .                 .            6' '         

  

    

 



   

 " %

(

   



      

  

    



      6' '    &  G+       



" %

   

            

7  1          

. 







     

(  

  



    

  

 &  N++     

  

'  2  " "  %%

 

    

(       

  

    





            

              



  

 



   

         (      (   

          

     

   0 

       

         

           &  N+G 1   

    

   



1 



   







   

     







       



  

 

    

  

 

  

 S D  ½ 



  





  

      

1 



    

  

        





 

 )+"%   

  6' '   





    







-

 

  

  

 

 

   1  

  ℄            





    

 ;

%  % "       % 4    "         

       %   

  



"  

 

 "%

 

      

  

         %

 

 

" %

     

 0

 " % 

   &      

  

   



               

      

  

')

+   4" 5    

;;

;;





 

 

 



 



       

     









 

&    

      0  

                    S

" % S

" %



" %

S



      6'    

'  2  " %    &  N++ * 

           '  2 " % '  2 " %  '  2 " %    A  

  

                  

          " % S    " % S       )

 B (

  

  

         6' '   

%  %    

  S  "%    4  ;S   



   



 

 

 

   !

        

      !



  









 



   * N,

        

 

 





  

       

      

 

         

     

 

 

     !  

 

 

  ;



    6' '      



 



    

 

  

       

    

  



     

  

        "   %            

"! &'   3  ; > ℄ 

3;     8 8 99 ;  8 8 99



*

 "!+8 8 8 999:  8 8 99 ; 

3; 8 9:  8 8 99 ; 

     (  (8 8 8 999 ; (  (8 9 

 

0  

$ 



 

 

 

 

 

 

 

 



/

 

/

 

 

 

 



 

3;

  :  8 8 99 3; * 89:  (  (89  ) 

8(  (899 3; 89 3; 8 9 /

 



 



 



 

8(  (899:

 

        7

   

+'   4           

  "  %% !

 "

          



              

           

    

    

  



 

       

    

  

  

      !          . 

   1  

  

'*

 

         

         



4 

         

       .                      )         

   "    %   

             

                 !     

     

    

 

  

  



                  

                    

  

,1 1& '  ! !            

          

  

                  )         .   

      

     

                    



       

        



        

            

 6' +       D6'-L  7+GN℄     



6'                     !                        6'           

      

     .                    



    !    

                   9    (                           D6'-L  7+GN℄ &

                                      Æ      1           

    :    

  

                                          &  N+L )

 

    

S "   &  &  %       

      

   



 

  

    

 

   

       

&

         

             



& 

      



  ,  



              

#

 " %



    

   ;

'+

+   4" 5   

"! &'  3   8   !  &' 8 9

 

-  

9 

  $



 3; 

0  

 

  

  A "       

 '                    " %  '      

 " %

           %

 

 

 " %

 ' 

" %

       &  N+L 

&   & 

$

  

 "%

  "%



   









          

  

 



      ;

   

 5  

   

   "

      

       

       

   



    

  

 

 " %

 





       

 "%

   



& 

 $4

 

      

 

 



         &  N+L            

                               &  N+L       

   

  



  '#

(

 

   

    



                  

  6' '      ! 

    

        



   

              

*               )       



 

      

0 







)+ 



            

 

 

  

  



   

          

8 9

&  $ 

 !  89

        

  

-    







 



8

8 9

 &  

8 99: 8 99

   $  

8

    

  A "    6    

" %

+'   4          

      

   



*      

       

'-

  

  

  &  N+G !

              

     

              (    !     

$4   $4     

  5        

    6' '      &  G+       

                     ( 

6' '         

         

   



 

1                   

            &  N+L  6' '       

$4    *

  "%

  

   * N++  

 " %



N+-

  " %

    



    

  

  &  N+L

      





     &  N+L 1   

 * N+7

8 9  3;

 

 

 

 

*

 "!+,!  8 8 99   



8 8 99     !  8 9 

)

 

 

 

8 9

 

  A "    6     ,1 1)  !  ! 1            )

 

S "   %

  ;    

  



       

  

   



 



     



 

  



S "        %

         

       

         

    )

     

S "" % $" % !" %%   ;

"%    $"%     "%   

 

 

     



  



S "" % " %%  

       .   

"%  "% 

       

2             2               "  #"   "    B  



+   4" 5    !"% 

    



 





   "         %  

     



 



 

    %  4



S " ¼ %   



   

 " 

    



1        

  .



      "          

%



S



  

  

 

S





     

S "  "  %       

     .  

,1 1* # ! !

 6'      

     

    



.                                                6'                         

  

   6' *      

      





     

    





      . !       

                   .                         6'            Æ       

                          











       



       

       D6'-L℄     





    



    



   

                  

    



         

 



          ;                       



       

            4     

                     

 !             6' '         

  

  )             

      

      

     

   4     

 

         

    &  N+L          

 

 

    

        

 "            6'           (        D6'-L LG87℄

)     

              



  

  

          &  N+8 

    

         ( 

(

  

                 &  N+8 4     

       

   

 

     )      

      

!  "      

 

 



+'   4                



            

   

 





   

           

       

           

   

 

    

                 

'





 



                     

        H                     

   2             

        

                    

                                   6'         !                   D6'-L 7+L7G℄              #              $ &

 6' +           .                               

             1   

   

         *  

    .           .          

 

    6' +           &  N+> )                             

       



         



;        

  

         

                                             ;       

             



    

                                           

        

  

 



  





!    

     



&

   

      B



              

 &  N+8                 

         

(



      

       

 

       



         )                   ( 



  

     

 ( 



   

  



 



¼

 



¼

)+"%

   

   





 )+" % ¼





  

   

    



 

              5    (    

  

     ( 

  

     

   

                 

                       ( 

     

       ;



       

  



 ¯

+   4" 5          (  

             



  "   



        ( 

       %

¯

     (                                      

¯



  



     

      



  



       



        

 

  

             .                                  *  

       



     

 



      



  &      

 3 



           

5

& 

 3

   

     

   

          6'         

 3 



5



  

           1 

      

3



    

 

    &  

 

 

    

       6' '        

 

   ) 

      



   3 

 5

 

 



     

   



 

 

   !

     





       

         

       

   !   

    

3



5

   

     

          



 



 

        

  

)  

     6'             



       .                                  

            ; =                                                       

  2      

  2    *         

              

    

    

       

 2  6'                     +

 8  ,1 = #4  8 ! >1   (     $    ¼ 0              0    $ / .      ¼  3 4 $" %$ $"             $4  ¼   3 4 $" %$         $4  /



,  5!         

S   $  ; ! !"%  ,    ,         

*       

 .

=  

 

      

  (       

+  ,11 3

    

 4 $" %$ $"         $          $               

/   .     ($"          

         .             

+ 5   

-

        6'   !      .  

              

 8  ,1" = #4  8 ! >1 7     ¼  3$  4 " %$($"               ¼   3 4 " %$($"        / 1             .   

+  ,1&1 '  



    



¼



¼

 ($"      

   $"    

/

                 6'&    G+L

(  ! ,1)1 .$"

           



(          /

 8  ,1* = #4 7 >1







¼

7(      

 3 4 ($" ,    

   



¼





¼



 3 4 ($" $

 3 4 ($"    

/

1  

             

                          

           

      

  



   

  

3 ,1,1 .$"

,  

        



(          /

!            :         B      

'     

      

        



           

  



   .    





       

                     2                 

 8  ,1. =   2 8 ! >1



¼

   -   

 









¼

   

' "& %0 

¼

 3 4

 3 4 ($"    

' " %/

' 





  

            (                                 :  !                               ) .     

(   



          

   

      D&&H5--℄

.

+   4" 5   

(  ! ,1 /1 (



' "& %

S

!    

&/

       



 0  0   ¼

¼¼



  

' $       0 ( ' Æ ' "& % 

S ' "' "& %%/





  ' $       0

¼¼



¼

¼

   





¼



0

¼¼

' $    $ ' Æ ' $  



¼

¼

)     .        



¼

  DA0?/,>℄ 

  

  $     

  .          

          0        

  

       

    

     

                              

         .  .           1    



  

         &  8L )                  &  >+

,11 2 ℄ D*0,G℄    

    

         D* ,N℄        !  

          1 .      

  

  D*-+ & -L℄

                      

D?3&,> &5