Commit 6e96541c authored by Tom HENRION's avatar Tom HENRION

MLD implementation

parent 6110a623
File deleted
MCD.png

150 KB

@startuml
hide circle
namespace Terrain {
class Parcelle {
Numéro : integer
Etat : {Plantation, arrachage}
Surface : integer (m)
Exposition : [1 .. 10]
}
class Type_de_sol {
Nom : string
}
class Cepage {
Nom : string
Couleur : string
Date de plantation : integer
Durée germinaison : integer
}
class Traitement {
Nom : string
Description : string
Prix : integer
Duree de traitement : integer (jour)
}
Parcelle "*"--"1" Type_de_sol:Possède
Parcelle "*"--"*" Traitement:Traite
Parcelle "*"--"1" Cepage:Possède
}
namespace Culture {
class Mode_de_culture {
Type : {Désherbées en plein, enherbées et tondues, ou cultivées}
Annee : integer
Description : string
}
class Méthode_de_récolte {
Methode de recolte : {Manuel, Mecanique}
Prix : integer
}
class Mode_de_taille {
Nom : string
}
Parcelle "*"--"1" Mode_de_culture:Possède
Parcelle "*"--"1" Méthode_de_récolte:Traite
Parcelle "*"--"1" Mode_de_taille:Possède
}
namespace Climat {
class Climat {
Date de debut : integer
Date de fin : integer
Intensité : [1 .. 10]
}
class Type_evenement {
Nom : string
Description : string
}
}
namespace Vins {
class Vin {
Nom : string
Prix : integer
}
class Critere_Qualitatif {
Couleur robe : string
Description : string
description globale : string
Notation : [1 .. 10]
Alcool : integer
Date : integer
Lieu : string
}
class Conditionnement {
Nom : string
Contenant : integer
}
class Circuit_Vente {
Nom : string
Nombre de bouteille vendue : integer
}
}
Parcelle(#Numero : integer, Surface : float, Exposition : integer, Etat : {Plantation, Arrachage})
avec année_création > 0 et NOT NULL
Surface > 0 NOT NULL
exposition NOT NULL entre 1 et 10
année_destruction > 0 et année_destruction > année_création
cepage NOT NULL
Cépage(#Nom : string, Couleur_fruit : string, Date_plantation = integer, Duree_germinaison : integer, parcelle=>Parcelle)
Couleur_fruit NOT NULL
Date_plantation > 0 NOT NULL
Duree_germinaison > 0 NOT NULL
parcelle NOT NULL
Type_de_sol (#Nom : string, parcelle=>Parcelle)
parcelle NOT NULL
Traitement (#Id : Integer, Nom : string, Description : string, Cible : string, Prix : float, Duree_traitement : integer, parcelle=>Parcelle)
Nom NOT NULL
Description NOT NULL
Cible NOT NULL
Prix >0 NOT NULL
Duree_traitement > 0 NOT NULL
parcelle NOT NULL
Traite (#parcelle=>Parcelle, #vin=>Vin)
Mode_de_culture (#Id : integer, Type : {Désherbées en plein, enherbées et tondues, ou cultivées}, Annee : integer, Description : string)
Id une clé artificielle
Type NOT NULL
Annee >0 NOT NULL
Description NOT NULL
Méthode_de_récolte (#Id : integer, Methode de recolte : {Manuel, Mecanique}, Prix : float)
Id une clé artificielle
Methode de recolte NOT NULL
Prix >0 NOT NULL
Mode de taille (#Id : integer, Nom : string)
Id une clé artificielle
Nom NOT NULL
Vin (#Id : integer, Nom : string, Prix:float, conditionnement=>Conditionnement, critère=>Critère_qualitatif, circuit=>Circuit_Vente)
Id une clé artificielle
Nom NOT NULL
Prix >0 NOT NULL
Critère_Qualitatif (#Id : integer, couleur_robe : string, Decription_saveur : string, Decription_texture : string, Decription_global : string, Notation : integer, alcool : integer, date : integer, Lieu : string)
Id une clé artificielle
couleur_robe NOT NULL
Decription_saveur NOT NULL
Decription_texture NOT NULL
Decription_global NOT NULL
Notation >0 et <10 NOT NULL
alcool >0 NOT NULL
date >0 NOT NULL
Lieu NOT NULL
Conditionnement (#Id : integer, Nom : string, Contenant : integer)
Id une clé artificielle
Nom NOT NULL
Contenant >0 NOT NULL (en litre)
Compose(#parcelle=>Parcelle, #vin=>Vin)
Climat (#Id : integer, Date_début : integer, Date_fin : integer, Intensité : integer)
Id une clé artificielle
Date_début >0 NOT NULL
Date_fin >0 NOT NULL
Intensité >0 NOT NULL
Type_évènement (#Id : integer, Nom : string, Description : string)
avec id une clé artificielle
Nom NOT NULL
Description NOT NULL
Impacte (#climat=>Climat, #arcelle=>Parcelle)
Possède_évènement(#type=>Type_évènement, #événement=>Climat)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment