La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Année 2006 – 2007 ENSEA © Emeric Rollin

Présentations similaires


Présentation au sujet: "Année 2006 – 2007 ENSEA © Emeric Rollin"— Transcription de la présentation:

1 Année 2006 – 2007 ENSEA © 2006 - Emeric Rollin
GENIE LOGICIEL Année 2006 – 2007 ENSEA © Emeric Rollin 1

2 PLAN Présentation La Qualité, les Méthodes Les Outils 2

3 Définition du « Génie Logiciel »
Présentation Définition du « Génie Logiciel » Discipline qui vise le développement de logiciels complexes à l'aide d'outils et de méthodes. 4

4 Contraintes sur les projets
Présentation Contraintes sur les projets conformité délai qualité réutilisabilité spécifications non figées équipe de développement 5

5 Objectifs du Génie Logiciel
Présentation Objectifs du Génie Logiciel Maîtriser le développement de logiciels en terme : de difficulté, de qualité, de coûts et délais. L'activité de développement de logiciels est entrée dans une ère industriel. Il faudrait pouvoir développer du logiciel comme on fabrique des bouteilles en verre… Pourquoi Ada : en l'honneur de Augusta Ada Byron (début du 19ième siècle (à vérifier)), comtesse de Lovelace, fille du poète Lord Byron. Mathématicienne qui travailla avec Charles Babbage. Elle est considérée comme le premier programmeur du Monde ! 6

6 Quelques principes de Génie Logiciel
Présentation Quelques principes de Génie Logiciel Abstraction et dissimulation de l'information Modularité - Découpage en modules Testabilité Traçabilité Abstraction et dissimulation de l'information définir à un niveau donné juste les détails nécessaires (ex: la gestion de fichiers logiques est indépendante de l'organisation physique du disque). Modularité - Découpage en modules décomposition descendante du système pendant l'analyse fonctionnelle. composition ascendante du système pendant la réalisation (réutilisabilité) faiblement couplés par leurs interfaces (peu ou pas de variables globales) Testabilité Traçabilité 7

7 Cycle de vie du logiciel (simplifié)
Présentation Cycle de vie du logiciel (simplifié) Planification Exploitation Spécification Validation Conception Tests Cycle classique dit en "V". Il faut savoir qu'il existe également des cycles en spirale (il paraît qu'ils sont plus adapté au développement orienté objet !) On peut considérer que la partie Spécification et conception représente 40 % de l'effort de développement. La partie Codage et tests unitaires représente 30% et la partie tests fonctionnels et de validation représente 30%. Codage 8

8 La Qualité : pourquoi ? La Qualité, les méthodes
complexité des applications instabilité des spécifications manque de rigueur dans la réalisation prise en compte anarchique des modifications 10

9 La Qualité : qu'est ce que c'est ?
La Qualité, les méthodes La Qualité : qu'est ce que c'est ? Application d'une méthodologie de conduite de projet définissant des processus. 11

10 Principe du découpage des travaux
La Qualité, les méthodes Principe du découpage des travaux Un logiciel se découpe en unité de taille décroissante le "projet" les "phases" spécification planification réalisation exploitation les "étapes" qui sont des subdivisions des phases. Chaque étape se concrétise toujours par un ou plusieurs produits formalisés clairement référencés (documents, supports magnétiques, ...) 12

11 Principe des contrôles
La Qualité, les méthodes Principe des contrôles Les contrôle s'exercent tout au long du projet, sur 2 plans : Contrôle qualité certification du respect de règles générales et spécifiques. assurance que le processus de développement se déroule, étape par étape, conformément au plan de développement logiciel. il s'exerce lors de revues internes, au terme de chaque étape sur des produits finis. Le passage à l'étape suivante est conditionné par l'obtention de résultats satisfaisants au contrôle de tous les produits de l'étape. Contrôle des coûts et des délais il s'effectue à intervalles rapprochés pendant toute la durée du projet. Il consiste à mesurer le degré d'avancement des travaux en coûts et délais, puis à le comparer aux prévisions consignées dans le documents de planification. Tout écart significatif peut ainsi être détecté suffisamment tôt pour qu'il soit possible d'entreprendre des actions tendant au respect des engagements. 13

12 Principe des modifications
La Qualité, les méthodes Principe des modifications La prise en compte d'une modification peut intervenir quel que soit le degré d'avancement du projet. Aucune phase, ni étape n'est spécifiquement consacrée aux modifications. La procédure de modification se déroule en 2 temps : Prise en compte de la modification : constat de non conformité ou demande d'évolution, provenant de l'utilisateur, du demandeur, du réalisateur. écriture d'une fiche de modification du produit de l'étape la plus en amont concernées par la modification. Réalisation de la modification : reprise de toutes les étapes dont les produits sont remis en cause, en commençant par la plus en amont de celles-ci. 14

13 Reprise de toutes les étapes concernées
La Qualité, les méthodes 1.1 Spécification opérationnelle du logiciel 1.2 Spécification fonctionnelle du logiciel Côntrole Modification 2.1 Vérification de la faisabilité technique 2.2 Définition des moyens techniques 2.3 Planification du développement 2.4 Réexamen du pla qualité logiciel Reprise de toutes les étapes concernées 3.1 Conception globale 3.2 Conception détaillée 3.3 Codage et tests unitaires 3.5 Tests fonctionnels 3.6 Validation du logiciel Qualité Coûts et délais 4.1 Intégration du système 4.2 Suivi du logiciel 15

14 Les méthodes La Qualité, les méthodes Quelques méthodes classiques :
ERA (Entité Relation Association) HOOD MERISE SADT/SART BOOCH OMT (Object Modeling Technique) UML (Unified Modeling Language) 16

15 Quelques méthodologies « client »
La Qualité, les méthodes Quelques méthodologies « client » - DoD-STD-2167A (Defense system software development / U.S. Department of Defense) - ESA PSS-05-0 (ESA Software Engineering Standards / Agence SpatialeEuropéenne) - GAM-T17 (Méthodologie de développement des logiciels intégrés / Délégation Générale pour l'Armement) - RTCA DO-178-B (Etude et homologation du logiciel des systèmes et équipements de bord) 11

16 Système d'exploitation hôte/cible Editeurs - Traitements de texte
Les outils Système d'exploitation hôte/cible Editeurs - Traitements de texte Compilateurs Editeur de liens Outils d'aide à la production Les OS les plus répandus : UNIX (et ses nombreux dérivés: SCO, LINUX, SOLARIS, OSF) VMS (Digital) MSDOS, OS2 (WARP), WINDOWS (PC et compatibles) MVS (IBM) VRTX, VxWORKS, LynxOS, Chorus, pSos, OS 9, ... EDL => Format des binaires : a.out, ELF, IEEE, COFF, etc MAKE UNIX, AGL, Génération automatique, AdaWorld 17

17 Gestion de configuration Outils de spécifications et de conception
Les outils Debugger symbolique Gestion de configuration Outils de spécifications et de conception Modélisation et prototypage Gestion de projet Outils de contrôle qualité Traçabilité des besoins ... Gestion de configuration : multi-versions et multi-variantes traçabilité StP, Teamwork, etc SES Workbench, LabView Microsoft Project, Time Line, Cascade Diagramme de PERT COCOMO (COnstructive COst MOdel) Vérificateur de règles de codage 18

18 Ne jamais oublier Un logiciel c'est :
la documentation complète et pas seulement le manuel utilisateur le produit exécutable, objets, etc. les archives sources, outils de développement, documentation, 9


Télécharger ppt "Année 2006 – 2007 ENSEA © Emeric Rollin"

Présentations similaires


Annonces Google