Logo ÉTS
Session
Cours
Responsable(s) Tony Wong

Se connecter
 

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

Responsable(s) de cours : Tony Wong


PLAN DE COURS

Hiver 2021
GPA434 : Ingénierie des systèmes orientés-objet (4 crédits)


Modalités de la session d’hiver 2021


Pour assurer la tenue de la session d’hiver 2021, les modalités suivantes seront appliquées :


La plupart des cours de la session d'hiver seront donnés à distance. Les autres seront donnés en présence si la situation socio-sanitaire le permet. Cette information est disponible sur l’horaire de la session d’hiver diffusé sur le site de l’ÉTS ainsi que sur Cheminot.

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. L’étudiant doit ouvrir sa caméra et/ou son micro lorsque requis, notamment pour des fins d’identification ou d’évaluation.


Les cours à distance pourraient être enregistrés, à la discrétion de l’ÉTS, afin de les rendre disponibles aux étudiants inscrits aux cours.


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


Les examens intra se feront normalement à distance. Les examens finaux se feront normalement en présence si la situation socio-sanitaire le permet.


Pour les examens (intra, finaux) qui devaient se faire à 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 à suivre de près l’évolution de la pandémie de COVID-19, laquelle pourrait entraîner, avant ou après le début de la session d’hiver 2021, 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 que toutes les activités d’enseignement et d’évaluation soient exclusivement données à distance pour tout ou partie de la session d’hiver 2021.

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

En vous inscrivant ou en demeurant inscrit, vous acceptez les modalités particulières de la session d’hiver 2021.


Nous vous rappelons que vous avez jusqu’au 17 janvier 2021 pour vous désinscrire de vos cours et être remboursé.


Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous avez jusqu’au 31 janvier 2021 pour vous désinscrire de vos cours et être remboursé.




Préalables
Programme(s) : 7485,7885
             
  Profils(s) : Tous les profils sauf Informatique  
             
    INF155    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 50,0 % 50,0 %




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

À la fin de ce cours, l’étudiant sera en mesure :

  • d'analyser des problématiques multidisciplinaires, concevoir des solutions d'ingénierie à l'aide de méthodologies industrielles;
  • de réaliser des systèmes orientés-objet évoluant dans un environnement automatisé.

Modélisation des systèmes d’automatisation. Modélisation Agile : valeurs, principes, pratique. Technologie orientée-objet : analyse de problématiques industrielles et modélisation de systèmes physiques et abstraits, diagrammes structuraux et comportementaux. Conception de systèmes IHM orientés-objet: widgets, schéma, formulaire, feuille de style et conteneur. Traitement des signaux synchrones et asynchrones émanant des objets. Structuration des systèmes par les diagrammes de classes. Comportement du système via les diagrammes de cas d'usage, d'activités, de séquences et de machine d'états.

Séances de laboratoire : participer, au sein d'une équipe, à la résolution de problèmes d’ingénierie; analyser, modéliser et concevoir des systèmes orientés-objet par la notation UML; réaliser des solutions en langage C++ et Qt; implanter des solutions dans un environnement de développement intégré.

Note sur le préalable : il n'est pas requis pour les étudiants du profil I (Informatique).




Objectifs du cours

À l’ère de l’Internet des Objets (IoT) et de l’Industrie 4.0, les étudiants en génie de la production automatisée doivent maîtriser les concepts et techniques associés à la technologie orientée-objet – un savoir-faire incontournable en milieu industriel. Aussi, la technologie orientée-objet est une approche privilégiée pour analyser et concevoir des systèmes d’ingénierie complexes et évolutifs. L’acquisition des compétences en technologie orientée-objet permet la réalisation et l'implantation de solutions compatibles aux exigences de l'Industrie de l'automatisation et de production de demain. Ainsi, les objectifs finaux de ce cours obligatoire sont:

  • L'analyse des problèmes d'ingénierie selon l'approche orientée-objet;
  • La conception des solutions à l'aide de la technologie orientée-objet;
  • L'exécution d'un processus de développement objets;
  • La mise en oeuvre d'un modèle orienté-objet à l'aide du langage C++.



Stratégies pédagogiques
  • 39 heures de cours magistral;
  • 36 heures de laboratoire;
  • 36 heures de travail personnel.

Trois (3) heures de cours magistral par semaine afin de permettre aux étudiants de bien assimiler les concepts et les techniques présentées en cours. Des exemples de conception et de programmation illustreront les concepts plus abstraits et moins évidents.

Trois (3) heures de laboratoire par semaine pour évaluer les détails pratiques de conception et programmation orientée objet dans un contexte de génie logiciel.

Les heures de travail personnel permettront une meilleure compréhension des concepts vus en classe par l’approfondissement des concepts et leurs mises en pratique.




Utilisation d’appareils électroniques

Aucun enregistrement audio/vidéo sans autorisation explicite de l’enseignant.




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Tony Wong Activité de cours Tony.Wong@etsmtl.ca A-3633
01 Ahmed Moubtahij Laboratoire ahmed.moubtahij.1@ens.etsmtl.ca
02 Jean-Christophe Demers Activité de cours cc-jean-christophe.demers@etsmtl.ca A-3736
02 Alexandre Desgagné Laboratoire alexandre.desgagne.1@ens.etsmtl.ca



Cours
Séances Activités

1 à 2

Introduction au langage de programmation C++ (partie 1):

  • Présentation générale
  • Consolidation des techniques de programmation en langage C :
    • mots réservés
    • types fondamentaux
    • variables
    • opérateurs
    • contrôle de flux
    • fonctions
    • pointeurs
    • types composés
    • gestion de la mémoire

3

