PDFprof.com Search Engine



Introduction au génie logiciel et à la modélisation

PDF
Images
List Docs
  • C'est quoi un ingénieur en génie logiciel ?

    Concevoir puis mettre en place des logiciels de comptabilité, de gestion des stocks, de traitement des images, d'applications web en suivant les demandes des entreprises ou des administrations, c'est le rôle de l'ingénieur logiciel.

  • Quel est le but du génie logiciel ?

    Rôle de l'ingénieur logiciel.
    Le génie logiciel applique les principes et techniques d'ingénierie à la conception de systèmes logiciels, intégrés et à grande échelle.
    L'ingénieur logiciel doit maîtriser la théorie et les méthodes de l'informatique.

  • C'est quoi la différence entre génie informatique et génie logiciel ?

    L'ingénieur informatique et l'ingénieur logiciel possèdent tous deux une formation de base commune en analyse et conception de logiciels.
    Toutefois, l'ingénieur informatique a une formation beaucoup plus spécialisée au niveau matériel, plus spécifiquement sur les systèmes embarqués et l'électronique numérique.

  • Les matières de base sont notamment : Techniques de programmation, Bases de données, Analyse de gestion, Théorie des langages, Systèmes d'exploitation, Architecture des ordinateurs, Réseaux et système, Ingénierie logicielle, Technologies digitales, Soft skills , Business management…

Introduction au génie logiciel et à la modélisation
Introduction au Génie Logiciel
Génie Logiciel
Cours 1 Introduction au génie logiciel et à la modélisation
Gestion de projets
L'Architecture Structurale: Concepts et origines
Architecture et design – Complémentarités/convergences/divergences
Analyse comparative de la structure et de la
L'Architecture Structurale: Concepts et origines
QUAND LA STRUCTURE DEVIENT UNE ARCHITECTURE
ENSEMBLE L'ARCHITECTURE
Next PDF List

Introduction au génie logiciel et à la modélisation

UMLIntroduction au génie logicielet à la modélisationDelphine Longuetdelphine.longuet@lri.frPolytech Paris-SudFormation initiale 3e annéeSpécialité InformatiqueAnnée 2017-2018D.

Longuet - UML2Organisation du coursModalités de contrôle des connaissances :●Projet commun avec le module de Java●Contrôle sur table : 20 avrilNote finale = 40 % projet + 60 % contrôle + bonus fichesSeuls documents autorisés au contrôle :●Transparents du cours●Fiches résuméPage web du cours :http://www.lri.fr/~longuet/Enseignements/17-18/Et3-UMLD.

Longuet - UML3Organisation du coursCours :●Pas de cours magistral (à part cette introduction)●Vidéos : https://www.youtube.com/channel/UCrEm-Sqv-vGvOrid9jdhRnQAvant chaque séance de cours :●Visionner la ou les vidéos requises●M'envoyer par e-mail la fiche résumé du cours complétéePendant la séance de cours :●Correction du résumé de cours●QCM avec ou sans zapettes●Exemples commentésD.

Longuet - UML4Génie logicielDéfinition : Ensemble des méthodes, des techniques et des outils dédiés à la conception, au développement et à la maintenance des systèmes informatiquesObjectif : Avoir des procédures systématiques pour des logiciels de grande taille afin que●la spécification corresponde aux besoins réels du client●le logiciel respecte sa spécification●les délais et les coûts alloués à la réalisation soient respectésD.

Longuet - UML5Logiciel : définitionsEnsemble d'entités nécessaires au fonctionnement d'un processus de traitement automatique de l'information●Programmes, données, documentation Ensemble de programmes qui permet à un système informatiqued'assurer une tâche ou une fonction en particulierLogiciel = programme + utilisationD.

