Architecture Logicielle: Systèmes d’information 2

Institut Supérieur des Études Technologiques de Bizerte
1/18
100%

<!-- 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

![C:\Users\user\Desktop\IsetBizerte.jpg](Picture2.jpg)

Architecture Logicielle

1

<!-- Slide number: 2 -->

![C:\Users\user\Desktop\goals.jpg](Picture2.jpg)

Les objectifs du Chapitre

Dresser un diagramme de composant UML

Dresser un diagramme de déploiement UML

2

<!-- Slide number: 3 -->

![C:\Users\user\Desktop\plan.jpg](Picture2.jpg)

Plan du chapitre

1. Diagramme de composant

2. Diagramme de déploiement

3

<!-- Slide number: 4 -->

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![](Picture2.jpg)

4

Publicité

<!-- Slide number: 5 -->

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

Exemple d’un diagramme de composants

![](Picture4.jpg)

11

<!-- Slide number: 12 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux

Exemple d’un diagramme de composants

![](Picture5.jpg)

![](Picture2.jpg)

![](Picture3.jpg)

![](Picture6.jpg)

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

![](Picture2.jpg)

<!-- Slide number: 17 -->

2. Le diagrammes de déploiement: Exemple 2

![](Picture2.jpg)

<!-- Slide number: 18 -->

Des Questions ?

18

Architecture Logicielle: Systèmes d’information 2

Institut Supérieur des Études Technologiques de Bizerte · Software Architecture in Information Systems · notes

Browse all génie logiciel documents

<!-- 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

![C:\Users\user\Desktop\IsetBizerte.jpg](Picture2.jpg)

Architecture Logicielle

1

<!-- Slide number: 2 -->

![C:\Users\user\Desktop\goals.jpg](Picture2.jpg)

Les objectifs du Chapitre

Dresser un diagramme de composant UML

Dresser un diagramme de déploiement UML

2

<!-- Slide number: 3 -->

![C:\Users\user\Desktop\plan.jpg](Picture2.jpg)

Plan du chapitre

1. Diagramme de composant

2. Diagramme de déploiement

3

<!-- Slide number: 4 -->

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![](Picture2.jpg)

4

Advertisement

<!-- Slide number: 5 -->

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

Advertisement

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

Advertisement

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

![C:\Users\user\Desktop\préambule.jpg](Picture2.jpg)

Exemple d’un diagramme de composants

![](Picture4.jpg)

11

<!-- Slide number: 12 -->

1. La représentation d’une architecture logicielle: Les éléments architecturaux

Exemple d’un diagramme de composants

![](Picture5.jpg)

![](Picture2.jpg)

![](Picture3.jpg)

![](Picture6.jpg)

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:

Advertisement

[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

![](Picture2.jpg)

<!-- Slide number: 17 -->

2. Le diagrammes de déploiement: Exemple 2

![](Picture2.jpg)

<!-- Slide number: 18 -->

Des Questions ?

18