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

Pré-requis Systèmes dinformation Systèmes informatiques Conception et programmation orientée objet Réseaux informatiques Base de.

Présentations similaires


Présentation au sujet: "Pré-requis Systèmes dinformation Systèmes informatiques Conception et programmation orientée objet Réseaux informatiques Base de."— Transcription de la présentation:

1

2 Pré-requis Systèmes dinformation Systèmes informatiques Conception et programmation orientée objet Réseaux informatiques Base de données Gestion de production 2Cours génie logiciel15/04/2010

3 Objectifs du cours Etre capable de définir les principes et les techniques du génie logiciel Comprendre la valeur ajoutée de génie logiciel 3Cours génie logiciel15/04/2010

4 Références Beugnard, A. (1998). Introduction au génie logiciel. ENST Bretagne. Di gallo, F. (2001). Cours de génie logiciel. CNAM Bordeaux. Lonchamp, L. (2003). Cours génie logiciel. CNAM – Nancy. Notes de cours de Mme Latifa Rabii 4Cours génie logiciel15/04/2010

5 PLAN Chapitre 1 : Introduction Chapitre 2 : Définitions et principes Chapitre 3 : Modélisation des processus Chapitre 4 : Techniques de spécification Chapitre 5 : Techniques de conception Chapitre 6 : Processus qualité 15/04/2010Cours génie logiciel5

6 Chapitre 1 : Introduction Section 1 : Rappels Section 2 : Définition dun logiciel Section 3 : Domaines dapplication du logiciel Section 4 : Crise du logiciel Section 5 : Solution 15/04/2010Cours génie logiciel6

7 Rappels Un système dinformation : est lensemble des éléments participants à la gestion, au stockage, au traitement, au transport et à la diffusion de linformation au sein de lorganisation Un système informatique : est lensemble des équipements destinés au traitement automatique de linformation permettant dacquérir, de stocker, de traiter et de communiquer des données 7Cours génie logiciel15/04/2010

8 Définition dun logiciel (1/3) Un logiciel est un système dinformation automatisé Un système dinformation automatisé est lensemble des moyens et des méthodes qui se rapporte au traitement automatisé des données. Il constitue la partie logicielle du système informatique 8Cours génie logiciel15/04/2010

9 Définition dun logiciel (2/3) Système dinformation Système informatique Système dinformation automatisé (logiciel) 9Cours génie logiciel15/04/2010

10 Définition dun logiciel (3/3) Un logiciel est un produit qui couvre un ensemble organisé de : – Programmes – Procédés – Documentation – Services 15/04/2010Cours génie logiciel10

11 Caractéristiques du logiciel Un objet immatériel Ne suse pas Le logiciel est facile à reproduire Ses fonctionnalités sont difficiles à figer au départ et souvent remises en cause La plupart des logiciels sont personnalisés 11Cours génie logiciel15/04/2010

12 Domaines dapplication du logiciel Système – Compilateurs (A-0 System) – Editeurs – Gestion de fichiers Temps réels (Real-time) – Contrôle de machine Affaires (Data processing) – SGBD (Oracle) – ERP (SAP) Embarqué (Embedded) – Programme FPGA – Auto-contrôle Scientifique – Simulation – Conception assisté par ordinateur – Calcul numérique intensif Bureautique Intelligence artificielle – Système expert 12Cours génie logiciel15/04/2010

13 Crise du logiciel (1/4) Distribution limitée Logiciel personnalisé Multi-usagers Temps-Réel Base de données Progiciel Systèmes distribués Applications embarquées Systèmes personnels Orientation objet Systèmes experts Première époque Troisième époque Quatrième époque Deuxième époque Cours génie logiciel15/04/2010

14 Crise du logiciel (2/4) 14Cours génie logiciel15/04/2010

15 Exemples déchec de logiciel Perte de la première sonde Mariner vers Venus suite à une erreur de programmation dans un programme Fortran Abandon du projet dinformatisation de la bourse londonienne après 4 ans de travail et 100 M£ de pertes Retard (2 ans) du premier vol de lEurofighter Causes 15/04/2010Cours génie logiciel15

