main visual
  • What is MDD
  • MDD의 특징 및 장점
  • 해외 구축 사례
  • Home
  • > LG CNS MDD
  • > News

News sub Title

 [Forum] Accelerate innovation of financial system with MDD 2013.12.10

금융 차세대 시스템으로 내년부터 대거 채택될 듯
생산성ㆍ품질 향상… 업무 전문성에 집중 지원
통신ㆍ서비스업종에도 MDD가 적용될지 관심


2000년 초반에 JAVA가 도입되기 시작한 이래, 최근까지 많은 금융회사가 COBOL 또는 C에서 JAVA로 프로그래밍 언어를 변경하였고, 최근에는 은행산업에서도 JAVA로 차세대 시스템을 구축하고 있다. 시스템의 변화를 주도해야 하는 개발자나 유지보수담당자 입장에서 장기간에 걸쳐 익숙한 언어를 버리고 새로운 언어에 익숙해지는 것은 쉽지 않다. 하지만 지난 9월 완료된 전북은행 차세대 시스템은 자바로 개발되었음에도 예정보다 일주일 앞당긴 평주말에 성공적으로 오픈됐다. 이 프로젝트가 더 의미 있는 건, 자바로 개발된 시스템이었는데도 시스템 개발 인력 중 15%정도만 자바를 경험한 개발자였다는 것이다.

자바를 경험한 개발자도 적은데, 오류 없이 기간을 단축해서 국내 최초로 자바로 개발한 차세대 시스템을 완료할 수 있었던 비결은 MDA(Model-driven Architecture)와 MDD(Model-driven Development)다. MDA는 업무프로세스와 업무규칙을 담고 있는 모델로부터 소스와 문서를 생성하는 기술 구조이고, MDD는 MDA 기술을 적용한 소프트웨어 개발 또는 방법론을 말한다. 따라서, MDD를 채택하면 개발자가 프로그래밍 언어로 직접 코딩하지 않고 소프트웨어 설계 모델을 통해 소스코드를 자동 생성할 수 있다.




구자원 LG CNS 금융ㆍ통신서비스부문 부문장


MDD는 성숙 수준에 따라 3단계로 나뉘는데, 1단계가 모델링 도구로 모델링을 수행하는 단계, 2단계는 모델로부터 일부 소스코드를 생성하는 단계, 3단계는 모델로부터 100% 소스와 산출물을 생성하는 단계이다. 과거 국내에서 MDD가 적용된 사례가 있었지만, 3단계의 MDD가 적용된 것은 전북은행 차세대시스템이 최초이다.

포레스터 리서치에 따르면 해외에서도 MDD를 적용한 80%가 1단계, 10~20%가 2단계, 3단계 수준은 10% 이하라고 한다. 가트너는 3단계에 해당하는 어플리케이션 개발 접근 방법을 AMD(Architected model-driven) Development라고 부르고 있다. 국내와 해외를 떠나서 2단계에서 3단계 수준으로 가는데 있어서 어려운 점은 모델링 기술, DSL(Domain-specific language), 변환기술을 개발하기 어려웠기 때문이다.

LG CNS는 이러한 기술을 자체적인 금융솔루션 개발을 하면서 축적하였고, 비로서 전북은행 차세대 프로젝트에서 검증하게 되었다.

MDD의 장점은 크게 네 가지다.

첫째, 개발이나 유지보수인력이 기술보다는 업무에 더 집중할 수 있도록 해준다.
3년 전에 당사는 생명보험솔루션을 개발했다. 당시 개발자들은 생명보험 업무에 전문성을 가지고 있었으나, JAVA에 대한 경험이 전혀 없었다. 이러한 상황을 극복하기 위해 MDD를 채택했다. 소스코딩을 하지 않고 업무 모델링을 통해 소스를 생성하였다. JAVA를 전혀 몰라도 JAVA 언어로 은행시스템을 구축할 수 있는 시대가 열린 것이다.

둘째, 프로그램(컴포넌트)의 가시성 확보다.
언어가 무엇이든 프로그램을 처음 보는 경우 주석이 상세하지 않으면 프로그램이 무엇을 하는 지 알기 어렵다. 또한 주석이 아무리 상세해도 주석이 정확한지 확신할 수가 없다. 결국은 처음부터 프로그램 내에 함수(오퍼레이션)가 호출하는 대로 따라가면서 보는 수밖에 없다. MDD는 이러한 프로그램의 흐름을 순차적(시퀀스 다이어그램)으로 직관적으로 보여준다. 또한 그 함수명은 영어가 아니라 한글이다. 함수 뿐만이 아니라 변수명, 구조체(Data transfer object)도 모두 한글이다.

셋째, 설계ㆍ코딩ㆍ테스트 프로세스가 자동화되고 일관성과 연속성을 갖는다.
풀어서 얘기하면, 설계는 문서나 모델링 툴에서 하고 소스코딩을 따로 하는 것이 아니라 설계가 끝나면 바로 소스가 100% 자동생성이 되기 때문에 설계와 코딩간의 불일치가 없다. 따라서 설계서를 코드로 옮기는 과정에서의 오류가 없으며 의사소통 비용도 줄어든다.

마지막으로 소스코드의 품질이 높아진다.
전통적 방식이 개발자의 역량과 스타일에 따라 코드가 달라지는데 비해 MDD에서는 표준화된 용어로 표준화된 코딩스타일로 소스코드가 생성되어 코드 품질이 높아진다.


2014년에 발주될 것으로 보이는 금융권의 차세대 시스템 구축 프로젝트에는 MDD가 대거 채택될 것으로 전망된다. MDD가 금융시스템 구축 방식을 바꿀 것인지, 더 나아가 패키지 솔루션을 주로 도입하는 제조업, 금융권처럼 패키지 솔루션 도입 보다는 자체 시스템을 구축하는 통신 및 서비스업종에서도 MDD가 적용될지 관심을 가져 볼 만한 시점이다. 많은 금융회사들이 MDD를 적용하여 유지보수 생산성과 품질을 향상하고, 기술보다 업무전문성에 집중하기를 기대한다.


구자원 LG CNS 금융ㆍ통신서비스부문 부문장

list btn