Patrons d architecture des Systèmes d Information

Dimension: px
Commencer à balayer dès la page:

Download "Patrons d architecture des Systèmes d Information"

Transcription

1 P7 : Projet Bibliographique Dans le cadre du Mastère ASIG Patrons d architecture des Systèmes d Information Serveur Base de données Clients Mortier Mélanie 15 mai 2008 Mastère ASIG / Projet bibliographique

2 TABLE DES MATIERES INTRODUCTION 7 1 ARCHITECTURE D UN SYSTEME D INFORMATION NIVEAU PROCESSUS / ARCHITECTURE METIER NIVEAU FONCTIONNEL / ARCHITECTURE FONCTIONNELLE NIVEAU APPLICATIF / ARCHITECTURE APPLICATIVE NIVEAU TECHNIQUE / ARCHITECTURE TECHNIQUE 9 2 QU EST-CE QU UN PATRON D ARCHITECTURE? DIFFERENCIER LE PATRON D ARCHITECTURE DU PATRON DE CONCEPTION L UTILITE DES PATRONS D ARCHITECTURE LES DIFFICULTES LIEES A LA DESCRIPTION DES PATRONS D ARCHITECTURE 13 3 LES DIFFERENTES CLASSIFICATIONS DES PATRONS D ARCHITECTURE LES STYLES ARCHITECTURAUX LA CLASSIFICATION PAR «VUES» Définitions Les différentes «vues» La «vue en couche» La «vue des flux de données» La «vue centrée sur les données» La «vue adaptation» La «vue interface utilisateur» La «vue interaction entre composants» LE TRIPLET PROBLEME/CONTEXTE/SOLUTION Un exemple de classification suivant 4 catégories de problèmes La description d un patron d architecture suivant le triplet problème/contexte/solution LA CLASSIFICATION PAR LES QUALITES DES SYSTEMES 22 4 LES PATRONS D ARCHITECTURE FREQUEMMENT UTILISES POUR LES SIG LES PATRONS D ARCHITECTURE DANS LES SIG «Architecture en couches» «Pipes & Filtres» et «batch séquentiel» 28 CONCLUSION 30 Mastère ASIG / Projet bibliographique

3 TABLE DES ILLUSTRATIONS FIGURE 1 : LES QUATRE NIVEAUX D ABSTRACTION DES SI 8 FIGURE 2 : ARCHITECTURE EN COUCHES («LAYERS») 25 FIGURE 3 : PATRON CLIENT SERVEUR 27 FIGURE 4 : PATRON ARCHITECTURE 3TIERS 28 FIGURE 5 : PATRON PIPES ET FILTRES 29 Mastère ASIG / Projet bibliographique

4 GLOSSAIRE ET SIGLES UTILES MVC Model View Controller PAC Présentation Abstraction Contrôle SI Système d Information SIG Système d Information Géographique SEI Software Engineering Institute QAW Quality Attribute Workshop ATAM Architecture Trade-off Analysis Method POSA Pattern-Oriented Software Architecture BDD Base de données O.O. Orienté Objet OS Operating System Mastère ASIG / Projet bibliographique

5 REMERCIEMENTS Remerciement à Mr Olivier Boudeville du département SINETICS de chez EDF recherche et développement pour ses conseils concernant les choix bibliographiques autour de ce sujet. Egalement remerciement au centre de documentation de l ENSG, plus particulièrement à Mme Anne-Marie Ancel pour m avoir aidé à trouver les ouvrages dont j avais besoin. Mastère ASIG / Projet bibliographique

6 RESUME Il est question dans ce rapport des patrons d architecture utilisés pour les systèmes d information en général et pour les systèmes d information géographique en particulier. Nous verrons les problématiques associées à l étude des patrons d architecture. Ceci nous amènera à considérer l utilité de ces patrons pour choisir une architecture appropriée pour son système d information. Cela se traduit notamment par l étude des qualités associées aux patrons d architecture. Ensuite nous aborderons les différentes classifications des patrons d architecture. Pour finir, nous décrirons les patrons d architecture les plus utilisés dans le domaine du SIG. Mots-clés : patrons d architecture, système d information, système d information géographique, qualité. Mastère ASIG / Projet bibliographique

7 INTRODUCTION Ce rapport vient concrétiser un projet bibliographique dans le cadre du mastère architecture des systèmes d information géographique. Nous avons choisi de présenter une étude des patrons d architecture des systèmes d information (SI) en général et ceux des SIG en particulier. Cette étude devrait être approfondie. Ce sujet bien qu étudié plus fréquemment dans les filières informatiques trouve également une place dans le monde des SIG. En effet, n oublions pas que les systèmes d information géographique (SIG) sont un type particulier de SI, permettant de manipuler, gérer, mettre à jour de l information géographique. Mastère ASIG / Projet bibliographique

8 1 ARCHITECTURE D UN SYSTEME D INFORMATION Nous nous intéressons ici à l architecture logicielle des systèmes d information. L architecture logicielle décrit de manière symbolique les composants du SI et les relations entre ces différents composants. Avant de parler de patrons d architecture, il est intéressant de situer à quel niveau d abstraction du système d information ces derniers se situent. En effet, il existe plusieurs niveaux d abstraction dans un SI que nous décrirons brièvement : le niveau processus, le niveau fonctionnel, le niveau applicatif et enfin le niveau technique. Figure 1 : Les quatre niveaux d abstraction des SI SOURCE : Mastère ASIG / Projet bibliographique

