30
1 Les AGL Atelier de génie logiciel CASE (en) Computer-Aided Software Engineering Eric German 2012 @germanlinux

Agl2012

Embed Size (px)

Citation preview

Page 1: Agl2012

1

Les AGL

Atelier de génie logiciel

CASE (en) Computer-Aided Software Engineering

Eric German 2012@germanlinux

Page 2: Agl2012

2

Plan

Définitions et principesHistoriqueCycle de vie d'un projet informatiqueEtat de l'artPerspectivesConclusion

Page 3: Agl2012

3

Définitions et principes

Page 4: Agl2012

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)

Page 5: Agl2012

5

Principes (2)

Objectifs On est tous des informaticiens Production uniforme référentiel

Re-ingénierie

=> productivité et standardisation

INDUSTRIALISATION

Page 6: Agl2012

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)

Page 7: Agl2012

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

Page 8: Agl2012

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

Page 9: Agl2012

9

C'est magique !Le code

Les docsLa conf

Le SQL

+ code

Page 10: Agl2012

10

modélisation

Génération de code

Génération des testsEt des données

documentation

Dictionnaire de données

documentation

documentation

Page 11: Agl2012

11

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

MainframeCobol

Fichiers seq/indBatch et Transac

PCPlusieurs langages

GUILogiciels intégrés

Forms , PacbaseCariatides

WindevRational Rose

Emulateurs, transfert

Page 12: Agl2012

12

Comparaison des couts

materiel

logiciel

Page 13: Agl2012

13

Solutions ?

Page 14: Agl2012

14

Cobol

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

Page 15: Agl2012

15

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

Page 16: Agl2012

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

Page 17: Agl2012

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

Page 18: Agl2012

18

L'ère post web

INDUSTRIALISATION DES PROCESSUS (MDE)

Modélisation UML mature Design patern (patron de conception)

Ex: prototype

Page 19: Agl2012

19

Page 20: Agl2012

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)

Page 21: Agl2012

21

Etat de l'art (XXeme)

Anciens : cariatides, Forté ,pacbase blu-age : Model Driven Architecture (MDA) XXI

Page 22: Agl2012

22

Cariatides

Sur PC Générateur de code (cobol ,option c , puis

java) Conception des états et des TPR (ecrans)

Page 23: Agl2012

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)

Page 24: Agl2012

24

Pacbase

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

Page 25: Agl2012

25

Page 26: Agl2012

26

Rose (Rational)

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

Page 27: Agl2012

27

Windev

Francais PME comme cœur de cible Orienté windows

Page 28: Agl2012

28

Conclusions

Coupure entre les upppercases et les lowecases Upper-case:

Modélisateurs (ArgoUML , starUML) RSA

Page 29: Agl2012

29

(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

Page 30: Agl2012

30

Et

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