Vous êtes sur la page 1sur 27

III - Programme détaillé par matière

(1 fiche détaillée par matière)

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 17
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEF1
Intitulé de la matière : Calculabilité et Complexité
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement :

Assimiler les notions de décidabilité d'un problème et de classes de complexité. Cerner les limites
des machines ? Peut-on résoudre tous les problèmes avec un ordinateur ? Peut-on calculer toutes
les fonctions avec un ordinateur ? Combien de temps faut-il pour résoudre un problème ?
Trouvera-t-on un jour des algorithmes radicalement plus efficaces ?

Connaissances préalables recommandées : Langages et automates, algorithmique des graphes,


logique propositionnelle.

Contenu de la matière :

 Calculabilité :
o Problème de décision et de calcul
o Machines de Turing (MT) : définitions, programmation, variantes, complexités en
temps et en espace, non déterminisme, énumération.
o Thèse de Church-Turing
o Machines RAM : définitions, équivalence avec les MT (complexité).
o Fonctions récursives.
 Décidabilité et indécidabilité :
o Propriétés des langages R et RE.
o MT universelles.
o Réduction.
o Problèmes indécidables.
 Complexité :
o Comparaison des classes de complexité (temps, espace, déterministe et non
déterministe).
o Exemples de problèmes : satisfaisabilité, circuits booléens, graphes, ...
o Réduction et complétude.
o Exemples de problèmes P-complets, NP-complets, PSPACE-complets, ...
o Calcul parallèle (classe NC).

Mode d’évaluation : Examen final + Contrôle continu

Références :

1. Pierre Wolper, Introduction à la calculabilité, InterEditions, 1991. Christos H.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 18
Année universitaire : 2016/2017
2. Papadimitriou, Computational Complexity, Addison Wesley, 1994.
3. J. E. Hopcroft and J. D. Ullman, Introduction to Automata Theory, Languages and
Computation, Addison Wesley, 1974.
4. M. Sipser, Introduction to the Theory of Computation, PWS publishing Company, 1997.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 19
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEF1
Intitulé de la matière : Développement d'Applications réparties
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement
Un système réparti est un ensemble de machines autonomes connectées par un réseau, et
équipées d’un logiciel dédié à la coordination des activités du système ainsi qu’au partage de ses
ressources. L'objectif de cette matière est de double. Premièrement; donner aux étudiants les
concepts de base des systèmes répartis et deuxièmement, leur donner les Fondements du
développement d'applications réparties à travers l'étude des Modèles de programmation,
l'Architecture logicielle des applications et du middleware. Ceci permettra aux futurs diplômés de
cette spécialité de maitriser les principales solutions techniques existantes telles que les patrons
de conception; etc …

Connaissances préalables recommandées : Notions sur la répartition dans les langages de


programmation à savoir Java.

Contenu de la matière :

Partie 1
1. Principes généraux sur les systèmes répartis.
2. Paradigmes et services de communication.
3. Principaux problèmes de coordination et de cohérence de donnée.
Partie 2
1. Introduction et principes de base : Architectures applicatives ; Schéma de conception.
2. Intergiciels : Défis majeurs (désignation ; transmission de données ; gestion des pannes)
; Intergiciels (définition, caractérisation, historique) .
3. Invocations de méthodes à distance (Java RMI) Modèle ; Java RMI ; Principes ; Création
d'objets distants ; Téléchargement de code ; Parallélisme ; Asynchronisme ; Activation.

Mode d’évaluation : Examen final + Contrôle continu

Références
1. E. G. Chang and R. Roberts. « An improved algorithm for decentralized extrema-finding in
circular configurations of processors ».Communications of the ACM, 22(5):281–312, 1979.
2. G. Coulouris, J. Dollimore, and T. Kindberg.Distributed Systems—Concepts and Design, 2nd Ed.
Addison-Wesley Publishers Ltd., 1994.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 20
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEF2
Intitulé de la matière : Ingénierie dirigée par les modèles
Crédits : 4
Coefficients : 2

Connaissances préalables recommandées :


