SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
les style d'architecture
les style d'architecture les style d'architecture
les style d'architecture Mouna Maazoun
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERPLilia Sfaxi
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveurHouda TOUKABRI
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données yassine kchiri
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
PréSentation Modules E R P
PréSentation Modules  E R PPréSentation Modules  E R P
PréSentation Modules E R Ppistesil
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Les 4 étapes de la mise en place d'un logiciel ERP
Les 4 étapes de la mise en place d'un logiciel ERPLes 4 étapes de la mise en place d'un logiciel ERP
Les 4 étapes de la mise en place d'un logiciel ERPDivalto
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logicielMajid CHADAD
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIMansouri Khalifa
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 

Mais procurados (20)

Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
les style d'architecture
les style d'architecture les style d'architecture
les style d'architecture
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERP
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveur
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
PréSentation Modules E R P
PréSentation Modules  E R PPréSentation Modules  E R P
PréSentation Modules E R P
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Les 4 étapes de la mise en place d'un logiciel ERP
Les 4 étapes de la mise en place d'un logiciel ERPLes 4 étapes de la mise en place d'un logiciel ERP
Les 4 étapes de la mise en place d'un logiciel ERP
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
PROJET ERP
PROJET ERPPROJET ERP
PROJET ERP
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 

Semelhante a L Architecture Logicielle En Pratique

Innovative Architecture Design
Innovative Architecture DesignInnovative Architecture Design
Innovative Architecture DesignAirmis
 
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.pptxBernardKabuatila
 
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicativeinformatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicativeNarjes Weslati
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines AosdCédric WILLIAMSON
 
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 FrValtech
 
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...Flow Line Groupe
 
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ériqueALPI
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
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-2azraf
 
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 2013Hassan Ou-aly
 
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...Tech-IT Maroc
 
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 LogicaNormandy JUG
 
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 TGuillaume Abel
 
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 v6pformosa
 
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 ServicesMicrosoft Technet France
 

Semelhante a 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