시스템 요구사항 분석은 어떻게 할까? ASPICE SYS.2 이해하기

자동차 소프트웨어 개발에서 시스템 요구사항 분석은 프로젝트 초기에 수행되는 중요한 활동이다. 고객이 원하는 기능을 단순히 그대로 받아 적는 것이 아니라, 차량 시스템 관점에서 기능, 성능, 인터페이스, 제약 조건을 명확하게 정리하는 과정이다. ASPICE에서는 이 활동을 SYS.2 시스템 요구사항 분석 프로세스로 다룬다. SYS.2를 제대로 이해하면 이후 시스템 설계, 소프트웨어 요구사항, 검증 활동까지 안정적으로 연결할 수 있다.

SYS.2의 핵심 목적은 고객 요구사항을 분석하여 시스템 수준에서 구현 가능한 요구사항으로 정리하는 것이다. 여기서 시스템은 소프트웨어만 의미하지 않는다. ECU, 센서, 액추에이터, 통신, 하드웨어, 소프트웨어가 함께 동작하는 전체 기능 단위를 말한다. 예를 들어 운전자 보조 기능을 개발한다면 카메라 입력, 제어 로직, 경고 출력, 차량 통신, 고장 처리 조건까지 시스템 요구사항에 포함될 수 있다.

시스템 요구사항 분석에서 가장 먼저 해야 할 일은 고객 요구사항을 이해하는 것이다. 고객 요구사항에는 기능 설명, 성능 목표, 법규 조건, 안전 요구사항, 진단 요구사항, 통신 요구사항 등이 포함될 수 있다. 이 단계에서는 요구사항이 모호하거나 서로 충돌하는 부분이 없는지 확인해야 한다. “경고를 빠르게 표시한다”와 같은 문장은 검증하기 어렵기 때문에 “위험 조건 감지 후 300ms 이내에 경고를 표시한다”처럼 구체적인 기준으로 정리하는 것이 좋다.

다음으로는 시스템 요구사항을 작성해야 한다. 좋은 시스템 요구사항은 명확하고, 중복이 적고, 검증 가능해야 한다. 또한 기능 요구사항과 비기능 요구사항을 함께 고려해야 한다. 기능 요구사항은 시스템이 수행해야 할 동작을 의미하고, 비기능 요구사항은 성능, 타이밍, 신뢰성, 진단, 보안, 안전성 같은 품질 속성을 의미한다. 자동차 개발에서는 기능이 동작하는 것만큼 어떤 조건에서 얼마나 안정적으로 동작하는지도 중요하다.

SYS.2에서 중요한 개념 중 하나는 요구사항 간의 추적성이다. 고객 요구사항이 어떤 시스템 요구사항으로 반영되었는지 연결되어 있어야 한다. 이를 통해 고객 요구사항이 누락되지 않았는지 확인할 수 있고, 변경이 발생했을 때 영향을 받는 시스템 요구사항을 빠르게 찾을 수 있다. 이후 시스템 요구사항은 시스템 아키텍처 설계와 소프트웨어 요구사항으로 연결되기 때문에 초기 추적성 관리가 매우 중요하다.

시스템 요구사항 분석에서는 검증 가능성도 반드시 고려해야 한다. 요구사항은 나중에 테스트나 리뷰를 통해 확인할 수 있어야 한다. 검증 방법이 없는 요구사항은 개발 완료 여부를 판단하기 어렵다. 따라서 요구사항을 작성할 때부터 시험, 분석, 리뷰, 시뮬레이션 등 어떤 방식으로 확인할 수 있는지 함께 생각해야 한다. 이는 후속 검증 단계에서 테스트 케이스를 작성하는 데도 큰 도움이 된다.

또한 이해관계자 간의 합의도 필요하다. 시스템 요구사항은 고객사, 시스템 엔지니어, 소프트웨어 개발자, 하드웨어 개발자, 검증 담당자 모두에게 영향을 준다. 요구사항이 한쪽 관점에서만 작성되면 실제 구현이나 검증 단계에서 문제가 생길 수 있다. 따라서 SYS.2 단계에서는 관련 부서가 요구사항을 검토하고, 모호한 부분을 조기에 정리하는 것이 중요하다.

결론적으로 ASPICE SYS.2는 자동차 개발에서 고객 요구를 시스템 관점의 명확한 요구사항으로 바꾸는 핵심 프로세스다. SYS.2가 잘 수행되어야 SYS.3 시스템 아키텍처 설계, SWE.1 소프트웨어 요구사항 분석, 테스트 단계가 안정적으로 이어질 수 있다. 시스템 요구사항은 단순한 문서가 아니라 개발과 검증의 기준이다. 명확성, 검증 가능성, 추적성을 중심으로 요구사항을 관리하면 ASPICE 대응뿐 아니라 실제 자동차 소프트웨어 품질 향상에도 큰 도움이 된다.

댓글 남기기