79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			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
 | |
| 
 |