현대 소프트웨어/시스템 개발에서는 복잡한 기능을 구조적으로 설계하고 명확하게 표현하는 시스템 아키텍처 설계가 필수적이다.
이를 위해 주로 UML(Unified Modeling Language)과 SysML(Systems Modeling Language)을 사용하며, 요구사항 분석부터 기능 흐름, 구조 설계, 제어 논리까지 시각적으로 표현한다.
📌 설계 흐름
1~4단계: 요구사항 분석 및 기능 정의
5~7단계: 시스템 구조 및 제어 설계
8~9단계: 수치 해석 및 요구사항 검증
| 단계 | 내용 | 대표 다이어그램 |
|---|---|---|
| 1 | 시스템 범위 정의 | Context Diagram |
| 2 | 요구사항 구조화 | Requirement Diagram |
| 3 | 기능 명세 | Use Case Diagram |
| 4 | 기능 흐름 분석 | Activity Diagram |
| 5 | 객체 간 상호작용 | Sequence Diagram |
| 6 | 시스템 구조 정의 | Block Definition Diagram (BDD) Internal Block Diagram (IBD) |
| 7 | 제어 흐름 설계 | State Machine Diagram |
| 8 | 수치 관계 모델링 | Parametric Diagram |
| 9 | 요구사항 설계 및 추적 | Traceability Matrix |

| 유형 | 다이어그램 | 설명 |
|---|---|---|
| 구조 | ClassDiagram Component Diagram Package Diagram | 시스템의 정적 구조 모델링 객체와 클래스의 속성, 관계를 표현 |
| 행위 | Use Case Diagram Activity Diagram State Machine Diagram | 기능 흐름 상태 전이 사용자와 시스템 간 상호작용 표현 |
| 상호작용 | Sequence Diagram Communication Diagram | 객체 간 메시지 교환 타이밍 기반 상호작용 흐름 표현 |

| 유형 | 다이어그램 | 설명 |
|---|---|---|
| 요구사항 | Requirement Diagram | 시스템 요구사항 간의 관계 및 검증 대상 표현 추적성 확보가 핵심 |
| 구조 | Block Definition Diagram (BDD) Internal Block Diagram (IBD) Class Diagram Component Diagram Package Diagram | 시스템 구성 요소와 내부 연결, 인터페이스 관계를 표현 |
| 행위 | Use Case Diagram Activity Diagram State Machine Diagram | 기능 흐름, 상태 전이, 제어 구조 등을 시나리오로 표현 |
| 상호작용 | Sequence Diagram Communication Diagram | 객체 간 메시지 교환 타이밍 기반 상호작용 흐름 표현 |
| 분석/제약 | Parametric Diagram | 수치 모델링(수식, 제약 조건)을 통한 시뮬레이션/검증 수행 |
시스템 아키텍처를 효과적으로 설계하기 위해서는 다어그램의 역할과 기능을 정확히 이해해야 한다.
SysML과 UML은 다음과 같은 4가지 관점으로 다이어그램을 분류할 수 있다.
무엇으로 정의되어 있는가?
→ 시스템의 정적 구성요소(부품, 모듈, 인터페이스 등)를 모델링 한다.
📌 Block Definition Diagram (BDD)

📌 Internal Block Diagram (IBD)

📌 Class Diagram

📌 Component Diagram

📌 Package Diagram

어떻게 동작하는가? 어떤 기능을 수행하는가?
→ 시스템이 어떤 기능을 가지고 있으며, 어떤 조건/흐름으로 동작하는지를 나타낸다.
📌 Use Case Diagram

📌 Activity Diagram

📌 State Machine Diagram

누가 누구와 어떤 메시지를 주고 받는가?
→ 객체 간 통신 흐름과 타이밍 중심의 동작을 시각화한다.
📌 Sequence Diagram

📌Communication Diagram

수치적으로 검증 가능한가? 성능과 제약을 만족하는가?
→ 시스템 내 수학적 관계, 물리 제약, 하드웨어 연산 조건 등을 모델링한다.
📌 Parametric Diagram
📌 Constraint Block
| 유형 | 공통 사용다이어그램 | SysML 전용 다이어그램 |
|---|---|---|
| 요구사항 | - | Requirement Diagram |
| 구조 | Class Diagram Component Diagram Package Diagram | Block Definition Diagram (BDD) Internal Block Diagram (IBD) |
| 행위 | Use Case Diagram Activity Diagram State Machine Diagram | - |
| 상호작용 | Sequence Diagram Communication Diagram | - |
| 분석/제약 | - | Parametric Diagram Constraint Block |

UML은 소프트웨어 중심 상세 설계, SysML은 시스템 전체(요구사항 + HW + SW)모델링에 적합하다.
Traceability Matrix(추적 매트릭스)는 요구사항과 설계/구현/테스트 산출물을 연결해주는 추적 도구이다.
| 요구사항 ID | 설명 | 설계 항목 | 테스트 케이스 |
|---|---|---|---|
| REQ-001 | 차선 이탈 감지 기능 | Activity Diagram #1 | TC-001, TC-002 |
| REQ-002 | 속도 기반 제동 로직 | State Machine #2 | TC-003 |
모든 아키텍처 설계는 결국 Traceability 확보로 귀결되어야 한다.
정처기 준비하고 계세요?