소프트웨어 설계 Map of Content

복잡성을 통제하고 신뢰성·확장성·유지보수성을 극대화하는 소프트웨어 아키텍처와 엔지니어링의 정본 지식 지도다. 상위 전체 지도는 위키 지식 개요를 참고한다.

이 지도가 있는 이유

“수정하기 쉬운 코드는 어떻게 설계하는가”, “모듈의 경계와 인터페이스는 어떻게 나눠야 하는가”, “분산 시스템과 데이터베이스에서 일관성과 장애를 어떻게 통제하는가”에 답하기 위한 지도다.

처음 읽는다면 소프트웨어 복잡성의 세 가지 증상부터 시작한다.

flowchart TD
    TOP["소프트웨어 설계"]
    TOP --> S1["복잡성의 본질과 모듈 설계"]
    TOP --> S2["데이터 집약 시스템과 분산 아키텍처"]
    TOP --> S3["소프트웨어 공학의 인간적 요소"]
    TOP --> S4["사이트 신뢰성 엔지니어링과 복원력"]
    TOP --> S5["스토리지 엔진과 분산 합의 아키텍처"]
    TOP --> S6["체계적 디버깅과 소프트웨어 신뢰성"]

    class TOP,S1,S2,S3,S4,S5,S6 internal-link;

세부 주제 지도 (Sub-MOCs)

소프트웨어 설계 도메인은 여섯 가지 층위의 핵심 질문군으로 구성된다:

  1. 복잡성의 본질과 모듈 설계 (노트 4개, 출처 1개)
  2. 데이터 집약 시스템과 분산 아키텍처 (노트 4개, 출처 1개)
  3. 소프트웨어 공학의 인간적 요소 (노트 4개, 출처 1개)
  4. 사이트 신뢰성 엔지니어링과 복원력 (노트 4개, 출처 2개)
  5. 스토리지 엔진과 분산 합의 아키텍처 (노트 3개, 출처 1개)
  6. 체계적 디버깅과 소프트웨어 신뢰성 (노트 3개, 출처 1개)

처음 읽는 길잡이

이웃 지도

  • AI 에이전트: 소프트웨어 설계의 모듈화와 도구 실행 계약이 자율 지능체와 만나는 곳.
  • 전략: 한정된 자원으로 차이를 만들고 지키는 원리가 소프트웨어 아키텍처 선택과 만나는 교차점.
  • 판단과 의사결정: 기술적 선택과 위험 예측에서 발생하는 인지적 편향을 교정하는 지식.