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

Introduction au Génie Logiciel

Présentations similaires


Présentation au sujet: "Introduction au Génie Logiciel"— Transcription de la présentation:

1 Introduction au Génie Logiciel
Application dans la formation GTR : développement de projet informatique Principales références utilisées : Jacques Printz : Le Génie Logiciel, collection "Que sais-je?", PUF, 2001 Alfred Strohmeier, Didier Buchs : Génie Logiciel : principes, méthodes et techniques, PPUR, 1996 M. Lay, Penser Objet avec UML et Java, Dunod 2000

2 Génie logiciel Développement en équipe d'un logiciel complexe
Un intervenant = une (petite) partie du travail Programmation : entre 15% et 35% du travail Analyse, conception, vérification, gestion de projet Complexité croissante des logiciels Sécurité Coût du logiciel (>> coût du matériel)

3 Activités du Génie logiciel (ANSI/IEEE 1002)
Ingénierie du produit (product engineering) Analyse des besoins (requirements analysis) Conception (design) Codage (coding) Intégration (integration) Conversion (conversion) Débogage (debugging) Support du produit (product support) Maintenance (maintenance)

4 Activités du Génie logiciel (ANSI/IEEE 1002)
Vérification et validation (verification and validation) Revues et audits (reviews and audits) Analyse du produit (product analysis) Test (testing) Gestion technique (technical management) Gestion du processus (process management) Gestion du produit (product management) Gestion des ressources (resource management)

5 Facteurs de coûts Mal connaître le métier, mal comprendre l'utilisateur Coût de maintenance > coût de conception Prévention des erreurs : des dizaines de fois moins cher que leur correction Plus tôt sont détectées les erreurs, moins chère est leur correction

6 Facteurs de qualité Qualité externe (client, utilisateur)
Réalise les tâches attendues (complétude fonctionnelle) Est facilement utilisable (utilisabilité) Fonctionne même dans les cas atypiques (fiabilité) S'adapte à d'autres besoins (adaptabilité) Qualité interne (développeur) Composants réutilisables (Réutilisabilité) Composants documentés selon standards (Traçabilité) Bonne utilisation des ressources (Efficacité) Adaptation à de nouveaux environnements (Portabilité)

7 Création de logiciel Programmation Analyse des besoins Spécifications
Installation Conception Gestion Validation Maintenance

8 Analyse des besoins Fonctionnalités attendues du système
Point de vue métier, de l'utilisateur Aider à formuler le besoin Produit un document textuel, avec schémas, intelligible par le client Conduit à la définition du cahier des charges => les "spécifications"

9 Spécifications Ce que doit faire le système
Produit un document textuel avec schémas, lisible par toutes les parties Base du contrat commercial Base des tests de vérification de la phase d'installation

10 Installation Dernière étape avant exploitation
Installer le logiciel dans son environnement opérationnel Vérifier le logiciel dans son environnement opérationnel Organiser la formation Planifier la transition

11 Validations et vérifications
S'appliquent sur tous les produits (intermédiaires et final) Validation : a-t-on construit le bon produit ? Critères externes au produit Vérification : le produit est-il bien construit ? Dépend des exigences de qualité préalablement énoncées Notions souvent identiques (même test)

12 Analyse (début du développement)
Parfois confondue avec spécifications "Quoi faire" : comprendre le métier Premier modèle du système : ce n'est pas la solution du problème, c'est une vue externe (tout ce qui peut être perçu sans rentrer dans la structure interne) Doit laisser de la place aux décisions de conception

13 Document produit (analyse – spécification)
Fonctionalités du logiciel Interfaces utilisateurs Comportements en cas d'erreurs Performances requises Interfaces avec autres logiciels Interfaces avec le(s) matériel(s) Contraintes de réalisations (matériels, logiciels, normes…)

14 Autres produits (analyse – spécification)
Préparation des procédures de vérification/validation du logiciel plan de validation Version provisoire des manuels : d'utilisation et d'exploitation du logiciel

15 Conception générale Comment réaliser le logiciel ?
Choix techniques : explorer plusieurs solutions… Décrire la solution retenue Architecture générale Composants Structures de données Fonctionalités Interactions entre ces composants Tous les éléments de la spécification doivent être pris en compte

16 Produits (conception générale)
Le document décrivant l'architecture générale Un plan d'intégration, avec un plan des tests d'intégration (procédures de tests, jeux de données)

17 Conception détaillée Décompose chaque composant en sous-composants, jusqu'au niveau où le codage devient facile Précise pour chaque composant : Son interface Les algorithmes Le traitement des erreurs Produits : L'ensemble de ces descriptions Le plan des tests unitaires (jeux de données)

18 Implémentation Traduction dans un langage de programmation
Mise au point Documentation Production des données (saisies, conversions, récupérations)

19 Documentation Les manuels d'utilisation et d'exploitation doivent être prêts au plus tard lors de l'installation Selon la complexité du logiciel : Guide d'installation Guide de l'utilisateur Guide de l'opérateur Manuel de référence Documentations des composants logiciels

20 Maintenance et évolution
Corrections des erreurs Prise en compte de nouveaux cas d'utilisation Ajout de nouvelles fonctionalités Dans chaque cas, un "cycle de développement"

21 Analyse spécifications
Organiser le développement ("cycle" de l'analyse à l'installation): la cascade Analyse spécifications Conception Programmation Tests Installation

22 Installation et tests de réception
Le modèle en V analyse Tests unitaires Conception générale Programmation Installation et tests de réception Conception détaillée Intégration et tests Liens de validation

23 Conception-programmation-intégration
analyse Tests unitaires Conception générale Programmation Installation et tests de réception Conception détaillée Intégration et tests Conception: Intégration: Système global Système global Détails précis Détails précis

24 Importance de la maintenance
Première version Conception : 40% Programmation : 20% Intégration : 40% Versions suivantes Conception : 20% Intégration : 60%

25 Développement itératif : maquettes, prototypes…
analyse Tests unitaires Conception générale Programmation Installation et tests de réception Conception détaillée Intégration et tests Liens de validation Liens de correction

26 Développement incrémental
Mêmes motivations que le développement itératif Par incréments Démarre après la phase de conception générale Pour chaque incrément, un cycle complet de conception – implémentation – validation Commencer par ce qui sert à tout le reste

27 Les objets… Modularité => programmation par composants
Localisation, encapsulation Sureté Abstraction / spécialisation Réutilisabilité


Télécharger ppt "Introduction au Génie Logiciel"

Présentations similaires


Annonces Google