LOG8430 : Architecture logicielle et conception avancée



Documents pareils
Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

ANGULAR JS AVEC GDE GOOGLE

Génie logiciel. Systèmes et sous-systèmes. Modèliser des grands systèmes. Problématique. SS S-Syst1 SS S-Syst2 SS S-Syst3. Système.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Forthcoming Database

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

VMware : De la Virtualisation. au Cloud Computing

Editing and managing Systems engineering processes at Snecma

PeTEX Plateforme pour e-learning et expérimentation télémétrique

Application Form/ Formulaire de demande

Tom Pertsekos. Sécurité applicative Web : gare aux fraudes et aux pirates!

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

Le cadre des Web Services Partie 1 : Introduction

Instructions Mozilla Thunderbird Page 1

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Analyse,, Conception des Systèmes Informatiques

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

Engineered for Business: Oracle Hardware for Oracle Database

Ingénierie et gestion des connaissances

Industrial Phd Progam

Stéphane Lefebvre. CAE s Chief Financial Officer. CAE announces Government of Canada participation in Project Innovate.

Tier 1 / Tier 2 relations: Are the roles changing?

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Logiciel Libre & qualité. Présentation

Programming Server-Side Web Applications with Object-Oriented PHP NC Group Syllabus. Duration: 75 hours 1-2-2


Bigdata et Web sémantique. les données + l intelligence= la solution

Quel temps fait-il chez toi?

Principe de TrueCrypt. Créer un volume pour TrueCrypt

Instaurer un dialogue entre chercheurs et CÉR: pourquoi? Me Emmanuelle Lévesque Centre de génomique et politiques Université McGill

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Bourses d excellence pour les masters orientés vers la recherche

ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE

VERS L EXCELLENCE DANS LA FORMATION PROGRAMME D APPUI A LA QUALITE AMELIORATION SUPERIEUR DE LA QUALITE DE L ENSEIGNEMENT TITRE DU PROJET

Institut français des sciences et technologies des transports, de l aménagement

Hervé Couturier EVP, SAP Technology Development

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

IFT2255 : Génie logiciel

Classification Automatique de messages : une approche hybride

Environnements et Outils de Développement Cours 1 Introduction

Module Title: French 4

Le Cloud Computing est-il l ennemi de la Sécurité?

Diligence raisonnable avant l acquisition d une PME américaine lorsqu on est au Québec : Certains aspects juridiques

Préparer un état de l art

Consultants en coûts - Cost Consultants

Préparation / Industrialisation. Manufacturing Engineering/ On-site Industrialisation. Qualité, contrôle et inspection. On-site quality and Inspection

Informatique / Computer Science

1.The pronouns me, te, nous, and vous are object pronouns.

BNP Paribas Personal Finance

ENOVIA 3DLive. IBM PLM Solutions 1 er Octobre Philippe Georgelin Sébastien Veret

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

JSIam Introduction talk. Philippe Gradt. Grenoble, March 6th 2015

Paxton. ins Net2 desktop reader USB

La stratégie Cloud de Microsoft

Francoise Lee.

Les systèmes de gestion des actifs immobiliers par Gilles Marchand, Ministère de l'éducation du Québec & Dino Gerbasi, GES Technologies

SEMINAIRE SAS VISUAL ANALYTICS LAUSANNE, MARCH 18 : JÉRÔME BERTHIER VALERIE AMEEL

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

INTERNATIONAL CONSULTANT & SUPPLIERS TO THE WINE & SPIRITS TRADE

CEST POUR MIEUX PLACER MES PDF

ACTIVITÉ DE PROGRAMMATION

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

THE SUBJUNCTIVE MOOD. Twenty-nineth lesson Vingt-neuvième leçon

La coopération dans un contexte de recherches doctorales Cooperation amongst PhD researchers. Josée Charbonneau Anne- Marie Merrien 28 mai 2014

Contents Windows

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

