L Architecture Logicielle En Pratique

21 085 vues

Publié le

Cette introduction vise à:
* définir le rôle de l'architecture logicielle;
* retracer l'évolution du développement logiciel afin de mieux comprendre l'état (d'immaturité) de cette discipline;
* brosser un portrait des qualités essentielles d'un architecte;
* introduire quelques fondements de cette discipline.

Publié dans : Technologie, Formation
2 commentaires
11 j’aime
Statistiques
Remarques
  • Merci pour cette présentation qui a clarifié pour moi la notion d'architecture logicielle, qui m' etait très 'floue'...
    :)
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • c'est document qui present un résume intéressant
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
Aucun téléchargement
Vues
Nombre de vues
21 085
Sur SlideShare
0
Issues des intégrations
0
Intégrations
83
Actions
Partages
0
Téléchargements
714
Commentaires
2
J’aime
11
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

L Architecture Logicielle En Pratique

  1. 1. L’ARCHITECTURE LOGICIELLE EN PRATIQUE François Trudel, ing., M.Sc.A. Président Fondateur francois.trudel@aginex.com 24 mars 2009 Weisman Art Museum de l’architecte Frank Gehry Photo de Chris Zubke publiée sur Flickr © 2009 Repenser les TI
  2. 2. L’architecture Logicielle en pratique 2 Évolution d’une Discipline en Client- Publisher- Cloud par Architecture Monolitique Lots Couches Serveur N-tiers Subscriber computing m ps te s le Flux de Flux de Diagramme ER OO ADL an contrôle données te d en m augobjets orienté- orienté- orienté- orienté- Paradigme structuré on donnée services agents a c ti s tr b d’a FORTRAN Ruby Language C++ Perl Java au assembleur SQL n iv e COBOL on Rail Le Matériel PDA mainframe PC mini 2010 1940 © 2009 Repenser les TI
  3. 3. L’architecture Logicielle en pratique 3 Architecture Informatique L'architecture informatique définit la structuration d'un système informatique (i.e. matériel et logiciel) en termes de composants et d'organisation de ses fonctions. Source: Wikipedia © 2009 Repenser les TI
  4. 4. L’architecture Logicielle en pratique 4 Architecture Logicielle L’architecture logicielle décrit dʼune manière symbolique et schématique les différents composants dʼun ou de plusieurs programmes informatiques, leurs interrelations et leurs interactions. Source: Wikipedia © 2009 Repenser les TI
  5. 5. L’architecture Logicielle en pratique 5 Place de l’Architecture (Traditionnelle) Solution Problème Conceptuel Architecture Ingénierie Physique Construction Gestion de Projet © 2009 Repenser les TI
  6. 6. L’architecture Logicielle en pratique 6 Place de l’Architecture Logicielle Solution Problème Conceptuel Analyse Architecture Design Programmation © 2009 Repenser les TI
  7. 7. L’architecture Logicielle en pratique 7 Niveaux d’Architecture Logicielle 1. Un programme 2. Une famille de programmes 3. Un système corporatif 4. Un système inter-entreprises © 2009 Repenser les TI
  8. 8. L’architecture Logicielle en pratique 8 10 Mythes sur l’Architecture Logicielle  Lʼarchitecture et le design, cʼest la même chose  Lʼarchitecture et lʼinfrastructure, cʼest la même chose  <ma technologie fétiche> est lʼarchitecture  Une bonne architecture est lʼoeuvre dʼun seul architecte  Lʼarchitecture est plate, une schéma est suffisant  Lʼarchitecture de système précède lʼarchitecture logicielle  Lʼarchitecture ne peut-être mesurée ou validée  Lʼarchitecture est une science  Lʼarchitecture est un art Source: Philippe Kruchten, Ten Common Misconceptions about Software Architecture © 2009 Repenser les TI
  9. 9. L’architecture Logicielle en pratique 9 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est de définir une architecture logicielle. © 2009 Repenser les TI
  10. 10. L’architecture Logicielle en pratique 10 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est de définir une architecture logicielle qui satisfasse les exigences du client. © 2009 Repenser les TI
  11. 11. L’architecture Logicielle en pratique 11 Modèle des Contraintes de Design Générateurs designer client Fonctions utilisateur symbolique formelle législateur pratique radicale interne externe Domaines Source: Bryan Lawson, How Designers Think © 2009 Repenser les TI
  12. 12. L’architecture Logicielle en pratique 12 Critères de Qualité Logicielle   Interopérabilité Réutilisabilité   Portabilité Extensibilité   Compatibilité Efficacité   Validité Autonomie   Vérifiabilité Transparence   Intégrité Composabilité   Fiabilité Simplicité  Maintenabilité © 2009 Repenser les TI
  13. 13. L’architecture Logicielle en pratique 13 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est de définir une architecture logicielle qui satisfasse les contraintes imposées sur le système. © 2009 Repenser les TI
  14. 14. L’architecture Logicielle en pratique 14 Modélisation d’une Architecture Logicielle Vue logique Vue de réalisation Vue des Gestion de configuration Fonctionalité cas d’utilisation Vue des processus Vue de déploiement Performance Topologie du Système Extensibilité Communication Débit Approvisionnement Conceptuelle Physique Source: Philippe Kruchten, 4+1 Views © 2009 Repenser les TI
  15. 15. L’architecture Logicielle en pratique 15 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est: 1) de définir une architecture logicielle qui satisfasse les contraintes du système 2) de la communiquer. © 2009 Repenser les TI
  16. 16. L’architecture Logicielle en pratique 16 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est: 1) de définir une architecture logicielle qui satisfasse les contraintes du système 2) de la communiquer et la promouvoir. © 2009 Repenser les TI
  17. 17. L’architecture Logicielle en pratique 17 Essence et Accidents de L’Ingénierie Logicielle  Complexité Essentielle Inhérente au problème (complexité, conformité, changeable, invisibilité)  Complexité Accidentelle Associée au développement de la solution Source: Frederick P. Brooks Jr, No Silver Bullet © 2009 Repenser les TI
  18. 18. L’architecture Logicielle en pratique 18 Dimensions de la Complexité Logicielle Technique embarqué, temps-réel, distribué, critique centrale sur-mesure, innovateur, nucléaire haute performance grande échelle, contractuel, plusieurs intervenants compilateur “projets” Gestion petite échelle, système informel, corporatif un intervenant “produits” chiffrier application PC, site HTML, interactif, standard Source: Grady Booch, Handbook of Software Architecture © 2009 Repenser les TI
  19. 19. L’architecture Logicielle en pratique 19 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est: 1) de définir une architecture logicielle qui satisfasse les contraintes du système 2) de la communiquer et la promouvoir 3) de défendre son intégrité conceptuelle © 2009 Repenser les TI
  20. 20. L’architecture Logicielle en pratique 20 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est: 1) de définir une architecture logicielle qui satisfasse les contraintes du système 2) de la communiquer et la promouvoir 3) de défendre son intégrité conceptuelle 4) de la critiquer © 2009 Repenser les TI
  21. 21. L’architecture Logicielle en pratique 21 Rôle d’un Architecte Logiciel Le rôle de lʼarchitecte logiciel est: 1) de définir une architecture logicielle qui satisfasse les contraintes du système 2) de la communiquer et la promouvoir 3) de défendre son intégrité conceptuelle 4) de la critiquer 5) de la raffiner © 2009 Repenser les TI
  22. 22. L’architecture Logicielle en pratique 22 Rôle d’un Architecte Logiciel Complexité Changement Vision Politique Contraintes Photo: www.sparkle4all.nl © 2009 Repenser les TI
  23. 23. L’architecture Logicielle en pratique 23 Profile d’un Architecte Logiciel 1. Crédibilité 2. Pensée intégrative 3. Créativité 4. Empatie 5. Autodidacte 6. Leader/Mentor 7. Communicateur(Négociateur) 8. Excellent analyste 9. Designer hors pair 10. Bon programmeur © 2009 Repenser les TI
  24. 24. L’architecture Logicielle en pratique 24 La Pensée Intégrative Résolution Vision Chercher des solutions Outils Expérience Architecture créatrices qui résolvent les tensions Visualiser le tout en Causalité travaillant sur des parties Chercher des motifs et interrelations Saillance Identifie les contraintes importantes Source: Roger Martin, The Opposable Mind © 2009 Repenser les TI
  25. 25. L’architecture Logicielle en pratique 25 Principes Fondamentaux  Simplicité (KISS)  Abstractions nettes  Division claire des rôles  Distribution équilibrée des responsabilités  Élégance/Esthétisme © 2009 Repenser les TI
  26. 26. L’architecture Logicielle en pratique 26 Styles d’Architecture Logicielle  Centré sur les Données  Flux de Données • Base de données • Par lots • Blackboard • Tuyaux et Filtres • Publisher-Subscriber  Appels et Retour  Partage de Données • Fonction principale  Hiérarchique • Orientée-Objets • En couches  Interactif • En tiers • Orientée Événements • Interpréteur • Model-View-Controller  Orientée Agents Source: Shaw & Garlan, Software Architecture : Perspectives on an Emerging Discipline © 2009 Repenser les TI
  27. 27. L’architecture Logicielle en pratique 27 Le Style le plus Répandu Source: Brian Foote & Joseph Yoder, Big Ball of Mud © 2009 Repenser les TI
  28. 28. L’architecture Logicielle en pratique 28 7 Périls d’un Architecte Logiciel 1. Un projet où la direction de lʼorganisation ne croie pas à lʼarchitecture logicielle 2. Un projet dont les usagers ne veulent pas 3. Embarquer sur un projet sans avoir de crédibilité auprès d’une équipe rebelle 4. Un projet avec un niveau d’incertitude élevé soumis à un développement en cascade 5. Un projet dont des choix technologiques clés imposés sont inappropriés 6. Un projet où les analystes d’affaires produisent le schéma de BD 7. Prendre la relève d’un projet en détresse © 2009 Repenser les TI
  29. 29. L’architecture Logicielle en pratique 29 L’Avenir d’une Discipline  LʼArchitecture fera partie du curriculum  Standardisation dʼun ADL  Architecture Orientée-Agents  Langages de programmation de plus haut niveau supportant les concepts architecturaux  Certification professionnelle basée sur les niveaux de criticalité logicielle [DO-178B: A-E] © 2009 Repenser les TI
  30. 30. L’architecture Logicielle en pratique 30 Questions? Merci beaucoup! © 2009 Repenser les TI

×