16 Crise du logiciel (3/4) Difficulté de maîtrise des coûts (200 millions de dollars pour fabriquer OS-360) Difficulté de maîtrise des délais de réalisation (2 ans de retard pour les premiers compilateurs PL/1, Algol 68, ADA) 16Cours génie logiciel15/04/2010

17 Crise du logiciel (4/4) 17Cours génie logiciel15/04/2010 Rapports au congrès américains sur les logiciels

18 Solution 18Cours génie logiciel15/04/2010 En octobre 1968 lors dune conférence de lOTAN à Garmisch-Partenkirchen en Allemagne

19 Chapitre 2 : Définition et principes Section 1 : Définition du génie logiciel Section 2 : Vue globale Section 3 : Principes du génie logiciel 15/04/2010Cours génie logiciel19

20 Définition du génie logiciel (1/3) Génie mécanique Génie électrique Génie civil Génie logiciel 20Cours génie logiciel15/04/2010

21 Définition du génie logiciel (2/3) 15/04/2010Cours génie logiciel21 Parallèle avec le génie civil Outils Plan

22 Définition du génie logiciel (3/3) Ensemble de moyens mis en œuvre pour la construction de logiciels Le processus visant la résolution de problèmes posés par un client par le développement et lévolution de systèmes logiciels de grande taille et de haute qualité en respectant les contraintes de coûts et de temps 22 Règle CQFD Coût Qualité Délai Fonctionnalité Cours génie logiciel15/04/2010

23 Principes du génie logiciel Rigueur Séparation de problèmes en sous problèmes Modularité Généricité Construction incrémentale Application du changement 23Cours génie logiciel15/04/2010

24 Vue globale 24 Utilisateur * Besoins Acceptation * Stakeholders Gestionnaire * Client Développeur * * Gestion dacquisition Gestion de projet Génie logiciel Cours génie logiciel15/04/2010

25 Chapitre 3 : Modélisation des processus Section 1 : Processus de gestion Section 2 : Processus de production Section 3 : Modèles de cycle de vie 15/04/2010Cours génie logiciel25

26 26 Processus de gestion Estimation, planification, suivi, … Processus qualité Documentation Processus de production Conception Réalisation Analyse Exploitation Cycle de vie Cours génie logiciel15/04/2010

27 Processus de gestion Organisation du projet – WBS (Work breakdown Structure) – PBS (Product breakdown Structure) – OBS (Organisation breakdown Structure) Planification du projet – Ordonnancer les taches (Pert, Gantt …) – Suivre – Réviser Estimation des coûts – Délais – Budget – Effort 15/04/2010Cours génie logiciel27 Cahier des charges

28 Processus de production : Cycle de vie du logiciel Enchaînement des activités de développement du logiciel 28 AnalyseConceptionCodageTest Exploitation et Maintenance Gestion de projet Assurance qualité Documentation Spécification Validation et vérification

29 Modèle de cycle de vie : Le modèle en cascade Etude préliminaireAnalyseConception du systèmeConception détailléeProgrammation et tests unitairesIntégration et tests dintégrationInstallationExploitation et maintenance 29Cours génie logiciel15/04/2010

30 Modèle de cycle de vie : Le modèle en cascade Avantages Découpage des taches simple et intuitive Responsabilité humaine facile à associer Production de la documentation Maintenance facile Inconvénients Risques derreurs Difficulté davoir tous les besoins du client 15/04/2010Cours génie logiciel30

31 Modèle de cycle de vie : Le modèle en V 31 Etude préliminaire Analyse Conception architecturale Conception détaillée Codage Tests unitaires Tests dintégration Tests dacceptation Maintenance Préparation / Validation Préparation / Vérification Temps Abstraction Préparation / Vérification Préparation / Validation Cours génie logiciel15/04/2010

32 Modèle de cycle de vie : Le modèle en V Avantages Réaliser les propriétés du logiciel Meilleur préparation aux tests Contrôle de qualité sur chaque phase Inconvénients Difficile à appliquer rigoureusement Validation des étapes adjacentes est mal préparée 15/04/2010Cours génie logiciel32