9 1.1 NIVEAU PROCESSUS / ARCHITECTURE METIER L architecture métier décrit la distribution (cartographie) des processus métiers de l entreprise pris en charge par le SI sur des composants de type applications ainsi que les interactions entre les différents composants. Il existe plusieurs standards de modélisations pour décrire ces processus métiers dont le Business Process Reengineering (BPR) et le Business Process Management (BPM) entre autre. Nous ne verrons pas ces différentes modélisations ici, car ce n est pas le sujet de cette étude. Un architecte métier doit connaître les processus métiers de l entreprise, ses aspects organisationnels et stratégiques, connaître les besoins fonctionnels et non fonctionnels des acteurs de l entreprise, vis-à-vis du SI, et enfin, maîtriser les règles d urbanisme des SI. Voici un exemple de processus pour une banque : gestion des comptes par Internet. 1.2 NIVEAU FONCTIONNEL / ARCHITECTURE FONCTIONNELLE L architecture fonctionnelle décrit les blocs fonctionnels et leurs points d échanges. Les processus sont projetés sur des fonctions qui aident à réaliser ces processus. L exemple précédent peut se traduire en terme de fonctionnalités: gérer les comptes, gérer les sessions, gérer les périphériques d impression 1.3 NIVEAU APPLICATIF / ARCHITECTURE APPLICATIVE L architecture applicative permet de réaliser l architecture fonctionnelle. Les fonctions sont projetées sur des applications. A ce niveau d abstraction on peut envisager d utiliser l outil de modélisation UML. 1.4 NIVEAU TECHNIQUE / ARCHITECTURE TECHNIQUE C est le niveau d abstraction qui nous intéresse car c est ici qu on évoque les patrons d architecture. L architecture technique permet de réaliser l architecture applicative. L objectif est de décrire les types de systèmes à mettre en place et comment réaliser l intégration de ces systèmes. Mastère ASIG / Projet bibliographique

10 Un architecte technique doit connaître pour choisir une architecture : Les besoins fonctionnels définis par l architecture métier Les besoins non fonctionnels du SI (ou qualités recherchées) Les techniques de développement et maîtriser les techniques d intégration d applications. Mastère ASIG / Projet bibliographique

11 2 QU EST-CE QU UN PATRON D ARCHITECTURE? 2.1 DIFFERENCIER LE PATRON D ARCHITECTURE DU PATRON DE CONCEPTION L étude des patrons d architecture est une discipline qui est encore en évolution. La distinction entre la notion de patron d architecture (architectural pattern) et de patron de conception (design pattern) est parfois difficile à établir. Ceci d autant plus que certains patrons d architecture peuvent être déclinés en patrons de conception. Dans [3], une définition distincte pour chacune de ces notions est proposée : «An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them.» «A design pattern provides a scheme for refining the subsystems or components of a software system, or the relationships between them. It describes a commonly-recurring structure of communicating components that solves a general design problem within a particular context.» Deux autres définitions tirées de la «software engineering radio» vont également dans ce sens: «Architectural Patterns are concerned with strategic aspects of a system. They have a global impact on the whole implementation of a system.» «Design Patterns are concerned with technical aspects of an implementation. They have a local impact on specific parts of the implementation of a system.» «Architectural Patterns are on a higher level of abstraction than Design Patterns.» Ce que nous pouvons dégager de ces définitions c est que les patrons de conception (design patterns) sont plus proches de préoccupations locales liées à l implémentation du SI (codes) que ne le sont les patrons d architecture (architectural pattern). Les patrons de conception sont présentés comme indépendants d un langage de programmation ou de modèles de programmation. Les patrons d architecture se situent à un niveau plus élevé d abstraction. Mastère ASIG / Projet bibliographique

12 Les patrons d architecture décrivent l organisation du SI en donnant les sous-systèmes qui le composent, ainsi que les relations entre ces sous-systèmes, leurs responsabilités, et inclus un ensemble de règles et de modèles à suivre pour organiser les relations entre elles. 2.2 L UTILITE DES PATRONS D ARCHITECTURE L idée pour un patron d architecture est de décrire une architecture de système qui a déjà fait ses preuves pour résoudre un problème dans un contexte particulier. Pour décrire ce patron il est nécessaire d utiliser un vocabulaire de base commun, qui puisse être compris de manière non ambiguë par les architectes des SI, il en va de même pour sa représentation graphique. Cependant, comme nous l avons évoqué plus haut, l étude des patrons d architecture est encore récente et aucune formalisation officielle n a été fournie aux architectes. A l heure actuelle, il existe parfois plusieurs termes pour désigner un même patron d architecture et, plus gênant, il n existe pas encore de vocabulaire et de représentation officiels uniques pour les patrons malgré des efforts d unification réalisés depuis les années Nous reparlerons des difficultés liées à la description des patrons d architecture dans la section suivante. Le but d un patron d architecture est de permettre aux architectes expérimentés de réutiliser des architectures connues, qui ont été validées par l expérience. En effet, avec la complexité croissante des systèmes et le besoin de les faire évoluer, les architectes des systèmes d information ont de manière informelle commencé à structurer leurs systèmes et à utiliser des termes génériques pour désigner des architectures déjà largement utilisées. Avec un vocabulaire unifié et des représentations graphiques communes, les architectes peuvent partager leurs idées concernant leur architecture SI et sur celles d autres architectes, qui auront pris la peine de documenter leur système. Le but étant pour les architectes expérimentés et les architectes en formation de se comprendre. Les patrons ont donc un rôle important dans la construction de nouveaux systèmes d information, ils permettent de ne pas tout réinventer mais au contraire de s inspirer de Mastère ASIG / Projet bibliographique

