시스템 설계
사용자의 질문에 답하는 가장 작은 뷰 집합을 생성하세요. 공식 다이어그램에는 편집 가능한 .drawio를 선호하며, 요청된 표기법, 형식, 강의 루브릭 및 기존 파일을 존중하세요. 유효한 XML 파일이 올바른 모델을 증명하지는 않습니다.
워크플로우
- 청중, 시스템 경계, 질문, 시나리오 및 추상화 수준을 설정하세요. 제공된 요구사항/스키마/코드와 루브릭을 읽으세요. 불확실한 카디널리티, 권한, 수명 주기 규칙 및 외부 인터페이스를 가정으로 기록하고, 답변을 실질적으로 변경할 때만 질문하세요. 인프라나 필수 관계를 임의로 만들지 마세요.
- 아래 라우팅 테이블을 사용하여 뷰를 선택하세요. 관련 참조 자료와
diagram-validation.md만 읽으세요. 현재 상태 증거와 제안된 설계를 구분하세요. 여러 다이어그램이 개념을 공유하는 경우 안정적인 개념 ID와 함께 작은 용어집을 유지하세요. - 도형을 배치하기 전에 의미론적 인벤토리를 구축하세요: 참여자/요소, 방향과 끝점 의미가 있는 관계, 제약 조건, 요구사항 ID. DFD의 경우 흐름 사전과 분해 경계 시그니처를 추가하고, 데이터 모델의 경우 키와 종속성을 식별하세요.
- 다이어그램별 도면 절차를 따르세요. 표기법을 명시적으로 설정하세요(예: UML 2, Crow's Foot, Gane–Sarson; 컨텍스트 다음 수준-0). 의미론적 규칙을 권장 레이아웃 선택과 분리하세요.
sources.md에 설명된 대로 충돌하는 출처를 해결하세요. - Draw.io의 경우
drawio-rendering.md와layout.md를 읽으세요. XML 직렬화기를 사용하여 안정적인 ID를 가진 기본 도형과 연결선을 만드세요. 도메인 사실을 교체한 후에만 관련 예제를 복사하세요. 다른 형식의 경우fallbacks.md를 읽으세요. python3 <skill-dir>/scripts/validate_drawio.py <file-or-directory>를 실행하세요. 보고된 구조적 오류를 수정하세요. 의미론적 및 다이어그램 간 체크리스트를 사용하세요: 이 스크립트는 UML, DFD, ERD 또는 BPMN의 정확성을 증명할 수 없습니다.- diagrams.net에서 열거나 가져오거나 사용 가능한 Draw.io 렌더러를 사용하여 내보내세요. 모든 페이지의 레이블, 화살표 끝, 클리핑, 포함 관계 및 교차를 검사하고 조정한 후 다시 검사하세요. 렌더러가 작동하지 않으면 편집 가능한 소스를 제공하고 렌더링이 확인되지 않았음을 명시적으로 보고하세요. XML 구문 분석을 개방성 테스트라고 부르지 마세요.
- 소스 파일, 유용한 미리보기, 간단한 검증/가정 노트를 제공하세요. 어떤 검사가 실행되었는지 정확히 명시하세요. 편집 시 기존 수동 레이아웃과 관련 없는 페이지를 보존하고, 오래된 미리보기를 새로고침하세요.
참조 라우팅
| 사용자 질문 | 읽을 자료 |
|---|---|
| UML 선택 / 표기법 기준 | uml.md |
| 행위자와 사용자 목표 | use-case.md |
| 도메인 또는 소프트웨어 구조 | class-diagram.md |
| 협력자 간의 하나의 시나리오 | sequence-diagram.md |
| 워크플로우, 분기, 동시성 | activity-diagram.md |
| 한 엔터티의 이벤트 기반 수명 주기 | state-machine.md |
| 인스턴스, 링크, 모듈, 런타임 배치 | structural-views.md |
| 통신, 타이밍, 상호작용 개요 | advanced-interactions.md |
| 엔터티, 관계, 관계형 스키마 | erd.md, normalization.md |
| 데이터 이동 및 분해 | dfd.md, context-diagram.md |
| 아키텍처 수준 | c4-model.md |
| 비즈니스 협업/프로세스 | bpmn.md |
| 간단한 절차 또는 책임 전달 | flowchart-swimlane.md |
| 출력 생성 / 다듬기 | drawio-rendering.md, layout.md, fallbacks.md |
| 검토 / 다중 뷰 일관성 | diagram-validation.md |
| 출처 증명 / 판 / 제한 사항 | sources.md |
출력 규칙
사용자 경로를 존중하세요. 그렇지 않으면 docs/diagrams/<system>-<view>.drawio를 사용하고, 가능한 경우 일치하는 .svg 또는 .png 미리보기를 포함하세요. 중요하지 않은 가정 사항은 <system>-assumptions.md에, 다중 뷰 감사는 <system>-validation.md에 기록하세요. 최종 산출물 외부에 임시 내보내기를 보관하세요. 독립적으로 유지 관리되는 뷰는 별도의 파일을, 조정된 집합에는 명명된 페이지를 사용하세요. 요청된 공식 표기법을 일반 순서도로 조용히 대체하지 마세요.
절대적 검사 사항
- 모델 사실은 증거 또는 레이블이 지정된 가정에서 비롯되어야 합니다.
- 끝점 의미를 확인하세요. 잘못된 방향의 화살표는 구문적으로 유효할 수 있습니다.
- DFD 화살표는 데이터를 전달하고, UML/BPMN 제어 흐름은 실행 의미를 전달합니다.
- 외래 키나 모호한 "has-a" 구문에서 수명 주기 소유권을 추론하지 마세요.
- 관련 공유 개념을 검토하세요. 다른 범위의 뷰 간에 동일한 내용을 요구하지 마세요.
- 그림을 편집 가능하게 유지하세요.
.drawio파일에 포함된 이미지는 기본 다이어그램이 아닙니다.
예제와 실행 가능한 검사는 examples/ 및 scripts/에 있습니다. 패키지별 테스트 증거는 TEST-REPORT.md에 있습니다.