How to build clear class models and get real benefits from the UML. Part 2

The second part of the translation of an article by Leon Starr, Software Model Engineer. The first part is right here . This part is about semantics and what makes a good model.

UML ,

, , . , , . , , , , โ€” . - , , . , , , . , , .

โ€” {I}. . , . -, โ€” .

, . , , , โ€” , . , , โ€” .

โ€”

Good model

UML, . , , . .

: (Air Traffic Controller), ( Off Duty Controller) (On Duty Controller). , .

ID {I}

53

12 1975

A

67

28 1981

B

51

23 1974

C

, . , , (). ID {I} โ€” ? , . , , , .

{disjoint, complete} R1 โ€” UML. , ยซยป ยซ ยป ยซ ยป. disjoint , . Complete , , . .

, , - , , โ€œโ€. , R1 โ€” , , . XOR- , .

Generalization Relationship Disjoint - Complete
Disjoint โ€” Complete

ID {I, R1}

{R3}

53

27.09.08, 15:00

S2

67

27.09.08, 11:00

S1

, , . ID , , .

โ€ โ€(Duty_Station) R3. , โ€œโ€ R3. Duty_Station.ID.

, . , , 53? ,   53 ID, โ€œโ€ S2.

, S2 . , , ยซ S2?ยป. โ€œโ€ ID  53.

, , . , SQL . , , - .

( , , , , , ).

, , C, Java, C++ (-) . - SQL โ€” , , .

, ID R1, , , ID โ€œโ€. ยซยป .

ID {I, R1}

51

, , , . , , ID , . โ€œ โ€(null) . ? , โ€œ โ€” โ€. , .

โ€” , ( ). , , โ€œโ€ , . .

ID {I}

53

12 1975

A

67

28 1981

B

51

23 1974

C

Role move

โ€œโ€, , .

(Control Zone)

{I}

{R2}

CZ1

12

53

CZ2

4

53

CZ3

6

67

โ€” , ATC. , , , - . , . , - , , , . .

โ€œ 53?โ€.

ID {I}

S1

20

S2

45

S3

30

, ( - , ).

, . , ยซ , S2?ยป, . S2 . , โ€œโ€, S2 โ€œ โ€ . ( ), โ€” .

, .  , , , , /. , .

โ€œโ€ . (), , , ( ), .

, โ€” , . , . .

โ€” . , , .

Illustrated ATC script
ATC

, , . , . . , , .

, , .

, .

UML, . , - , . โ€” , - , .

, UML, . . , ? , ? , , .

, , , . , , , . .

, , . , UML --, .

, UML .

, , .

:  Allcorrect

: @Sterhel




All Articles