콘텐츠로 이동

AI 검색

AI가 매뉴얼 전체에서 답변을 찾아드립니다.

아키텍처 설계 방법론

목표 모델(TO-BE) 설계를 위한 SW 아키텍처 프로세스 및 방법론


아키텍처 설계 프로세스 개요


유형설명아키텍처 영향
기능 요구사항시스템이 해야 할 것책임 할당
품질 속성기능의 자격 요건 (성능, 보안 등)구조와 행위 설계
제약사항선택 여지 없는 결정 (언어, 플랫폼 등)설계 조건

요구사항 유형


2. ASR (Architecturally Significant Requirement)

섹션 제목: “2. ASR (Architecturally Significant Requirement)”

아키텍처에 중요한 영향을 미치는 요구사항으로, 이 요구사항이 없으면 아키텍처가 완전히 달라질 수 있음

SW 아키텍처 완성 전, 이해당사자 참여를 통해 품질 속성 시나리오를 도출

단계활동
1QAW 소개
2업무/미션 발표
3아키텍처 계획 발표
4아키텍처 동인 파악
5시나리오 브레인스토밍
6시나리오 통합
7시나리오 우선순위 부여
8시나리오 정련

품질 속성을 계층적으로 정리하고 우선순위를 부여

Utility Tree


품질 속성정의주요 관심사
가용성 (Availability)시스템이 필요할 때 운영 가능한 정도장애 감지, 복구, 예방
상호운영성 (Interoperability)다른 시스템과 정보 교환 능력인터페이스, 프로토콜
변경용이성 (Modifiability)변경 비용과 위험모듈화, 결합도, 응집도
성능 (Performance)시간 제약 내 응답 능력응답시간, 처리량, 자원
보안 (Security)무단 접근 방지인증, 인가, 기밀성, 무결성
테스트 가능성 (Testability)결함 발견 용이성관찰 가능성, 제어 가능성
사용성 (Usability)사용자가 원하는 작업 수행 용이성학습성, 효율성, 오류 방지

품질 속성 시나리오 구조

요소성능 시나리오 예시 (좋은생각)
원천정기구독팀 사용자
자극고객 통합 조회 요청 (PT_Customer + PT_Subscribe + PT_Finance)
대상통합 웹 관리자 시스템 (고객 관리 모듈)
환경정상 운영 상태, 동시 접속 15명
응답고객 상세 정보 + 구독 이력 + 결제 이력 반환
응답 측정3초 이내 응답 (JOIN 3개 테이블, 결과 50건 이내)

ADD 프로세스

범주설명예시
① 책임 할당각 요소에 책임 할당모듈별 기능 분배
② 조정 모델요소 간 상호작용 방식동기/비동기, 이벤트 기반
③ 데이터 모델데이터 구조와 저장ERD, 데이터 흐름
④ 아키텍처 요소간 매핑요소 간 관계 정의인터페이스, 의존성
⑤ 자원 관리공유 자원 관리 방식커넥션 풀, 캐시
⑥ 바인딩 시간 결정결정 시점 (컴파일/런타임)설정, 플러그인
⑦ 기술 선택구현 기술 결정프레임워크, 라이브러리

ATAM (Architecture Tradeoff Analysis Method)

섹션 제목: “ATAM (Architecture Tradeoff Analysis Method)”

SW 아키텍처를 체계적이고 종합적으로 평가하는 방법

단계활동설명
1단계발표 (Presentation)
step1ATAM 소개평가 리더가 프로세스 설명
step2사업 동인 설명프로젝트 대표가 비즈니스 관점 설명
step3아키텍처 설명아키텍트가 아키텍처 설명
조사와 분석 (Investigation)
step4아키텍처 접근법 파악아키텍처 분석
step5품질 속성 Utility Tree 생성품질 속성 목표 정교화
step6아키텍처 접근법 분석시나리오 분석, 위험 문서화
2단계우선순위 부여 및 확정
step7브레인스토밍과 우선순위시나리오 우선순위 결정
step8아키텍처 접근법 분석/확정구현 방안 설명
보고 (Reporting)
step9결과 발표이해당사자에게 설명

ATAM의 경량화 버전 (총 4~6시간)

단계소요 시간
비즈니스 동인 소개15분
아키텍처 소개30분
아키텍처 접근법 식별15분
품질속성 Utility Tree 작성30분~1시간 30분
아키텍처 접근법 분석2~3시간

효율성유연성보안유지보수성능사용성
가용성-+
효율성----
유연성-+
보안----
유지보수성-+
신뢰성-+++

+ : 긍정적 영향, - : 부정적 영향 (tradeoff)


산출물설명
아키텍처 명세서전체 아키텍처 구조 및 설계 원칙
품질 속성 시나리오주요 품질 속성별 시나리오
Utility Tree품질 속성 우선순위
아키텍처 뷰모듈 뷰, C&C 뷰, 배치 뷰
설계 가이드라인아키텍처/DB/프로그래밍 가이드
프로토타입아키텍처 검증용 실행 코드

단계방법론ISP 산출물상태비고
ASR 도출QAW (간소화)품질 속성 시나리오ISP 단계 완료역공학 + 인터뷰/문서 기반 17개 시나리오 도출. 개발 착수 시 최종 보정
우선순위Utility TreeUtility TreeISP 단계 완료역공학 + 인터뷰/문서 기반 우선순위 산정. 개발 착수 시 최종 보정
설계ADD Method웹 시스템 아키텍처ISP 단계 완료12모듈, Headless CMS+SSR 프론트엔드+MariaDB. 개발 착수 시 상세 설계 확정
평가LAE (경량화 ATAM)utility-tree.md 내 Tradeoff 분석ISP 단계 완료비용/리스크/기술 Tradeoff 초안. 개발 착수 시 최종 평가

