Accueil
 Sommaire
 1  Objectifs de ce cours de modélisation orientée objet
 2  Généralités sur la modélisation orienté objet et sur UML
 3  Analyse, vues cas d'utilisation et processus
 4  Analyse et conception, aspects statiques de la vue logique
 5  Analyse et conception, aspects dynamiques de la vue logique
 6  Conception, aspects langage et technique
 6.1  Rappel des phases du cycle de développement en V
 6.2  Conception des classes
 6.3  Rappel du diagramme de classes de l'étude de cas Studs
 6.4  Traduction des associations en attributs
 6.5  Traduction des agrégations
 6.6  Traduction des compositions~*
 6.7  Traduction de la classe « Façade » du système
 6.8  Encapsulation: visibilité~/~accessibilité des attributs et des opérations
 6.9  Traduction des attributs dérivés
 6.10  Qualification de certaines associations~*
 6.11  Traduction des diagrammes d'interaction en algorithmes
 6.12  Traduction des diagrammes de machine à états
 6.12.1  Quelques opérations de la classe Scrutin
 6.13  Traduction des relations de généralisation spécialisation
 6.14  Traduction des classes d'association~*
 6.15  Méthodologie: une fiche par classe
 QCM
 7  Conception, vues développement et physique
 8  Conclusion
 9  Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


6.12.1 Quelques opérations de la classe Scrutin

constructeur(...) {
  ...
  vérification
    dateDébut < dateLimite <
      dateLimiteExistence
}
avancerOuverture() {
  ouvert = true
  ouvertureAvancée = true
}
avancerFermeture() {
  ouvert = false
  fermetureAvancée = true
}
avancerDestruction() {
  destructionAvancée = true
}
vérifierAuQuotidien() {
  si ((dateJour >= dateDébut)
      et (ouvertureAvancée == false))
  alors ouvert = true
  si ((dateJour > dateLimite)
      et (fermetureAvancée == false))
  alors ouvert = false
  si ((dateJour > dateLimiteExistence)
      et (destructionAvancée == false))
  alors en destruction
}




    précédent     suivant 


Cette diapositive présente les algorithmes des opérations utilisées dans le diagramme de machine à états. La dernière opération vérifierAuQuotidien est implicitement19 créée pour faire évoluer de manière automatique l’état des objets d’un Scrutin : tous les matins, tous les scrutins sont parcourus. Par ailleurs, comme montré dans cet exemple, dans le constructeur, il est souvent utile de vérifier que les valeurs passées en paramètres sont cohérentes : ici, dateDebut < dateLimite < dateLimiteExistence.

D. Conan, C. Taconet, C. Bac, Télécom SudParis, CSC 4002, Octobre 2015

19.Il n’est pas évident de trouver ce type d’opération lors de la lecture d’un diagramme de machine à états. Pour ce faire, demandez-vous quel est l’événement non donné (implicite) qui fait changer les valeurs des attributs pour que les conditions deviennent valides.