Logo ÉTS
Session
Cours
Responsable(s) Christopher Fuhrman

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Christopher Fuhrman


PLAN DE COURS

Automne 2025
LOG210 : Analyse et conception de logiciels (4 crédits)





Préalables
Programme(s) : 7065,7070,7084,7086,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG121    
             
Unités d'agrément




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure :
• de maîtriser et appliquer des patrons de conception logicielle;
• de concevoir un logiciel orienté objet en appliquant un ensemble de principes et des méthodes heuristiques de génie logiciel;
• de réaliser un logiciel en suivant un processus itératif et évolutif incluant les activités d'analyse et de conception par objets.

Méthodes et techniques de modélisation orientés objet, langage de modélisation, cas d'utilisation, analyse orientée objet, modèle du domaine, conception et programmation orientées objet, principes GRASP, patrons de conception, processus itératif et évolutif.

Séances de laboratoire axées sur l'application des notions d'analyse, de conception et de programmation orientées objet vues en classe. Mise en œuvre d'un modèle d'objet à partir d'une spécification de logiciel et à l'aide d'un langage orienté objet contemporain. Conception d'applications utilisant les outils UML ainsi que des techniques et des outils utiles au génie logiciel, tels qu'un environnement de développement intégré, la compilation automatique et les tests automatiques.



Objectifs du cours

Après la réussite du cours, les étudiants seront en mesure : 
• de maîtriser et d'appliquer des patrons de conception logicielle;
• de concevoir un logiciel orienté objet en appliquant un ensemble de principes et de méthodes heuristiques de génie logiciel; 
• de réaliser un logiciel en suivant un processus itératif et évolutif incluant les activités d'analyse et de conception par objets.




Stratégies pédagogiques

Les objectifs seront atteints par un enseignement hebdomadaire, sous la forme de séances de cours de trois (3) heures portant sur les concepts de l’analyse et de la conception par objets, et de laboratoires de trois (3) heures par semaine permettant à l’étudiant d’appliquer les concepts théoriques vus en classe.

 




Utilisation d’appareils électroniques

Pour favoriser un bon environnement d’apprentissage dans le cours, cette politique d’utilisation des appareils électroniques sera appliquée. 

Aucun appareil électronique n'est autorisé durant un examen en présence.




Horaire
Groupe Jour Heure Activité
01 Mardi 13:30 - 17:00 Activité de cours
Mercredi 08:30 - 11:30 Laboratoire
02 Lundi 13:30 - 17:00 Activité de cours
Mardi 13:30 - 16:30 Laboratoire
03 Mardi 13:30 - 16:30 Laboratoire
Mercredi 08:30 - 12:00 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Roberto Erick Lopez Herrejon Activité de cours Roberto.Lopez@etsmtl.ca A-4493
01 Laboratoire
02 Patrice Robitaille Activité de cours cc-patrice.robitaille@etsmtl.ca Sur demande
03 Roberto Erick Lopez Herrejon Activité de cours Roberto.Lopez@etsmtl.ca A-4493



Cours
  • Introduction à l’analyse et à la conception par objets et le développement itératif (3 heures[1])
    • Conception par objets
    • Processus unifié
  • Modèles de cas d’utilisation (3 heures)
    • Éléments d’un cas d’utilisation
    • Cas d’utilisation et les exigences logicielles
  • Modèles de domaine (6 heures)
    • Analyse du domaine d’application
    • Détermination des classes conceptuelles
  • Conception par responsabilités (« Design by contract ») (3 heures)
  • Notation UML (6 heures)
    • Diagrammes d’interaction
    • Diagrammes d’activité
    • Diagrammes d’état
  • Modèle de conception suivant les principes GRASP (6 heures)
    • Expert en information
    • Créateur
    • Contrôleur
    • Faible couplage
    • Forte cohésion
    • Polymorphisme
    • Fabrication pure
    • Indirection
    • Protection des variations
  • Modèle de conception, diagrammes de classes et codage (6 heures)
    • Réalisation de cas d’utilisation
    • Tests unitaires
  • Conception avec les patrons GoF (6 heures)
    • Familiarisation avec plusieurs patrons de conception et utilisation de ces patrons dans le modèle de conception.

 


[1]    Ces heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra trimestriel.

