Département Informatique - version octobre 2016
Toutes les UE sont obligatoires All the UE are mandatory
ECTS:6

Bases de données relationnelles Relational databases

Donner les bases de la théorie des Bases de Données Relationnelles. Apprendre à concevoir et modéliser une base de données relationnelle Faire prendre conscience des limites de toute méthode de modélisation pour savoir s'en affranchir quand cela est nécessaire Implémenter sur la base d'un moteur SQL et d'un environnement libre (postgreqsl sous linux) une base de données et enfin effectuer des requêtes sur cette base de données. Provide the foundations of the theory of Relational Databases Design and model a relational database Awareness of the limits of all modeling methods to know how to overcome when necessary Implement based on a SQL engine and a free environment (linux PostgreSQL) database and then perform queries on the database. Introduction aux Bases de données Le modèle relationnel Algèbre relationnelle Le calcul relationnel des tuples Le langage SQL Contraintes et triggers en SQL Séquences et fonctions en SQL Dépendances fonctionnelles et Formes Normales Gestion des droits et environnements SQL Gestion de la concurrence : transactions, sérialisation, verrouillage, gestion de l'intégrité Utilisation de SQL dans un langage hôte JDBC Architecture générale d'un DBMS (Data Base Management Systems) Introduction to Databases The relational model Relational algebra Tuples Relational calculus SQL Constraints and Triggers in SQL Sequences and functions in SQL Functional Dependencies and Normal Forms Rights management and SQL environments Concurency management: transactions, serialization, locking, integrity,rights management and SQL environments Using SQL in a host language JDBC General architecture of a DBMS Database Systems: The Complete Book, by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom. The second edition of this book was published on June 9, 2008. CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Applications CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Applications CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Maîtrise CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Maîtrise Interrogation d'une bases de données Expert Conception d'une base de données Maîtrise Administration d'une base de donnée Notions Management of a database Notions Designing a database Maîtrise Querying a database Expert 34 Bases de données relationnelles Relational databases 5 5 27 http://users.polytech.unice.fr/~rueher/Cours/BD 3.00 Rueher Michel michel.rueher@gmail.com 13 26 19.5 13 26 19.5 Ce cours est une introduction aux bases de données relationnelles, tant d'un point de vue conceptuel que pratique. This course is an introduction to relational databases, both from a conceptual point of view and practice. Cours de logique Logic introduction course deux ou trois épreuves écrites two or three written tests SI3 S5-UE1 S5-UE1

Informatique Théorique 1 Theoretical computer science 1

Mettre en avant l'importance de la justification quelque soit le type de preuve utilisé Comprendre le rôle du raisonnement et celui des axiomes lors d'une preuve Comprendre l'usage de structures inductives et leur relation avec la programmation recursive Highlight the importance of justification regardless of the type of proof used Understand the role of reasoning as well as the role axioms in a proof Understand the use of inductive structures and their relationship with recursive programming Introduction : à quoi peut nous servir la logique et quelles sont les limites Clauses de Horn et DCG (application à la traduction de langages) La sémantique: interprétation, validité Les preuves déductives, preuves inductives Structures inductives et preuves par induction Complexité et équations de récurrence Introduction: what can we use logic for ? what are the limits of logic ? Horn clauses and DCG (application to the natural languages translation​​) semantics, interpretation, validity Deductive proofs, inductive proofs Inductive structures and inductive proofs Complexity and Reccurence equations E. Burke, E. Foxley : Logic and its applications, Prentice hall int, 1996 J. P. Delahaye : Outils logiques pour l’intelligence artificielle, Eyrolles Seymour Lipschutz, Marc Lipson : Schaum's Outline of Discrete Mathematics, Revised Third Edition, Schaum's Outlines 2009 Zohar Manna: Mathematical Theory of Computation, Dover, 2003 CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Applications Exprimer dans un langage formel des propriétés de la vie quotidienne, ou du monde informatique Applications Ecrire, prouver et analyser un algorithme recursif simple Applications Savoir ce qui relève de la syntaxe et de la sémantique Applications Uderstand the difference between syntax and semantics Applications Write, proof and analysis of a simple recursive algorithm Applications Using a formal language to express properties of everyday life, or the computer world Applications 124 Informatique Théorique 1 Theoretical computer science 1 5 5 27 http://users.polytech.unice.fr/~rueher/Cours/Logique/ 3.00 Rueher Michel michel.rueher@gmail.com 39 19.5 39 19.5 Ce premier cours d'informatique théorique est constitué d'une part d'une introduction à la logique et d'autre part à une introduction des structures recursives. Utilisation a bon escient des connecteurs logiques « et », « ou ». Utiliser à bon escient les expressions « condition nécessaire », « condition suffisante » ; Formuler la négation d’une proposition ; Utiliser un contre-exemple pour infirmer une proposition universelle ; Reconnaître et utiliser des types de raisonnement spécifiques : raisonnement par disjonction des cas, recours à la contraposée, raisonnement par l’absurde, raisonnement par récurrence. Proper use of the logical connectors "and", "or". Proper use of the terms "necessary condition", "sufficient condition"; Formulate the negation of a proposal; Use a counter-example to disprove a universal proposition; Recognize and use specific types of reasoning: reasoning by disjunction cases, use the contrapositive, proof by contradiction, inductive proof 2 contrôles écrits SI3 S5-UE1 S5-UE1
Tous les cours sont obligatoires All courses are mandatory
ECTS:9
ECTS:6
ECTS:6
ECTS:3
Toutes les UE sont obligatoires All the UE are mandatory
ECTS:5
ECTS:9
ECTS:5
ECTS:6
ECTS:3
ECTS:2
Toutes les UE sont obligatoires A partir de 2016 All the UE are mandatory Starting from 2016
ECTS:9