Ne renvoyez pas vos architectes! Utilisez-les avec agilité

Stratégie IT : au cœur des enjeux de l entreprise

PLAN DIRECTEUR DES PARCS, MILIEUX NATURELS ET ESPACES VERTS PARKS, NATURAL HABITATS AND GREEN SPACES MASTER PLAN

CONSOLIDATION CODIFICATION. Current to August 30, 2015 À jour au 30 août 2015

valentin labelstar office Made-to-measure label design. Conception des étiquettes sur mesure. Quality. Tradition. Innovation DRUCKSYSTEME

EXALOGIC ELASTIC CLOUD MANAGEMENT

CURRENT UNIVERSITY EDUCATION SYSTEM IN SPAIN AND EUROPE

Cours de didactique du français langue étrangère (*) French as a foreign language (*)

Panorama des bonnes pratiques de reporting «corruption»

Règlement sur les baux visés à la Loi no 1 de 1977 portant affectation de crédits. Appropriation Act No. 1, 1977, Leasing Regulations CODIFICATION

Appointment or Deployment of Alternates Regulations. Règlement sur la nomination ou la mutation de remplaçants CONSOLIDATION CODIFICATION

F-7a-v3 1 / Bourses de mobilité / Mobility Fellowships Formulaire de demande de bourse / Fellowship Application Form

Exemple PLS avec SAS

UML : Unified Modeling Language

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Cloud Computing: de la technologie à l usage final. Patrick CRASSON Oracle Thomas RULMONT WDC/CloudSphere Thibault van der Auwermeulen Expopolis

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

La virtualisation, si simple!

Plateforme Technologique Innovante. Innovation Center for equipment& materials

PRESENT SIMPLE PRESENT PROGRESSIF

«Rénovation des curricula de l enseignement supérieur - Kazakhstan»

CONFERENCE PALISADE. Optimisation robuste d un plan d expériences par simulation Monte-Carlo Concepts de «Design Space» et de «Quality by Design»

Diffusion AFRISTAT. Quels droits accorder aux utilisateurs? - sur les données - sur les documents numériques

CLOUD COMPUTING et Relation Client/Fournisseur Une Révolution culturelle?

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Program

Conférence Bales II - Mauritanie. Patrick Le Nôtre. Directeur de la Stratégie - Secteur Finance Solutions risques et Réglementations

Mines Nantes 20/05/2014. Institut Mines-Telecom : a national network 12 Engineering Graduate schools & 1 Business school. 2 Institut Mines-Télécom

We Generate. You Lead.

Transcription:

LOG8430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Présentation du cours This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License

Plan de la séance Introduction Inventaire des concepts Conception architecturale 2/59

Plan de la séance Introduction Inventaire des concepts Conception architecturale 3/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 4/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 5/59

Professeur (1/10) Né à Nantes, Bretagne, France, 1975 6/59

Professeur (2/10) 1998 : DEA et diplôme d ingénieur École des Mines Université de Nantes Titre: Syntax Errortolerant Java parser Analyse syntaxique, construction d outils et Java 7/59

Professeur (3/10) 2003 : doctorat (Ph.D.) en génie logiciel École des Mines Université de Nantes Titre: A framework for the traceability of design motifs Patrons de conception et rétro-conception des programmes 8/59

Professeur (4/10) Arrivé à Montréal, Québec, Canada, 2003 9/59

Professeur (5/10) 2003 2008 : professeur assistant puis agrégé Université de Montréal Design patterns Code and design smells Linguistic smells Evolution patterns Features and concepts Requirements traceability Quality models 10/59

Professeur (6/10) 2008 présent : professeur agrégé puis titulaire Polytechnique Montréal Code and design smells Linguistic smells Design patterns Evolution patterns Features and concepts Requirements traceability Quality models 11/59

Professeur (7/10) Chaire de recherche du Canada «Software Patterns and Patterns of Software», 2009 Ouverture des intérêts de recheche Identifier analysis API evolution Program comprehension Licensing issues Test-case generation 12/59