33 Modèle de cycle de vie : Le modèle incrémental 33 Etude de faisabilité Conception architecturale Conception détaillée Codage et intégration Implémentation Itération Livraison du version i du logiciel Cours génie logiciel15/04/2010

34 Modèle de cycle de vie : Le modèle incrémental Avantages Appliquer pour un logiciel de grande taille Réduire les délais de livraison Inconvénients Maintenance exhaustive Risques dinterruption de développement 15/04/2010Cours génie logiciel34

35 Modèle de cycle de vie : Le modèle de prototypage 15/04/2010Cours génie logiciel35 Analyse et spécification des besoinsConception et réalisationEvaluation du prototypageRévision et modification du prototypeDocumenter et compléter la définition des besoins

36 Modèle de cycle de vie : Le modèle de prototypage Avantages Se concentrer sur les points critiques Un modèle évolutif Simplifier lélaboration des besoins Aider à lélaboration de linterface H/M Inconvénients Problème de gestion de projet 15/04/2010Cours génie logiciel36

37 Chapitre 4 : Techniques de spécification Section 1 : Définition et types de spécification Section 2 : Styles de spécification 15/04/2010Cours génie logiciel37

38 Définition et types de spécification (1/2) La spécification décrit les caractéristiques attendues (le quoi) dune implantation (le comment) On distingue 3 types de spécification : – Spécification des besoins 38 Utilisateur final Concepteur Exigences fonctionnelles et non fonctionnelles Phase danalyse des besoins Cours génie logiciel15/04/2010

39 Définition et types de spécification (2/2) – Spécification dune architecture du système – Spécification technique dun module 39 Concepteur Programmeur Architecture en modules Phase de conception générale Concepteur Architecture du module Phase de conception détaillée Programmeur Cours génie logiciel15/04/2010

40 Styles de spécification 40 Formalité Spécification informelle (Langue naturelle) Opérationnel (Description du comportement désiré) Spécification formelle (Langage Z) Spécification semi – formelle (Modèles graphiques) Déclaratif (Description des propriétés désirées) Caractère Cours génie logiciel15/04/2010

41 Styles de spécification : DFD Une technique semi-formelle et opérationnelle La représentation graphique distingue : Les fonctions par Les données stockées Les flux par Les entités externes par 41Cours génie logiciel15/04/2010 Exemple

42 Styles de spécification : Schéma Entité Relation Une technique semi formelle et déclarative Les concepts du modèle de base sont : – Les entités – Les relations – Les attributs Exemple 42 Entité Attributs Relation Attributs Etudiant Est inscrit ID Nom Adresse ID Libellé Filière Cours génie logiciel15/04/2010

43 Styles de spécification : Langage Z Un langage formel qui utilise – Les notions ensemblistes, le calcul des propositions… – Les relations et les fonctions – Les suites 43Cours génie logiciel15/04/2010

44 Styles de spécification : Langage Z Exemple : Enregistrement des passagers à bord dun avion 1.Déclaration des variables – [PERSONNE] : Ensemble des personnes identifiées de manière unique – Capacité : N Capacité de lavion 2.Définition de létat du système 4415/04/2010

45 Styles de spécification : Langage Z 3.Description de létat initial 4.Description de lévolution du système 45Cours génie logiciel15/04/2010

46 Styles de spécification : Langage Z 5.Description des opérations 46Cours génie logiciel15/04/2010

47 Chapitre 5 : Techniques de conception Section 1 : Définition et approches Section 2 : Approche fonctionnelle Section 3 : Approche à objet Section 4 : Exercice 15/04/2010Cours génie logiciel47

48 Définition et approches La conception propose une solution au problème spécifié lors de lanalyse – Une architecture de lapplication (logicielle et physique) – Une description détaillée des modules On distingue deux approches de conception – Lapproche fonctionnelle – Lapproche à objets 48Cours génie logiciel15/04/2010

