PREEvision 통합 요구사항 관리

새로운 요구사항 엔지니어링의 필요성

2018년 05월호 지면기사  /  글│ 로버트 로터(Robert Rotter), PREEvision 수석 제품 관리 엔지니어, Vector Informatik GmbH

            

             차량 전기전자(E/E) 아키텍처는 방대해진 복잡한 시스템, 복잡한 연결 관계와 의존성으로 구성된
             엄청난 양의 컴포넌트, 개발과정 내 개별 컴포넌트의 지속적인 조정과 확장의 필요성, 그리고
             이 모든 컴포넌트 간의 상호 관계와 의존성을 포괄적으로 파악하는데 어려움을 겪고 있다.
             따라서 통합개발 툴과 요구사항 관리의 필요성이 더욱 중시되고 있다.



네트워크 시스템, 편의 시스템 및 멀티미디어, 운전자보조 시스템, 자율주행, 커넥티비티, 클라우드 애플리케이션 등 차량 내 통신 시스템 수의 증가와 E/E 아키텍처 또한 갈수록 복잡해지고 있다. 이에 대처하기 위해서는 E/E 시스템 내에서 의존성 파악이 손쉽게 가능해야 하며, 개발에 참여하는 모든 인원이 시스템 요구사항의 최적화, 조정 또는 확장을 고려해야 한다. 이를테면, 최적화된 요구사항에 영향을 받는 컴포넌트의 파악 내지는 분석, 또는 어떤 테스트 케이스를 조정하거나 재실행해야 하는지를 신속하고 정확하게 파악할 수 있어야 한다.

일례로 안전 관련 요구사항이나 법적 규제가 변경될 경우 시스템 내에서 어떠한 변경이 이루어져야 하는지에 대한 추적성이 확보되어야 하므로, 기존의 요구사항 관리만으로는 복잡한 E/E 아키텍처 개발자가 직면하고 있는 애로사항을 해결하는 데 한계가 있다.

기존 요구사항 관리의 한계

기존 요구사항 관리에서는 요구사항을 텍스트나 스프레드시트 프로그램으로 수집해 왔다. 요구사항을 상호 간의 체계적인 구조로 관리할 수 있어 전체적인 추적성을 보장해주는 독립적인 툴이 나오기 전까지는 추적성 확보가 불가능에 가까웠다. 요구사항의 구조를 체계화하면 외부 데이터나 다른 콘텐츠로의 연결을 통해 툴의 한계를 뛰어넘을 수 있다. 여기서 발생할 수 있는 문제는 이러한 링크가 종종 잘못될 수도 있다는 점이다. 다수의 툴과 데이터베이스가 쓰이는 작업 환경에서는 세부적인 단계에서 연결을 정의하고 유지보수하는 데 어려움이 있기에 더욱 그러하다.

소규모 팀에서 충분히 요구사항 생성을 관리했던 과거와는 달리, 오늘날의 복잡한 시스템을 개발할 때에는 다양한 분야의 여러 팀이 개발과정에 관여하게 된다. 시스템 및 기능 개발자, 컴포넌트 개발자, 통신 설계자, 테스트 관리자를 포함한 다양한 분야의 전문가들이 없다면 전체 시스템이나 컴포넌트를 사양화하는 것이 불가능하기 때문이다. 기존의 요구사항 관리 시스템은 바로 이러한 점에서 그 한계점을 명확히 드러낸다.

통합(엔지니어링): 시스템 개발을 마스터하기 위한 해답

E/E 시스템을 설계하는 데 있어서 차량 기능의 제어, 통제, 모니터링 및 진단 기능을 염두에 둬야 한다. 이 기능들은 차량 곳곳에 설치된 센서 및 액추에이터와 같은 하드웨어 컴포넌트와 상호작용한다. 이는 E/E 시스템이 주행, 조향, 브레이크 시스템을 갖춘 운전자보조 기능과 같이 분산된 기능 네트워크 내에서 긴밀히 상호작용하는 분산된 시스템임을 의미한다.

