Architecture d’application

Slides:



Advertisements
Présentations similaires
Architecture d’application
Advertisements

Architecture d’application
Apprentissage automatique L’apprentissage automatique.
Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers.
Gestion de la concurrence avec Entity Framework Développement d’application avec base de données Chapitre 23 Hugo St-Louis – Automne 2015.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
La démarche d'investigation en sciences. La démarche d'investigation s'appuie sur: Une situation problème correspondant à une situation d'apprentissage.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
Mise en place d’un serveur de Notification des appels Manqués par SMS Présenté par : Professeur : Yousouf M’madi Djoumbe Mr Boudal Niang Djibril Sambe.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Système d’annotation et de détection de modèle de véhicule Université de Sfax *** Institut Supérieur d’Informatique et de Multimédia de Sfax Réalisé par.
LE DEVELOPPEMENT AUTREMENT
Ingénierie pédagogique
Qu’est-ce un serveur de messagerie?
Analyse, Classification,Indexation des Données ACID
Mettre à jour les données
Evaluer par compétences
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Les P G I Les Progiciels de Gestion Intégrés
de la productivité individuelle au travail collaboratif
Sécurisation de l’accès Internet
Analyse d’un dysfonctionnement
Master Réseaux et Systèmes Distribués (RSD)
Installation et Configuration Internet Information Server (IIS 5)
Les bases de données et le modèle relationnel
Technologies de l’intelligence d’affaires Séance 13
GESTION DES INSCRIPTIONS DANS UNE ECOLE
Développement d’applications interactive III
Comment fonctionne RADIUS?
Information, Calcul, Communication
Wireshark Capture et analyse de trames IP
Technologies de l’intelligence d’affaires Séance 12
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Programmation système
Août 2009.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
Système d’exploitation
Réseaux de neurones appliqués à la reconnaissance de caractères
Modèles de représentation des systèmes d’information
Plan d'urbanisation Version / 02 / Nov Mai 2013 Passation des marchés Sommaire Une vision unifiée de l'urbanisation et de l'approche.
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
BTS SIO 2ème année SLAM SISR
Bienvenue sur Coursinfo.fr
La sécurité et le rôle du chef d’établissement
Évaluation normative Évaluation formative
La gestion des habilitations par le partenaire
Kit de formation multimedia
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Les erreurs de mesure Projet d’Appui au renforcement des capacités
TECHNIQUES D’ANIMATION ANIMATION DE L’ENSEIGNEMENT / APPRENTISSAGE.
Piles et files.
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Réalisé par: SAMMARI RIM SOUID AHLEM AMROUCH HAFEDH
Tableau de bord d’un système de recommandation
1 O ffice De La F ormation P rofessionnelle Et De La P romotion De T ravail I nstitut S pécialiste en T echnologie A ppliquée -ASSA Prof. : Omar BOUNHAS.
INTELLIGENCE ARTIFICIELLE
YII Yes It Is !.
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Qu’est ce qu’une page web? Comment fonctionne un site web?
Modélisation et simulation avec Matlab + Simulink.
Société de l’Information
UX DESIGN User exprérience en anglais Expérience Utilisateur en français Concevoir, Créer, dessiner UX DESIGN, consiste à penser et concevoir un site web.
La programmation dynamique
Transcription de la présentation:

Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers

Plan de présentation Introduction L’architecture 3-tiers L’apprentissage automatique L’algorithme du perceptron Application

Introduction L’objectif de ce cours est de vous montrer l’architecture 3-tiers. Comme vous êtes des passionnés, nous allons utiliser un algorithme d’IA pour appliquer à l’architecture 3-tiers.(Algorithme du perceptron).

Couche Accès données (DAL) Où on en est? Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern Design pattern BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

Couche Accès données (DAL) Le modèle 3-tiers Son nom provient de l'anglais tier signifiant étage ou niveau. Il s'agit d'un modèle logique d'architecture applicative qui vise à modéliser une application comme un empilement de trois couches logicielles (étages, niveaux, tiers ou strates) dont le rôle est clairement défini : la présentation des données(GUI, Graphic User Interface)  : correspondant à l'affichage, la restitution sur le poste de travail, le dialogue avec l'utilisateur ; le traitement métier des données (La couche métier (BLL, Business Logic Layer)): correspondant à la mise en œuvre de l'ensemble des règles de gestion et de la logique applicative ; et enfin l'accès aux données persistantes (La couche d’accès aux données (DAL, Data Access Layer))  : correspondant aux données qui sont destinées à être conservées sur la durée, voire de manière définitive. BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL) Source :http://fr.wikipedia.org/wiki/Architecture_trois_tiers

