LOG 8430: Architecture logicielle et conception avancée

Slides:



Advertisements
Présentations similaires
Cours de l’OACI sur les Systèmes de Gestion de la Sécurité (SMS)
Advertisements

Premières Années Licence Appliquée en Gestion
L’intégration des apprentissages en sciences de la nature
La compréhension en lecture
OPTION : Compétences en Informatique Préparation du C2i Bienvenue...
Les études en Economie Droit Baccalauréat professionnel
Méthodes Quantitatives d'Aide à la Décision
Patterns & Anti Patterns
LOG4430 : Architecture logicielle et conception avancée
Objectifs généraux de la 4e par compétences Le Niveau B1 + correspond à un degré élevé du Niveau seuil. Compréhension orale Comprendre le message global,
Vendredi 21 février 2014vendredi 21 février 2014vendredi 21 février 2014vendredi 21 février 2014vendredi 21 février 2014vendredi 21 février 2014vendredi.
IUT d’Orsay, département informatique
§4 – L’objet et le besoin satisfait
TECHNOLOGIE 6ÈME Professeur : Baptiste DUMAS.
TECHNOLOGIE 3ème Professeur : Baptiste DUMAS.
Maîtrise des données et des métadonnées de l’ODS
ORGANISATION PRATIQUE DE L’EPREUVE DE LANGUE VIVANTE OBLIGATOIRE EN CCF (à partir de la session 2012) Vrai ou Faux ? Les citations en bleu sont des extraits.
Les outils anti-plagiat
Les conditions d’efficacité de l’enseignement magistral
Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Introduction Sciences Humaines 9 L’Identité Canadienne
Journées Pattern Grenoble - 1 Une expérience à l'IUT de Bayonne : Les patrons Composite et Interprète Philippe Lopistéguy I.U.T. de Bayonne-Pays.
Bibliothèque Saint-Jean Octobre 2013 ANTHE 393 Travail dapplication #3: Santé dans un contexte multiculturel contemporain.
Informatique 2 Structure de données en programmation orientée objet
MATHÉMATIQUES FINANCIÈRES I (ACT2025) ROBERT BÉDARD PLAN DE COURS.
Programmation 2: IFT1025 Jian-Yun Nie H 2009.
ELE792. Projet de fin d'études en. génie électrique GTS792
Séance d'information aux étudiants Présentation préparée par: Ghyslain Gagnon Professeur au département de génie électrique ELE792PROJET DE FIN D'ÉTUDES.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
École Polytechnique de Montréal
École Polytechnique de Montréal
Haute Ecole de la Province de Liège Catégorie technique
SEG2505 – Introduction au Génie Logiciel Plan de cours – Automne 2012.
Portée, arrimages et intervenants Évolution des méthodes
Le portfolio d’apprentissage à l’École d’architecture
Sensibilisation a la modelisation
Patrons de conceptions de créations
Hé bonhomme, le calcul matriciel,
EPITA MEMI Option/Electif : Finance et Marketing IT
Evaluation au baccalauréat
Atelier de formation Animation: CEMIS Québec - Chaudière-Appalaches Avril - Mai 2000 Les TIC dans la réforme: qu'en est-il vraiment?
TECHNOLOGIE 5ÈME Professeur : Cyril LAVAYSSE.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Bienvenue.
Sociologie du travail (groupe S01) Automne 2004.
Examen des pratiques d’enseignement et d’évaluation du personnel enseignant anglophone et francophone de l’Ontario et du personnel enseignant francophone.
Méthodologie scientifique
Objectifs généraux de la 4e par compétences À la fin de la 4e vous aurez un niveau B1+. C’est un degré plus élevé du Niveau Seuil Compréhension orale Comprendre.
Analyse des besoins et spécifications (LOG410)
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
L’adaptation du modèle de la dynamique de transfert des apprentissages de Tardif à la pédagogie universitaire Julie Lane Pédagogie en tête - 24 février.
LES DEMARCHES PEDAGOGIQUES
IFT 785 Approches Orientée Objets Plan de cours. Information générale Professeur : – Sylvain Giroux –
Présentation et organisation des TPE
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev.
T.P.E T comme … Travaux P comme … Personnels E comme … Encadrés.
Foire Virtuose - 28 avril Pascale Blanc Offre technopédagogique et soutien disponible Pascale Blanc, directrice de la Technopédagogie HEC Montréal.
Soutien à l’implantation d’un programme dans un CPE DID 2090 Groupe 01.
L’enseignement de spécialité SLAM
CSI 3525, Survol, page 1 CSI 3525 Concepts des langages de programmation.
( ) Collège de Maisonneuve
Informatique et Sciences du Numérique
TECHNOLOGIE 6ÈME Professeur : Cyril LAVAYSSE.
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216
République Algérienne Démocratique et Populaire
Examen d'introduction au droit. Plan de la présentation Présentation du service de mentorat L’examen d’introduction au droit Se préparer à un examen de.
Conception des Sites Web Enseignant : Pr Boubker Sbihi Année
A. de Crombrugghe0 Intro-méthode1 FAITS ET DECISIONS ECONOMIQUES Prof. Alain de Crombrugghe Année Académique ECGE B170 UNIVERSITE DE NAMUR FACULTE.
 Lycée Déodat de Séverac. ➲ Toutes les matières utilisent l'informatique mais jusqu'à présent la programmation restait en post bac. ➲ Avec l'ISN vous.