Apprentissage automatique pour les données massives Machine learning for big data

Analyse de données Savoir utiliser des méthodes d'apprentissage de données Data analysis Be able to use learning methods Introduction générale + initiation logiciel R Notions de base en estimation paramétrique Régression logistique Sélection de modèles Analyse en composantes principales et composantes indépendantes Test entre hypothèses Analyse discriminante Réseau de neurones : perceptron Réseau de neurones multicouches et architecture profonde Séparateur à vaste marge Agrégation de modèles Classification non-supervisée General motivation and introduction to R Basics in parametric estimation Logistic regression Model selection Principal component analysis and independent component analysis Hypothesis testing Discriminant analysis Neural networks: perceptron Multilayer neural networks and deep learning Support vector machine Model aggregation Unsupervised classification François Husson, Sébastien Lê & Jérôme Pagès, Analyse des données avec R, Presses Universitaires de Rennes, 2009. Lebart Ludovic, Morineau Alain, Piron Marie; Statistique exploratoire multidimensionnelle, Dunod Paris, 1995. Michel Volle, Analyse des données, Economica, 4e édition, 1997. CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Maîtrise CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Maîtrise CG3.2 Identifier, classer et décrire la performance des produits, systèmes et services par des méthodes (mathématiques ou informatiques) d'analyse ou de modélisation. Applications Connaître quelques techniques d'apprentissage automatique Maîtrise Utiliser le logiciel R Maîtrise Minimiser automatiquement une erreur d'apprentissage sur une base de données Maîtrise Minimize the learning error over a database Maîtrise Using the R software Maîtrise Knowledge of few learning machine algorithms Maîtrise 119 Apprentissage automatique pour les données massives Machine learning for big data 7 7 27 3.00 Fillatre Lionel lionel.fillatre@i3s.unice.fr 12 24 18 12 24 18 Découvrir les méthodes de base et les principaux outils informatiques pour le traitement des données massives. Discover the basic methods and key software tools for processing big data. Connaissance de base en algèbre linéaire Basics in linear algebra Algorithmique et Structures de données 1 Algorithms and data structures 1 Algorithmique et Structures de données 2 Data structures and algorithms 2 Traitement d'analyse statistiques de données Processing of statistical data analysis 1 micro-projet (30%), 2 examens partiels (30%), 1 examen final (40%) 1 micro-project (30%), 2 midterm exams (30%), 1 final exam (40%) SI4 S7-UE1 S7-UE1

Computer Vision and Machine Learning Machine Learning applied in Computer Vision

