Développement ebusiness Cédric Pulrulczyk ( cedric.pulrulczyk@alcatel.fr ) Alcatel Université Lille I March 2005
Plan Analyse des besoins Méthodologie XP Modélisation UML Outil de développement Tests et montée en charge Déploiement (serveur applicatif) Ouverture de service
Cycle de vie ebusiness E-initiative Identification E-initiative Opportunity phase E- initiative definition E-services definition E-services Implementation E-services Operation Describe the user experience of the E-Initiative Detail the user interface and behavior of the feature set of the E-Initiative Serve as a reference during the E-Services definition and implementation Serve as a reference for user acceptance Serve as a reference for managing changes to both design and development
Méthode traditionnelle temps phase Analyse de besoins Conception Implémentation Tests Mais tout n était pas si bien Exigences au compte-goûte, contradictions, changements d avis, mauvaises estimations sur l avancement du projet, retours en arrière entre forteresses opaques (suspicions) Le coût des remises en cause était trop élevé : I > 10 x A ; T = 10 x I [Alistair Cockburn]
Cycle itératif et incrémental A C D T Itération A C D T A C D T Réorganisation Phase vs. Workflow (activités) Rapprochement dans le temps : année mois semaines Mais tout n était pas encore si bien Beaucoup trop d échanges Opacité, suspicion Question folle Et si l on poussait cette organisation à l extrême?
XP = Extreme E Programming Manipulations génétiques Le client est le meilleur testeur Le développeur fait aussi de la conception légère + = + = PACS Travail en binôme sur une même machine Collectivité : tout le monde sous un même toit (pièce) / Histoires courtes (stories) Regroupement de spécifications par des histoires courtes : semaines -> jours -> heures coût + choix = caddie (uses cases)
XP = Extreme E Programming Un processus léger Pour projets / spécifications très dynamiques Participants Le client, les développeurs, le chef de projet Comment çà marche? Jeu de planification Conception très légère, codage, test unitaires Refactoring, test Principes La chose la plus simple qui puisse marcher Pilotage par la valeur ajoutée et le feedback rapide
XP = Extreme E Programming XP (extreme Programming) = un processus léger pour des applications à spécifications très évolutives, dédié aux petites équipes. Très utile pour les sections critiques, «cerveau virtuel», la passation de connaissances, formateur, vigilance accrue. Au départ : Kent Beck, retour d expérience, communauté, livres, arguments et évangélisation De plus en plus de témoignages. Les grands éditeurs adhèrent : Borland, IBM, Microsoft. Question légitime et prétexte exploratoire : qu est-ce qui empêche une adoption à une échelle plus large
Planification client chef de projet programmeurs Définit les fonctionnalités Estiment la charge Estime la vitesse Choisit les fonctionnalités Construisent les fonctionnalités [ nouvelle itération ] OM
Modélisation Unified tout le monde le parle... Modeling construction de modèles [OO] Language alphabet+dictionnaire+grammaire
Rappel de la notation UML Système Modèle Vue Ce que l on veut modéliser (application / organisation) Description du système Concepts Acteur, cas d utilisation Objet, classe, attribut Diagrammes de Cas d utilisation, Classe, Objet Séquence, Collaboration, État, Activité Composants et Déploiement Symboles Icônes spécialisées : classe, objet
Diagramme d'activités Activité Proposition Inscription Flux Accueil Couloir Session
Diagramme de classes P ers onne # Nom : S tring + S oc iété : S tring + em ail : S tring < < A c tor> > P artic ipant Ins c ription() * * * Con férenc e * < < A c t or> > O rganis ateur A c c ueil() Ins c ription + DateIns c ription : Date * Thèm e * SessionS s + Code : S tring * nom : String + orateur code : Integer es t anim ée par * 1 < < Ac tor> > Intervenant
Diagramme de séquence : O rganis ateur : P artic ipant : Conférenc e Ins c ription(date, Conférenc e) A c c ueil (P artic ipant) E ntrée( )
Diagramme de collaboration 1 : In s crip tio n (D a te, C o n fé re n ce ) 3 : E n tr é e ( ) : C o n fé re n ce 2 : Accu e il(p a rticip a n t) : Org a n is a te u r : P a rti cip a n t
Diagramme d'état-transition Invitable Invitat ion Invité Clas s e = P artic ipant Ins c ription fin c onférenc e Ins c rit E ntrée B adgé
Diagramme d'implémentation
Outils de développement : JBuilder Structures de code prédéfinies Complétion Refactoring
Débogage
Outils de développement en // : CVS
Tests unitaires : JUnit
Montée en charge : JMeter