Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
@startuml
' PARAMETERS
skinparam linetype polyline
skinparam linetype ortho
title Base de données trafic V2I
package "Composant" #87CEEB {
abstract class Noeud {
+ajouter_capteur() : void
+transfér_capteur(N1:Capteur,N2:Capteur): Capteur
+supprimer_capteur():void
}
Noeud"1" *-- "0..*,1..*"Capteur
class Capteur
Class Capteur{
+ numéro_série : int
+ modéle : string
}
note top of Capteur : (numéro_série, modéle) primary key
class Infrastructure {
+id :int {unique}
}
package Composant_mobile #483D8B {
class Véhicule {
+numéro_immatriculation : integer
+marque : string
+modéle : string
+anne_production : date
+type : Type_voiture_spéciale
}
enum Type_voiture_spéciale {
ORDINAIRE
SAMU
POMPIER
POLICE
}
class Moto{
+capacité_moto : integer
}
class Camion{
+capacite_maximale : integer
}
class Voiture {
}
}
}
Noeud "1..*" - "1" Noeud
(Noeud, Noeud) .. Communication
package "Communication" #000080 {
class Communication {
+type_communication : Type_communication
}
enum Type_communication {
UN_A_UN
UN_A_PLUSIEURS
}
}
package "Evenement" #DDDDDD {
abstract class Evenement {
+timestamp :date
+id_entite : integer
+contenu {unique}
}
class accident {
+gravité : integer
+nombre_véhicule : integre
+type_véhicule[1..*] : sting
}
class alert_meteo {
+temps : string
+température : integer
}
class detection_materiel {
}
class traveau_routier {
}
}
package "localisation" #5F9EA0 {
class Position {
+longitude : float
+latitude : float
}
class Commune {
+nom : string
+code_postal : integer
}
Commune "1" --"*" Position : appartient
Infrastructure "1"--"1"Position : se trouve dans
}
Noeud <|-- Infrastructure
Noeud <|-- Véhicule
Capteur "1" -- "*" Evenement : détecte
Evenement <|-- accident
Evenement <|-- alert_meteo
Evenement <|-- detection_materiel
Evenement <|-- traveau_routier
Véhicule <|-- Voiture
Véhicule <|-- Moto
Véhicule <|-- Camion
Evenement "*" -- "1" Commune : se déroule dans
Camion "0..1"--"*" Voiture : transporte
Communication "1" *-- "1" Evenement: produit
@enduml