49 Définition et approches : Approche fonctionnelle Dans lapproche fonctionnelle – Un module est un sous-système – La relation de base est la relation de décomposition 49 SystèmeFonction 1 Sous fonction 11 Sous fonction 12 Fonction 2 Sous fonction 21 Sous fonction 22 Gestion de bibliothèques Gestion des ouvrages Gestion dacquisition Gestion de réparation Gestion de prêts Gestion des emprunts Gestion des réservations Exemple : Gestion de bibliothèque Cours génie logiciel15/04/2010

50 Approche fonctionnelle : Les diagrammes de structure Une organisation hiérarchique et fonctionnelle des systèmes La représentation graphique distingue : – Les modules par – La relation dappel entre modules par – Les flux de données par 50Cours génie logiciel15/04/2010

51 Définition et approches : Approche à objets Dans lapproche à objets – Les modules sont les objets concrets ou abstraits du domaine de l'application – La relation de base est la relation d'utilisation (par appel de service) 51 Réservation Ouvrage Emprunt 1. Modifier état 2. Modifier état Exemple : Gestion de bibliothèque Cours génie logiciel15/04/2010

52 Exercice (1/3) Soit un vérificateur dorthographe qui cherche chaque mot dun document dans un dictionnaire. Les mots trouvés sont considérés comme corrects. Les mots non trouvés apparaissent à lécran et lutilisateur prend une décision : soit ils sont corrects et sont ajoutés au dictionnaire, soit ils sont incorrects et ajoutés avec la correction à un fichier des mots à corriger. 1.DFD ? 2.Diagramme de structure ? 52Cours génie logiciel15/04/2010

53 Exercice (2/3) 1.Correction : DFD 53Cours génie logiciel15/04/2010

54 Exercice (3/3) 2.Correction : Diagramme de structure 54

55 Chapitre 6 : Processus qualité Section 1 : Définitions Section 2 : La documentation 15/04/2010Cours génie logiciel55

56 Définitions 56 Qualité ValiditéRéaliser exactement les tâches définies dans la spécification FiabilitéAssurer de manière continue le service attendu RobustesseFonctionner même dans des conditions anormales ExtensibilitéFacilité d'adaptation du logiciel aux changements de spécification RéutilisabilitéEtre réutilisé en tout ou partie EfficacitéBien utiliser les ressources matérielles Cours génie logiciel15/04/2010

57 57 Assurance qualité : concerne la définition de la manière dont lentreprise comptait atteindre la qualité Planification qualité : sélection de procédures et standards appropriées pour un projet bien déterminé Contrôle qualité : implique l'observation du processus de développement pour assurer que les procédures d'assurance qualité ont été suivies Assurance qualité Planification qualité Contrôle qualité Cours génie logiciel15/04/2010

58 La documentation Rapport danalyse Etude préliminaire Cahier des charges Plan qualité Analyse des besoins Dossier danalyse Plan de validation Analyse du système Dossier de conception Plan de test par modules Conception Dossier de programmation Programmation et tests unitaires 58 … Cours génie logiciel15/04/2010

59 Annexe : Atelier de génie logiciel (CASE) Un logiciel (Outils) aidant à la réalisation de logicielsOutils Il est basé sur des méthodologies qui formalisent le processus logiciel Il contribue à l'amélioration de la productivité et de la qualité du logiciel 59 AnalyseConceptionCodageTest Exploitation et Maintenance Editeur de texte et de diagrammes Debuggers Outils de génération de tests Compilateur Générateurs d'interfaces Logiciel de gestion de configuration

60 Complexité dun logiciel 15/04/2010Cours génie logiciel60 Probabilité déchec Taille du logicielTaille du logiciel (mesurée en points de fonction)

61 Thèmes de recherche Les techniques de vérification du logiciel Le cycle de vie des systèmes critiques La documentation La qualité du logiciel Audit et sécurité du logiciel 15/04/2010Cours génie logiciel61


Télécharger ppt "Pré-requis Systèmes dinformation Systèmes informatiques Conception et programmation orientée objet Réseaux informatiques Base de."

Présentations similaires


Annonces Google