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

Se connecter
 

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

Responsable(s) de cours : Ghizlane El boussaidi, Francis Bordeleau


PLAN DE COURS

Automne 2024
MGL844 : Architecture logicielle (3 crédits)





Préalables
Aucun préalable requis




Descriptif du cours
Ce cours met l'emphase sur les attributs de qualité comme pilotes des activités d'analyse, d'élaboration, d'évaluation et d'implémentation de l'architecture logicielle.

Architecture et cycle de vie, attributs de qualité, tactiques architecturales, styles/patrons architecturaux avec emphase sur les styles modernes (infonuagique - "cloud computing", architectures orientées services - SOA), formalismes pour exprimer une architecture logicielle (notations informelles, UML, langages de description architecturale – ADL), rétro-ingénierie/redécouverte architecturale, méthodes de conception architecturale, évaluation architecturale, lignes de produits logiciels.



Objectifs du cours

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

  • comprendre ce qu'est l'architecture logicielle et son importance;
  • spécifier des exigences de qualité avec des scénarios d'attributs de qualité;
  • concevoir une architecture logicielle à l'aide de tactiques et styles/patrons appropriés;
  • documenter une architecture logicielle selon les règles de l'art.



Stratégies pédagogiques

Les objectifs du cours seront atteints par la prestation hebdomadaire de cours magistral, par des exercices en classe, par la réalisation de travaux pratiques en équipe, par la réalisation d’une analyse critique d’articles de recherche dans le domaine, par des rencontres avec le professeur, et par un examen de synthèse « take home ».




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 à moins d'avoir obtenu au préalable la permission de l'enseignant.




Horaire
Groupe Jour Heure Activité
01 Mercredi 18:00 - 21:30 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Idrissa Konkobo Activité de cours cc-idrissa.konkobo@etsmtl.ca



Cours

Contenu du cours[1]

  • Introduction à l'architecture logicielle
  • Les attributs de qualité – généralités, scénarios, tactiques
  • Redécouverte de l'architecture logicielle
  • Styles et patrons architecturaux
  • Évaluation de l'architecture logicielle
  • Documentation architecturale
  • Méthodes de conception architecturale

[1]  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 étudiants(es) doivent réaliser deux projets pratiques en équipe. Les projets visent à mettre en oeuvre les concepts vus en classe.

  • Projet 1: concevoir l'architecture d'un système à partir de sa spécification et cela en appliquant les scénarios de qualité, et les tactiques et patrons architecturaux; documenter l'architecture selon les règles de l'art.
  • Projet 2: reconstruire et analyser l'architecture logicielle d'un système existant.



Évaluation
Projet 1 (équipe) 20%
Projet 2 (équipe)     20%
Synthèse et présentation en classe d’un article (individuel)   15%
Examen « take-home » de synthèse à la fin de la session (individuel)     45%

 

Pour les travaux réalisés en équipes, chaque étudiant ou étudiante 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 significative au travail. Avant la remise du travail, un courriel doit être envoyé en copie conforme à tous les membres de l’équipe, ainsi qu’à l’enseignant pour indiquer les raisons du retrait du nom. Un étudiant ou une étudiante dont le nom n'est pas sur un travail d'équipe reçoit une note de "0" pour le travail.




Double seuil
Note minimale : 60



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

Une note de zéro est automatiquement attribuée à tout travail remis en retard.




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

BASS, L., P. CLEMENTS et R. KAZMAN, Software Architecture in Practice, 3e edition, Reading (Mass.), Addison Wesley Longman, Inc., 2013.




Ouvrages de références
  • Clements, P., F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, P. Merson, R. Nord, J. Stafford, Documenting Software Architectures: Views and Beyond, 2nd edition, Addison Wesley, 592 pages, 2010, ISBN 0-321-55268-7.
  • SHAW, M. et D. GARLAN, Software Architecture - Perspectives on an Emerging Discipline, Upper Saddle River (N.J.), Prentice-Hall, Inc., 1996.
  • MAIER, M.W. et E. RECHTIN, The Art of Systems Architecting, 3rd edition, CRC Press, 2009.
  • DIKEL, D.M., D. KANE et J.R. WILSON, Software Architecture – Organizational Principles and Patterns, Upper Saddle River (N.J.), Prentice Hall PTR, 2001.
  • BUSCHMANN, F., MEUNIER, R., ROHNERT, H., SOMMERLAND, P. et M. STAL, Pattern-oriented Software Architecture – A System of Patterns, vol. 1, West Sussex, John Wiley and Sons Ltd, 1996.
  • ISO/IEC/IEEE 42010:2011 - Systems and software engineering -- Architecture description.



Adresse internet du site de cours et autres liens utiles

https://ena.etsmtl.ca/ 




Autres informations

Il est attendu que les étudiant(e)s sachent programmer dans un langage moderne. Certains des travaux consisteront à analyser l'architecture de système existants à partir du code source, et les projets devront pouvoir être compilés et exécutés. Il est également attendu des étudiant(e)s qu'ils/elles sachent chercher, trouver et installer des outils logiciels sur leur ordinateur personnel pour réaliser certains travaux.