Apprendre des algorithmes très classiques de l'apprentissage automatique (Boosting, réseaux de neurones, forêts aléatoires). Aborder les notions de bases de la vision par ordinateur favorisant l'ouverture à des projets motivants autour de la robotique, du multimédia Understanding in depth among the most standard machine learning algorithms: Boosting, artificial neural networks, random forests. Introduction of basic notions in computer vision openning to interesting projects in robotics and multimedia processing Apprentissage par forêts aléatoires Principes du boosting Algorithme AdaBoost en détail Histogrammes Algorithmes Mean-Shift et CAMShift Réseaux de neurones Détection de contours Extension de la détection du visage à la détection de piétons Détection de mouvement Reconnaissance de gestes Extension à la reconnaissance de gestes en 3D Random Forest learning Boosting principles Adaboost in details Histograms Mean-Shift and CAMShift Algorithms Artificial neural networks Edge detection Pedestrian detection Motion analysis Gesture recognition Extension to 3D gesture recognition Computer Vision in C++ with the OpenCV Library By Gary Bradski, Adrian Kaehler, O'Reilly Media, October 2013, 575 Mastering OpenCV with Practical Computer Vision Projects, by Daniel Lélis Baggio, Shervin Emami, David Millán Escrivá, Khvedchenia Ievgen..., Packt Publishing, December , 2012 OpenCV 2 Computer Vision Application Programming Cookbook, by Robert Laganière, May 2011 CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Maîtrise CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Maîtrise CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Maîtrise Principes de bases de l'apprentissage automatique Maîtrise Bases en analyse d'images et de vidéos Applications Analyse statistique de données (histogrammes, distributions, estimation) Notions Principes de la vision artificielle par ordinateur, introduction à la vision en robotique Principles of artificial computer vision, introduction to robotics Statistical analysis on data (histograms, distributions, estimation) Notions Basics on Image and video analysis Applications Basics on Machine Learning Maîtrise 19 Computer Vision and Machine Learning Machine Learning applied in Computer Vision 7 7 27 http://moodle.i3s.unice.fr/course/view.php?id=33 3.00 Precioso Frédéric precioso@polytech.unice.fr 12 24 18 12 24 18 Ce cours s'articule autour d'un projet fil rouge : le développement d'une application en C++ de reconnaissance de la langue des signes en temps-réel à partir d'une webcam. Le cours présente les principes de l'apprentissage artificiel et de vision par ordinateur, détaille les mécanismes des algorithmes classiques d'apprentissage statistique qui permettent ensuite aux étudiants de développer leur application en assemblant des briques logicielles présentes dans la librairie standard OpenCV. This course is organized around a project: developing a C++ application for sign language real-time recognition from a webcam. The course presents the principles of artificial learning and computer vision, details the mechanisms of standard statistical learning algorithms which allow then the student to develop the application by assembling software pieces from the now classic OpenCV library. Calcul du gradient pour minimiser/maximiser un critère programmation C++ Gradient descent/ascent for minimizing/maximizing a criterion C++ programming QCMs (1 par "grand chapitre") = 10% de la note finale + 3 rendus de TP individuels = 40% de la note finale + 1 examen écrit 1h30 (ou 2h) sans document = 50% de la note finale Multiple-Choice-questions (1 every "chapter") = 10% final grade + 3 individual lab results = 40% final grade + 1 exam 1h30 (or 2h) without notes = 50% final grade SI4 S7-UE1 S7-UE1

Gestion de la concurrence Concurrent and Parallel Programming