Note: L'ordre et le contenu peut être modifié en cours de session en fonction de circonstances particulières.




Laboratoires et travaux pratiques

Laboratoire 0: Familiarisation avec l'environnement et les technologies du laboratoire (6 heures)

Laboratoire 1, itération 1: Réalisation de la première itération de développement d'application selon le processus itératif. (9 heures)

Laboratoire 1, itération 2: Réalisation de la deuxième itération de développement d'application selon le processus itératif. (9 heures)

Laboratoire 1, itération 3: Réalisation de la troisième itération de développement d'application selon le processus itératif. (12 heures)




Utilisation d'outils d'ingénierie

Pour l’analyse orientée objet les étudiants utilisent une liste de catégories de classes conceptuelles pour identifier les classes conceptuelles dans un le domaine de l’application. Ils utilisent également une liste de catégories d’associations pour identifier les associations éventuelles entre ces classes.

Quant à la conception orientée objet, les étudiants utilisent plusieurs heuristiques (General Responsability Assignment Software Patterns, GRASP) pour créer, évaluer et améliorer la modularité des conceptions de classes logicielles. 

Pour le développement de logiciels les étudiants utilisent éventuellement un environnement de développement intégré (IDE) avec des outils supportant les tests unitaires et le réusinage, ainsi que des compilateurs et débogueurs de langage orienté objet.

NOTE : Pour les difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème à gus@etsmtl.ca.




Évaluation

Un laboratoire d'introduction à l'infrastructure et des outils, trois (3) plans d'itération et rapports sur les travaux de laboratoire et une évaluation finale des fonctionnalités réalisées. Sauf pour le premier, les travaux de laboratoire sont effectués en équipe. L'enseignant décide de la composition de chaque équipe pour les raisons pédagogiques.

Quiz (individuel) 15 %
Examen intra (maximum 3 heures) (individuel) 15 %
Travaux pratiques (individuel) 5 %
Laboratoire d'introduction (individuel) 5 %
Laboratoires en équipe 35 %
Examen final (maximum 3 heures) (individuel) 25 %

Double seuil de réussite obligatoire

