Logo ÉTS
Session
Cours
Responsable(s) Ghizlane El boussaidi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Ghizlane El boussaidi


PLAN DE COURS

Automne 2020
LOG121 : Conception orientée objet (4 crédits)


Modalités de la session d’automne 2020
Pour assurer la tenue de la session d’automne 2020, les modalités suivantes seront appliquées :


La plupart des cours de la session d'automne seront donnés à distance. Les autres seront donnés en présence. Cette information vous a déjà été communiquée.

L’étudiant inscrit à un cours à distance doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus.

Les cours à distance pourraient être enregistrés, à la discrétion de l’ÉTS. Le cas échéant, les enregistrements de cours pourraient notamment être rendus accessibles aux étudiants par le biais notamment du portail de l’ÉTS.

La notation des cours sera la notation régulière prévue aux règlements des études de l'ÉTS.

Pour les cours à distance, les examens (intra, finaux) se feront normalement à distance. Leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.
 
Le contexte actuel oblige bien sûr l’ÉTS à envisager la possibilité d’une deuxième vague de la pandémie de COVID-19, laquelle pourrait entraîner, après le début de la session d’automne 2020, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et que, si requis, elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner la dispense en ligne de toutes les activités d’enseignement et d’évaluation pour la durée restante de la session d’automne 2020.

Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.

Si vous ne consentez pas aux modalités décrites précédemment, vous devez vous désinscrire de vos cours avant le 13 septembre et vous pourrez être remboursé.

Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous devez vous désinscrire avant le 25 septembre et vous pourrez être remboursé.

En demeurant inscrit, vous acceptez les modalités particulières de la session d'automne 2020.




Préalables
Programme(s) : 7070, 7086, 7610
             
  Profils(s) : Tous profils  
             
    GTI100    
             
Programme(s) : 7065, 7084, 7365
             
  Profils(s) : Tous profils  
             
    LOG100    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 38,3 % 61,7 %




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’étudiant sera en mesure :

  • de concevoir des systèmes orientés objet en appliquant des principes et heuristiques de base d’une bonne conception;
  • d'analyser des problèmes de conception;
  • de choisir et d’appliquer des patrons de conception.

Conception orientée objet : identification des objets, modélisation des objets et de leur interaction, notions de cohésion d’un objet et de couplage entre objets. Patrons de conception : compréhension des problèmes reliés à la conception, choix et application des patrons appropriés résolvant ces problèmes et compréhension des conséquences d’utilisation de ces patrons. Comparaison de différents choix de conception : ajouter un comportement par composition versus l’ajouter par héritage. Notation UML : diagramme de classes, diagramme d’objets et diagramme de séquences. Notions de test unitaire et de cadre de développement.

Séances de laboratoire portant sur la conception et la mise en œuvre des projets en appliquant les principes et patrons de conception vus en classe. Utilisation de la notation UML pour documenter la conception.




Objectifs du cours
  • Distinguer entre les disciplines de conception et de programmation;
  • Concevoir, programmer, déverminer et tester des logiciels en langage Java;
  • Utiliser le langage UML pour décrire la conception d’un système;
  • Comprendre et apprécier les notions de couplage et de cohésion et leur impact sur la conception de logiciels;
  • Identifier et programmer des patrons de conception;
  • Connaître et reconnaître les problèmes que les patrons de conception sont censés résoudre.



Stratégies pédagogiques

Il y aura trois (3) heures de cours magistral par semaine, pendant treize (13) semaines, portant sur les principes de conception de logiciels. Ces principes seront accompagnés d’exemples concrets, d’exercices pratiques et/ou de quiz.

Il y a trois (3) heures de laboratoire par semaine qui permettront à l’étudiant d’appliquer les concepts théoriques vus en classe.




Utilisation d’appareils électroniques

Il est interdit de capter le cours ou des portions du cours (enregistrement vidéo, enregistrement audio, photographie) en salle de classe ou en laboratoire à mois d'avoir obtenu au préalable la permission de l'enseignant.

