Fundamentals 29 min read

Understanding Software Architecture: Definitions, Design Goals, Classifications, and Common Pitfalls

This article explains the concept of software architecture, distinguishes it from frameworks, outlines its components, design objectives, classification methods such as RUP 4+1 and TOGAF, evolution from monoliths to micro‑services, evaluation criteria, typical misconceptions, and recommends essential reading for architects.

DataFunSummit
DataFunSummit
DataFunSummit
Understanding Software Architecture: Definitions, Design Goals, Classifications, and Common Pitfalls
In the software industry, the definition of "architecture" varies widely; before discussing it, we first clarify the concept to ensure effective communication.

1. What Is Architecture

Architecture exists at multiple levels—Linux, MySQL, JVM, and the business system built on them. Understanding it requires distinguishing systems, subsystems, modules, components, frameworks, and architecture.

1.1 System and Subsystem

A system is a group of related entities operating under rules to achieve capabilities beyond individual parts. Subsystems are systems that belong to a larger system.

1.2 Module and Component

Modules are logical units for decomposition; components are physical units (services, databases, containers, etc.) that can be reused.

1.3 Framework vs Architecture

Frameworks provide standards and basic functions (e.g., MVC, Spring); architecture defines the overall structure and relationships among components.

In TOGAF9, architecture is a formal description of a system's components, their relationships, and governing principles.

2. Purpose of Architecture Design

Without architecture, systems become chaotic as they grow from monoliths to distributed or micro‑service structures, leading to unclear boundaries, tight coupling, monitoring difficulties, and technology sprawl.

Architecture aims to make rational decisions, define a clear system skeleton, establish collaboration, and set constraints to manage complexity and improve efficiency.

3. Architecture Classification

Two common methods are RUP 4+1 (logical, development, physical, process, and scenario views) and TOGAF9 (business, application, data, technology, code, deployment architectures).

RUP 4+1 Views

Logical View

Development View

Physical View

Process View

Scenario View

TOGAF 9 Views

Business Architecture

Application Architecture

Data Architecture

Technology Architecture

Code Architecture

Deployment (Topology) Architecture

4. Architecture Levels

The pyramid model shows four levels: system, application, module, and code, each inheriting the constraints of the level above.

5. Strategic vs Tactical Design

Strategic design (business architecture) guides overall direction; tactical design (application architecture) translates strategy into concrete solutions, followed by technical selection.

6. Evolution of Application Architecture

Monolithic → Distributed → Micro‑services, each stage improving scalability, maintainability, and technology flexibility while introducing new operational challenges.

7. Measuring Architecture Reasonableness

Reasonable architecture satisfies current business needs, is efficient, forward‑compatible, stable, high‑performance, extensible, reusable, and secure.

8. Common Architecture Pitfalls

Over‑design without practical grounding

Ignoring non‑functional requirements

Premature decisions

Blindly copying large‑company solutions

Technology for technology's sake

9. Recommended Books

Large‑Scale Web Architecture: Core Principles and Case Studies

Core Technologies of Billion‑Scale Traffic Websites

Architecture Is the Future

Distributed Service Architecture: Principles, Design, and Practice

Talking About Architecture

The 12 Practices of a Software Architect

software architecturemicroservicessystem designenterprise architecturearchitecture patterns
DataFunSummit
Written by

DataFunSummit

Official account of the DataFun community, dedicated to sharing big data and AI industry summit news and speaker talks, with regular downloadable resource packs.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.