Agl2012

Post on 21-Jun-2015

1.186 views 0 download

Transcript of Agl2012

1

Les AGL

Atelier de génie logiciel

CASE (en) Computer-Aided Software Engineering

Eric German 2012@germanlinux

2

Plan

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

3

Définitions et principes

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)

5

Principes (2)

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

Re-ingénierie

=> productivité et standardisation

INDUSTRIALISATION

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)

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

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

9

C'est magique !Le code

Les docsLa conf

Le SQL

+ code

10

modélisation

Génération de code

Génération des testsEt des données

documentation

Dictionnaire de données

documentation

documentation

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

12

Comparaison des couts

materiel

logiciel

13

Solutions ?

14

Cobol

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

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

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

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

18

L'ère post web

INDUSTRIALISATION DES PROCESSUS (MDE)

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

Ex: prototype

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)

21

Etat de l'art (XXeme)

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

22

Cariatides

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

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

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)

24

Pacbase

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

25

26

Rose (Rational)

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

27

Windev

Francais PME comme cœur de cible Orienté windows

28

Conclusions

Coupure entre les upppercases et les lowecases Upper-case:

Modélisateurs (ArgoUML , starUML) RSA

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

30

Et

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