Professeur (8/10) 2013 2014 : 객원교수, SNU와 연세대학교 * Conception logicielle et études empiriques sur la compréhension de programmes * Professeur invité à Seoul National University et Yonsei U. 13/59

Professeur (9/10) Aussi 1998 2000 : deux ans à Object Technology International, Inc., Ottawa, ON, Canada (maintenant IBM Ottawa Labs) 2000 présent : donné 27 cours à 707 étudiants 2003 présent : gradué 11 Ph.D. et 30 M.Sc. 14/59

Professeur (10/10) www.ptidej.net/members/guehene yann-gael.gueheneuc@polymtl.ca Local M-4103 15/59

Chargé de lab. (1/2) Zéphyrin SOH Diplôme d Études Approfondies en Informatique Étudiant de doctorat en génie logiciel Enseignements : génie logiciel, programmation, bases de données, etc. 16/59

Chargé de lab. (2/2) www.ptidej.net/members/zohzephy Zephyrin.soh@polymtl.ca Local M-4118 17/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 18/59

Objectifs de l informatique (1/7) Créer des logiciels Résoudre des problèmes existants Résoudre ces problèmes bien Logiciel Programme (code source / binaire) Architecture Conception Structure de données / données Documents 19/59

Objectifs de l informatique (2/7) Pour créer de bons logiciels Connaissances Compréhension Application Analyse Synthèse Évaluation 20/59

Objectifs de l informatique (3/7) Joshua Bloch ; Effective Java; 2 e Édition, Addison Wesley, avril 2008 Pour créer de bons logiciels Grammaire Algorithmique Paradigmes Vocabulaire Structure de données Opérations Services Usages Pratiques Efficacité Dans le cas de Java par exemple Grammaire Vos cours précédents Orienté objets Vocabulaire JLS JVM Bibliothèque de classes Usages Architectures, patrons de conception... 21/59

Objectifs de l informatique (4/7) Comment créer de bons logiciels? Qui résolvent de vrais problèmes Qui résolvent ces problèmes bien? 22/59

Objectifs de l informatique (5/7) The quality of the end result is dependent upon the quality of the machine, the quality of our ideas, and the quality of our code Kanat-Alexander in Code Simplicity 23/59

Objectifs de l informatique (6/7) [a] good programmer creates things that are easy to understand, so that it s really easy to shake out all the bugs Kanat-Alexander in Code Simplicity 24/59

Objectifs de l informatique (7/7) [S]pending a little more time writing simple code turns out to be faster than writing a lots of code quickly at the beginning and then spending a lot of times trying to understand it later. Kanat-Alexander in Code Simplicity 25/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 26/59

Objectifs du cours Présenter les principaux types d architectures logicielles et de critères de choix d un type d architecture Présenter des approches basées sur des patrons de conception pour la réalisation d applications (distribuées) Donner un aperçu des approches émergentes de conception logicielle 27/59

Objectifs du cours À la fin du cours, l étudiant se en mesure de Concevoir l architecture d un logiciel en choisissant et en justifiant les architectures, les patrons de conception et les techniques de conception avancée utilisés (entre autres à la méta-programmation, la programmation par composants, les patrons d architecture distribuée, les architectures orientées services) ; Concevoir les composantes de l architecture d un logiciel (classes orientées-objets, composants logiciels ou services logiciels) à l aide de techniques avancées et à partir de patrons d architecture distribuée parmi les plus utilisés et de justifier ses choix ; Juger de la conception de l architecture d un logiciel et de suggérer des changements à cette architecture. 28/59

Situation du cours LOG8430 termine une chaîne de cours Le cours de programmation procédurale Le cours de programmation orientée objets Le cours de conception logicielle 29/59

Situation du cours LOG8430 termine une chaîne de cours Le cours de programmation procédurale INF1005C Le cours de programmation orientée objets INF1010 Le cours de conception logicielle LOG2410 30/59

