Académique Documents
Professionnel Documents
Culture Documents
AGL_M6_2009_Ch_1-2_1p
AGL_M6_2009_Ch_1-2_1p
Professionnel
Erwan TRANVOUEZ
erwan.tranvouez@polytech.univ-mrs.fr
Université
Paul CEZANNE
Cours Atelier de Génie Logiciel - Master SIS GI-GL 2 / 53
Planning de sessions
3 séances de cours
2 séances de TP
1 séance de cours
2 séances de TP
1 cours
1 séance de TP
Notation :
Mini Projet de Conception/développement Web avec Windev
Conception en 2 temps : prévisionnel simplifié / recette
Soutenance/démonstration
=> note individuelle
Cours Atelier de Génie Logiciel - Master SIS GI-GL 3 / 53
Software Engineering : Principles and Practice. H. V. VLIET. 2nd ed. J. Wiley &
sons Ltd.
Analyse de système orientée-objet et génie logiciel: Concepts, méthodes et
application. G. LEVESQUE. Chenelière/Mc Graw-Hill.
Génie Logiciel, Jacques PRINTZ Que Sais-Je N° 2956. PUF.
Ingénierie des Systèmes d’Information : MERISE. D. NANCI, B.
ESPINASSE et al. 4ème ed. Vuibert.
Guide to CASE adoption K.S. OAKES, D. SMITH, E. MORRIS, Tech.
Report Software Engineering Institute - Carnegie Mellon Univ.
Et de manière plus générale :
http://www.sei.cmu.edu/legacy/case/case_whatis.html
Xtreme Programming :
http://www.extremeprogramming.org/
http://c2.com/cgi/wiki?ExtremeProgramming
Cours Atelier de Génie Logiciel - Master SIS GI-GL 4 / 53
Contexte
Techniques (normes, …)
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 8 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 9 / 53
1. Introduction V&V
Cours Atelier de Génie Logiciel - Master SIS GI-GL 10 / 53
Cependant : hypothèse de séquencialité forte, prise en compte du maquettage absente, pas de prise en
compte de l’évolution du cahier des charges.
Test
Spécification
d’acceptation
Vérification
Conception Intégration et
architecturale test d’intégration
Conception
Test unitaire
détaillée
Implémentation
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 11 / 53
A.R. Prototypes
Plan
ion
Pcpes
specs
détaillée
Concept
Plans dev. Specifications
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 13 / 53
Histoires
d’utilisateur
Nouvel Histoire d’utilisateur
Vitesse du projet bugs
Métaphore Accord
Écueil Du système Planification Dernière Tests client Petites
Itération
architectural De livraison version de validation Livraisons
Estimation
Estimation Itération suivante
De délais
De délais
incertaines
certaine
Écueil
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 15 / 53
Tests
Jours
De validation
Réunion
debout
1 journée
Négociation
binôme
Heures
Test unitaire
Programmation Minutes
par binôme
Code Secondes
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 16 / 53
CDM Fast Track : un concept RAD (Rapid Application Development) basé sur DSDM
(Dynamic Systems Development Method) postulant le prototypage, le développement et la fourniture d'artefacts itératifs
et incrémentaux, le timeboxing (jalonnement), l'analyse de la valeur et une validation continue.
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 17 / 53
Architecture technique
C & I de la BD
C & I de modules
Conversion de Données
Documentation
Test
Formation
Transition
Maintenance post
déploiement
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 18 / 53
Analyse des
besoins
Spécification
Implémentation
Test
Test
Tests de vérification de
la maquette et validation
par le client Maintenance
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 19 / 53
La solution du maquettage
2 types de stratégies :
Prototype jetable : une fois validé, on ne garde du prototype que la coquille :
tout est redéveloppé (ex: autre language et autres technologies).
Prototype incrémental : le développement se poursuit sur les mêmes
bases.
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 20 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 21 / 53
Catégories d'AGL
Les AGL peuvent être classés selon plusieurs aspects :
richesse du support : ensemble d'outils, outils intégrés, aide à la démarche.
type de problèmes : logiciels embarqués, temps réel, "business applications",
applications métiers …
type de projet d’ingénierie logicielle : développement logiciel (cf. cycle de
vie), intégration de systèmes, système à base de connaissance.
Ampleur du projet : complexité, nombres de participants, durée ...
Gestion des ressources du projet : les considérations managériales des
ressources mises en œuvre dans le projet sont elles prises en compte ?
(planification, ordonnancement, …).
Phase du cycle de développement prises en compte : conception et/ou
développement.
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 22 / 53
Spécification
DOCUMENTATION
Conception
QUALITE
Windev
Implémentation
=> Eclipse
+ Plugins
(omodo, …)
Orienté réalisation
Intégration Lower CASE tools PowerBuilder
Maintenance
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 23 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 24 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 25 / 53
Activité Exemples
RéIngénierie Analyse de l’existant, reverse Engineering,
Edition Surtout graphique pour exprimer des concepts
(expression des besoins) ou mettre en oeuvre les
formalismes des méthodes sélectionnées.
Prototypage Générateurs d’IHM, génération de code automatisé
ou assisté, langage haut niveau, interpréteurs ou
compilateurs dédiés
Support Editeur graphique intelligent (vérification/validation
méthodologique diagramme par ex), dictionnaire de donnée
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 26 / 53
Win'Design de CECIMA.
PowerDesigner de Sybase.
Basés sur Merise et UML (spécialisé dans le développement de SI).
Oracle Designer d'Oracle Corporation.
Rational Suite AnalystStudio, Rational Rose. Basés sur UML (toute
application basée sur l'approche objet voir également développement SI) +
Rational Rose Unified Process (support méthodologique).
Objecteering de SoftTeam. Basé sur UML.
Eclipse bientôt ? (http://www.eclipse.org) (ex. plugin UML, …)
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 27 / 53
Niveaux d'assistance :
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 28 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 29 / 53
…
IBM Rational
ArgoEclipse eDatabase
Method Composer
Éditeur,
compilateur,
"Gestion de projet" Contient
Polarion® Track & Wiki Eclipse déjà
debugger,
générateur
javadoc, EMF…
Subversive SWT
(Subversion) Designer
Mojo
(build tool)
Eclipse Plugin
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 32 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 33 / 53
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 34 / 53
gains de productivité
gains de qualité
augmentation de la documentation
amélioration de la communication
renforcer l'utilisation de standards et de méthodologie
… a moyen terme !
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 35 / 53
… Sous réserve
1. Introduction
Cours Atelier de Génie Logiciel - Master SIS GI-GL 37 / 53
II - Premiers Pas
1. Présentation générale de
Windev
2. Première application
Cours Atelier de Génie Logiciel - Master SIS GI-GL 38 / 53
Ajout :
Suivi de projet : Centre de Contrôle (début de gestion de ressources, production
de tableau de bord )…
Optimiseur code (SQL, code RAD)
Génération du code d’une application en Java (Développement Windev ->
Implantation Java) (non testée).
Acces BD format XML.
Gestion de configuration (1 projet pour plusieurs version d’un logiciel)
Amélioration:
Simplification du code
Génération automatique de code (rRAD pour real RAD, personnalisation des
interfaces, )
Ergonomie et libraire (petites astuces d’IHM, modéles disponibles, …)
IHM :
boîte à outils de composants graphiques
BD
Support limité MERISE : Éditeur de MCD, MLD
Documentation technique :
Génération automatique de la documentation technique (dictionnaire données, code source,
captures GUI)
Gestion de version
Spécification
DOCUMENTATION
Conception
QUALITE
Implémentation
Orienté réalisation
Intégration Lower CASE tools
Maintenance
1. Fichier>Projet>Nouveau…(S)
Fenêtre
TreeView Composant
graphique
Liste des objets en cours de
composant le conception
projet.
Champs
Objets Propriété
graphiques
pouvant être Edition des
inséré dans la propriété de
fenêtre (Bouton, la fenêtre.
zone de texte, …)
Code
2. 1er pas avec Listes des événements gérés par le composant graphique et leur
comportement associé défini avec le W Langage.
Windev
Cours Atelier de Génie Logiciel - Master SIS GI-GL 46 / 53
Chaque composant
graphique est
identifié par un nom
dont la portée est
celle de la fenêtre
dans laquelle il
s’inscrit.
Les propriétés du
composant seront
accédées à partir
de ce nom. Ex :
Label..Valeur:
contient la valeur
saisie dans le
champs de saisie.
Label..Libellé:
contient le texte du
libellé.
2. 1er pas avec Chaque composant listé dans le treeview est décrit par son type par une
icône (ex : bouton) et les événements gérés (et le code associé).
Windev
Cours Atelier de Génie Logiciel - Master SIS GI-GL 47 / 53
Nouveaux
évenements
Remplace le
TreeView
2. 1er pas avec Le kouglov liste les erreurs de programme, procédures locales et
globales, classes, appel débogueur, liste de tâches.
Windev
Cours Atelier de Génie Logiciel - Master SIS GI-GL 48 / 53
L’éditeur d’analyse
MLD (Modèle
Logique de Donnée)
Modèle Entité-
Association
décrivant la structure
de la BD.
Assistant Merise
Entité
2. 1er pas avec Les propriétés des entités sont établies à l’aide d’une autre éditeur
permettant de préciser le type, le format etc.. des propriétés.
Windev
Cours Atelier de Génie Logiciel - Master SIS GI-GL 49 / 53
Principe de la programmation graphique
sous Windows
Programmation événementielle : l’application réagit aux événements
générés par l’utilisateur via le clavier, la souris … (encore appelés
Evenements messages).
(souris, clavier,…)
Application 1
Messages
WM_LBUTTONDOWN
Messages récupérés
Boucle
WM_KEYDOWN
des messages
WM_QUIT
FIN
WM_PAINT
Messages Ventilés
WM_SIZE
Gestion. Mess. Gestion. Mess.
Windev
File des messages Gestion. Mess. Gestion. Mess.
Première Application
Nous allons créer une application qui affiche dans une fenêtre
"popup" un texte saisi par l’utilisateur.
Nous verrons
quelques exemple de
code W-Langage
utilisé pour définir le
comportant des
composants
graphiques
2. 1er pas avec
Windev
Cours Atelier de Génie Logiciel - Master SIS GI-GL 51 / 53
Permet à
l’utilisateur
de
transmettre
des
informations
à l’application
Propriétés suplémentaires …
Le bouton
"Affich_Btn" permet
d’ouvrir une fenêtre
d’information
contenant le texte
saisi dans le champ
de saisie.
Résultat de l’exécution
Fenêtre d’Information
Fenêtre de choix
http://www.adeli.org/wiki/?title=Normes%2COutil
s_en_GCL