Construire des programmes multi-thread ou multi-processus correct. Connaitre les principes des outils de preuve (model-checking) et savoir les utiliser dans des cas simples. Connaitre les outils usuels du domaine (verrou, sémaphore, moniteur) et savoir les utiliser dans différents langages (java), OS (Unis) ou bibliothèque (pthread) Introduction à la programmation parallèle et concurrente Modélisation FSP : processus séquentiel (FSP + Java) Modélisation FSP : composition de processus (FSP + Java) Verrou, Moniteurs et Sémaphores (FSP + Java) Propriétés de sûreté et vivacité (FSP + Java) Interblocage et Transaction : famille de solutions (FSP + Java) Communication et synchronisation entre thread Posix Communication et synchronisation entre processus Unix Synchronisation non bloquante Communication et synchronisation dans un système distribués : approche client-serveur et approche P2P Temps, ordre et état dans les systèmes répartis Gestion "cohérente" de la mémoire Michel Raynal, Concurrent Programming - Algorithms, Principles, And Foundations, Springer - 2013 Assez proche du cours : Magee + Jeff Kramer, Concurrency: State Models + Java Programs, Weiley, 2006 Synchronisation et état global dans les systèmes répartis. (Tome 2 - une introduction aux principes des systèmes répartis). Eyrolles, collection EDF, 1992, 228 p. CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Maîtrise CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Maîtrise CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Applications Mettre en place une méthodologie de preuve par model-checking: modélisation du problème, écriture de la propriété à vérifier, vérification et si c'est OK, traduction du modèle dans un langage exécutable Notions Programmer les schémas usuels de synchronisation avec des sémaphores ou des moniteurs, en C ou en Java: Section critique, Rendez-vous, Lecteur-rédacteur, Tampon Maîtrise Mettre en oeuvre les schémas étudiés dans un cas réel (projet) Applications Applications Maîtrise Notions 22 Gestion de la concurrence Concurrent and Parallel Programming 7 7 27 http://www.i3s.unice.fr/~riveill/2012-13/programmation-concurrente 3.00 Riveill Michel riveill@unice.fr 12 24 18 12 24 18 Connaitre les principaux problèmes posés par le partage de ressources et les solutions pouvant être apportées que ce soit dans une architecture avec mémoire commune ou une architecture répartie sans mémoire commune. Les problèmes concernent la gestion de la famine et des interblocages. Les modèles étudiés concernent les rendez-vous, la barrière, lecteur-redacteur, producteur-consommateur en architecture avec ou sans mémoire commune. Modèle client-serveur et son utilisation en Java. Finite State Machines Finite State Machine Programmation Orientée Objet Object-oriented programming Programmation procédurale Procedural Programming Programmation systèmes POSIX Programming POSIX systems SI4 S7-UE1 S7-UE1
Tous les cours sont obligatoires All courses are mandatory
ECTS:12
ECTS:7.5
ECTS:3
Toutes les UE sont obligatoires A partir de 2016 All the UE are mandatory Starting from 2016
ECTS:4
ECTS:4
ECTS:5.5
ECTS:4
ECTS:5
Choisir une Majeure (UE1-); les autres UE sont obligatoires Choose one Major (UE1-); others UE are mandatory
ECTS:12

Architecture logicielle pour le cloud computing Software Architecture for Cloud Computing

découvrir des alternatives aux modèles relationnels pour la gestion des données découvrir une plateforme PaaS et l'impact de ses particularitées sur le développement logiciel savoir analyser l'état d'une application et en déduire des règles de reconfiguration. Architecture PaaS: support logiciel pour le développement et le déploiement d'applications sur un cloud Environnements cloud et niveaux d'abstraction Architecture IaaS: principes et enjeux d'une infrastructure modulable Architecture DaaS: au dela du modèle relationnel CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Expert CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Expert Concevoir des règles d'auto-adaptation Maîtrise Concevoir et déployer une application pour un cloud publique PaaS Expert Manipuler une base de données noSQL Expert Expert Expert Maîtrise 87 Architecture logicielle pour le cloud computing Software Architecture for Cloud Computing 9 9 vendredi après-midi 1 friday afternoon 1 27 2.00 Hermenier Fabien fabien.hermenier@unice.fr 12 16 14 12 16 14 Ce cours vise à promouvoir les architecture logicielles propres aux applications hébergées sur un cloud publique. Après un rappel des différents composants d'une infrastructure cloud, ce cours mettra d'abord l'accent sur des modèles de gestion des données, alternatifs au modèle relationnel, mais pourtant plus adaptés aux besoins de dynamicité et de passage à l'échelle des applications cloud (mouvement NoSQL, base de données objets et colonnes, caches, ...) Ce cours présentera ensuite des outils et des environnements logiciels facilitant le développement, le déploiement mais également l'auto-adaptation d'applications hébergées dans sur cloud publique. - Connaissance du langage Java - Développement logiciel - Qualité et génie logiciel Architectures Logicielles Software Architectures Bases de données relationnelles Relational databases Qualité et Génie logiciel 1 Tools for Software Engineering Qualité et Génie logiciel 2 Tools for Software Engineering - examen écrit - développement d'une application auto-élastique à déployer sur un cloud publique. SI5-AL SI5-Options IFI-Options IFI-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL

