Genie logiciel eseo-v1.1-1spp

70
E S E O - Angers Génie Logiciel, ALM et outillage E S E O - Angers Mardi 19 février 2013 Laurent Guérin [email protected] @ltguerin

description

Conférence ESEO Février 2013

Transcript of Genie logiciel eseo-v1.1-1spp

Page 1: Genie logiciel eseo-v1.1-1spp

E S E O - Angers

Génie Logiciel,

ALM et outillage

E S E O - AngersMardi 19 février 2013Laurent Guérin

[email protected]

@ltguerin

Page 2: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 2

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 3: Genie logiciel eseo-v1.1-1spp

• « Génie Logiciel » = « Software Engineering »

• « Génie Industriel » appliqué au domaine du logiciel

– méthodes de travail– bonnes pratiques – outils

Notion de Génie Logiciel

?

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 3

– outils – etc..

• Approche industrielle du développement de logiciels – procédures– recherche de fiabilité, productivité, qualité – respect des délais et des coûts – performances– etc..

Page 4: Genie logiciel eseo-v1.1-1spp

• Définition du « Génie Logiciel » :

Notion de Génie Logiciel

« l'ensemble des activités de conception

et de mise en œuvre des produits et des

procédures tendant à rationaliser la

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 4

procédures tendant à rationaliser la

production du logiciel et son suivi »

Journal officiel du 19 février 1984

Page 5: Genie logiciel eseo-v1.1-1spp

• La MOA confie une réalisation à la MOE

Notions de MOA - MOE

M O AMaitrise d’Ouvrage

M O EMaitrise d’Oeuvre

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 5

Maitrise d’Ouvrage

( Maître d’Ouvrage )

Maitrise d’Oeuvre

( Maître d’Oeuvre )

Exprime un besoin et définit . objectifs. budget. calendrier (délais)

Réalise le projet

Page 6: Genie logiciel eseo-v1.1-1spp

Différentes méthodes

Effet tunnelCahier des charges Livraison

Spécification Conception Implémentation Test

« Waterfall »

mode prédictif, rigide

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 6

S C I T S C I T S C I T

« Méthodes Agiles »

mode adaptatif, itératif, incrémental

Page 7: Genie logiciel eseo-v1.1-1spp

Cycle de vie du logiciel

Spécifications et conception Développement Validation interne Recette

• Formaliser le système avec une vision utilisateur• S’assurer que tous les besoins sont pris en compte

• Maîtrise des développements• Points de visibilité pour éviter l’effet tunnel

• Livrer une application de qualité tant d’un point de vue fonctionnel que technique

Gestion de …AvancementReste à fairePlanificationAssurance qualité…

Préoccu-pationsMOA / MOE

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 7

Gestion des exigences

Ateliers de travail et modélisation

Intégration continue

Recette fonctionnelle

Recette techniqueNormalisation de la production technique

ça ne

s’arrête

pas là

Maintenance

(curative et

évolutive)

MCO, …

Page 8: Genie logiciel eseo-v1.1-1spp

Industrialisation

• On s’inspire des principes de l’industrie…

• Notion de « Software Factory »

Industrialisation

Qualité

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 8

• Notion de « Software Factory »

• Mais un logiciel est une œuvre originale , on ne « fabrique » pas 2 fois le même logiciel

Taylorisme ?Fordisme ?Toyotisme ?

Page 9: Genie logiciel eseo-v1.1-1spp

• Les contrôles qualité sont indispensables pendant toute la durée de vie d’un logiciel

• Sinon …

Qualité logicielle

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 9

• Sinon …– Le logiciel subit des évolutions plus ou moins

bien maîtrisées… – Il vieillit, sa qualité se dégrade progressivement– Plus le temps passe, plus il est coûteux de

le remettre à niveaux– On accumule une « dette technique »

Page 10: Genie logiciel eseo-v1.1-1spp

• Métaphore : référence à la « dette financière »• Le coût nécessaire pour remettre le logiciel à un niveau de

qualité acceptable• cf http://techdebt.org/

Notion de « Dette Technique »

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 10

Page 11: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 11

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 12: Genie logiciel eseo-v1.1-1spp

• ALM = « Application Lifecycle Management »

processus global de gestion du cycle de vie de l'application

• Une application a un cycle de vieNaissance, vie et mort …

A L M

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 12

• Elle fait partie du patrimoine de l’organisation/entreprise (elle a une valeur)

