Chapitre 11 : Architecture Flashcards
Quelle exigence dirige l’architecture ?
Exigences non-fonctionnelles : Portabilité, fiabilité, robustesse, sécurité
Quelles sont les inconvénients d’un design monolithique ?
Il est difficile à comprendre, localiser les fautes, étendre ou améliorer, réutiliser dans un autre produit
Quelles sont les caractéristiques d’une bonne conception ?
Faible couplage et forte cohésion, réutilisation, conception modulaire (décomposition en modules indépendants et interchangeables qui contiennent tous ce qui leur est nécessaires pour exécuter un aspect d’une fonctionnalité), conception évolutive
Quelles sont les caractéristiques d’une mauvaise conception ?
Rigidité, fragilité, immobilité
Quelles sont les deux types de réutilisation ?
Réutilisation opportuniste (accidentelle) et réutilisation systématique (délibérée)
Qu’est-ce qu’est une réutilisation opportuniste ?
Construction du système, durant le développement des parties du systèmes sont réutilisables et sont utilisées dans le produit
Qu’est-ce qu’est une réutilisation systématique ?
Construction de composants réutilisables, système est construit en assemblant ces composants
Pourquoi réutiliser ?
Mettre les produits le plus rapidement sur le marché, but de la réutilisation : faciliter la création de nouveau logiciel (extensions, corrections, modifications)
Quelles sont les obstacles à la réutilisation :
Syndrome du « pas inventé ici », crainte des défauts dans des routines potentiellement réutilisable, coût de la réutilisation, problèmes légaux…
Qu’est-ce qu’une librairie ?
Ensemble de programmes/modules réutilisables (ex : librairie de classes pour le GUI)
Utilisateur de la librairie est responsable de la logique du contrôle
Une librairie fournit une API pour l’utiliser
Qu’est-ce qu’une Framework ?
La plateforme incorpore la logique de contrôle générique
Utilisateur personnalise les fonctionnalités génériques pour les besoins de l’application
Une plateforme fournit une API à laquelle votre application doit se conformer
Qu’est-ce qu’une programmation orientée composants ?
Combine les deux autres approches
Mise en place d’une plateforme applicative
Identification des librairies réutilisables
Qu’est-ce qu’est le modèle C4 ?
Ensemble d’abstraction hiérarchique de diagrammes d’architecture logicielle
Quelles sont les niveaux d’abstractions du modèle C4 ?
Système (Plus haut niveau d’abstractions, Perçu par les autres systèmes et utilisateurs)
Conteneurs (unités logiques du système indépendantes l’une de l’autre)
Composant (Éléments de base et modules retrouvés dans chaque conteneur)
Code (facultatif) Détail de chaque composant
Décrit la vue du système ?
Décrire les limites externes du système, ainsi que ses principales interactions
Le système est représenté au centre et connecté aux différents utilisateurs et systèmes externes
Il offre une vue d’ensemble sans entrer dans les détails internes