Design Methodology

Design Methodology 는 " 무엇을 " 만드는지를 " 어떻게 " 구현 가능한 설계 산출물로 구체화하는 체계다. 프로세스 (분석→아키텍처→세부 설계), 표기 (UML·DFD 등), 원칙 (SOLID·단계적 세분화), 지원 도구 (CASE, CI/CD) 로 구성된다. 구조적·객체지향·도메인·모델 구동형 등 다양한 유형이 있으며, 각 방법론은 목표 품질, 팀 규모, 도메인 복잡도, 변경 빈도에 따라 선택·혼합된다. 올바른 선택과 지속적 피드백이 생산성과 유지보수성을 크게 좌우한다.

핵심 개념

설계 방법론 (Design Methodology) 은 문제 해결을 위한 체계적인 절차와 원칙, 도구의 집합이다. 이는 단순히 도구나 기법이 아니라, 문제 정의, 해결책 탐색, 평가, 반복을 포함하는 일련의 프로세스와 철학을 의미한다.
주요 관점은 사용자 중심 (User-centric), 반복 (Iterative), 협업 (Collaborative), 실험 (Experimental) 이다.

소프트웨어 아키텍처 (Software Architecture)

설계 원칙 (Design Principles)

아키텍처 패턴 (Architectural Patterns)

구분개념현업 연관성
절차 중심 (Structured Design)위에서 아래로 Stepwise Refinement·DFD 중심 설계. 요구 변환 가시성 높음.레거시 개선·공공 SI
객체지향 (OOD)추상화·캡슐화·상속·다형성 네 가지 기둥.클래스 설계·패턴 적용
도메인 주도 (DDD)Bounded Context·Aggregate Root 로 복잡도 분리.마이크로서비스 경계
모델 주도 (MDA/AMDD)PIM→PSM 자동 변환, 애자일 변형은 Just-Enough Model.플랫폼 간 이식성·코드 생성
패턴·원칙SOLID, GRASP, 12-Factor 등코드 리뷰·리팩터링 기준

실무 구현 관점: 설계 산출물은 코드리뷰 체크리스트, 테스트 시나리오, CI 파이프라인 품질 게이트와 바로 연결되어야 한다.

배경

설계 방법론은 20 세기 중반 산업화와 대량생산의 영향으로 등장했으며, 1962 년 런던에서 열린 컨퍼런스에서 체계적·직관적 방법론이 논의되며 발전했다. 이후 다양한 분야 (산업, 건축, 소프트웨어 등) 에서 적용되며 진화해왔다.

다음과 같이 발전해왔다:

세대시기방법론 중심 사고특징·접근법대표 기법 / 표기법
1 세대1970 년대구조적 방법론• 기능 중심 하향식 (Top-Down) 설계• 복잡한 문제를 모듈·절차로 분해DFD(Data Flow Diagram)• 구조적 프로그래밍 (Structured Programming)• HIPO, Warnier-Orr 등
2 세대1980 년대정보공학 (IE)• 데이터 중심 전사적 (Enterprise-wide) 분석• 비즈니스 데이터 우선 설계 (논리→물리)ERD(Entity-Relationship Diagram)• 데이터 사전 (Data Dictionary)• IDEF1X, IE 툴셋
3 세대1990 년대객체지향 방법론• 현실 세계 객체·속성·행위 모델링• 재사용·캡슐화·다형성 강조UML(Unified Modeling Language) 표준화• OMT(Rumbaugh), Booch, OOSE(Jacobson) 통합
4 세대2000 년대 이후애자일·현대적 방법론반복적·진화적 개발, 지속적 피드백• 팀 자율성·고객 가치 극대화Agile(Scrum, XP, Kanban)• 마이크로서비스 아키텍처DDD(Domain-Driven Design)• 클린 아키텍처 & 솔리드 (SOLID) 원칙

목적 및 필요성

문제를 체계적으로 정의하고, 효과적인 해결책을 도출하며, 위험과 비용을 줄이고, 사용자 요구를 충족시키기 위해 필요하다.

주요 기능 및 역할

특징

핵심 원칙

단계별 산출물은 점진적 세분화 후 검증 루프를 통해 다시 분석 단계로 피드백된다.

