Beruflich Dokumente
Kultur Dokumente
A. Larhlimi
2 / 53
Planning 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 / 53
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.
Xtreme Programming :
http://www.extremeprogramming.org/ http://c2.com/cgi/wiki?ExtremeProgramming
A. Larhlimi
4 / 53
Guide dAutoFormation. PC Soft Edition. Site de l Association des dveloppeurs Windev. http://www.windevasso.org
A. Larhlimi
5 / 53
A. Larhlimi
6 / 53
Introduction
1. (Rappels) sur le Gnie Logiciel 2. Quest ce quun Atelier de Gnie Logiciel 3. Prsentation gnrale de Windev
A. Larhlimi
7 / 53
Contexte
Gnie Logiciel propose :
Mthodes (gestion de projet, conception, dveloppement, ) Formalismes (UML, SADT, Z, ) Techniques (normes, )
1. Introduction
A. Larhlimi
8 / 53
en uvre des produits et procdures tendant rationaliser la production du logiciel et son suivi.
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. Introduction
A. Larhlimi
9 / 53
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.
Implmentation V&V
Tests unitaires Tests dintgration Mise jour, correctifs Gestion des configurations 1. Introduction
A. Larhlimi
10 / 53
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
Validation
Spcification
Vrification
Test unitaire
1. Introduction
Implmentation
A. Larhlimi
11 / 53
Prototypes
Concept ion dtaille
Plan Integration
A. Larhlimi
12 / 53
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.
Rsultat : propose une srie de principes, de pratiques : presque une philosophie plutt quune mthode.
1. Introduction
A. Larhlimi
13 / 53
Xtreme Programming :
Principes
(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. Introduction
A. Larhlimi
14 / 53
Xtreme Programming :
Gestion de projet
Histoires dutilisateur
architectural
Planification De livraison
Itration
Dernire version
Tests de validation
Petites Livraisons
Itration suivante
cueil
1. Introduction
A. Larhlimi
15 / 53
Xtreme Programming :
Planification De livraison
Itrations
mois
Planification d1 Itration
semaines
Tests De validation
Jours
Runion debout
1 journe
Ngociation binme
Heures
1. Introduction
Code
Secondes
A. Larhlimi
16 / 53
couvre le cycle de vie de dveloppement de SI Informatis. bas sur une dmarche systmique
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. Introduction
A. Larhlimi
17 / 53
Dfinition Dfinition des besoins Examen de lexistant Architecture technique C & I de la BD C & I de modules Conversion de Donnes Documentation Test Formation Transition Maintenance post dploiement
Analyse
Conception
Implmentation
Transition
Production
1. Introduction
A. Larhlimi
18 / 53
Implmentation
Test
Implmentation
Test
Tests de vrification de la maquette et validation par le client 1. Introduction
Maintenance
A. Larhlimi
19 / 53
La 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 : Prototype incrmental : le dveloppement se poursuit sur les mmes
bases.
1. Introduction
A. Larhlimi
20 / 53
Le terme anglais est plus explicite CASE tools (Computer Aided Software Engineering).
Objectif :
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. Introduction
A. Larhlimi
21 / 53
Catgories 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", type de projet dingnierie logicielle : dveloppement logiciel (cf. cycle de Ampleur du projet : complexit, nombres de participants, dure ... Gestion des ressources du projet : les considrations managriales des
applications mtiers
ressources mises en uvre dans le projet sont elles prises en compte ? (planification, ordonnancement, ).
dveloppement.
1. Introduction
A. Larhlimi
22 / 53
GESTION DE CONFIGURATIONS
PowerDesigner
GESTION DE PROJET
DOCUMENTATION
QUALITE
Windev Implmentation => Eclipse + Plugins (omodo, ) Orient ralisation Lower CASE tools PowerBuilder
Intgration
Maintenance 1. Introduction
A. Larhlimi
23 / 53
Activit
Gestion de processus GL
Type doutils
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.
Outils de Planification, calculs de cots, suivi de projet (ex MS Project), de tableurs, Gestion utilisateurs, droits accs, communication, Editeurs de texte (code, aide, ) dimages, diagramme etc Etendu aux autres productions (documentation, diagramme, )
A. Larhlimi
24 / 53
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. Introduction
A. Larhlimi
25 / 53
Exemples Analyse de lexistant, reverse Engineering, Surtout graphique pour exprimer des concepts (expression des besoins) ou mettre en oeuvre les formalismes des mthodes slectionnes. Gnrateurs dIHM, gnration de code automatis ou assist, langage haut niveau, interprteurs ou compilateurs ddis Editeur graphique intelligent (vrification/validation diagramme par ex), dictionnaire de donne
Prototypage
Support mthodologique
1. Introduction
A. Larhlimi
26 / 53
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. Introduction
A. Larhlimi
27 / 53
INTEGRATION
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 facilit d'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
1. Introduction
A. Larhlimi
28 / 53
A. Larhlimi
29 / 53
IBM Rational
Method Composer "Gestion de projet"
Polarion Track & Wiki
ArgoEclipse
eDatabase
diteur, compilateur, debugger, gnrateur javadoc, EMF
Eclipse
SWT Designer Log4E CodePro Profiler Mojo
(build tool)
Contient dj
Subversive
(Subversion)
Eclipse Plugin Configuration titre indicative base sur une analyse fonctionnelle et non teste intensively
1. Introduction
A. Larhlimi
30 / 53
Suivre, prvoir les modifications y compris dans les autres phases Suivre, intgrer les versions (ex: version grand public et professionnelle), Correctifs et mise jours des anciennes versions ne se limitant pas Suivi des versions livres (ex: identification des logiciels concernes par
et leur gnration.
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. Introduction
A. Larhlimi
31 / 53
Windev de PCSoft. Bas sur Merise (applications BD) PowerBuilder de Sybase (PowerSoft). Approche orient objet Oracle Developer de Oracle Corporation. (applications BD). SafeBuild de TNI-Valiosys. Bas sur UML (dveloppement Rational Suite Development Studio de Rational Software. Bas Eclipse (http://www.eclipse.org)
(applications BD).
dapplications temps-rel).
1. Introduction
A. Larhlimi
32 / 53
Investissement de ressources
adquation entre ce qui est fait par les 'acteurs' et ce qui est propos par les outils
Monte en charge
aussi bien en terme d'ampleur du projet que de la performance des applications gnres avec l'outil.
1. Introduction
A. Larhlimi
33 / 53
Evaluation de la valeur relle cart plus ou moins grand avec Varit des standards problme de la slection et de la Complexit de l'adoption du produit en terme d'utilisation
1. Introduction
A. Larhlimi
34 / 53
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. Introduction
A. Larhlimi
35 / 53
Sous rserve
Que l'entreprise prenne en compte :
des cots de maintenance long terme de l'AGL (-> outils dj Apparition frquente de nouvelles technologies (effet de mode ou Cots de formation (nouveaux intgrs et mise jour/amlioration des et les aspects classiques de l'adoption de nouvelles technologies ou
dvelopps)
plus ancients)
outils informatiques dans l'organisation de l'entreprise (implication de la direction, analyse de l'impact, adquation des moyens mis en uvre )
courts, les contraintes de dploiement et de maintenance peuvent carter des outils lourds pour des solutions logicielles au cas par cas
1. Introduction
A. Larhlimi
36 / 53
Cot des licences et modalits : pas de surprise sur le degr de Cot de la maintenance : mises jour et support technique Cots matriels/logiciels induits (mise niveau du parc matriel Cots de formation (logiciel/mthodologie, court/moyen terme) Cots organisationnel : peut ncessiter une rorganisation de Cot du transfert /rutilisations d'outils/modules/librairies dj
dvelopps
1. Introduction
A. Larhlimi
37 / 53
II - Premiers Pas
A. Larhlimi
38 / 53
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).
oriente BD (SGBD), oriente rseau (client/serveur, Internet, SGBD rseau,...). en quipe de projet (gestion multi-utilisateurs, versions)
A. Larhlimi
39 / 53
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, )
A. Larhlimi
40 / 53
Mobiles (Pocket PC) Linux ou autres (gnration de code java, BD et Serveur Hyperfile ports sous Linux)
A. Larhlimi
41 / 53
Mthodologie:
IHM :
bote outils de composants graphiques correcteur dinterfaces graphique (esthtique plutt qu'ergonomique) tude enchanement des fentres (a posteriori)
BD
Documentation technique :
Gnration automatique de la documentation technique (dictionnaire donnes, code source, captures GUI)
A. Larhlimi
42 / 53
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)
A. Larhlimi
43 / 53
GESTION DE PROJET
DOCUMENTATION
Spcification Conception
QUALITE
Implmentation
Intgration
A. Larhlimi
44 / 53
Fichier>Projet>Nouveau(S) Nommer le projet et sa localisation(S). Vrifiez quaucun format de BD nest slectionn. Crer une feuille de style (S), slectionner un style (S).
A. Larhlimi
45 / 53
Champs Objets graphiques pouvant tre insr dans la fentre (Bouton, zone de texte, ) Proprit Edition des proprit de la fentre.
Code Listes des vnements grs par le composant graphique et leur comportement associ dfini avec le W Langage.
A. Larhlimi
46 / 53
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).
A. Larhlimi
47 / 53
Nouveaux venements
Remplace le TreeView
Le kouglov liste les erreurs de programme, procdures locales et globales, classes, appel dbogueur, liste de tches.
A. Larhlimi
48 / 53
Lditeur danalyse
MLD (Modle Logique de Donne) Modle EntitAssociation dcrivant la structure de la BD.
Assistant Merise Avec des questions simples, aide tablir les cardinalits des associations entre entits.
Entit Les proprits des entits sont tablies laide dune autre diteur permettant de prciser le type, le format etc.. des proprits.
A. Larhlimi
49 / 53
messages).
Messages
Application 1
WM_LBUTTONDOWN WM_KEYDOWN
Messages rcuprs
WM_PAINT WM_SIZE
Windev
Windows
DefWindowProc (API)
A. Larhlimi
50 / 53
Premire Application
Nous allons crer une application qui affiche dans une fentre "popup" un texte saisi par lutilisateur.
Composants utiliss :
Nous verrons quelques exemple de code W-Langage utilis pour dfinir le comportant des composants graphiques
A. Larhlimi
51 / 53
A. Larhlimi
52 / 53
A. Larhlimi
53 / 53
Le bouton "Affich_Btn" permet douvrir une fentre dinformation contenant le texte saisi dans le champ de saisie.
A. Larhlimi
54 / 53
Rsultat de lexcution
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 de lapplication Fentre dInformation
Fentre de choix