Conduite de projets et architecture logicielle - LIASDmaa/Introduction.pdf · Phase d’analyse...

Preview:

Citation preview

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 : maa@ai.univ-paris8.frSite : 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

Recommended