flowchart TD
  R[Requirements] --> A[Analysis Model]
  A --> AD[Architectural Design]
  AD --> DD[Detailed Design]
  DD --> I[Implementation]
  I --> T[Verification]
  T --> |feedback| A

주요 원리

graph LR
    A[의존성 역전] --> B[관심사 분리]
    B --> C[단일 책임]
    C --> D[개방-폐쇄]
    D --> E[인터페이스 분리]
    E --> A
    
    subgraph "설계 원칙"
        F[SOLID]
        G[DRY]
        H[KISS]
        I[YAGNI]
    end

의존성 역전 원칙 (Dependency Inversion Principle)

관심사 분리 (Separation of Concerns)

작동 원리

설계 방법론의 작동 원리는 다음과 같다:

sequenceDiagram
    participant C as Client
    participant P as Presentation
    participant A as Application
    participant D as Domain
    participant I as Infrastructure
    
    C->>P: 요청
    P->>A: 커맨드/쿼리
    A->>D: 비즈니스 로직 실행
    D->>I: 데이터 저장/조회
    I-->>D: 결과 반환
    D-->>A: 도메인 객체
    A-->>P: DTO 변환
    P-->>C: 응답
  1. 요청 수신: 프레젠테이션 계층에서 사용자 요청 수신
  2. 커맨드/쿼리 처리: 애플리케이션 계층에서 비즈니스 워크플로우 실행
  3. 도메인 로직 실행: 도메인 계층에서 핵심 비즈니스 규칙 적용
  4. 데이터 처리: 인프라 계층에서 영속화 및 외부 서비스 연동
  5. 응답 반환: 결과를 적절한 형태로 변환하여 클라이언트에 반환

구조 및 아키텍처

설계 방법론은 단계별로 구성되며, 각 단계는 독립적이면서도 상호 연관되어 있다.

구성요소:

필수 구성요소:

선택 구성요소:

graph LR
    A[문제 정의] --> B[아이디어 도출]
    B --> C[프로토타입]
    C --> D[테스트 및 평가]
    D -->|피드백| A

주요 방법론 간 비교 개요

비교축StructuredObject-OrientedDomain-DrivenModel-DrivenAspect-OrientedService-Oriented
추상화 단위기능 (DFD)객체·클래스도메인 모델메타 - 모델횡단 관심사서비스 계약
산출물구조 차트UML Class/SeqContext MapPIM/PSMAspect SpecWSDL/OpenAPI
장점가시적 데이터 흐름재사용·유지보수복잡도 격리코드 생성·이식성모듈화 수준↑이질 통합 용이
단점확장성 제한과도한 계층화학습 곡선도구 의존디버깅 난해오버헤드
권장 도메인레거시 SI일반 애플리케이션복잡 B2B임베디드·IoT로깅·보안엔터프라이즈 통합

구현 기법

