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 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, 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 en présence.




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526
01 Paul Siffre Laboratoire paul.siffre.1@ens.etsmtl.ca
01 Nicolas Beaulieu Laboratoire nicolas.beaulieu.2@ens.etsmtl.ca
02 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526
02 Azur Handan Laboratoire azur.handan.1@ens.etsmtl.ca
02 Tristan Brault Ouellette Laboratoire tristan.brault-ouellette.1@ens.etsmtl.ca



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 12 février 2024
2 8 février 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 : 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).



Infractions de nature académique
À 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/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») 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 qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

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’enseignant(e) 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 les mini-test (quiz).
  • Google Disque (Google Drive, ETSMTL.NET) sera utilisé pour le stockage de la matière du cours.
  • Google Classroom (ETSMTL.NET) sera utilisé pour les exercices.
  • Github Classroom sera utilisé pour le contenu des laboratoires.
  • Microsoft Équipes (Teams) ou Discord sera utilisé pour les travaux de laboratoire et pratiques.

Les personnes inscrites dans le cours doivent connaître leur accès Google sur le domaine ETSMTL.NET. Plus d'informations sont à https://www.etsmtl.ca/services/sti/etudiants/web-et-collaboration/google-apps




Autres informations

Sans objet.