Pour obtenir la réussite dans ce cours, l'étudiant.e doit satisfaire simultanément aux deux conditions suivantes :

  1. Obtenir une moyenne minimale de 60% pour l'ensemble des évaluations individuelles.
  2. Obtenir une moyenne globale pour toutes les évaluations (individuelles et d'équipe combinées) égale ou supérieure au seuil de passage, qui sera établi à la fin de la session.

Le non-respect de l'une ou l'autre de ces conditions entraînera automatiquement l'échec du cours, indépendamment de la note finale calculée. Cette mesure vise à garantir que chaque étudiant.e démontre à la fois une maîtrise personnelle adéquate des compétences et une performance satisfaisante dans l'ensemble des évaluations.

Évaluation des travaux en équipe

La contribution équitable dans les travaux d'équipe constitue une exigence fondamentale de ce cours. Chaque membre est tenu de participer activement à toutes les phases du projet (conception, implémentation, documentation, tests). Les membres de l'équipe ayant réalisé un travail peuvent décider de ne pas mettre sur le rapport le nom d’un ou de plusieurs autres membres qui n'ont pas fait une contribution significative au projet. Avant la remise du travail, un courriel doit être envoyé en copie conforme à tous les membres de l’équipe, aux auxiliaires d'enseignement ainsi qu’à l’enseignant pour indiquer les raisons du retrait du nom. Un membre de l'équipe dont son nom n'est pas sur un travail de laboratoire reçoit une note de zéro pour le travail. 

De plus, l'enseignant se réserve le droit d'ajuster individuellement les notes en cas de preuves objectives (données Git, rapports d'activité, évaluations par les pairs, etc.) démontrant une contribution inéquitable. Les pénalités peuvent aller jusqu'à 100% de la note du projet pour les membres n'ayant pas contribué de façon substantielle. Tout étudiant faisant face à des difficultés de collaboration doit les signaler à l'enseignant avant la date de remise. 

Qualité professionnelle des documents remis

Tous les rapports et projets doivent respecter les standards professionnels attendus dans le domaine de l'ingénierie. Les travaux présentant des lacunes significatives en matière de formatage, de qualité rédactionnelle, d'organisation ou de professionnalisme feront l'objet de pénalités. Dans les cas où un travail est jugé comme manifestement sous des standards minimaux acceptables (erreurs d'orthographe ou de grammaire abondantes, formatage incohérent, contenu désorganisé, aspect visuel négligé, etc.), l'enseignant se réserve le droit de déclarer le travail non recevable et d'attribuer la note de zéro. 




Double seuil
Note minimale : 60



Dates des examens intra
Groupe(s) Date
1 7 octobre 2025
2 15 octobre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Les travaux de laboratoire n'impliquant pas de démonstration qui sont remis en retard de moins de 24h seront évalués et la note sera réduite par 50%.

Les travaux de laboratoire n'impliquant pas de démonstration qui sont remis en retard de plus de 24h seront évalués avec une note de "0".

Tous les autres travaux qui sont remis en retard seront évalués avec une note de "0". 




Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.

Dispositions additionnelles

L'utilisation des SIAG est permise dans le cadre des activités d'apprentissage suivantes, à condition de respecter une déclaration de l'utilisation (voir plus bas):

  • Identification des classes conceptuelles d'un modèle du domaine à partir des textes qui décrivent le problème (récits utilisateur, etc.).
  • Création de test logiciel (jest, etc.) à partir d'une fonction ou une méthode.
  • Validation de la cohérence du code avec le modèle du domaine (classes logicielles qui correspondent aux classes conceptuelles).

Déclaration d'utilisation des SIAG

Voici comment déclarer l'utilisation des SIAG pour respecter la transparence:

  • Indiquer la requête (prompt) utilisée (incluant le nom des fichiers sources le cas échant) ainsi que la réponse du SIAG dans :
    • le rapport, et
    • le formulaire Google Forms disponible sur Moodle.
  • Indiquer précisément la tâche réalisée (exemple : identification des classes conceptuelles, création de test unitaire pour la classe X dans x.ts, etc).
  • Ajouter, si possible, le lien public (URL) de l’interaction avec le SIAG (optionnel).

Le non-respect de ces conditions peut constituer une pénalité de 100% sur le travail ou une infraction de nature académique (qui sera évaluée par un comité de discipline) selon le jugement de l'enseignant.

Attention: Les SIAG peuvent produire des informations erronées. Si vous utilisez un SIAG pour un travail et vous avez respecté les conditions d'utilisation, vous demeurez tout de même responsable des erreurs qu’il pourrait générer.




Documentation obligatoire

Un manuel du cours (Analyse et conception de logiciels) est disponible en ligne.

Il y a un livre obligatoire, mais les étudiants peuvent choisir la version française ou anglaise:

LARMAN, C., UML 2 et les design patterns. 3e édition, Pearson Éducation, 2005. (en rupture de stock, mais il est possible de trouver des exemplaires usagés)

LARMAN, C., Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process. 3rd edition, Upper Saddle River (NJ), Prentice-Hall PTR, 2005.




Ouvrages de références

GAMMA, E., Design patterns: Elements of reusable object-oriented software. Reading (Mass.), Addison-Wesley, 1995.

GRAND, M., Patterns in Java: A Catalog of Reusable design Patterns Illustrated with UML. Vol. 1, 2nd Ed., New York, John Wiley, 2002.

GRAND, M., Patterns in Java: A Catalog of Reusable design Patterns Illustrated with UML. Vol. 2, New York, Wiley, 1998.

FOWLER, M. et K. SCOTT, UML distilled: Applying the Standard Object Modeling Language. Reading (Mass.), Addison Wesley Longman, 1997.

FITZPATRICK, B. W. et COLLINS-SUSSMAN, B., Team Geek: A Software Developer's Guide to Working Well with Others. O'Reilly Media, 2013. 




Adresse internet du site de cours et autres liens utiles

Plusieurs outils seront utilisés dans le cours, car Moodle a plusieurs désavantages dans l'interface pour les enseignants. 

  • Moodle sera utilisé pour le matériel du cours et les mini-tests (quiz).
  • Github Classroom sera utilisé pour le contenu des laboratoires.
  • Microsoft Équipes (Teams) et Discord seront utilisés pour les travaux de laboratoire, pratiques et les exercices.



Autres informations

Sans objet.