카테고리구현 기법핵심 활동·도구주요 목적 / 창출 가치대표 실무 예시
아이데이션 & 도메인 탐색브레인스토밍HMW(How-Might-We) 질문, 자유로운 아이디어 메모문제 정의 초기 단계에서 폭넓은 해결책 후보 발굴신규 결제 플로우 기능 아이디어 세션
Event Storming도메인 이벤트 포스트잇, 색상별 스티커, 대형 보드복잡한 비즈니스 흐름 시각화·지식 동기화주문→결제→배송 프로세스 전사 워크숍
사용자 조사 & 분석User Research인터뷰·설문·현지 관찰, 사용성 테스트사용자 요구·문제·컨텍스트 정밀 파악MVP 출시 전 원격 인터뷰 & A/B 테스트
프로토타이핑 & 모델 실험Rapid Prototyping저·중·고충실도 UI, 클릭형·코드형 프로토타입가설 검증과 반복 개선 속도 극대화Figma + ProtoPie 로 결제 UX 6 시간 사이클 검증
DSL & 코드 생성PIM(Model)→Template→Generator반복 코드 제거·일관성 확보IoT 펌웨어 자동 생성 파이프라인
Prompt-to-Design AI자연어→와이어프레임 AI초기 UI 스케치 리드타임 단축AI 로 모바일 MVP 초안 생성 (디자인 -Ops 흐름)
시각화 & 모델 표현VisualizationMermaid, Draw.io, Lucidchart, PlantUML구조·흐름을 명확히 하여 의사소통 가속C4 Model 컨텍스트→컴포넌트 다이어그램
협업 & 운영Collaboration ToolsMiro (무한보드), Figma (multiplayer), Jira·Trello 이슈분산 팀의 실시간 협업‧피드백디자인 스프린트·리모트 워크숍
Pair Design (Driver/Navigator)역할 교대, 실시간 리뷰지식 전파·품질 향상·공동 소유IaC 모듈 설계 세션
Design Ops 파이프라인자동 Mock→Usability-test→통계디자인 -to-Dev 리드타임·일관성 향상전자상거래 A/B 실험 자동화 플로우
품질 확보 & 거버넌스TDD 기반 설계단위 테스트→실패→코드→리팩터인터페이스 안정화·모듈화결제 API 스펙 Lock-in
Design Review ChecklistSOLID, 보안, 성능, 로그 지침반복 가능한 품질 게이트PR 라벨 자동 체크리스트
ADR (Architecture Decision Record)의사결정 템플릿 - 마크다운, 번호 체계설계 근거 추적·지식 전파모놀리스→MSA 전환 결정 로그

장점

항목효과핵심 원인·메커니즘
사용자 중심성실제 사용자 니즈·맥락을 반영한 솔루션 도출 → 제품 품질·경험 향상Empathize·Define 단계에서 공감·관찰을 중시하는 휴먼 - 센터드 프로세스
위험 감소프로토타입·테스트를 통한 조기 검증 → 실패 확률·규모 축소반복적 실험과 피드백 루프가 문제를 초기 발견·완화
협업 & 의사소통 개선도메인 전문가·개발자 간 공동 언어 형성 → 팀 간 지식 격차 해소Ubiquitous Language, 시각화 - 기반 워크숍 등 협업 기법
표준화 · 일관성공통 표기·절차로 산출물 품질 균일화, 온보딩 속도↑모델·노테이션 규칙 (예: UML, DSL) 과 반복 가능한 프로세스
가시성 · 투명성초기 단계에서 아키텍처·리스크가 드러나 의사결정 신속시각 모델·프로토타입이 구조·흐름을 명확히 표현
유지보수성모듈 경계·계층 분리가 변경·버그 수정 비용↓관심사 분리 (SoC)·계약 기반 설계
확장성독립적 모듈 추가·스케일 아웃 용이 → 성장 대응Loose Coupling, 명확한 컨텍스트·계층화
재사용성추상화된 컴포넌트·패턴을 다양한 도메인에 적용 → 개발 속도↑DRY 원칙·패턴 카탈로그 활용
테스트 용이성의존성 분리·명세 기반 설계로 단위·통합 테스트 작성 쉽다계약 주도 개발·모킹이 가능한 인터페이스
비용 절감조기 오류 탐지·재작업 감소로 총 개발 비용↓프로토타이핑·자동화 파이프라인
품질 향상형식 모델·검증 단계가 결함률↓·신뢰성↑정형 분석·모델 검증 도구
생산성 향상모델→코드 자동생성·패턴 재사용으로 개발 주기 단축Model-Driven Engineering, 템플릿·스캐폴딩

단점과 문제점 그리고 해결방안

단점