• Il faut la gérer et l’entretenir…

Page 13: Genie logiciel eseo-v1.1-1spp

• Le cycle de vie des applications (lifecycle) couvre toute la période durant laquelle une organisation engage des moyens (€, ressources) sur son patrimoine applicatif

Cycle de vie d’une application

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 13

Page 14: Genie logiciel eseo-v1.1-1spp

ALM = Multi-fonctions

Des processus

Des équipes� Productivité

� Collaboration� Partage des connaissances

� Guides� Gestion des risques et des

exigences

Idéalement…

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 14

� Interopérables� Sécurité� Administration

� Outillage� Performances� …

Des technologies

� Partage des connaissances� Gestion de projet

exigences� Méthodes Agiles

Page 15: Genie logiciel eseo-v1.1-1spp

Principaux domaines de l’ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 15

Page 16: Genie logiciel eseo-v1.1-1spp

Des outils et des serveurs

Development

Tool

Design

Documents

Arch. & Design

ToolTest

Tool

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 16

Serveurs

Source Code

VersionsRequirements

Requirements

Tool

Project Statistics

Project

Management

Tool

Test Cases

Page 17: Genie logiciel eseo-v1.1-1spp

• Gestion des exigences

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 17

Page 18: Genie logiciel eseo-v1.1-1spp

• Collaboration / Travail en équipe / Support méthode

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 18

Page 19: Genie logiciel eseo-v1.1-1spp

• Modélisation

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 19

Page 20: Genie logiciel eseo-v1.1-1spp

• Gestion des tâches

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 20

Page 21: Genie logiciel eseo-v1.1-1spp

• Pilotage / Tableaux de bord

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 21

Page 22: Genie logiciel eseo-v1.1-1spp

• Tests fonctionnels

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 22

Page 23: Genie logiciel eseo-v1.1-1spp

• Automatisation des builds

ALM

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 23

Page 24: Genie logiciel eseo-v1.1-1spp

• Qualimétrie

ALM

Analysede code

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 24

Tests unitaireset couverturede tests

Page 25: Genie logiciel eseo-v1.1-1spp

Les principales solutions d’ALM

Parmi les différents éditeurs de solutions ALM, quels sont ceux dont vous connaissez/utilisez les offres ?

« Baromètre 2012 du Développement Logiciel »Etude Borland – MicroFocus novembre 2012

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 25

Page 26: Genie logiciel eseo-v1.1-1spp

Points importants de l’ALM

Classez du plus important au moins important de (1 à 7) les thèmes qui selon vous caractérisent le mieux la démarche ALM

« Baromètre 2012 du Développement Logiciel »Etude Borland – MicroFocus novembre 2012

(700 points possibles)1er (618 points)

2ème (605 points)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 26

2ème (605 points)

3ème (560 points)

Page 27: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 27

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 28: Genie logiciel eseo-v1.1-1spp

Notion de SCM

Revision control

Version control

Source Control

Management

Source Code

SCM ?

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 28

Source control

Source Code

Management

Supply

Chain Management

Software Configuration

Management

Rien à voir !

Page 29: Genie logiciel eseo-v1.1-1spp

• Quelques outils :

SCM

Software Configuration

Management

Source Control

Management

���� PVCS���� CVS� Visual Source Safe

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 29

���� Perforce���� ClearCase

� Visual Source Safe� Subversion ***� BitKeeper� Git ***���� Mercurial Plus complet :

Gestion des demandes d’évolution,Liaison demande – modifications réaliséesGestion des sources uniquement

(fichiers en tous genres)

Page 30: Genie logiciel eseo-v1.1-1spp

Subversion

FSFS

Client Interface Repository Interface

GUI client apps

ClientLibrary

Repositoryaccess

DAV

Apache

mod_dav

mod_dav_svn

Internet(Any TCP/IP Network)

TortoiseSVN

Subversive

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 30

Berkley DB

SubversionRepository

Command lineclient apps

Library

Working Copy Management

Library

SVN

Local

svnserve

(Any TCP/IP Network)

WebClient for SVN

Client Serveur

Page 31: Genie logiciel eseo-v1.1-1spp

• Différents protocoles :

• file:// – Direct repository access to local or network drive.

• http:// – Access via WebDAV protocol to Subversion-aware Apache server.

• https://

Subversion

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 31

– Same as http://, but with SSL encryption.

• svn:// – Unauthenticated TCP/IP access via custom protocol to an svnserve server.