상호 연결된 복잡한 기능 및 제어기 네트워크를 갖춘 포괄적인 E/E 아키텍처가 중앙 데이터베이스와 컴퓨터 기반 개발환경을 필요로 하는 이유이다. 이와 같은 중앙 E/E 데이터베이스가 없을 경우, 내부적인 조율을 위한 불필요한 수고는 물론, 반복적이고 일관적이지 못한 데이터 및 요구사항의 발생 확률이 급격히 증가한다.

이는 높은 개발 비용과 기간, 그리고 최악의 경우 현장에서 비로소 발견되는 치명적인 오류로 이어질 수도 있다. 개발 조직이 이러한 거대한 작업을 문제없이 수행하기 위해서는 아티팩트의 공동 저장, 시각화, 컴퓨터 기반의 평가 및 지속적인 추적성을 통한 통합개발 아티팩트 및 아티팩트 간의 상호 연결성을 파악해야 한다. 이를 위해 독립적인 스탠드얼론 E/E 시스템 개발 툴과 요구사항 관리 툴이 별개로 널리 사용되고 있으나, 구현하는 데 있어 많은 제한이 따르고 심지어 불가능한 경우가 많다.

이는 툴과 부서의 경계를 넘나드는 세부적인 단계에서의 협업이 불가능하기 때문이다. 이를 해결하기 위한 방법으로 포인트 투 포인트(P2P) 연결의 개념이 필요하다. 개별 툴의 통합은 OSLC(Open Services for Life cycle Collaboration; 수명 주기용 개방형 서비스)와 같은 표준을 통해 부분적으로 구현되어 통합된 아티팩트들을 다양한 툴에서 시각화하고 제한적으로 편집할 수 있으나 데이터베이스의 경계를 넘어선 관계를 안정적으로 기록하거나 특정 버전으로 관리하는 것은 불가능하다(그림 1).
 

주기적으로 가져오기/내보내기 및 업데이트 프로세스를 통한 보조 객체를 사용하는 반복적인 데이터 관리는, 일관적이지 못한 데이터 모델링이라는 단점을 가지고 있다. 이는 (Rich Client 및 Web Client와 같은) 다양한 아키텍처와 툴 내부의 배포, 버전 관리, 백업 및 마이그레이션을 위한 다양한 콘셉트에 대한 툴의 확연한 한계점을 보여준다. 따라서 솔루션이 실제 요구사항을 완전히 충족시키지 못함에도 불구하고 막대한 통합 및 운영비용이 소요되는 것이다.

요구사항을 개발 프로세스에 직접 통합

PREEvision E/E 아키텍처 툴이 제공하는 E/E 개발환경 내의 통합적인 요구사항 관리를 통해 개발상황에서 직면한 딜레마를 해결할 수 있다. 요구사항 관리(Requirement management)는 개발 프로세스에 직접 통합된다(그림 2).
 

따라서 모든 분야의 관계자들이 데이터베이스에 대한 작업을 함께 수행하며, 이 방식은 전체 시스템을 아우르는 종합적인 식견을 제공하고 체계적인 협력을 가능하게 한다. PREEvision의 모델 기반 접근방식 덕분에 여러 가지 다른 E/E 아티팩트들과 아티팩트 사이의 관계를 간편하고 매우 면밀하게 관리할 수 있다. 또한, 여러 가지 다양한 추상화 레벨과 역할을 통해 변화에 효율적이고 빠르게 대응할 수 있다. 이러한 목적으로 사용할 수 있는 기본적인 요구사항 관리 기능은 다음과 같다.
 
  • 요구사항의 수집
  • 계층적 구조화
  • 연결 및 추적
  • 검증(Validation)
  • 가져오기 및 내보내기(ReqIF, RIF, Excel)
  • 시스템 사양서 또는 성능 사양서의 생성

또한, 통합 요구사항 관리는 모델의 요구사항과 모든 개발 아티팩트 사이의 매끄러운 상호작용을 가능케 한다. 통합적 접근방식에서는 이러한 요구사항뿐만 아니라 개발 아티팩트 자체도 요구사항으로서의 역할을 수행한다. 개발 아티팩트를 요구사항에 연결하거나 Placeholder를 사용하여 요구사항 안에 직접 삽입할 수 있다.