항목설명대표 해결책
초기 복잡성·비용 상승모델·아키텍처를 먼저 구축하느라 초기 인력·시간·도구 비용이 크다점진 도입 + 프로토타이핑 → 필수 영역부터 작은 모델을 만들고 빠르게 검증
학습 곡선·전문성 요구모델링 언어·툴 숙련이 필요해 온보딩이 느리다체계적 교육·멘토링 + 사내 예제 레퍼런스 제공
과도한 문서화·형식주의산출물 양이 폭증해 개발 속도를 늦춘다Lean/Agile Modelling 으로 " 필요한 만큼만 " 문서 작성
설계 - 코드 불일치 위험모델 변경이 코드에 반영되지 않으면 혼선·버그 유발Round-trip Tool·CI 동기화 검사
Time-to-Market 지연BDUF(빅 - 업프런트 디자인) 단계가 길어 출시가 늦다Iterative/Inkremental 설계 주기
경직성 (변경 부담)초기에 고착된 구조가 요구 변경에 불리모듈화 + DDD Bounded Context 재구성
협업 오버헤드이해관계자·워크숍·회의 증가로 커뮤니케이션 비용 상승역할 분담 매트릭스 + 워크숍 가이드
도구/Vendor Lock-in특정 모델링 툴·포맷 의존 → 이식성·수명 주기 제한오픈 표준 (XMI 등) 채택, 데이터 내보내기 프로세스 확보
모델 테스트·디버깅 어려움모델 수준의 시뮬레이션·디버깅 기능이 부족모델 시뮬레이터 + 전용 테스트 하네스
과도한 엔지니어링단순 문제에 복잡한 패턴·레이어를 남용문제 규모 기반 " 경량 적용 " 원칙 (YAGNI 체크리스트)

문제점

항목원인영향탐지·진단예방해결
아키텍처 부패설계 원칙 무시·비일관적 수정코드 품질·확장성 저하정적 분석·아키텍처 적합성 점수가이드라인·ADR 준수단계적 리팩터링·아키텍처 검토
Big Up-Front Design 실패요구 예측 불일치대규모 재설계·지연리드타임·변경 요청 폭주이터레이티브 마일스톤AMDD, 스파이크 설계
의존성 순환잘못된 모듈 경계결합도↑·테스트 난이도↑의존성 그래프·사이클 탐지계층 규칙·DI인터페이스 도입·모듈 분리
모델·코드 불일치동기화 프로세스 부재구현 오류·오해자동 스캐너·리뷰Round-trip Tool코드 생성·리버스 엔지니어링
도메인 경계 설정 난해중간 레벨 가이드 부족모놀리식 구조로 퇴화서비스 크기·변경 이력컨텍스트 맵핑·Event Storming리모듈화·컨텍스트 재설계
요구 불명확사용자 조사 부족잘못된 기능·재작업인터뷰·페르소나 누락 지표UX 리서치·공감 단계 강화사용자 피드백 루프, 프로토타이핑
협업 미흡·사일로역할·커뮤니케이션 부재혁신 저하·대기 시간↑미팅·PR 통계협업 문화·공통 언어워크숍·도구 (Slack, Miro) 도입
테스트 부실모델 테스트 지원 부족버그 유입·품질↓커버리지·결함 밀도Test-First Modelling모델 시뮬레이션·TDD
툴 체인 분절·성숙도 부족MDE 툴 병렬·미성숙생산성↓·이식성↓통합 실패 로그툴 평가·표준 API오픈소스·플러그인 통합
협업 오버헤드로 인한 번아웃과도한 동시 협업 요구개인 생산성·사기 저하라운드트립 미팅 시간업무 캘린더 제한·Async 의사소통업무 몰입 시간 확보·페어링 최소화

도전 과제

