Académique Documents
Professionnel Documents
Culture Documents
Octobre 2023 1
SOMMAIRE
Octobre 2023 2
Qu’est ce qu’un logiciel ?
D’un point de vue utilisateur, un logiciel est une application qui répond à
l'un de ses besoins (traitement de textes, gestion de comptabilité…).
Il faut noter qu’un logiciel a besoin d’un système d’exploitation (Windows,
Linux, MacOS, Android…) pour fonctionner.
Un logiciel libre est un logiciel qui est distribué selon une licence libre.
Il garantit à l'utilisateur du logiciel un certain nombre de libertés
fondamentales.
Pour la Free Software Foundation, ces libertés sont au nombre de 4 :
• La liberté d'exécuter le logiciel: On peut utiliser le
logiciel aussi souvent qu'on le veut, sur autant d'ordinateurs
qu'on le veut et pour toutes les utilisations
L'origine de ce découpage provient du constat que les erreurs ont un coût d'autant plus
élevé qu'elles sont détectées tardivement dans le processus de réalisation. Le cycle de vie
permet de détecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les
délais de sa réalisation et les coûts associés.
• Il faut identifier toutes les tâches et s’assurer de n’en avoir pas oublié
• Découpage basé sur les besoins métier : Le projet est découpé en fonction des
besoins métier de l'organisation
• Découpage par équipes ou groupes de travail : Le projet est divisé en équipes ou groupes
de travail qui se concentrent sur des aspects spécifiques du projet. Chaque équipe peut
être responsable d'une partie du projet.
Une structure WBS, fondement essenRel de tout projet, permet de découper l'ensemble du
Knowledge), conçu et réalisé par le Project Management InsRtute, définit le WBS en tant que
tous les membres de l'équipe, chaque niveau du WBS perme`ant d'approfondir le détail des
tâches jusqu'au niveau final : les tâches concrètes à réaliser. La figure suivante représente un
Il s’agit d’une une technique de gestion de projet qui vise à décomposer un produit ou
un projet en ses composants essentiels, ses sous-systèmes ou ses éléments constitutifs.
Elle est souvent utilisée en combinaison avec la Work Breakdown Structure (WBS) pour
définir et organiser les tâches nécessaires à la réalisation d'un projet. La PBS se concentre
sur la décomposition du produit lui-même, tandis que la WBS se concentre sur la
décomposition des tâches de travail.
Souvent utilisé pour les projets industriels, il est composé des phases suivantes :
2. Proposer un exemple simplifié d'une Work Breakdown Structure (WBS) pour un projet
de développement de site web
Le modèle de cycle de vie en cascade a été mis au point en 1966, puis formalisé
aux alentours de 1970 par Winston W.Royce. Il est basé sur 2 principes
fondamentaux:
1.On ne peut passer à l’étape suivante tant que la précédente n’est pas terminée.
Ce modèle est une amélioration du modèle en cascade en ce sens qu’il permet en cas
d'anomalie, de limiter un retour aux étapes précédentes.
La branche ascendante quant à elle représente toutes les étapes de tests du projet.
Une spécification doit décrire ce que doit faire le logiciel et pas comment on doit le
faire.
Une spécification peut suivre de nombreux formalismes : cas d’utilisation, modèles
UML, exigences, users stories... et permet d'esquisser un début d'architecture ainsi
qu’un plan de test.
Chaque exigence doit être testable, mesurable.
Avant de démarrer un projet, la spécification doit absolument être figée et validée par
le client.
L’activité de conception consiste à organiser le logiciel afin qu’il puisse satisfaire les
exigences de la spécification.
Les principaux choix techniques doivent être effectués pour satisfaire les exigences
détaillées dans la phase de spécification.
La question à se poser ici est : comment doit-on faire le logiciel ?
Elle définit l'ensemble des briques constitutives de l'application et leurs interfaces avec
les autres systèmes.
C’est la phase de réalisation effective du logiciel. Il s’agit ici d’écrire le code source du
logiciel en se basant sur les documents produits lors des phases de spécification et
conception.
Les tests unitaires permettent de s’assurer que chaque fonction du code source
produit, répond de manière individuelle aux exigences du cahier de charges.
Ils sont effectués lors de la phase de codage et le plus souvent par les équipes de
développement elles-mêmes.
Ils peuvent cependant être aussi configurés pour une exécution automatique par des
outils d’intégration continue(Exemple: maven, continium, jenkins...)
Tout problème détecté à ce niveau peut être lourd de conséquence, aussi bien en
terme de délai qu'en terme de coût (ou de ressources), car on approche de la fin du
projet, donc du jalon final.
Les tests de validation consistent à dérouler les tests permettant d'affirmer que le
logiciel répond aux exigences fonctionnelles contenues dans le cahier des charges.
Spécification des
besoins
utilisateur Rapport de
recette
Cahier des
charges
Dossier
d’architecture
technique (DAT)
Rapport de tests
Dossier de
d’intégration
définition du
logiciel
Plan de tests
Document de
Rapport des
conception
tests unitaires
détaillée
Codes sources
• Modèle très peu applicable tel quel: le V est souvent déséquilibré soit
coté analyse ou côté validation.
•https://interstices.info/jcms/ni_79198/la-naissance-du-genie-logiciel
•https://openclassrooms.com/courses/creez-des-applications-de-qualite-avec-le-
design-pattern-mvc/le-genie-logiciel-gl
•http://www.commentcamarche.net/contents/473-cycle-de-vie-d-un-logiciel
•http://fr.slideshare.net/GMA87/modle-en-cascade
•https://www.youtube.com/watch?v=anZcEIQlpoY