s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 / 36
Table des matières 1 Le cours Contact Contenu du cours 2 Conduite de projet Phase d analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques Développement 3 Architecture logicielle 2/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 2 / 36
Plan Le cours 1 Le cours Contact Contenu du cours 2 Conduite de projet Phase d analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques Développement 3 Architecture logicielle 3/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 3 / 36
Le cours Contact Me joindre Mail : maa@ai.univ-paris8.fr Site : www.ai.univ-paris8.fr/~maa 4/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 4 / 36
Le cours Contenu du cours Axes du cours Conduite de projets. Architecture logicielle. 5/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 5 / 36
Plan Conduite de projet 1 Le cours Contact Contenu du cours 2 Conduite de projet Phase d analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques Développement 3 Architecture logicielle 6/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 6 / 36
Phase d analyse Le projet Passe par plusieurs étapes. Mobilise des ressources : Humaines. Financières. Prends du temps (temps == argent). 7/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 7 / 36
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é. 8/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 8 / 36
Etude des besoins Expression des besoins Terminaux/OS cibles? Environnement de fonctionnement? Formation aux clients? 9/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 9 / 36
Etude des besoins Analyse des besoins Identifier les utilisateurs potentiels. Exliciter avec les utilisateurs les besoins à satisfaire. Préciser les perfomances attendues. 10/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 10 / 36
Etude des besoins Etude de faisabilité Faisabilité technique. Faisabilité économique : coûts et rentabilité. Etude d impact : technologique, notoriété, commerciales... Analyse des risques. 11/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 11 / 36
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. 12/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 12 / 36
Etude des besoins Avant de continuer Première recette client. Valider le lancement du développement. 13/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 13 / 36
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. 14/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 14 / 36
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. 15/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 15 / 36
Spécifications fonctionnelles Recette!! Faite par le client pour vérifier l adéquation des déscriptions avec les besoins. 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. 16/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 16 / 36
Une GUI Interface utilisateur initiale Différentes fenêtres utilisateurs. Maquettes statiques. Ergonomie. 17/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 17 / 36
Une GUI Recette!! Validation de la possibilité d atteindre les objectifs. Validation du rapport fréquence d utilisation/temps de mise en oeuvre. 18/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 18 / 36
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 cas d utilisation. Etude des résponsabilités (logiciels). 19/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 19 / 36
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. 20/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 20 / 36
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. 21/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 21 / 36
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). 22/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 22 / 36
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 et celle qui sont finie. A la fin de chaque itération, une recette est faite pour préciser les objectifs atteints et ceux qui ne le sont pas encore. 23/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 23 / 36
Développement Une alpha Une itération est identifié comme l alpha. Même si elle est une version incomplè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èmes fonctionnels et opérationnels. 24/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 24 / 36
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. 25/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 25 / 36
Version finale Conduite de projet Développement Ouf!! On livre. Recette finale : Un chèque!!!! 26/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 26 / 36
Développement Quelques méthologie Il existe plusieurs méthologies de développement toutes ayant des avantages 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. 27/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 27 / 36
Cycle en cascade Conduite de projet Développement 28/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 28 / 36
Cycle en V Conduite de projet Développement 29/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 29 / 36
Plan Architecture logicielle 1 Le cours Contact Contenu du cours 2 Conduite de projet Phase d analyse Etude des besoins Spécifications fonctionnelles Une GUI Spécifications techniques Développement 3 Architecture logicielle 30/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 30 / 36
Architecture logicielle But de l architecture logicielle Décrire d une manière schématique les éléments d un système informatique. Symboliser l intéraction entre ses éléments. L analyse décrit le quoi alors que l architecture décrit le comment. 31/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 31 / 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. 32/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 32 / 36
Modèle classique Architecture logicielle 33/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 33 / 36
Architecture logicielle Modélisation Il existe plusieurs langage de modélisations dont : UML. WebML. Schémas BDD.... 34/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 34 / 36
UML Architecture logicielle 35/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 35 / 36
Conclusion Architecture logicielle Merci de votre attention. 36/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 36 / 36