Les AGL




            Atelier de génie logiciel

CASE (en) Computer-Aided Software Engineering



                              Eric German 2012
                              @germanlinux       1
Plan



  Définitions et principes

  Historique

  Cycle de vie d'un projet informatique

  Etat de l'art

  Perspectives

  Conclusion



                                          2
Définitions et principes




                           3
Principes (1)

    Atelier => regroupement de plusieurs outils

    Génie => §relatif à l’ingénierie , art de
    l'ingénieur

    Logiciel => programmes informatiques

    Ne sont pas :
    
        Des simples outils de modélisation (upper-case) ou
        des générateurs de code (lower-case)

    Ils doivent couvrir le cycle projet

    Dictionnaire de données (métadonnées)
                                                      4
Principes (2)

    Objectifs
    
        On est tous des informaticiens
    
        Production uniforme
    
        référentiel

    Re-ingénierie


    => productivité et standardisation
            INDUSTRIALISATION

                                         5
Alors ?

    Inconvénients:
    
        Productions 'lourdes' non optimisées
    
        Optimisations difficiles
    
        Debug difficile
    
        Méthodes structurantes
    
        Langages atypiques (§ Normes et standards)
    
        Verrouillage du développement par les outils
    
        Couteux
    
        Dérives possibles et irréversibles (pb retro
        ingénierie)                                    6
•
    Avantages.
          •
              Augmentation de la vitesse de developpement
          •
              Production uniforme
          •
              Englobe tous les aspects du projet
          •
              Dictionnaire des composants
          •
              Simplification de dialogue developpeur/machine
          •
              Facilite la maintenance
          •
              Taches lourdes et répétitives automatisées
          •
              Portage automatique



                                                         7
Impacts

    Nouveau métier : développeur (analyste
    /programmeur) : filière verticale

    Dispositif de modélisation (graphe, boucle,
    matrice, écran)

    Génération de code => portabilité , JCL

    Documentation des programmes

    Dictionnaire des données

    Maquettes

                                                  8
C'est magique !
                          Le code
     + code




 Le SQL


                        Les docs
              La conf




                            9
modélisation



documentation

                                                     Génération
                                                      de code


            Dictionnaire de données                        Génération des tests
                                                             Et des données
documentation




documentation



                                                                             10
Historique (1980 – 1999: pre-web)
         crise du logiciel




      Mainframe                                       PC
        Cobol                                 Plusieurs langages
   Fichiers seq/ind                                  GUI
   Batch et Transac                           Logiciels intégrés



                                                 Cariatides
  Forms , Pacbase     Emulateurs, transfert        Windev
                                                Rational Rose
                                                                   11
Comparaison des couts

   materiel




 logiciel




                        12
Solutions ?




              13
Cobol

    La regle de 20 – 80

    Programmation structurée

    Les 20 sont concentrés au meme endroit

    => Automatisation des 80 qui restent




                                             14
Les deux points forts des AGL

    Portabilité : (cobol Bull - cobol IBM )

    Dictionnaire de données : une donnée est
    référencée par plusieurs fichiers dans plusieurs
    programmes POUR une même application




                                                15
Les années web (2000 - 2006)
AGL en perte de vitesse

    En raison de :
    
        Les SGBD répondent au problème de la multiplicité
        des données
    
        Java répond au problème de la portabilité
        −   Modèle objet : Redécoupage en couche des applications
            (vertical/ horizontal MVC-JEE)
        −   Spécialisation accrue des métiers
    
        UML
    
        Le modèle web (MVC )
    
        UNIX (couche)
    
        Les progiciels                                      16
Conséquences

    Morcellement de l'offre: outil de modélisation

    Produits ciblés sur des niches: générateurs
    pages web puis de sites web - ETL

    Modèle economique des SSII et JEE

    IDE + extensions (éclipse) ==> fait fonction
    d'AGL




                                                  17
L'ère post web

    INDUSTRIALISATION DES PROCESSUS
    (MDE)

    Modélisation UML mature

    Design patern (patron de conception)




       Ex: prototype                       18
19
Mais ....

    Est que le web (HTTP) est le meilleur protocole
    pour réaliser des applications métiers?

    Est ce que le MVC est la meilleure
    infrastructure ?

    Industrie 'lourde' ?

    Java + JEE =jcobol
Réponses

    ==>> web 1.0 , web 2.0 et web 3.0

    Web 3.1 <=> cloud 2.0

    (webapp,websocket, MVC client, base NoSQL)
                                           20
Etat de l'art (XXeme)

    Anciens : cariatides, Forté ,pacbase

    blu-age : Model Driven Architecture (MDA) XXI




                                             21
Cariatides


    Sur PC

    Générateur de code (cobol ,option c , puis
    java)

    Conception des états et des TPR (ecrans)




                                                 22
Forté


    Poste de travail pc

    Deux versions C++ et java (forte4java)

    Applications clients lourds ou légers

    Sur Z-os (IBM ) ou Unix (AIX , linux)




                                             23
Pacbase

    Cobol

    Société française

    Dictionnaire

    'Boucle' pacbase

    Pacdesign




                              24
25
Rose (Rational)


    Modélisateur

    Chainable avec des outils de low-case

    Racheté par IBM




                                            26
Windev

    Francais

    PME comme cœur de cible

    Orienté windows




                               27
Conclusions

    Coupure entre les upppercases et les
    lowecases
    
        Upper-case:
Modélisateurs (ArgoUML , starUML)
    
        RSA




                                           28
(low-case et le reste)

    Générateurs de squelette (classes ,
    getter,setter)

    Générateurs de comportement (pattern)

    Générateur de Comportements: Behavior DD
    (méthode)

    Générateurs de test (données et code)

    ETL

                                            29