아티팩트의 개별적인 속성 값들의 통합 또한 가능하다. E/E 개발에서는 대개 구현 아티팩트들을 기존의 요구사항에서 흔히 볼 수 있는 것보다 훨씬 더 상세하게 정의하곤 한다. 예를 들어, 플러그의 개별적인 핀 속성은 전통적인 요구사항 관리에서는 거의 기술되지 않는다. 하지만 통합적 접근방식을 사용함으로써 이를 자동으로 수집할 수 있으며, 요구사항 사양서(Requirement specification)의 일부를 사용할 수 있다. 텍스트 편집 프로그램의 필드 기능과 유사한 방식으로 작동하는 Placeholder 원칙은 이러한 동적 개발 프로세스에서 필요한 값들에 항상 자동적으로 접근할 수 있도록 한다.

매끄럽고 일관적인 통합 방식의 요구사항 개발

개발 모델의 모든 소프트웨어와 하드웨어 컴포넌트들을 요구사항으로 간주할 수 있으며 시스템 사양서 또는 성능 사양서에서 사용할 수 있다. 통합 요구사항 관리를 통해 단순한 텍스트만으로 구성된 기술(Description)이 아닌 현시점의 상세한 요구사항 사양서(Requirement specification)를 지속적으로 생성할 수 있다.

E/E 개발 데이터로부터의 세부사항을 통합하고 증강하는 것은 일관성, 완전성, 이해도를 보장한다. 여기에서 통합 요구사항 관리를 사용하는 모델 기반 툴 환경은 하향식(top-down), 상향식(bottom-up), 중앙발산형(middle-out) 접근방식을 허용하며, 요구사항을 E/E 아티팩트로 연결하거나 E/E 아티팩트 자체가 요구사항이 될 수도 있다. 앞서 말한 두 가지 방법은 혼합해서 사용 가능하며 이를 통해 양쪽 모두의 장점을 얻을 수 있다. 공급업체와의 안전한 데이터 교환을 위해 두 요구사항과 다른 모든 적합한 E/E 모델 아티팩트들을 PREEvision의 표준화된 ReqIF 인터페이스에서 ReqIF exchange 포맷으로 내보낸 후 통합을 위해 다른 툴에서도 사용할 수 있다(그림 3).

 

요구사항 개발을 위한 동시 협업


서로 다른 역할을 맡은 여러 사용자들은 단순히 하나의 팀에서 단일 컴포넌트 또는 단일 시스템에 대한 작업만을 수행하지는 않기 때문에, 조직 전체에서 E/E 아티팩트, 요구사항, 테스트 케이스에 액세스하거나 이를 생성 또는 관리할 수 있어야 한다. 또한 모니터링되는 액세스와 역할에 따른 편집 권한을 제공하는 권한 관리 시스템(Rights management system)이 필요하다.

궁극적으로는 고유의 재현 가능한 개발 상태를 보장하기 위하여 매우 정교한 버전 관리가 필요하다. Three-tier 아키텍처의 협업 플랫폼을 사용하는 PREEvision에서는 차량 및 자동차 제조 시, 동시에 E/E 시스템의 개발과 관리를 공동 작업할 수 있도록 지원한다. 이 기능은 대규모 조직 내의 복잡한 E/E 프로젝트의 구조화된 생성 및 구현을 위해 고안됐다. 중앙 데이터베이스는 동일한 데이터 세트를 보장하며, 이는 조직 전반의 멀티 유저 작업을 가능하게 한다. 프로젝트팀과 개발팀은 필요한 데이터에 대한 접근을 공유하며 데이터의 충돌 없이 동시에 작업이 가능하므로 데이터 세트 통합을 위한 고비용 프로세스를 줄일 수 있다.

체크인과 체크아웃 기능을 사용하여 버전 관리(Versioning)가 수행되며, 요구사항 개발 역시 시간의 흐름에 따라 계속 추적할 수 있다(그림 4).

 

신뢰할 수 있는 프로세스를 통해 투명한 요구사항 개발


