Rational Rose - ProfitEnGrosAut

Transcription

Rational Rose - ProfitEnGrosAut
C1: {dateCommande/heureCommande >=
dateInscription/heureInscription}
CD4:{Ne peut supprimer une Commande
si une Livraison est enregistrée pour cette
CD2:{Modification de Livraison
Commande}
interdite si Facture générée}
<<entity>>
Client
{UNIQUE : noClient}
noClient : EntierPositif
nom : ChaîneAlpha15
prénom : ChaîneAlpha15
adresseLivraison : TypeAdresseCivique
dateInscription : Date
heureInscription : TypeHeure
courriel : TypeAdresseCourriel
motDePasse : TypeMotDePasse
1
C5:{dateLimitePaiement et
datePaiement>=dateLivraison}
C4:{somme des paiements <= total
facture}
<<entity>>
Facture
{UNIQUE: noFacture}
noFacture : EntierPositif
dateLimitePaiement : Date
<<entity>>
Article
{UNIQUE : noArticle}
noArticle : EntierPositif
description : String
0..*
URL : TypeURL
quantitéEnStock : EntierNonNégatif ...
<<datatype>>
TypeLibellé
{String max. 30 caractères}
CarteCrédit
sorteCarte : TypeSorteCa...
noCarte : TypeNoCarte
dateExpiration : Date
{UNIQUE: noCarte}
{disjointe,complète}
1..*
PaiementParChèque
0..1
1
PaiementParCarte
numéroAutorisation : Integer
noCheque : Integer
1
CompteBancaire
idBanque : Integer
noCompte : Integer
{UNIQUE: idBanque,noComp...
C3: {Une Livraison traite des Commandes d'un seul
Client}
0..*
<<entity>>
DétailLivraison
quantitéLivrée : EntierPositif
<<entity>> 1..*
LigneCommande
quantité : EntierPositif
prixNégocié[0..1] : TypeMontant
dateEntréeEnVigueur : Date
heureEntréeEnVigueur
: TypeHeure
1
1
1
<<entity>>
Livraison
{UNIQUE : noLivraison}
noLivraison : EntierPositif
dateLivraison : Date
0..*
1..*
<<entity>>
PrixEnVigueur
prixUnitaire : TypeMontant
0..1
<<entity>>
Paiement
datePaiement : Date
0..* montantPayé : TypeMontant
0..1
C2: {dateLivraison >= dateCommande}
0..*
<<entity>>
Commande
{UNIQUE : noCommande}
noCommande : EntierPositif
dateCommande : Date
heureCommande : TypeHeure
statut : TypeStatutCommande
C10:{Pas la même carte pour deux
clients}
C7:{Le prixNégocié < prixUnitaire}
C6:{quantité de LigneCommande >=
total livré}
CD3:{Lors d'une nouvelle Livraison, la
quantitéLivrée ne doit pas dépasser la
quantitéEnStock}
CD5:{Modification/suppression
interdites pour Article}
<<entity>>
Catégorie
{UNIQUE: code}
0..1 code : EntierPositif
libellé : TypeLibellé
C9:{Le même compte ne peut être
employé pour deux clients }
+parent
C8:{Un Article doit avoir au moins un
prix}
0..1
0..*
<<datatype>>
TypeMontant
{Décimal deux chiffres après le point}
<<datatype>>
TypeHeure <<datatype>>
TypeNoCarte
{...}
{12 chiffres}
<<datatype>>
<<datatype>>
<<datatype>>
EntierNonNégatif
TypeAdresseCourriel
TypeMotDePasse
{Integer >= 0}
{String de 6 carac.; au moins un non alphabétique}
<<datatype>>{String incluant un @, max. 30 carac.}}
<<datatype>>
EntierPositif
{Integer >0}
TypeURL
{...}
<<datatype>>
ChaîneAlpha15
{String, alphabétique max. 15 carac.}
<<datatype>>
TypeAdresseCivique
{String max. 100 carac.}
<<datatype>>
TypeSorteCarte
{enum(Visa,MasterCard,AmericanExpress)}
<<datatype>>
TypeStatutCommande
{enum(confirmé,enNégociation,annulé...
File: C:\Users\Robert\Documents\Travail\Docs\Enseignement\INF5180\Aut2013\ProfitEnGrosAut2013.mdl
Diagram: Logical View / Main Page 1
18:04:38 5 novembre 2013
Class