카테고리도전 과제주요 원인영향핵심 지표 / 위험 신호대응 전략·기법
기술적 복잡성초대형 마이크로서비스 복잡성 관리서비스 메시 수∙백 개, 분산 트랜잭션장애 추적 난이도, MTTR↑서비스 호출 그래프 밀도, 평균 Hop 수Istio/Linkerd 기반 서비스 메시, 분산 추적 (OpenTelemetry), 사가 패턴
레거시 시스템 현대화기술 부채, 단일 배포 블로킹신규 기능 ROI↓, 릴리즈 지연코드 복잡도, 변경 영향 계층수Strangler Pattern, 이벤트 계층 도입, 단계적 API
일관성 - 성능 트레이드오프CAP 제약, 글로벌 배포데이터 불일치, 사용자 경험 편차읽기/쓰기 지연, 재시도율CQRS + 이벤트 소싱, 지리 기반 샤딩, 보상
AI-Assisted Design 품질 검증생성 모델 편차·옵시던트 패턴설계 오류 유입Design-Review escape rate, 오류 밀도AI-output Lint, 휴리스틱 검사 Gate, 인간 -AI
프로세스 & 품질Design Debt 누적반복 리팩터링 부재, 일정 압박유지보수 비용↑, 변경 속도↓Design-Debt/LOC, Change-PronenessDebt Register, 리스크 - 가중 우선순위, 스프린트 리
모델 - 코드 동기화DevOps 파이프라인에 모델 추적 없음모델·코드 불일치, 배포 실패모델 변경 - 검출률모델 - 다이어그램 해시, CI 전 단계별
계약 검증·통합 품질API 경계 증가, 팀 분산통합 결함, 회귀 버그Contract break 비율, 소비자 - 프로바이더 실패율PactFlow·HyperTest 등 계약 테스팅, ADR 기반
조직·문화Citizen Developer 거버넌스Low-Code 확산, 비개발자 설계아키텍처 편차, 보안 리스크편차 건수, 승인 대기율Guard-rails 템플릿, 승인 워크플
스킬 갭·학습 곡선신기술 도입 속도 > 학습 속도패턴 남용, 생산성↓코드 리뷰 오류율, 교육 이수율커뮤니티 오브 프랙티스, 단
팀 간 협업·컨텍스트 공유도메인·용어 불일치인터페이스 충돌, 리워크의사소통 빈도, 컨텍스트 매핑 갱신율이벤트 - 스토밍, C4 모델 공
환경·윤리Green Software & 탄소 발자국과대 프로비저닝, 비효율 코드운영 비용·환경 영향gCO₂/Request, PUEGreen Software Maturity Matrix, 탄소 예산 KPI 로드–에너지 맵
규제·보안 컴플라이언스지역별 데이터·AI 규정 강화제재 위험, 시장 제한감사 이슈 수, 규제 이행율Privacy-by-Design, 보안 분석

실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

대분류핵심 고려사항주의 포인트권장 실천측정·검증 방법
전략·조직조직 성숙도 진단방법론 과다‧형식주의파일럿 → 점진 확산, 크로스 펑셔널팀 구성변화 성공률, 팀 NPS
이해관계자 정렬Top-down 지시형 문화Event Storming·C4 모델로 공동 언어 확립합의 도출 속도, 의사소통 빈도
시민 - 개발자 거버넌스Low-Code 난입 → 아키 편차Guard-rails 템플릿·승인 워크플로편차 건수, 승인 지연시간
프로세스·품질모델↔코드 싱크자동화 부재로 드리프트CI 에 Round-Trip Test 삽입모델 변경 - 검출률
Design Debt일정 압박으로 리팩터링 누락Debt Register·스프린트 리팩터링 슬롯Debt/LOC, Change-proneness
계약 검증컨슈머 - 프로바이더 불일치PactFlow 등 계약 테스트계약 파괴율
AI-Assisted Design 품질프롬프트 편향·출력 편차AI-output Lint + 인간 리뷰Review escape rate
기술·도구DevOps ↔ Design Ops 통합툴 체계 분리CI/CD 파이프라인에 Design-Ops 단계 삽입릴리스 리드타임, 디자인 - 코드 일치도
아키텍처 결정 추적구두 결정 후 망각ADR 템플릿·버전 규칙ADR 작성률, 회귀 이슈 감소
보안·규제 컴플라이언스지역별 규정 누락SBOM, Privacy-by-Design, DevSecOps감사 이슈 수, 취약점 MTTR
성능·운영일관성 - 성능 트레이드오프CAP 제약 오판CQRS+ 이벤트 소싱, 지리 샤딩읽기/쓰기 지연, 재시도율
대규모 마이크로서비스호출 그래프 폭발서비스 메시 + 분산 추적 (OpenTelemetry)평균 Hop 수, MTTR
DevOps-MLOps 통합파이프라인 사일로단일 Software Supply Chain 구축모델 배포 성공률
지속가능성·ROI탄소 발자국·운용비과대 프로비저닝Green KPI, 에너지 효율 워크로드 매핑gCO₂/Req, PUE
Design ROI 시각화추상 지표 → 경영진 설득 난항CLV·Time-to-Value 등 비즈니스 지표 연결ROI 대시보드 업데이트 빈도

주제와 관련하여 주목할 내용

