96846966-AGL-Windev1

Embed Size (px)

Citation preview

  • Atelier de GAtelier de Gnie Logicielnie Logiciel

    Illustration avec Illustration avec WindevWindev

    Option Gnie InformatiqueMaster SISProfessionnel

    [UE GL 7)

    Atelier de GAtelier de Gnie Logicielnie Logiciel

    Illustration avec Illustration avec WindevWindev

    A. Larhlimi

  • 2 / 53Cours Atelier de Gnie Logiciel -

    Planning de sessionsPlanning de sessions

    3 sances de cours 2 sances de TP 1 sance de cours 2 sances de TP 1 cours 1 sance de TP

    1 sance en rserve Cours/TP planifie

    Notation : Mini Projet de Conception/dveloppement Web avec Windev Conception en 2 temps : prvisionnel simplifi / recette Soutenance/dmonstration => note individuelle

    A. Larhlimi

  • 3 / 53Cours Atelier de Gnie Logiciel -

    Ressources (Atelier de) GRessources (Atelier de) Gnie Logicielnie Logiciel

    Software Engineering : Principles and Practice. H. V. VLIET. 2nd ed. J. Wiley & sons Ltd.

    Analyse de systme oriente-objet et gnie logiciel: Concepts, mthodes et application. G. LEVESQUE. Chenelire/Mc Graw-Hill.

    Gnie Logiciel, Jacques PRINTZ Que Sais-Je N 2956. PUF. Ingnierie des Systmes dInformation : MERISE. D. NANCI, B.

    ESPINASSE et al. 4me ed. Vuibert. Guide to CASE adoption K.S. OAKES, D. SMITH, E. MORRIS, Tech.

    Report Software Engineering Institute - Carnegie Mellon Univ. Et de manire plus gnrale :

    http://www.sei.cmu.edu/legacy/case/case_whatis.html Xtreme Programming :

    http://www.extremeprogramming.org/ http://c2.com/cgi/wiki?ExtremeProgramming

    A. Larhlimi

  • 4 / 53Cours Atelier de Gnie Logiciel -

    Ressources Ressources WindevWindev & Outils& Outils

    Liste dAGL par catgorie : http://www.cs.queensu.ca/Software-Engineering/toolcat.html

    Documentation commerciale des produits mentionns. http://www.pcsoft.com/windev http://www.sybase.com/products/internetappdevtools/powerbuilder http://www.rational.com/products/dstudio http://www.oraclecom/ip/develop/ids/editions.html http://www.objecteering.com

    Guide dAutoFormation. PC Soft Edition. Site de l Association des dveloppeurs Windev.

    http://www.windevasso.org

    A. Larhlimi

  • 5 / 53Cours Atelier de Gnie Logiciel -

    Plan du support de coursPlan du support de cours

    I (Atelier) Gnie Logiciel : IntroductionII Premiers Pas avec Windev

    III Programmation procdurale avec Windev : le W-Language

    IV Programmation graphique avec WindevV Dveloppement dApplications grant

    des Bases de Donnes

    VI Complments

    A. Larhlimi

  • 6 / 53Cours Atelier de Gnie Logiciel -

    1. (Rappels) sur le GnieLogiciel

    2. Quest ce quun Atelier de Gnie Logiciel

    3. Prsentation gnrale de Windev

    II -- ((Atelier deAtelier de)) GGnie Logiciel nie Logiciel ::IntroductionIntroduction

    A. Larhlimi

  • 7 / 53Cours Atelier de Gnie Logiciel -

    ContexteContexte

    Gnie Logiciel propose : Mthodes (gestion de projet, conception, dveloppement, )

    Formalismes (UML, SADT, Z, )

    Techniques (normes, )

    Atelier de Gnie Logiciel propose :

    Assistance au

    automatisation du

    Systmatisation du

    1. Introduction1. Introduction

    GL dans tout le cycle de vie

    d'un projet informatique

    A. Larhlimi

  • 8 / 53Cours Atelier de Gnie Logiciel -

    (Rappels) sur le G(Rappels) sur le Gnie Logicielnie Logiciel

    Dfinition du terme Logiciel (Software):

    Le logiciel est l'ensemble des programmes, procds et rgles, et

    ventuellement de la documentation, relatifs au fonctionnement d'un ensemble

    de traitement de l'information.

    Dfinition du terme Gnie Logiciel (Software Engineering):

    Le Gnie Logiciel (GL) est l'ensemble des activits de conception et de mise en uvre des produits et procdures tendant rationaliser la production du

    logiciel et son suivi.

    L'art de spcifier, de concevoir, de raliser, et de faire voluer, avec des moyens et dans des dlais raisonnables, des programmes, des documentations

    et des procdures de qualit en vue d'utiliser un ordinateur pour rsoudre certains

    problmes.

    1. Introduction1. Introduction

    A. Larhlimi

  • 9 / 53Cours Atelier de Gnie Logiciel -

    Le cycle de vie dLe cycle de vie dun logiciel : modun logiciel : modle en cascadele en cascade

    WaterFall Model attribu Royce. Il dfinit clairement les

    diffrentes tapes du cycle de dveloppement dun logiciel

    Analyse des besoins[Faisabilit]

    V & V

    Problme

    Spcification

    V & V

    Implmentation

    V & V

    Test

    V & V

    Maintenance

    V & V

    Tests unitairesTests dintgration

    Mise jour, correctifsGestion des configurations

    mais il demeure idaliste voire irraliste : le cot des allers-retours est sous-estim. difficult pour effectuer lanalyse des besoins : problme de communication Client Informaticien

    V & V :Vrification : le systme rpond aux besoins identifis la phase prcdente.Validation : le systme rponds aux besoins du client.

    1. Introduction1. Introduction

    A. Larhlimi

  • 10 / 53Cours Atelier de Gnie Logiciel -

    Le cycle de vie dLe cycle de vie dun logiciel : modun logiciel : modle en Vle en V

    Les premires tapes prparent tapes finales (ex : lors de lanalyse des besoins on propose des

    tests de validation)

    Toute activit de dcomposition doit prvoir la phase de recomposition (amlioration de lintgration)

    Cependant : hypothse de squencialit forte, prise en compte du maquettage absente, pas de prise en

    compte de lvolution du cahier des charges.

    Analyse des besoins - Faisabilit

    Installation et test systme

    Spcification

    Conceptionarchitecturale

    Conceptiondtaille

    Implmentation

    Test dacceptation

    Intgration et test dintgration

    Test unitaire

    Validation

    Vrification

    1. Introduction1. Introduction

    A. Larhlimi

  • 11 / 53Cours Atelier de Gnie Logiciel -

    Le cycle de vie dLe cycle de vie dun logiciel : modun logiciel : modle en Spiralele en Spirale

    1. Introduction1. Introduction

    Dtermine Objectifs Alternatives, Contraintes

    Pcpes

    Specifications

    Conception

    Tests &installations

    Mise e

    n

    oeuv

    re

    Con

    cept

    ion

    dta

    ille

    PrototypesPlan

    specs

    Plans dev.

    PlanIntegration

    Evalue les alternatives : value et rsoudles risques.

    A.R.

    Analyse dsRisques

    Dvelopper, vrifier, changement de version de logiciel

    Plan,Phase suivante

    Analyse des Risques

    Analyse des Risques

    A. Larhlimi

  • 12 / 53Cours Atelier de Gnie Logiciel -

    Xtreme Xtreme ProgrammingProgramming : : prprsentation gsentation gnnralerale

    Approche alternative au dveloppement dapplications logicielles. Prend le contrepied des autres mthodologies (qualifies de BigDesignUpFront) en rduisant limportance de la phase danalyse et de conception au minimum.

    Suit la logique des mthodologie de type RAD (Rapide Application Development) Efficace sur des projets de taille petite moyenne Gestion des risques (volution de lexpression des besoins)

    Lobjectif final est le code : un programme qui rpond aux besoins du clients, test et structurellement le plus simple possible. La complexit est gre par des cycles itratifs.

    Intgre largement la dimension humaine du projet. Rsultat : propose une srie de principes, de pratiques : presque unephilosophie plutt quune mthode.

    1. Introduction1. Introduction

    A. Larhlimi

  • 13 / 53Cours Atelier de Gnie Logiciel -

    Xtreme Xtreme ProgrammingProgramming : : PrincipesPrincipes

    Simplicit : aller au plus simple et complexifier si ncessaire (donc ne pas aller tout de suite au maximum de gnricit du code ou de larchitecture. Il le sera si ncessaire au prochain cycle de production)

    Communication : entre tous les acteurs. Concernant le client lusage de mtaphores (barrire de langage client dveloppeur), dhistoires (user stories) est recommand.

    Retours dinformations (feedback) de tous les acteurs du processus Dveloppement tir par les tests : crit ds le dbut. Dveloppement tir par les besoins du clients : user story exprim laide de cartons.

    Refactoring ou reconception du code Une fois quil marche rcriture du code pour le simplifier.

    Etc.

    1. Introduction1. Introduction

    A. Larhlimi

  • 14 / 53Cours Atelier de Gnie Logiciel -

    Xtreme Xtreme ProgrammingProgramming : : Gestion de projetGestion de projet

    1. Introduction1. Introduction

    PlanificationDe livraison

    Testsde validation

    PetitesLivraisons

    Tests des scenarii

    Accordclient

    Itration suivante

    bugs

    Histoiresdutilisateur

    cueilarchitectural

    cueil

    Itration

    Nouvel Histoire dutilisateurVitesse du projet

    MtaphoreDu systme

    EstimationDe dlaisincertaines

    EstimationDe dlaiscertaine

    Dernire

    version

    A. Larhlimi

  • 15 / 53Cours Atelier de Gnie Logiciel -

    Xtreme Xtreme ProgrammingProgramming : : ItItrations rations

    1. Introduction1. Introduction

    PlanificationDe livraison

    Planification d1 Itration

    TestsDe validation

    Runiondebout

    Programmation par binme

    Test unitaire

    Code

    Ngociationbinme

    mois

    semaines

    Jours

    1 journe

    Heures

    Minutes

    Secondes

    A. Larhlimi

  • 16 / 53Cours Atelier de Gnie Logiciel -

    Cas particulier SI : le CDM dCas particulier SI : le CDM dOracle 1/2Oracle 1/2

    Exemple de mthode de ralisation de SI propose par les services

    consulting dditeurs de logiciels intgrant leurs produits.

    Oracle CDM - Custom Development Method

    partie dveloppement de la mthode globale dingnierie des SI Oracle MethodSM

    (aspects stratgiques, business reengineering, Gestion de projet etc.)

    couvre le cycle de vie de dveloppement de SI Informatis.

    bas sur une dmarche systmique

    Dclin sous deux dnominations :

    CDM Classic : approche linaire en phases distinctes

    CDM Fast Track : un concept RAD (Rapid Application Development) bas sur DSDM (Dynamic Systems Development Method) postulant le prototypage, le dveloppement et la fourniture d'artefacts itratifs

    et incrmentaux, le timeboxing (jalonnement), l'analyse de la valeur et une validation continue.

    1. Introduction1. Introduction

    A. Larhlimi

  • 17 / 53Cours Atelier de Gnie Logiciel -

    Cas particulier SI : le CDM dCas particulier SI : le CDM dOracle 2/2Oracle 2/2

    Dfinition Analyse Conception Implmen-tation

    Transition Production

    Dfinition des besoins

    Examen de lexistant

    Architecture technique

    C & I de la BD

    Formation

    Documentation

    Test

    Maintenance postdploiement

    C & I = Conception et Implmentation

    C & I de modules

    Transition

    Conversion de Donnes

    1. Introduction1. Introduction

    A. Larhlimi

  • 18 / 53Cours Atelier de Gnie Logiciel -

    Dveloppem

    ent du produtfinal

    D

    v

    e

    l

    o

    p

    p

    e

    m

    e

    n

    t

    d

    e

    l

    a

    m

    a

    q

    u

    e

    t

    t

    e

    La solution du maquettage 1/2La solution du maquettage 1/2

    Analyse des besoins

    Spcification

    Implmentation

    Test

    Tests de vrification de la maquette et validation par le client

    Spcification

    Implmentation

    Test

    Maintenance

    1. Introduction1. Introduction

    A. Larhlimi

  • 19 / 53Cours Atelier de Gnie Logiciel -

    La solution du maquettageLa solution du maquettage

    Lanalyse des besoins est effectue via la maquette :

    Requiert un langage/des outils de dveloppement de haut niveau pour pouvoir dvelopper trs rapidement

    une version simplifie, avec moins de fonctionnalit, soulve immdiatement les erreurs dinterprtation des besoins du client.

    2 types de stratgies : Prototype jetable : une fois valid, on ne garde du prototype que la coquille : tout est redvelopp (ex: autre language et autres technologies).

    Prototype incrmental : le dveloppement se poursuit sur les mmes bases.

    1. Introduction1. Introduction

    A. Larhlimi

  • 20 / 53Cours Atelier de Gnie Logiciel -

    Qu'est ce qu'un Atelier de GQu'est ce qu'un Atelier de Gnie Logiciel ?nie Logiciel ?

    Dfinition du terme Atelier de Gnie Logiciel (AGL) :Outil informatique aidant la production d'un logiciel. Il assiste la dmarche

    de Gnie Logiciel poursuivie.

    Le terme anglais est plus explicite CASE tools (Computer Aided

    Software Engineering).

    Objectif : Automatisation maximale du processus dune partie ou tout le processus de dveloppement du logiciel ...

    objectif pondr par la ralit du terrain.

    => Implique dassister les phases du cycle de vie du logiciel

    1. Introduction1. Introduction

    A. Larhlimi

  • 21 / 53Cours Atelier de Gnie Logiciel -

    CatCatgories d'AGLgories d'AGL

    Les AGL peuvent tre classs selon plusieurs aspects :

    richesse du support : ensemble d'outils, outils intgrs, aide la dmarche.

    type de problmes : logiciels embarqus, temps rel, "business applications", applications mtiers

    type de projet dingnierie logicielle : dveloppement logiciel (cf. cycle de vie), intgration de systmes, systme base de connaissance.

    Ampleur du projet : complexit, nombres de participants, dure ...

    Gestion des ressources du projet : les considrations managriales des ressources mises en uvre dans le projet sont elles prises en compte ? (planification, ordonnancement, ).

    Phase du cycle de dveloppement prises en compte : conception et/ou dveloppement.

    1. Introduction1. Introduction

    A. Larhlimi

  • 22 / 53Cours Atelier de Gnie Logiciel -

    Classification basClassification base sur le cycle de de sur le cycle de dveloppementveloppement

    Analyse des besoins

    SpcificationConception

    Implmentation

    Intgration

    Maintenance

    Orient conceptionUpper CASE tools

    Orient ralisationLower CASE tools

    Windev

    => Eclipse + Plugins (omodo, )

    D

    O

    C

    U

    M

    E

    N

    T

    A

    T

    I

    O

    N

    Q

    U

    A

    L

    I

    T

    E

    PowerDesigner

    PowerBuilder

    1. Introduction1. Introduction

    G

    E

    S

    T

    I

    O

    N

    D

    E

    P

    R

    O

    J

    E

    T

    G

    E

    S

    T

    I

    O

    N

    D

    E

    C

    O

    N

    F

    I

    G

    U

    R

    A

    T

    I

    O

    N

    S

    A. Larhlimi

  • 23 / 53Cours Atelier de Gnie Logiciel -

    Fonctions transversales dFonctions transversales dun AGLun AGL

    1. Introduction1. Introduction

    Sorte Meta-AGL : en fonction du type de mthodologie retenue (RUP, Merise,) loutil assiste la mise en uvre de la mthode (IBM Rational Method Composer) // avec SPEM.

    Gestion de processus GL

    Etendu aux autres productions (documentation, diagramme, )

    Gestion de Configurations

    Editeurs de texte (code, aide, ) dimages, diagramme etc

    Documentation

    Gestion utilisateurs, droits accs, communication,

    Outils collaboratifs

    Outils de Planification, calculs de cots, suivi de projet (ex MS Project), de tableurs,

    Gestion de projet

    Type doutilsActivit

    Participent toutes les phases de dveloppement et maintiennent la cohrence entre les phases.

    A. Larhlimi

  • 24 / 53Cours Atelier de Gnie Logiciel -

    AGL OrientAGL Orient ConceptionConception

    Assistent la phase initial du projet de dveloppement.

    Fortement bas sur des paradigmes (Orient Objet), des mthodes de conception et les formalismes associs (ex : RUP/UML, Merise/E-R, ...).

    Proposent des outils d'ditions graphiques de ces formalismes.

    Proposent une assistance pour la gnration de documentation.

    Peuvent proposer un outil de prototypage (gnration automatique partielle de code)

    et ventuellement de reverse engineering (cration de reprsentations graphique dans un formalisme donn partir de code source existant).

    1. Introduction1. Introduction

    A. Larhlimi

  • 25 / 53Cours Atelier de Gnie Logiciel -

    Fonctions assistant la conceptionFonctions assistant la conception

    Analyse de lexistant, reverse Engineering, RIngnierie

    Editeur graphique intelligent (vrification/validation diagramme par ex), dictionnaire de donne

    Support mthodologique

    Gnrateurs dIHM, gnration de code automatisou assist, langage haut niveau, interprteurs ou compilateurs ddis

    Prototypage

    Surtout graphique pour exprimer des concepts (expression des besoins) ou mettre en oeuvre les formalismes des mthodes slectionnes.

    Edition

    ExemplesActivit

    Participent toutes les phases de dveloppement et maintiennent la cohrence entre les phases.

    1. Introduction1. Introduction

    A. Larhlimi

  • 26 / 53Cours Atelier de Gnie Logiciel -

    Quelques AGL OrientQuelques AGL Orients Conceptions Conception

    Win'Design de CECIMA.

    PowerDesigner de Sybase. Bass sur Merise et UML (spcialis dans le dveloppement de SI).

    Oracle Designer d'Oracle Corporation.

    Rational Suite AnalystStudio, Rational Rose. Bass sur UML (toute application base sur l'approche objet voir galement dveloppement SI) + Rational Rose Unified Process (support mthodologique).

    Objecteering de SoftTeam. Bas sur UML.

    Eclipse bientt ? (http://www.eclipse.org) (ex. plugin UML, )

    1. Introduction1. Introduction

    A. Larhlimi

  • 27 / 53Cours Atelier de Gnie Logiciel -

    AGL OrientAGL Orient RRalisationalisation

    Niveaux d'assistance :

    Outils de dveloppement : diteur, compilateur, debugger, profiler, gestion de version, multi-utilisateurs. Ex : Unix

    Environnements de Dveloppement Intgr : idem mais regroups au sein d'une seule interface et intgrs entre eux. Ex : Turbo C++.

    Environnement de Dveloppement Rapide : idem avec facilitd'automatisation de certaines tches de programmation (e.g. interfaces graphiques). Ex : Visual x, JBuilder, NetBeans, Eclipse ...

    Atelier de Gnie Logiciel : idem avec support tendu aux autres phases du cycle de dveloppement du logiciel (spcification, conception, dploiement ). Ex: WinDev

    I

    N

    T

    E

    G

    R

    A

    T

    I

    O

    N

    1. Introduction1. Introduction

    A. Larhlimi

  • 28 / 53Cours Atelier de Gnie Logiciel -

    Fonctions assistant le dFonctions assistant le dveloppementveloppement

    Compilateurs, diteurs de liens, outils de construction de code (make, ant), interprteurs, debugger,

    Compilation

    Gnrateurs de documentation technique, Documentation

    Outils de benchmarking, gnration / excution / analyse de scnarii de tests, analyseur de code / optimiseur (profiler)

    Tests

    Framework (Struts, JDO,), vrification de respect de normes de codage (ex. Checkstyle), Dictionnaire de donnes,

    Programmation

    Passerelle Conception/DveloppementSupport mthodologique

    Gnrateurs dIHM, langage haut niveau, Dveloppement rapide

    Outils de gestion de versions (CVS), construction dapplication, installateurs,

    Gestion de configuration

    Editeur de code avec aide maximale lutilisateur (compltion code, )

    EditionExemplesActitiv

    1. Introduction1. Introduction

    A. Larhlimi

  • 29 / 53Cours Atelier de Gnie Logiciel -

    Zoom sur Eclipse : configuration AGLZoom sur Eclipse : configuration AGL

    1. Introduction1. Introduction

    IBM RationalMethod Composer

    Eclipse

    CodePro Profiler

    Subversive(Subversion)

    SWTDesigner

    "Gestion de projet"Polarion Track & Wiki

    Configuration titre indicative base sur une analyse fonctionnelle et non teste intensively

    Log4E

    ArgoEclipse

    Eclipse Plugin

    Contientdj

    diteur, compilateur, debugger, gnrateur javadoc, EMF

    Mojo(build tool)

    eDatabase

    A. Larhlimi

  • 30 / 53Cours Atelier de Gnie Logiciel -

    Zoom sur la gestion de configurationZoom sur la gestion de configuration

    Se proccupe de la fin du cycle de dveloppement : Suivre, prvoir les modifications y compris dans les autres phases (planification, conception, etc)

    Suivre, intgrer les versions (ex: version grand public et professionnelle), et leur gnration.

    Correctifs et mise jours des anciennes versions ne se limitant pas une dsinstallation et une rinstallation.

    Suivi des versions livres (ex: identification des logiciels concernes par une faille de scurit sur un DLL).

    => Implique beaucoup de rigueur dans le codage et les documentations techniques parfois incompatible avec les aspirations cratives des dveloppeurs.

    1. Introduction1. Introduction

    A. Larhlimi

  • 31 / 53Cours Atelier de Gnie Logiciel -

    Quelques AGL OrientQuelques AGL Orients Rs Ralisationalisation

    Windev de PCSoft. Bas sur Merise (applications BD)

    PowerBuilder de Sybase (PowerSoft). Approche orient objet (applications BD).

    Oracle Developer de Oracle Corporation. (applications BD).

    SafeBuild de TNI-Valiosys. Bas sur UML (dveloppement dapplications temps-rel).

    Rational Suite Development Studio de Rational Software. Bassur UML. Applications OO.

    Eclipse (http://www.eclipse.org)

    1. Introduction1. Introduction

    A. Larhlimi

  • 32 / 53Cours Atelier de Gnie Logiciel -

    CritCritres d'adoption d'un AGL 1/2res d'adoption d'un AGL 1/2

    Choisir d'utiliser un AGL pose certains questionnements : Investissement de ressources

    Cot d'adoption d'une technologie AGL. Aide et Support technique disponible :

    valuation long terme de l'exploitation du logicielMthodes et processus de GL existants dans l'entreprise adquation entre ce qui est fait par les 'acteurs' et ce qui est propospar les outils

    Monte en charge

    aussi bien en terme d'ampleur du projet que de la performance des applications gnres avec l'outil.

    1. Introduction1. Introduction

    A. Larhlimi

  • 33 / 53Cours Atelier de Gnie Logiciel -

    CritCritres d'adoption d'un AGL 2/2res d'adoption d'un AGL 2/2

    Evaluation de la valeur relle cart plus ou moins grand avec les arguments commerciaux/marketing.

    Varit des standards problme de la slection et de la comparabilit des produits.

    Complexit de l'adoption du produit en terme d'utilisation mais aussi en terme de dploiement dans l'entreprise.

    le problme du choix devient alors difficile ce qui explique les efforts importants de communication des diteurs.

    1. Introduction1. Introduction

    A. Larhlimi

  • 34 / 53Cours Atelier de Gnie Logiciel -

    BBnnfices observfices observs par les entreprises ...s par les entreprises ...

    gains de productivit

    gains de qualit

    augmentation de la documentation

    amlioration de la communication

    renforcer l'utilisation de standards et de mthodologie

    a moyen terme !

    1. Introduction1. Introduction

    A. Larhlimi

  • 35 / 53Cours Atelier de Gnie Logiciel -

    Sous rSous rserveserve

    Que l'entreprise prenne en compte : des cots de maintenance long terme de l'AGL (-> outils djdvelopps)

    Apparition frquente de nouvelles technologies (effet de mode ou rvolution ex : C -> C++, VB -> Java)

    Cots de formation (nouveaux intgrs et mise jour/amlioration des plus ancients)

    et les aspects classiques de l'adoption de nouvelles technologies ou outils informatiques dans l'organisation de l'entreprise (implication de la direction, analyse de l'impact, adquation des moyens mis en uvre )

    Quils correspondent la stratgie de lentreprise (SSII): les projets courts, les contraintes de dploiement et de maintenance peuvent carter des outils lourds pour des solutions logicielles au cas par cas

    1. Introduction1. Introduction

    A. Larhlimi

  • 36 / 53Cours Atelier de Gnie Logiciel -

    Bien Bien valuer le covaluer le cot t rrelel

    Cot des licences et modalits : pas de surprise sur le degr de proprit des produits dvelopps ex: technologie propritaire

    Cot de la maintenance : mises jour et support technique (// avec prix matriel/prix consommables)

    Cots matriels/logiciels induits (mise niveau du parc matriel et/ou logiciel). Exemple plateforme de destination.

    Cots de formation (logiciel/mthodologie, court/moyen terme)

    Cots organisationnel : peut ncessiter une rorganisation de l'entreprise (business reengineering)

    Cot du transfert /rutilisations d'outils/modules/librairies djdvelopps

    1. Introduction1. Introduction

    A. Larhlimi

  • 37 / 53Cours Atelier de Gnie Logiciel -

    1. Prsentation gnrale de Windev

    2. Premire application

    II II -- Premiers PasPremiers Pas

    A. Larhlimi

  • 38 / 53Cours Atelier de Gnie Logiciel -

    Ce que propose Ce que propose WindevWindev (7.5)(7.5)

    Assister les phases de dveloppement de:

    Conception (IHM, Architecture BD, rapport technique...),

    Implmentation (W-Langage, IDE, RAD), Test (d une partie ou de lensemble du projet), Maintenance (mise jour produit) Dploiement (gnre un installateur Windows).

    Dans loptique de dveloppement dapplications : oriente BD (SGBD), oriente rseau (client/serveur, Internet, SGBD rseau,...). en quipe de projet (gestion multi-utilisateurs, versions)

    Plateforme de destination : Windows (3.1, 9x, noyau NT).

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 39 / 53Cours Atelier de Gnie Logiciel -

    NouveautNouveauts s WindevWindev 9 9 (sources marketing (sources marketing PCSoftPCSoft) 1/2) 1/2

    Ajout : Suivi de projet : Centre de Contrle (dbut de gestion de ressources, production

    de tableau de bord ) Optimiseur code (SQL, code RAD) Gnration du code dune application en Java (Dveloppement Windev ->

    Implantation Java) (non teste). Acces BD format XML. Gestion de configuration (1 projet pour plusieurs version dun logiciel)

    Amlioration: Simplification du code Gnration automatique de code (rRAD pour real RAD, personnalisation des

    interfaces, ) Ergonomie et libraire (petites astuces dIHM, modles disponibles, )

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 40 / 53Cours Atelier de Gnie Logiciel -

    NouveautNouveauts s WindevWindev 9 9 (sources marketing (sources marketing PCSoftPCSoft) 2/2) 2/2

    Dans loptique de nouveaux type dapplications Logiciels embarqus Mobiles (Pocket PC)

    sur dautres plateformes de destination : Mobiles (Pocket PC) Linux ou autres (gnration de code java, BD et Serveur Hyperfile ports

    sous Linux)

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 41 / 53Cours Atelier de Gnie Logiciel -

    Zoom sur la phase de conceptionZoom sur la phase de conception

    Mthodologie:

    Support limit UML : diagramme utilisation & diagramme de classe

    IHM : bote outils de composants graphiques

    correcteur dinterfaces graphique (esthtique plutt qu'ergonomique)

    tude enchanement des fentres (a posteriori)

    BD Support limit MERISE : diteur de MCD, MLD

    Documentation technique : Gnration automatique de la documentation technique (dictionnaire donnes, code source,

    captures GUI)

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 42 / 53Cours Atelier de Gnie Logiciel -

    Zoom sur la phase de dZoom sur la phase de dveloppementveloppement

    Langage ddi : W Langage

    Ddi des projets de taille moyenne (1 50 personnes)

    Ouvert sur d'autres langages (Java, C++, C#, VB, XML)

    Editeur et dbugger intgrs

    RAD pour le dveloppement orient BD

    Gestion de version

    Gestion de l'intgration (installation, modules, systme cible

    16/32, tests modulaires)

    Gestion de mise jour

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 43 / 53Cours Atelier de Gnie Logiciel -

    Positionnement de Positionnement de WindevWindev ./. GL & AGL./. GL & AGL

    Analyse des besoins

    SpcificationConception

    Implmentation

    Intgration

    Maintenance

    Orient conceptionUpper CASE tools

    Orient ralisationLower CASE tools

    EvolutionWindev

    D

    O

    C

    U

    M

    E

    N

    T

    A

    T

    I

    O

    N

    Q

    U

    A

    L

    I

    T

    E

    G

    E

    S

    T

    I

    O

    N

    D

    E

    P

    R

    O

    J

    E

    T

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 44 / 53Cours Atelier de Gnie Logiciel -

    CrCration dation dun projet un projet WindevWindev

    Un projet Windev est un ensemble de fichiers (code, conception GUI,

    BD,) aboutissant au dveloppement dune application.

    Deux grands types dapplications se dgagent : Applications graphiques Windows. Applications Gestion de Bases de Donnes.

    Chronologie de la cration dune application graphique : (s) signifie "cliquer sur Suivant".

    1. Fichier>Projet>Nouveau(S)

    2. Nommer le projet et sa localisation(S).

    3. Vrifiez quaucun format de BD nest slectionn.

    4. Crer une feuille de style (S), slectionner un style (S).

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 45 / 53Cours Atelier de Gnie Logiciel -

    LLditeur de fentre diteur de fentre WindevWindev 5.55.5

    TreeView

    Liste des objets composant le projet.

    Fentre

    Composant graphique en cours de conception

    CodeListes des vnements grs par le composant graphique et leur comportement associ dfini avec le W Langage.

    Proprit

    Edition des proprit de la fentre.

    Champs

    Objets graphiques pouvant tre insr dans la fentre (Bouton, zone de texte, )

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 46 / 53Cours Atelier de Gnie Logiciel -

    Exemple de conception de fentre (Exemple de conception de fentre (WindevWindev 5.5)5.5)

    Chaque composant graphique est identifi par un nom dont la porte est celle de la fentre dans laquelle il sinscrit.

    Les proprits du composant seront accdes partir de ce nom. Ex :

    Label..Valeur: contient la valeur saisie dans le champs de saisie.Label..Libell: contient le texte du libell.

    Chaque composant list dans le treeview est dcrit par son type par une icne (ex : bouton) et les vnements grs (et le code associ).

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 47 / 53Cours Atelier de Gnie Logiciel -

    Exemple de conception de fentre (Exemple de conception de fentre (WindevWindev 7.x)7.x)

    Le kouglov liste les erreurs de programme, procdures locales et globales, classes, appel dbogueur, liste de tches.

    2. 1er pas avec 2. 1er pas avec WindevWindev

    Nouveaux venements

    Remplace le TreeView

    A. Larhlimi

  • 48 / 53Cours Atelier de Gnie Logiciel -

    LLditeur dditeur danalyseanalyse

    2. 1er pas avec 2. 1er pas avec WindevWindev

    MLD (Modle Logique de Donne)

    Modle Entit-Association dcrivant la structure de la BD.

    Assistant Merise

    Avec des questions simples, aide tablir les cardinalits des associations entre entits.

    EntitLes proprits des entits sont tablies laide dune autre diteur permettant de prciser le type, le format etc.. des proprits.

    A. Larhlimi

  • 49 / 53Cours Atelier de Gnie Logiciel -Principe de la programmation graphiquePrincipe de la programmation graphiquesous Windowssous Windows

    Programmation vnementielle : lapplication ragit aux vnements gnrs par lutilisateur via le clavier, la souris (encore appels

    messages).

    WM_PAINT

    WM_KEYDOWN

    WM_LBUTTONDOWN

    WM_SIZE

    Evenements(souris, clavier,)

    Messages

    File des messages

    DefWindowProc (API)Windows

    M

    e

    s

    s

    a

    g

    e

    s

    r

    c

    u

    p

    r

    s

    Gestion. Mess. Gestion. Mess.

    Gestion. Mess.Gestion. Mess.

    Gestion. Mess. Gestion. Mess.

    Boucledes messages

    Application 1

    FINWM_QUIT

    Messages Ventils

    Messages non traits

    Windev

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 50 / 53Cours Atelier de Gnie Logiciel -

    PremiPremire Applicationre Application

    Nous allons crer une application qui affiche dans une fentre

    "popup" un texte saisi par lutilisateur.

    Composants prdfinis utiliss : Fentre dinformation (fentre + 1 bouton Ok) Fentre de confirmation (fentre + 2 boutons Oui, Non)

    Composants utiliss : Fentre Bouton Champs de Saisie

    Nous verrons quelques exemple de code W-Langage utilis pour dfinir le comportant des composants graphiques

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 51 / 53Cours Atelier de Gnie Logiciel -

    Le champ de saisie Le champ de saisie WindevWindev 5.55.5

    Permet lutilisateur de transmettre des informations lapplication

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 52 / 53Cours Atelier de Gnie Logiciel -

    Le champ de saisie Le champ de saisie WindevWindev 7.x7.x

    Proprits suplmentaires

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi

  • 53 / 53Cours Atelier de Gnie Logiciel -

    Le champ Bouton dLe champ Bouton daffichageaffichage

    Le bouton "Affich_Btn" permet douvrir une fentre dinformation contenant le texte saisi dans le champ de saisie.

    Code correspondant : info("")(1 seul vnement)2. 1er pas avec 2. 1er pas avec

    WindevWindev

    A. Larhlimi

  • 54 / 53Cours Atelier de Gnie Logiciel -

    RRsultat de lsultat de lexexcutioncution

    Le bon fonctionnement de la fentre peut tre teste

    avant gnration de lexcutable laide du bouton .

    Le bouton permet de tester le projet complet.

    Fentre dInformation

    Fentre de choix

    Fentre de lapplication

    2. 1er pas avec 2. 1er pas avec WindevWindev

    A. Larhlimi