차량 개발 프로젝트 중 자주 등장하는 소프트웨어 프로세스 (혹은 소프트웨어 개발 프로세스) 중 하나인 ‘V모델’에 대해 소개하고자 합니다.

1. 소프트웨어 프로세스란?

소프트웨어가 점점 커지고 복잡해지면서, 개발 기간과 비용등이 늘었지만 품질과 신뢰가 떨어지는 소프트웨어 위기 (Software Crisis)가 찾아왔습니다. (1968, Friedrich L. Bauer) 소프트웨어 프로세스는 소프트웨어 결함으로 인해 발생하는 사고를 줄이고, 소프트웨어 위기를 극복하기 위한 소프트웨어 공학적 기법 중 하나로, 소프트웨어 시스템을 개발하는 데에 필요한 활동과 관련 정보를 단계별로 분분리하 구분한 것이며 소프트웨어 개발, 배포, 운영 시 수행해야하는 절차라고 볼 수 있습니다. 소프트웨어 프로세스를 거쳐 개발하게 된다면 잦은 수정과 재개발을 해야하는 상황이 줄어들게 됩니다.

2. V모델이란?

V 모델은 소프트웨어 프로세스로 폭포수 모델 (요구사항 분석 – 소프트웨어 설계 – 소프트웨어 구현 – 시험 – 유지 보수)의 확장된 형태 중 하나의 모델로, 알파벳 V 모양을 하고있어 붙은 이름입니다.

[출처 : 위키피디아, V모델의 소프트웨어 개발 프로세스]

V 모양 왼쪽, 요구 사항 분석부터 시작하여 소스코드를 작성하고 다시 V 모양 오른쪽으로 올라가며 테스트를 순차적으로 수행합니다. V모델은 소프트웨어 개발 각 단계마다 개발 활동 결과를 문서화하면서 진행합니다. 인정 테스트의 테스트 설계는 테스트 수행 바로 전에 작성하는 것이 아니라, 테스트 대상이 되는 활동 즉, 요구사항 분석이 되는 시점에서 작성합니다.

[출처 : ASPICE 공식 홈페이지]

ASPICE 모델에서 소프트웨어 요구사항 분석과 인정 시험, 소프트웨어 아키텍처 설계와 통합 시험, 소프트웨어 상세 설계와 유닛 검증이 1:1로 짝지어집니다. V 모델은 테스트 계획이 개발 초기 단계부터 동시에 작성되기 때문에 빠르게 프로세스를 거칠 수 있으며, 순차적으로 개발 산출물을 검증하고 확인함으로써 오류를 줄일 수 있는 장점이 있습니다.

Additional Thoughts

지금까지 차량 소프트웨어 개발 프로세스에 자주 기반이되는 ‘V 모델’을 간략하게 소개 드렸습니다. 자동차 분야에서는 다양한 인증 획득 사례를 통해서 기업별로 품질 개선 및 향상에 많은 노력을 취하고 있습니다. 아우토크립트는 모빌리티 소프트웨어 품질 관리를 위해 개발 프로세스를 기반으로 체계적으로 관리되는 높은 시스템을 바탕으로 진행됩니다. 이는 소프트웨어 개발 과정의 효율과 생산성을 높일 뿐만 아니라 비용을 절감하며, 전반적 공정을 개선해 제품의 품질과 신뢰도를 높힐 수 있습니다.

아우토크립트는 다양한 제품 개선 및 품질 향상을 위해 최신 모빌리티 기술과 함께 지속적으로 개선해 나가고 있습니다. 아우토크립트와 함께 품질을 개선하고 향상시키고 싶으신 분은 언제든지 아우토크립트 리크루팅 페이지에 방문해주세요!


[참고]

  • 장정주 /Jahng, JungJoo, 고석하 /Seok-Ha Koh , 권순동 /Kwon, Sun-dong, 2008, 정보시스템 개발 방법론 발달사에 관한 탐색적연구
  • Ian Sommerville, 1996, Software Process Models
  • Silvia T. ACUÑA, Software Process Modelling
  • https://ko.wikipedia.org/wiki/V_%EB%AA%A8%EB%8D%B8