PREEvision의 모델 기반 통합적 접근방식을 통하여, 컴포넌트 책임자는 시스템 레벨의 요구사항을 검토하면서 컴포넌트에 해당하는 요구사항들이 구현되었는지를 식별 및 검토할 수 있다.

이와는 반대로 아직까지 다루어지지 않은 새로운 요구사항들을 같은 방식으로 식별할 수도 있다. 또한, 테스트 데이터 관리의 통합은 테스트에서 아직 다루지 않은 아티팩트들과 요구사항들을 포함하는 테스트 케이스를 식별할 수 있다. 요구사항의 변경 또는 보충은 결국 컴포넌트 또는 테스트 케이스의 변경이 필요하도록 만들 수도 있다. PREEvision의 변경사항 식별 및 제품 수명 주기 관리의 도움을 받으면 프로세스의 신뢰성이 보장된다.

수명 주기는 특정한 조직에 맞게 조율된 워크플로를 관리할 수 있게 한다. 그 안에서 각 회사별 워크플로 또는 애자일 프로세스(agile process)와 같은 작업 원칙이 매핑되며, Condition과 Rule을 사용하여 안전하게 보호된다. 변경 식별, 변경 히스토리, 수명 주기 관리 외에도, 조율된 변경 및 릴리즈 과정을 위해 티켓 관리(Ticket management)를 사용할 수도 있다.

통합적 접근방식의 단점 제거

E/E 시스템과 관련된 모든 데이터를 관리(Embedding)하고 많은 수의 사용자와 다양한 역할이 관여됨에 따라 나타나는 개발 프로세스의 복잡성 증가는 이러한 통합적 접근방식의 단점으로 간주할 수 있고, 사용자가 이를 수용할지에 대한 질문이 제기될 수 있다. 예를 들어 요구사항 엔지니어들은 더 이상 순수하게 자신의 필요에 맞춰 제작된 특별한 툴을 사용하여 작업할 수 없게 된다.

PREEvision은 이러한 단점들을 적절한 메커니즘을 통해 해결했다. 관점(Perspectives)은 전문화된 사용자 그룹을 위해 시스템 데이터를 특별한 방식으로 볼 수 있게 하고 각각의 사용자에게 맞는 인터페이스를 제공한다(케이스-중심 GUI 사용). 범위(Scopes)는 시각적 데이터의 추출을 감소시키고 필요한 아티팩트에만 집중하므로, 복잡성이 크게 감소된다(그림 5).



시각화(Visualizations)는 시스템에 대한 손쉬운 액세스를 보장하고, 시스템을 이해할 수 있게 하며, 투명한 방식으로 상관관계를 나타낸다. 이에 대한 예로는 와이어링 하네스 또는 네트워크에 대한 기술 다이어그램(Technical diagram)이나, 유즈케이스 다이어그램(Usecase diagram)과 같은 작동 다이어그램(Behavioral diagram)이 있다. 요구사항, 기능, 그 밖의 E/E 아티팩트를 재사용하여 개발 속도를 훨씬 빠르게 만들고 데이터의 일관성을 보장함으로써, 비슷하거나 동일한 아티팩트를 재생산 또는 복제하는 것을 피할 수 있다. 그 밖에도 밸리데이터(Validator)와 테스팅 메커니즘이 일관성을 보장하고 문제가 확인된 부분을 위한 자동화된 솔루션을 제공하며, 이 모든 것은 데이터의 입력과 동시에 이루어진다.

요약 및 전망

사용자들이 자신과 관련된 모든 데이터에 접속할 수 있는 하나의 일관된 툴은 시스템 개발과 관련된 모든 역할에 명료성과 이해를 제공한다. 이것은 전체 E/E 개발 프로세스의 복잡성을 제어할 수 있게 하고, 충돌 없이 빠르고 유연하며, 효율적으로 일관적인 협력이 이루어질 수 있게 한다. 상세하고 추적성이 보장된 요구사항 관리는 E/E 시스템의 성공적인 개발을 위한 핵심 요소이다. PREEvision은 수년 동안 이러한 철학을 구현해 왔다.

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • 100자평 쓰기
  • 로그인


TOP