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

Été 2021
MGL802 : Principes & appl.de la conception de logiciels (3 crédits)


Modalités de la session d’été 2021


Pour assurer la tenue de la session d’été 2021, les modalités suivantes seront appliquées :


Les activités d’enseignement de la session d’été 2021 comprendront des activités en présence et à distance pour chaque étudiant, lesquelles seront ajustées en fonction de l’évolution de la situation socio-sanitaire.


Pour les cours (ou séances de cours) donnés à distance, l’étudiant 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 (ou séances de cours) donnés à distance pourraient être enregistrés, afin de les rendre disponibles aux étudiants inscrits au cours.


La notation des cours sera la notation régulière prévue aux règlements des études de l’ÉTS.


Les examens (intra, finaux) se feront en présence, si la situation socio-sanitaire le permet.


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’été 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’été 2021. Ainsi, si les examens (intra, finaux) 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.


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 à la session d’été 2021, vous acceptez les modalités particulières de la session d’été 2021.


Nous vous rappelons que vous avez jusqu’au 7 mai 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 23 mai 2021 pour vous désinscrire de vos cours et être remboursé.




Préalables
Aucun préalable requis




Descriptif du cours

Étudier le rôle de la conception dans le cycle de vie du logiciel.

Apprentissage des principales méthodes de conception. Évaluation de nouvelles méthodes de conception. Sélection et utilisation d’une méthode propre à un système logiciel donné. Évaluation de la conception : choix de la méthode, qualité de la conception, vérification formelle, respect des exigences, etc. Outils de conception.




Objectifs du cours

A l'issue du cours, l'étudiant(e) sera capable de :

  • distinguer entre les disciplines de conception, d’analyse et de programmation;
  • comprendre pourquoi la conception est un problème « pernicieux »;
  • comprendre et distinguer entre les différentes qualités de conception telles que le couplage et la cohésion ainsi que leur impact sur la conception de logiciels;
  • utiliser une notation telle que le langage UML pour modéliser, décrire et communiquer la conception;
  • identifier, critiquer, appliquer et programmer quelques patrons de conception orientés objet;
  • connaître et reconnaître les problèmes que les patrons de conception sont censés résoudre;
  • évaluer un processus de conception;
  • connaître les différentes pratiques de conception.



Stratégies pédagogiques

Les objectifs seront atteints par la prestation hebdomadaire d'un cours, par des lectures obligatoires et suggérées, par la réalisation des travaux pratiques individuels et en équipe impliquant de la compréhension et de la programmation dans un langage moderne tel que le C++, python ou le Java, par la réalisation d’une analyse critique d’articles de recherche dans le domaine, par des rencontres d’équipe et individuel avec l’enseignant, éventuellement par un conférencier externe, par des questionnaires en ligne et par un examen de synthèse du cours. Il y a trois (3) heures de cours magistral par semaine, pendant treize (13) semaines, portant sur les principes et applications de conception de logiciels.

 




Utilisation d’appareils électroniques

Vous devez posséder votre propre ordinateur, microphone et caméra puisqu'une partie de ce cours se donne en ligne à distance.




Horaire
Groupe Jour Heure Activité
01 Mercredi 18:00 - 21:30 Activité de cours
Jeudi 18:00 - 21:30 Deuxième activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Naouel Moha Activité de cours Naouel.Moha@etsmtl.ca A-4499
01 Naouel Moha Deuxième activité de cours Naouel.Moha@etsmtl.ca A-4499



Cours
  • Introduction à la conception
    1. Discipline de conception
    2. Modélisation
    3. Conception dans le cycle de vie de logiciel
    4. Qualités de conception
  • Connaissances de conception
    1. Décrire une solution de conception
    2. Notions d’architecture
    3. Patrons de conception
    4. Méthodes de conception
  • Pratiques de conception
    1. Approche orientée objet
    2. Approche fonctionnelle
    3. Approche centrée sur les données
    4. Approche monolithique
    5. Approche REST
    6. Approche microservice
    7. Approche SOA
    8. Applications mobiles
    9. Système pour faire des systèmes
    10. Système apprenant
    11. Moteur de règles
    12. Blockchain
    13. IoT - RFID



Laboratoires et travaux pratiques

n/a