Vous devez posséder votre propre ordinateur, microphone et caméra puisqu'une partie de ce cours se donne en ligne à distance.




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Vincent Lacasse Activité de cours vincent.lacasse@etsmtl.ca via courriel, skype ou discord
01 Eduardo Furtado Sa Correa Laboratoire eduardo.furtado-sa-correa.1@ens.etsmtl.ca
01 Maxence Vacher Laboratoire maxence.vacher.1@ens.etsmtl.ca
02 Francis Cardinal Activité de cours cc-Francis.Cardinal@etsmtl.ca A-4526 flexible - s.v.p. prendre rendez-vous par courriel
02 Philippe Cuerrier Laboratoire philippe.cuerrier.1@ens.etsmtl.ca
03 Vincent Lacasse Activité de cours vincent.lacasse@etsmtl.ca via courriel, skype ou discord
03 Sébastien Champoux Laboratoire sebs.champoux@gmail.com
03 Maxence Vacher Laboratoire maxence.vacher.1@ens.etsmtl.ca
04 Benoit Galarneau Activité de cours cc-Benoit.Galarneau@etsmtl.ca
04 Bilal Alchalabi Laboratoire bilal.alshalabi@gmail.com A-4526
04 Samir Djeffal Laboratoire cc-Samir.Djeffal@etsmtl.ca



Cours
  • Concept de la programmation par objet et règles de conception (3 heures)
  • UML (10 heures)
  • Test unitaire et cadriciel : JUnit, Collections, Swing (3 heures)
  • Modèle/vue/contrôleur et les patrons de conception (23 heures)

La matière ne sera pas nécessairement présentée dans cet ordre. Toutefois, l’ensemble des sujets sera présenté dans le cadre de ce cours.




Laboratoires et travaux pratiques

Les laboratoires, sauf le premier, sont réalisés en équipe de plusieurs étudiant(e)s. Il y a trois (3) travaux prévus pour les laboratoires :

  • Laboratoire 1 (Individuel)
    • Concevoir et implémenter une application simulant une chaîne de production : interface graphique (swing), fil d’exécution (« thread »), analyse de fichier XML, applications des règles de conception et des patrons "Observateur" et "Stratégie". Documenter des décisions de conception à l’aide d’UML. (15 heures)
  • Laboratoire 2
    • Concevoir, implémenter et tester un cadriciel en Java. Appliquer les patrons « méthode template » et « stratégie ». Utiliser le cadriciel JUnit. Développer des tests unitaires. (9 heures)
  • Laboratoire 3
    • Concevoir et implémenter selon le modèle MVC (« modèle-vue-contrôleur ») une application en Java en appliquant les patrons « commande », « mémento », « observateur », et d’autres. (12 heures)



Utilisation d'outils d'ingénierie

L'étudiant se familiarise avec des environnements de développement tels que Eclipse ou Visual Studio code,  des compilateurs/ interpréteurs pour le langage Java, des dévermineurs, des outils de gestion de logiciels, et des outils de modélisation supportant le langage UML.




Évaluation

Laboratoires

  • Laboratoire 1 (individuel)
  • Laboratoire 2
  • Laboratoire 3

 

  • 16%
  • 10%
  • 14 %

Quiz / Devoir (individuel)

  • 15 %

Examen intra

  • 20 %
Examen final
  • 25 %

Pour réussir ce cours, l’étudiant(e) doit avoir obtenu au moins 50% de moyenne dans les travaux individuels.




Dates des examens intra
Groupe(s) Date
1, 4 26 octobre 2020
2 22 octobre 2020
3 27 octobre 2020



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/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.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Tout travail remis en retard se verra automatiquement attribuer la note zéro.




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Plagiat et fraude
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 étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-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 les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

HORSTMANN, Cay, Object-Oriented Design and Patterns. Second Edition, Wiley, 2006.




Ouvrages de références

FREEMAN, E., ROBSON, E., Head First Design Patterns,  O'Reilly Media, 2014 (version électronique disponible)

GAMMA, E., HELM, R., JOHNSON, R. & VLISSIDES, J., Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995 (aussi disponible en français).

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

RUMBAUGH, J., JACOBSON, I., & BOOCH, G., The Unified Modeling Language Reference Manual. Addison-Wesley, 1999.

SHALLOWAY, A. & TROTT, J., Design Patterns Explained: A New Perspective on Object-Oriented Design. Addison-Wesley, 2002.

ECKEL, B., Thinking in Java. Upper Saddle River (NJ), Prentice Hall, 2000 http://www.mindview.net/Books/TIJ/.




Adresse internet du site de cours et autres liens utiles

https://cours.etsmtl.ca/log121