13 modèles d architectures devenus courants. Il reste alors au soin de l architecte qui a choisi un patron d architecture de l adapter à son problème particulier en suivant les grands principes du patron. 2.3 LES DIFFICULTES LIEES A LA DESCRIPTION DES PATRONS D ARCHITECTURE La jungle des descriptions des patrons d architecture demande au novice un apprentissage du vocabulaire qui n est pas standardisé. De plus, il existe quelques méthodes qui proposent une validation du choix du patron d architecture, mais elles ne sont pas officielles et restent marginales face aux choix d architecture par des ingénieurs architectes expérimentés. La difficulté majeure reste donc que plusieurs «écoles» subsistent et proposent leur classification des patrons d architectures suivant différentes philosophies et avec différentes représentations : Pour certains ils peuvent être regroupés en styles architecturaux et définis par une approche composants/connecteurs ; Pour d autres les patrons d architecture doivent être définis comme un triplet problème/contexte/solution ; Certains préfèrent les associer à des «vues» ; Et récemment des essais pour les classer suivant leurs qualités ont été menés. Nous allons maintenant voir les classifications évoquées ci-dessus ainsi que les définitions des patrons d architecture classés suivant les différentes écoles. Nous nous intéresserons plus particulièrement à la classification des patrons d architectures par les qualités recherchées dans les SI car ces qualités détermineront la pertinence du choix du patron par rapport à un autre. Mastère ASIG / Projet bibliographique

14 Nous remarquerons qu il existe d autres classifications des patrons d architecture, mais nous ne les donnerons pas toutes. Mastère ASIG / Projet bibliographique

15 3 LES DIFFERENTES CLASSIFICATIONS DES PATRONS D ARCHITECTURE Nous avons choisi de présenter quatre classifications de patrons d architecture. Et nous verrons également quels patrons d architecture s y inscrivent. Il existe de nombreuses classifications des patrons d architecture car il n en existe pas d officielle. Nous en avons quatre pour avoir un aperçu de la complexité de ce sujet en gardant à l esprit qu il faudrait plus de temps pour cerner les tenants et aboutissants des patrons d architecture. Cependant, rappelons que tous les patrons d architecture existants ne sont pas recensés dans ce rapport. De plus, nous parlons ici de patrons d architecture «purs», alors que dans les systèmes d information il est possible que plusieurs patrons coexistent. Il faudrait alors étudier les différentes combinaisons de patrons réalisables et voir si nous pouvons les classer à leur tour, si la classification s y prête... Les deux premières classifications sont plus orientées sur les solutions proposées. Les deux suivantes tentent d accorder leur attention à la solution mais également aux problèmes auxquels doivent répondre les patrons d architecture. Chaque classification à des avantages et des inconvénients. Certaines sont plus répandues et donnent une idée organisée des patrons existants, d autres sont nouvelles mais tentent d introduire une validation dans le choix du SI, d autres encore se placent d un point de vue particulier. Mastère ASIG / Projet bibliographique

16 3.1 LES STYLES ARCHITECTURAUX Cette classification est assez répandue. Elle fait appel à UML pour représenter ses patrons. Elle définit les patrons d architecture en terme de composants et de connecteurs, ces derniers reliant les composants entre eux. Voici une liste non exhaustive de styles architecturaux: Style flux de données : avec les patrons «pipes & filtres» et «batch séquentiel». Style requête-réponse ou aussi appelé «call and return» avec les patrons «décomposition fonctionnelle» ou «décomposition en programme principal et subroutines», «architecture O.O.» et «architecture en couches» dont le «Client Serveur». Style composants indépendants avec les «systèmes évènementiels» et «processus communicants». Style centrés sur les données : «hypertext system», «blackboards». Un style architectural définit un vocabulaire de composants, de types de connecteurs et met en place des contraintes sur la manière dont ils doivent être assemblés. Pour beaucoup de styles il peut exister un ou plusieurs «modèles sémantiques» qui spécifient comment déterminer les propriétés d ensemble du système à partir des propriétés de ses parties. 3.2 LA CLASSIFICATION PAR «VUES» Définitions Une «vue architecturale» est une représentation qui comprend des éléments du système et les relations entre les divers éléments. Nous verrons quels peuvent être ses éléments. Le «point de vue» permet de communiquer les vues sans ambiguïté grâce à la description des types d éléments et de relations, ainsi qu à des informations sur les données. Mastère ASIG / Projet bibliographique

17 Une «vue» peut être désignée comme une instance d un «point de vue» pour un système particulier, car les éléments et les relations contenues dans la «vue» sont des instances de types correspondants d éléments et de relations contenus dans le «point de vue». Une «vue» porte ses préoccupations sur un aspect précis du système que ce soit les interfaces, les flux de données, les adaptations possibles pour le système Un patron d architecture définit également des éléments et des relations qui sont organisés pour résoudre un problème particulier sous une certaine perspective. En fait, un patron d architecture peut être considéré comme une spécialisation d un «point de vue» dans la mesure où il propose une sémantique spécifique pour les types d éléments et les relations qui le composent, tout en leur posant des contraintes. Voyons comment les patrons d architecture peuvent s associer aux «vues». Là encore il existe plusieurs approches. Nous choisissons d exposer l une de ces approches. Ici, chaque patron d architecture est associé à une vue primaire. Mais il existe des cas où un même patron peut être utilisé dans une seconde ou troisième vue. Par exemple quand deux patrons d architecture issus de différentes vues sont combinés dans un même système, ces patrons peuvent être aperçus dans chaque vue. Les vues que nous reprenons contiennent deux types d éléments : les composants et les connecteurs entre les différents composants, comme pour les styles architecturaux. Mais dans d autres vues, d autres types d éléments peuvent être introduits. Les premières vues que nous présentons sont proches des styles architecturaux, mais des différences surviennent assez vite comme nous pouvons le constater Les différentes «vues» La «vue en couche» La «vue en couches» s intéresse à la façon dont un système complexe peut être décomposé en parties ou couches qui interagissent entre elles. On compte dans les patterns architecturaux de cette vue : le patron des «systèmes en couches», et celui des «couches unidirectionnelles». Mastère ASIG / Projet bibliographique

