Upload
eric-german
View
1.186
Download
0
Embed Size (px)
Citation preview
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 ?