Lecture 3: Chapter 2 - Why is Software Architecture Important?

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

1/17

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key concepts from the lecture notes on software architecture importance.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

18 Terms

1
New cards

Software architecture

The fundamental organization of a software system, capturing earliest design decisions, constraining subsequent implementation, enabling analysis of qualities, and facilitating communication among stakeholders.

2
New cards

Quality attributes

The driving properties (e.g., performance, modifiability, security, scalability) whose achievement is largely determined by the architecture.

3
New cards

Earliest design decisions

Initial bindings embedded in the architecture (such as processor layout, layering, communication, OS/hardware dependencies, encryption, protocols) that constrain future development.

4
New cards

Constraints on implementation

The prescribed interactions and responsibilities that the architecture imposes on the implementers.

5
New cards

Evolutionary prototyping

Analyzing and prototyping a skeletal architecture early to reveal infrastructure needs, allowing the system to evolve with reduced risk.

6
New cards

Transferable, reusable model

An architecture that can be reused across multiple systems, enabling transfer of decisions, requirements, and infrastructure.

7
New cards

Software product line

A family of software systems built from the same reusable assets; architecture defines fixed vs. variable features and represents a strategic investment.

8
New cards

Architecture-based development

A development approach focusing on assembling existing components rather than creating new ones from scratch.

9
New cards

Restricting design vocabulary

Limiting the set of design elements and interactions to reduce complexity, improve reuse, and enhance understanding and communication.

10
New cards

Architectural patterns

Reusable design solutions that guide architecture and shape quality attributes by constraining the design vocabulary.

11
New cards

Basis for training

The architecture serves as an introduction to the system for new team members, with module views and component-and-connector views illustrating structure and behavior.

12
New cards

Work-breakdown structure (WBS)

The architecture informs the WBS, guiding planning, scheduling, budgeting, and inter-team communication.

13
New cards

Independently developed components

Architecture often uses components that are independently developed (COTS, OSS, services), improving time-to-market, reliability, and flexibility.

14
New cards

Incremental subset delivery

Managing inter-component usage by delivering system functionality in controlled increments.

15
New cards

Local changes

Changes that can be accomplished by modifying a single element; the most desirable type of change.

16
New cards

Nonlocal changes

Changes that require modifications to multiple elements but leave the underlying architectural approach intact.

17
New cards

Architectural change

Changes that affect the fundamental ways elements interact and likely require broad, system-wide modifications.

18
New cards

Stakeholders

All parties (customers, users, managers, developers, testers) with interests affected by the architecture; the architecture provides a common language to address their concerns.