Vous êtes sur la page 1sur 7

RAPPORT ARCHITECTURE LOGICIELLE

L’architecture logicielle définit comment les composants d’un système logiciel sont assemblés, leurs
relations et comment ils communiquent entre eux.
L’architecture logicielle définit une liste d’éléments qui facilitent le développement logiciel.
 L’architecture logicielle définit la structure du système.
 L’architecture logicielle définit le comportement du système
 L’architecture logicielle définit les relations entre les composants
 L’architecture logicielle définit la structure de la communication
 L’architecture logicielle équilibre les besoins des parties prenantes
 L’architecture logicielle influence la structure de l’équipe
 L’architecture logicielle se concentre sur les éléments importants
 L’architecture logicielle permet de saisir les premières décisions de l’architecture
Caractéristiques d’une architecture logicielle

Elles sont généralement divisées en de grandes catégories selon le fonctionnement, les exigences, la
structure, etc.
1- Caractéristiques opérationnelles
- Disponibilité
- Evolutivité
- Faible tolérance aux pannes
- Performance
- Fiabilité

2- Caractéristiques structurelles
- Configurabilité
- Maintenabilité
- Supportabilité
- Portabilité
- Extensibilité

3- Caractéristiques transversales
- Accessibilité
- Utilisabilité
- Faisabilité
- Vie privée
- Sécurité
Avantages et inconvénients de l’architecture logicielle
 Avantages :
- Fournit une base solide pour le projet logiciel
- Aides à fournir les performances accrues
- Réduit les couts de développement

 Inconvénients
- Parfois, l'obtention de bons outils et la normalisation deviennent un problème pour
l'architecture logicielle.
- La prédiction initiale du succès d'un projet basé sur l'architecture n'est pas toujours possible.
Différents types d’architecture logicielle
- Architecture client-serveur
- Architecture Orientée Service
- Architecture pilotée par les évènements
- Architecture modulaire
- Architecture en couches
- Architecture centrée sur les données

 Architecture Client-Serveur
Structure d’application distribuée qui répartit les taches entre les fournisseurs d’un service appelés
SERVEURS et les demandeurs du service appelés CLIENT. Les CLIENTS initient généralement des
sessions de communications avec les SERVEURS qui attendent les demandes entrantes. Le CLIENT
et le SERVEUR communiquent au travers de dispositifs (Ordinateurs portables, tablettes, smartphone).
Quand utiliser l’architecture Client-Serveur ?
- Lorsque les utilisateurs ont différents appareils
- Lorsque vous avez besoin d’encapsuler les fonctionnalités du système
Ex : Les ERP, des serveurs d’impression, des serveurs de messageries, etc.
Avantages et inconvénients
 Avantages :
- Encapsulation du matériel des logiciels et des fonctionnalités
- Combinaison fluide de serveurs et de clients sur différentes plateformes
 Inconvénients :
- Si tous les utilisateurs demandent simultanément des données au serveur celui-ci peut être
surchargé
- Si le serveur échoue pour une raison quelconque, aucune demande du client ne peut être
satisfaite
Structure de l’architecture CLIENT-SERVEUR
 Le Frontend : Il s’agit de la partie du logiciel qui interagit avec les utilisateurs même s’ils se
trouvent sur des plateformes différentes avec des technologies différentes.
Dans l’architecture Client-Serveur, le module frontend est conçu pour interagir avec tous les appareils
existant sur le marché.
 Le serveur d’application (Application server) : Il s’agit du serveur ou sont installés les modules
du logiciel. Il se connecte à la base de données et interagit avec les utilisateurs.
 Le serveur de base de données (Databases serveur) : Il fournit les tables, données et les index
gérés par l’application. Les recherches et les opérations de CRUD sont gérées ici.

 Architecture Orientée Service


Modèle d’architecture basé sur les services, qui permet à un système externe d’utiliser une
bibliothèque de fonctionnalités sans accéder aux systèmes internes.
Quand utiliser l’architecture orientée service ?
- Lorsque vous avez de nombreux clients pour service web
- Lorsque vous devez communiquez à distance avec ces clients
Avantages et inconvénients
 Avantages :
- Norme de communication simple : fonctionne a 100 sur internet
- Norme de sécurité stricte aucun client ne peut accéder aux systèmes internes

 Inconvénients :
- Les clients ont besoin d’internet pour utiliser la bibliothèque
- Le contrôleur de services web peut être surchargé et subir des problèmes de performance

Structure de l’architecture Orientée Service


 Le dépôt de services web (Web services repository) : Il s’agit d’une bibliothèque de services
web conçue pour répondre à des demandes d’informations externes. L’information fournie est
généralement un petit élément comme un numéro, un mot, quelques variables, etc. Par
exemple un numéro de vol, un numéro de suivis de colis, le statut d’une commande, etc. Cette
bibliothèque est généralement document de façon très détaillée, car des applications externes
font appel aux fonctions qu’elle contient.
 Le contrôleur de services web (Web service Controller) : Ce module communique les
informations contenues dans le dépôt de service web aux demandeurs de services. Lorsqu’un
demandeur de service externe appelle une certaine fonction du dépôt de service web, le
contrôleur de service web interprète la demande et recherche la fonction dans le dépôt de
services web. Il exécute ensuite cette fonction et renvoie une valeur au demandeur de service.
 Le serveur de bases de données (Database Server) : Il fournit les tables, données et les index
gérés par l’application. Les recherches et les opérations de CRUD sont gérées ici.
 Les demandeurs de services (Service Requester) : Il s’agit d’application externe demandant
des services au dépôt de services web par l’intermédiaire d’internet, comme une organisation
demandant des informations sur les vols à une compagnie aérienne, ou une autre entreprise
demandant à un transporteur la localisation d’un colis à un moment donné.
NB : L’architecture Orientée Service est créée par l’application qui fournit le service et non par celle qui
le consomme
 L’architecture monolithique

Modèle d’architecture o tous les composants du logiciel sont développés comme une base unique de
code et déployés dans un fichier unique.
Il existe principalement deux types d’architectures monolithiques :
 L’architecture monolithique à processus unique :
Si tout le code d’une application est déployé en processus unique alors l’architecture est à processus
unique.
 Architecture monolithique modulaire
Dans cette variante d'architecture monolithique, un seul processus applicatif est constitué de plusieurs
modules. Chacun de ces modules peut fonctionner indépendamment. Les modules ont des interfaces
et peuvent communiquer entre eux via ces interfaces. La base de données sous-jacente est la même
et tous les modules utilisent la même base de données pour toutes les opérations. Néanmoins, tous les
modules doivent être combinés pour former un seul fichier pour le déploiement.
Avantages et inconvénients :
 Avantages :
- C'est simple à développer car il n'y a pas de modularité ou une modularité moins formelle.
- Il est facile à déployer car un seul fichier est déployé.
- Il y a moins de problèmes de sécurité car le logiciel se compose d'une base de code unique

 Inconvénients :
- Lorsqu'un bogue affecte un seul aspect de la base de code, il affecte tout.
- Même si un petit changement est nécessaire, toute l'application doit être redéployée.

Vous aimerez peut-être aussi