QAW → 품질 속성 시나리오 (quality-scenarios.md)

섹션 제목: “QAW → 품질 속성 시나리오 (quality-scenarios.md)”

QAW 8단계를 좋은생각 ISP에 적용한 결과:

QAW 단계좋은생각 적용결과
1-3킥오프 미팅 (3/3~4) + ISP 소개사업 배경, 아키텍처 방향 공유
4현행 시스템 역공학 (DB 151t 분석)아키텍처 동인: C/S 폐쇄성, DB 이원화, 수동 이관
5-6DB 분석 + 업무 플로우 기반 시나리오 도출17개 시나리오 (성능 3, 보안 3, 가용성 2, 상호운영 4, 변경용이 3, 사용성 2)
7우선순위 부여 (H/M/L × 비즈니스/기술)P-1~P-3 등급 분류
8현행 DB 테이블/SP 기반 시나리오 정련실제 PT_Customer, PT_Subscribe 등 매핑

Utility Tree → 품질 속성 우선순위 (utility-tree.md)

섹션 제목: “Utility Tree → 품질 속성 우선순위 (utility-tree.md)”
최상위 품질 속성하위 항목 수최고 우선순위 항목
상호운용성4건다채널 주문 Excel 업로드 자동 파싱 (H,H)
변경용이성3건C/S 비즈니스 로직 → 내부 API 전환 (H,H)
성능3건월간지 발송 5만건 배치 처리 (H,M)
보안3건5만 고객 개인정보 보호 (H,M)
가용성2건업무 시간 99.5% SLA (M,L)
사용성2건비IT 실무자 30분 내 학습 (M,L)

ADD Method → TO-BE 아키텍처 (web-architecture.md)

섹션 제목: “ADD Method → TO-BE 아키텍처 (web-architecture.md)”

ADD 7가지 설계 체크리스트를 좋은생각 시스템에 적용:

체크리스트좋은생각 적용 결과
① 책임 할당12개 도메인 모듈 (대시보드~시스템 관리), 각 모듈에 DB 테이블/SP 매핑 → CMS 커스텀 모듈
② 조정 모델RESTful API (동기, 내부) + Queue 시스템 (비동기 배치), 트리거 → 이벤트 기반 처리 전환. 외부 연동은 Excel 템플릿 업로드/다운로드 방식
③ 데이터 모델MariaDB 통합 스키마 ~100t, PT_Customer 허브 엔티티, CMS Entity 매핑
④ 요소간 매핑모듈 의존 관계 (고객→구독→주문→결제/배송), RESTful API 라우팅
⑤ 자원 관리Redis 캐시 (세션, CMS 캐시 백엔드), Object Storage 파일 스토리지, DB 커넥션 풀
⑥ 바인딩 시간환경별 설정 (Dev/Staging/Prod), CMS Config Management
⑦ 기술 선택Headless CMS (백엔드) + SSR 프레임워크 + 경량 UI (프론트) + MariaDB (Lightsail DB)

주요 Tradeoff 결정:

Tradeoff 항목선택근거
MSSQL 유지 vs MariaDBMariaDB 전환라이선스 비용 제거, 오픈소스 생태계, Lightsail Managed DB 지원으로 관리 비용 최소화
Full Custom 개발 vs Headless CMSHeadless CMSAdmin UI/인증/API 내장으로 개발 기간 단축, 비즈니스 로직에 집중 가능, 보안 업데이트 자동화
SPA vs SSR 프론트엔드SSR 프론트엔드CDN Edge 배포로 초기 로딩 빠름, SEO 불필요하나 SSR로 서버 부하 분산
AWS ECS Fargate vs LightsailAWS Lightsail + Cloudflare고정 월비용으로 예측 가능, 인프라 비용 대폭 절감, 15명 규모에 ECS/K8s 과잉
PostgreSQL vs MariaDBMariaDBLightsail Managed DB 네이티브 지원, 오픈소스 CMS 생태계 1순위 지원 DB, 비용 최적화
주차계획실적
1-2주킥오프 + 현행 분석킥오프 완료 (3/3~4), Google Drive 23개 파일 전수 분석, DB 역공학
3-4주QAW 워크샵, Utility Tree 작성DB 분석 기반 시나리오 17건 도출, Utility Tree 작성 (인터뷰 후 보정 예정)
5-6주ADD 기반 아키텍처 설계TO-BE 아키텍처 설계 (12모듈, Headless CMS + SSR 프론트엔드 기술스택 권장안), 자동화 프로세스 설계
7-8주LAE 평가, RFP 작성Tradeoff 분석 완료 (Full Custom→Headless CMS, RDBMS 전환, 인프라 경량화), RFP 초안 작성 중

날짜작성자변경 내용
2026-02-26-초안 작성 (방법론 이론 정리)
2026-03-03김명직좋은생각 ISP 적용 결과 반영: QAW→17개 시나리오 연결, ADD→12모듈 체크리스트 매핑, LAE→Tradeoff 4건, 시나리오 예시 좋은생각 맥락으로 구체화, 일정 실적 반영
2026-04-20김명직Tradeoff 결정 변경: MSSQL 유지 → PostgreSQL 전환, ADD 기술 선택 반영
2026-04-23김명직과업요청서 범용화: 특정 제품명 → 일반 기술 패턴 용어로 전환 (Headless CMS, SSR 프론트엔드, RBAC 등). Tradeoff 5건 갱신, ADD 체크리스트 전체 반영
2026-04-23김명직외부 연동 현실성 반영: 다채널 주문 자동 수집 → Excel 업로드 자동 파싱, C/S→API 전환 → 내부 API 전환으로 명확화, ADD 조정 모델에 외부 연동 Excel 방식 명시