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

:

" -
"


UML (Unified Modeling
Language) , ,

,
,

.
UML .
, UML
. UML ,
.

, .
UML Object Modeling Technique (OMT),
Objectory, UML.
UML
, ,
. UML
, ,
, , ,
.
-
.
Rational Rose
2003, UML.

,

-
.

, .
, ,
.

(sequence diagrams).

;


.

.

,
.

.

.


.

++

, Rational Rose.

1.



.


,
, .

- .


.



,
, ,
-

.
:

;

()

- ,
.
2.

.
() ,
,
(, ) .
-
.

.
.
,
( ).
, , .

2.1

Rational Rose.
() .

:
;

:
1. Rational Rose
2003.
2.

(Main) Use case:

+ Use
case, ;

, .

3. Use Case ( )
.
4.

3 4,

:
;

6. Actor ( )
.
.

8.


9.

Unidirectional

Association


()
.

. ,
.
. :
, .
.
,


<<include>>

<<include>>

<<include>>

()
()

2.1 -

3.

3.1.

:
- ,
;

- ,

, ;

- ,

,
.

:
1. .
2.

.
.

.
.

.
.

.
.

.
.
. :
.

:
:

1: ( )
2: ( )
3: ( )

4: (String, Double)
5: (String, Double)

6: ( )
7: ( )
8: (Single, Double, String, String, Date)

9: ( )

10: ( )

3.1 -


4.

- Collaboration Diagram - .
.

,
,
.
,
,
. ,

.
, .

4.1).

- . :
( - );

( );

( );

( );

1. () - .
2.

() - .

() -

.
.

(String, Double) -

.
.

(String, Double) -

.
.

()

.
.

() -

.
.

(String, Double, String, String, Date) -

.
.

()

.
.

() -

1.
.


.
2.

1: ( )
2: ( )
3: ( )
:

4: (String, Double)

:
:

6: ( )
7: ( )

5: (String, Double)

9: ( )
10: ( )

8: (Single, Double, String, String, Date)

4.1


5.
Class

diagram

.
.
,
, ( 5.1).
- ,
. UML : Boundary
(), Entity () Control ().
: Boundary ()
Control ().
.

Boundaries

Control

5.1 -
(boundary classes) - ,
.
, , (,
) . Boundaries
: (
) (
).
(control classes) -
.

.
,
.

1.
. ,
.
2.

.
6.

,
, .

C++,
,
.
- , .
, .
,
.
(attribute visibility).
.

( 6.1).
, ,
( ):
: String - ;

_: Double - ;

_.: Double -

...: String - , ;

_: String - ;

: Date - .


, .

1.
. ,
.

2.

<<boundary>>

<<boundary>>

(from Boundaries)

(from Boundaries)

: String
: Date
_ : Double
()
()
()

: String
_ : Double
: String
_ : String
( : String, _ : Double)
()
()

0..1

1..*

0..1

0..1
0..1

<<control>>

(from Control)

( : String, _ : Double) : Boolean


0..1
<<control>>

(from Control)

_ : Integer
: String
_ : Double
_ : Double
: String
_ : String
: Date
( : String, _ : Double, : String, _ : String, : Date) : Currency
()
()

6.1 -
7.

(State)
, .
(state) ,
.
,


. :
, , ,
.

.
7.1
. :
1. .
2.

New->Statechart Diagram (
).
:
1. Start State ( )
.
2.

End State ( )

.
.

:
1. State ().
2.

State ().

State ().

State ().

:
1. .
2.

Detail ().

Actions ().

Insert ().

, When () On Entry

( ).
.

3 - 7, :

, When On Entry ( ).
.

, .

.
.

2 - 7, :

, On Exit ( );

, On Entry ( ).

12. , .
13.

, On Entry ( ).
.

, .

:
1. Transition () .
2.

:
;

,

. 7.2
.

.

: , ,
. .

entry/
entry/


entry/


entry/
exit/

7.1 -

Exe

7.2 -

8.


, , .

Deployment

.
.

.exe

<< >>

MSSQL Server

8.1 -

:
1.
, .
2.

Processor

()

.
3.

, .

4.

5.

2-4,

.
6.

Device

().
7.

.
8.

:
1. Connection () .
2.
.
3.

.
4.

1 3,

.
:
1.
.
2.

New Process

( ).
.

- MSSQL.exe.

1 3, .exe

.
:
1.
.

2.

Show Processes

( ).
.

1 2,

