Introduction au Génie Logiciel

Slides:



Advertisements
Présentations similaires
EPITECH 2009 UML EPITECH 2009
Advertisements

Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Analyse et Programmation Orientées Objets
Eléments de Génie Logiciel
Processus d'expression du besoin
L'installation et la diffusion 1 LInstallation et la Diffusion.
La Recette La recette.
La Gestion de la Configuration
Les Evolutions et la Maintenance
LA QUALITE LOGICIELLE Plan du cours Le Plan Qualité 1 h ½
Validation des Systèmes Informatisés Industriels
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
TESTBED TESTPLAN OBJECTIFS: Évaluer les services, fonctionnalités et l'installation des releases du testbed. CONTEXTE: Test effectué dans un contexte de.
Chapitre 7 : démarche de conception, conduite de projet SI
Les démarches de développement
Les démarches de développement
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Rational Unified Process (RUP)
Les Ateliers de Génie Logiciel
La revue de projet.
MIAGE MASTER 1 Cours de gestion de projet
Cycle de vie dun logiciel Origine des erreurs La spécification 50% 40% 10% Le design Le codage.
MANAGEMENT DU PRODUIT Organisation Technique du Produit (OTP) Objet Arborescence Produits Relation autres domaines Décomposition du système Gestion.
Le projet en STI2D Initier le projet Délimiter les champs du possible
Modèle, Méthode et Conception
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Conception des Réalisé par : Nassim TIGUENITINE.
Les étapes du cycle de développement du génie logiciel
Démarche de développement
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Langage de modélisation graphique de systèmes
ANALYSE METHODE & OUTILS
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
GENIE LOGICIEL
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Cycles de Vie du Logiciel LFI2 Genie Logiciel/ Gestion de Projets Septembre 2008.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Formalisation de la politique qualité
Initiation à la conception des systèmes d'informations
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
ISO 9001:2000 DOCUMENTATION DU SYSTEME QUALITE
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Année 2006 – 2007 ENSEA © Emeric Rollin
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
L’enseignement de spécialité SLAM
Les démarches de développement
2 Tracks Unified Process
Sensibilisation aux projets logiciels
Informatique et Sciences du Numérique
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
développeur informatique
Document de spécification d’exigences Normes IEEE et 29148:2011
Présentation de la méthode Merise
Du Cahier des Charges à la Spécification Formelle ?
Modèles de cycle de vie et processus de génie
C’est ce que l’on veut obtenir la manière dont on va l’obtenir
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
CONTENU DE L ’ISO Définition métrologie.
Planning Process « t’as un plan pour ce soir ? » Tony Carnal Altran.
Transcription de la présentation:

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

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)

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)

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)

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

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é)

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

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"

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

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

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)

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

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…)

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

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

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)

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)

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

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

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"

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

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

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

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

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

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

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