Et


    Quelle industrialisation pour l'informatique ?

    AGL et méthodes 'Agile'

    Les DSL : l'avenir des AGL ?




                                                     30

Agl2012

  • 1.
    Les AGL Atelier de génie logiciel CASE (en) Computer-Aided Software Engineering Eric German 2012 @germanlinux 1
  • 2.
    Plan  Définitionset principes  Historique  Cycle de vie d'un projet informatique  Etat de l'art  Perspectives  Conclusion 2
  • 3.
  • 4.
    Principes (1)  Atelier => regroupement de plusieurs outils  Génie => §relatif à l’ingénierie , art de l'ingénieur  Logiciel => programmes informatiques  Ne sont pas :  Des simples outils de modélisation (upper-case) ou des générateurs de code (lower-case)  Ils doivent couvrir le cycle projet  Dictionnaire de données (métadonnées) 4
  • 5.
    Principes (2)  Objectifs  On est tous des informaticiens  Production uniforme  référentiel  Re-ingénierie  => productivité et standardisation INDUSTRIALISATION 5
  • 6.
    Alors ?  Inconvénients:  Productions 'lourdes' non optimisées  Optimisations difficiles  Debug difficile  Méthodes structurantes  Langages atypiques (§ Normes et standards)  Verrouillage du développement par les outils  Couteux  Dérives possibles et irréversibles (pb retro ingénierie) 6
  • 7.
    Avantages. • Augmentation de la vitesse de developpement • Production uniforme • Englobe tous les aspects du projet • Dictionnaire des composants • Simplification de dialogue developpeur/machine • Facilite la maintenance • Taches lourdes et répétitives automatisées • Portage automatique 7
  • 8.
    Impacts  Nouveau métier : développeur (analyste /programmeur) : filière verticale  Dispositif de modélisation (graphe, boucle, matrice, écran)  Génération de code => portabilité , JCL  Documentation des programmes  Dictionnaire des données  Maquettes 8
  • 9.
    C'est magique ! Le code + code Le SQL Les docs La conf 9
  • 10.
    modélisation documentation Génération de code Dictionnaire de données Génération des tests Et des données documentation documentation 10
  • 11.
    Historique (1980 –1999: pre-web) crise du logiciel Mainframe PC Cobol Plusieurs langages Fichiers seq/ind GUI Batch et Transac Logiciels intégrés Cariatides Forms , Pacbase Emulateurs, transfert Windev Rational Rose 11
  • 12.
    Comparaison des couts materiel logiciel 12
  • 13.
  • 14.
    Cobol  La regle de 20 – 80  Programmation structurée  Les 20 sont concentrés au meme endroit  => Automatisation des 80 qui restent 14
  • 15.
    Les deux pointsforts des AGL  Portabilité : (cobol Bull - cobol IBM )  Dictionnaire de données : une donnée est référencée par plusieurs fichiers dans plusieurs programmes POUR une même application 15
  • 16.
    Les années web(2000 - 2006) AGL en perte de vitesse  En raison de :  Les SGBD répondent au problème de la multiplicité des données  Java répond au problème de la portabilité − Modèle objet : Redécoupage en couche des applications (vertical/ horizontal MVC-JEE) − Spécialisation accrue des métiers  UML  Le modèle web (MVC )  UNIX (couche)  Les progiciels 16
  • 17.
    Conséquences  Morcellement de l'offre: outil de modélisation  Produits ciblés sur des niches: générateurs pages web puis de sites web - ETL  Modèle economique des SSII et JEE  IDE + extensions (éclipse) ==> fait fonction d'AGL 17
  • 18.
    L'ère post web  INDUSTRIALISATION DES PROCESSUS (MDE)  Modélisation UML mature  Design patern (patron de conception) Ex: prototype 18
  • 19.
  • 20.
    Mais ....  Est que le web (HTTP) est le meilleur protocole pour réaliser des applications métiers?  Est ce que le MVC est la meilleure infrastructure ?  Industrie 'lourde' ?  Java + JEE =jcobol Réponses  ==>> web 1.0 , web 2.0 et web 3.0  Web 3.1 <=> cloud 2.0  (webapp,websocket, MVC client, base NoSQL) 20
  • 21.
    Etat de l'art(XXeme)  Anciens : cariatides, Forté ,pacbase  blu-age : Model Driven Architecture (MDA) XXI 21
  • 22.
    Cariatides  Sur PC  Générateur de code (cobol ,option c , puis java)  Conception des états et des TPR (ecrans) 22
  • 23.
    Forté  Poste de travail pc  Deux versions C++ et java (forte4java)  Applications clients lourds ou légers  Sur Z-os (IBM ) ou Unix (AIX , linux) 23
  • 24.
    Pacbase  Cobol  Société française  Dictionnaire  'Boucle' pacbase  Pacdesign 24
  • 25.
  • 26.
    Rose (Rational)  Modélisateur  Chainable avec des outils de low-case  Racheté par IBM 26
  • 27.
    Windev  Francais  PME comme cœur de cible  Orienté windows 27
  • 28.
    Conclusions  Coupure entre les upppercases et les lowecases  Upper-case: Modélisateurs (ArgoUML , starUML)  RSA 28
  • 29.
    (low-case et lereste)  Générateurs de squelette (classes , getter,setter)  Générateurs de comportement (pattern)  Générateur de Comportements: Behavior DD (méthode)  Générateurs de test (données et code)  ETL 29
  • 30.
    Et  Quelle industrialisation pour l'informatique ?  AGL et méthodes 'Agile'  Les DSL : l'avenir des AGL ? 30