CSC 4102 – Introduction au génie logiciel pour applications orientées objet

Portail informatique

Liste récapitulative des tâches du projet séance par séance

Cette page récapitule séance par séance les résultats attendus avec, à titre indicatif, ce que nous considérons comme la progression nominale.

  • Avant le démarrage du début du module :
    • installations et configurations logicielles sur les machines des salles de TP et sur les machines personnelles,
  • Séance 1 :
    • création du projet GitLab,
    • configurations des comptes pour utiliser le projet GitLab sur machines des salles de TP et sur machine personnelle,
    • étude du cahier des charges de l'étude de cas,
  • Séance 2 :
    • diagrammes de cas d'utilisation incluant les cas d'utilisation suivants (formulés tels quels ou avec vos mots) : («  »), («  »), et («  »),
    • priorités des cas d'utilisation,
    • préconditions et postconditions d'au moins trois cas d'utilisation de priorité « haute », dont («  »), («  »), et («  »)),
    • table de décision  ··  ·· des tests de validation d'au moins trois cas d'utilisation, dont («  »), («  »), et («  »),
  • Séance 3 :
    • diagramme de classes,
    • diagrammes de séquence  ··  ·· d'au moins deux des trois cas d'utilisation («  »), («  ») et («  »),
  • Séance 4 :
    • diagramme de classes raffiné,
    • diagramme de machine à états  ·· d'au moins une des classes importantes (),
    • formules en logique propositionnelle de l'invariant d'au moins une des classes importantes (),
    • tables de décision des tests unitaires d'au moins deux opérations, dont les opérations («  ») et («  ») de la classe (),
  • Séances 5 :
    • programmation de l'application comprenant au moins trois cas d'utilisation, dont («  »), («  »), et («  »),
  • Séances 6 :
    • programmation de l'invariant d'au moins une classe, dont la classe (),
    • programmation des tests unitaires d'au moins deux opérations, dont les opérations («  ») et («  ») de la classe (),
    • programmation des tests de validation d'au moins trois cas d'utilisation, dont («  »), («  ») et («  »),
  • Séance 8 (nouvelle version) :
    • résolution des bugs trouvés par SpotBugs (qualité du code à maintenir jusqu'à la fin du projet),
    • vérification de la qualité du code des classes () et () via Checkstyle (qualité du code à maintenir jusqu'à la fin du projet) :
      • écriture des commentaires Javadoc,
      • respect du standard de codage du module,
    • application d'idiomes Java pour l'écriture des méthodes equals, hashCode et toString (application systématique de ces idiomes jusqu'à la fin du projet),
    • mise à jour et continuation du développement (valable pour le reste des séances) :
      • avec comme premier objectif le cas d'utilisation («  »),
        • avec les élements suivants pour le cas d'utilisation «  »,
          • précondition et postcondition de («  »),
          • tables de décision des tests de validation de («  »),
          • programmation du cas d'utilisation («  »),
          • programmation des tests de validation du cas d'utilisation («  »),
      • avec comme deuxième objectif les cas d'utilisation pour fermer un réseau social, cacher un message, etc.
      • tout en n'oubliant pas la section « Complétude du logiciel » du cahier des charges.
    • (optionnel) ajout à l'intégration continue de l'analyse de la qualité du code via Checkstyle,
    • programmation de certaines méthodes de la façade à l'aide des Streams JAVA,
    • utilisation de la classe Optional à bon escient,
  • Séances 9 (nouvelle version) :
    • vérification de la cohérence entre les diagrammes du modèle (cohérence du modèle à maintenir jusqu'à la fin du projet),
    • vérification de la cohérence entre les diagrammes du modèle et le code (cohérence du modèle et du code à maintenir jusqu'à la fin du projet),
    • insertion des patrons de conception «  » () :
      • modification des diagrammes de cas d'utilisation pour ajouter les cas d'utilisation liés au patron de conception,
      • modification du diagramme de classes pour insérer le patron de conception,
      • programmation de l'insertion du patron de conception,
      • programmation des tests de l'insertion du patron de conception,
  • Séances 10 — Livraison du logiciel :
    • pour la complétude du logiciel, voir le paragraphe dédié dans le cahier des charges.