Logo ÉTS
Session
Cours
Responsable(s) Fabio Petrillo

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Fabio Petrillo


PLAN DE COURS

Été 2025
LOG430 : Architecture logicielle (4 crédits)





Préalables
Programme(s) : 7065,7070,7084,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG210    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 33,3 % 66,7 %




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'étudiante ou l'étudiant sera en mesure :
• de documenter une architecture logicielle;
• d’analyser une architecture logicielle;
• de concevoir une architecture logicielle dirigée par les attributs de qualité;

Caractéristiques du problème de conception, architecture et ingénierie, rôle et importance de l'architecte, scénarios d'attributs de qualité, tactiques architecturales, familles de structures architecturales, styles architecturaux, conception de l'architecture dirigée par les attributs de qualité, documentation de l'architecture, évaluation d'une architecture logicielle, normes liées à la conception et à l'architecture logicielles.

Séances de laboratoire comportant la mise en œuvre de projets permettant d’appliquer les notions discutées durant le cours, en particulier l'application de divers styles architecturaux et l'application de méthodes de conception et d'évaluation d'architecture logicielle.



Objectifs du cours
  • Comprendre les principes fondamentaux et les modèles de l’architecture logicielle moderne.
  • Concevoir des solutions architecturales répondant aux exigences fonctionnelles et non fonctionnelles.
  • Produire une documentation d'architecture claire et structurée, en utilisant des modèles, afin de communiquer efficacement les choix architecturaux aux parties prenantes techniques et non techniques.
  • Évaluer les compromis liés aux décisions architecturales.
  • Implémenter des prototypes illustrant des modèles et des principes architecturaux.
  • Appliquer les normes liées à la conception et à l'architecture logicielles.
  • Présenter des solutions architecturales.



Stratégies pédagogiques

Les objectifs seront atteints par un enseignement sous la forme d'un cours magistral et inversée, à raison de trois (3) heures par semaine pendant treize (13) semaines. La participation active des étudiants sera sollicitée via divers exercices en classe pendant les cours. De plus, les concepts vus en classe seront mis en application par l’intermédiaire de douze (12) séances de laboratoires de trois (3) heures chacune. Enfin, outre les six (6) heures en classe et au laboratoire, chaque étudiant(e) doit fournir dix (6) heures de travail personnel.




Utilisation d’appareils électroniques

 

 




Horaire
Groupe Jour Heure Activité
01 Mardi 08:30 - 12:00 Activité de cours
Mercredi 08:30 - 11:30 Laboratoire
02 Mardi 08:30 - 11:30 Laboratoire
Mercredi 08:30 - 12:00 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Fabio Petrillo Activité de cours fabio.petrillo@etsmtl.ca A-2422
01 Hakim Ghlissi Laboratoire hakim.ghlissi.1@ens.etsmtl.ca
02 Fabio Petrillo Activité de cours fabio.petrillo@etsmtl.ca A-2422
02 Hakim Ghlissi Laboratoire hakim.ghlissi.1@ens.etsmtl.ca



Cours
  • Introduction à l'architecture logicielle
  • Attributs de qualité - scénarios et tactiques architecturales
  • Conception architecturale
  • Documentation architecturale
  • Patrons et styles architecturaux
  • Analyse et évaluation d’une architecture logicielle



Laboratoires et travaux pratiques

Il y a 12 laboratoires. Le travail à accomplir pour chacun des travaux pratiques et laboratoires sera spécifié durant le trimestre. 

Pour votre laboratoire, vous devez concevoir, implémenter et évaluer l'architecture d'un système respectant les exigences spécifiées.

La présence au laboratoire est obligatoire lors de chacune des séances. Le chargé de laboratoire procédera alors à une correction interactive du travail de chaque équipe.




Utilisation d'outils d'ingénierie

L'étudiant apprend à utiliser les outils suivants pour définir et résoudre les problèmes liés à la conception architecturale:

  • les principales tactiques architecturales associées aux attributs de qualité;
  • les principaux patrons et styles architecturaux;
  • des gabarits de documentation architecturale;
  • une méthode d'élaboration d'architecture logicielle.

Au niveau des outils logiciels exploités dans ce cours, les catégories d'outils suivantes sont utilisées (le choix d'un outil spécifique est laissé à la discrétion de l'étudiant) :

  • outils de conception (par exemple Eclipse Papyrus, Visual Paradigm, PlantUML, …);
  • environnement de développement intégré (par exemple IntelliJ IDEA, Eclipse, NetBeans, Visual Studio, Visual Studio Code, …).
  • platformes d'observabilité et deploiment (par exemple Prometheus, Grafana, Docker, Kubernets, ...)
  • systèmes de bases de données (SQL et No-SQL)
  • système d'exploitation Linux



Évaluation
  • Étude de cas : 30%
  • Laboratoire : 40%
    • Étape 1 : 10%
    • Étape 2 : 15%
    • Étape 3 : 15%
  • Examen final : 30%

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




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

Tout travail remis en retard recevra automatiquement la note de zéro. Les présentations orales sont obligatoires. En cas d'absence lors de la présentation, la note de zéro sera attribuée pour cette activité.




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.

Dispositions additionnelles

L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation est explicitement autorisée par l’enseignante du cours. Les trois étapes de laboratoire et les études de cas auront des présentations orales obligatoire sur lequels les étudiants qui ne sont pas capable d'expliquer le contenue dans les rapports sans reférences associés seront consideré comme plagiat avec des systèmes d’intelligence artificielle générative (SIAG).




Documentation obligatoire
  • BASS, L., P. CLEMENTS et R. KAZMAN, Software Architecture in Practice, 4th edition, Reading (Mass.), Addison Wesley Longman, Inc., 2021, ISBN 9780136885979.



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.
  • Richards, M., Software Architecture Pattern, 2nd edition, O'Reilly Media, Inc., 2022, ISBN 9781098134273.
  • Davis, A., Bootstrapping Microservices with Docker, Kubernetes, GitHub Actions, and Terraform, Second Edition, Manning Publications, 2024, ISBN 9781633438569
  • 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.
  • IEEE Standard for Information Technology - Systems Design - Software Design Descriptions, IEEE Standard 1016-2009, New York, 2009.



Adresse internet du site de cours et autres liens utiles

https://ena.etsmtl.ca