18 Les préoccupations de cette vue sont de savoir comment les différentes parties (couches) peuvent rester indépendantes tout en travaillant ensemble et bien sûr comment les qualités sont-elles supportées dans cette vue La «vue des flux de données» La «vue des flux de données» traite de comment un flux de données est successivement traité et transformé par ses composants. Les patrons associés sont les «pipes et filtres» ainsi que le «batch séquentiel». Les préoccupations de cette vue sont les suivantes : quels sont les éléments qui réalisent les transformations, quels sont les éléments qui portent les flux de données, comment ces éléments sont connectés, comment les attributs de qualités sont-ils supportés? Les éléments qui réalisent les transformations sont des composants indépendants qui ont des données en entrée et en sortie. Les éléments qui portent les flux de données sont les connecteurs, qui ont eux aussi des données en entrée et en sortie La «vue centrée sur les données» La «vue centrée sur les données» est appropriée quand l intérêt se porte sur comment une base de données centrale est accessible par différents composants. Les patrons concernés sont les «repositories» et «blackboards». Les préoccupations de cette vue sont comment les données sont partagées, accessibles et mises à jour. Comment les données sont distribuées, si le stockage est actif ou passif, les éléments qui accèdent aux données communiquent-ils entre eux directement ou par l intermédiaire des données partagées? La base de données et les éléments qui y accèdent sont des composants. La base de données est indépendante des composants et les composants entre eux sont généralement indépendants. Il peut y avoir plusieurs bases de données La «vue adaptation» La «vue adaptation» traite de comment s adapte un système pendant son évolution avec les patrons «microkernel», «reflection» et «interceptor». Dans la vue adaptation le système est perçu comme un noyau invariable et une partie modifiable/adaptable qui peut changer au cours du temps suivant les différentes versions du système. Mastère ASIG / Projet bibliographique

19 La «vue interface utilisateur» La «vue interface utilisateur» montre la structure des composants qui offrent une interface à l usager. Les patrons de cette vue sont le «Model View Controller» ou MVC, «présentation/abstraction/contrôle» et «C2» La «vue interaction entre composants» La «vue interaction entre composants» s oriente sur comment les composants individuels échangent des messages mais conservent leur autonomie. Les patrons évoqués sont «l invocation explicite» aussi appelée «processus communicants», «l invocation implicite» aussi appelée «système évènementiel», le «Client Serveur», le «PEER-TO- PEER». Il existe encore d autres vues moins utilisées. Nous ne les évoquerons donc pas ici. 3.3 LE TRIPLET PROBLEME/CONTEXTE/SOLUTION Un exemple de classification suivant 4 catégories de problèmes Dans cette classification, la description d un patron d architecture est présentée comme un couple problème/solution qui dépend d un contexte. Le patron doit répondre à une attente, autrement dit à un problème particulier. Il est important de bien identifier les problèmes pour en dégager les besoins et d y apporter les solutions adaptées. Au fur et à mesure, l analyse doit devenir de plus en plus fine pour aboutir à une solution technique. De part l attachement à l analyse des problèmes et de leur solution, le patron choisi sera «validé» pour répondre au problème. Pour classer les patrons d architecture suivant cette philosophie problème/contexte/solution, nous devons définir des catégories de problèmes, ces quatre catégories sont reprises de [3] : Structurer le système : comment décomposer le système en parties qui vont coopérer? On compte pour résoudre ce problème les patrons d architecture en «couches», les «pipes et filtres» et le patron «blackboard». Mastère ASIG / Projet bibliographique

20 Le patron en «couches» aide à structurer les applications qui peuvent être décomposées en groupes de sous tâches dans lesquels chaque groupe de sous tâches fait parti d un niveau d abstraction particulier. Un exemple du patron en couches bien connu est celui des protocoles réseaux avec ses sept couches (physique, liaison, réseau, transport, session, présentation et application) Le patron «pipes & filtres» offre une structure pour les systèmes qui traitent des flux de données. Chaque étape du traitement du flux de données est encapsulée dans un filtre. Le patron «blackboard» est utilisé lorsqu aucune stratégie de solution déterminée n est connue. Dans le «blackboard» plusieurs sous systèmes spécialisés assemblent leurs connaissances pour construire une solution partielle ou approximée. Ce patron est notamment utilisé dans la reconnaissance d image. Systèmes distribués : pour les systèmes qui ont des composants placés dans différents processus ou dans plusieurs sous-systèmes et composants. Les patrons relatifs à cette catégorie sont les patrons «broker», «pipes et filtres» et «microkernel», client serveur, reactor. Le patron «microkernel» est intéressant pour des systèmes qui requièrent des évolutions, des changements. Un cœur fonctionnel minimal est séparé de fonctionnalités supplémentaires et de parties spécifiques du système. Le patron «microkernel» a été développé pour concevoir de petits OS et leurs extensions avec de nouveaux services. Le patron «broker» peut être utilisé pour les structures distribuées avec des composants découplés qui interagissent par «remote service invocations». Un composant «broker» est responsable de la coordination de la communication, de la transmission des erreurs et des exceptions Systèmes interactifs : pour les systèmes qui demandent une interaction avec l humain en désirant conserver le cœur fonctionnel indépendant de l interface utilisateur. Le but pour ses systèmes est de permettre de changer l interface sans affecter les applications du système. On utilise les patrons «Model View Controller» MVC et «Présentation Abstraction Control» PAC pour ses systèmes. Mastère ASIG / Projet bibliographique