Objectifs de l’enseignement : L'IDM (Ingénierie dirigée par les modèles) est le domaine de
l'informatique mettant à disposition des outils, concepts et langages pour créer et transformer des
modèles. Ce que propose l'approche de l'ingénierie des modèles (IDM, ou MDE en anglais pour
Model Driven Engineering) est simplement de mécaniser le processus que les ingénieurs
expérimentés suivent à la main. L'intérêt pour l'IDM a été fortement amplifié lorsque l'organisme
de standardisation OMG (Object Modeling Group) a rendu publique son initiative MDA (Model
Driven Architecture). Ce cours permettra aux étudiants d’intégrer les principes de l’approche MDA
pour le développement d’applications logicielles. Il présentera aussi un tour d’horizon des outils
liés à MDA.

Connaissances préalables recommandées : Notions sur le génie logiciel.

Contenu de la matière :
Chapitre 1 : Introduction
Chapitre 2. Les deux principes de IDM
-La méta-modélisation
- Les transformations de modèles
Chapitre 3. MDA : Une réalisation de l’IDM
- OMG et MDA
- Hiérarchie de modélisation
- Mise en œuvre du MDA
- Architecture générale de l’approche MDA
- Syntaxe abstraite et syntaxe concrète
Chapitre 4 : Supports de modélisation OMG
-Le diagramme de classe UML
-OCL : Un langage de spécification de contraintes.
-MOF pour la définition de méta-modèle
-CWM pour la modélisation des données.
-XMI pour l’échange de modèles.
-QVT pour modéliser les transformations de modèles.

Mode d’évaluation : Examen final + Contrôle continu

Références
 Xavier Blanc, MDA en action : Ingénierie logicielle guidée par les modèles, Editions Eyrolles.
 Jean-Marie Favre, Jacky Establier, Mireille Blay-Fornarino, L'ingénierie dirigée par les
modèles : au-delà du MDA, 236 pages, Editeur : Hermes-Lavoisier
Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 21
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEF2
Intitulé de la matière : Génie logiciel avancé
Crédits :6
Coefficients : 3

Objectifs de l’enseignement :

Cette matière présente les techniques et les outils de développement utilisés actuellement par les
informaticiens. Elle est composée de quatre parties : l'approfondissement de la connaissance du
langage UML, la présentation de la démarche d'analyse et de conception, l'étude des bonnes
pratiques de construction d'architectures logicielles par objets et la problématique de la qualité et
du test. Les travaux pratiques utilisent la notation UML. À l'issue de ce cours, un étudiant doit être
capable de concevoir une application à objets simple à partir d'un cahier des charges : en mettant
en œuvre une démarche d'analyse et de conception par objets, en utilisant le langage UML
comme langage pivot, en construisant une architecture par objets robuste et préparée aux futures
évolutions de l'application, en garantissant le fonctionnement de son application grâce à la mise
en place d'un jeu de tests unitaire, d'intégration et fonctionnelle.

Connaissances préalables recommandées :