Situation du cours LOG8430 est aussi un cours gradué Lectures et résumé d articles Présentation d articles Concepts avancés 31/59

Situation du cours LOG8430 est aussi un cours gradué Lectures et résumé d articles Être à l aise avec l anglais écrit Présentation d articles Être à l aise avec la critique (donnée, reçue) Être à l aise devant les autres Concepts avancés Être à l aise avec les concepts objets Être à l aise avec C++ (et Java) 32/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 33/59

Méthodologie du cours Taxonomie de Bloom Niveau Activités 1. Connaissance Mémoriser des informations, définir des terminologies, des techniques, etc. 2. Compréhension Comprendre un article afin d'en faire un résumé 3. Application Utiliser les connaissances de l'apprenant pour les appliquer dans une situation concrète («la vraie vie») 4. Analyse Demander à l'apprenant de disséquer un sujet, d'en expliquer les tenants et les aboutissants 5. Synthèse Reformuler les parties d'un sujet ensemble mais d'une nouvelle manière en se basant sur plusieurs sources 6. Évaluation Juger la valeur d'un sujet dans un but spécifique 34/59

Méthodologie du cours Dreyfus model 35/59

Contenu du cours Mois Jeudi (cours) Ven. (labs.) Contenus Cours Contenus labs. Janvier 8 9 1. Conception architecturale Pas de lab. 15 2. Conception architecturale 22 23 3. Défaut de conception et qualité Lab. 1 29 4. Concepts de la POO et problèmes Février 5 6 5. Bibliothèques et chargement dynamique 12 6. Cadres de références et plugiciels Lab. 1 (cont.) 19 20 Lab. 2* Lab. 2 (cont.) 26 7. Conception orientée aspects Fiche de lecture * Yann à Ottawa pour le CRSNG 36/59

Contenu du cours Mois Jeudi (cours) Ven. (labs.) Contenus cours Mars 5 6 Semaine de relâche et SANER 15 12 13 8. Composition et architectures par composants 19 9. Patrons d applications distribuées Contenus labs. Lab. 3 26 27 10. Patrons d applications distribuées Lab. 3 (cont.) Avril 2 11. Architectures orientées services Mai 2 9 Lab. 4 16 17 Pas de cours (cours du lundi) Lab. 4 (cont.) 18 Examen (date à préciser) Fiche de lecture 37/59

Contenu des labs. Sujets (possibles) des séances de labs. Sujets Lab. 1 Conception et implantation d un système de gestion de fichiers, choix/justification de l architecture avec chargement dynamique du code des fonctionnalités Lab. 2 Conception et implantation du même système de gestion de fichiers en utilisant un cadriciel, lui-même à base de «plugiciels» Lab. 3 Conception et implantation du même système de gestion de fichiers en utilisant la programmation par composants Lab. 4 Conception et implantation du même (?) système de gestion de fichiers en utilisant des services Lab. 5? Application de la programmation orientée aspect pour tracer et profiler le système de gestion de fichiers 38/59

Contenu des labs. Durant les labs. Conception et implantation de logiciels en utilisant techniques et concepts avancés Analyses de solutions alternatives développées par d autres équipes Appliquer un outil d analyse de la qualité 39/59

Contenu des labs. Durant les labs. Conception et implantation de logiciels en utilisant techniques et concepts avancés Analyses de solutions alternatives développées par d autres équipes Appliquer un outil d analyse de la qualité 40/59

Contenu des labs. Durant les labs. Conception et implantation de logiciels en utilisant techniques et concepts avancés Analyses de solutions alternatives développées par d autres équipes Appliquer un outil d analyse de la qualité Bonus en cas de contributions à cet outil! 41/59

