Académique Documents
Professionnel Documents
Culture Documents
A.U. 2009-2010
Plan du cours
Chap1: Introduction au GL et dfinitions Chap2 : Cycle de vie dun logiciel Chap3 : 1. Gestion de configuration Chap3 : 2. Gestion de la documentation Chap3 : 3. Atelier Gnie Logiciel Chap4 : Gestion de projet GL Chap5 : Analyse et spcification des besoins Chap6 : Conception: mthodes, architectures, Chap7 : Implmentation et intgration Chap8 : Test Chap9 : Qualit du logiciel
S. Mesfar
A.U. 2009-2010
S. Mesfar
S. Mesfar
S. Mesfar
Coordination
S. Mesfar
La Rgle CQFD
S. Mesfar
S. Mesfar
le gnie logiciel...
Le gnie logiciel utilise pour cela des principes d'ingnierie comprend des aspects la fois techniques et non techniques : Il est bas sur des mthodologies et des outils qui permettent de formaliser et mme d'automatiser partiellement la production de logiciels, Il est galement bas sur des concepts plus informels, et demande des capacits de communication, d'interprtation et d'anticipation. Le gnie logiciel demande de la part de l'informaticien : Une bonne formation aux diffrentes techniques (le savoir ) Un certain entranement et de l'exprience (le savoir faire ).
S. Mesfar
Gnrique (generic)
Vendu sur le march exemples : un tableur (spreadsheet), un outil de base de donnes (database), un outil de traitement de texte (word processor), COTS = Commercial Off-The-Shelf software
S. Mesfar
S. Mesfar
Les systmes de matriel Systmes d'exploitation, excutions de matriel, de bas niveau Les systmes d'entreprise dcrivent les buts, les ressources, les rgles et le travail rel dans une entreprise
S. Mesfar
Rigueur sparation des problmes ( separation of concerns ) Modularit Abstraction anticipation du changement Gnricit Construction incrmentale
S. Mesfar
La production de logiciel est une activit crative, qui doit se conduire avec une certaine rigueur
S. Mesfar
Consiste considrer sparment diffrents aspects dun problme afin den matriser la complexit (e.g. Diviser pour rgner ) une multitude de formes :
sparation dans le temps sparation des qualits sparation des vues sparation du systme en parties Etc.
S. Mesfar
Forte cohsion interne des modules Faible couplage entre les modules
S. Mesfar
S. Mesfar
A.U. 2009-2010
Analyse des besoins Spcification globale Conception architecturale et dtaille Programmation Gestion de configuration et intgration Validation et vrification
S. Mesfar
Dialogues avec des experts, entretiens, questionnaires, observation de lexistant et tude des situations similaires
Dmarche : produire une description de ce que doit faire le systme mais sans prciser comment il le fait : le quoi mais pas le comment
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
S. Mesfar
Gestion de configuration
A.U. 2009-2010
Gestion de configuration
Dfinition:
La gestion de configuration consiste grer la description technique d'un systme (et de ses divers composants), ainsi qu' grer l'ensemble des modifications apportes au cours de l'volution du systme La gestion de configuration peut tre utilise pour stocker et tracer les diffrentes versions ou rvisions de toute information destine tre utilise par un systme (matriel, logiciel, document, donne unitaire, etc.).
S. Mesfar
Gestion de configuration
Dfinition:
Connatre l'tat de l'ensemble des composants d'un projet Contrler les volutions du logiciel
Objectif:
S. Mesfar
la slection des composants que l'on veut soumettre la gestion de la configuration, la slection des documents dcrivant ces composants et que l'on veut matriser.
identification du primtre que l'on veut grer. 2. Matrise des volutions Mise en place du cycle de vie d'une demande de modification ou d'une demande de drogation statuer sur la gravit et la priorit des diffrentes demandes de changements ou demandes de drogations soumises.
S. Mesfar
Enregistrement des tats successifs d'un composant : chaque fois qu'un article est modifi, son tat prcdent est conserv. Les tats successifs sont souvent appels versions ou rvisions. Cette volution de l'article peut concerner :
la modification de ses caractristiques intrinsques (caractristiques physiques ou fonctionnelles, performances), la modification de ses liens avec les autres composants ou articles (liens de composition, de spcification, de description).
Enregistrement des tats successifs de la configuration : il s'agit de conserver, un instant donn, l'ensemble des versions des composants et les liens qui les structurent. C'est une photographie de la configuration, qui peut servir de rfrence de l'tat de la configuration cet instant.
S. Mesfar
S. Mesfar
Gestion de configuration
ISO/IEC 10007:2000 Quality management. Guideline for configuration management IEEE 828 Software configuration management IEEE1042 Software configuration management plan ISO 15504 (SPICE) Software Process Improvement and Capability determination ISO 12207 Information technology software life cycle processes
S. Mesfar
Les gratuits:
CVS: Concurrent Versions System Subversion ou SVN RCS: Revision control System BitKeeper (gratuit jusqu Avril 2005) PVCS: Polytron Version Control System ClearCase dIBM Microsoft Visual SourceSafe
Les commerciaux
S. Mesfar
Gestion de la documentation
A.U. 2009-2010
Gestion de la documentation
bien inform efficace, satisfait revient, recommande bien inform vite les demandes de support superflues
S. Mesfar
cahier des charges spcifications fonctionnelles, plan d'intgration manuel de conception globale et dtaille procdure de validation (plan des tests unitaires, tests d'intgration, tests de validation, tests de non rgression) glossaire, liste des abrviations plan projet et plan qualit
S. Mesfar
Historiques
informations de versions et modifications suivi des bugs rsultats des campagnes de test Commentaires dans les programmes ou sur les donnes (XML, etc.) documentation extraite automatiquement du code (e. g. javadoc)
S. Mesfar
Documents externes
Manuel d'installation Manuel d'introduction (tutoriel) Manuel utilisateur Manuel de rfrence Manuel de maintenance Foire Aux Questions (FAQ) Carte de rfrence Aide lectronique
documents commerciaux
S. Mesfar
Manuel dinstallation:
Procdure d'installation Guide pour les choix d'installation Fichier ALIRE (README) Peut tre implment dans un wizard Introduction pdagogique Utilisation de base Exemples simples Class par rubriques de difficult croissante
2.
S. Mesfar
Description fonctionnelle simple Illustration par des exemples Couverture large, pas ncessairement exhaustive Gnralement class par thmes + version en ligne avec index... Liste exhaustive de chaque fonctionnalit Description dtaille de toutes les possibilits Souvent class par ordre alphabtique + version en ligne avec index...
4.
Manuel de rfrence
S. Mesfar
Manuel de maintenance
Procdures suivre pour : Diagnostiquer un problme (troubleshooting)
e.g. : s'il se passe XXX, alors vrifier YYY s'il se passe XXX, alors faites YYY contact du support : email, tl., formulaire, ... Peut faire partie du manuel utilisateur Peut tre implment dans un wizard
Rsoudre un problme
Demander de l'aide
S. Mesfar
Questions les plus frquentes (techniques ou non) Rponses brves mais trs pratiques(sans ncessairement expliquer pourquoi a marche) Regroupes par thme Sur 1 ou 2 pages, souvent cartonnes Vue trs schmatique et style tlgraphique pas de phrases Principales fonctionnalits du produit (chacune en 1 ou 2 lignes)
7.
S. Mesfar
Aide lectronique
S. Mesfar
Aide en ligne : par thmatique, par index, Bulles d'aide : apparition fugace sous la souris, Infobulles, Messages d'erreur Assistant : e.g. dtection d'une tche pouvant ncessiter assistance Wizard : guide progressif pour effectuer une tche, par ex. : installation, configuration, diagnostic, Trucs et astuces (tips) : une brve information chaque lancement...
Documents commerciaux
Plaquette commerciale
Jolie et simple Couleur, papier glac, ... 1 feuille avec 1 ou 2 schmas synthtiques Beaucoup d'adjectifs dithyrambiques En gros 1-4 pages Liste quasi-exhaustive des caractristiques et capacits Trs technique l'attention des utilisateurs experts qui feront des recommandations leurs dcideurs
S. Mesfar
Documents commerciaux
White paper
Souvent un peu technique l'attention des utilisateurs Peut tre aussi purement commercial l'attention des dcideurs
S. Mesfar
Documentation complmentaire
: mises jour, failles dcouvertes, ... success stories (+ liste des clients prestigieux) forums d'assistance (fournisseur & utilisateurs crivent)
Et aussi :
forums
un en-tte
Nomenclature / numrotation : unique pour tout le projet Version (par ex., 2.5) Date de cration, de (dernire) mise jour Statut du document : brouillon, incomplet, partiel, stable, rvis, dfinitif ou approuv Restrictions sur les lecteurs potentiels : confidentiel, diffusion restreinte : liste explicite (groupe, individus...) Type de document : spcification, CR de runion, Mots cls : facilitent la recherche automatique Historique des modifications : table des versions prcdentes, barres de modifications
S. Mesfar
un contenu :
Sparation des concepts 1 concept par paragraphe Numrotation des paragraphes facilit de rfrence + traabilit
numros (par ex., 1.3.12.4 ) ou bien identificateurs courts (par ex.: interf.fich.ouvrir )
S. Mesfar
S. Mesfar
Difficults de maintenance
invitables : redondance entre manuels, etc. dangereuses : risques d'incohrence prcieux quand il est pertinent trompeur quand il est incohrent (erron, pas jour, ...)
Mthodologie de gestion
numro et version page de garde avec type, statut, version, date, ... utilisation d'un systme de gestion de version garder des liens de traabilit les mettre jour immdiatement!!!
S. Mesfar
Portail de projet
A.U. 2009-2010
Portail de projet
Le portail constitue un point central d'accs aux documents du projet. Il permet aux intervenants de consulter, tlcharger, publier des documents Le portail est un espace partag (en fonction de droits) d'change entre intervenants d'un mme projet
S. Mesfar
mise disposition de documents jour un accs scuris par un mcanisme de rle (agrgat de droits) stockage des documents selon un plan de classement recherche aise des documents (assiste par des mots cls) traabilit des changements disponibilit 7 J/7, 24 H/24 meilleur contrle de l'volution du projet
S. Mesfar
Portail de projet
Finalement, un portail de projet permet une meilleure exploitation du temps disponible (coordination, informations jour, connaissance de la disponibilit des ressources) pour tous les partenaires du projet. Les intervenants d'un projet ont donc intrt mettre en place des moyens de gestion collaborative pour la bonne excution du projet.
S. Mesfar
A.U. 2009-2010
Dfinitions
Logiciel aidant la ralisation de logiciels. Systme pour le dveloppement logiciel assist par ordinateur. Catgorie de logiciels offrant un environnement complet de dveloppement de logiciels en quipe. Ensemble doutils permettant de couvrir le cycle de vie du logiciel : Analyse, Conception, Ralisation, Maintenance,
S. Mesfar
Comment ?
En faisant le suivi des diffrentes phases du processus logiciel En offrant un cadre cohrent et uniforme de production.
S. Mesfar
Case tools : Computer Aided Software Engineering tools Adapts aux diffrentes phases de la production d'un logiciel Facilite la communication et la coordination entre ces diffrentes phases.
S. Mesfar
S. Mesfar
PowerDesigner et PowerAMC
S. Mesfar
Rational Rose
S. Mesfar
S. Mesfar
Windev
S. Mesfar
S. Mesfar
Les AGL intgrent diffrents outils d'aide au dveloppement de logiciels outils CASE :
Certains outils interviennent durant la totalit du processus logiciel Outils horizontaux Ces diffrents outils interviennent lors d'une ou plusieurs phases du cycle de vie du logiciel Outils verticaux
S. Mesfar
S. Mesfar
Gnration, Utilisation, Transformation, Spcification, Modle conceptuel des donnes, Jeux de test, Code, Manuel utilisateur,....
Exemple
Exemple
Les tables gnres par un diteur de diagrammes sont utilises par un SGBD.
S. Mesfar
Un AGL doit prendre en charge la communication de ces donnes entre les diffrents outils. LAGL doit galement grer la cohrence entre les diffrentes versions de ces donnes
gestion de configuration.
S. Mesfar
3/ Intgration des activits Un AGL peut grer le squencement des appels aux diffrents outils intgrs
S. Mesfar
On distingue essentiellement deux types d'AGL selon la nature des outils intgrs:
S. Mesfar
Supportent les phases d'analyse et de conception du processus logiciel. Ils intgrent gnralement :
des outils pour l'dition de diagrammes (avec vrification syntaxique), des dictionnaires de donnes, des outils pour le prototypage, ...
Ils sont gnralement bass sur une mthode d'analyse et de conception (UML, Merise, ...)
S. Mesfar
Supportent les phases d'implmentation et de test du processus logiciel. Ils intgrent gnralement
des diteurs (ventuellement dirigs par la syntaxe), des gnrateurs d'interfaces homme/machine, des SGBD, des compilateurs, optimiseurs, debugger, ...
S. Mesfar
Certains environnement, plus volus, sont ddis un ou plusieurs langages particuliers. Exemples:
NetBeans, Eclipse, SmallTalk, des bibliothques de composants, une interface graphique, des diteurs ddis au langage, des interprtes, debuggers, ...
S. Mesfar