Software Architecture – Core Vocabulary

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

1/31

flashcard set

Earn XP

Description and Tags

32 vocabulary flashcards covering fundamental terms and concepts from the lecture on software architecture, its decisions, decomposition, views, and well-known architecture styles.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

32 Terms

1
New cards

Software Architecture

A set of high-level decisions that determine a system’s parts and their relationships, made early and hard to change later.

2
New cards

Architectural Decision

A principal choice affecting large portions of a system, taken within the current scope and aligned with business strategy.

3
New cards

Scope (in architecture)

The system level considered when making a decision; a decision is architectural only if it cannot be made from a narrower, local perspective.

4
New cards

Divide-and-Conquer

The practice of breaking a complex system into smaller parts to manage complexity and enable reuse.

5
New cards

Separation of Concerns

Decoupling unrelated parts so each can evolve independently, improving flexibility and maintainability.

6
New cards

Subsystem (Module)

A cohesive unit of functionality within a larger system, identified during system decomposition.

7
New cards

Component

A processing element that performs work and exposes provided/required interfaces.

8
New cards

Connector

A communication mechanism that enables interaction among components (e.g., pipes, procedure calls, HTTP).

9
New cards

Interface

A defined point on a component or connector where data can enter or exit; specifies provided or required services.

10
New cards

Configuration

A specific arrangement of components and connectors forming an architecture.

11
New cards

Cross-Cutting Concern

A broad-scoped system property (e.g., security, performance) that impacts multiple parts of the architecture.

12
New cards

Conceptual Integrity

The consistency and coherence of architectural decisions across the whole system.

13
New cards

Architecture Style

A reusable pattern that defines a family of architectures with common structure and rules.

14
New cards

Pipe-and-Filter Style

An architecture style where filters transform data and pipes stream data between filters (e.g., Unix shell).

15
New cards

Layered (Tiered) Style

A hierarchical organization where each layer offers services to the layer above and uses services of the layer below.

16
New cards

Client/Server Style

A model with triggering clients that send requests and reactive servers that process them and return responses.

17
New cards

REST (Representational State Transfer)

A Web architecture style using stateless client-server interactions, standard methods (GET, POST, etc.) and hypermedia links.

18
New cards

HATEOAS

Hypermedia As The Engine Of Application State; REST concept where clients navigate application state via hyperlinks provided in responses.

19
New cards

Microservices

An architectural approach that structures an application as a suite of independently deployable, small services.

20
New cards

Repository Style

An architecture where subsystems share data through a central database or data store.

21
New cards

Shared Database Connector

A connector that allows multiple components to access a common data repository via a unified data model.

22
New cards

Module Decomposition View

A structural view showing top-down refinement of modules or subsystems.

23
New cards

Dependency View

A view that documents how parts of the system depend on one another.

24
New cards

Layered View

A specialized dependency view illustrating layers and allowed directions of use.

25
New cards

Process (Concurrency) View

A representation of the system as a set of communicating, possibly concurrent, processes.

26
New cards

Component & Connector View

A view focusing on runtime components and the connectors that link them.

27
New cards

Call-and-Return Architecture

A control-flow structure organized as nested subroutine calls forming a tree of modules.

28
New cards

Model-View-Controller (MVC)

An architecture style separating application state (Model), presentation (View), and user interaction logic (Controller).

29
New cards

Session State (REST)

State held on the client side; servers remain stateless and rely on each request to contain all necessary information.

30
New cards

HTTP CRUD Methods

Standard REST verbs: POST (create), GET (read), PUT (update), DELETE (remove) resources.

31
New cards

Problem Structure vs. Solution Structure

The distinction between how requirements identify problem-domain elements and how architecture organizes solution components.

32
New cards

Reuse

Leveraging existing components or subsystems to avoid reinventing functionality and accelerate development.