[System Engineering] Overview

Hyuna·2025년 7월 17일

System Engineering

목록 보기
1/5

🚩 사진 출처: 위키피디아



현대 소프트웨어/시스템 개발에서는 복잡한 기능을 구조적으로 설계하고 명확하게 표현하는 시스템 아키텍처 설계가 필수적이다.
이를 위해 주로 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


UML(Unified Modeling Language)


목적

  • 소프트웨어 시스템의 구조, 동작, 상호작용을 표준화된 방식으로 모델링
  • 개발자, 디자이너, 이해관계자 간 의사소통 도구 역할
  • 다양한 개발 프로세스(Waterfall, Agile 등)에 적용 가능


특징

  • 객체지향 개념에 기반
  • 구조적/행위적 관점 모두 포함


종류

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


SysML(Systems Modeling Language)


목적

  • 소프트웨어뿐 아니라 하드웨어, 센서, 제어 시스템까지 포함한 전체 시스템을 모델링
  • 요구사항부터 구조, 행위, 제약까지 통합적으로 설계 및 분석
    * ISO 26262, MBSE와 호환되며, 실제 시스템 개발에서 폭넓게 활용됨


특징

  • UML 기반 확장 모델링 언어
  • 요구사항 모델링, 수학/물리 제약 표현 가능
  • 시스템 공학 관점에서 분석/설계에 특화됨
  • 요구사항, 구조, 행위, 분석/제약 4가지 관점으로 구분됨


종류

유형다이어그램설명
요구사항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가지 관점으로 다이어그램을 분류할 수 있다.


1. 구조(Structural)

무엇으로 정의되어 있는가?
→ 시스템의 정적 구성요소(부품, 모듈, 인터페이스 등)를 모델링 한다.


📌 Block Definition Diagram (BDD)

  • 시스템의 구성 요소와 그들의 관계를 표현
  • 상속, 조합, 포트 구조 등을 정의하며 클래스 다이어그램과 유사

📌 Internal Block Diagram (IBD)

  • BDD에서 정의한 불록 내부의 상세 연결 표현
  • 물리적 연결 구조, 신호 경로 설계에 적합

📌 Class Diagram

  • 시스템의 객체지향 모델(클래스, 속성, 메서드, 관계) 표현
  • 클래스 단위의 구조 정의에 적합

📌 Component Diagram

  • 시스템을 기능 단위로 모듈화한 컴포넌트와 그들 간의 인터페이스 연결, 의존성 표현
  • 빌드, 배포, 교체 가능 단위로 소프트웨어를 나눌때 용이

📌 Package Diagram

  • 구성요소들 간의 참조 관계를 표현
  • 대규모 시스템 구조 관리에 용이


2. 행위(Behavioral)

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


📌 Use Case Diagram

  • 시스템-사용자(Actor) 간 상호작용하는 시나리오 표현
  • 기능 단위로 명세되어 요구사항 정의 초기 단계에 사용

📌 Activity Diagram

  • 기능의 절차적 흐름, 조건, 분기, 반복 등을 표현
  • 비즈니스 로직, 알고리즘 흐름도 작성에 적합

📌 State Machine Diagram

  • 시스템 또는 객체의 상태변화, 트리거 조건을 정의
  • 제어 로직, 이벤트 중심 처리 방식에 적합


3. 상호작용(Interaction)

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


📌 Sequence Diagram

  • 여러 객체 간 메시지 흐름을 시간 순서대로 표현
  • 클라이언트 ↔ 서버 같은 상호작용 흐름 정의

📌Communication Diagram

  • 객체 간 연결 중심으로 메시지를 주고 받는 구조를 표현
  • Sequence보다 구조 중심 시각화에 유리


4. 분석/제약 (Analytical / Constraint)

수치적으로 검증 가능한가? 성능과 제약을 만족하는가?
→ 시스템 내 수학적 관계, 물리 제약, 하드웨어 연산 조건 등을 모델링한다.


📌 Parametric Diagram

  • 블록 내 수학적 관계(예: F=ma)를 표현하여 시스템의 수치 해석/시뮬레이션을 가능하게 함
  • 성능, 안정성, 연비 등 물리 기반 평가

📌 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


📌Requirement Diagram

  • SysML에만 있는 다이어그램으로 요구사항 간의 관계, 검증 조건, 추적성을 명시적으로 표현
  • 시스템 개발 시, 무엇을 만족해야 하는가를 모델 수준에서 명확히 관리할 수 있도록 지원

UML은 소프트웨어 중심 상세 설계, SysML은 시스템 전체(요구사항 + HW + SW)모델링에 적합하다.



Traceability Matrix


Traceability Matrix(추적 매트릭스)는 요구사항과 설계/구현/테스트 산출물을 연결해주는 추적 도구이다.


목적

  • 요구사항이 설계와 구현에 잘 반영되었는가?
  • 각 코드/테스트가 어떤 요구사항에서 비롯되었는가?

요구사항 ID설명설계 항목테스트 케이스
REQ-001차선 이탈 감지 기능Activity Diagram #1TC-001, TC-002
REQ-002속도 기반 제동 로직State Machine #2TC-003

모든 아키텍처 설계는 결국 Traceability 확보로 귀결되어야 한다.

2개의 댓글

comment-user-thumbnail
2025년 7월 21일

정처기 준비하고 계세요?

1개의 답글