Initiation au Génie LogicielPrincipes de la programmation (STI)
Initiation au Génie Logiciel
Séquencement
Objectifs pédagogiques
"Le génie logiciel (software engineering) est l'ensemble des méthodes de travail et les bonnes pratiques des ingénieurs qui développent du logiciel."
En bref, le génie logiciel est une discipline qui regroupe énormément de choses :
- les outils à utiliser : la gestion de version, les IDE, les outils de build ...
- l'organisation et les méthodes à adopter pour produire du logiciel : qui fait quoi dans un groupe, la planification des tâches du cycle de vie d'un logiciel, comment rédiger de la documentation ...
- L'intégration des problématiques de sécurité dans ces organisations et méthodes
Le but de ce module est de vous accompagner lors de vos premières réalisations pour que vous puissiez mettre en oeuvre des best practices et utiliser les outils et méthodes professionnels classiques du domaine, et de vous donner les bases pour progresser. Pour les outils comme pour les méthodes, l'expérience est le plus souvent le moyen le plus efficace pour acquérir une bonne maîtrise. L'idée est de vous donner les bases pour que vous puissiez pratiquer et expérimenter par vous-même.
Pré-requis
| Module | Unité d'enseignement | Semestre |
|---|---|---|
| Introduction aux systèmes | PO STI 1 | S3 |
| Algorithmique et programmation 3 | Sciences de base 3 | S3 |
| Algorithmique et programmation 1 | Eléments constitutifs Facultatifs 1 | S1 |
Programme
- TP 1 : TP de prise en main de git et discussions sur les projets de programmation
- Cours 1 : Introduction au génie logiciel
- TD 1 : interview
- Cours 2 : sécurité et génie logiciel
- TD 3 : sécurité et Agile
- Cours 3 : Tests
- TP 3 et 4 : tests
Modalités d'évaluation
rapport sur l'application du GL dans votre projet Python + note SCRUM + note TP test
Références bibliographiques
- Engineering Software Products: An Introduction to Modern Software Engineering (1st Edition), by Ian Sommerville, 352 Pages, Published 2019, ISBN-10: 0-13-521064-X
Compétences
4| Réf. | Verbe | Description | Niveau |
|---|---|---|---|
| C1_4 | choisir | méthodes de développement | 2 |
| C1_6 | mettre en place | gestion de projet | 2 |
| C1_7 | planifier | tâches | 2 |
| C2_3 | mettre en place | environnement de développement | 2 |
Compétences SecNumEdu
| Compétence | Heures cours | Heures pratique | Niveau entrée | Niveau sortie |
|---|---|---|---|---|
| Prise en compte de la sécurité dans les projets | 2 | 2 | 0 | 1 |
| Méthodes de prise en compte de la sécurité dans les projets (documentation, cycle de vie, tests spécifiques, sécurité de l’environnement de développement, etc.) | ||||