Longuet - UML6Logiciel : caractéristiquesEnvironnement●utilisateurs :grand public (traitement de texte),spécialistes (calcul météorologique),développeurs (compilateur)●autres logiciels : librairie, composant●matériel :capteurs (système d'alarme),réseau physique (protocole),machine ou composant matériel contrôlé (ABS)Spécification : ce que doit faire le logiciel, ensemble de critères que doivent satisfaire son fonctionnement interne et ses interactions avec son environnementD.

Longuet - UML7Crise du logicielConstat du développement logiciel fin années 60 :●délais de livraison non respectés●budgets non respectés●ne répond pas aux besoins de l'utilisateur ou du client●difficile à utiliser, maintenir, et faire évoluerD.

Longuet - UML8Étude du DoD 1995Étude du Department of Defense des États-Unis sur les logiciels produits dans le cadre de 9 gros projets militairesJarzombek, Stanley J., The 5th annual JAWS S3 proceedings, 19992%3%19%47%29% Utilisés directement Utilisés après quelques modifications Utilisés après de fortes modifications Jamais utilisés Payés et pas livrésD.

Longuet - UML9Étude du Standish group19941996199820002002200420062008201020120%20%40%60%80%100%Projets réussis : achevés dans les délais et pour le budget impartis, avec toutes les fonctionnalités demandéesProjets mitigés : achevés et opérationnels, mais livrés hors délais, hors budget ou sans toutes les fonctionnalités demandéesProjets ratés : abandonnés avant la fin ou livrés mais jamais utilisésEnquête sur des milliers de projets, de toutes tailles et de tous secteursStandish group, Chaos Manifesto 2013 - Think Big, Act Small, 2013D.

Longuet - UML10Petits vs grands projets76%20%4%Petits projetsbudget ≤ $1 million10%52%38%Grands projetsbudget ≥ $10 millionsProjets réussisProjets mitigésProjets ratésStandish group, Chaos Manifesto 2013 - Think Big, Act Small, 2013D.

Longuet - UML11Utilisation des fonctionnalités implantéesToujours, 7%Souvent, 13%Parfois, 16%Rarement, 19%Jamais, 45%Standish group, Chaos Manifesto 2002, 2002" La satisfaction du client et la valeur du produit sont plus grandes lorsque les fonctionnalités livrées sont bien moins nombreuses que demandé et ne remplissent que les besoins évidents. »Standish group, Chaos Report 2015, 2015D.

Longuet - UML12Raisons de la faible qualité des logicielsTâche complexe :●Taille et complexité des logiciels●Taille des équipes de conception/développementManque de méthodes et de rigueur :●Manque de méthodes de conception●Négligence et manque de méthodes et d'outils des phases de validation/vérificationMauvaise compréhension des besoins :●Négligence de la phase d'analyse des besoins du client●Manque d'implication du client dans le processusD.

Longuet - UML13Raisons de la faible qualité des logicielsCe que le client a expliquéCe que le chef de projet a comprisCe que l'analyste a proposéCe que le programmeur a écritCe dont le client avait vraiment besoinD.

Longuet - UML14Raisons de la faible qualité des logicielsDifficultés spécifiques du logiciel :●Produit invisible et immatériel●Difficile de mesurer la qualité●Conséquences critiques causées par modifications infimes●Mises à jour et maintenance dues à l'évolution rapide de la technologie●Difficile de raisonner sur des programmes●Défaillances logicielles principalement humainesD.

Longuet - UML15Importance de la qualité des logicielsFiabilité, sûreté et sécurité des logiciels●Transports automobile, ferroviaire, aéronautique●Contrôle de processus industriels, nucléaire, armement●Médical : imagerie, appareillage, télé-surveillance●e-commerce, carte bancaire sans contact, passeport électroniqueRaisons économiques : coût d'un bug●Coût de la correction, du rappel des appareils défectueux●Coût de l'impact sur l'image, de l'arrivée tardive sur le marché●Coût en vies, coût de l'impact écologiqueD.

Longuet - UML16Génie logicielIdée : appliquer les méthodes classiques d'ingénierie au domaine du logicielIngénierie (ou génie) : Ensemble des fonctions allant de la conception et des études à la responsabilité de la construction et au contrôle des équipements d'une installation technique ou industrielleGénie civil, naval, aéronautique, mécanique, chimique D.

Longuet - UML17Qualité du logicielCritères de qualité●Validité : réponse aux besoins des utilisateurs●Facilité d'utilisation : prise en main et robustesse●Performance : temps de réponse, débit, fluidité ●Fiabilité : tolérance aux pannes●Sécurité : intégrité des données et protection des accès●Maintenabilité : facilité à corriger ou transformer le logiciel●Portabilité : changement d'environnement matériel ou logicielD.

Longuet - UML18Contrôleur de télécommandePortabilitéFacilité d'utilisationValiditéPerformanceSécuritéFiabilitéMaintenabilitéAire caractéristiquede qualité logiciel(représentative du coût)D.

Longuet - UML19Jeu vidéoPortabilitéFacilité d'utilisationValiditéPerformanceSécuritéFiabilitéMaintenabilitéD.

Longuet - UML20Client mailPortabilitéFacilité d'utilisationValiditéSécuritéFiabilitéMaintenabilitéPerformanceD.

Longuet - UML21Simulateur pour Météo FrancePortabilitéFacilité d'utilisationValiditéPerformanceSécuritéFiabilitéMaintenabilitéD.

Longuet - UML22Processus de développement logicielEnsemble d'activités successives, organisées en vue de la production d'un logicielEn pratique :●Pas de processus idéal●Choix du processus en fonction des contraintes (taille des équipes, temps, qualité )●Adaptation de " processus types » aux besoins réelsD.

Longuet - UML23Processus de développement logicielActivités du développement logiciel●Analyse des besoins●Spécification●Conception●Programmation●Validation et vérification●Livraison●MaintenancePour chaque activité : Utilisation et production de documentsD.

Longuet - UML24Activités du développement logicielAnalyse des besoins : Comprendre les besoins du client●Objectifs généraux, environnement du futur système, ressources disponibles, contraintes de performance ●Fournie par le client (expert du domaine d'application, futur utilisateur )Spécification :●Établir une description claire de ce que doit faire le logiciel (fonctionnalités détaillées, exigences de qualité, interface )●Clarifier le cahier des charges (ambiguïtés, contradictions) en listant les exigences fonctionnelles et non fonctionnellesD.

Longuet - UML25Activités du développement logicielConception : Élaborer une solution concrète réalisant la spécification●Description architecturale en composants (avec interface et fonctionnalités)●Réalisation des fonctionnalités par les composants (algorithmes, organisation des données)●Réalisation des exigences non fonctionnelles (performance, sécurité )Programmation : Implantation de la solution conçue●Choix de l'environnement de dévelo