Connaissances de base en informatique, maîtrise de la programmation à objets (concepts de
classe, d'interface, d'opérations, de méthodes, d'héritage, etc.). Lecture des principaux
diagrammes UML.

Contenu de la matière :
Chapitre 1 : Rappel de programmation objets
Chapitre 2 : Concepts avancés : exceptions, clonage, classes génériques,
collections, itérations, classes internes ...
Chapitre 3 : Modélisation objet par UML, diagrammes statiques et dynamiques.
Chapitre 4 : Les bonnes pratiques d'architecture logicielle à objet
o Introduction aux Patrons de Conception (Design Pattern)
o Patrons de création
o Patrons de structure

Mode d’évaluation : Examen final + Contrôle continu

Référence :
1.Design patterns - catalogues de modules de conception réutilisables, E. Gamma, R. Helm et al.
Joshua Bloch, Effective Java, Programming Language Guide, Addison- Wesley 2001
2. M. Blaha et J. Rumbaugh, Modélisation et conception orientées objet avec UML2, Pearson
education, 2e édition, 2005
3. E. Gamma, R. Helm, R. Johnson et J. Vlissides, Design Patterns. Catalogue de modèles de
conception réutilisables, Vuibert, 1999

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 22
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEM1
Intitulé de la matière : Technologies XML
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement :

Cette matière est axée sur la réalisation de sites Web dynamiques avec interfaçage à des bases de
données. Il s'agit aussi de présenter le langage XML et les technologies et outils qui gravitent
autour de ce format d'échange.

Connaissances préalables recommandées :

 Savoir écrire des programmes en Java


 Une connaissance superficielle de HTML et du Web

Contenu de la matière :

 Le langage XML, les DTD et les schémas.


 Le langage XSL et les requêtes XPATH.
 Java et XML : étude de SAX et DOM
 Les bases de données XML et le langage XQuery.
 Présentation de XSL-FO et de SVG.
 Conception et réalisation des services WEB XML.

Mode d’évaluation : Examen final + Contrôle continu

Références :

Technologies XML - Aspects techniques et approches métier-Joëlle Vittone, Olivier Gultzgoff.


Broché, Editions ENI

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 23
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UEM1
Intitulé de la matière : Modélisation et simulation
Crédits : 5
Coefficients : 3

Objectifs de l’enseignement
Cette matière couvre les principes de base de la modélisation et simulation informatique avec
application aux systèmes distribués. Elle a pour objectif de permettre aux étudiants d’acquérir une
base solide dans le domaine de la modélisation et la simulation numérique des systèmes. D’un
côté l’étudiant sera introduit aux concepts génériques liés à la modélisation et la simulation et de
l’autre côté il lui sera possible d’acquérir un savoir-faire en utilisant des outils appropriés et en
développant des systèmes de modélisation et simulation.

Connaissances préalables recommandées : Analyse, Probabilités et statistiques

Contenu de la matière :

Chapitre 1 : Modélisation des systèmes


1. Types de systèmes
2. Outils de modélisation
2.1 chaines de Markov
2.2 Modèles de files d’attentes
Chapitre 2 : Techniques d’évaluation des performances
1. Présentation des techniques d’évaluation des performances
2. Les méthodes mathématiques (Avantages, Coût de la modélisation,
3. modélisation analytique et introduction à la simulation
Chapitre 3 : La simulation
1. Types de simulation
2. Simulation de systèmes
3. Simulation de systèmes statique (méthode de Monte Calro),
4. Simulation des systèmes Dynamique
4.1 Simulation continue
4.2 Simulation des systèmes discrets
4.2.1Génération et tests de nombres pseudo-aléatoires
5. Analyse et validation des résultats d’une simulation
Chapitre 4 : Les outils de simulation
1. Logiciels (Opnet, Arena)
2. Langages (SimScript, Simula)
3. Le graphisme et la simulation

Mode d’évaluation : Examen final + Contrôle continu

Références :

1. S. S. Lavenberg, Computer systems performance evaluation, Academic press 1983

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 24
Année universitaire : 2016/2017
2. I. Mitrani, Modeling of computer and communication systems, Cambridge University press 1987
3. M. Pidd, Computer simulation and management science, J. Wiley and Sons Ed. 1984
4. K. S. Trivedi, Probability and statistics with reliability, queuing and computer science
applications, Prentice Hall 1982

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 25
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 1
Intitulé de l’UE : UET1
Intitulé de la matière : Développement Web avancé
Crédits : 3
Coefficients : 3

Objectifs de l’enseignement :
- Se familiariser avec la plateforme J2EE
- Comprendre les concepts des Servlets / JSP
- Etre en mesure de développer des applications web

Connaissances préalables recommandées :

 Savoir écrire des programmes en Java


 Une connaissance superficielle de la programmation Web

Contenu de la matière :

Chapitre 1 : Architectures distribuées et plate-forme J2EE


1. J2EE : une plate-forme pour développer des solutions d’entreprise
2. L’architecture J2EE : composants, services et communications
3. Typologie des architectures J2EE
Chapitre 2 : JDBC : Java DatabaseConnectivity
1. Description de l’Architecture JDBC
2. Typologie des drivers
3. Connexion aux Bases de Données
4. Exécution des Requêtes et traitement des Résultats
5. JDBC et les Transactions
Chapitre3 : JNDI : Java Naming and Directory Interface
1. Définition
2. Architecture
3. Configuration
4. Utilisation du package javax.naming
5. Exceptions
Chapitre 4 : Servlets
1. Concepts de base et développement d’une Servlet
2. Communication Client/Servlet : Request/Response
3. Concepts associés aux servlets
4. Concepts avancés
5. Multithreading
Chapitre 5 : JSP : Java Server Pages
1. Introduction à la technologie JSP
2. Les objets des pages JSP et leur portée
3. Intégrer une JSP à une application J2EE
Chapitre 6 : Modèle MVC2 / Bases de Struts
1. Architecture des classes composites (ActionServlet/Action...)

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 26
Année universitaire : 2016/2017
2. Configuration / Déploiement
3. Concept Avancé de Struts
4. Présentation d’outils connexes à Struts
Mode d’évaluation : Examen final + Contrôle continu

Références :
[1] EricChaber. JSP - Avec Struts, Eclipse et Tomcat. Collection InfoPro, 01 Info. Dunod, 1 edition,
2004. ISBN 2-10-008241-8.
[2] Gilles et al. Clavel. Java, la synthèse - Concepts, architectures, frameworks. Dunod, 4 edition,
2003. ISBN 2-10-007102-5.
[3] Karim Djaafar. Eclipse et JBoss - Développement d’applications J2EE professionnelles, de la
conception au déploiement. Eyrolles, 1 edition, 2005. ISBN 2-212-11406-0.
[4] EricSarrion. J2EE. Eyrolles, 1 edition, 2005. ISBN 2-84177-380-9.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 27
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEF1
Intitulé de la matière : Système d’exploitation distribué
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement
Cette matière est consacrée aux techniques distribuées d’allocation de ressources et de montrer
à l’étudiant les différents problèmes d’ordonnancement, de sécurité, de fiabilité, ...

Connaissances préalables recommandées :


Connaissances sur les architectures réseaux et les systèmes d’exploitation.

Contenu de la matière :
Chapitre 1 : Introduction
1. Concepts généraux
2. Notion de clients / serveurs
Chapitre 2 : Architecture d’un système d’exploitation distribué (SED) ou réparti (SER)
1. Noyau distribué et fonctionnalité de base, exemples
2. Services de base
3. Composantes logicielles de base associées
4. Exemple de SED
Chapitre 3 : Communication dans les SEDs
1. Schéma global de fonctionnement
2. Exemples : Chorus, Eden, Mach, ...
Chapitre 4 : Gestion répartie de fichiers
1. Services fichiers
2. Services répertoires
3. Exemples
Chapitre 5 : Protection
1. Sécurité et tolérances aux pannes
TP :
1. Montage
2. Communication avec RPc
3. Serveur de fichier rudimentaire
4. Consistance de cache
5. Serveur de nom rudimentaire

Mode d’évaluation : Examen Final + Contrôle contenu

Références
1. Robbins, K. A. and Robbins, S. (2003). UNIX SYSTEMS Programming: communication,
Concurrency and Threads. Prentice Hall.
2. Tannenbaum, A. (2001). Modern Operating Systems. Hardcover, 2nd edition.
3. Zignin, B. (1996). Techniques du multithread : du parallélisme dans les processus. Hermès.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 28
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEF1
Intitulé de la matière : Algorithmes distribués
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement

Ce module présente les concepts fondamentaux de l'algorithmique distribué dans un modèle de


communication par échange de messages : relation de causalité, horloges logiques, exclusion
mutuelle, détection de terminaison, élection de leader, rendez-vous distribué, état global.

Connaissances préalables recommandées : Notions sur les concepts de synchronisation,


communication et l’exclusion mutuelle dans un contexte centralisé.

Contenu de la matière:
Chapitre 1 : Introduction : terminologie, temps, causalité
Chapitre 2 : Algorithmes d'exclusion mutuelle à base de permission
Chapitre 3 : Algorithmes d'exclusion mutuelle à base de jeton
Chapitre 4 : Synchronisation par rendez-vous distribué
Chapitre 5 : Algorithmes par vagues
Chapitre 6 : Algorithmes d'état global
Chapitre 7 : Algorithmes d'élection
Chapitre 8 : Algorithmes de terminaison
Chapitre 9 : Introduction au large échelle

Mode d’évaluation : Examen final + Contrôle contenu

Références

 Introduction to Distributed Algorithms, G. Tel, Cambridge University Press, 1994.


 Synchronisation et Etat Global dans les Systèmes Répartis, M. Raynal, Eyrolles, 1992.
 Distributed Algorithms, N. Lynch, Morgan Kaufmann, 1997.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 29
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEF2
Intitulé de la matière : Types et langages de programmation
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement :
Un système de type est une méthode syntactique pour un contrôle d’absences automatique de
certains comportementaux erronés en classifiant les constructions d’un programme selon les
types de valeurs qu’elles calculent. L’étude des systèmes de types et des langages de
programmation d’un point de vue théorique possèdent des applications importantes en génie
logiciel. Ce cours fourni une introduction à la fois des systèmes de types et à la théorie de base des
langages de programmation

Connaissances préalables recommandées : Notions de la théorie des types.

Contenu de la matière :
 Introduction
 Systèmes non typés
 Types simples
 Sous-Typage
 Types récursifs
 Polymorphisme
 Systèmes de types d’ordre supérieur

Mode d’évaluation : Examen final + Contrôle continu

Références

« Types and Programming Languages » Benjamin C. Pierce.The MIT Press Cambridge 2002,
Massachussets, London, England.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 30
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEF2
Intitulé de la matière : Modèles de spécification des systèmes distribués
Crédits : 6
Coefficients : 3

Objectifs de l’enseignement :
L’objectif de ce cours est d’introduire l’étudiant dans le domaine de la conception formelle des
systèmes parallèles et distribués. L’accent sera mis sur les formalismes de spécification et les
modèles sémantiques du parallélisme. Par ailleurs, dans les séances de travaux pratiques il serait
question d’introduire les étudiants à des outils de spécification formelle et leur application sur des
exemples issus du domaine des systèmes concurrents, parallèles et distribués.

Connaissances préalables recommandées : Notions sur les langages formels et automates.

Contenu de la matière :

Chapitre 1 : Méthodologie de conception formelle des systèmes parallèles et distribués.


Chapitre 2 : Modèles sémantiques
 Systèmes de transitions étiquetés.
 Automates temporisés
Chapitre 3 : Modèles formels de spécification
 Modèles basés réseaux de Petri et leur sémantique opérationnelle structurée.
 Modèles basés Algèbres de processus et leur sémantique opérationnelle structurée.
Chapitre 4 : Application à la spécification formelle de quelques exemples (ex. le protocole du bit
alterné).

Mode d’évaluation : Examen final + Contrôle continu

Références

1. Howard Bowman and Rodolfo Gomez, Concurrency Theory : Calculi and Automata for
Modelling Untimed and Timed Concurrent Systems, 2006
2. R. Alur and D. L. Dill. A theory of Timed Automata. TCS, 126 :183{235, 1994
3. Manfred Broy Bengt Jonsson, Joost-Pieter Katoen Martin Leucker and Alexander
Pretschner (Eds.) Model-Based Testing of Reactive Systems Advanced Lectures Book Series
Lecture Notes in Computer Science, Springer Berlin / Heidelberg 2005
4. Saidouni Djamel Eddine, Modèles du parallélisme, Polycopier (80 pages).

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 31
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEM1
Intitulé de la matière : Techniques avancées de programmation
Crédits : 5
Coefficients : 3

Objectifs de l’enseignement :

Apprendre à appliquer et à maitriser les techniques de programmation associées aux paradigmes


de programmation fonctionnelle, générique et orienté-aspect.

Connaissances préalables recommandées : Programmation impérative et programmation par


objets.

Contenu de la matière :

Techniques et design pattern de la programmation fonctionnelle.


Techniques la programmation générique et générative.
Introduction à la programmation orientée aspect.

Mode d’évaluation : Examen final + Contrôle continu

Références
 Programmation fonctionnelle, générique et objet. Narbel, Vuibert, 2005
 Generative programming, Czarnecki and Eisnecker. Addison-Wesley, 2000
 Generic programming, Gibbons and Jeuring. Kluwer, 2003

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 32
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UEM1
Intitulé de la matière : Plateforme JEE
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement :

Il s'agit de présenter, dans le monde JAVA, tout ce qui découle de la norme de fait JEE et de
l'impact sur la conception des applications Client/serveur sur le Web.

Connaissances préalables recommandées : Ce cours présuppose une connaissance des bases du


langage JAVA.

Contenu de la matière :

1. Conception et utilisation de JavaBeans.


2. Accès aux bases de données via JDBC.
3. Accès aux annuaires via JNDI.
4. Production de pages WEB avec les JSP/Servlet.
5. Appel de méthodes distantes (RMI et Corba).
6. Les composants métiers Java (EJB).
7. La sécurité en Java.
8. L'envoi de messages via JMS.
9. Principes des ORM (Hibernate)
10. Le conteneur léger Spring

Mode d’évaluation : Examen final + Contrôle continu

Références
 Alur, D., Malks, D., and Crupi, J. (2003). Core J2EE Patterns: Best Practices and
Design Strategies, Second Edition. Prentice Hall. 650 pp.
 Dudney, B., Asbury, S., Krozak, J. K., and Wittkopf, K. (2003). J2EE AntiPatterns.
Wiley. 600 pp.
 Handley, M., Schulzrinne, H., Schooler, E., and Rosenberg, J. (2000). SIP: Session
Initiation Protocol.
 http://www.ietf.org/internet-drafts/draft-ietf-sip-rfc2543bis-02.txt.
 J2EE (2005). Java 2 Enterprise Edition. http://java.sun.com/products/j2ee.
 J2SE (2005). Java 2 Standard Edition. http://java.sun.com/products/j2se.
 Sun (2005). J2EE Application Validation Kit.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 33
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 2
Intitulé de l’UE : UET1
Intitulé de la matière : Ethique et déontologie
Crédits : 1
Coefficients : 1

Objectifs de l’enseignement :

Cette matière a pour objectif de mettre en place les politiques pour le renforcement de notre
culture en matière d'éthique et de déontologie.

Connaissances préalables recommandées :

Contenu de la matière :

Mode d’évaluation : Examen final + Contrôle continu

Références

Documents de déontologie.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 34
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEF1
Intitulé de la matière : Validation et Vérification des systèmes distribués
Crédits : 6
Coefficients : 3

Objectifs de l’enseignement :
L’objectif de ce cours est d’introduire l’étudiant au domaine de la validation et la vérification
formelle des systèmes distribués. Les approches de vérification formelle développées sont
l’approche logique, l’approche par bissimulation et l’approche de test formel.

Connaissances préalables recommandées : Notions élémentaires de modèles de calcul et


automates.

Contenu de la matière :

Chapitre 1 : Approche de vérification logique


 Logiques temporelles (linéaire, arborescente, …)
 Structure de Kripke.
 Vérification basée modèle
Chapitre 2 : Approche de vérification comportementale (par bissimulation)
 Simulation et bissimulation
 Bissimulation faible et forte
 Equivalence de bissimulation
 Algorithme de bissimulation (exemple MRCP)
Chapitre 3 : Approche de test formel
 Modèles de testes
 Test de conformité
 Testeur canonique
 Extraction de cas de test modulo l’objectif de test
Chapitre 4 : Application et expérimentation

Mode d’évaluation : Examen final + Contrôle continu

Références
 WojciechPenczek, AgataPółrola, Advances in Verification of Time Petri Nets and Timed
Automata: A Temporal Logic Approach, Book Series Studies in Computational Intelligence,
Springer Berlin / Heidelberg 2007
 Manfred Broy Bengt Jonsson, Joost-Pieter Katoen Martin Leucker and Alexander
Pretschner (Eds.) Model-Based Testing of Reactive Systems Advanced Lectures Book Series
Lecture Notes in Computer Science, Springer Berlin / Heidelberg 2005
 Saidouni Djamel Eddine, Modèles du parallelisme, Polycopier (80 pages).
 Ph. Schnoebelen, Vérification de logiciels, Vuibert, 1999
 E. M. Clarke, O. Grumberg, and D. Peled, Model Checking, MIT Press 2000.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 35
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEF1
Intitulé de la matière : Big Data
Crédits : 4
Coefficients : 2

Objectifs de l’enseignement
Le Big Data est devenu un sujet brûlant dans le domaine de l'informatique distribuée à grande
échelle au cours des dernières années, et il est impossible de le séparer du Cloud Computing. En
particulier, la croissance exponentielle et rapide des différents types de données a rapidement
soulevé des inquiétudes sur la façon de stocker, gérer, traiter et analyser les données. L'objectif de
ce cours est d'essayer de répondre à toutes ses inquiétudes.

Connaissances préalables recommandées : Connaissances fondamentales en mathématique

Contenu de la matière :
1. Caractéristiques des BigData
2. grands défis de données
3. Traitement Big Data
4. Gestion des Big Data
5. Analyse Big Data (modélisation des données et de prévision)
6. Application réelle Big Data

Mode d’évaluation : Examen final + Contrôle continu

Références
 George Reese, "Cloud Application Architectures: Building Applications and Infrastructure in
the Cloud", Publisher: O'Reilly Media, 2009.
 AnandRajaraman, Jure Leskovec, and Jeffrey Ullman, Mining of massive datasets, online.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 36
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEF2
Intitulé de la matière : Calcul orienté service
Crédits : 2
Coefficients : 1

Objectifs de l’enseignement
Ce cours vise à fournir des réflexions récentes sur le calcul orienté service, la technologie et la
gestion dans le but de comprendre une partie de plus en plus importante des Systèmes
d'information souvent désignés comme «Science Service". Le cours fournit un aperçu de ce
domaine et de l'expertise sur certaines des compétences informatiques clés, des technologies et
techniques et leur application dans les organisations modernes.

Connaissances préalables recommandées : Connaissances fondamentales en réseaux

Contenu de la matière :

1. Introduction au SOC
2. Service-Oriented Architecture
3. Fondements de Service
 Service-oriented middleware
 Service description (interface)
 Service publishing
 Service discovery
 Service binding
4. Composition et Coordination de Services
 Service aggregator
 Service coordination
 Transaction management
 Service adaptation
5: Gestion et Monitoring de Service
 Installation, configuration et déploiment
 Métriques
 Balance de charges
 Gestion de changement
6. Aspects Sémantiques
 Semantique
 Qualité de Service (QoS)
 Characteristiques non fonctionnelles
7. Service-Oriented Engineering
 Service-oriented modeling and design
 Programmation orientee service
 G2nie Logiciel pour SOC
 Service versioning and adaptivity

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 37
Année universitaire : 2016/2017
Mode d’évaluation : Examen final + Contrôle continu

Références

 Web Services and SOA: Principles and Technology, Mike Papazoglou, Elsevier, 2 nd Edition.
 Service-Oriented Computing: Semantics, Processes, Agents, Munindar Singh and Michael
Huhns, John Whiley and Sons.
 A Semantic Web Primer, Grigoris Antoniou and Frank van Harmelen, 2nd edition, MIT
Press.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 38
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEF2
Intitulé de la matière : Architecture à base de composants
Crédits : 6
Coefficients : 3

Objectifs de l’enseignement :
Les systèmes logiciels à base de composants sont des systèmes développés par assemblage de
composants réutilisables, préfabriqués et pré-testés. L’intérêt accru ces dix dernières années pour
le développement de logiciels à base de composants est motivé principalement par la réduction
des coûts et des délais de développement de logiciels. Les architectures logicielles ont apporté une
réelle contribution dans le développement de tels systèmes logiciels. Leurs principales
caractéristiques résident d’une part dans leur pouvoir de gérer les abstractions et les niveaux
d’expressivité d’un système, et d’autre part dans leur capacité à prendre en compte la
modélisation de la structure et du comportement d’un système.

Connaissances préalables recommandées : Notions sur l’architecture logicielle, et les langages


ADL (ADL : Architecture Description Languages).

Contenu de la matière :
Chapitre 1 : Introduction au CBSE (Component-Based Software Engineering)
 Introduction.
 Défis du CRSE.
 Concepts de base du CBSE (composants, interfaces, ports, connecteurs, contrats,…).
 Relations des concepts du CBSE avec des concepts du GL (Objets, Patterns, Frameworks,.. ).
 Modèles et technologies de composants.(modèles académiques & industriels )
 Spécification des composants logiciels.
1. Techniques de spécification basée sur la syntaxe.
2. Techniques de spécification avec prise en charge des aspects sémantiques.
3. Spécification des propriétés extra fonctionnelles des composants.

Chapitre 2 : Architectures logicielles


 Introduction aux architectures logicielles.
 Définitions et rôles des architectures logicielles.
o Rôles des architectures logicielles dans la Mesure et l’évacuation des décisions de la
conception.
o Rôles des architectures logicielles dans La gestion des modifications dynamiques
des systèmes logiciels opérationnels.
 Conception des architectures logicielles.
o Processus de conception d’architectures logicielles.
o Styles architecturaux.
o Autres
 Langages de description d’architectures (ADLs) (études de quelques ADLs)

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 39
Année universitaire : 2016/2017
 Langages de modification d’architecture (AMLs)

Chapitre 3 : Architecture logicielles à base de composants


 Langage de description d’architecture à composant (études de quelques ADLs comme
Wright, Darwin,…
 Etude de l’extraction d’architectures logicielles à base de composants depuis des systèmes
existants (par exemple à partir des systèmes orientés objet)

Mode d’évaluation : Examen final + Contrôle continu

Références
 Project ACCORD. Etat de l’art sur les langages de description d’architecture (adls). Dans
Rapport technique, INRIA, France, 2002.
 O. BARAIS et L. DUCHIEN. Safarchie : Maîtriser l’Évolution d’une architecture logicielle.
Langages, Modèles et Objets - Journées Composants - LMO 2004-JC 2004, L’objet, 10(2-
3):103–116, 2004.
 L. BASS, P. CLEMENTS et R. KAZMAN. Software Architecture In Practice. Addison-Wesley
Publishing, 1998.
 M. OUSSALAH et al.Ingénierie des composants : Concepts, Techniques et Outils.Vuibert,
Paris, 2005

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 40
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEM1
Intitulé de la matière : Data Mining
Crédits : 6
Coefficients : 3

Objectifs de l’enseignement
Dans ce cours, nous présentons les différentes tâches de fouille de données en nous
concentrerons sur l'aspect algorithmique et logiciel de la Fouille de données. Les notions
d'apprentissage non supervisé et supervisé, les algorithmes afférant et leur utilisation seront
étudiés.

Connaissances préalables recommandées : Bases de données, Analyse des données

Contenu de la matière :
Chapitre 1 : Introduction à la fouille de données
 Différence entre données et connaissance
 Présentation de la fouille de données
 Les principaux domaines d’utilisation de la fouille de données

Chapitre 2 : Le processus de la fouille de données


 Sélection des données.
 Prétraitement de données, nettoyage
 Transformation (codage, normalisation ).
 Fouille de données.
 Interprétation et Evaluation.

Chapitre 3 : Les tâches de la fouille de données


 Clustering (Hiérarchiques, partitionnement, basé densité).
 Classification (Règles de décision, bayésien, SVM).
 Règles d'association

Chapitre 4 : Autres démarches data mining


- Textmining.
- Web mining.
- Image Mining.

Mode d’évaluation : Examen final + Contrôle continu

Références:
 Des données à la connaissance, une introduction au data-mining. Daniel T-Larose. Vuibert,
Paris, 2005. Traduction de An introduction to data-mining, New-York, 2005.
 Introduction au Data Mining, Analyse intelligente des données. Michel Jambu. Eyrolles,
1999.

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 41
Année universitaire : 2016/2017
 Han, J. (2001), Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, ISBN
1-55860-489-8

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 42
Année universitaire : 2016/2017
Intitulé du Master : Génie logiciel et Systèmes distribués.
Semestre : 3
Intitulé de l’UE : UEM1
Intitulé de la matière : Méthodologie de recherche scientifique
Crédits : 3
Coefficients : 2

Objectifs de l’enseignement :

Apprendre à rédiger des papiers de recherche.

Connaissances préalables recommandées :


Aucune connaissance préalable n’est requise.

Contenu de la matière :

 Introduction
 La compréhension du travail demandé
 le choix et la limitation du sujet
 La recherche documentaire
 L’analyse documentaire
 La rédaction du travail

Mode d’évaluation : Examen final + Contrôle continu

Références
Gosselin, C. (1995). L’information et le travail de recherche. Éducatechnologiques. Vol 2, n°1.
Université Laval, Québec, Canada.
http://www.fse.ulaval.ca/fac/ten/reveduc/html/vol2/no1/educ_tdm.html

MEDIADIX. Initiation à la recherche documentaire sur l’Internet et à la récupération de données.


Université Paris X.
http://www.u-paris10.fr/mediadix/doc/inetrd/

Etablissement :Université de Khenchela Intitulé du master : Génie logiciel et Systèmes distribués Page 43
Année universitaire : 2016/2017