course => agile methods

This commit is contained in:
Gabriel Augendre 2014-11-17 17:05:01 +01:00
parent dcdf7e27b7
commit 226a146385

View file

@ -10,4 +10,78 @@
- Logiciel scientifique - Logiciel scientifique
Calcul scientifique (stats, IA, calcul financier, prévision, météo, nucléaire, ...) Calcul scientifique (stats, IA, calcul financier, prévision, météo, nucléaire, ...)
- Logiciel Web - Logiciel Web
Création de sites/pages, blogs, moteurs de recherche Création de sites/pages, blogs, moteurs de recherche
## Contexte général
Il faut traiter l'information nécessaire aux entreprises.
Le SI regroupe l'ensemble des ressources (personnel, matériel, logiciel). Il se construit autour de __processus métier__ et ses interactions.
Les différents acteurs sont :
- La DSI
- La MOA (donneur d'ordre)
- La MOE (exécutant, réalisateur)
- Les utilisateurs
Il faut faire le lien entre la __vision métier__ (organisation et ses processus), la __vision fonctionnelle__ (le SI), et la __vision informatique__ (applications, technologie de l'information).
## Modélisation
### Pourquoi modéliser
On modélise pour mieux comprendre le système, maîtriser sa complexité et assurer la cohérence, préciser le problème donné et son champ d'application.
Un modèle est un __langage commun__, un outil de communication entre les acteurs. C'est une représentation simplifiée de la réalité.
Un modèle permet de réduire la complexité d'un phénomène en éliminant les détails qui n'influencent pas sa compréhension.
La réalisation d'un SI impose la création de modèles successifs
- Chaque modèle représente le système à un certain niveau d'abstraction
+ Les premiers modèles représentent le système dans sa globalité
+ Les derniers permettent la réalisation technique
## Modéliser avec UML
### UML, c'est quoi ?
C'est une notation, un formalisme permettant la modélisation.
C'est un langage de modélisation graphique et textuel conçu pour
- Visualiser
- Spécifier
- Construire
- Documenter
Ce n'est __pas__ une méthodologie de développement.
Une méthode de dev définit une démarche reproductible pour obtenir des résultats fiables. Elle définit un cycle de dev et des techniques à utiliser.
### Vers un langage unifié de modélisation orientée objet
- Fondements pour spécifier, construire et décrire les différentes vues d'un système logiciel, les différents niveaux d'abstraction
- Syntaxe et sémantique précises
- Limiter les ambiguïtés
- Faciliter communication, documenter
- Notation graphique
- ...
### Cycle de vie en cascade
- Étude des besoins
- Analyse
- Conception
- Code
- Test
- Déploiement
=> Vérification (tests) trop tardive
### Processus en V
Mise en relation des phases en amont avec les phases de tests en aval.
Spécifications => Validation
Conception prélim => Intégration
Conception détaillée => Tests unitaires
Code
### Méthodes agiles
- Adaptation au changement plus que suivi d'un plan
- Intégration du client au processus de développement : l'utilisateur final fait partie de l'équipe.
- Acceptation du changement dans les besoins
- Travail d'équipe
Démarche incrémentale : Projet évolutif, on procède par incrément et prototypage.