엔지니어 background지식

설계서에서 인터페이스란?

아즈마민초 2026. 3. 3. 18:03
흔지 자동차 소프트웨어 아키텍처 설계 문서에서 모듈 간의 인터페이스라고 지칭하는 것은 모듈이 아니야? 예를 들어 어떤 요구사항으로 생긴형태야? (모듈이랑 비교했을 때)
 
 
 
 
자동차 소프트웨어 아키텍처(예: AUTOSAR 기반)에서 모듈(Module) 인터페이스(Interface)는 명확히 구분되는 개념입니다. 결론부터 말씀드리면, 인터페이스는 모듈 그 자체가 아니라 '모듈이 외부와 소통하는 통로이자 약속'입니다.
이해하기 쉽게 비유와 요구사항 관점에서 비교해 드릴게요.

1. 모듈 vs 인터페이스: 쉬운 비유
  • 모듈 (Module): 기능을 수행하는 '본체'입니다. (예: 카세트 테이프 플레이어) 내부적으로 어떻게 동작하는지(모터가 돌고 자기장을 읽는 등)를 포함합니다.
  • 인터페이스 (Interface): 모듈에 붙어 있는 '연결 구멍(잭)'입니다. (예: 3.5mm 이어폰 구멍) 내부 동작은 몰라도 "이 구멍에 규격에 맞는 잭을 꽂으면 소리가 나온다"는 규격입니다.
2. 어떤 요구사항에서 인터페이스가 생기나?
인터페이스는 주로 '외부 인터페이스 요구사항(External Interface Requirements)'이나 '상호작용 요구사항'에서 파생됩니다.
 

 

3. 구체적인 예시 (자동차 도메인)
예를 들어, 'ASL(차속 제한 장치) 모듈' 'EMS(엔진 관리 시스템) 모듈'이 있다고 가정해 보겠습니다.
  • 요구사항: "운전자가 설정한 속도를 초과하면 엔진 출력을 제한해야 한다."
  • 이 요구사항을 구현하기 위해 생기는 인터페이스:
    • 이름: Rte_Read_VehicleSpeed() (AUTOSAR 예시)
    • 형태: uint16_t 자료형, 단위는 km/h, 업데이트 주기는 10ms.
    • 특징: 이 인터페이스(함수)는 모듈 내부에 구현된 '로직'이 아닙니다. 모듈 A가 모듈 B의 데이터를 가져오기 위한 '창구'일 뿐입니다.
4. 아키텍처 문서에서의 표현 방식
설계 문서(Architecture Design)에서 이 둘은 다르게 그려집니다.
  • 모듈: 사각형 상자(Component)로 표현됩니다.
  • 인터페이스: 상자에 붙은 점이나 선(Port), 혹은 함수 리스트로 표현됩니다.

핵심 요약
모듈은 "일꾼"이고, 인터페이스는 그 일꾼에게 일을 시키거나 결과물을 받기 위한 "매뉴얼(또는 통로)"입니다. 요구사항 단계에서 "A와 B는 통신해야 한다"는 내용이 있다면, 그것이 설계 단계에서 인터페이스라는 형태로 구체화되는 것입니다.