cours/cycle en V.md
Oscar Plaisant 602a41e7f8 update
2024-12-25 22:30:24 +01:00

79 lines
2.5 KiB
Markdown

up::[[cycle de vie nominal d'un logiciel]]
#s/informatique
---
title::![[cycle en V 2022-09-12 13.27.21.excalidraw|100%]]
# Phases
## Analyse des besoins et faisabilité
> [!important] Besoins
> - cahier des charges : besoins métiers du client
> - les _spécifications_ sont une réponse informatique
> - A l'issue de cette phase
> - Client et fournisseur sont d'accord sur le produit à réaliser (IHM comprise)
> - Prend en compte des contraintes de faisabilité
> [!important] Faisabilité
> - Economique
> - Technique
> - Risques de développement
> - Disponibilité des ressources
> - Technologie nécessaire
> - [[dette technique]]
> - Légale
## Spécification fonctionnelle
description des fonctions (modules) d'un logiciel
- décrit dans le détails comment les exigences seront prises en compte
- Deux niveau :
- spécification fonctionnelle générale (ou _architecture métier_)
- Spécification fonctionnelle détaillée
- spécification technique pour le développement (signature des fonctions...)
> [!important] point de vue **statique**
> - découper le logiciel en [[paradigme programmation modulaire|modules]]
> - module gestion des clients
> - module gestion des articles
> - module création de facture
> - module bilan des ventes
> - $\vdots$
> - définir des classes du système ([[paradigme programmation orientée objet|OOP]])
- but
- réduire les délais
- fractionner de manière récursive le projet
- éléments traîtés par plusieurs équipes
- Objectifs
- maximum d'autonomie entre les sous-systèmes
- regroupement en fonction
- des caractéristiques communes
- de la capacité des équipes
- Règles
- définir les protocoles de communication entre les éléments
- interfaces qui vont autoriser l'intégration
- le logiciel résulte de l'assemblage des parties de manière récursive
- ==> intégration
### Spécification fonctionnelle détaillée
> [!example] Exemple
> Module de création d'un client
> Il faut enchaîner plusieurs étapes :
> - Affecter un numéro au client
> - Saisir le nom, l'adresse et l'email
> - Vérifier que le client n'existe pas
> - Vérifier que l'emails (non obligatoire) est valide
> - Vérifier que l'adresse est valide
>
> - [?] dans quel ordre ?
> - certains ordres sont plus efficaces
## Tests unitaires
## Tests d'intégration
- tester que les différents modules s'intègrent