Évaluation
Travaux pratiques   
TP01 - Analyse critique d’article (individuel*) 15 %
TP02 - Rétro-ingénierie UML (équipe*†) 15 %
TP03 - Analyse de qualité d’une conception (équipe*†) 20 %
TP04 - Amélioration d’une conception (équipe*†) 20 %
Trois évaluations (individuel) 30 %
Total des points 100 %

*  la compréhension et/ou la programmation en C++, python, C# ou Java pourra être requise.

 

†    L’enseignant peut pondérer la note de chaque membre d’une équipe en se basant sur une évaluation individuelle du travail réalisé en équipe et, au besoin, sur une évaluation faite par les autres membres de l’équipe.




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

Une pénalité de 20% par jour de retard sera appliquée.




Absence à un examen
Dans les cinq (5) jours ouvrables suivant 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 de département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. 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 ou autre) à un examen entraînera l’attribution de la note (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

BUDGEN, David, Software design. Second Edition, Harlow, England; New York: Addison-Wesley, 2003.

Diverses lectures seront imposées au cours du trimestre à partir des publications électroniques disponibles à la bibliothèque de l’ÉTS.




Ouvrages de références

ABBOTT, Martin L. & FISHER, Michael T. The Art of Scalability – Second Edition Pearson Education, Inc. 2015 – ISBN : 978-0-13-403280-1

BASS, Len & WEBER, Ingo & ZHU, Liming DevOps – A Software Architect’s Perspective Pearson Education 2015 – ISBN : 978-0-13-404984-7

BECK, Kent Beck Implementation Patterns Pearson Education, Inc. 2008 – ISBN : 978-0-321-41309-3

CERVANTES, Humberto & KAZMAN, Rick Designing Software Architectures: A Practical Approach Addison-Wesley Professional 2016 – ISBN : 978-013-439078-9

ESTES, Philip & DAVIS, Doug Open by Design O’Reilly 2015 – ISBN : 978-1-491-94109-6

EVANS, Eric Domain-Driven Design Pearson Education, Inc. 2004 – ISBN : 0-321-12521-5

FREEMAN, Eric & ROBSON, Elisabeth Head First Design Patterns O’Reilly 2014 – ISBN : 978-0-5960-07126

MITRA, Tilak Practical Software Architecture: Moving from System Context to Deployment IBM Press 2015 – ISBN : 978-0-13-376303-4

MONSON-HAEFEL, Richard – éditeur 97 Things Every Software Architect Should Know O’Reilly 2009 – ISBN : 978-0-596-52269-8

NADAREISHVILI, Irakli, MITRA, Ronnie, McLARTY, Matt & AMUNDSEN, Mike Microservice Architecture O’Reilly 2016 – ISBN : 978-1-491-95979-4

NEWMAN, Sam Building Microservices O’Reilly 2015 – ISBN : 978-1-491-95035-7

LARMAN, Craig, Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development. Third Edition, Upper Saddle River, N.J.: Prentice Hall PTR, 2005.

KAISLER, S. H., Software paradigms. Hoboken, N.J.: Wiley-Interscience, 2005.

HORSTMANN, Cay, Object-Oriented Design and Patterns. Wiley, Second Edition, 2006.

FOWLER, Martin, UML distilled: applying the standard object modeling language. Addison-Wesley, Third Edition, Boston, MA, 2004.

GRADY, Stephen The Software Paradox The Rise and Fall of the Commercial Software Market O’Reilly 2015 – ISBN : 978-1-491-90093-2

RICHARDS, Mark Software Architecture Patterns O’Reilly 2015 – ISBN : 978-1-491-92424-2

RICHARDSON, Leonard & AMUNDSEN, Mike RESTful Web APIs O’Reilly 2013 – ISBN : 978-1-449-35806-8

RODGER, Richard The Tao of Microservices Manning 2016 – MEAP

ROZANSKI, Nick & WOODS, Eoin Software Systems Architecture – Second Edition Addison-Wesley 2012 – ISBN : 978-0-321-71833-4

VIDELA, Alvaro & WILLIAMS, Jason J.W. RabbitMQ in Action Manning 2012 – ISBN : 9781935182979 Sites Web: Architecture sans serveur: https:// martinfowler.com/articles/serverless.html 

 




Adresse internet du site de cours et autres liens utiles

https://www.etsmtl.ca/Futurs-etudiants/Cycles-sup/Fiche-de-cours?Sigle=MGL802

https://www.etsmtl.ca/etudes/cours/mgl802/