21 Le patron «MVC» partage une application en trois composants. Le composant «model» contient les fonctionnalités centrales ainsi que les données. Le composant «view» donne les informations à l utilisateur et le composant «controller» se charge de contrôler les entrées données par l utilisateur. L ensemble «view» et «controller» représente l interface. Ces deux parties doivent garder une cohérence lorsque l interface est modifiée. Le patron «PAC» défini une architecture sous la forme d une hiérarchie d agents coopérants. Chaque agent est en charge d un aspect d une fonctionnalité et est composé de trois composants : la présentation, l abstraction et le contrôle. Cette décomposition sépare les aspects de l interaction humain-ordinateur de l agent de son cœur fonctionnel et sa communication avec d autres agents. Les librairies Smalltalk utilisent ce patron d architecture. Systèmes adaptables : pour les systèmes qui doivent prévoir des évolutions, adaptations de leurs applications on parlera des patrons «microkernel» et «reflection». Le patron «reflection» offre un mécanisme pour faire changer la structure et le comportement d une architecture logicielle dynamiquement. Il supporte des modifications d aspects fondamentaux, comme les mécanismes de fonction d appel. Dans ce patron une application est divisée en deux parties. Une partie fournit des informations concernant les propriétés du système sélectionné et rend le logiciel conscient de lui-même (méta niveau). L autre partie comprend la logique de l application (niveau de base). Cette classification est incomplète car si l on rajoute de nouveaux patrons d architecture il faudra sans doute rajouter des catégories de problèmes La description d un patron d architecture suivant le triplet problème/contexte/solution Nous allons ici décrire de manière simplifiée le patron d architecture «layers» ou en «couches». Contexte : On a un système complexe qui doit être décomposé. Mastère ASIG / Projet bibliographique

22 Problème : Nous avons un système qui est caractérisé par des applications, fonctionnalités de hauts et bas niveaux. Les applications de haut niveau s appuient sur celles de bas niveau. Nous voulons que des changements dans une couche n aient pas de répercussion sur le système entier. Les parties/couches du système doivent pouvoir être remplacées sans affecter le système entier. Les composants complexes doivent être re-décomposés. Les responsabilités similaires doivent être groupées pour aider à la compréhension du système et sa maintenabilité Solution : Il faut structurer le système en un nombre approprié de couches et commencer par la couche de plus bas niveau. Ce sera la couche 1, la base du système. Puis on continue avec la couche de niveau supérieur jusqu à la couche de niveau supérieur N. Les services rendus par la couche J sont composés en partie des services de la couche J-1, c'est-à-dire que les services de la couche J dépendent de la couche J-1. Nous remarquerons que le problème a été simplifié par mes soins et que la solution ne dit pas comment faire les couches, ni si telle ou telle couche sera complexe 3.4 LA CLASSIFICATION PAR LES QUALITES DES SYSTEMES Cette classification prend appui sur le modèle du couple «problème/solution» évoqué précédemment en ajoutant une notion de qualités recherchées. Le problème et la solution s expriment par des besoins fonctionnels et non fonctionnels. Un besoin fonctionnel doit répondre à une fonctionnalité exprimée durant la phase de l analyse métier, tandis qu un besoin non fonctionnel correspond à des qualités que l on peut associer soit au système en général ou plus précisément à chacune des fonctionnalités. Parmi ces qualités on compte : La robustesse : le système donne-t-il des résultats similaires si l on modifie un peu ses paramètres? La performance : le système doit répondre à des critères de performance (temps de réponse, ressources utilisées). On peut parler de performance en terme de temps ou de place utilisée. La flexibilité : le système a-t-il la possibilité d évoluer facilement, les efforts pour le modifier devront-ils être importants? La portabilité : le système peut-il être intégré dans un autre environnement facilement? Mastère ASIG / Projet bibliographique

23 La sécurité : quel niveau de sécurité doit être mis en place pour protéger les données du SI? On remarquera que ce besoin peut également être assimilé à un besoin fonctionnel. L'interopérabilité : le SI a-t-il la capacité à communiquer et à utiliser les ressources de systèmes extérieurs? La compatibilité exprime la possibilité, pour un SI, de fonctionner correctement dans un environnement ancien (compatibilité descendante) ou plus récent (compatibilité ascendante). La validité exprime la conformité des fonctionnalités du SI avec celles décrites dans le cahier des charges. La vérifiabilité exprime la simplicité de vérification de la validité. L'intégrité exprime la faculté du SI à protéger ses fonctionnalités et ses données d'accès non autorisés. La fiabilité : le SI est-il en mesure de gérer ses erreurs de fonctionnement pendant l exécution? La maintenabilité exprime la simplicité de correction et de modification du SI. La réutilisabilité exprime la capacité de concevoir le SI avec des composants existants tout en permettant la réutilisation simple de ses propres composants pour le développement d'autres SI. L'efficacité exprime la capacité du SI à exploiter au mieux ses ressources. La transparence exprime la capacité pour un SI de masquer à l'utilisateur (humain ou machine) les détails inutiles à l'utilisation de ses fonctionnalités. La simplicité d'utilisation ou aussi l ergonomie décrit la facilité d'apprentissage et d'utilisation du SI par les usagers. On peut encore trouver d autres qualités, mais nous ne les décrirons pas toutes ici. Rajoutons que le système doit bien évidemment remplir les fonctionnalités métiers. Pour évaluer l importance de ces qualités pour le choix du SI, des buts peuvent être assignés pour chaque qualité et fonctionnalité désirée avec une priorité : élevée, moyenne ou faible. Cela permet de guider le choix d une solution suivant les besoins non fonctionnels. Les priorités sont déterminées par des experts au moyen des votes ou des consensus. «Un patron décrit à la fois un problème qui se produit très fréquemment dans votre environnement et l architecture de la solution à ce problème de telle façon que vous Mastère ASIG / Projet bibliographique

24 puissiez utiliser cette solution des milliers de fois sans jamais l adapter deux fois de la même manière» C. Alexander La validation d un patron d architecture consistera alors à prouver que : La solution préserve le comportement décrit et désiré pour répondre à la partie problème. La solution doit respecter les qualités désirées spécifiées au préalable. Ainsi les architectures en couches permettent la réutilisabilité des «layers» pour d autres systèmes d information et également de pouvoir changer une couche sans devoir changer le reste du SI. Donc la maintenabilité, la réutilisabilité et la flexibilité comptent parmi les qualités de ce patron d architecture. Par contre la performance est amoindrie car le système doit communiquer entre les couches, vérifier des messages, retransmettre les éventuelles erreurs. Cette classification est à faire. Mastère ASIG / Projet bibliographique

25 4 LES PATRONS D ARCHITECTURE FREQUEMMENT UTILISES POUR LES SIG Dans cette partie nous allons décrire les patrons d architecture les plus utilisés dans le domaine des SIG ainsi que pour des exemples de systèmes d information bien connus. 4.1 LES PATRONS D ARCHITECTURE DANS LES SIG «Architecture en couches» Ce type de système est organisé de manière hiérarchique, chaque couche effectue un service pour la couche de dessus et sert de client pour la couche de dessous. Dans certains systèmes les couches intérieures sont cachées de toutes les couches sauf des couches adjacentes. Les connecteurs sont les protocoles qui déterminent la façon dont les couches interagissent. Exemple : Protocoles de communication en couches pour des systèmes de base de données et OS. Figure 2 : Architecture en couches («layers») Mastère ASIG / Projet bibliographique

26 Avantages de ce patron d architecture: Possibilité de partitionner un problème en une séquence incrémentale de niveau d abstraction (couche). L amélioration : chaque couche interagit avec deux autres couches, le changement d une fonction d une couche affectera au maximum deux couches (comme pipes). La réutilisabilité : différentes implémentations d une même couche pourvu qu elles supportent la même interface aux couches adjacentes. Cela mène à la possibilité de définir des couches d interfaces standards. OSI ISO modèle et X Window System Protocols. Inconvénients : Difficultés à structurer le problème en couches d abstraction. Et même si on peut structurer logiquement en couches pour des raisons de performance on peut être obligé de rapprocher les couches. Difficultés de trouver les bons niveaux d abstraction en particulier pour les modèles standardisés. Difficulté à définir les protocoles de communication en OSI ISO parce que de nombreux protocoles font le pont entre plusieurs couches. Exemple de l architecture Client Serveur Cette architecture a été évoquée dans la classification par «vues» («vue interaction entre composants») mais aussi dans la classification par style architectural comme un exemple de patrons pour les «systèmes en couches». Cette architecture est classiquement utilisée dans les SIG pour permettre à plusieurs utilisateurs : les clients, d accéder à une base de données (BDD) commune. Les accès à la BDD sont gérés par le serveur. Mastère ASIG / Projet bibliographique

27 Figure 3 : Patron client serveur Cette architecture est utilisée quand deux types de composants différents ont besoin de communiquer. Ces composants sont indépendants les uns des autres. Les composants de ce patron d architecture sont le client et le serveur. La base de données dans cette architecture deux couches ou 2-Tiers est incluse dans le serveur. Le client initialise la communication pour demander un service au serveur. Le serveur est à l écoute du/des client(s) et doit être capable de répondre à plusieurs clients. Il existe également des architectures 3-Tiers. Cette architecture est similaire à l architecture «client serveur» si ce n est que le client demande à un serveur d application une requête, le serveur d application joue alors le rôle de client pour le serveur de base de données. Mastère ASIG / Projet bibliographique

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Conduite de projets et architecture logicielle

Conduite de projets et architecture logicielle s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 /

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

GL - 2 2.4 Architecture logicielle

GL - 2 2.4 Architecture logicielle GL - 2 2.4 Architecture logicielle Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec Ph. Lalanda Activités logicielles Analyse : récolte des exigences Comment commencer la conception? Analyse

Plus en détail

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations OpenPaaS Le réseau social d entreprise Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations Propriétés du Document Source du Document Titre du Document FSN OpenPaaS

Plus en détail

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech INF380-2013! Sylvie.Vignes@telecomParistech.fr Département INFRES, groupe S3 Cadre du processus 2! q Basé sur un processus incrémental:

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

En informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale d'un logiciel, basée sur de nombreux

En informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale d'un logiciel, basée sur de nombreux Introduction En informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale d'un logiciel, basée sur de nombreux indicateurs 1. La complétude des fonctionnalités,

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Modélisation des Systèmes d Information Jean-Yves Antoine

Modélisation des Systèmes d Information Jean-Yves Antoine Modélisation des Systèmes d Information Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine Processus de développement logiciel Jean-Yves Antoine U. Bretagne Sud - UFR SSI - IUP Vannes année 2001-2002

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1 Génie logiciel Concepts fondamentaux Bruno MERMET, Université du Havre 1 Nécessité du Génie Logiciel Bruno MERMET, Université du Havre 2 Développement d un logiciel Caractéristiques souhaitées : Adéquation

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

LOG4430 : architecture logicielle et conception avancée