• svn+ssh:// – Authenticated, encrypted TCP/IP access via custom protocol to an svn server.

Page 32: Genie logiciel eseo-v1.1-1spp

• Chaque commit produit un nouveau numéro de révision• Un commit sur Subversion est comparable à une transaction

sur une base de données

Subversion

10

0 1 2 3 4

2 3 4

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 32

1

1

1

1

1

1

1

1

2

2

1

1

1

1

3

2

3

3

4

4

1

1

3

2

3

3

Page 33: Genie logiciel eseo-v1.1-1spp

Subversion – Checkout & Commit

Référentiel

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 33

Copie de travail« working copy »

« Commit »Validation des modifications

Page 34: Genie logiciel eseo-v1.1-1spp

Subversion - Conflits

Harry doit mettre à jour sa copie de travail pour y intégrer les modifications déjà commitées

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 34

Échec du commit“working copy out of date”

Page 35: Genie logiciel eseo-v1.1-1spp

Subversion / Système d’exploitation

En ligne de commande

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 35

Dans l’explorateur de fichiers

Page 36: Genie logiciel eseo-v1.1-1spp

Subversion / IDE

Navigation dansle repository

Exemple :Eclipse + Subclipse

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 36

Visibilité surles différentes révisions

Commandessubversion

Page 37: Genie logiciel eseo-v1.1-1spp

Subversion / IDE

Accès à tout l’historique � comparaison de deux révisions

Révision courante( workspace )

Révision 30 ( repository )

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 37

Page 38: Genie logiciel eseo-v1.1-1spp

Subversion / Internet

Exemple : Google codeNavigateur

Serveur

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 38

SubversionRepository

Page 39: Genie logiciel eseo-v1.1-1spp

• Organisation standard de l’arborescence

Subversion - Arborescence

« trunk »

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 39

« tags »

« branches »

Page 40: Genie logiciel eseo-v1.1-1spp

• Les « tags » pour fixer les « releases »

Subversion - Arborescence

Project 1

Root

trunkLe « tag » est une copie

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 40

tags

Release x.x.x

Le « tag » est une copiedes sources à un instant T

Ex : release 2.1.4

Page 41: Genie logiciel eseo-v1.1-1spp

• Les « branches » pour travailler en parallèle

Subversion - Arborescence

Feature 2

Main line

Feature 1(new UI)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 41

Feature 2(multilingualism)

Il va falloir faire un « merge »Après le « merge » les branches n’ontplus de raison d’être

Page 42: Genie logiciel eseo-v1.1-1spp

• Créé pour le développement du noyau Linux – Distribué – Référentiel local

• Successeur de Subversion ?• NB : suppose une organisation

d’équipe différente• Progression importante depuis 2010

GIT

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 42