구분세부 주제항목핵심 설명
설계 원칙 및 패턴객체 지향 원칙SOLID, GRASP책임 분리와 재사용성 중심 객체 설계 원칙
도메인 기반 설계Bounded Context, Aggregate복잡한 도메인을 모듈화하여 설계 통제
분산 아키텍처Hexagonal, Event-Driven, Microservices시스템 경계를 명확히 하고, 비동기 확장성을 확보
데이터 설계 패턴CQRS, Event Sourcing읽기/쓰기 분리, 변경 내역 저장 등 고성능 및 추적성 확보
모델링 & 표현시각화 표기법UML 2.x, C4 Model, Flowcharts설계 구조를 다이어그램으로 표현하여 의사소통 향상
모델링 도구PlantUML, Structurizr, Mermaid코드 기반 또는 선언형 아키텍처 표현 자동화
메타모델링 접근DSL, MDA, ArchiMate설계 언어를 도메인에 맞게 맞춤화 (Metamodel 기반)
방법론 및 프로세스개발 프로세스Agile, DevOps, CI/CD반복 주기·자동화를 통해 빠른 피드백 수용
설계 방법론Domain-Driven Design, Clean Architecture, Model-Driven Design비즈니스 중심/모델 중심/계층 중심의 설계 전략 제공
설계 운영DesignOps, ModelOps설계 품질과 일관성을 운영 수준으로 끌어올리는 체계
품질 보장 전략테스트 전략TDD, 계약 기반 테스트, 시나리오 기반 검증설계의 실현 가능성과 품질을 사전 검증
품질 피드백ADR, Review Checklist, Linting리뷰 기준과 기록을 통해 설계 결정을 체계화
자동화 및 AI 연계설계 자동화코드 - 모델 동기화, Round-trip Engineering설계서와 코드의 자동 일치화 관리
AI 기반 설계Prompt-to-Design, Generative Design AI자연어 기반 설계 생성, 설계 시뮬레이션
실무 트렌드사용자 중심 설계UX Mapping, 서비스 여정 (User Journey)사용자 흐름을 중심으로 설계를 유도
원격 협업 플랫폼Miro, Figma, Jira분산 설계 환경에서 실시간 협업 가능하게 함
친환경 설계Carbon-aware Design, Green Software Principles지속가능성과 탄소 발자국 최소화를 설계 단계에 통합

반드시 학습해야할 내용

카테고리주제핵심 항목설명 및 학습 포인트
설계 원칙객체지향 설계 원칙SOLID, GRASP, DRY, KISS, YAGNI설계 일관성, 책임 분리, 유지보수성을 위한 기초 원칙
설계 품질 개선리팩토링 · 코드 스멜Long Method, Primitive Obsession 등품질 저하를 탐지하고 개선하는 핵심 테크닉
설계 검증정적 분석 도구SonarQube, Lint, ArchUnit설계 규칙 위반 자동 감지 및 구조 안정화
설계 패턴디자인 패턴 (GoF)생성, 구조, 행위 패턴반복 문제에 대한 검증된 설계 솔루션 집합
설계 방법론Domain-Driven Design전략적/전술적 설계, Bounded Context도메인 중심 시스템 구조화 방법론
Model-Driven DesignPIM, DSL, Code Generation모델 중심 개발 접근으로 일관성 및 자동화 확보
Service-Oriented Design서비스 식별, 계약 설계, 조합 전략서비스 중심 시스템 설계 접근
Design ThinkingEmpathize → Test 5 단계사용자 중심 사고 기반 반복적 설계 프로세스
Double DiamondDiscover → Deliver 4 단계문제와 해법의 반복적 확장·수렴 설계 접근
아키텍처 설계클린 아키텍처계층, 의존성 역전프레임워크와 무관한 비즈니스 중심 설계 구조
헥사고날 아키텍처포트와 어댑터 구조유연한 외부 I/O 의존성 분리 설계
Microservice Design서비스 분해, Bounded Context, API Gateway분산 시스템의 핵심 아키텍처 전략
데이터 설계데이터 일관성 설계CAP 정리, 최종 일관성분산 환경에서의 데이터 정합성 확보 방안
CQRS, Event Sourcing명령/조회 분리, 이벤트 중심 상태 관리확장성과 감사 가능성 확보를 위한 설계 패턴
도구 및 자동화설계 도구UML, PlantUML, Structurizr설계 문서화 및 시각화 자동화
협업 도구Jira, Miro, Figma분산 팀 간 설계 협업과 시각 피드백 흐름
자동화 도구CI/CD, 설계 - 코드 동기화테스트, 배포, 검증 자동화를 통한 설계 일관성 유지
운영 및 관리DesignOps설계의 운영 체계화설계 품질, 일관성, 속도를 위한 관리 체계 도입
Architecture Decision Records (ADR)아키텍처 의사결정 문서화설계 근거 기록 및 의사소통의 표준화
사용자 중심 설계서비스 디자인User Journey, UX 설계사용자 흐름을 기반으로 한 전체 경험 중심 설계
AI 연계 설계Generative DesignPrompt-to-Wireframe, AI 설계 보조AI 기반 설계 생성 및 검증 자동화 흐름