Travail personnel du cours Triplet horaire 4,5 heures de travail personnel par semaine Étudier les notions présentés durant les séances de cours, en particulier les nombreux exemples Appliquer les concepts vu en cours ainsi que ceux présentés dans les articles discutés en cours Travailler sur les labs. du cours Préparer les fiches de lecture 42/59

Contenu des fiches de lecture Titres (possibles) de articles F.L. 1 F.L. 2 F.L. 3 F.L. 4 Titres A Hierarchical Model for Object-Oriented Design Quality Assessment by Jagdish Bansiya and Carl G. Davis What Do We Know about the Effectiveness of Software Design Patterns? by Cheng Zhang and David Budgen Automated verification of design patterns: A case study by Jon Nicholson, Amnon H. Eden, Epameinondas Gasparis, and Rick Kazman An empirical study on the influence of pattern roles on changeproneness by Daryl Posnett, Christian Bird, and Prem Dévanbu 43/59

Contenu des fiches de lecture Utilité d une fiche de lecture Forcer la lecture de l article Restituer le contenu avec ses propres mots Identifier les forces et faiblesses Formes Fonds Bonus pour une fiche de lecture sur un article présenté pendant SANER 15 44/59

Contenu des fiches de lecture Utilité d une fiche de lecture Forcer la lecture de l article Restituer le contenu avec ses propres mots Identifier les forces et faiblesses Formes Fonds Bonus pour une fiche de lecture sur un article présenté pendant SANER 15 45/59

SANER 15 saner.soccerlab.polymtl.ca 46/59

Important Toutes matière présentée pendant les séances de cours ou de lab. est contrôlable Les travaux remis en retard seront pénalisés de 10% par jour de retard Toute demande d examen différé doit passer par le bureau des affaires académiques Les labs. se font par équipes immuables de 2 à 3 étudiants Les fiches de lecture font 1 à 2 pages 47/59

Important Les règlements relatifs au plagiat s appliquent en tout temps 48/59

Important Assister aux séances de cours et de labs. La matière du cours vous intéresse Les explications aident à comprendre la matière Les étudiants qui assistent régulièrement au cours réussissent mieux le cours Les travaux pratiques et l examen final porteront sur le contenu des séances de cours 49/59

Manuel du cours Software engineering: A practitioner's approach, Roger S. Pressman. 5th ed., McGraw Hill, 2001 The unified software development process, Ivar Jacobson, Grady Booch, and James Rumbaugh. ACM Press/Addison Wesley,1999 Software architecture in practice, Len Bass, Paul Clements, Rick Kazman. Addison-Wesley, 1998 Software architecture design patterns in Java, Partha Kuchana. Auerbach Publications, 2004 Architecture logicielle : concevoir des applications simples, sûres et adaptables, Jacques Printz. Dunod, 2006 50/59

Introduction Professeur et chargé de lab. Objectifs de l informatique Objectifs du cours Méthodologie du cours Évaluation du cours 51/59

Évaluation du cours Rapports de labs. En équipe Objectifs Compréhension Application Nombres 4 (à confirmer) Pondération 20% 52/59

Évaluation du cours Évaluation par les pairs des rapports En équipe Objectifs Analyse Évaluation Nombres 4 (à confirmer) Pondération 20% 53/59

Évaluation du cours Fiches de lecture Individuel Objectif Compréhension Analyse Synthèse Nombre 4 Pondération 20% 54/59

Évaluation du cours Examen final Individuel Nombre 1 Pondération 40% 55/59

Plan de la séance Introduction Inventaire des concepts Conception architecturale 56/59

Inventaire des concepts (1/2) Observation Différences de parcours des étudiants et du professeurs Objectif du test Faire l inventaire des concepts connus (ou non) Ajuster le contenu du cours Rendre le cours plus intéressant 57/59

Inventaire des concepts (2/2) Procédure Distribution des questionnaires Complétion pendant 1 h Collection Important Questionnaires anonymes Questionnaires non notés 58/59

Plan de la séance Introduction Inventaire des concepts Conception architecturale 59/59