Aperçu des sections

  • Documents de 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
    • Cours

      Chapitre PolycopiéObjectif du chapitre
      Chapitre 1 : Introduction au génie logiciel Diapositives Pourquoi un cours sur le génie logiciel ?
      Chapitre 2 : Le paradigme objet Diapositives Initiation au paradigme objet pour la conception logicielle.
      Chapitre 3 : Le formalisme UML Diapositives Présentation du langage UML à travers ses principaux diagrammes.
      Chapitre 4 : Méthode Agile
      Diapositives Une première introduction aux principes agiles du développement logiciel.
      Chapitre 5 : Qualité logicielle
      Diapositives Présentation de la notion de qualité logicielle avec un focus particulier sur le point de vue du développeur.
      Chapitre 6 : Code propre Diapositives Définition de la notion de code propre à travers et les principes et la pratique.
      Chapitre 7 : Test logiciel Diapositives Initiation aux tests logiciels et en particulier aux tests dynamiques.
      Chapitre 8 : Refonte de code (code refactoring)
      Diapositives Présentation de quelques règles de refonte du code pour en améliorer sa qualité.
      Chapitre 9 : Les 12 choses que tout bon développeur doit savoir Diapositives
      Questions de cours Quiz

      • Lectures complémentaires

        • Ressources

          I. 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.

          Kata 1 : Eratosthène

          Le programme consiste à calculer les nombres premiers inférieurs à un nombre maximal donné en utilisant le crible d'Eratosthène.

          Kata 2 : Bowling

          Cet exercice consiste à développer un programme de gestion des points d'une partie de Bowling

          • L'énoncé et les étapes de la solution de R. Martin : BowlingGameKata.ppt
          • La liste des commandes IntelliJ IDEA pour réaliser le Kata : synopsis.

          Kata 3 : Calculatrice

          Cet exercice consiste à développer une calculatrice utilisant la logique polonaise.

          II. Fichier de configuration IntelliJ et Android Studio

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

          • 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.