La couche présentation(GUI) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

La couche présentation(GUI) Elle correspond à la partie de l'application visible et interactive avec les utilisateurs. On parle d'interface homme machine. La couche présentation relaie les requêtes de l'utilisateur à destination de la couche métier, et en retour lui présente les informations renvoyées par les traitements de cette couche. Il s'agit donc ici d'un assemblage de services métiers et applicatifs offerts par la couche inférieure. La couche présentation n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

Couche Accès données (DAL) Couche métier(BLL) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

Couche métier(BLL) Elle correspond à la partie fonctionnelle de l'application, c’est elle qui implémente la « logique », et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des utilisateurs, effectuées au travers de la couche présentation. Les différentes règles de gestion et de contrôle du système sont mises en œuvre dans cette couche. La couche métier offre des services applicatifs et métier à la couche présentation. Pour fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation les résultats qu'elle a calculés.

Couche accès aux données(DLL) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

Couche accès aux données(DLL) Cette couche est responsable de la gestion et de l'accès aux données du système. Ces données peuvent être propres au système, ou gérées par un autre système. La couche métier n'a pas à s'adapter à ces deux cas, ils sont transparents pour elle, et elle accède aux données de manière uniforme. Cette couche assure la gestion des données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la gère. Cette couche offre généralement des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données.

Communication entre les couches Dans cette approche, les couches communiquent entre elles au travers d'un « modèle d'échange », et chacune d'entre elles propose un ensemble de services rendus. Les services d'une couche sont mis à disposition de la couche supérieure. On s'interdit par conséquent qu'une couche invoque les services d'une couche plus basse que la couche immédiatement inférieure ou plus haute que la couche immédiatement supérieure (chaque couche ne communique qu'avec ses voisins immédiats). BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

En résumé En résumé, lorsqu'un client envoie une requête à l'application : la requête envoyée depuis la couche présentation est analysée par la couche métier (par exemple un clic de souris pour lancer un traitement de données), la couche métier fait le traitement et demande à la couche d’accès aux données de faire les modifications voulues dans la base de données, La couche d’accès aux données retourne la mise à jour à la couche métier, qui à son tour, la remettra à la couche présentation.

Avantages Un avantage apporté par ce modèle est la clarté de l'architecture qu'il impose. Cela simplifie la tâche du développeur qui tenterait d'effectuer une maintenance ou une amélioration sur le projet. En effet, la modification des traitements ne change en rien la vue. Par exemple on peut passer d'une base de données de type SQL à XML en changeant simplement les traitements d'interaction avec la base, et les vues ne s'en trouvent pas affectées.

Exemple Aller chercher les documents d’exercice sur le site Internet du cours. L’interface graphique (GUI, Graphic User Interface) : Demander le nom d’un fichier. Ajouter un bouton pour activer la lecture du fichier Ajouter un RichTextBox pour afficher les résultats La couche métier (BLL, Business Logic Layer) Vide pour le moment La couche d’accès aux données (DAL, Data Access Layer) Nous allons remplir une structure de données pour les données et une pour les résultats. Résultat: Afficher les données dans le RichTextBox.

Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers Suite…

https://www.polleverywhere.com/multiple_choice_polls/MTM3ODc2MzYzMA

https://www.polleverywhere.com/multiple_choice_polls/NTQwMzIyNDI5

Apprentissage automatique: Les réseaux de neurones Attention aux coeurs sensibles s’abstenir!!  La poubelle se trouve près de la porte…

Mais qu’est-ce que l’IA et où on va dans ce cours? L’intelligence artificielle tente de reproduire le comportement humain à l’aide d’un ordinateur. Mais qu’est-ce qu’on cherche à reproduire: La représentation des connaissances L’apprentissage (voir le film à 40 minutes) Le raisonnement(inférence) L’intelligence émotionnelle La personnalité Etc.

Comparaison avec l’humain Le cerveau utilise un réseau très complexe ayant un grand nombre de cellules de base interconnectées. Il y a ∼100 milliards de neurones et1015 connexions. Aujourd’hui, nous essaierons de stimuler un neurone pour le faire apprendre.

