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

Automne 2024
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
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’é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 08:30 - 12:00 Activité de cours
Mercredi 13:30 - 16:30 Laboratoire
02 Lundi 08:30 - 11:30 Laboratoire
Mardi 13:30 - 17:00 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Patrice Robitaille Activité de cours cc-Patrice.Robitaille@etsmtl.ca
01 Emon Dhar Laboratoire emon.dhar.1@ens.etsmtl.ca
01 Guillaume Langlois Laboratoire guillaume.langlois2000@gmail.com
02 Roberto Erick Lopez Herrejon Activité de cours Roberto.Lopez@etsmtl.ca A-4493
02 Marcus Phan Laboratoire marcusphan1@gmail.com
02 Guillaume Langlois Laboratoire guillaume.langlois2000@gmail.com



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

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

À noter qu’une moyenne inférieure à 60% dans les évaluations à caractère individuel entraîne automatiquement un échec au cours.




Double seuil
Note minimale : 60



Dates des examens intra
Groupe(s) Date
1, 2 8 octobre 2024



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.



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).
  • OneDrive sera utilisé pour le stockage de la matière du cours.
  • 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.