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
Documents similaires










-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 16, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 2.2141MB