% MGL7361 — Principes et applications de la conception de logiciels % UQAM — Département d'informatique % Plan de cours — Automne 2021 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Mosser, Sébastien PK-4820 Enseignement ------------- Essadi, Naima Groupes: 020 Description du cours ==================== 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. Objectif du cours ================= Le cours vise à rendre l'étudiant apte à participer de façon active à la conception de systèmes d'information contemporains dans une organisation. Il vise également à développer chez l'étudiant un esprit critique face aux pratiques courantes utilisées pour la conception de systèmes d'information. En particulier, le cours vise à : - Donner aux étudiants un aperçu théorique du cycle de vie du logiciel en en particulier de la conception. - Initier les étudiants aux principaux modèles contemporains concernant la conception architecturale. - Donner aux étudiants un aperçu théorique des principales propriétés d'une bonne conception. - Initier les étudiants aux architectures n-tiers. - Familiariser les étudiants à l'architecture par microservices. - Faire apprécier aux étudiants l'importance des enjeux reliés à la conception. - Familiariser les étudiants aux principaux patrons utilisés pour la conception orientée objet. - Rendre les étudiants aptes à réaliser un document de conception. - Initier les étudiants aux nouvelles approches dans le domaine. Contenu du cours ================ 1. Leçon introductive 2. (Rappels de) conception orientée objet 3. Patrons de conceptions 4. Travail en classe / Questions & Réponses 5. Architectures n-tiers 6. Architectures à composants 7. Présentation invitée 8. Travail libre / Questions & Réponses sur rdv 9. Persistances & Object-Relational Mapping 10. Examen Intra 11. Architecture de Services 12. Architectures micro-services 13. Travail libre / Questions & Réponses sur rdv 14. Présentations 15. Présentations Approche pédagogique ==================== Le cours fonctionne en apprentissage par projet pour sa dimension tehcnique, par équipe de 3 à 4 étudiants. Les séances de cours magistrales sont réduites au strict minimum pour laisser du temps aux étudiants de travailler sur leur projets. Les étudiants auront à confronter leur esprit critique aux derniers résultats scientifiques autour des architectures micro-services. **Aménagement COVID-19**: des séances de questions & réponses sur rendez vous ont été insérée dans le plan de cours pour permettre un meilleur suivi des étudiants. Modalités d'évaluation ====================== Description sommaire Type Date Pondération ------------------------------- -------- ----------- ------------- Présentation & Vision Produit Indiv. S38 0% Projet - Partie 1 Équipe S43 10% Devoir Maison Indiv. S46 40% Projet - Partie 2 Équipe S49 20% Présentations d'article Binome S50 & S51 30% Un travail remis en retard reçoit la note de zéro, sans exceptions. Le détail des conditions de réalisation de chaque travail est précisé avec la description du travail. La qualité du français fait partie intégrante des critères d'évaluation des travaux et des examens jusqu'à un maximum de 25%. La politique de tolérance zéro du Département d'informatique sera appliquée à l'égard des infractions de nature académique. La note de passage du cours est de 60%. Au sein d'un groupe, les notes peuvent être modulée pour reflêter l'implication des différents membres sur les base des informations du gestionnaire de versions et de la qualité des réponses aux questions de l'enseignant. Médiagraphie ============ 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 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 RICHARDSON, Leonard & AMUNDSEN, Mike\ RESTFUL WEB APIS\ O'Reilly 2013 -- ISBN : 978-1-449-35806-8 ROZANSKI, Nick & WOODS, Eoin\ SOFTWARE SYSTEMS ARCHITECTURE -- SECOND EDITION\ Addison-Wesley 2012 -- ISBN : 978-0-321-71833-4