conduite de projets et architecture logicielle - liasdmaa/introduction.pdf · phase d’analyse...
TRANSCRIPT
1/36
Conduite de projets et architecture logicielle
ABCHIR Mohammed-Amine
Université Paris 8
15 février 2011
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 1 / 36
2/36
Table des matières
1 Le coursContactContenu du cours
2 Conduite de projetPhase d’analyseEtude des besoinsSpécifications fonctionnellesUne GUISpécifications techniquesDéveloppement
3 Architecture logicielle
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 2 / 36
3/36
Le cours
Plan
1 Le coursContactContenu du cours
2 Conduite de projetPhase d’analyseEtude des besoinsSpécifications fonctionnellesUne GUISpécifications techniquesDéveloppement
3 Architecture logicielle
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 3 / 36
4/36
Le cours Contact
Me joindre
Mail : [email protected] : www.ai.univ-paris8.fr/~maa
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 4 / 36
5/36
Le cours Contenu du cours
Axes du cours
Conduite de projets.Architecture logicielle.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 5 / 36
6/36
Conduite de projet
Plan
1 Le coursContactContenu du cours
2 Conduite de projetPhase d’analyseEtude des besoinsSpécifications fonctionnellesUne GUISpécifications techniquesDéveloppement
3 Architecture logicielle
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 6 / 36
7/36
Conduite de projet Phase d’analyse
Le projet
Passe par plusieurs étapes.Mobilise des ressources :
Humaines.Financières.
Prends du temps (temps == argent).
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 7 / 36
8/36
Conduite de projet Phase d’analyse
Etude d’opportunité
Selection d’idées à fort potentiel.Projet en lien avec la politique de l’entreprise.Demande à satisfaire, marché visé.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 8 / 36
9/36
Conduite de projet Etude des besoins
Expression des besoins
Terminaux/OS cibles ?Environnement de fonctionnement ?Formation aux clients ?
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 9 / 36
10/36
Conduite de projet Etude des besoins
Analyse des besoins
Identifier les utilisateurs potentiels.Exliciter avec les utilisateurs les besoins à satisfaire.Préciser les perfomances attendues.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 10 / 36
11/36
Conduite de projet Etude des besoins
Etude de faisabilité
Faisabilité technique.Faisabilité économique : coûts et rentabilité.Etude d’impact : technologique, notoriété, commerciales. . .Analyse des risques.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 11 / 36
12/36
Conduite de projet Etude des besoins
Synthèse de faisabilité
Le but du projet et son contexte.L’identification des parties prenante.La concurrence (produits similaires.Les hypothèses et impacts attendus.Les limites du projet.Les contraintes et difficultés du projet.Le coût et délais estimés du projet.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 12 / 36
13/36
Conduite de projet Etude des besoins
Avant de continuer
Première recette client.Valider le lancement du développement.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 13 / 36
14/36
Conduite de projet Spécifications fonctionnelles
Cahier des charges fonctionnels
Il doit permettre de comprendre d’un point de vu utilisateur :Ce qu’il est possible de faire.Toutes les utilisations du produit.Le niveau de qualité visé.Une version plus détaillé des objectifs.La réponse aux objectifs.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 14 / 36
15/36
Conduite de projet Spécifications fonctionnelles
Cahier des charges fonctionnels
Le cachier des charges regroupe donc :Une description du logiciel.Une liste des acteurs et leurs rôles.Une liste des Use Case et leurs objectifs.Un tableau FQM (Fonction / Qualité / Mesures).Modèle conceptuel initial (Diagramme UML par ex)Glossaire.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 15 / 36
16/36
Conduite de projet Spécifications fonctionnelles
Recette ! !
Faite par le client pour vérifier l’adéquation des déscriptions avec lesbesoins.
Vérifier qu’aucun acteur n’a été oublié.Vérifier qu’aucun Use Case n’a été oublié.Vérifier la complétude du tableau FQM.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 16 / 36
17/36
Conduite de projet Une GUI
Interface utilisateur initiale
Différentes fenêtres utilisateurs.Maquettes statiques.Ergonomie.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 17 / 36
18/36
Conduite de projet Une GUI
Recette ! !
Validation de la possibilité d’atteindre les objectifs.Validation du rapport fréquence d’utilisation/temps de mise enoeuvre.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 18 / 36
19/36
Conduite de projet Spécifications techniques
Cahier des charges technique
Le cahier des charges technique a pour but de :Construire l’architecture système.Définir l’organisation du développement.Définir les besoins informatiques et matériels pour chaque casd’utilisation.Etude des résponsabilités (logiciels).
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 19 / 36
20/36
Conduite de projet Spécifications techniques
Cahier des charges technique
Le cahier des charges technique doit préciser les points suivants :Machines et périphériques.Réseaux et protocoles.Language de programmation.Logiciels annexes.Librairies à utiliser.Design patterns de mise en oeuvre.Difficultés téchniques identifiées.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 20 / 36
21/36
Conduite de projet Spécifications techniques
Recette ! !
Faite par un architect logiciel pour :Mesurer la crédibilité de la faisabilité.Hiérarchisation des cas d’utilisation.Distribution des cas d’utilisation sur plusieurs itérations.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 21 / 36
22/36
Conduite de projet Développement
Implémentation du logiciel
Les tâches à réaliser par itération :Ecrire le test de cas d’utilisation.Réaliser les diagrammes de squence.Valider la cohérence des classes.Ecrire la documentation téchnique de chaque classe.Ecrire les tests unitaires pour chaque classe.Ecrire les classes (les méthodes).
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 22 / 36
23/36
Conduite de projet Développement
Implémentation du logiciel
L’écriture des classes et tests est faite en parallèle.Un test de cas d’utilisation affiche les listes des tâche à faire etcelle qui sont finie.
A la fin de chaque itération, une recette est faite pour préciser lesobjectifs atteints et ceux qui ne le sont pas encore.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 23 / 36
24/36
Conduite de projet Développement
Une alpha
Une itération est identifié comme l’alpha. Même si elle est une versionincomplète du logiciel, elle permet de :
Tester auprès de l’utilisateur l’abscence de défauts majeurs.Tester l’interface.Tester le déroulement des cas d’utilisation.Tester la robustesse et les problèmes de déployement.
Après cette étape une recette est faite pour relever les problèmesfonctionnels et opérationnels.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 24 / 36
25/36
Conduite de projet Développement
Une beta
La beta est une vérsion finie du logiciel. Elle permet de :Tester de façon complète le bon fonctionnement du logiciel.Relever les quelques (bugs) eventuels.Valider les modalités du déployement.
Si tout est parfait, on passe en version finale.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 25 / 36
26/36
Conduite de projet Développement
Version finale
Ouf ! ! On livre.
Recette finale : Un chèque ! ! ! !
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 26 / 36
27/36
Conduite de projet Développement
Quelques méthologie
Il existe plusieurs méthologies de développement toutes ayant desavantages et des inconvénients :
TDD (Test Driven Developpement).Scrum (gestion de projets).Extreme Programming (XP) : Bonnes pratiques.
Ces méthode s’appuient sur des cycles de développement.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 27 / 36
28/36
Conduite de projet Développement
Cycle en cascade
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 28 / 36
29/36
Conduite de projet Développement
Cycle en V
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 29 / 36
30/36
Architecture logicielle
Plan
1 Le coursContactContenu du cours
2 Conduite de projetPhase d’analyseEtude des besoinsSpécifications fonctionnellesUne GUISpécifications techniquesDéveloppement
3 Architecture logicielle
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 30 / 36
31/36
Architecture logicielle
But de l’architecture logicielle
Décrire d’une manière schématique les éléments d’un systèmeinformatique.Symboliser l’intéraction entre ses éléments.L’analyse décrit le quoi alors que l’architecture décrit le comment.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 31 / 36
32/36
Architecture logicielle
Motivations
Cette discipline est motivée par :Augmenter la qualité du logiciel :
Interopérabilité.Portabilité.Fiabilité.Extensibilité.
Diminution de la dégradation.Penser en amont la réutilisabilité.
Il existe plusieurs modèles d’architectures.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 32 / 36
33/36
Architecture logicielle
Modèle classique
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 33 / 36
34/36
Architecture logicielle
Modélisation
Il existe plusieurs langage de modélisations dont :UML.WebML.Schémas BDD.. . .
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 34 / 36
35/36
Architecture logicielle
UML
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 35 / 36
36/36
Architecture logicielle
Conclusion
Merci de votre attention.
ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 36 / 36