Prof : Mr Baba Fall, Doctorant en informatique LTI/ESP/UCAD ARCHITECTURES LOGIC

Prof : Mr Baba Fall, Doctorant en informatique LTI/ESP/UCAD ARCHITECTURES LOGICIELLES Contexte Général Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 2 « L’étude formelle des aspects architecturaux des logiciels fait, depuis peu, l’objet de recherches actives. S’il est vrai qu’une maquette à jeter ne justifie pas une conception logicielle poussée, la maintenabilité et la modifiabilité de systèmes de plus en plus complexes ne peuvent plus se contenter d’une organisation logicielle artisanale : les choix architecturaux doivent être justifiés et s’appuyer sur un ou plusieurs modèles d’architecture idoine.» Source : Gaëlle Calvary, Joëlle Coutaz, Laurence Nigay, Daniel Salber, PAC+3 : un modèle d’architecture générique pour systèmes multi-utilisateurs, CLIPS-IMAG, B.P. 53 - 38041 Grenoble Cedex 9, France Solution de l’architecture logicielle L'architecture logicielle constitue le plus gros livrable d'un processus logiciel après le produit (le logiciel lui- même). En effet, la phase de conception devrait consommer autour de 40 % (Pressman R. S., Software Engineering: A Practitioner's Approach, Third Edition. McGraw-Hill. Chapitre 4, p. 107, 1992.) de l'effort total de développement et devrait être supérieure ou égale, en effort, à la phase de codage mais il peut être moindre. L'effort dépend grandement du type de logiciel développé, de l'expertise de l'équipe de développement, du taux de réutilisation et du processus logiciel. 3 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Objectifs Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 4 Présentation de méthodes et d’outils modernes pour le développement de logiciels. Mise en œuvre de principes d'ingénierie afin d'obtenir, à prix raisonnable, des logiciels fiables et efficaces. Minimisation du coûts de développement, de maintenance et d'utilisation pendant toute la vie du logiciel. Approches méthodologiques pour la conception, développement et évolution du logiciel. Pourquoi modéliser avant …? Les deux objectifs principaux de toute architecture logicielle sont : la réduction des coûts : est principalement réalisée par la réutilisation de composants logiciels et par la diminution du temps de maintenance (correction d'erreurs, adaptation du logiciel), et l'augmentation de la qualité du logiciel : se trouve distribuée à travers plusieurs critères; la norme ISO 9126 est un exemple d'un tel ensemble de critères. 5 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Critères de qualité logiciel 1/5 L'interopérabilité extrinsèque exprime la capacité du logiciel à communiquer et à utiliser les ressources d'autres logiciels comme, par exemple, les documents créés par une certaine application. L'interopérabilité intrinsèque exprime le degré de cohérence entre le fonctionnement des commandes et des modules à l'intérieur d'un système ou d'un logiciel. La portabilité exprime la possibilité de compiler le code source et/ou d'exécuter le logiciel sur des plates- formes (machines, systèmes d'exploitation, environnements) différents. 6 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Critères de qualité logiciel 2/5 La compatibilité exprime la possibilité, pour un logiciel, de fonctionner correctement dans un environnement ancien (compatibilité descendante) ou plus récent (compatibilité ascendante). La validité exprime la conformité des fonctionnalités du logiciel avec celles décrites dans le cahier des charges. La vérifiabilité exprime la simplicité de vérification de la validité. L'intégrité exprime la faculté du logiciel à protéger ses fonctions et ses données d'accès non autorisés. 7 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Critères de qualité logiciel 3/5 La fiabilité exprime la faculté du logiciel à gérer correctement ses propres erreurs de fonctionnement en cours d'exécution. La maintenabilité exprime la simplicité de correction et de modification du logiciel, et même, parfois, la possibilité de modification du logiciel en cours d'exécution. La réutilisabilité exprime la capacité de concevoir le logiciel avec des composants déjà conçus tout en permettant la réutilisation simple de ses propres composants pour le développement d'autres logiciels. 8 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Critères de qualité logiciel 4/5 L'extensibilité exprime la possibilité d'étendre simplement les fonctionnalités d'un logiciel sans compromettre son intégrité et sa fiabilité. L'efficacité exprime la capacité du logiciel à exploiter au mieux les ressources offertes par la ou les machines où le logiciel sera implanté. L'autonomie exprime la capacité de contrôle de son exécution, de ses données et de ses communications. 9 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Critères de qualité logiciel 5/5 La transparence exprime la capacité pour un logiciel de masquer à l'utilisateur (humain ou machine) les détails inutiles à l'utilisation de ses fonctionnalités. La composabilité exprime la capacité pour un logiciel de combiner des informations provenant de sources différentes. La convivialité décrit la facilité d'apprentissage et d'utilisation du logiciel par les usagers. 10 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Evolutivité de logiciel Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 11 Graphique de dégradation du logiciel en fonction de l'architecture .Inspiré de : Pressman R. S., Software Engineering: A Practitioner's Approach, Fifth Edition. McGraw- Hill. Chapitre 1, p. 8, 2001. Réutilisation de composants logiciels Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 12 Une réutilisation bien orchestrée nécessite la création et le maintien d'une bibliothèque logicielle et un changement de focus. Créer une application revient à créer les composants de bibliothèque nécessaires puis à construire l'application à l'aide de ces composants. Une telle bibliothèque, facilitant le développement d'application est un Framework d'entreprise et son architecture ainsi que sa documentation sont les pierres angulaires de la réutilisation logicielle en entreprise. Définition Modèle d’architecture Organisation logicielle de l’ensemble des modules ou bibliothèques du systèmes Le modèle du programmeur Rappel : ne pas confondre avec le modèle conceptuel Organisation conceptuelle de l’ensemble des fonctionnalités du système en un ensemble de commandes et leurs effets Du modèle d’architecture découle (fig. 1) … les performances, la maintenabilité, la modularité du système Du modèle conceptuel découle (fig. 2) … les performances, la satisfaction et l’état de l’utilisateur 13 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 Fig.1 : Les sites web basés sur KSup à l'université Lumière Lyon 2 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 14 Fig.2 : MCT d’un logiciel de vente en ligne Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 15 Modèles d’architecture logicielle Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 16 Modèle de base : séparation de l’IHM et du noyau fonctionnel Autres modèles d’architecture: Modèle Seeheim ou modèle langage Modèle Objet MVC (Model View Controller) Modèle Multi Agents : PAC (Presentation Abstract Control) Noyau fonctionnel IHM Modèle Seeheim Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 17 Ce patron d’architecture logicielle est introduit en 1983 lors d’un atelier de travail en Allemagne par Eurographics. Ce modèle stipule que l’IHM est composée de 3 parties : la présentation : couche qui gère les IO, elle présente les données et interprète les actions utilisateur; la Gestion du Dialogue gère la séquence des IO, par exemple l’enchaînement des écrans dans une interface graphique; le Modèle Interfaçage de l’Application est la couche qui sert à relier le Noyau Fonctionnel et les données. Il s’applique à l’analyse des logicielles en une vue macroscopique. Schéma du modèle Seeheim Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 18 Noyau Fonctionnel Interface avec Noyau Fonctionnel Contrôle du Dialogue Présentatio n Modèle Objet Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 19 « Développer objet c'est bien, architecturer c'est mieux. » Existe dans de multiples variantes : comme modèle architectural : comme modèle conceptuel, comme modèle conceptuel et architectural. Engendre la construction de modèles plus élaborés : Model View Controller, Presentation Abstract Control Modèles architecturaux objet 1/5 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 20 patrons de conception Un modèle ne représente toujours qu'un point de vue sur le système considéré, le plus important étant les motivations. Pour éviter de formuler les motivations pour chaque diagramme l'architecte produira les différents diagrammes en fonction d'un modèle de conception et réutilisera des patrons de conception éprouvés. La devise des trois pères fondateurs d'UML est « Centré sur l'architecture, piloté par les cas d'utilisation et au développement itératif et incrémentiel ». Cette devise indique clairement qu'aucune décision architecturale ne doit être prise sans que celle-ci ne soit dictée par la satisfaction des spécifications systèmes (cas d'utilisation). Modèles architecturaux objet 2/5 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 21 La vue des cas d'utilisation est un modèle d'analyse formalisé par Ivar Jacobson. Un cas d'utilisation est défini comme un ensemble de scénarios d'utilisation, chaque scénario représentant une séquence d'interaction des utilisateurs (acteurs) avec le système. Chaque cas d'utilisation est représenté par un diagramme de cas d'utilisation, chacun des scénarios de celui-ci étant décrit par un ou plusieurs diagrammes dynamiques :diagrammes d'activités, de séquence, diagrammes de communication ou d'états- transitions. L'intérêt des cas d'utilisation est de piloter l'analyse par les exigences des utilisateurs. Modèles architecturaux objet 3/5 Architectures Logicielles - Licence TéléInfo - ESP/UCAD - avril 2012 22 La vue logique constitue la principale description architecturale d'un système informatique Cette vue décrit, de façon statique et dynamique, le système en termes d'objets et de classes. La uploads/Ingenierie_Lourd/ architectures-logicielles-11-12-pdf.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager