GLG105

Génie logiciel


6 crédits Ghislain ROCHETEAU EPN05 - Informatique Unité d'enseignement de type cours

Publié Du 01-09-2007 au 31-08-9999

Prérequis

Pour tirer le meilleur parti de ce cours il est souhaitable de connaître les connaissances de base en informatique, dispensées en L1, L2.

Une connaissance générale, acquise dans d'autres cours ou dans la pratique, de la programmation, des systèmes d'exploitation et de l'architecture sera un plus.

Objectifs pédagogiques

Cette UE est destinée à donner un panorama complet des principales techniques et méthodes de base permettant de mettre en oeuvre et de déployer des logiciels dont le principe est qu'ils fonctionnent correctement conformément aux besoins de ses utilisateurs.

Contenu

Ce cours est articulé sur la compréhension en profondeur du processus de développement logiciel de façon qu'un auditeur puisse se couler sans difficulté dans les différentes techniques et méthodes qu'il rencontrera dans sa vie professionnelle.

L’étude du processus de développement logiciel sera appréhendée à travers les différentes approches et technologies utilisées de nos jours dans le monde industriel en suivant une démarche similaire.

Cette UE est organisée en 4 modules principaux dont deux modules sur les approches et technologies déployées dans l’industrie en lien avec l’Agilité, le Cloud Computing, DevOps :

  • Un module gestion de projet : l'importance de l'ingénierie du logiciel et des projets informatiques, les cycles de vie, le processus de gestion des projets informatiques, la nécessité de l'estimation des couts, des délais et de la gestion de la capacité, l'agilité notamment à travers la méthode Scrum et l’agilité à l’échelle.
  • Un module conception et architecture des logiciels : la problématique de la modélisation, l'expression des besoins, l'analyse fonctionnelle, les modèles statiques et dynamiques, le paradigme objet.
  • Un module Cloud Computing
    • Approche, intérêt, Cloud privée, Cloud publique, Cloud hybride, modèles de déploiement IaaS, PaaS et SaaS, gouvernance, aspects financiers, move to cloud, sécurité.
    • Aspect technologique avec la virtualisation, l'approche conteneur avec Docker et leur orchestration avec Kubernetes ainsi que l'architecture sous-jacente, le Datacenter.
      Les différents notions, machine virtuelle, mise à l’échelle, Load Balancing, IoT seront présentées à travers le Cloud public Microsoft Azure.
  • Un module DevOps,  approche et concept. La gestion de configuration/version avec Git/GitHub, l'approche CI/CD intégration continue / déploiement continue, les modèles de déploiement.

L’utilisation d’un Cloud public et d'exemples en JavaScript et Node.js serviront à illustrer les différents concepts,

Il sera souligné l'importance de l'architecture et des concepts architecturaux. Une attention sera portée à la prise en compte des aspects non fonctionnels du logiciel dans leur développement.
A ces modules, pour compléter le panorama, s'ajoutent un cours de sensibilisation, concernant l'assurance qualité logicielle. Concept transverse indispensable à prendre en compte dans tous les projets informatiques.

Modalités de validation

  • Examen final

Description des modalités de validation

Examen 3h.

Bibliographie

TitreAuteur(s)
Software Engineering Standards CollectionIEEE
Le Génie logiciel (Que sais-je n°2956, PUF).J. PRINTZ
Productivité des programmeurs, Hermès-LavoisierJ. PRINTZ
Puissance et limites des systèmes informatisés, Hermès-LavoisierJ. PRINTZ
Architecture logicielle, DunodJ. PRINTZ
Estimation des projets de l'entreprise numériqueJ. Printz, B. Mesdon, N. Treves
DevOps HanbookGene Kim, Patrick Debois, John Willis, Jez Humble
The Phoenix projectGene Kim, Kevin Behr, George Spafford

Thésaurus du Cnam :

  • Gestion de projet
  • Conduite de projet informatique
  • Service WEB
  • Estimation de charge
  • Méthodes agiles
  • Génie logiciel
  • Virtualisation
  • Modélisation informatique
  • Sûreté de fonctionnement
  • Architecture applicative
  • Architecture fonctionnelle
  • Langage javascript
  • Qualité du logiciel
  • Méthode de test
  • Intégration de systèmes
  • Développement logiciel
  • Cloud Computing
  • Data Center
  • Concepts objets
  • UML

Thésaurus Formacode :

  • 31015 - virtualisation
  • 31011 - cloud computing
  • 70000 - logiciels/outils/applications/services
  • 31057 - génie logiciel

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Safia Sider
Adresses email
safia.sider@lecnam.net
Numéros de téléphone
01 40 27 26 81
Adresse postale
2 rue Conté 33.1.13A
Paris 75003