1. ,
-.

.
2. .

.
9. C++
++

Rational

Rose

++
. Rational Rose 2003
++.

++

:
1. ().
2. ().
3.

().
4.

.
5.

Tools -> ++ -> Code Generation.

6.

Tools -> ++ -> Browse Header Browse

Body .
-
. *. (
) *.h ( ). ++
. , Rational Rose
*. *.h . ,


.
,

,


.
Rational Rose 2003

, ,
. , ,
. Rational Rose 2003
,
.

1.

C++.
2.

Rational Rose

++ .
2,93 .



-
.
UML, -
Rational Rose 2003.
:
;

.
: , ,
.

.
:
(Boundaries).

-.

.

.
8 ++
2,93 .

,
.

UML

,

.


1. ., ., . UML : .
. - .: , 2000. - 432 ., . ( ).
2.

., . UML Rational Rose: . . - .:

, 2000. - 581 ., .
.

., ., . UML: . -

.: , 2002. - 432 ., .
.

. UML : .

. - .: , 2001. - 496 ., .
.

2.105-95

2.004-88 .

2.104-68 .

2.106-68 .

2.109-73 .

2.301-68 .

Rational Rose ++

A.1 .h
#ifndef _H_HEADER_INCLUDED_B1FDED12
#define _H_HEADER_INCLUDED_B1FDED12
// ##ModelId=4DE4AE1503C8
{:
// ##ModelId=4DE4B78402FD
();
// ##ModelId=4DF22E4A03D9
();
// ##ModelId=4E019A2B0281
();
:
// ##ModelId=4DF2312401F8;
// ##ModelId=4DF23E8202AA;
// ##ModelId=4DF23F8D0341_;

};
#endif /* 2_H_HEADER_INCLUDED_B1FDED12 */.2
.cpp
#include .h
// ##ModelId=4DE4B78402FD
: ()
{
}
// ##ModelId=4DF22E4A03D9
: ()
{
}
// ##ModelId=4E019A2B0281
: ()
{
}
A.3 .h
#ifndef _H_HEADER_INCLUDED_B1FDAC03
#define _H_HEADER_INCLUDED_B1FDAC03
// ##ModelId=4DE4B1F1009C
{:
// ##ModelId=4DE4B2140167 (String

, Double _);
};
#endif /* 2_H_HEADER_INCLUDED_B1FDAC03 */
.4 .cpp
#include .h
//

##ModelId=4DE4B2140167:

(String , Double _)
{
}
A.5 .h
#ifndef _H_HEADER_INCLUDED_B1FDA7E1
#define _H_HEADER_INCLUDED_B1FDA7E1
// ##ModelId=4DF22026003E
{:
// ##ModelId=4DF221850195 (String , Double
_, String ..., String _, Date );
:
// ##ModelId=4DF221CA000E
();
// ##ModelId=4DF221E60204
();

// ##ModelId=4DF2360E0361_;
// ##ModelId=4DF2359F0376;
// ##ModelId=4DF2359600A7_;
// ##ModelId=4DF2357C039E_.;
// ##ModelId=4DF9A7F90227...;
// ##ModelId=4DF9A80B0165_;
// ##ModelId=4DF9A963039C;
};
#endif /* 2_H_HEADER_INCLUDED_B1FDA7E1 */.6
.cpp
#include .h
//

##ModelId=4DF221850195:

(String

, Double _, String ..., String _, Date


)
{
}
// ##ModelId=4DF221CA000E
: ()
{

}
// ##ModelId=4DF221E60204
: ()
{
}
A.7 .h
#ifndef _H_HEADER_INCLUDED_B1FD8906
#define _H_HEADER_INCLUDED_B1FD8906
// ##ModelId=4DE4B321001F
{:
// ##ModelId=4DE4B40201B5
(String , Double _);
// ##ModelId=4DE4B51F00EA
();
// ##ModelId=4E019A5502F9
();
:
// ##ModelId=4DF232EB01FE;
// ##ModelId=4DF233D603B2_;
// ##ModelId=4DF724FA037A...;
// ##ModelId=4DF7253E03B9_;

};
#endif

/*

2_H_HEADER_INCLUDED_B1FD8906 */
.8 .cpp
#include .h
// ##ModelId=4DE4B40201B5
:

(String

_)
{
}
// ##ModelId=4DE4B51F00EA
: ()
{
}
// ##ModelId=4E019A5502F9
: ()
{
}

Double