36
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

Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

Embed Size (px)

Citation preview

Page 1: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 2: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 3: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 4: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 5: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 6: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 7: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 8: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 9: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 10: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 11: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 12: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 13: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 14: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 15: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 16: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 17: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 18: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 19: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 20: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 21: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 22: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 23: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 24: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 25: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 26: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 27: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 28: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 29: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 30: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 31: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 32: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 33: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 34: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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

Page 35: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

35/36

Architecture logicielle

UML

ABCHIR Mohammed-Amine (Université Paris 8)Conduite de projets et architecture logicielle 15 février 2011 35 / 36

Page 36: Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques

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