<!-- Slide number: 1 -->
Institut Supérieur des Etudes Technologiques de Bizerte
Unité d’Enseignement : Système d’information 2
Parcours : Réseaux et Systèmes Informatiques
Enseignant: Khaoula Jridi
Année Universitaire: 2013-2014

Architecture Logicielle
1
<!-- Slide number: 2 -->

Les objectifs du Chapitre
Dresser un diagramme de composant UML
Dresser un diagramme de déploiement UML
2
<!-- Slide number: 3 -->

Plan du chapitre
1. Diagramme de composant
2. Diagramme de déploiement
3
<!-- Slide number: 4 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux
Une architecture logicielle est une représentation abstraite d'un système exprimée essentiellement à l’aide de
composants logiciels en interaction via des connecteurs.
Préambule

4
Publicité
<!-- Slide number: 5 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux
compA
1- Composant
Encapsule un traitement et/ou des données
Encapsule un sous-ensemble de fonctionnalités et/ou de données du système
Restreint l’accès à ce sous-ensemble au moyen d’une interface définie explicitement
Possède des dépendances explicitement définies pour exprimer les contraintes requises par son contexte d’exécution ou sa réalisation
5
<!-- Slide number: 6 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux
Unité autonome servant de bloc de construction pour le système
Les composants implémentent typiquement des services spécifiques à l’application
La manifestation concrète d’un composant est appelé artéfact (instance du composant déployée sur le matériel)
N’importe quel type de code sur n’importe quel support numérique
Un artéfact : Code source, fichiers binaires, scripts, fichiers exécutables, bases de données, applications, etc.
6
<!-- Slide number: 7 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux
2- Interface de composant
Permet à un composant de communiquer
Types d’interfaces:
Interface offerte : définit la façon de demander l’accès à un service offert
par le composant
Interface requise : définit le type de services (aide) requis
par le composant
Publicité
Une interface est attachée à un port du composant
-Port = point de communication du composant
-Plusieurs interfaces peuvent être attachées à un même port
7
<!-- Slide number: 8 -->

7. La représentation d’une architecture logicielle: Les éléments architecturaux
3- Dépendances entre composants
Dépendance = relation entre deux composants
Types de dépendances:
Un composant peut dépendre d’un autre composant qui lui fournit un service ou une information
Un composant peut dépendre d’une classe qui implémente une partie de son comportement. Dépendance de réalisation
Un composant peut dépendre d’un artefact (code source, fichier .jar, etc.) qui l’implante concrètement. Dépendance de manifestation
8
<!-- Slide number: 9 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux
4- Connecteur
Dans les systèmes complexes, les interactions peuvent constituer un enjeu encore plus important que les fonctionnalités des composants individuels.
Définition : un connecteur est un élément architectural qui définit le type d’interactions entre les composants et les règles gouvernant ces interactions
Un connecteur relie les ports de deux ou plusieurs composants
Un connecteur décrit un mécanisme de connexion indépendant de l’application
Représente un concept abstrait, paramétrable et indépendant
des composants spécifiques qu’il relie
Les attributs du connecteurs décrivent ses propriétés comportementales.
Exemple: sa capacité, le temps de latence, le type d’interaction (binaire/n-aire, asymétrique/symétrique, détails du protocole), etc.
9
<!-- Slide number: 10 -->

Publicité
1. La représentation d’une architecture logicielle: Les éléments architecturaux
Un connecteur peut avoir un ou plusieurs rôles
Communication :rôle le plus fréquent
Coordination : contrôle du calcul, de la transmission des données, etc.
Conversion : permet l’interaction entre composants développés indépendamment dans des langages différents par exemple.
Facilitation : permet l’interaction entre composants conçus pour interragir ensemble.Synchronisation, accès contrôlées aux données partagées, etc.
Selon le(s) rôle(s) qu’il doit remplir et le type de communication souhaitée entre deux composants, se fait le choix d’un type de connecteur
Procedure call (comm + coord) , Data access (comm + conv), Event, Stream, Linkage, Distributor, Arbitrator, Adaptor (conv)
10
<!-- Slide number: 11 -->
1. La représentation d’une architecture logicielle: Les éléments architecturaux

Exemple d’un diagramme de composants

11
<!-- Slide number: 12 -->
1. La représentation d’une architecture logicielle: Les éléments architecturaux
Exemple d’un diagramme de composants




12
<!-- Slide number: 13 -->
2. Le diagrammes de déploiement
Les diagrammes de déploiement montrent la disposition physique des différents matériels – les nœuds – qui entrent dans la composition d’un système et la répartition des instances de composants, processus et objets qui « vivent » sur ces matériels.
Les diagrammes de déploiement sont une des deux sortes de diagrammes utilisés dans la modélisation des aspects physiques d’un système orienté objet.
Un diagramme de déploiement montre la configuration de nœuds de traitement en phase d’exécution ainsi que les composants qui se trouvent sur ces nœuds.
Notes:
Publicité
[BRJ-00 p445] Lorsqu’il crée un système à forte composante logicielle, un développeur logiciel se concentre principalement sur l’architecture et le déploiement de son logiciel. Un ingénieur système, au contraire, se concentre sur le matériel et le logiciel du système ainsi que sur la gestion des échanges entre les deux. Alors que le développeur logiciel travaille avec des artefacts quelque peu intangibles, tels que des modèles et du code, le développeur de systèmes travaille avec du matériel tangible.
[BRJ-00 p448] Les diagrammes de déploiement servent à modéliser la vue de déploiement statique d’un système. Cette vue s’adresse principalement à la distribution, la livraison et l’installation des parties qui constituent le système physique.
Pour certains types de systèmes, les diagrammes de déploiement ne sont pas nécessaires. Si l’on développe un système qui se trouve sur une seule machine et n’est en interface qu’avec des périphériques standard déjà gérés par le système d’exploitation hôte (par exemple, le clavier, l’affichage ou le modem d’un ordinateur individuel), on peut se passer des diagrammes de déploiement.
<!-- Slide number: 14 -->
2. Le diagrammes de déploiement: Les noeuds
Chaque ressource matérielle est représentée par un nœud. En général, cette ressource possède au minimum de la mémoire et parfois aussi des capacités de calcul. Un calculateur, des ressources humaines ou des périphériques sont des ressources modélisées par des nœuds.
Notes:
[BRJ-00 p391] Comme les composants, les nœuds vivent dans le monde du matériel et constituent des briques de base importantes pour la modélisation des aspects physiques d’un système. Un nœud est un élément physique qui existe au moment de l’exécution et représente une ressource de calcul. En général, il a au moins de la mémoire et souvent, en plus, des capacités de traitement.
Rational Rose définit 2 classes de nœuds:
Processor
Device
<!-- Slide number: 15 -->
2. Le diagrammes de déploiement: Les supports de communication
Les différents nœuds qui apparaissent dans le diagramme de déploiement sont connectés entre eux par des lignes qui symbolisent un support de communication, à priori, bidirectionnel.
Notes:
<!-- Slide number: 16 -->
2. Le diagrammes de déploiement: Exemple1

<!-- Slide number: 17 -->
2. Le diagrammes de déploiement: Exemple 2

<!-- Slide number: 18 -->
Des Questions ?
18