• Aide
  • Eurêkoi Eurêkoi

Livre

Architectures logicielles : principes, techniques et outils

Résumé

Présentation et principes des architectures logicielles et de leur contribution dans les systèmes complexes et distribués. Leurs principales caractéristiques résident dans leur pouvoir de gérer les abstractions et les niveaux d'expressivité d'un système, et dans leur capacité à prendre en compte la modélisation de sa structure et de son comportement.


  • Éditeur(s)
  • Date
    • DL 2014
  • Notes
    • DSI, chefs de projets, développeurs et utilisateurs d'architectures logicielles, enseignants d'écoles d'ingénieurs et d'universités
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (480 p.) : ill. ; 24 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-7462-4517-4
  • Indice
    • 681.2 Programmation (généralités)
  • Quatrième de couverture
    • Informatique et Systèmes d'Information

      Depuis vingt ans, les architectures logicielles apportent une réelle contribution dans le développement des systèmes complexes et distribués. 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 sa structure et de son comportement.

      Cet ouvrage présente les paradigmes d'architectures logicielles à base d'objets, de composants, d'agents, de services et de modèles. Il traite également des différentes techniques et méthodes architecturales, de l'analyse des qualités architecturales, des modèles de représentation de patrons et des styles architecturaux à travers leur formalisation et leur validation. Enfin, il détaille la démarche d'ingénierie dans laquelle ces éléments cohérents et autonomes peuvent être gérés.

      Architectures logicielles s'adresse aux DSI, chefs de projets, développeurs et utilisateurs d'architectures logicielles ainsi qu'aux enseignants d'écoles d'ingénieurs et d'universités.


  • Tables des matières
      • Architectures logicielles

      • Principes, techniques et outils

      • Mourad Chabane Oussalah

      • Hermes Sciences

      • Lavoisier

      • Avant-propos15
      • Mourad Chabane Oussalah
      • Chapitre 1. Paradigmes objet, composant, agent et service dans les architectures logicielles19
      • Abdelkrim Amirat, Anthony Hock-Koon et Mourad Chabane Oussalah
      • 1.1. Introduction19
      • 1.2. Historique20
      • 1.2.1. Paradigme objet21
      • 1.2.2. Paradigme composant22
      • 1.2.3. Paradigme agent22
      • 1.2.4. Paradigme service23
      • 1.3. Architecture logicielle25
      • 1.3.1. Architecture logicielle à base d'objets25
      • 1.3.2. Architecture logicielle à base de composants27
      • 1.3.3. Architecture logicielle à base d'agents28
      • 1.3.4. Architecture logicielle orientée services (AOS)30
      • 1.4. Les deux dimensions du cadre conceptuel de comparaison : quantitative et qualitative32
      • 1.4.1. Différences conceptuelles33
      • 1.4.2. Dimension quantitative42
      • 1.4.3. Dimension qualitative48
      • 1.5. Approches d'intégration de paradigmes de développement58
      • 1.6. Synthèse et discussion60
      • 1.7. Conclusion62
      • 1.8. Bibliographie63
      • Chapitre 2. Architectures logicielles : contraintes d'architecture69
      • Chouki Tibermacine
      • 2.1. Introduction70
      • 2.2. Etat de l'art72
      • 2.2.1. Expression de contraintes d'architecture en phase de conception72
      • 2.2.2. Expression de contraintes d'architecture en phase d'implémentation80
      • 2.3. Contraintes d'architecture sur des applications à objets87
      • 2.3.1. Contraintes d'architecture en phase de conception87
      • 2.3.2. Contraintes d'architecture en phase d'implémentation91
      • 2.4. Contraintes d'architecture sur des applications à composants97
      • 2.4.1. Contraintes d'architecture en phase de conception97
      • 2.4.2. Contraintes d'architecture en phase d'implémentation103
      • 2.5. Contraintes d'architecture sur des applications à services107
      • 2.6. Conclusion112
      • 2.7. Bibliographie113
      • Chapitre 3. Architectures logicielles et variabilité multiple119
      • Mathieu Acher, Philippe Collet et Philippe Lahire
      • 3.1. Introduction119
      • 3.2. Variabilité : fondements et principes123
      • 3.2.1. Variabilité et lignes de produits123
      • 3.2.2. Feature models125
      • 3.3. Cadre d'études et travaux connexes127
      • 3.3.1. De la multiplicité de la variabilité127
      • 3.3.2. Extraction et évolution de la variabilité architecturale128
      • 3.4. Architecture de composants pour la vidéosurveillance130
      • 3.4.1. Etude de cas130
      • 3.4.2. Prise en compte de la variabilité multiple130
      • 3.4.3. Résultats134
      • 3.5. Architecture orientée services pour les workflows scientifiques136
      • 3.5.1. Etude de cas136
      • 3.5.2. Prise en compte de la variabilité multiple137
      • 3.5.3. Résultats140
      • 3.6. Rétro-ingénierie d'architecture à plugins141
      • 3.6.1. Etude de cas141
      • 3.6.2. Prise en compte de la variabilité multiple143
      • 3.6.3. Résultats146
      • 3.7. Bilan147
      • 3.7.1. De la nécessité d'un outillage147
      • 3.7.2. Synthèse des études de cas149
      • 3.8. Conclusion150
      • 3.9. Bibliographie151
      • Chapitre 4. Les architectures de référence159
      • Elisa Yumi Nakagawa, Flavio Oquendo et José Carlos Maldonado
      • 4.1. Introduction159
      • 4.2. Définition de l'architecture de référence160
      • 4.2.1. Architecture de référence et modèle de référence161
      • 4.2.2. Architecture de référence et architecture de ligne de produits162
      • 4.3. Un modèle d'architecture de référence163
      • 4.4. Ingénierie d'architecture de référence167
      • 4.4.1. Investigation des sources d'informations168
      • 4.4.2. Etablissement d'exigences architecturales170
      • 4.4.3. Conception d'architectures de référence171
      • 4.4.4. Evaluation des architectures de référence173
      • 4.5. Usages des architectures de référence175
      • 4.6. Exemples d'architectures de référence179
      • 4.7. Perspectives d'avenir pour les architectures de référence180
      • 4.8. Conclusion183
      • 4.9. Bibliographie183
      • Chapitre 5. Architectures logicielles pour les lignes de produits189
      • Hugo Arboleda, Rubby Casallas, Jaime Chavarriaga et Jean-Claude Royer
      • 5.1. Introduction aux lignes de produits logiciels189
      • 5.1.1. Trois styles de développements192
      • 5.1.2. La gestion de la variabilité192
      • 5.1.3. La notion d'architecture dans les lignes de produits194
      • 5.2. L'exemple du dépôt de musique196
      • 5.2.1. Le domaine196
      • 5.2.2. La ligne de produits SongStock197
      • 5.2.3. Les besoins fonctionnels197
      • 5.2.4. Les principaux autres besoins198
      • 5.3. Ingénierie du domaine199
      • 5.3.1. L'analyse du domaine199
      • 5.3.2. Cas d'utilisation avec variabilité intégrée200
      • 5.3.3. Le modèle des caractéristiques201
      • 5.3.4. La conception du domaine202
      • 5.3.5. La conception de l'architecture de la ligne203
      • 5.4. Ingénierie des produits207
      • 5.4.1. La configuration d'un produit208
      • 5.4.2. La dérivation du produit208
      • 5.5. Processus de conception de l'architecture de référence210
      • 5.6. Lectures complémentaires213
      • 5.6.1. PLA et architecture de référence214
      • 5.6.2. Les livres des précurseurs215
      • 5.7. Conclusion218
      • 5.8. Bibliographie219
      • Chapitre 6. Architectures logicielles multihiérarchies/multivues227
      • Ahmad Kheir, Hala Naja et Mourad Chabane Oussalah
      • 6.1. Introduction227
      • 6.2. Approches de points de vue existantes228
      • 6.2.1. Introduction228
      • 6.2.2. Les vues en spécification des besoins229
      • 6.2.3. Les vues en modélisation de systèmes229
      • 6.2.4. Les vues en programmation230
      • 6.3. Les vues en architecture logicielle231
      • 6.3.1. Apports des vues en architecture logicielle231
      • 6.3.2. Le modèle « 4+1 » View Model232
      • 6.3.3. Le standard ISO/IEC/IEEE 42010233
      • 6.3.4. L'approche Views and beyond235
      • 6.3.5. Synthèse237
      • 6.3.6. Limitations des approches actuelles en architecture logicielle239
      • 6.4. Définitions et concepts de base des architectures logicielles multihiérarchies/multivues240
      • 6.4.1. Définitions240
      • 6.4.2. Concepts et techniques de base242
      • 6.5. MoVAL : une architecture à base de modèles, vues et niveaux d'abstraction251
      • 6.5.1. Introduction251
      • 6.5.2. MoVAL251
      • 6.5.3. Le métamodèle MoVAL257
      • 6.5.4. Etude de cas258
      • 6.6. Conclusion262
      • 6.7. Bibliographie263
      • Chapitre 7. Architecture et qualité de systèmes logiciels265
      • Nicole Levy, Francisca Losavio et Yann Pollet
      • 7.1. Introduction265
      • 7.2. La démarche qualité267
      • 7.2.1. Le standard de qualité ISO 25010267
      • 7.2.2. Le référentiel de qualité270
      • 7.2.3. Modèle de qualité d'un système271
      • 7.2.4. Modèle de qualité fonctionnelle271
      • 7.2.5. Modèle de qualité d'une architecture272
      • 7.3. Démarche de développement d'une architecture de domaine274
      • 7.3.1. Principes généraux274
      • 7.3.2. Le modèle de qualité fonctionnelle277
      • 7.3.3. Le modèle de qualité architecturale277
      • 7.3.4. Architecture de référence277
      • 7.3.5. Passage du niveau domaine fonctionnel au niveau système279
      • 7.4. Développement d'une architecture de référence d'un domaine fonctionnel280
      • 7.4.1. Un exemple de domaine fonctionnel280
      • 7.4.2. Le raffinement fonctionnel280
      • 7.4.3. Elaboration du modèle de qualité fonctionnelle282
      • 7.4.4. Définition de l'architecture préliminaire283
      • 7.4.5. Elaboration du modèle de qualité architecturale284
      • 7.4.6. Intégration de l'architecture de référence du domaine285
      • 7.5. Architectures de niveau système288
      • 7.5.1. Le raffinement fonctionnel289
      • 7.5.2. Le modèle de qualité fonctionnelle290
      • 7.5.3. Architecture de base290
      • 7.5.4. Le modèle de qualité architecturale291
      • 7.5.5. Architecture des systèmes Dopamine et Samarkand292
      • 7.6. Travaux connexes294
      • 7.7. Conclusion299
      • 7.8. Bibliographie300
      • Chapitre 8. Architectures logicielles et outils : gestion distribuée et coordonnée de la reconfiguration dynamique303
      • Mohamed Zouari, Maria-Teresa Segarra et Khalid Drira
      • 8.1. Introduction304
      • 8.2. Contexte305
      • 8.3. Mécanismes de gestion de la reconfiguration dynamique d'applications distribuées307
      • 8.3.1. Gestion centralisée de la reconfiguration dynamique307
      • 8.3.2. Limites de la solution centralisée pour les systèmes distribués310
      • 8.3.3. Enjeux de la gestion distribuée de la reconfiguration311
      • 8.3.4. Mécanismes de coordination existants312
      • 8.4. Spécialisation des infrastructures de reconfiguration315
      • 8.4.1. Spécialisation de comportement315
      • 8.4.2. Spécialisation de la répartition des mécanismes d'adaptation316
      • 8.5. Synthèse des limites et des défis de la reconfiguration dynamique des systèmes distribués317
      • 8.6. Approche pour la mise en place de mécanismes de gestion de reconfiguration318
      • 8.7. Modèle architectural pour la gestion distribuée de la reconfiguration dynamique320
      • 8.7.1. Types de composants pour la gestion de l'adaptation320
      • 8.7.2. Distribution de la gestion de la reconfiguration dynamique322
      • 8.7.3. Modèle architectural du gestionnaire d'adaptation324
      • 8.7.4. Spécialisation des mécanismes de reconfiguration326
      • 8.7.5. Coordination des processus de reconfiguration328
      • 8.8. Conclusion342
      • 8.9. Bibliographie343
      • Chapitre 9. La métamodélisation d'architectures logicielles347
      • Adel Smeda et Mourad Chabane Oussalah
      • 9.1. Introduction347
      • 9.2. La métamodélisation : pourquoi ?349
      • 9.3. Métamodélisation d'architectures logicielles350
      • 9.4. MADL : un langage de description de méta-architecture351
      • 9.4.1. Les quatre niveaux de modélisation dans les architectures logicielles351
      • 9.4.2. MADL : un noyau réflexif dédié à la méta-méta-architecture353
      • 9.4.3. La structure de MADL354
      • 9.4.4. L'instanciation de MADL : l'exemple de l'ADL Acme356
      • 9.4.5. Comparaison de MADL et MDA/MOF359
      • 9.5. La projection (mapping) des ADL vers UML363
      • 9.5.1. Pourquoi la projection des ADL vers UML363
      • 9.5.2. La projection d'un ADL vers UML365
      • 9.6. Un exemple de projection : cas du langage Acme376
      • 9.7. Quelques remarques sur la projection des concepts d'ADL vers UML377
      • 9.7.1. UML 2.0 comme ADL377
      • 9.7.2. Les stratégies de la projection378
      • 9.8. Conclusion379
      • 9.9. Bibliographie379
      • Chapitre 10. Architectures logicielles et systèmes multi-agents383
      • Jean-Paul Arcangeli, Victor Noël et Frédéric Migeon
      • 10.1. Introduction383
      • 10.2. Systèmes mutli-agents et ingénierie logicielle à base d'agents384
      • 10.2.1. Agent385
      • 10.2.2. Système et interactions386
      • 10.2.3. Système multi-agents387
      • 10.2.4. Exemples de systèmes multi-agents388
      • 10.2.5. Ingénierie logicielle à base d'agents390
      • 10.3. Les systèmes multi-agents et tant que style d'architecture394
      • 10.3.1. Positionnement du style « système multi-agents »394
      • 10.3.2. Caractéristiques en matière d'abstraction395
      • 10.3.3. Caractéristiques en matière de (dé)composition398
      • 10.3.4. Lien avec les exigences400
      • 10.3.5. Une famille de styles architecturaux403
      • 10.4. Le fossé architectural404
      • 10.4.1. Etat de la pratique405
      • 10.4.2. Analyse d'un point de vue architectural406
      • 10.4.3. Bilan408
      • 10.5. Comment combler le fossé architectural409
      • 10.5.1. Limites des solutions existantes409
      • 10.5.2. Réalisation de l'architecture micro409
      • 10.6. Conclusion412
      • 10.7. Bibliographie413
      • Chapitre 11. Architectures logicielles et procédés logiciels417
      • Fadila Aoussat, Mourad Chabane Oussalah et Mohamed Ahmed-Nacer
      • 11.1. Introduction417
      • 11.2. Les architectures de procédés logiciels419
      • 11.2.1. Définition des modèles de procédés logiciels419
      • 11.2.2. Modélisation de procédés logiciels à base d'architectures logicielles420
      • 11.3. Cadre de comparaison pour les solutions de réutilisation de modèles de PL à base d'AL423
      • 11.3.1. Les critères d'évaluation selon l'axe procédé logiciel424
      • 11.3.2. Les critères d'évaluation selon l'axe architecture logicielle427
      • 11.3.3. Les critères d'évaluation selon l'axe qualité430
      • 11.4. Evaluation des approches de modélisation et d'exécution de PL à base d'AL433
      • 11.4.1. Evaluation des approches de réutilisation de PL à base d'AL selon l'axe PL433
      • 11.4.2. Evaluation des approches de réutilisation de PL à base d'AL selon l'axe AL435
      • 11.4.3. Evaluation des approches de réutilisation de PL à base d'AL selon l'axe qualité438
      • 11.4.4. Bilan et discussions440
      • 11.5. Conclusion442
      • 11.6. Bibliographie443
      • Chapitre 12. Architecture logicielle : adaptation de services dans le contexte de composition de services web447
      • Kamel Barkaoui et Maryam Eslamichalandar
      • 12.1. Introduction447
      • 12.2. Composition de services web et de vérification450
      • 12.3. Incompatibilité des services web et adaptation454
      • 12.4. Approches d'adaptation457
      • 12.5. Conclusion469
      • 12.6. Bibliographie470
      • Index477

  • Origine de la notice:
    • FR-751131015
  • Disponible - 681.2 OUS

    Niveau 3 - Informatique