Synthèse IALTEM - Software Architecture (Vocabulary Flashcards)

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/73

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.

74 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

Availability

The degree to which a system is ready for and capable of use when needed.

32
New cards

Modifiability

Ease and cost of making changes to the system to accommodate new requirements.

33
New cards

Performance

System responsiveness and throughput; latency, throughput, and resource usage.

34
New cards

Security

Protection of information and services from unauthorized access, disclosure, or disruption.

35
New cards

Testability

Ease and effectiveness of testing a system, including observability and controllability.

36
New cards

Usability

Ease with which users learn, operate, and enjoy the system; includes learnability, efficiency, error tolerance, adaptability, and satisfaction.

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

Decorator

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

44
New cards

Proxy

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

45
New cards

Composite

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

46
New cards

Bridge

Separates an object's abstraction from its implementation.

47
New cards

Flyweight

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

48
New cards

Visitor

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

49
New cards

Memento

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

50
New cards

State

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

51
New cards

Strategy

Encapsulates interchangeable algorithms; selects one at runtime.

52
New cards

Observer

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

53
New cards

Command

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

54
New cards

Interpreter

Transforms a language/grammar into executable actions.

55
New cards

Mediator

Coordinates interactions among a set of objects through a central intermediary.

56
New cards

Immutable

An object whose state cannot be modified after creation.

57
New cards

Read-only object

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

58
New cards

Interceptor

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

59
New cards

Pipes & Filters

Data flows through filters that transform it; pipes carry data between filters.

60
New cards

Publish-Subscribe

Producers publish events; consumers subscribe; a mediator broker routes events.

61
New cards

REST style

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

62
New cards

Connection-Oriented Style

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

63
New cards

Connection-Less Style

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

64
New cards

Client-Server Style

Resources and services served centrally; clients request services from servers.

65
New cards

Client-Stateless Server

Servers do not retain client session state between requests.

66
New cards

Remote Evaluation

Client sends code to be executed remotely by the server.

67
New cards

Code on Demand

Server provides executable code to clients to extend functionality.

68
New cards

Mobile Agent

Code that moves across hosts to perform tasks, reducing network load.

69
New cards

SOA (Service-Oriented Architecture)

Architecture based on publishable services with interoperable interfaces.

70
New cards

ESB (Enterprise Service Bus)

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

71
New cards

Orchestration

Coordinating multiple services to implement a business process.

72
New cards

ETL (Extract, Transform, Load)

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

73
New cards

MOM (Message Oriented Middleware)

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

74
New cards

Queue operations (PUT/GET/POLL/NOTIFY)

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