Comment apprendre? Dans la vrai vie L’apprentissage se fait grâce à l’interaction entre les données et la conception de l’apprenant. L’apprennant essait de trouver un modèle(pattern) à travers les données pour en déduire une conclusion. Si l’apprenant fait une erreur, il ajuste sa conception en fonction du résultat.

Apprentissage automatique Certain scientifiques affirme que le hasard n’existe pas et que tout phénomène peut être calculé à l’avance si on a suffisamment de données. https://www.pinterest.com/lunaris/natural-patterns/

Apprentissage automatique Toute question peut être reformulée sous la forme d’une question booléenne. L’objectif sera de conditionner un neurone pour détermine les règles qui régissent une réponse à une question booléenne. https://www.pinterest.com/lunaris/natural-patterns/

GPA-779 Le perceptron Dans ce cours, nous allons utiliser un classificateur de type perceptron. Le perceptron a été inventé en 1957 par Frank Rosenblatt au Cornell Aeronautical Laboratory. L’objectif de l’algorithme est de construire une “bonne” fonction h(x) à partir de l’observation d’un échantillon d’exemples S. Idéalement, nous aurions h(x) =y pour tout exemple (xi; y)non observé par l’algorithme. i.e., h(x) est une “bonne” fonction ssi elle prédit bien la valeur de sortie des exemples à venir. Automne 2005

Apprentissage automatique sur un échantillon d’apprentissage Un algorithme d’apprentissage est un algorithme qui a pour fonction d’apprendre à répondre à une question à partir d’un ensemble S de données contenant un nombre fini m d’exemples de la tâche à apprendre. Cet ensemble S se nomme l’échantillon d’apprentissage (“training set”) Chaque exemple est constitué d’un “objet” d’entrée xi et d’une valeur de sortie y

L’idée Modéliser un ensemble de données dans un plan cartésien. Essayer de tracer une droite qui séparera correctement les éléments. Voir le document Excel La question est de savoir si une personne est riche?

Limite du perceptron Le perceptron est incapable de distinguer les patterns non séparables linéairement input P 0 1 0 1 input Q 1 0 0 1 ET 0 0 0 1 XOR 1 1 0 0

Comment s’opère la magie maintenant? https://www.youtube.com/watch?v=SGZ6BttHMPw&index=1&list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH https://www.youtube.com/watch?v=SGZ6BttHMPw&index=1&list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH

Algorithme d’apprentissage

Algorithme d’apprentissage

Descente en gradien http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html

Algorithme d’apprentissage Principales étapes : Initialiser aléatoirement les poids synaptiques Faire passer les observations unes à unes Calculer l’erreur de prédiction pour l’observation Mettre à jour les poids synaptiques si nécessaire Jusqu’à convergence du processus

Algorithme d’apprentissage

1- Valeur des poids 3- Descente en gradien 2- Équation http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html

Algorithme d’apprentissage Ancienne frontière :

Ancienne frontière :

Algorithme d’apprentissage Entrée :un échantillon S Pour i = 0. . . n initialiser aléatoirement les poids wi Faire Pour chacun des exemples dans S Prendre un exemple(x, yvrai ) dans S Calculer la sortie yestimé pour l'entrée x Si yvrai != yestimé Alors Pour i= 0. . . n wi ←wi + ConstanteApprentissage × (yvrai−yestimé)× xi Fin Pour Fin Répéter Jusqu’à obtention de la convergence Sortie :Un perceptron P défini par(w0, w1, . . . , wn)

La tolérance à l’erreur Il peut être avantageux d’être tolérant à l’erreur plutôt que de ne pas trouver de solution… à vous de trouver la bonne méthode de convergence. Selon vous quels sont les possibilités de critère de convergence?

Conclusion L’architecture 3-tiers est un modèle étoffé qui permet aisément la modification et l’extension d’une application. Le but de l’apprentissage automatique est de définir un vecteur de valeur qui permet de définir si oui ou non un vecteur d’entré appartient à un groupe ou non. https://www.youtube.com/watch?v=GROvIr2GGcc&list=PL6Xpj9I5qXYFD_rc1tttugXLfE2TcKyiO

Période de questions Vous avez des questions?