Architectures Logicielles Software Architectures

Appréhender les principaux modèles d'architectures logicielles réparties auxquels les ingénieurs seront confrontés à leur sortie d'école Identifier et évaluer leurs atouts et leurs contraintes respectives sur les aspects techniques (performances, pré-requis matériels et logiciels, résistance, extensibilité, etc.) et génie logiciel (organisation des développements, procédés de qualification, méthode de conception, etc.) Mettre en œuvre une architecture complète ("de bout en bout") en portant l'accent sur l'intégration plus que sur chacun des composants Panorama des technologies Méthodologie d'élaboration d'architecture logicielle Exposés technologiques Retour d'expérience Urbanisation des SI CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Expert CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Expert CG2.3 Maîtriser les différents aspects des systèmes d'information (fonctionnels, organisationnels, techniques), de leur conception à leur mise en œuvre et leur intégration tant d’un point de vue conceptuel qu’appliqué. Maîtrise 48 Architectures Logicielles Software Architectures 9 9 vendredi matin 1 et 2 friday morning 1 et 2 27 http://macobelix.polytech.unice.fr/Cours/Sar03/ 4.00 Molines Guilhem Guilhem.MOLINES@unice.fr 24 32 28 24 32 28 La réalité des systèmes informatiques dans le monde industriel est caractérisée par une grande hétérogénéité des technologies et produits composant leur architecture et souvent, par la coexistence imposée de technologies de générations différentes, qui contraste avec les outils « académiquement corrects » utilisés au cours d'un cursus. Ce cours a pour but d'appréhender cette hétérogénéité des architectures réelles en - proposant une typologie en grandes familles sous forme de panorama - approfondissant, via des exposés, des points technologiques clés utilisés dans ces architecures - proposant une méthodologie d'élaboration d'architecture complexe - présentant des retours d'expérience de mise en oeuvre d'architectures réelles dans un contexte industriel - mettant en pratique ces connaissances à l'occasion d'un mini-projet d'élaboration d'une architecture complexe, assortie d'un Proof Of Concept Maîtrise réelle des bases de données relationnelles et de SQL; maîtrise éprouvée d'un langage de programmation objet (C++ ou Java); technologies du Web (HTML + langage de script) exposés (en groupe) à rendre et présenter oralement: coeff. 2 devoir écrit (2H): coeff. 2 mini-projet à réaliser et soutenir: coeff. 4 SI5-AL SI5-Options SI5-IMAFA IFI-Options IFI-AL S9-AL S9-UE2 S9-IMAFA-UE3 S9-IFI-UE2 S9-IFI-UE1-AL S9-AL S9-UE2 S9-IMAFA-UE3 S9-IFI-UE2 S9-IFI-UE1-AL

Ingénierie des modèles et langages Spécifiques aux Domaines Engineering models and domains specific languages.

Spécifier et mettre en oeuvre un métamodèle Exprimer des contraintes sur un métamodèle pour enrichir sa sémantique Spécifier et mettre en œuvre un langage spécifique au domaine Appliquer une approche de programmation générative Design and implement a metamodel Expres constraints on a metamodel to enrich its semantics Design and implement a DSL Apply a generative programming approach Introduction aux langages spécifique au domaine Métamodélisation Mise en œuvre de langage spécifique au domaine Travail sur mini-projet Contraintes logiques Introduction to Domain-specific languages Metamodelling Implementing a DSL Project work Logical constraints Fowler: Domain-Specific Languages Markus Voelter: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages Robert B. France, Bernhard Rumpe: Model-driven Development of Complex Software: A Research Roadmap. FOSE 2007 CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Maîtrise CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Expert Concevoir un méta-modèle Maîtrise Mettre en oeuvre un générateur de code Applications Concevoir un langage spécifique au domaine Expert Design a domain-specific language Expert Implement a code generator Applications Maîtrise 62 Ingénierie des modèles et langages Spécifiques aux Domaines Engineering models and domains specific languages. 9 9 mercredi matin 2 wensday morning 2 27 http://www.i3s.unice.fr/~mosser/teaching/mde-dsl/start 2.00 Mosser Sébastien mosser@polytech.unice.fr 12 16 14 12 16 14 Ce cours s'intéresse à l'Ingénierie des Modèles, du point de vue de la définition de langage spécifique aux domaines. En utilisant un méta-modèle pour capturer un domaine applicatif, les étudiants définissent un nouveau "langage" dédié aux experts du domaine capturé. Des techniques de génération de code sont alors utilisées pour atteindre des plateformes d'exécution classique. This course deals with Model-driven engineering and domain specific languages. It relies on a metamodel to capture a business domaine, used to create a language dedicated to users of this domain. Code generation is then ensured to reach execution platforms. Programmation orientée objet, Compilation, Analyse et Conception, Programmation Logique Object-oriented Software development Compilation Design and Analysis Logical programming Étude bibliographique Travail sur projet (rapport) Examen terminal Bibliographic study: 20% Project work Final exam SI5-AL SI5-Options IFI-Options IFI-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL

Rétro-ingénierie, Maintenance et Evolution des logiciels Rétro-ingénierie, Maintenance et Evolution des logiciels

759 Rétro-ingénierie, Maintenance et Evolution des logiciels Rétro-ingénierie, Maintenance et Evolution des logiciels 9 9 mardi matin 2 tuesday morning 2 27 2.00 Blay Mireille blay@i3s.unice.fr 12 16 14 12 16 14 Projet Semestre 8: projet innovation Innovation Project SI5-AL SI5-Options IFI-Options IFI-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL

SOA: Intégration de services Service-Oriented Architectures

Spécifier et mettre en oeuvre des services en utilisant des technologies de l'état de l'art Comprendre et mettre en œuvre la communication inter-services et le routage de message sur un bus Conception d'interfaces de services Intégration par ESB Mise en oeuvre sur mini-projet Interventions industrielles Service Interface Design Integration using an ESB Project work Industrial presentation Enterprise Integration Patterns, Gregor Hophe OASIS (2006a). Reference Model for Service Oriented Architecture 1.0. Technical Report wd-soa-rm-cd1, OASIS. Papazoglou, M. P. (2003). Service -Oriented Computing: Concepts, Characteristics and Directions. International Conference on Web Information Systems Engineering:0-3 Papazoglou, M. P. and Heuvel, W. J. V. D. (2006). Service Oriented Design and Development Methodology. Int. J. Web Eng. Technol., 2(4):412–442 Service Design Patterns, Robert Daigneau CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Expert CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Expert Concevoir une interface de service Expert Faire communiquer des services hétérogènes Maîtrise Mise en oeuvre de scénarios d'intégration et d'acceptation automatisés Maîtrise Implement automatized integration and acceptance scenarios Maîtrise Support communication between heterogeneous services Maîtrise Design a service interface Expert 49 SOA: Intégration de services Service-Oriented Architectures 9 9 lundi après-midi 1 monday afternoon 1 27 http://www.i3s.unice.fr/~mosser/teaching/soa-esb/start 2.00 Mosser Sébastien mosser@polytech.unice.fr 12 16 14 12 16 14 Ce cours s'intéresse aux Architectures Orientées Services, qui définissent des applications complexes par assemblage de services atomiques. Après de brefs rappels sur les technologies "services", l'accent est mis sur l'intégration des services par l'utilisation d'un "Enterprise Service Bus", qui permet un couplage lache entre les services et une maintenance plus facile. La dernière partie du cours traite des règles métiers, une approche déclarative pour composer des services de manière maintenable. Applications réparties Web Services Programmation orientée objet Conception Distributed systems Web Services Object-oriented software development Software Design Étude bibliographique Projet Contrôle terminal Bibliographic study Project work Final exam SI5-AL SI5-Options IFI-Options IFI-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL S9-AL S9-UE2 S9-IFI-UE2 S9-IFI-UE1-AL
Tous les cours sont obligatoires (AL seulement) All courses are mandatory
ECTS:12
ECTS:12
ECTS:12
ECTS:12
ECTS:8
ECTS:12
ECTS:8
ECTS:8
ECTS:8
ECTS:6
Toutes les UE sont obligatoires All the UE are mandatory
ECTS:30
Thanks to JQuery UI Cours Slide Show HTML pour Word