용어 정리

설계 방법론 (Design Methodology)

용어설명
Design Thinking공감 → 정의 → 아이디어 → 프로토타입 → 테스트로 이어지는 사용자 중심의 반복적 설계 프로세스
Double Diamond발견–정의–개발–전달로 구성된 문제 탐색과 해결을 위한 4 단계 설계 프레임워크
Stepwise Refinement상위 수준의 추상화로부터 점진적으로 세부적인 설계로 분해하는 절차적 설계 기법
Prompt-to-Design텍스트 기반 프롬프트를 통해 UI, 화면, 레이아웃 등을 자동 생성하는 AI 기반 설계 방식

아키텍처 & 모델링

용어설명
아키텍처 다이어그램시스템의 구성 요소와 이들의 관계를 시각적으로 표현한 다이어그램
Aggregate (애그리게이트)도메인 객체들의 일관성 경계를 형성하는 집합 (DDD 개념)
Bounded Context도메인 모델이 명확히 정의되고 일관되게 적용되는 경계 영역 (DDD 핵심 개념)
ADR (Architecture Decision Record)아키텍처 및 주요 설계 결정의 배경과 선택 이유를 기록한 문서화 방식
PIM / PSMMDA(Model-Driven Architecture) 에서 플랫폼 독립 모델과 플랫폼 특정 모델

소프트웨어 설계

용어설명
프로토타입기능이나 UI 를 실험하기 위해 만든 초기 설계물 또는 샘플
지속적 통합 (CI)코드 변경을 자주 통합하고 자동화된 빌드/테스트로 검증하는 방식
지속적 배포 (CD)테스트 통과 후 변경사항을 자동으로 프로덕션 환경에 배포하는 방식

품질 및 유지보수

용어설명
Design Debt설계 상의 누락, 임시방편으로 인해 발생하는 미래의 구조적 비용
기술 부채 (Technical Debt)단기 생산성 확보를 위해 발생한 구조적 문제로 미래에 큰 수정이 필요한 상황
코드 스멜 (Code Smell)잠재적 문제를 시사하는 코드의 부적절한 구조나 구현 방식

패턴

용어설명
Saga Pattern분산 시스템에서 트랜잭션을 여러 단계로 나누고 각 단계를 보상 방식으로 처리하는 패턴
Strangler Pattern기존 레거시 시스템을 점진적으로 새로운 시스템으로 전환하는 패턴

도메인 주도 설계 (DDD)

용어설명
Aggregate RootAggregate 내부에서 일관성을 책임지는 루트 엔티티
Projection이벤트 소싱에서 읽기 전용 뷰 (Read Model) 를 생성하는 과정
Event Store이벤트 소싱 시스템에서 발생한 모든 도메인 이벤트를 저장하는 저장소

실무 도구 및 협업

용어설명
협업 플랫폼Miro, Figma, Jira 등 팀 간 공동 작업과 설계 시각화를 지원하는 협업 도구
CI/CD 도구Jenkins, GitHub Actions, GitLab CI 등 지속적 통합 및 배포 자동화를 위한 도구 체계

원칙 및 기초 이론

용어설명
SOLID객체지향 설계의 5 대 원칙: SRP, OCP, LSP, ISP, DIP

참고 및 출처