Synthèse IALTEM - Software Architecture (Vocabulary Flashcards)

0.0(0)
studied byStudied by 3 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/75

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key concepts from the lecture notes on software architecture, design views, quality attributes, patterns, styles, and concurrency.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

76 Terms

1
New cards

Software architecture

The set of structures of a software system including software elements, their externally visible properties, and the relationships among them; influenced by technical, business, and social factors.

2
New cards

Static structure

The architectural part that is fixed at compile time (code and components) rather than runtime.

3
New cards

Dynamic structure

Runtime aspects of the architecture, including data flows, control flows, and interactions during execution.

4
New cards

External properties

Visible properties of the system from the outside, including behavior and quality attributes.

5
New cards

Quality attributes

Non-functional requirements like security, performance, maintainability, and availability.

6
New cards

Element architectural

A fundamental architectural building block possessing defined responsibilities, a defined boundary, and well-defined interfaces.

7
New cards

Boundary

The dividing line around an architectural element that separates it from others.

8
New cards

Interfaces

Defined entry/exit points that expose the services provided by an element.

9
New cards

Stakeholder

An individual, group, or organization with interests or concerns regarding the architecture.

10
New cards

Concern

An expectation or objective held by a stakeholder; may be conflicting with others.

11
New cards

Architecture Description (AD)

A set of deliverables that document an architecture; the description language should fit the audience.

12
New cards

Candidate architecture

A particular arrangement of static and dynamic structures with potential to meet required behavior and quality properties.

13
New cards

Role of the architect

Lead design and documentation; engage stakeholders; derive and justify architectures; guide realization.

14
New cards

ABC (Architecture Business Cycle)

A seven-phase method for architectural design: case creation, needs understanding, architecture creation/selection, documentation, analysis/evaluation, implementation, maintenance.

15
New cards

ABC Phase 1: Case creation

Identify/involve stakeholders; capture interests; define architecture to address them; guide realization.

16
New cards

ABC Phase 2: Understanding needs

Capture and clarify requirements; recognize informal/chidden factors.

17
New cards

ABC Phase 3: Architecture creation/selection

Create or select an architecture that achieves required behaviors and qualities.

18
New cards

ABC Phase 4: Documentation and communication

Provide clear, unambiguous, stakeholder-tailored documentation; use standard templates.

19
New cards

ABC Phase 5: Analysis and evaluation

Rational justification of choices; assess against quality attributes.

20
New cards

ABC Phase 6: Implementation

Build the system in accordance with the architecture.

21
New cards

ABC Phase 7: Maintenance

Maintain the architecture and its representations over time.

22
New cards

Kruchten 4+1 views

A model using five views (logical, development, process, physical/deployment, and scenarios) to describe software architecture.

23
New cards

Kruchten: Logical view

Functional structure: classes, objects, and their relationships to realize functionality.

24
New cards

Kruchten: Development view

Organization of software modules for developers (component and module concerns).

25
New cards

Kruchten: Process view

Dynamic behavior, concurrency, and interaction of processes at runtime.

26
New cards

Kruchten: Physical/Deployment view

Mapping of software artifacts to hardware nodes and deployment topology.

27
New cards

Kruchten: Scenarios

Use cases illustrating how views interact to fulfill system requirements.

28
New cards

Conceptual integrity

Clarity and coherence of the system design, ideally achieved by a small group collaborating.

29
New cards

Fault

An error or defect occurring in a system that is not necessarily visible to users.

30
New cards

Failure

An event where the system does not perform as expected, visible to users.

31
New cards

Disponibilité/Availability

La probabilité qu'il soit opérationnel lorsqu'on en a besoin.

Tactiques :

  • empêcher que la faute devienne un échec

  • reprendre sur une faute

  • faire de la prévention

32
New cards

Modifiabilité

Le coût des changements

Tactiques :

  • localiser les modifications

  • diminuer les dépendances

  • repousser le moment du lien

33
New cards

Performance

Lié au temps

Tactiques :

  • ressource à la demande

  • management des ressources

  • arbitrage des ressources

34
New cards

Sécurité

Une mesure de la capacité du système à résister à une utilisation non autorisée tout en continuant à fournir ses services aux utilisateurs légitimes.

Tactiques :

  • résister à l’attaque

  • détecter les attaques

  • réagir à l’attaque

  • reprendre sur une attaque

35
New cards

Testabilité