LOG4430 : architecture logicielle et conception avancée LOG4430 : architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Architectures Partie 1/2 Tiré du cours de Julie Vachon Département de génie informatique et de génie logiciel École Polytechnique

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

IFT2251 : Génie logiciel

IFT2251 : Génie logiciel Julie Vachon, Hiver 2006 IFT2251 : Génie logiciel Chapitre 5. Conception Section 3. Principes et qualités Conception : principes et qualités 1. L activité de conception 2. Principes de conception 3. Concevoir

Plus en détail

GÉNIE LOGICIEL (SOFTWARE ENGINEERING)

GÉNIE LOGICIEL (SOFTWARE ENGINEERING) GÉNIE LOGICIEL (SOFTWARE ENGINEERING) 5ÈME PARTIE UML (UNIFIED MODELING LANGUAGE) Faculté des Sciences et Techniques http://labh-curien.univ-st-etienne.fr/~fj/gl Francois.Jacquenet@univ-st-etienne.fr Plan

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013»

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» I Objectifs Niveau fondamental : «on se fixe pour objectif la

Plus en détail

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC labsticc.univ-brest.fr/pages_perso/babau/ les Design Patterns Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux Design patterns Quelques Design

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Le Processus Unifié appliqué au projet MOOCS

Le Processus Unifié appliqué au projet MOOCS Le Processus Unifié appliqué au projet MOOCS Violaine Louvet GTN, 7 mai 2003, Orsay Le Processus Unifie applique au projet MOOCS p. 1 L objet Objet = entité regroupant des données (attributs) et des services

Plus en détail

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns?

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns? Noël NOVELLI ; Université de la Méditerranée ; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Design Patterns D où viennent les design patterns? D où viennent

Plus en détail

ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif

ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif Mohammed TADLAOUI 1, Azzedine CHIKH 2, Karim Bouamrane 1 1 Université d Oran, Algérie, 2 Université de King Saud, Royaume d'arabie

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

1. Introduction. 2. Diagramme des exigences

1. Introduction. 2. Diagramme des exigences 1. Introduction La complexité des systèmes techniques est telle que, sans outils de représentations abstraites et progressivement enrichies, les intervenants d un projet auraient de nombreuses difficultés

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Processus de développement UP

Processus de développement UP Chapitre 1 Processus de développement UP I. Pourquoi UP? II. Définition III. Activités et phases IV. Modèles mis en place 1. Pourquoi UP? Les notions de base acquises dans le module ACOO1, notamment la

Plus en détail

Exemple de développement d une application

Exemple de développement d une application Exemple de développement d une application Département Informatique TELECOM SudParis 1ère année Dépt INF 2009/2010 Table des matières Exemple de développement d une application Département Informatique,,

Plus en détail

Merise. Introduction

Merise. Introduction Merise Introduction MERISE:= Méthode d Etude et de Réalisation Informatique pour les Systèmes d Entreprise Méthode d Analyse et de Conception : Analyse: Etude du problème Etudier le système existant Comprendre

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Informatique Première et seconde années

Plus en détail

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation Un peu d'organisation Conception et Programmation par Objets HLIN406 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 Premières semaines Contrôle des connaissances Supports 2015 Sommaire

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Chacun est conscient qu il sera souvent nécessaire de mobiliser les notions abordées en première et, parfois, de les reprendre.

