Evaluation blanche du 20 mai 2019 - 18h25

Added by Marc CHEVALDONNE about 3 years ago

Rappel :
  • ne rendez qu’un seul document (pdf de préférence), contenant l’intégralité des schémas, diagrammes, descriptions pour les 3 modules,
  • ne rendez qu’une seule solution faites de plusieurs projets et ressources pour vos programmes
  • il y a 2 notes par module :
    • une partie écrite (appelée « documents »)
    • une partie développement (appelée « programmation »)
  • une évaluation blanche n'est qu'indicative : elle ne comptera pas dans la moyenne. Le soin apporté aux corrections n'est pas le même que pour l'évaluation finale et les notes blanches ne sont qu'un aperçu de votre travail à un instant t.
  • Critères d’évaluation pour chaque note :
    (Note : le barème n’est pas définitif et très susceptible d’évoluer ; il n’est donné qu’à titre indicatif)

Bilan
Au total : 21,5/120

Objets 2 : Conception et Programmation Orientées Objets (C#, .NET)

Documents : 4/20

  • diagramme de paquetage [sur 2 points]
    pas trouvé
    C'est un début. Il manque la description (-1). Il manque les dépendances entre assemblages.
    A poursuivre.
    => 0,5/2
  • diagramme de classes [sur 8 points]
    Des erreurs dans l'écriture de l'UML (par exemple, l'héritage et l'implémentation d'interfaces, la multiplicité...).
    Très bien pour l'écriture de l'UML. Il manque juste quelques noms de membres sur les associations, mais tout est clair.
    Il manque la description (4).
    -Bien pour le reste.

    => 3,5/8
  • diagramme de séquence (sur quelques cas particuliers) [sur 2 points]
  • description écrite de l’architecture (dont patrons de conception, dépendances…) [sur 8 points]
    Il est temps d'essayer de décrire votre architecture.
    => 0/8
  • Note : chaque diagramme doit être accompagné de notes et d’une description écrite.

Programmation : 6/20

  • bases (classes, structures, instances, …) [sur 2 points]
    Bien dans l'ensemble.
    Evitez de passer des List par référence dans les méthodes.
    Faites s'appeler les constructeurs d'une même classe.
    Utilisez StringBuilder pour les concaténations de chaînes de caractères.
    Préférez les chaînes verbatim pour les string sur plusieurs lignes.
    Attention aux magic numbers.
    => 1/2
  • abstraction (héritage, interfaces, polymorphisme) [sur 3 points]
    ok mais pas très utile pour le moment avec Administrateur.
    Il y en a avec la persistance, mais peu exploitée pour le moment.
    L'injection semble partiellement comprise : comment fait-on pour injecter vos deux persistances en même temps ?
    => 1/3
  • collections simples (tableaux, listes…) [sur 2 points]
    Il manque les protocoles d'égalité des classes utilisées dans les collections.
    Initialisez vos collections via les initialiseurs.
    => 1/2
  • collections avancées (dictionnaires) [sur 2 points]
    OK, mais des maladresses dans l'utilisation du dictionnaire.
    Il manque les protocoles d'égalité.
    => 0,5/2
  • encapsulation [sur 5 points]
    bien pour l'utilisation des propriétés mais tous les setters sont publiques.
    Plutôt que de faire les tests dans les constructeurs, intégrez-les dans les setters de vos propriétés.
    Les collections sont mal encapsulées.
    => 1/5
  • tests (fonctionnels et/ou unitaires) [sur 4 points]
    Un début de test de fonctionnel à avancer.
    => 1/4
  • LINQ [sur 1 point]
    A utiliser (par exemple pour calculer le prix du voyage).
    Un petit Where.
    => 0,5/1
  • évènements (cf. module IHM) [sur 1 point]

IHM : Interface Homme-Machine (XAML, WPF)

Documents : 5/20

  • description du contexte [sur 4 points]
    Le contexte est bien écrit. Les deux personas n'apportent pas grand chose de différent : vous axez leur utilisation à tous les deux vers la simplicité et la rapidité.
    Vous auriez pu aussi faire référence à l'accès aux informations, la préparation d'un voyage, la gestion de favoris...
    Le descriptif est plus lourd à lire dans un contexte et pourrait plutôt accompagner les sketchs ou les introduire.
    J'inverserais donc les deux.
    => 3/4
  • sketchs [sur 4 points]
    Les sketchs sont propres.
    Il manque la description (-2) et par endroits, des fausses données pour aider à la lecture.
    => 2/4
  • storyboards [sur 4 points]
    pas trouvé
    => 0/4
  • diagramme de cas d’utilisation [sur 5 points]
    pas trouvé
    => 0/5
  • considérations ergonomiques [sur 2 points]
  • prise en compte de l’accessibilité [sur 1 point]

Programmation : 2/20

Ajoutez ce projet au reste de la solution.

  • XAML :
    • répartition dans l’espace (layout des vues et usercontrols) [sur 2 points]
      ok quelques éléments inutiles (Grid, WrapPanel), en particulier dans page_info.xaml
      => 1/2
    • utilisation des controls (vues et usercontrols) [sur 1 point]
      ok
      => 1/1
    • ressources, styles [sur 2 points]
      Vous gagneriez à les utiliser pour vos TextBlock et vos Button (au moins...).
      => 0/2
    • DataTemplate (locaux et globaux) [sur 2 points]
  • boucle Model <-> View
    • gestion d’évènements sur la vue [sur 2 points]
    • gestion d’évènements depuis le métier (notifications) [sur 2 points]
    • DataBinding (sur le Master) [sur 2 points]
    • DataBinding (sur le Detail) [sur 2 points]
    • DataBinding sur les UserControl + Dependency Property [sur 2 points]
  • gestion du Master-Detail [sur 3 points]

Projet Tuteuré S2

Documents : 2/20

  • diagramme de paquetage mettant en avant la partie persistance [sur 2 points]
    Le Stub apparait, mais il manque les dépendances entre assemblages et la description
    => 0,5/2
  • diagramme de classes mettant en avant la partie persistance [sur 4 points]
    Un début avec l'apparition du Stub. Très bien. Il manque quelques précisions sur le type de persistance, et l'injection de dépendance.
    Il manque aussi la description (-2).
    => 1,5/4
  • diagramme de classes sur votre (vos) partie(s) ajoutée(s) [sur 4 points]
  • vidéo de 1 à 3 minute(s) du projet [sur 10 points]

Programmation : 2,5/20

  • persistance (XML, JSON, BDD, WebService…) [sur 3 points]
    Un début avec le stub. L'injection de dépendance est à perfectionner.
    => 0,5/3
  • autre ajout personnel [sur 3 points]
  • qualité
    • documentation du code [sur 2 points]
      par endroits mais peu. Utilisez la notation standard avec ///
      => 1/2
    • utilisation du repository subversion ou git [sur 2 points]
      des fichiers inutiles.
      => 1/2
  • fonctionnement de l’application
    • compilation [sur 3 points]
      ok ne compile plus
      => 0/3
    • exécution [sur 5 points]
      ok, mais il n'y a pas grand chose à exécuter pour l'instant. ne peut donc plus s'exécuter
      => 0/5
    • déploiement [sur 2 points]

Comments