Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
자동차 소프트웨어 개발에서는 기능을 구현하는 것뿐만 아니라, 요구사항과 설계, 코드, 테스트가 일관되게 연결되어 있음을 증명하는 과정도 중요합니다. 특히 A-SPICE, ISO 26262, SPQA 대응을 준비하는 과정에서는 지속적인 코드 변경에도 설계 산출물과 테스트 정보를 최신 상태로 유지해야 하므로 많은 공수와 관리 부담이 발생합니다.
이번 글에서는 평가 및 심사 대응 과정에서 개발 조직이 겪는 현실적인 어려움과 필요한 개발체계를 살펴보고, RapidAUTO를 활용해 설계·코드·테스트 정보를 연결하고 관련 업무를 자동화하는 방법을 소개하겠습니다.
A-SPICE·ISO 26262·SPQA 대응, SW 설계 산출물 자동화 방법
설계 산출물은 있지만, 현재 소스코드와도 일치합니까?
자동차 소프트웨어 개발 현장에서 A-SPICE, ISO 26262, SPQA 대응을 준비하다 보면 결국 이 질문과 마주하게 됩니다.
각 체계는 평가 목적과 범위에 차이가 있지만, 공통적으로 요구하는 것은 단순한 문서의 보유가 아닙니다. 실제 개발 프로세스에 따라 요구사항과 설계, 코드, 테스트가 연결되어 있고, 변경 이후에도 그 관계가 유지되고 있다는 객관적인 근거가 필요합니다.
문제는 프로젝트가 진행될수록 소스코드는 계속 변경되지만, 설계 산출물과 테스트 정보는 같은 속도로 갱신되지 않는다는 점입니다. 평가나 심사를 앞두고 설계 문서를 다시 확인하고, 실제 코드와 다른 부분을 찾아 수정하며, 관련 테스트 항목까지 재검토하는 작업이 반복되는 이유입니다.
산출물 보유보다 중요한 실제 개발체계
과거에는 정해진 양식의 문서를 갖추고 있는지가 평가 대응의 중요한 요소였다면, 최근에는 해당 산출물이 실제 개발 과정에서 작성되고 활용되고 있는지를 함께 확인하는 방향으로 변화하고 있습니다.
다음과 같은 차이가 중요해지고 있습니다.
기존 대응 방식
✔️ 평가 직전 산출물 작성 및 보완
✔️ Word·Excel·PPT 중심의 개별 관리
✔️ 요구사항 ID를 수기로 연결
✔️ 대표 프로젝트 위주의 대응
✔️ 코드 변경 후 문서 수작업 수정
✔️ 도구의 단순 보유
필요한 대응 방식
✅ 개발 과정에서 지속적으로 산출물 관리
✅ 전문 도구 기반의 구조화된 정보 관리
✅ 요구사항·설계·코드·테스트 간 추적성 관리
✅ 여러 프로젝트에 동일한 기준 적용
✅ 코드 변경과 설계·테스트 정보의 동기화
✅도구 간 연계와 실제 활용 증명
전문 도구를 도입했더라도 단순한 파일 저장소나 문서 작성 도구로만 사용한다면 개발체계의 성숙도를 충분히 설명하기 어렵습니다.
요구사항이 변경되었을 때 어떤 설계와 코드, 테스트가 영향을 받는지 확인할 수 있어야 합니다. 반대로 코드가 변경되었을 때 관련 설계 산출물과 테스트 항목도 함께 검토할 수 있어야 합니다.
이러한 과정이 특정 담당자의 수작업에 의존하지 않고 반복 가능한 방식으로 운영되는 것이 중요합니다.
고객이 실제로 필요로 하는 다섯 가지
A-SPICE, ISO 26262, SPQA 대응을 준비하는 고객에게 필요한 것은 더 많은 문서가 아니라 다음과 같은 개발 기반입니다.
1. 현재 구현 상태를 반영한 설계 산출물
소프트웨어 아키텍처와 상세설계가 초기 개발 시점의 코드가 아닌, 현재 구현된 소스코드를 기준으로 유지되어야 합니다.
컴포넌트와 모듈 간 관계, 인터페이스, 입출력, 클래스, 함수 및 호출 관계가 실제 코드와 다르다면 산출물의 신뢰성도 낮아질 수밖에 없습니다.
2. 설계와 코드가 일치한다는 객관적인 근거
설계 산출물이 존재하는 것과 실제 구현 내용이 설계에 따라 개발되었다는 것을 증명하는 것은 다른 문제입니다.
평가와 심사 과정에서는 설계 요소가 코드에 어떻게 구현되었는지, 코드의 구조가 설계 산출물에 정확하게 반영되어 있는지 설명할 수 있어야 합니다.
3. 요구사항부터 테스트까지 연결되는 추적성
요구사항과 설계, 코드, 테스트가 서로 분리되어 관리되면 변경 발생 시 영향 범위를 확인하기 어렵습니다.
상위 요구사항이 변경되었을 때 영향을 받는 설계 요소와 코드, 테스트 케이스를 식별할 수 있어야 하며, 반대로 코드와 테스트 결과가 어떤 요구사항을 충족하는지도 확인할 수 있어야 합니다.
4. 코드 변경에 대응하는 설계 및 테스트 갱신 체계
자동차 소프트웨어는 기능 추가, 오류 수정, 사양 변경 등의 이유로 지속적으로 변경됩니다.
변경이 발생할 때마다 담당자가 설계 문서와 다이어그램을 직접 찾아 수정하고, 관련 테스트 케이스를 다시 검토하는 방식으로는 누락과 불일치를 완전히 방지하기 어렵습니다.
변경된 코드 구조를 분석해 설계 정보에 반영하고, 영향을 받는 테스트 영역까지 확인할 수 있는 체계가 필요합니다.
5. 여러 프로젝트에 반복 적용할 수 있는 표준화
특정 프로젝트에서만 완성도 높은 산출물을 만들고 다른 프로젝트에서는 각기 다른 방식으로 관리한다면 조직 차원의 개발 역량으로 보기 어렵습니다.
프로젝트와 개발 대상이 달라져도 동일한 기준으로 설계 정보를 생성하고 검토하며, 추적성과 테스트 정보를 관리할 수 있어야 합니다.
수작업 기반 산출물과 추적성 관리의 한계
많은 개발 조직에서는 요구사항을 ALM이나 Excel로 관리하고, 설계 다이어그램은 PPT 또는 별도의 도식화 도구로 작성하며, 소스코드는 형상관리 시스템에서 관리합니다. Unit Test Case와 테스트 결과 역시 별도의 검증 도구에서 관리되는 경우가 많습니다.
각각의 정보는 존재하지만 서로 연결되지 않은 경우가 많습니다.
예를 들어 소스코드의 함수나 인터페이스가 변경되면 다음과 같은 작업이 필요할 수 있습니다.
1. 변경된 코드와 영향 범위 확인
2. 관련 요구사항과 설계 요소 식별
3. 아키텍처 및 상세설계 다이어그램 수정
4. 인터페이스와 함수 정보 갱신
5. 요구사항 추적표 수정
6. Unit Test Case의 수정 필요 여부 확인
7. 관련 테스트 재수행 및 결과 정리
8. 변경 영향 분석 결과와 증빙자료 작성
이 과정을 사람이 반복하면 산출물 업데이트가 개발 일정보다 늦어지고, 평가 직전에 불일치를 찾아 보완하는 업무가 집중됩니다.
따라서 문제의 본질은 산출물 작성에 많은 시간이 소요된다는 것만이 아닙니다. 설계, 코드, 테스트 정보가 서로 다른 도구와 파일에 분산되어 최신성과 연결 관계를 지속적으로 유지하기 어렵다는 점이 더 큰 문제입니다.
SW 설계 산출물 자동화는 어떻게 접근해야 할까?
설계 산출물 자동화는 단순히 문서를 자동으로 작성하는 것만을 의미하지 않습니다.
현재 구현된 소스코드를 분석해 구조화된 설계 정보를 생성하고, 엔지니어가 이를 검토·보완한 후, 코드 변경 시 설계와 테스트 정보도 함께 갱신할 수 있어야 합니다.
다음과 같은 단계로 구성할 수 있습니다.
1단계. 소스코드 구조 분석
기존 소스코드를 분석하여 컴포넌트, 모듈, 클래스, 함수, 인터페이스 및 호출 관계 등의 구현 구조를 식별합니다.
2단계. 설계 모델과 다이어그램 생성
분석된 정보를 기반으로 소프트웨어 아키텍처와 상세설계 모델 및 다이어그램을 생성합니다.
3단계. 엔지니어 검토 및 설계 의도 보완
자동 생성된 결과에 코드만으로는 확인하기 어려운 설계 의도, 제약사항, 요구사항과의 관계 등을 엔지니어가 검토하고 보완합니다.
4단계. 코드 변경과 설계 정보 동기화
코드가 변경되면 변경된 구조를 다시 분석하고 기존 설계 정보와 비교하여 필요한 업데이트를 수행합니다.
5단계. ALM 연계 및 추적성 관리
생성된 설계 정보를 ALM 환경과 연계하여 요구사항, 설계, 코드 및 테스트 간의 추적성 구축과 변경 영향 관리를 지원합니다.
6단계. Test Case 생성 및 테스트 도구 연계
소프트웨어 아키텍처의 입출력 정보와 소스코드를 기반으로 Test Case를 생성하고, 이를 테스트 도구와 연계하여 설계부터 구현과 검증으로 이어지는 흐름을 구성합니다.
이와 같은 접근을 통해 설계 산출물 자동화는 문서 작성 공수 절감을 넘어 설계·코드·테스트의 일관성과 추적성을 유지하는 기반으로 확장될 수 있습니다.
RapidAUTO로 연결하는 설계·코드·테스트
RapidAUTO는 소스코드 기반 Reverse Engineering을 통해 소프트웨어 아키텍처와 상세설계 모델 및 다이어그램 생성을 지원합니다.
자동 생성된 설계 정보를 엔지니어가 검토하고 보완할 수 있으며, Forward Engineering과 Reverse Engineering을 반복하는 Round-trip Engineering을 통해 설계와 코드 간 일관성을 지속적으로 관리할 수 있습니다.
RapidAUTO는 설계 산출물 생성에 그치지 않고, ALM 및 테스트 도구와의 연계를 통해 설계·구현·검증 단계의 엔지니어링 정보를 연결합니다.
설계 산출물 자동 생성
소스코드를 분석해 소프트웨어 아키텍처와 상세설계 모델 및 다이어그램을 생성하고, 인터페이스, 함수, 호출 관계 등 설계에 필요한 정보를 구조화합니다.
Round-trip Engineering 기반 설계-코드 일관성 유지
코드에서 설계를 생성하는 Reverse Engineering과 설계 내용을 코드에 반영하는 Forward Engineering을 반복하여 설계와 실제 구현 간 일관성을 유지합니다.
ALM 연계를 통한 추적성 구축
자동 생성된 설계 정보를 ALM 환경에 미러링하고, 요구사항과 설계, 코드 및 테스트 간의 연결 관계를 구축할 수 있도록 지원합니다.
이를 통해 요구사항 또는 설계 변경 시 관련 항목을 확인하고, 변경 영향 분석과 추적성 관리에 활용할 수 있습니다.
Unit Test Case 자동 생성 및 VectorCAST 연동
RapidAUTO는 소프트웨어 아키텍처의 입출력 정보와 소스코드를 기반으로 Unit Test Case 생성을 지원합니다
생성된 Unit Test Case를 VectorCAST와 연계하여 설계 정보와 실제 코드에 기반한 단위 테스트 업무에 활용할 수 있으며, 설계·코드·테스트 간 연결성을 강화할 수 있습니다.
평가와 심사 대응을 넘어 개발 과정의 효율화로
A-SPICE, ISO 26262, SPQA 대응은 조직의 개발 프로세스와 프로젝트 수행 결과를 종합적으로 평가하므로 특정 도구 하나만으로 평가 결과가 결정되는 것은 아닙니다.
그러나 평가와 심사에 필요한 기술 활동과 증거를 준비하는 과정에서는 요구사항, 설계, 코드, 테스트가 서로 연결되고 변경 이후에도 최신 상태를 유지하는 것이 중요합니다.
RapidAUTO는 다음과 같은 업무를 지원합니다.
📌 기존 소스코드 기반 소프트웨어 구조 가시화
📌 소프트웨어 아키텍처 모델 및 다이어그램 생성
📌 소프트웨어 상세설계 모델 및 다이어그램 생성
📌 인터페이스, 함수 및 호출 관계 분석
📌 코드 변경에 따른 설계 정보 업데이트
📌Round-trip Engineering 기반 설계-코드 일관성 유지
📌ALM 연계를 통한 설계 정보 미러링
📌요구사항·설계·코드·테스트 간 추적성 구축 지원
📌아키텍처 입출력 정보와 소스코드 기반 Unit Test Case 생성
📌생성된 Unit Test Case의 VectorCAST 연계
📌변경 영향 분석 및 평가 대응을 위한 기술 근거 확보
따라서 RapidAUTO는 단순히 설계 문서를 자동으로 생성하는 도구가 아닙니다.
설계·코드·테스트 정보를 연결하여 개발과 검증의 일관성을 유지하고, 변경에 따른 반복 업무와 산출물 관리 공수를 줄이는 엔지니어링 자동화 환경을 제공합니다.
문서 작성이 아닌 지속 가능한 개발 증거가 필요합니다
A-SPICE, ISO 26262, SPQA 대응에서 중요한 것은 평가 직전에 완성된 문서를 제출하는 것이 아닙니다.
실제 개발 과정에서 요구사항과 설계, 코드, 테스트가 연결되어 있고, 변경 이후에도 그 관계가 유지되며, 필요할 때 이를 객관적인 증거로 제시할 수 있어야 합니다.
소스코드 기반 설계 산출물 자동화와 Unit Test Case 생성, ALM 및 VectorCAST 연계는 개별 문서와 도구에 분산된 정보를 하나의 엔지니어링 흐름으로 연결하는 기반이 될 수 있습니다.
RapidAUTO는 개발자가 반복적인 산출물 작성과 변경 사항 확인에 사용하는 공수를 줄이고, 설계 검토와 소프트웨어 품질 향상에 더욱 집중할 수 있도록 지원합니다.
현재 프로젝트의 소스코드를 기반으로 생성 가능한 설계 산출물과 Unit Test Case, RapidAUTO의 ALM 및 VectorCAST 연동 방법이 궁금하시다면 문의해 주시기 바랍니다.
본 포스트와 관련하여 추가적인 문의 사항이나 해당 솔루션에 대한 자세한 소개가 필요하시다면, 아래 메일이나 홈페이지를 통해 문의 부탁드립니다!
출처 :
• VDA QMC, Automotive SPICE Process Assessment Model v4.0
• ISO, ISO 26262:2018 Road Vehicles – Functional Safety
