Aperçu des sections

  • Organisation

    Lien BBB pour le cours :

    https://bbb.ensicaen.fr/b/clo-nhm-2kd


    Fiche de description du cours : Fiche de description du cours : Cours 1I2AC1

    Selon l'arrêté ministériel du 30 décembre 1983 relatif à l'enrichissement du vocabulaire de l'informatique, le génie logiciel est défini comme « l'ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi. ».

    Ce cours d'introduction au génie logiciel aborde les points suivants :

    • le paradigme de Conception Orientée Objet.
    • le langage de modélisation graphique  UML (Unified Modeling Language).
    • le développement logiciel Agile.

    Responsable de l'enseignement: Régis Clouard

    Volume horaire

    • Cours magistral : 11h
    • Travaux dirigés : 14h

    Coefficients

    • Examen final : 2
    • Cette section

      Supports de cours

      Polycopié Diapositives Objectif du chapitre
      Chapitre 1 : Introduction au génie logiciel Diapositives cours 1
      Pourquoi un cours sur le génie logiciel ?
      Chapitre 2 : Un paradigme ; Objet Diapositives cours 2
      Diapositives cours 3
      Diapositives cours 4
      Initiation au paradigme objet pour la conception logicielle.
      Chapitre 3 : Un formalisme : UML Diapositives cours 5
      Présentation du langage UML à travers ses principaux diagrammes.
      Chapitre 4 : Une méthode : Agilité
      Diapositives cours 6
      Une première introduction aux principes agiles du développement logiciel.
      Chapitre 5 : Qualité logicielle
      Diapositives cours 7-1
      Présentation de la notion de qualité logicielle selon le point de vue des méthodes Agiles
      Chapitre 6 : Code propre Diapositives cours 7-2
      Diapositives cours 8
      Définition de la notion de code propre à travers et les principes et la pratique.
      Chapitre 7 : Refonte de code
      (code refactoring)
      Diapositives cours 9
      Présentation de quelques règles de refonte du code pour en améliorer sa qualité.
      Chapitre 8 : Test logiciel
      Diapositives cours 10
      Initiation aux tests logiciels et en particulier aux tests dynamiques.
      Chapitre 9 : Résumé
      Diapositives cours 11
      Résumé du cours et conclusion générale.
      • Polycopié

        • Lectures complémentaires

          • Travaux Dirigés

            • Ressources

              I. Fichier de configuration IntelliJ et Android Studio

              Ce fichier permet de conserver et partager les réglages de configuration. Le fichier ci-dessous contient toutes les règles de code propre vues en cours notamment la reconnaissance des attributs avec le souligné en préfixe.

              Dans IntelliJ Idea ou Android Studio, faire File::ImportSettings sur le ficher settings.jar


              II. Katas

              Un Kata est un exercice de développement logiciel destiné à améliorer et maintenir ses compétences en matière de développement à travers la pratique et la répétition. Les katas sont de petits exercices qui peuvent être effectués en moins d'une heure.
              C'est la répétition qui permet réellement de progresser notamment dans la maîtrise des fonctionnalités de l'IDE en cherchant à aller toujours plus vite à développer le même programme, ainsi que dans la  compréhension des concepts mis en exergue par l'exercice en cherchant à accroître constamment la qualité du développement...

              • Références

                • Grady Booch, James. Rumbaugh, Ivar Jacobson, « Le guide de l'utilisateur UML ». Eyrolles, 1998.
                • Martin Fowler, « UML 2.0 », Campus Press, 2003. (La description de la version 2.0)
                • James Rumbaugh, « Modélisation et conception orientées objet », Prentice Hall, 1991.
                • Nathalie Lopez, Jorge Migueis, Emmanuel Pichon, « Intégrer UML dans vos projets », Eyrolles 1998.
                • Pierre-Alain Muller, Nathalie Gaertner, « Modélisation objet avec UML », Eyrolles 2e ed, 2000.
                • Ivar Jacobson, « Le génie logiciel orienté objet », Addison-Wesley, 1992.
                • Pascal Roques, Franck Vallée, « UML en action », Eyrolles, 2002.
                • Bertand Meyer, « Conception et Programmation orientées objet », Eyrolles, 2000.
                • Robert C. Martin. « Agile Software Development: Principles, Patterns, and Practices », Prentice Hall International, 2002.
                • Robert C. Martin, « Clean Code A Handbook of Agile Software Craftsmanship  », Prentice Hall, 2009.
                • Glenford J. Myers, « The Art of Software Testing », John Wiley & Sons, Inc., 2004.