Logo ÉTS
Session
Cours
Responsable(s) Christopher Fuhrman

Se connecter
 

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

Responsable(s) de cours : Christopher Fuhrman


PLAN DE COURS

Hiver 2021
LOG210 : Analyse et conception de logiciels (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) : 7065,7070,7084,7086,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG121    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 54,2 % 45,8 %




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 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, une politique d’utilisation des appareils électroniques sera appliquée. Elle est expliquée à l’adresse https://sites.google.com/a/etsmtl.net/cfuhrman/se-preparer-pour-reussir/politique-electronique

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




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526
02 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526
03 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526



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.




Laboratoires et travaux pratiques

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

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

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

Laboratoire 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é les 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. communiquer 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.

Chaque membre d'équipe est responsable de la totalité du travail réalisé et remis par son équipe. Toutefois, 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 (conception et codage) significative à l’itération. Avant la remise du travail, un courriel doit être envoyé en copie conforme à tous les membres de l’équipe, aux chargés de laboratoire 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 "0" pour le travail.

Quiz(individuel) 15%
Laboratoire d'introduction (individuel) 5 %
Laboratoires en équipe 35 %
Examen intra (maximum 3 heures) à la séance 7 (individuel) 20 %
Examen final (maximum 3 heures) (individuel) 25 %

À noter qu’une moyenne inférieure à 50% dans les évaluations à caractere individuel entraine automatiquement un échec au cours.

La date de l’examen final sera annoncée par l'administration plus tard pendant le trimestre.

Politique de révision d’examen intra (ne s'applique qu'aux examens écrits sur papier)

Pour un processus transparent, efficace et clair, une personne inscrite à ce cours ayant des questions à propos de l’évaluation de son examen intra doit

  1. écrire les questions sur le dos de l'examen intra lors de la consultation de ce dernier en classe;
  2. informer l’enseignant par courriel qu’il a écrit des questions sur son examen intra.

L’enseignant doit

  1. réviser l’examen en tenant compte des questions écrites sur l'examen;
  2. répondre à l’étudiant par courriel pour communiquer tout changement de note le cas échéant.



Dates des examens intra
Groupe(s) Date
1 15 février 2021
2 18 février 2021
3 16 février 2021



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

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

Une version PDF des notes de cours sont disponible sur le site web du cours (Google Drive).

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.

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

Sans objet.




Autres informations

Sans objet.