Introduction au langage de programmation C++ (partie 2):

  • Particularités générales du langage C++ :
    • mots réservés;
    • commentaires;
    • types et variables :
      • typage (fort vs faible)
      • nouveau type
      • initialisation
      • inférence de type
      • gestion de la mémoire
      • références
      • identification pendant l’exécution
    • fonctions :
      • surcharge
      • paramètres par défaut
      • inline
    • gestion d’exception;
    • espaces de nom

3-4

Introduction au langage de programmation C++ (partie 3):

  • Introduction à la programmation orienté objet :
    • concepts généraux de l’orientés objets :
      • encapsulation
      • héritage
      • polymorphisme
      • abstraction
      • surcharge d’opérateurs
    • réalisation avec le langage C++ :
      • mots réservés
      • classes, propriétés, méthodes et visibilité
      • constructeur et destructeur
      • héritage : simple, multiple, visibilité et virtuel
      • fonctions virtuelles et abstraites
      • surcharge d’opérateurs intra et extra classe

5

Introduction au langage de programmation C++ (partie 4):

  • Introduction aux templates :
    • fonctions
    • classes
  • Introduction à la librairie STL :
    • conteneurs
    • algorithmes
    • fonctions
    • itérateurs
    • utilitaires

6 à 7

Introduction au cadre de travail Qt:

  • Présentation générale :
    • abstraction du système d’exploitation
    • licence
    • compilateur de méta objet
    • signaux et slots
    • propriétés
    • modules principaux
    • classes utilitaires générales
    • widgets et gestion de la mémoire
    • compatibilité avec STL
  • Développement d’interface graphique :
    • utilisation de widget
    • création de widget par assemblage
    • création de widget personnalisé

8 à 9

Introduction au langage de modélisation UML:

  • Généralités et stratégies
  • Vues
  • Notations
    • modules, paquet, nœuds
    • acteurs, cas d’usage
    • classes, objets
    • activités, états, transitions
    • relations
    • stéréotypes, abstractions, commentaires et autres
  • Diagrammes
    • structuraux
    • comportementaux
    • d’interaction

10 à 11

Intégration des techniques de l’analyse orientée objet:

  • Méthode d’analyse par cas d’utilisation
  • Création d’un modèle conceptuel :
    • Identification des « concepts » dans la problématique
    • Identification des associations du modèle
    • Identification des attributs du modèle
  • Comportement du système
    • Diagramme de séquence
  • Contrats
  • Généralisation
    • Définition des sur-types et des sous-types
    • Définition des types abstraits
    • Hiérarchie des classes et héritage
  • Raffinement du modèle conceptuel
  • Modélisation du comportement par diagramme d’états

11 à 13

Intégration des techniques pour la conception orientée objet:

  • Assignation des responsabilités
  • Patrons de conception
  • Détermination de la visibilité
  • Conception des classes
  • Conception du système
  • Correspondance entre la conception et le codage

Analyse et conception : exemple d’application




Laboratoires et travaux pratiques
Séances Titre Objectif Heures (lab. / maison)

1 – 3

Laboratoire 1

Programmation orientée objet

12 / 12

5 – 7

Laboratoire 2

Interface graphique

9 / 9

8 – 12

Laboratoire 3

Projet

15 / 15




Utilisation d'outils d'ingénierie

 




Évaluation

Activité

Pondération

Date et durée

Final

30 %

Semaine des examens finaux

Mini évaluation 1

2.5 %

Semaine 3

Mini évaluation 2

2.5 %

Semaine 6

Mini évaluation 3

2.5 %

Semaine 8

Mini évaluation 4

2.5 %

Semaine 10

Laboratoire 1 - C++

20 %

Semaine 3 (4 périodes)

Laboratoire 2 - C++ / Qt

15 %

Semaine 7 (3 périodes)

Laboratoire 3 - C++ / Qt / UML

25 %

Semaine 10 (5 périodes)




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

Une pénalité de 10 % par jour sera imposée à tous travaux en retard. Une pondération de 10 % du total des notes des divers travaux sera attribuée à la présentation et à la qualité du français. L’utilisation des outils informatiques pour la rédaction (traitement de textes) ainsi que pour la présentation des données (tabulateurs, graphiques, dessins) est requise.




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).



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 é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

Notes de cours préparées par le professeur (disponible sur le site Moodle du cours).




Ouvrages de références

UML

  • Seidl, Scholz, Huemer et Kappel (2015). UML @ Classroom - An Introduction to Object-Oriented Modeling. Springer, ISBN-13: 978-3319127415 .
  • Ambler (2014), The Elements of UML 2.0 Style. Cambridge University Press, ISBN-13: 978-0521616782.
  • Pilone et Pitman (2005). UML 2.0 in a Nutshell, O'Reilly Media, ISBN-13: 978-0596007959.
  • Larman (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition. Prentice Hall, ISBN-13: 978-0131489066.
  • Fowler (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition), Addison-Wesley Professional, ISBN-13: 978-0321193681.
  • Samek (2008). Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems (Second Edition). CRC Press, ISBN-13: 978-0750687065.
  • http://www.uml.org/
  • https://www.uml-diagrams.org/

Langage C++

Qt

  • Sherriff (2018). Learn Qt 5: Build modern, responsive cross-platform desktop applications with Qt, C++, and QML. Packt Publishing, ASIN: B076X3LXKH
  • Eng (2016). Qt5 C++ GUI Programming Cookbook. Packt Publishing, ASIN: B01FSO1D1M.
  • http://doc.qt.io/qt-5/

Microsoft Visual Studio 2019




Adresse internet du site de cours et autres liens utiles

Site Moodle de l’École : https://ens.etsmtl.ca




Autres informations

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