Ma première journée à la Borland Conf 2003 Par Olivier Destrade (olivier.destrade@vcstimeless.fr)

J'assistais à la première journée de la Borland Conférence, à la recherche de retour d'expérience sur la mise en oeuvre des produits de gestion du cycle de vie du produit (exigences, conception, développement, ...) et d'indices concernant la stratégie produit de l'éditeur.

orland organisait les 10 et 11 décembre dernier sa conférence annuelle destinée aux développeurs, architectes et chefs de projet. Je me suis inscris à cette conférence avec l’intention de glaner quelques idées quant aux outils et méthodes couvrant le cycle de vie du logiciel et l’approche MDA (Model Driven Architecture). Démonstrations, témoignages de mise en application des outils Borland, feed-back de la part d’autres éditeurs... Et enfin, découvrir la stratégie de Borland face à l’hégémonie de Visual Studio .NET de Microsoft.

Je dois avouer que cette première journée m’a laissé un peu de marbre. En réalité, je suis reparti conforté dans l'idée que l’offre en matière d’outils est aujourd’hui loin d'être mature. Celle de Borland en particulier qui brille d'autant plus par l’absence de concurrents sérieux mis à part Rational (mais Rational a du RUP dans l’aile). Les méthodologies MDA ont du mal à décoller faute d’outils cohérents et novateurs. Et Microsoft, dans un tel contexte, est en train de fédérer toutes les initiatives autour de Visual Studio .NET. Borland, enfin, se contentant de brancher ses solutions à la locomotive du géant de Redmond. Les temps changent !

Voici un aperçu des différentes sessions auxquelles j’ai pu assisté :

Keynote Industrie
Promesses, bilan et perspectives de la plate-forme .NET
Dick Lantim, .NET Architect Evangelist - Microsoft France

Pratiquement deux ans après son lancement officiel, Microsoft vous propose un premier état des lieux technique de la plate-forme .NET. Au delà des termes marketing qui ont contribués à son lancement (simplicité, productivité, etc.), ce keynote vous montre comment et pourquoi le framework et son environnement ont tenu leur promesse et comment les termes agilité, unification, interopérabilité, innovation prennent réellement leur sens.

Tout en réalisant cet état des lieux, une introduction aux évolutions sera présentée dans le but de montrer le potentiel de vos applications reposant sur le Framework .NET et découvrir de nouvelles perspectives de création de valeur.


Date : 10/12/2003 Horaire : 14h30-15h30

3004 Versionning des applications .NET
Pierre Chalamet - Neoxia
NET ALM C#B
Dans l'environnement .NET, il est dorénavant possible d'exploiter sur un mÍme poste une application installée dans des versions différentes. Le versionning est donc un formidable outil pour faciliter le déploiement.
Nous aborderons les règles de bases d'un bon versionning d'assemblies : comprendre l'algorithme de résolution des assemblies, le rôle du Global Assemblies Cache (GAC), les inconvénients du versionning, comment assurer une compatibilité lors des montées de version.
Au-delà de ces règles nous verrons comment le versionning impacte les services exposés par Remoting, les Serviced Components, la sérialisation des objets, les composants COM.
Connaissances requises : Les bases de .NET
Date : 10/12/2003 Horaire : 10h15