La facilité avec laquelle les logiciels peuvent être testés (généralement par des tests basés sur l'exécution) afin de mettre en évidence leurs défauts.

Tactiques :

  • input/output

  • monitoring interne

36
New cards

Utilisabilité

La facilité avec laquelle l'utilisateur peut accomplir une tâche souhaitée et le type d'assistance fourni par le système.

37
New cards

Architectural tactics

Techniques used to achieve quality attributes within an architecture.

38
New cards

Singleton

Ensures a class has only one instance and provides a global access point to it.

39
New cards

Abstract Factory

Creates families of related objects without specifying their concrete classes.

40
New cards

Prototype

Creates new objects by cloning a prototype instead of constructing them anew.

41
New cards

Configuration

Centralizes configuration state in a single object to control system behavior.

42
New cards

Facade

Unifies and simplifies access to a set of interfaces in a subsystem.

43
New cards

Proxy

Controls access to another object, often adding a layer of indirection.

44
New cards

Decorator

Adds responsibilities to objects dynamically by wrapping them with additional behavior.

45
New cards

Player role

Patron de conception qui permet à un objet de jouer plusieurs rôles et d’en changer dynamiquement.

46
New cards

Composite

Treats individual objects and compositions uniformly as part-whole hierarchies.

47
New cards

Bridge

Separates an object's abstraction from its implementation.

48
New cards

Flyweight

Shares many small objects to support large numbers of similar objects efficiently.

49
New cards

Strategy

Encapsulates interchangeable algorithms; selects one at runtime.

50
New cards

Visitor

Encapsulates operations to be performed on elements of an object structure, enabling new operations without changing the objects.

51
New cards

Memento

Captures and externalizes an object's internal state for later restoration.

52
New cards

Template

Patron de conception comportemental qui permet de mettre le squelette d’un algorithme dans la classe mère, mais laisse les sous-classe redéfinir certaines étapes de l’algorithme sans changer la sturcture.

53
New cards

State

Allows an object to alter its behavior when its internal state changes.

54
New cards

Observer

Defines a one-to-many dependency so that when one object changes, others are notified.

55
New cards

Command

Encapsulates a request as an object, enabling parameterization and queuing of requests.

56
New cards

Interpreter

Transforms a language/grammar into executable actions.

57
New cards

Interceptor

Extends or refines a component’s behavior by dynamically adjusting its operations.

58
New cards

Immutable

An object whose state cannot be modified after creation.

59
New cards

Read-only object

An object interface that exposes only read access to its state.

60
New cards

REST style

Stateless client-server interactions using identified resources, representations, and HATEOAS.

61
New cards

Connection-Oriented Style

Data transfer with an established, managed connection and QoS guarantees.

62
New cards

Connection-Less Style

Data transfer without a persistent connection; typically faster but less reliable.

63
New cards

Client-Server Style

Les ressources et les services sont hébergés en un seul endroit.

Avantages

– Plus facile à entretenir qu'un système « plus distribué »

Inconvénients

– Les clients ne peuvent pas être avertis

– Évolutivité limitée

– Point de défaillance unique

– Dépend d'un client léger ou lourd

64
New cards

Client-Stateless Server

Le serveur ne gère aucune session

Avantages

– Évolutivité

• Intéressant pour l'équilibrage de charge

– Débogage

• Les événements sont plus faciles à analyser

• Pas de contexte -> pas d'historique

– Fiabilité

• Indépendance de l'état du serveur, récupération plus facile après des pannes partielles.

Inconvénients

– Diminution des performances réseau

65
New cards

Mobile Code: Remote Evaluation Style

Le client envoie un « bloc de calcul » au serveur.

Avantages

• Utile pour les clients disposant de ressources limitées (RAM, CPU, bande passante)

Inconvénients

• Le serveur doit faire confiance au client (son utilisateur et son code) !

• Bande passante ?

66
New cards

Mobile code: Code on Demand Style

Le client envoie une description de la tâche à effectuer. Le serveur répond avec le meilleur « morceau de code ».

Avantages

• Le client dispose toujours d'une procédure à jour et optimisée pour exécuter une tâche.

Inconvénients

• Le client doit faire confiance au serveur.

• Bande passante ?

67
New cards

Mobile code: Mobile Agent

« code à la demande » ou « évaluation à distance », mais le code est déplacé avec ses données.

Avantages

• Le code est plus autonome et nécessite moins de bande passante pour fonctionner.

• Peut résoudre des problèmes complexes qui s'alignent naturellement avec ce paradigme.

Inconvénients

• Bande passante.

• Complications possibles lors de la réplication des données entre les agents.

• Sécurité.

• Complexité : conception, débogage, technologie.

68
New cards

Pipes & Filters

Les données sont transformées depuis les entrées externes d'un système vers ses sorties externes grâce à une série de transformations effectuées par ses filters reliés par des pipes.

Avantages

– Amélioration de la réutilisation grâce à l'indépendance des filtres.

– Amélioration du débit grâce à la parallélisation du traitement des données.

– Simplification du raisonnement sur le comportement global.

– L'assemblage peut être facilement modifié.

Inconvénients

– Ne convient pas aux systèmes interactifs.

69
New cards

Publish-Subscribe Style

Il existe un certain nombre de producteurs et de consommateurs de données indépendants qui doivent interagir.

Avantages

– Réduction du couplage entre émetteurs/récepteurs

Inconvénients

– Le point de vue d'assemblage est configuré par programmation, il est difficile de savoir où les messages sont envoyés... de manière statique !

– L'agent intermédiaire peut constituer un goulot d'étranglement

• Latence et évolutivité

70
New cards

Multi-Tier Style

Tirez parti des « serveurs d'applications » pour diviser l'application en composants.

Avantages

– Déployer des composants sur des serveurs d'applications spécialisés pour bénéficier de leur valeur ajoutée :

• Web, sécurité, équilibrage de charge, persistance, fiabilité, etc.

– Moins de couplage entre les niveaux

Inconvénients

– Complexité et surcoût éventuel

71
New cards

SOA (Service-Oriented Architecture)

Architecture based on publishable services with interoperable interfaces.

72
New cards

ESB (Enterprise Service Bus)

Middleware that routes and transforms messages between service providers and consumers.

73
New cards

Orchestration

Coordinating multiple services to implement a business process.

74
New cards

ETL (Extract, Transform, Load)

Pattern for moving and transforming data from sources into a target system.

75
New cards

MOM (Message Oriented Middleware)

Middleware using queues to store and transport messages between producers and consumers.

76
New cards

Queue operations (PUT/GET/POLL/NOTIFY)

Mechanisms for sending, retrieving, polling, or notifying about messages in queues.

Explore top flashcards