SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
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
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
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
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
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
L’architecture Logicielle en pratique                              6


       Place de l’Architecture
              Logicielle

                                                  Solution
                      Problème



Conceptuel              Analyse Architecture Design Programmation




                                         © 2009         Repenser les TI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
L’architecture Logicielle en pratique                       30



                       Questions?




              Merci beaucoup!



                                        © 2009   Repenser les TI

Contenu connexe

Tendances

La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
Ismahen Traya
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logiciel
Siwar GUEMRI
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
Mansouri Khalifa
 

Tendances (20)

Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logiciel
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Tp1 - OpenERP (1)
Tp1 - OpenERP (1)Tp1 - OpenERP (1)
Tp1 - OpenERP (1)
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
 

Similaire à L Architecture Logicielle En Pratique

Innovative Architecture Design
Innovative Architecture DesignInnovative Architecture Design
Innovative Architecture Design
Airmis
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
Cédric WILLIAMSON
 
Introduction colloque ALPI sur la maquette numérique
Introduction colloque ALPI sur la maquette numériqueIntroduction colloque ALPI sur la maquette numérique
Introduction colloque ALPI sur la maquette numérique
ALPI
 
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
Ojdoc Quen
 
Ar si-c1-2
Ar si-c1-2Ar si-c1-2
Ar si-c1-2
azraf
 
Séminaire processus métiers 20 avril 2013
Séminaire processus métiers 20 avril 2013Séminaire processus métiers 20 avril 2013
Séminaire processus métiers 20 avril 2013
Hassan Ou-aly
 
Soirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par LogicaSoirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par Logica
Normandy JUG
 

Similaire à L Architecture Logicielle En Pratique (20)

3 architecte-si
3 architecte-si3 architecte-si
3 architecte-si
 
Innovative Architecture Design
Innovative Architecture DesignInnovative Architecture Design
Innovative Architecture Design
 
Modélisation et simulation des réseaux L2 Info UKA 2024.pptx
Modélisation et simulation des réseaux L2 Info UKA 2024.pptxModélisation et simulation des réseaux L2 Info UKA 2024.pptx
Modélisation et simulation des réseaux L2 Info UKA 2024.pptx
 
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicativeinformatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
 
Cours erp pgi_2010
Cours erp pgi_2010Cours erp pgi_2010
Cours erp pgi_2010
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 
Tk07 Les Apports Du Bpm Dans Une DéMarche Soa Fr
Tk07 Les Apports Du Bpm Dans Une DéMarche Soa FrTk07 Les Apports Du Bpm Dans Une DéMarche Soa Fr
Tk07 Les Apports Du Bpm Dans Une DéMarche Soa Fr
 
Flow Line En route vers l'herbergement, la revolution des services et l'optim...
Flow Line En route vers l'herbergement, la revolution des services et l'optim...Flow Line En route vers l'herbergement, la revolution des services et l'optim...
Flow Line En route vers l'herbergement, la revolution des services et l'optim...
 
Introduction colloque ALPI sur la maquette numérique
Introduction colloque ALPI sur la maquette numériqueIntroduction colloque ALPI sur la maquette numérique
Introduction colloque ALPI sur la maquette numérique
 
040401+seminar+gelo+diro.ppt
040401+seminar+gelo+diro.ppt040401+seminar+gelo+diro.ppt
040401+seminar+gelo+diro.ppt
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
Conception Et Mise En œUvre D’Une Plate Forme Edi Pour La Communaté Portuaire...
 
Ar si-c1-2
Ar si-c1-2Ar si-c1-2
Ar si-c1-2
 
Séminaire processus métiers 20 avril 2013
Séminaire processus métiers 20 avril 2013Séminaire processus métiers 20 avril 2013
Séminaire processus métiers 20 avril 2013
 
La Structure de l’entreprise Tech-IT Maroc - SSII, Intégrateur de Solutions I...
La Structure de l’entreprise Tech-IT Maroc - SSII, Intégrateur de Solutions I...La Structure de l’entreprise Tech-IT Maroc - SSII, Intégrateur de Solutions I...
La Structure de l’entreprise Tech-IT Maroc - SSII, Intégrateur de Solutions I...
 
Projet carriere
Projet carriereProjet carriere
Projet carriere
 
Soirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par LogicaSoirée SOA - 2010-06-15 - Introduction par Logica
Soirée SOA - 2010-06-15 - Introduction par Logica
 
Le management d’une équipe UX par le profil en T
Le management d’une équipe UX par le profil en TLe management d’une équipe UX par le profil en T
Le management d’une équipe UX par le profil en T
 
Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6Dictionnaire des termes techniques de la business intelligence v6
Dictionnaire des termes techniques de la business intelligence v6
 
DCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft ServicesDCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft Services
 

L Architecture Logicielle En Pratique

  • 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. 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. 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. 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. 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. L’architecture Logicielle en pratique 6 Place de l’Architecture Logicielle Solution Problème Conceptuel Analyse Architecture Design Programmation © 2009 Repenser les TI
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. L’architecture Logicielle en pratique 30 Questions? Merci beaucoup! © 2009 Repenser les TI