Transcription de la présentation:

LOG 8430: Architecture logicielle et conception avancée Foutse Khomh Professeur adjoint foutse.khomh@polymtl.ca Local M-4123

Plan de séance Introduction. Présentation et comparaison des types d’architectures : multi-niveaux, clients/serveurs, extensibles et dynamiques Résumé de la séance.

Plan de séance Introduction. Présentation et comparaison des types d’architectures : multi-niveaux, clients/serveurs, extensibles et dynamiques Résumé de la séance.

Enseignants Professeur Foutse Khomh, PhD Chargé de laboratoire Zéphyrin SOH, Étudiant de doctorat en Informatique à l’Ecole Polytechnique de Montréal

Présentation des étudiants Nom, prénom Niveau d’ étude (B.sc, M.sc, ou Ph.D?) Qu’est ce qu’une architecture logicielle?

Objectifs de l’informatique (1/3) 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

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

Objectifs de l’informatique (3/3) Joshua Bloch ; Effective Java ; 2e É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...

Objectifs du cours Présenter les principaux types d’architectures logicielles et les critères permettant de choisir un type spécifique d’architecture Présenter des approches basées sur des patrons de conception pour la réalisation d’application (distribuées) Donner un aperçu des approches émergentes de conception logicielle

Objectifs spécifiques d'apprentissage À la fin du cours, l’étudiant sera 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.

Situation du cours dans le programme Le cours LOG8430 termine la chaîne de cours portant sur l’implantation, la conception et l’architecture des logiciels, commencée par les cours de programmation procédurale (INF1005C), le cours de programmation orientée objets (INF1010) et le cours de conception logicielle (LOG2410).

Méthodes d’enseignement 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 toute nouvelle manière en se basant sur plusieurs sources 6. Évaluation Juger la valeur d'un sujet dans un but spécifique

Travail personnel du cours Le triplet horaire indique 4.5 heures de travail personnel par semaine. Pendant ces heures, il est conseillé de: D’ é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 travaux pratiques du cours

Séances de travaux pratiques Durant les séances de travaux pratiques, les étudiants Travailleront à la conception d’un logiciel en utilisant les techniques et les concepts avancés de conception architecturale Evalueront des solutions alternatives développées par leurs camarades L’idée est de donner aux étudiants un aperçu des techniques et concepts ainsi qu’un point de comparaison qui leur permet alors de comprendre les avantages et les inconvénients de chaque architecture, patron de conception et technique avancée en contexte

Répartition des heures du cours (pourra être modifiée) Hiver 2014 Répartition des heures du cours (pourra être modifiée)

Répartition des heures du cours (pourra être modifiée) Hiver 2014 Répartition des heures du cours (pourra être modifiée) Exceptionnellement les présentations auront lieu le jeudi 30 janvier à l’heure de travaux pratiques car je serai absent le Mardi 4 février pour raison de participation à une conférence internationale. Il y aura travaux pratiques le Mardi 4 février 2014.