4008 Intégration des exigences projet dans un processus de développement UML (avec le framework Caminao)
Rémy Fannader - Caminao
MOD ALM CRM TGR
Les processus de développement traditionnels, unifiés ou non, reposent sur un découpage administratif des activités qui ne tient pas compte des contenus modélisés ; de ce fait l'intégration des flux, entre expression des besoins et développement des applications, se limite généralement à un seul aspect du problème : l'intégration des modèles et des produits ("roundtrip").
Avec UML (pour les contenus) et XMI (pour les formats) on dispose désormais de standards permettant de normaliser la description des flux échangés entre les différents outils utilisés tout au long du cycle de vie des applications ; on peut donc construire des processus de développement qui soient à la fois agiles (adaptés aux projets et à l'organisation des équipes) et rigoureux (les flux peuvent Ítre qualifiés).
Cette session abordera les points suivants :
- Nature des informations fournies par l'exigence des besoins: spécifications (exécutables ou non), activités, éléments de qualification.
- Stéréotypage des spécifications avec le Framework Caminao (jalons et livrables du projet).
- Initialisation des projets à partir des profils et tâches élémentaires définis par le framework Caminao (activités).
- Initialisation du Plan Qualité a
Date : 10/12/2003 Horaire : 11h45


1109 Développer rapidement dans un cadre structuré
Jean Degos - Aston
AMP ALM
A
nalyse de quelques idées préconÁues :
" le développement objet est peu efficace", "La modélisation, c'est bon pour les petits projets", "La qualité et les méthodologies projet sont chronophages", "Utiliser un framework revient plus cher qu'un développement spécifique"…Il n'y a pas de fumée sans feu. Comment dépasser ces difficultés avec une démarche projet structurée et une bonne intégration des outils de modélisation.
La démarche sera illustrée par la présentation d'outils et de solutions.
Date : 10/12/2003 Horaire : 15h45


Versionning des applications .NET : Pierre CHALAMET (Neoxia)

Cette présentation avait pour objet une présentation des fonctionnalités du Framework .NET en matière de versionning : le GAC, la promotion et le chargement d'assembly, fichiers de configuration... Un contenu intéressant pour un néophyte mais une simple lecture de la littérature spécialisée aurait tout aussi bien pu faire l'affaire.

Intégration des exigences projet dans un processus de développement UML : René FANNADER

Caminao a développé un Framework visant à mettre en oeuvre une approche MDA respectant trois niveaux de modèles conceptuel, logique, physique. Le Framework est constitué de stéréotypes permettant de modéliser les différents éléments des modèles, d’assurer une traçabilité d’un niveau à l’autre, et d’intégrer cette modélisation dans le processus de développement.
Il s’agit là d’une initiative intéressante, qui apparaît bien fondée sur le plan théorique, mais moins convaincante sur le plan des outils et de l’implémentation pratique.
 
René FANNADER a d’abord présenté les fondements de la démarche MDA :

  • Développement piloté par les modèles
  • Phases définies par l'entreprise (livrables)

Puis il a ensuite identifié les tâches identifiées par modèle en fonction du projet :

- Modèles:

CIM: Computation Independent model = conceptuel
PIM: Plateform Independant Model = logique
PSM: Plateform specific model = modèle physique
Components & Application = les produits
 
Gestion des exigences : une exigence est informelle du fait qu’elle est fournie directement par un client ou un utilisateur. Les exigences sont liées à chaque phase de développement :

Phase de développement

Type d’exigence

Modèle

Analyse

Métier

CIM

Conception

Fonctionnel

PIM

Réalisation

Technique

PSM

Déploiement

Contraintes (performance, doc, reprise, etc.)

Produit

Si l’on considère le cycle de vie complet du produit (recueil, développement, évolution), il est nécessaire de gérer le changement et de maintenir une traçabilité entre les exigences et produits.
 
René FANNADER a également évoqué l’utilisation des outils Borland dans cette approche. Tout d'abord, la gestion des exigences avec Caliber RM : Les entrées (exigences) sont filtrées en distinguant 3 types d'exigence: métier, fonctionnelles, non fonctionnelles :

  1. Métier: agent/responsabilité; domaines; activités
  2. Fonctionnel: persistance/interactions
  3. Non fonctionnel: divers

La transition vers UML s’effectue en définissant des stéréotypes qu’il est possible d’associer aux exigences dans Caliber RM. Ces stéréotypes permettent d’instancier des objets (acteur, use case, classe...) dans le modèle UML géré avec Together. Il est notamment possible de spécifier des dépendances, soit imbriquées, soit partagées entre les éléments UML et les exigences. La validation des exigences quant à elle, s’effectue au même niveau que le rattachement au modèle, en remontant l'arborescence : saisie des jeux d'essais (métier), création des plans de tests d'intégration ; le développeur crée son plan de test unitaire à partir du plan de test métier ; Le plan de test système part des exigences non fonctionnelles.

La solution proposée par Caminao présente des avantages majeurs : exhaustivité, cohérence et lisibilité. L’utilisation de Caliber RM ne m’a toutefois pas convaincu de par deux aspects. Tout d'abord, l’utilisation du même outil, le modèle conceptuel (métier), le modèle fonctionnel et les contraintes produit se retrouvent dans le même modèle. Il est donc nécessaire de jouer avec la hiérarchie de classement pour distinguer les niveaux. De plus, à la différence de Together qui implémente UML/XMI, Caliber RM ne propose pas de schéma standardisé des exigences (processus métier) ni un format de modèle normalisé.

Keynote de Dick Lantim - Microsoft

Cette présentation de la roadmap de MicroSoft n’avait rien de nouveau : Whidbey, LongHorn, WinFx... Une nième contribution à la vision de la feuille de route Microsoft serait déplacée ici.
Seul intérêt de l’évènement : le cadre ! La promotion de Visual Studio .NET en attraction phare de la conférence Borland ne manquait pas de surprendre. On se demande vraiment se que Borland compte faire de C#Builder. D’ailleurs, nous leur avons directement posé la question: « C#Builder s’adresse à des organisations qui souhaitent gérer l’ensemble du cycle de vie du produit avec la même suite de produits ». Discours commercial qui cache mal la réalité : Visual Studio .NET, en se rendant incontournable, fait obstacle à toute stratégie de couverture horizontale de l’ingénierie du logiciel. Les éditeurs tels Borland sont bel et bien contraints d’adopter un modèle commercial basé sur les plug-in de l’atelier de développement de Microsoft.

Développer rapidement dans un cadre structuré - Jean Degos - Aston

Jean Degos nous a présenté la démarche d'organisation du développement adoptée chez Aston. Aston réalise des projets au forfait allant de 300 à 10000 jours/hommes sur différentes plateformes.
 
Méthodologie de projet:
La méthodologie ASTON est formalisée et publiée au travers d'un outils interne, Elisa. Cet outil comprend un référentiel documentaire stockée sur une base de données et exploité sur un site intranet. Le système permet également de générer de la documentation dans une forme adaptée au client du projet.
Les paragraphes ci-dessous décrivent certains aspects de ce référentiel:
 
Conception:
Un guide d'architecture propose une vision de haut niveau, multi plateformes, de conception des architectures. Le bénéfice du guide est de faciliter l'intégration et la communication (partage d'un même vocabulaire…).
D'autre part, des documents spécifiques à chaque plate-forme proposent des briques de conception permettant de résoudre des cas courant. Enfin, des guides de mise en œuvre fournissent une aide méthodologique concernant les outils, les middleware, UML, etc.
 
Maintenance:
Un outil de suivi des anomalies a été mis en place, ainsi qu'un outil d'analyse d'impact, d'audit qualité du code.
 
Développement:
Le Framework interne est également documenté dans la base de connaissance.
D'autre part, des tableaux de bord projet exploitent les données issues de MS Project et favorisent la transparence vis à vis du client: celui-ci peut consulter à tout moment l'état d'avancement d'un projet.
 
Modélisation UML:
Aston a réalisé sont propre outil de génération de code à partir de diagrammes UML. L'intérêt est la maîtrise interne du code généré. Mais ce choix est avant tout lié au fait que Aston adresse des plateformes technologiques différentes qui l'obligerait à multiplier les outils de génération de code du marché. D'autre part, le générateur maison exploite des méta données du schéma XMI qui sont spécifiques à ASTON. Un outil tel que Together permet en effet de personnaliser le schéma UML en ajoutant ses propres méta données.
D'autre part, le générateur de code développé chez Aston utilise des composants tels que Velocity ou AxGen.
 
La question qui reste sans réponse concerne la capture des règles de gestion métier dans le modèle UML.
 
En conclusion, Aston fait la démonstration d’une organisation rigoureuse, bien adaptée à l’activité de service au forfait. A base de recettes éprouvées, et sans être révolutionnaire, cette expérience peut être saluée comme une mise en oeuvre réussie d’un système qualité d’ingénierie logicielle.
 

Olivier Destrade est Responsable méthodes chez l'éditeur VcsTimeless, société spécialisée dans la livraison de solutions informatiques pour la distribution non alimentaire et le commerce spécialisé. Il était l'envoyé spécial de DNG à la Borland Conf pour la première journée.
 


 L
a Borland Conference 2003 : http://www.borland-events.com/conf2003/