Cours ESA - Architecture des Systèmes d'Entreprise PDF

Document Details

Institut Supérieur d'Informatique et de Mathématiques de Monastir

2024

Dr. Aljia BOUZIDI

Tags

architecture des systèmes d'entreprise systèmes d'entreprise informatique architecture logicielle

Summary

Ce document est un chapitre d'un cours sur l'architecture des systèmes d'entreprise (ESA). Il présente les systèmes d'entreprise, les sous-systèmes, les enjeux de l'informatisation et les différents types de systèmes d'information. L'objectif est d'aider les étudiants à comprendre le cycle de vie d'un logiciel et le cycle de développement logiciel (SDLC).

Full Transcript

Objectifs Institut Supérieur d’Informatique et de Mathématiques de Monastir Appréhender un Système d’entreprise à haut niveau, dans sa globalité Cours :Architecture des Systèmes...

Objectifs Institut Supérieur d’Informatique et de Mathématiques de Monastir Appréhender un Système d’entreprise à haut niveau, dans sa globalité Cours :Architecture des Systèmes Comprendre le concepts de l’architecture d’un système d’entreprise et l’architecture d’Entreprise (ESA) logicielle Chapitre1: Comprendre le cycle de vie d’un logiciel Comprendre le cycle de développement logiciel (SDLC) Introduction à l’ Architecture d’un Système d’Entreprise Enseignante: Dr.Aljia BOUZIDI [email protected] 3ème Licence en Sciences d’Informatique Année Universitaire :2024-2025 Contenu du chapitre1 Institut Supérieur d’Informatique et de Mathématiques de Monastir 1. Partie 1: Le système d’Entreprise 2. Partie 2 : L’architecture d’un Système d’Entreprise 3. Partie 3: Mise en œuvre d’un Système d’Entreprise 4. Partie 4: Les Activités de Développement Logiciel SDLC 5. Annexes Partie 1: Le Système d’Entreprise Analyse Systémique de l’Entreprise(2/3) Contenu de la Partie 1 o Apparue dans les années 1970 : o Entreprise = Système « Ensemble d’éléments en 1. Analyse Systémique de l’Entreprise interaction dynamique, L’entreprise est alors considérée comme un ensemble organisé en fonction d’un but » 2. Les systèmes d’Entreprise d’éléments (des moyens humains, matériels, financiers 3. Les Sous Systèmes de l’Entreprise et techniques) en interrelations 4. Enjeux de l’Informatisation pour l’Entreprise Toute organisation humaine (l’État, une famille, …) peut 5. Système d’Information vs. Système Informatique être perçue comme un système 6. Exemples de Parties d’un SI Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 6 / 164 Les systèmes d’Entreprise Les Sous Systèmes de l’Entreprise(1/3) o Un système d’entreprise (SE) est un o Les éléments du système sont eux-mêmes ensemble des ressources (personnel, des systèmes (ou sous-systèmes) matériel, logiciel, etc.) participant au o L’entreprise peut se décomposer en 3 sous- stockage, classification, traitement, et systèmes : diffusion de l’information au sein d’un Le système de décision ou de pilotage entreprise) Le système d’information Le système opérant Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 7 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 8 / 164 Les Sous Systèmes de l’Entreprise (2/3) Les Sous Systèmes de l’Entreprise (3/3) o Un outil de communication interne : Activité : réfléchir : adaptation à l’environnement, conception décider : prévisions, allocation, planification contrôler : qualité Le SI collecte et traite les Le SP transmet des informations élémentaires du informations globales SO et les transforme en au SO par informations élaborées pour l’intermédiaire du SI le SP Activité : générer des informations mémoriser diffuser traiter o Notes: Un même employé peut être un acteur de chacun Le SO produit l’information élémentaire, Activité : exécute les ordres du SP des trois sous-systèmes Transformer Produire Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 9 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 10 / 164 Enjeux de l’Informatisation pour l’Entreprise(1/2) Enjeux de l’Informatisation pour l’Entreprise(2/2) o Toute entreprise possède un SI Aide à la décision (Business intelligence) o Pourquoi informatiser le SI ?  Remonter les informations utiles et synthétiques de l’entreprise, accompagnées de prévisions et analyses afin d’aider les décisionnaires Augmenter la productivité en améliorant l’efficacité des à choisir les bonnes stratégies utilisateurs  Planification stratégique  Planification managériale Améliorer les conditions de travail : enrichissement des Fidélisation de la clientèle, … tâches Rendre un meilleur service (de qualité, rapide, etc.) aux partenaires de l’entreprise L’informatisation exige le développement des logiciels représentant des parties du SI Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 11 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 12 / 164 Système d’Information vs. Système Informatique Exemples de Parties d’un SI o Classique Comptabilité, paie, facturation o Le système informatique est la partie informatisée du système d’information automatisable o Gestion commerciale GRC : Gestion de la Relation Client (CRM : Customer Relationship Management) SIM : Système d’information Marketing  Collecter et traiter données pour piloter le marketing o Gestion des Ressources Humaines (GRH) Suivre les carrières, compétences, formations, salaires, congés, … des personnels Pour automatiser ces parties, l’entreprise doit concevoir un des logiciels en se fondant sur une méthodologie. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 13 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 14 / 164 Institut Supérieur d’Informatique et de Mathématiques de Monastir Contenu de la Partie 2 1. Architecture des Systèmes d’entreprise 2. Architecture logicielle 3. Conception Architecturale Partie 2: Architecture d’un Système d’Entreprise Architecture des Systèmes d’entreprise (1/3) Architecture des Systèmes d’entreprise (2/3) o Architecture d’un système d’entreprise (ESA) : o L'adoption d’une architecture des systèmes d’entreprise efficace incluent: se concentre sur la structure globale et le fonctionnement de Analyse de l’architecture : aide à effectuer l’analyse du système au niveau architectural. l'organisation en intégrant des éléments stratégiques, métiers et Cela aide à soutenir le rpocessus de conception du système technologiques. Compréhension de l’entreprise/ du système: offre une base concrète pour Son objectif est d'aligner les systèmes informatiques sur les objectifs de comprendre efficacement les opérations commerciales d’une entreprise, ce qui se traduit l'entreprise, en optimisant les ressources, les processus et les technologies. paru une meilleure gestion de l’entreprise Business/ System palaning: offre un outil utile pour planifier de nombreuses activités commerciales, des orientations stratégiques à l’amélioration locale Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 17 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 18 / 164 Architecture des Systèmes d’entreprise (3/3) Architecture logicielle (1/2) o Logiciel : est ensemble de séquence d’instructions interprétables par une machine Restructuration et intégration de système : aide à rendre la restructuration et et d’un jeu de données l’intégration du système possibles chaque fois d’un changement dans les opérations  Séquence d’instructions = Programmes commerciales se produit dans l’entreprise  Données =Fichiers ou Bases de données Évolution du système: offre les bases nécessaires pour évaluer les résultats des o L’architecture logicielle : transformations majeures d’une entreprise, comme la modernisation (migration) et la c’est une infrastructure composée de composants actifs, d’un mécanisme d’intéraction entre ces décommissionnement, et l’ajout des nouveaux services composants et d’un ensemble de règles qui gouvernent cette interaction Elle concentre sur la structure d'un système ou d'une application logicielle spécifique. Elle concerne l'organisation interne des composants logiciels, les interactions entre eux, et la manière dont les exigences fonctionnelles et non fonctionnelles (performance, sécurité, etc.) sont satisfaites. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 19 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 20 / 164 Architecture logicielle (2/2) Conception Architecturale o Définir la structure du système : o Structure d’un logiciel en termes de composants consiste à: Découper le système en composants ou modules. Déterminer comment ces composants interagissent entre eux (interfaces, API). Définir les fonctionnalités associées aux composants Identifier les relations hiérarchiques, les dépendances, et les communications entre les parties du système. Définir les interfaces entre les composants o Choisir des patterns d'architecture : Déterminer les dépendances entre les composants Utiliser des modèles ou motifs d'architecture reconnus, comme l'architecture en couches, les microservices, ou MVC (Model-View-Controller), pour structurer le système de manière Décomposer les composants en sous composants cohérente. o Prendre en compte les contraintes non fonctionnelles : Intégrer des aspects comme la performance, la sécurité, la scalabilité, la maintenabilité, et la résilience dès les premières étapes de conception. o Sélectionner les technologies appropriées : Choisir les langages de programmation, les bases de données, les frameworks, et les outils de développement en fonction des exigences du projet. o Conception architecturale = Proposer une architecture logicielle Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 21 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 22 / 164 Institut Supérieur d’Informatique et de Mathématiques de Monastir Contenu de la Partie 3 1. Cycle de vie d’un système d’Entreprise 2. Étape de mise en place d’un système d’Entreprise 3. Différentes Approches de Mise en Œuvre d’un Système d’Information 4. Méthode d’Informatisation 5. Taxinomie des méthodes Partie 3: Mise en œuvre 6. 7. Développement d’un Système d’Information Robuste Conduite de Projet d’un Système d’Entreprise 8. 9. Méthodologies Classiques Les Processus Unifiés 10. Les Méthodes Agiles Cycle de vie d’un système d’Entreprise Étape de mise en place d’un système d’Entreprise (1/2) o Le cycle de vie d’un logiciel est modélisation conventionnelle de la succession d’étapes permettant la mise en œuvre d’un produit logiciel o Ces étapes sont basées sut une philosophie d’analyse détaillée du travail nécessaire pour faire progresser un système d’entreprise depuis la perception du besoin du système jusqu’à la livraison du produit final Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 25 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 26 / 164 Étape de mise en place d’un système d’Entreprise (2/2) Différentes Approches de Mise en Œuvre d’un Système d’Information (1/4) o Le Développement d’Application de Gestion (DAG) o Systèmes d’ Application Organisationnels (SAO) o Les Systèmes d’Information Stratégiques (SIS) Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 27 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 28 / 164 Différentes Approches de Mise en Œuvre d’un SI (2/4) : Différentes Approches de Mise en Œuvre d’SI(3/4) : Le Développement d’Application de Gestion (DAG) Les Systèmes d’ Application Organisationnels (SAO) o Le Développement d’Application de Gestion (DAG) se fait : Par reprises des procédures existantes. o Le Système d’Application Organisationnel (SAO) est un système de Mise en œuvre d’une logique d’automatisation. représentation et de mesure des activités de l’organisation Production d’états type standardisés. o Objectifs : o Objectifs : Automatisation. Aide à la décision Contrôle des coûts. o Caractéristiques : o Caractéristiques : Traitement des données, information qualitative. L’ensemble de l’organisation et son environnement Le destinataire de l’information est une machine. Informations et représentation riches destinées à l’humain Automatisation dénouée d’intelligence. Pauvreté sémantique des données Richesse sémantique des données Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 29 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 30 / 164 Différentes Approches de Mise en Œuvre d’un SI(4/4) : Les Systèmes d’Information Stratégiques (SIS) Méthode d’Informatisation: (1/3) Définition o La vision SIS: Le système d’information devient un avantage concurrentiel Une méthode d’informatisation : Il est conçu suivant des Facteurs clés identifiés : Définit un processus d’informatisation du système d’entreprise (totalement ou partiellement (i.e  Il procure un avantage pour le client  Il permet de différencier l’offre par rapport à la concurrence pour tout ou partie du cycle de vie du logiciel)  Il augmente le pouvoir de négociation Possède une portée (champ d’étude i.e domaine étudié)  Il modifie les barrières d’entrée (protection contre les nouveaux entrants)  Il est un catalyseur de l’innovation Décrit une démarche i.e un ensemble de travaux en les ordonnant (succession d’étapes) o Ré-intermédiation Nouveaux entrants = Nouvelle organisation des forces suite de la modification de leur Force des Secteur d’activité Force des équilibre fournisseurs coopétition clients Produits de substitutions Le SI doit servir à déterminer comment atteindre une position favorable dans le nouvel équilibre Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 31 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 32 / 164 Méthode d’Informatisation :(2/3) Méthode d’Informatisation : (3/3) Règles Composants o S’appuyer sur des concepts théoriques: définition des concepts o Proposer une démarche: cadre général pour définir le travail à accomplir par les o Modèles : ensemble de concepts et des règles destiné à expliquer et construire la intervenants représentation de phénomènes organisationnels o Permettre sa mise en œuvre par des outils: Pour faciliter la manipulation des concepts o Langages: destinés à l’élaboration des spécifications, à faciliter la communication o Atteindre un but: l’informatisation éventuelle (=>augmentation et faisabilité) o Démarche o Outils et techniques: aident à la mise en œuvre des modèles, langages, démarche Une méthode ne remplace pas ni l’expérience, ni la connaissance, ni le talent) Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 33 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 34 / 164 Taxinomie des méthodes(1/3): Taxinomie des méthodes(2/3): Fondements théoriques Fondements théoriques (suite) o Cartésienne (démarche dite analytique; résolution des problèmes un à un): o A objet (application du paradigme objet à tout le processus): Approche fonctionnels (analyse et conception des systèmes d’entreprise par rapport à la définition Les objets (de l’application, de service distribués) et les utilitaires communs échangent des des besoins et descendante (du général au particulier) informations (démarches et réponses de services) à l’aide de messages Exemple: SADT, CORIG Exemple: OOA, OMT, MCO, HOOD, OOSE, Merise Objet o Systémique (démarche dite globalisante; résolution globale des problèmes): o Formelle (utilisation des mathématiques): Approche conceptuelle (processus de modélisation par niveau d’abstraction successifs) Spécification et conception formelles exprimées à l’aide du langage mathématique Repose sur l’identification de projets qui structurent l’organisation (sans qu’il y ait qu’il faut ensuite prouver obligatoirement un besoin) Exemple: B, Z Exemple, MERISE, AXIAL, IA-NIAM Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 35 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 36 / 164 Développement d’un Système d’Information Robuste: Facteurs Taxinomie des méthodes(3/3): Clés de Réussite Démarche o Linéaire 1) Une vision claire Ŕ présentation stratifiée Succession linéaire des travaux (démarche découpée en étapes découpées en phases 2) Un support technologique adéquat découpées en taches découpées en opérations) 3) Adhésion Analyse descendante ( des problèmes généraux au problèmes particuliers) par décomposition hiérarchique des travaux Itération et condition possibles Exemple: MERISE, AXIAL, etc. o Non linéaire: Analyse ascendante par intégration progressive des résultats Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 37 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 38 / 164 Conduite de Projet(1/2) Conduite de Projet(2/2) I. Quelle démarche suivre? Trois principaux démarches peuvent être suivies lors du développement d’un o Projet: Atteindre d’un objectif= Résultat au problème posé Problématique: Quelle est la meilleure manière ou le meilleur chemin logiciel: Méthodologie classique Méthodologie agile Processus unifié o Démarche/ méthodologies: Modèle en cascade Méthode scrum Two Tracks Unified Process Approche de résolution du problème. Elle est constituée par un ensemble de principes généraux qui guident le choix d'une méthode adaptée à une tâche ou projet spécifique Modèle en V Modèle de kanban eXtreme Unified process o Méthode: description pas-à-pas des étapes impliquées dans l'accomplissement d'une tâche particulière Modèle en spirale Modèle de RAD Enterprise Unified Process C’est une démarche, muni d’un ensemble d’outils permettant de résoudre un problème posé. La méthode permet de statuer sur l’état d’avancement d’un projet Modèle incrémental Modèle XP Rational Unified Process Elle ne peut être la même pour deux projets différents, la méthode est spécifique à un projet. …. …. … Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 39 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 40 / 164 Méthodologies Classiques(1/7) Méthodologies Classiques(2/7): Modèle en cascade (Waterfall) o Les méthodologies de développement logiciel classiques sont souvent o Le modèle en Cascade (en chute d’eau) suit une séquence linéaire d'étapes, où regroupées sous le terme générique de "SDLC" (Software Development Life Cycle), ce chaque étape doit être complétée avant de passer à la suivante. qui signifie "Cycle de Vie du Développement Logiciel". o Le SDLC englobe différentes approches et méthodologies utilisées pour gérer le processus de développement, de la conception initiale à la maintenance continue du logiciel. o Etaient largement utilisées avant l'émergence des méthodes agiles et d'autres approches plus modernes. o La méthodologie classique se caractérise généralement par une approche planifiée, o Critiques séquentielle et rigide du développement de logiciels. Ce modèle a tendance à être inflexible envers les changements en cours de route. Recouvrement de phases L’ordre des phases doit être respecté Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 41 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 42 / 164 Méthodologies Classiques(3/7): Méthodologies Classiques(4/7): Modèle en V Modèle en Spirale o Le modèle en V est une extension du modèle en cascade. o Le modèle en spirale fait appel à plusieurs itérations faisant eux même appel à l’un des o Chaque phase du développement a une phase correspondante de test. modèles classiques de cycle de vie ( cascade ou V). o Les activités de test sont conçues pour valider que chaque étape de développement a été correctement implémentée. Si une phase échoue aux tests, elle doit retourner en arrière pour être corrigée. Détermination des Analyse des risques, objectifs du cycle en cours, les évaluation des alternatives pour les atteindre alternatives et et les contraintes à prendre en éventuellement compte maquettage Vérification des résultats et planification du cycle Conception et suivant; développement de la solution retenue, pour cela un modèle classique (cascade ou V) peut être utilisé; Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 43 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 44 / 164 Méthodologies Classiques(5/7): Méthodologies Classiques(6/7): Modèle en Spirale (suite) Modèle Incrémental o Chaque itération représente une évolution vers la version suivante du logiciel. o Le modèle incrémental est basé sur la réalisation de sous-ensembles assurant chacun une partie fonctionnelle de la solution. o Le modèle en spirale a été moins utilisé que les deux précédents. Son utilisation nécessite de grandes compétences et convient surtout aux systèmes d’entreprise innovants à cause de l’importance qu’il accorde à l’analyse des risques. o Le modèle en spirale diminue considérablement le risque d’échec lors des systèmes- logiciels de grande taille o Ce modèle est, également, générique et peut être combiné avec d’autres méthodes de développement agile ou classiques, c’est pourquoi il est, également, appelé modèle de second ordre Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 45 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 46 / 164 Méthodologies Classiques(7/7): Les Processus Unifiés(1/8) Modèle Incrémental (suite) o Lors de la définition de l’architecture des systèmes, un découpage en composants fonctionnels o Le processus unifiés est considéré comme une démarche de développement permet des livraisons successives. d’application mis en œuvre par les auteurs d’UML (Grady BOOCH, Ivar Jacobson et James RUMDAUGH). o Le prototype initial est itéré jusqu’à obtention du produit final. Principes de la démarche UP o Le nombre de livraisons est déterminé lors de la définition de l’architecture. o Est guider par les cas d’utilisation o Le premier composant est celui qui représente les coûts les plus importants, puisque l’ensemble de Équipe de l’infrastructure des systèmes d’entreprise est à mettre en place. développement o Chaque composant est développé selon un modèle ( planification, analyse, conception, développement, test, recette, mise en production) et vient s’intégrer dans la solution déjà livrée. Langage de Modélisation Processus unifié o Le développement du système peut se décomposer par cas d’utilisation. o De même la réception du logiciel sera articulée par cas d’utilisation Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 47 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 48 / 164 Les Processus Unifiés(2/8) Les Processus Unifiés(3/8) Principes de la démarche UP (suite) Concepts et dimensions du processus unifié (suite) o Le processus unifié est itératif et incrémental o Le concept itération : UP préconise le principe de développement par itérations Chaque itération constitue une brique d’un livrable Projet Le développement se fait par incrément successifs Projet o Le processus unifié est centré sur l’architecture UP préconise de définir aussitôt que possible l’architecture Phases Inception Elaboration Construction Transition type du système I1 E1 E2 C1 … Cn T1 T2 o Le processus unifié est guidé par les besoins (exigences) Chaque itération produit un des utilisateurs incrément, qui est une Pour servir les attentes des utilisateurs, on centre le processus de development avancée dans les stades de Itérations Itération sur leurs besoins. On fait apparaître ces besoins à l’aide de la technique des cas développement de d’utilisation : l’application  en capturant les besoins fonctionnels d’un système  en orientant le travail de chaque itération Planification Enchainement d’activités Evaluation vont guider le processus à travers l’utilisation des différents modèles UML qui représentent le système. Expression des besoins, Analyse, Conception, Implémentation, Test. Résultat= Prototype exécutable Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 49 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 50 / 164 Les Processus Unifiés (5/8): Les Processus Unifiés (4/8): Rational Unified Process (RUP) Rational Unified Process (RUP) (suite) o Quelques spécifications ajoutées par le RUP par rapport au PU: o Quelques spécifications ajoutées par le RUP par rapport au PU: 1. Guides et pratiques détaillées : Le RUP fournit des guides plus détaillés, des 5. Conception basée sur les cas d'utilisation plus approfondie : Le modèles et des bonnes pratiques pour chaque phase et itération du développement. Cela RUP met un accent particulier sur l'utilisation de cas d'utilisation pour guider la conception logicielle. Il fournit des directives plus détaillées sur la aide les équipes à avoir une compréhension plus claire des étapes à suivre et des tâches à manière de capturer les exigences et de les traduire en éléments concrets du accomplir à chaque étape du processus. système. 6. Orientation vers l'architecture logicielle : Le RUP place une 2. Personnalisation facilitée : Le RUP met davantage l'accent sur la personnalisation importance particulière sur l'architecture logicielle. Il propose des du processus en fonction des besoins spécifiques du projet. Il fournit des ressources pratiques et des directives pour développer et documenter une architecture pour aider les équipes à adapter le processus aux caractéristiques uniques de leur projet. solide dès le début du projet. 7. Adaptation aux méthodologies agiles : Bien que le RUP ne soit pas 3. Gestion des changements et des risques plus explicite : Le RUP intègre aussi agile que les méthodologies telles que Scrum ou XP, il intègre explicitement la gestion des changements et des risques dans chaque phase et itération. certaines idées agiles, comme l'itération et la collaboration étroite avec les Les équipes sont encouragées à identifier, évaluer et gérer les risques dès le début du parties prenantes. projet. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 51 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 52 / 164 Les Processus Unifiés (6/8): Les Processus Unifiés (7/8): Two Tracks Unified Process (2TUP) Rational Unified Process (RUP) (suite) o Le 2TUP propose un cycle de développement Enchainement des activités de spécification des besoins en Y, qui dissocie les aspects techniques des aspects fonctionnels. o Il commence par une étude préliminaire qui consiste à identifier les acteurs qui vont interagir avec le système à construire, les messages qu’échangent les acteurs et le système, à produire le cahier de charge et à modéliser le contexte (le système est une boite noire, les acteurs l’entourent et sont reliés à lui, sur l’axe qui lie un acteur au système on met les messages que les deux s’échangent avec le sens). Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 53 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 54 / 164 Les Processus Unifiés (8/8): Les Méthodes Agiles (1/10) Two Tracks Unified Process (2TUP) o Une méthode agile est une approche itérative et collaborative, capable de prendre en compte les o Le processus s’articule ensuite autour de trois branches: besoins initiaux du client et ceux liés aux évolutions. Branche fonctionnelle : o Le manifeste Agile :  capitalise la connaissance du métier de l’entreprise.  Cette branche capture les besoins fonctionnels, ce qui produit un modèle focalisé sur le Processus et outils Documentation exhaustive besoins des utilisateurs finaux Personnes et interactions Un produit opérationnel La cohésion d’une équipe est importante que le suivi L’objectif d’un développement logiciel est de produire un Branche technique : des conventions logiciel, la documentation doit être considérée comme un support complémentaire aidant à sa compréhension  capitalise un savoir-faire technique et/ou des contraintes techniques. Ce principe insiste sur la qualité des individus impliqués et l’esprit de collaboration Il est préférable d’investir ses efforts sur le produit, plutôt  Les techniques développées pour le système sont indépendantes des fonctions à réaliser que sur les éléments qui le décrivent. Cet élément reflète la motivation qui doit laisser au second plan la rigidité du processus ou la complexité Branche de réalisation : des outils  Consiste à réunir les deux branches, permettant de mener une conception applicative et Suivi d’un plan enfin la livraison d’une solution adaptée aux besoins. Négociation d’un contrat Adaptation au changement Collaboration avec le client L’agilité reconnait l’apprentissage fait au cours d’un L’agilité vise la collaboration des deux parties pour système d’entreprise. Que tout n’est pas connu d’avance atteindre un objectif commun et que des adaptations sont inévitables Le client doit s’impliquer et diriger l’équipe dans les Le changement est intégré au modèle de développement. étapes de réalisation La planification originale ne doit pas être trop détaillée car certains aspects ne seront probablement jamais Il doit s’approprier l’évolution de son produit. L’agilité réalisés évite le gaspillage des négociations et des demandes de changement Ceci évite de détailler des éléments trop tôt dans le système d’entreprise. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 55 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 56 / 164 Les Méthodes Agiles (2/10) Les Méthodes Agiles(3/10) : Scrum o Les points forts des méthodes agiles L'équipe fait peu de hors sujet car ces méthodes assurent une bonne et constante o Aujourd'hui « Scrum » est la méthode agile la plus populaire. communication entre le client et l'entreprise; o La méthode agile Scrum, s’appuie sur des « sprints » qui sont des intervalles de temps assez La documentation est réduite, ainsi l'efficacité en terme de productivité est en augmentation; courts pouvant aller de deux semaines jusqu’à un mois. La collaboration avec le client s'effectue de façon quotidienne; o Généralement et de préférence un sprint s'étend sur deux semaines. À la fin de chaque sprint, l’équipe présente ce qu'elle a ajouté au produit. Une version fonctionnelle du logiciel est livrée fréquemment; La recherche constante de l'excellence technique (des tests sont réalisés en continu); Le résultat est percevable petit à petit, ce qui permet d'éviter les mauvaises surprises; En clair, la méthodologie Agile est une méthode moderne, favorisant un gain de productivité non négligeable, et une baisse des coûts de production; o Les principales méthodes agiles: Scrum, Kanban, EXtreme Programming (XP) , Rapid Application Development (RAD)... Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 57 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 58 / 164 Les Méthodes Agiles(4/10) : Les Méthodes Agiles(5/10) : Scrum (suite) Scrum (suite) o Scrum regroupe trois acteurs: o Autres composants: Le product Owner (ou « le directeur de produit ») : il Le product backlog (ou « carnet du produit») : ce communique les objectifs premiers des clients et utilisateurs document conteint les exigences intiales dressés puis finaux, coordonne l’implication des utilisateurs et des parties hiérarchisés avec le client en début de système d’entreprise. importantes. Mais il va évoluer tout au long de la durée des systèmes d’entreprise, en fonction des divers besoins du client. Le Scrum Master : membre de l’équipe, il a pour but d’optimiser la capacité de production de l’équipe. Pour se Le Sprint backlog (ou carnet du sprint): au début de faire, le Scrum master aide l’équipe à travailler de façon chaque sprint, l’équipe définit un but. Puis lors de la runion autonome tout en s’améliorant d’avantage de sprint, l’équipe de développement choisit les éléments du carnet à réaliser. L ’ensemble de ces éléements constitue L’équipe opérationnelle (qui regroupe idéalement moins alors le sprint backlog. de dix personne): la particularité d’une équipe Scrum est qu’elle est dépourvue de toute hiérarchie interne. Une User story (ou récit des utilisateurs) : Ce terme équipe Scrum est autoorganisée. désigne les fonctionnalités décrites par le client. La mêlée (Scrum) : c’est une réunion d’avancement organisée de manière qutidienne durant le sprint Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 59 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 60 / 164 Les Méthodes Agiles (6/10): Les Méthodes Agiles (7/10): La Méthode RAD (Rapid Application Development) La Méthode RAD (Rapid Application Development (suite) o Des raccourcis plus rapides et moins coûteux pour ce processus sont appelés approches Rapid SDLC (méthode RAD). 1.Le prototypage est l’une de ces approches RAD: o Le modèle RAD associe plusieurs techniques et outils afin d’optimiser les détails de développement à objectif de qualité donné. Le but est livrer rapidement un minimum Cette approche ignore les phases de l'analyse et de fonctions opérationnelles la conception; au lieu de cela, il implémente un prototype du système réel en utilisant de fausses données. C'est pour voir si c'est génère les résultats souhaités dans les plus brefs délais. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 61 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 62 / 164 Les Méthodes Agiles (9/10): Les Méthodes Agiles (8/10): Le Modèle XP( eXtreme Programming) (suite) La Méthode RAD (Rapid Application Development (suite) o Le modèle Extreme Programming (XP) est une méthode agile de développement logiciel qui se concentre sur l'efficacité, la qualité du code, et la capacité à s'adapter 2. Une autre approche est le développement de l'utilisateur final aux changements des exigences. (End-User developpement) : o Il s’adapte aux petit équipes travaillant dans un contexte changeant permet aux utilisateurs finaux de créer leurs propres applications. les utilisateurs finaux sont formés à développer des applications personnalisées. 1. Une phase d'exploration détermine les scénarios « client » qui seront fournis pendant cette itération; 2. L'équipe transforme les scénarios en tâches à réaliser et en tests fonctionnels ; 3. Chaque développeur s'attribue des tâches et les réalise avec un binôme ; 4. Lorsque le produit satisfait tous les tests fonctionnels, il est livré. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 63 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 64 / 164 Les Méthodes Agiles (10/10): Institut Supérieur d’Informatique et de Mathématiques de Monastir Le Modèle XP( eXtreme Programming) (suite) o Principes clés : Simplicité : Se concentrer sur ce qui est nécessaire et éviter les fonctionnalités superflues. Feedback rapide : Des retours constants du client et des tests fréquents. Amélioration continue : Refactorer le code régulièrement pour améliorer sa structure. Partie 4: Les Activités de Développement de Logiciel Collaboration : Forte communication entre les développeurs et avec le client. SDLC o Pratiques principales : Développement itératif : Petites itérations (1 à 2 semaines). Test-Driven Development (TDD) : Les tests automatisés sont écrits avant le code. Pair Programming : Travail en binôme pour écrire et réviser le code. Intégration continue : Le code est fréquemment intégré et testé. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 65 / 164 Contenu de la Partie 4 Les Etapes de Création d’un Logiciel 1. Les Etapes de Création d’un Logiciel 2. Les activités qui produisent des modèles 1. Etude préalable 3. Les activités qui produisent des modèles 4. Etude préalable 2. Spécification des besoins 5. Spécification de Besoins 3. Analyse Analyse 4. Conception 6. Recueil des besoins Vs Analyse Conception 5. Implémentation 7. Analyse Vs Conception 6. Test 8. Comparaison entre Merise & UML 9. Implémentation Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 68 / 164 Les Activités qui Produisent des Modèles (1/2) Les Activités qui Produisent des Modèles (2/2) Les modèles sont principalement constitués de diagrammes UML Etude préalable et Besoins …………. Diagramme de cas Modèle des cas d’utilisation d’utilisation Modèle des cas d’utilisation Diagramme de Analyse ………………………….. classes Diagramme d’objets Modèle d’analyse Modèle d’analyse Diagramme de composants Conception ………………………………. Diagrammes de déploiement Modèle de conception Modèle de conception Modèle de déploiement Implémentation ………………………………………………………....... Diagrammes de séquence Modèle de déploiement Diagrammes de Modèle d’implémentation collaboration Tests ……………………………………………………………................................................... Diagrammes Etat- transition Modèle d’implémentation Modèle des tests Diagrammes d’activité Modèle des tests Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 69 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 70 / 164 Etude Préalable (1/3) Etude Préalable(2/3) Objectifs Etapes de l’étude préalable 1. Définir le contexte général des systèmes d’entreprise o Analyse du fonctionnement de l’entreprise et diagnostic général de l’existant Cadre de la réalisation du système o Recensement des critiques (positives ou négatives de l’entreprise et son Vue générale sur les activités de l’entreprise Objectifs du développement d’un nouveau système système informatique et des besoins des utilisateurs o Opportunité (financement, moyens humains, etc.) et faisabilité (technique) 2. Etude de l’existant (les solutions similaires) Description des solutions existantes (par différentes représentations des automatisations littéraires/schématiques et modèles de communication /traitement/données) en collectant toutes les informations (informatisées ou non) utiles et nécessaires o Rédaction d’un cahier des charges Opprotunité de la nouvelle solution à réaliser (amélioration, correction ou nouveautés):  pallier les dysfonctionnements et améliorer le système 3. Choix d’un cycle de développement adéquat aux besoins du nouveau système) Etudes des différents méthodologies de développement des logiciel Choisir la méthodologie et la méthode la plus adéquate au besoins fixés Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 71 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 72 / 164 Etude Préalable(3/3) Analyse et Spécification de Besoins (1/6) Modélisation métier lors de l’étude préalable o Mise en contexte de la problématique Diagramme de contexte métier o Clarifier l’existant Lors de l’étape de l’analyse et Structure de l’organisation (si possible spécification des besoins, les classes du domaine) Vocabulaire commun besoins fonctionnels , Besoins non modèle de processus métier: BPMN, fonctionnels et le Besoins Diagramme d’activité, diagramme de cas d’utilisation métier techniques sont identifiés et spécifiés Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 73 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 74 / 164 Analyse et Spécification de Besoins (2/6) Analyse et Spécification de Besoins (3/6) Besoins fonctionnels Spécification de besoins fonctionnels (suite) o Objectifs: o Etapes Obtenir un schéma général de structuration des traitements et des données, à un niveau conceptuel (c’est-à-dire indépendant de tout matériel ou logiciel de base) 1.Identification des besoins fonctionnels Quoi faire? 1.1 Identification des acteurs 1.2Diagramme de contexte dynamique o Critère d’un schéma conceptuel 1.3 Expression littéraires des besoins fonctionctionnels Communication (avec utilisateurs et autres informaticiens) Conforme 2.Spécification des besoins Fonctionnels Valide : complet et cohérent 2.1.Diagrammes de cas d’utilisation (général/ détaillés) Réalisable (automatisable en partie) 2.2 Diagrammes de séquence d’analyse o Principe d’indépendance des traitement et des données Pour cela, un logiciel ( le SGBD) doit être capable, au moment de l’exécution des 2.3 Description textuelles des cas d’utilisations programmes, de retrouver les données nécessaires aux traitement à effectuer Spécification des besoins non fonctionnels Indépendance logique (respectivement physique) lorsque le schéma Performance conceptuel (respectivement logique) des données peut être modifiés sans Sécurité changer les programmes Ergonomie et convivialité Maintenance et évolution Etc. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 75 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 76 / 164 Analyse et Spécification de Besoins (4/6) Analyse et Spécification de Besoins (5/6) Identification des besoins techniques Modélisation des besoins lors de la spécification des besoins o Objectifs: o Recueillir les besoins auprès des clients et des Adapter la solution fonctionnelle à un choix technique particulier utilisateurs Définition des structures de données et de leur enregistrement o Exprimer des besoins dans les cas d’utilisation Détermination des unités de traitement Diagramme de cas d’utilisation Choix des matériels Etablissement du calendrier et des budgets de réalisation o Définir les limites du système Diagramme de contexte informatisé o Etapes 1. Capture des besoins techniques Définition des outils de modélisation, de développement, de prototypage de sécurité, etc. Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 77 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 78 / 164 Analyse et Spécification de Besoins (6/6) Modélisation des besoins lors de la spécification des besoins Analyse (1/2) Objectifs o L’analyse synthétise les différents cas Diagramme de cas Diagramme de cas d’utilisation et en donne une vision d’utilisation d’utilisation Modèle des besoins unifiée Diagramme de classes Modèle de Besoin Diagramme de o Mettre en évidence un (premier) jeu Diagramme d’objets classes complet de classes Modèle d’analyse Diagramme de Diagramme de composants Modèle d’analyse composants Diagrammes utilisés: Diagrammes de collaboration Diagrammes de Diagrammes de Etendre les classes (attributs, Modèle de conception déploiement Modèle de conception déploiement responsabilités, associations …) Diagrammes de Diagrammes de séquence séquence Modèle de déploiement Modèle de déploiement Diagrammes de collaboration Diagrammes de collaboration Modèle d’implémentation Modèle d’implémentation Diagrammes Etat- Diagrammes Etat- transition transition Modèle des tests Modèle des tests Diagrammes Diagrammes d’activité d’activité Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 79 / 164 Dr. A. BOUZIDI L3INF Cours (ESA) Chap 1 80 / 164 Analyse (2/2) Recueil des besoins Vs Analyse Réalisation des cas d’utilisation o Pour chaque cas d’utilisation : Recueil des besoins Modèle d’analyse Identifier les classes d’analyse Réaliser les scénarios comme des diagrammes d’interaction Formulé dans le langage du Formulé dans le langage du client développeur o Synthétiser les classes, les valider par Structure la vue externe du Structure la vue interne du rapport aux cas d’utilisation système système Structuré avec les cas Structuré avec des packages et des d’utilisation stéréotypes Contrat entre le

Use Quizgecko on...
Browser
Browser