Chacun est conscient qu il sera souvent nécessaire de mobiliser les notions abordées en première et, parfois, de les reprendre. UE Atelier B Deux groupes de stagiaires ont suivi les exposés sur les séquences pédagogiques. Les échanges ont principalement porté sur les apports notionnels (quelles notions aborder), le bornage (jusqu

Plus en détail

Introduction aux Composants Logiciels

Introduction aux Composants Logiciels Introduction aux Composants Logiciels Christian Pérez LIP/INRIA Année 2010-11 Plan Introduction aux composants logiciels Pourquoi des composants logiciels Notions de composants logiciels Conclusion Survol

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

Le génie Logiciel (suite)

Le génie Logiciel (suite) Le génie Logiciel (suite) Lors du cours précédent, on a étudié différents cycles de vie, dont la cascade, ou la spirale. Analyse des besoins L analyse des besoins est une étape menant à l élaboration de

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Kébili Unité d Enseignement : Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

SYSTEMES D INFORMATION & CONCEPTION de BdD

SYSTEMES D INFORMATION & CONCEPTION de BdD SYSTEMES D INFORMATION & CONCEPTION de BdD PLAN CONCEPT DE SYSTEME D INFORMATION MODELISATION D UN SYSTEME D INFORMATION MODELISATION CONCEPTUELLE : les METHODES METHODE SYSTEMIQUE METHODE OBJET L3 Informatique

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Design patterns par la pratique

Design patterns par la pratique Alan SHALLOWAY James TROTT Design patterns par la pratique Groupe Eyrolles, 2002 ISBN : 2-212-11139 Table des matières Préface.................................................... XV SECTION I Introduction

Plus en détail

Architectures de communication. «Architecture protocolaire réseau» «protocolaire»

Architectures de communication. «Architecture protocolaire réseau» «protocolaire» Architectures de communication C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr «Architecture protocolaire réseau» Architecture

Plus en détail

Talend Technical Note

Talend Technical Note Mars 2011 Page 1 sur 5 Le MDM offre un hub central de contrôle et une vision unique des données maître de l'entreprise, quelles que soient les disparités entre les systèmes source. Il assure que les données

Plus en détail

PTSI PT ÉTUDE DES SYSTEMES

PTSI PT ÉTUDE DES SYSTEMES PTSI PT ÉTUDE DES SYSTEMES Table des matières 1 - PRESENTATION GENERALE... 1 1.1 - Définition d'un système... 1 1.2 - Exemples... 1 1.3 - Cycle de vie d'un système... 1 1.4 Langage de description SysML...

Plus en détail

Rapport de certification

Rapport de certification Rapport de certification Memory Arrays avec Memory Gateways Version 5.5.2 Préparé par : Le Centre de la sécurité des télécommunications à titre d organisme de certification dans le cadre du Schéma canadien

Plus en détail

Modélisation des processus métiers et standardisation

Modélisation des processus métiers et standardisation Modélisation des processus métiers et standardisation Octobre 2004 Table des matières Introduction... 3 Processus métier : un même mot, plusieurs domaines d application... 4 Les critères pour un standard

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Modélisation objet Le langage UML

Modélisation objet Le langage UML Modélisation objet Le langage UML Brahim HAMID La base de contrôle Robot Zone à explorer brahim.hamid@irit.fr brahim.hamid@univ-tlse2.fr http://mass-cara.univ-tlse2.fr/~brahimou/ens/uml 1 Les méthodes

Plus en détail

Mongi TRIKI Docteur en Informatique Université Paris Dauphine

Mongi TRIKI Docteur en Informatique Université Paris Dauphine Université Méditerranéenne Libre de Tunis Faculté Méditerranéenne Privée des Sciences Informatiques, Economiques et de Gestion de Tunis Département d Informatique LICENCE INFORMATIQUE Guide du Stagiaire

Plus en détail

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Notion de méthode de conception de SI Méthodes OO de conception Généralités sur les méthodes

Plus en détail

INDUSTRIALISATION ET RATIONALISATION

INDUSTRIALISATION ET RATIONALISATION INDUSTRIALISATION ET RATIONALISATION A. LA PROBLEMATIQUE La mission de toute production informatique est de délivrer le service attendu par les utilisateurs. Ce service se compose de résultats de traitements

Plus en détail

Cours Java : deuxième saison

Cours Java : deuxième saison Programmation Objet en Java Cours 9 Design Patterns 1 (C) 2005, Frédéric Peschanski 1 Cours Java : deuxième saison Cours 7 : Exceptions, tests unitaires et assertions Cours 8 : Design Patterns 1 Cours

Plus en détail

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr AADL un langage pour la modélisation et la génération d applications, thomas.vergnaud@enst.fr Les langages de description d architecture la conception des systèmes devient complexe difficulté de compréhension

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD2 Exercices Exercice 1 : Dressez la liste des 5 périphériques finaux, 6 périphériques intermédiaires et 3 formes de support réseau. Périphériques finaux (hôtes): ordinateur de bureau, ordinateur

Plus en détail

Institut Paul Hankar

Institut Paul Hankar BES WEBDESIGNER ACTIVITE En utilisant des outils informatiques, le web designer réalise des éléments graphiques fixes ou animés, en 2 ou 3 dimensions, en respectant le schéma de navigation du site et sa

Plus en détail

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES Aristote ----- Cloud Interopérabilité Retour d'expérience L A F O R C E D E L I N N O V A T I O N Résumé Les systèmes d'information logistique (SIL) sont des outils qui amènent des gains de productivité

Plus en détail

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE)

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE) 1. Introduction Chapitre 1 : Introduction aux Systèmes d Exploitation (SE). 1 système informatique est un ensemble constitué de matériels et de logiciels et qui assure le traitement des données.. Les pgms

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Software Design (Guide to the SWEBOK)

Software Design (Guide to the SWEBOK) Software Design (Guide to the SWEBOK) Slide 1 Guy Tremblay Dépt. d informatique UQAM MIG8500 Hiver 2002 Aperçu 1. Qu est-ce que le Software Design? 2. Comme le SD Knowledge Area du guide est-il organisé?

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Génie Logiciel - Patrons de conception (M3-105)

Génie Logiciel - Patrons de conception (M3-105) PhD, Equipe HuLTech, GREYC-CRNS UMR 6072 Vacataire Université de Caen Basse-Normandie, Campus 2 IUT de Caen, Antenne d Ifs, Département Informatique 6, boulevard du Maréchal Juin, 14050 Caen cedex Campus

Plus en détail

: scientifique. : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur

: scientifique. : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur : scientifique : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur Première et seconde s PROGRAMME DE SCIENCES INDUSTRIELLES DE

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Chapitre 6 Exercices corrigés et conseils méthodologiques Mots-clés Activité continue/finie Transition automatique Contexte statique Événements «after»

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

O RMATION. Ingénierie Système Management de Projet Évaluation de la Maturité

O RMATION. Ingénierie Système Management de Projet Évaluation de la Maturité PLANS F de O RMATION Ingénierie Système Management de Projet Évaluation de la Maturité O R G A N I S A T I O N ACTEURS CONCERNÉS Les concepteurs de systèmes doivent détecter, analyser les besoins des utilisateurs,

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

II.2 Développement des systèmes logiciels

II.2 Développement des systèmes logiciels II.1 Introduction Dans le domaine de réseaux électriques, on constate que l'application de la MOO (Modélisation orientée objets) à beaucoup d avantages vue que la structure physique d un réseau électrique

Plus en détail

RETRO-INGENIERIE DES BASES DE DONNEES

RETRO-INGENIERIE DES BASES DE DONNEES RETRO-INGENIERIE DES BASES DE DONNEES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

Intégration d'applications d'entreprise (INTA)

Intégration d'applications d'entreprise (INTA) Master 2 SITW - Recherche Intégration d'applications d'entreprise (INTA) Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A Département TLSI Faculté des NTIC Université

Plus en détail