• Progression importante depuis 2010( notamment grâce à GitHub : https://github.com/ )

Page 43: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 43

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 44: Genie logiciel eseo-v1.1-1spp

• Maven = = outil Open Source (Apache)d’automatisation des builds

• Dans la lignée de « make » pour Unix, ou « ant » pour Java (en plus puissant)

• Avantages :– Normalisation des répertoires d’un projet– Normalisation de l’identification des « artifacts »

Maven

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 44

– Normalisation de l’identification des « artifacts » (group id, artifact id, version )

– Normalisation du cycle de construction d’un projet ( phases )– Gestion des dépendances ( récupère des artefacts nécessaires sur

des référentiels via internet )– Tout est déclaré dans un fichier : « pom.xml »– Extensible ( système de « plugins » )– Héritage ( « pom parent » )

Page 45: Genie logiciel eseo-v1.1-1spp

• Maven repose sur des conventionsprincipe de « Convention over Configuration » ( CoC )

• Répertoires

Maven

src/main/javasrc/main/resourcessrc/main/webappsrc/test/javasrc/test/resources

Application

Tests

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 45

• Identification des « artifacts » (objet utilisé ou produit par le build)

src/test/resources

Produit

Utilisé

(dépendance)

Page 46: Genie logiciel eseo-v1.1-1spp

Maven – Cycle de vie du « build »

validate

initialize

process-sources

generate-sources

process-test-sources

generate-test-sources

process-test-resources

generate-test-resources

pre-integration-test

integration-test

post-integration-test

Code source

23 phases

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 46

process-sources

process-sources

generate-resources

compile

process-classes

test-compile

test

prepare-package

package

verify

install

deploy

process-test-classes

Page 47: Genie logiciel eseo-v1.1-1spp

Maven – Plugins

Maven a été conçu pour déléguer les traitements à un jeu de

« plugins » associés aux différentes phases.

compilecompiler

test-compile

pom.xml

PluginsPhases

Goalscompile

testCompile

Pour chaque plugin :

1 à N « goals »

test

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 47

surefire

jar

test-compile

test

package

Les plugins sont associés aux phases dans le fichier pom.xml

jar

testJar

javadoc javadoc

aggregateinstall

ejb

etc...

test

ejb

install

Page 48: Genie logiciel eseo-v1.1-1spp

• On invoque Maven en lui indiquant jusqu’à quelle phase il doit exécuter les traitements

• Exemples :

Maven - Commandes

mvn compile

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 48

mvn install

Page 49: Genie logiciel eseo-v1.1-1spp

• Il est également possible de demander l’exécution d’un « goal » particulier

• Syntaxe :mvn plugin_name : goal_name

• Exemples :

Maven - Commandes

mvn compiler:compilemvn jar:jar

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 49

• Dans ce cas seul le goal demandé est exécuté

mvn jar:jarmvn ejb:ejbmvn surefire:testmvn deploy:deploymvn sonar:sonar

Page 50: Genie logiciel eseo-v1.1-1spp

Maven – Autres cycles de vie

pre-site

site

pre-clean

clean

Cycle de vie « clean » Cycle de vie « site »

Nettoyage Génération du site web

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 50

site

site-deploy

post-site

clean

post-clean

mvn cleanmvn post-clean

mvn sitemvn pre-site

Page 51: Genie logiciel eseo-v1.1-1spp

Maven / IDE

Editeur pour le pom.xml

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 51

Page 52: Genie logiciel eseo-v1.1-1spp

Maven / IDE

Gestion des dépendances à partir du pom.xml

Commandes intégrées

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 52

Configurationde « .launch »

Page 53: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 53

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 54: Genie logiciel eseo-v1.1-1spp

Avant l’intégration continue …

• Des phases bien séparées (trop séparées)

Développement Intégration

(tests d’intégration)

Livraison

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 54

Temps

Mais ça c’était avant …

Page 55: Genie logiciel eseo-v1.1-1spp

Intégration continue

http://www.martinfowler.com/articles/continuousIntegration.html

• Principe développé par Martin Fowler :

Pratique de développement dans laquelle les membres d’uneéquipe intègrent leurs travail fréquemment (au moins une fois par jour).Chaque intégration est vérifiée par un « build » automatisé (incluant les tests) afin de détecter les erreurs d’intégrationle plus tôt possible.

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 55

L'intégration continue est le principe de

faire d'un processus d'intégration logiciel

un «non-évènement».

Page 56: Genie logiciel eseo-v1.1-1spp

• Un outil surveille les modifications du code dans le référentiel des sources (SCM)

• Quand un changement est détecté l’outil va automatiquement compiler et exécuter les tests automatisés

• Si une erreur survient (on dit qu’on a « cassé le build »)l’outil va alerter les développeurs pour qu’ils corrigent immédiatement le problème

Intégration continue - Outillage

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 56

immédiatement le problème• Autres fonctions de l’outil :

– surveillance de la qualité du code – métriques de couverture de test – etc…

• L’outil d’Intégration Continue devient un outil de communication

� transparence & management visuel

Objectifs :. maintenir la « dette technique »au niveau le plus bas possible. donner de la visibilité aux indicateurs de qualité (motiver les développeurs)

Page 57: Genie logiciel eseo-v1.1-1spp

• Solutions d’intégration continue :– CruiseControl ( SourceForge )

– Bamboo (Atlassian)– Hudson ( repris pas Oracle)– Jenkins ( fork de Hudson, désaccord du créateur avec Oracle )

Intégration continue - Outillage

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 57

Application Java/web (.war)

Page 58: Genie logiciel eseo-v1.1-1spp

• Il faut indiquer à Jenkins où se trouvent les sources

Jenkins

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 58

SCM au choix :. CVS . Subversion. Git

Page 59: Genie logiciel eseo-v1.1-1spp

Vue d’ensemble

Apports

• Intégration et détection des régressions au fil de l’eau

• Mise à disposition de versions de test

• Production quotidienne de métriques

• Coaching technique

Poste de Développement

CheckStyle Corbertura

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 59

• Coaching technique obligatoire

Automate de Fabrication

RéférentielUnique desSources etComposants

Plugins MAVENCheckStyle, Cobertura, CPD, PMD JavaDOC JDepend, SureFire, XRef

Page 60: Genie logiciel eseo-v1.1-1spp

• Rappel : l’application a un cycle de vie

• Elle doit avoir un niveau de qualité suffisant pour évoluer pendant des années

Qualité

Pensez à celui qui va devoir reprendre le code !

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 60

Pensez à celui qui va devoir reprendre le code !

Page 61: Genie logiciel eseo-v1.1-1spp

• Un tableau de bord pour une vue globale (multi-projets)

Sonar

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 61

Page 62: Genie logiciel eseo-v1.1-1spp

• Un tableau de bord pour chaque projet …

Sonar

Règles non respectées

Compteurs(lignes, classes,.. )

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 62

Complexité cyclomatique(McCabe)

Taux de couverture du code par les tests unitaires

Page 63: Genie logiciel eseo-v1.1-1spp

• Suivi de la qualité du code dans le temps

Sonar

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 63

Page 64: Genie logiciel eseo-v1.1-1spp

1 - Génie logiciel – Introduction

2 - ALM (Application Lifecycle Management)

3 - SCM (Source Code Management)

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 64

4 - Maven

5 - Intégration continue et qualité logicielle

6 - Génération de code

Page 65: Genie logiciel eseo-v1.1-1spp

• Démarche « MDD » classique ( MDA, etc… )• « Model - First » => concevoir un model !

– investissement initial important– nécessite de respecter le processus (formation)

• Incompatible avec un démarrage rapide

Approche « Model First »

MODELService

name X M I

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 65

Code

Part

name

Message

name

0..n+part 0..n

Portname

0..n+port 0..nPort Type

nameBinding

name1

+binding

1

1

+type

1

Paramname

1+message 1

Output

Input

StartWithExtensions

BindingFaultFault

name1

+message

11

BindingOperation

name

0..n+operation 0..n0..1 +input0..10..1+output 0..1

0..n

Operation

name0..1

+input

0..10..1

+output0..1

0..n+fault 0..n

0..n+operation 0..n

11

1

+fault 0..n

X M I( XML )

TemplateTOOL

Page 66: Genie logiciel eseo-v1.1-1spp

• Scaffolding de type « Database - First »• Très efficace ( rapide )• Mais pas d’action possible sur l’outil

de génération • Pas assez d’informations :-(

– Noms/types des attributs Java – Règles de validation : min, max, regexp, …

Approche « scaffolding »

Database

TOOL

Metadata

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 66

– Règles de validation : min, max, regexp, …– Représentation des Booléens

(1/0, "T"/"F", … )– etc …

• Il faudrait ajouter (et conserver) des informations complémentaires… … un modèle ?

Code

Template

Page 67: Genie logiciel eseo-v1.1-1spp

• Combinaison du « scaffolding » et du « MDD »• Scaffolding + un modèle ultra léger pour ajouter des

informations ou modifier les informations issues de la base

Approche « scaffolding + modèle léger »

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 67

Page 68: Genie logiciel eseo-v1.1-1spp

• Démo avec « Telosys Tools » ( plugin Eclipse )

Génération de code

http://marketplace.eclipse.org/content/telosys-tools

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 68

Page 69: Genie logiciel eseo-v1.1-1spp

Annexes

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 69

Page 70: Genie logiciel eseo-v1.1-1spp

Publications Sogeti

� http://www.fr.sogeti.com/presse-et-publications/nos-publications

� WORLD QUALITY REPORT

"The World Quality Report 2012-2013" est le quatrième volet d'une série d'enquêtes annuelles qui examinent l'état de la qualité des applications et des pratiques de test dans toutes les industries.

� Tmap NEXT

Génie Logiciel ( Laurent Guérin - Février 2013 ) | 70

� Tmap NEXT

L'approche de TMap Next’s Business Driven Test Management (BDTM) offre aux managers une panoplie d'outils de test pour traduire les objectifs d'affaires des systèmes d'information explicites et concrètes, les plans de test pragmatique et contrôlables, et ainsi atteindre un meilleur équilibre entre les résultats, les risques, les délais et les coûts.

� TPI NEXT

La démarche numéro 1 dans le monde pour améliorer les processus de test

Livres au format PDF (téléchargement libre)