Contrôles du cours L'évaluation est constituée de 6 travaux pratiques, 6 évaluations de travaux pratiques, 3 évaluations d’articles (fiche de lecture) et d’un examen final selon la pondération indiquée ci-dessous. Nature Nombre Pondération Travaux pratiques de conception (en équipe) 6 20 % Jugements sur des conceptions d’architectures (en équipe) 20% Fiches de lecture (individuel) 3 Examen final (individuel) 1 40 %

Notes importantes Toutes matière présentée en cours est sujet à Contrôles Les travaux pratiques remis en retard seront pénalisés de 10% par jour de retard En cas d’absence à un examen, toute demande d’examen différé devra être motivée auprès du bureau des affaires académiques

Notes importantes Pour les travaux pratiques, les étudiants travaillent par groupes de 2 à 3 et ces groupes sont IMMUABLES pendant la session Les fiches de lecture sont à rendre par courriel au professeur en format doc ou PDF au plus tard le dimanche soir (à 23h59 ) précédent la date de la présentation. Elles devraient faire un minimum de 1 page et un maximum de 2 pages

Notes importantes Les règlements relatifs au plagiat (annuaire 2013-2014 du programme de baccalauréat de l’ École polytechnique de Montréal) s’appliquent en tout temps.

Téléphones et ordinateurs Autorisé seulement pour les besoins du cours

La présence en classe est fortement recommandée Quelques bonnes raisons d’assister au cours La matière du cours vous intéresse Les explications du professeur vous aident à mieux comprendre la matière du cours Les étudiants qui assistent régulièrement au cours réussissent mieux le cours en général Le professeur a du plaisir à échanger avec vous Les travaux pratiques et l’examen final porteront sur le contenu des séances de cours

Manuel du cours Software engineering : a practitioner's approach, Roger S. Pressman. 5th ed. Boston, Mass. ; Toronto : McGraw Hill, c2001 The unified software development process, Ivar Jacobson, Grady Booch, James Rumbaugh. Boston ; Montreal : ACM Press/Addison Wesley c1999 Software architecture in practice , Len Bass, Paul Clements, Rick Kazman. Reading, Mass. ; Don Mills, Ont. : Addison-Wesley, c1998 Software architecture design patterns in Java, Partha Kuchana. Boca Raton, FL : Auerbach Publications, c2004 Architecture logicielle : concevoir des applications simples, sûres et adaptables, Printz, Jacques. Paris, Dunod, c2006

Contenu du cours Cours Sujets Cours 1 Architectures : multi-niveaux, clients/serveurs, extensibles et dynamiques Architectures: style architecturaux (suite) et conception détaillée Cours 2 Cours 3 Bibliothèques et chargement de composantes dynamiques 1ère séance de présentation Cours 4 Cours 5 Cadres et plugiciels Composition et architectures par composants Cours 6 Cours 7 Patrons pour la conception d’applications distribuées 2ème séance de présentation Cours 8

Contenu du cours Cours 9 Patrons pour la conception d’applications distribuées (suite) Applications de base de la conception orientée aspect : surveillance, traçage et profilage Cours 10 Cours 11 Introduction aux architectures Orientée Service 3ème séance de présentations Cours 12 Cours 13 Retour sur les évaluations + Révisions

Contenu des travaux pratiques Sujets Conception d’un système de gestion de fichiers « simple » et choix/justification de l’architecture Conception du même système de gestion de fichiers en utilisant les techniques avancées de chargement de composantes dynamiques Conception du même système de gestion de fichiers en utilisant un cadriciel lui-même à base de « plugiciels » Conception du même système de gestion de fichiers en utilisant la programmation par composants Conception du même système de gestion de fichiers en utilisant des patrons de conception d’applications distribuées permettant la parallélisation des traitements sur les fichiers Application de base de la conception orientée aspect : surveillance, traçage et profilage à un système de gestion de fichiers

Fiches de Lecture Une liste d’articles est proposée sur Moodle

Pourquoi ce cours est-il important pour un ingénieur en Informatique?

Plan de séance Introduction. Présentation et comparaison des types d’architectures : multi-niveaux, clients/serveurs, extensibles et dynamiques Résumé de la séance.

Plan de séance Introduction. Présentation et comparaison des types d’architectures : multi-niveaux, clients/serveurs, extensibles et dynamiques Résumé de la séance.