티스토리 뷰

금융 차세대 개발 플랫폼의 끝판왕이 등장했다기존 시스템 분석부터 개발 소스 코드 자동 생성그리고 테스트 및 프로그램 품질점검까지 개발의 모든 과정을 최적화한 개발 플랫폼이다. SK C&C가 최근 선보인 ASD(Automated Software Development)가 주인공이다. SK C&C의 ICT 역량을 집대성해 출시한 ASD는 개발 속도는 높이고비용은 낮추며 최적의 운영 효율성을 보장하는 최강의 금융 차세대 개발 플랫폼으로 주목 받고 있다.

ASD의 가장 큰 특징은 현재 국내 금융 차세대 시스템 구축사업에서 사용되는 핵심 개발 방법론인 MDA MDD의 장점을 한 데 모았다는 것이다. ASD의 출시에 맞춰 국내 개발 방법론의 현황과 한계, ASD의 강점그리고 개발 실무자들이 직접 들려주는 금융 차세대 시스템 구축사업의 전망 등을 총 5회에 걸쳐 시리즈로 살펴본다.

 


<2> “금융 차세대 시스템을 부탁해!


‘트랜스포머’처럼 내 맘대로 변신 가능한은 집은 가능할까요?

건축물 뼈대를 신경 쓸 필요 없이 언제든 우리 집을 자유롭게 변신시키는 것입니다. 변신을 할 때마다 자동으로 건축물 뼈대가 추가되고 건축물의 설계가 바뀝니다. 그래서 원할 때마다 거실과 방 크기는 커지거나 작아지고, 필요 없는 공간을 줄이는 것이 자유자재로 가능하다면 정말 멋지지 않을까요? 실제로 집짓기에서는 아직 구현되지 않은 기술입니다. 하지만 금융 차세대 시스템 구축 분야에서는 충분히 가능합니다. 바로 SK C&C의 최첨단 자동 개발 플랫폼 ASD(Automated Software Development) 덕분입니다.

SK C&C가 새로 선보인 ASD는 복잡한 금융 차세대 시스템에 최적화된 서비스를 제공합니다. 개발 속도는 높이고, 비용은 낮추며, 운영 효율성을 보장하는 그야말로끝판왕다운 면모를 보여줍니다. SK C&C가 지난 20년간 금융 IT 및 대형 차세대 시스템 구축과 운영 분야에서 쌓아온 역량과 철학을 집대성했다는 점에서 업계에 큰 주목을 받고 있는데요. 무엇보다 ASD의 가장 큰 특징은 기존 국내 금융 차세대 사업에서 사용되는 핵심 개발 방법론인 MDA(Model Driven Architecture) MDD(Model Driven Development)의 장점을 한 데 모았다는 것입니다.

 


설계부터 구축, 개발, 운영, 테스트까지 전 과정에서 안정성, 유연성, 자율성 높여

앞서 SK C&C ASD가 마치트랜스포머집처럼 자유자재로 건축물 뼈대를 신경 쓸 필요 없이 방의 크기를 늘리거나 줄일 수 있다고 설명했는데요. 마찬가지로 MDA MDD를 건축에 비유하자면 우선 MDA는 건물 설계의 뼈대인 건축물의 구조를 빠르게 구성하는 데 초점을 맞춘 시스템이라고 할 수 있습니다. 이에 비해 MDD는 방이나 거실, 화장실 등 건물 내부 인테리어를 자동으로 빠르게 만들어 주는 데 중점을 두고 있는 개념이라고 설명할 수 있습니다.

ASD트랜스포머집짓기를 가능하게 해주는 이유는 MDA 의 개념을 활용해 시스템 설계와 뼈대를 이루는 시스템 구조를 빠르게 완성할 수 있고 MDD의 개념을 끌어와 시스템의 내부 인테리어, 즉 시스템의 각 기능을 구현하는 개발 소스 코딩을 상당 부분 자동 생성해주기 때문입니다. 따라서 집 주인이 개인의 취향에 따라 집안 인테리어를 바꾸듯, 그리고 트랜스포머 집에서 집 구조를 자유자재로 바꾸듯 개발 소스 코딩을 추가 입력하면 시스템 구조도 자동 변경돼 시스템의 개발과 변경의 자율성과 편의성을 크게 높여주는 것입니다.

SK C&C ASD는 금융 차세대 시스템 개발과 운영 전 과정을 5단계로 나눠 각 단계마다 최적의 자동화와 시스템의 유연성을 확보했습니다. 5단계는 바로시스템 개발 요구분석설계 및 SW 모델링개발 소스 코드 생성프로그램 개발테스트 및 운영입니다. 기존 시스템 분석부터 설계, 개발, 운영과 테스트까지 전 과정에 최적화된 ASD의 장점이 고스란히 담긴 다섯 단계인데요. 각 단계별 특징을 살펴보겠습니다.

 

1. 시스템 개발 요구 분석

우선 고객의 기존 시스템을 분석하는 것이 첫 단계입니다. 이 단계에서는 ASD 분석도구를 이용해 금융 고객의 운영 시스템 소스 코드로부터 금융 서비스 및 기능별 설계구조와 소프트웨어 모델을 자동 분석합니다. 구체적으로 설계와 개발을 시작하기 전에 고객의 IT 환경과 역량을 체크하는 것입니다. 또 분석 후에는 해당 소프트웨어 모델에 차세대 개발 요건을 추가해 신속하게 시스템 개발에 착수할 수 있는 환경을 만듭니다.

 

2. 설계 및 SW 모델링

두 번째 단계에서는 고객이 원하는 금융 서비스 별로 빠르게 소프트웨어 모델링을 진행합니다. 이 소프트웨어 모델링은 개발 플랫폼에서 독립적으로 이뤄집니다. 그러므로 개발자들은 자신이 쓰는 개발 언어나 전체 시스템 구조에 상관없이 자신이 맡은 개발 분야에만 집중할 수 있습니다. 개발자들의 부담은 덜어주고 자율성은 높이는 것입니다. 또 각 소프트웨어 모델간 호환성을 확보해 유연한 시스템을 설계할 수 있습니다.

 

3. 개발 소스 코드 생성

개발 소스 코드 생성에서는 MDA MDD의 장점을 최대한 결합시켰습니다. ASD는 금융 서비스 설계를 담은 소프트웨어 모델로부터 각 개발 플랫폼 별 최적의 개발 소스 코드를 자동 생성합니다. 특히 ASD는 개발 플랫폼에 독립적인 모델을 보유하고 있기 때문에 프로그래밍 언어가 바뀌어도 전혀 영향을 받지 않는 만큼 뛰어난 유연성과 호환성을 자랑합니다.

또 동일한 소프트웨어 모델로 C언어나 JAVA 등 다양한 프로그래밍 언어로 애플리케이션 개발이 가능하다는 것도 ASD 개발 소스 코드 생성의 큰 장점입니다. 뿐만 아니라 서로 다른 애플리케이션 프레임워크에서도 금융 서비스를 탑재할 수 있습니다. ASD는 마치 하나의 자동차 설계도를 가지고 고급 세단도, SUV, RV 차량도 모두 만들 수 있는 것처럼 최강의 호환성을 발휘하는 것입니다.

 

4. 프로그램 개발

프로그램 개발 단계에서 ASD는 최고의 역량을 발휘합니다. ASD는 개발 소스 코딩 단계에서 100%자동화를 고집하지 않습니다. 처음 설계한 그대로 개발해야 한다는설계=개발이라는 틀에 얽매이지 않습니다. 왜냐하면 금융 서비스 설계자가 애초에 복잡다단한 금융의 모든 업무 로직을 모델링하는 것은 결코 가능하지도, 효과적이지도 않기 때문입니다. 물론 100% 개발 소스 코딩 자동화는 단순 예금처럼 정형화돼 있고 과거에도 많이 있었던 금융 프로세스에서는 효과적일 수 있습니다.

그러나 빠르게 발전하는 IT 환경에서, 그리고 점점 복잡해지는 금융 서비스를 감안할 때 100% 자동화를 고집하는 것은 나중에 수정 요인이 발생하면 문제가 생길 수 있습니다. 특히 기존 MDD와 같은 자동화 방식은 시스템 구축 이후 추가 기능 개발을 위해서는 시스템 아키텍처나 모델링 전문가를 통해 해당 소프트웨어 모델링은 물론 금융 시스템 전체 소프트웨어 모델링을 변경해야 하는 어려움이 있습니다.

이런 이유 때문에 ASD는 상품 개발과 같이 해당 금융사만의 특수한 프로세스가 적용되는 경우 개발 과정에서 많은 수정의 여지를 제공해유연성을 확보합니다. 구현 기술의 종속성(이른바록인(lock-in)’이라고 말하는)을 최소화한 것이죠. 뿐만 아니라 개발자들이 최적의 환경에서 개발에만 집중할 수 있게 돕습니다.

고객의 수많은 요구 사항을 반영할 때 모델링을 건드릴 필요 없이 자신이 익숙한 프로그래밍 언어와 최적의 통합 개발 환경에서 자유롭게 개발만 할 수 있기 때문입니다. 이는 ASD가 개발자가 추가 개발 소스 코딩을 할 때 자동으로 해당 소스 코드와 소프트웨어 모델을 비교해 차이가 나는 부분의 모델을 생성해 주기 때문입니다. 개발자들은 익숙치 않은 소프트웨어 모델링을 신경 쓸 필요가 전혀 없습니다.


<ASD 핵심 프로세스 시연 영상>

 

5. 테스트 및 운영 단계

금융 고객이 가장 원하는 것 중 하나는비용 절감입니다. 마지막 테스트 및 운영 단계에서 ASD는 최고의 비용 절감 효과를 나타냅니다. 우선 ASD는 개발 소스 코드 생성과 동시에 테스트 코드를 생성해 개발한 코딩의 자동 점검, 소프트웨어 모델링이 반영됐는지를 실시간으로 확인합니다. 또 대시보드 등을 통해 소프트웨어 공정을 시각화 해줍니다. 이를 통해 테스트 시나리오를 설계, 시행하거나 테스트 결함 관리, 그리고 시스템 개발 진척도 관리 같은 업무를 한꺼번에 수행할 수 있습니다. 이를 통해서 고객의 유지보수 비용을 큰 폭으로 줄일 수 있습니다.

특히 추후 운영 과정에서 새로운 금융 서비스를 추가하거나 변경해야 할 때 소스 코딩만 추가하면 소프트웨어 모델이 자동 변경되기 때문에 고객이 원하는 빠른 금융 서비스 변경과 최고의 비용 절감 효과를 기대할 수 있습니다. 이처럼 ASD는 운영의 안정성뿐 아니라 불필요한 잡음을 줄이고 유지보수 비용 부담까지 줄일 수 있다는 점에서 마지막 단계까지끝판왕의 면모를 자랑합니다.

 


◆ 도구간 원활한 연계 지원해 새로운 IT 생태계 창출

5단계 운영 프로세스에 걸친 ASD의 강점들은 그 동안 SK C&C의 경험과 기술, 철학과 노하우가 집약된 것입니다. ASD의 강점은 이 밖에도 다양한 도구를 적극 활용해 최적화된 서비스를 제공합니다.

특히 SK C&C R&D센터가 개발하고 수많은 시스템 구축 현장에서 이미 우수성을 증명한 넥스코어(NEXCORE)는 제로(Zero) 수준의 시스템 개발 오류 방지 기능을 제공합니다. 또 성능이 최적화된 도구간 연계가 원활하도록 지원해 생산성과 효율성을 최적화합니다. 뿐만 아니라 SK C&C가 꿈꾸는에이브릴(Aibril)이 만드는 인공지능 생태계’, ‘Cloud Z가 만드는 클라우드 생태계와 같이 ASD가 고객뿐 아니라 모델러, 개발자들이 충분히 자신의 능력을 발휘하는 새로운 IT 생태계를 만들 수 있어 그 의미가 더 깊습니다.

이처럼 SK C&C ASD는 금융 차세대 개발의 훌륭한 대안으로 활약할 준비를 마쳤습니다. 기존 개발자 누구나 손쉽게 사용할 수 있고 습득이 어려운 소프트웨어 모델링을 따로 배울 필요가 없습니다. 무엇보다 MDD의 소프트웨어 개발 공정 자동화와 MDA 기반 전체 소프트웨어 라이프사이클(Life cycle)에 걸쳐 소프트웨어 모델링 중심의 유연성을 모두 수용합니다.

즉 금융 차세대 시스템 개발의 생산성과 품질 확보를 위한 최적의 접점을 찾은 것입니다. 게다가 복잡한 금융 서비스에 빠르게 적용할 수 있고 개발과 운영 비용을 절감해 금융 차세대 도입과 전환을 원하는 고객에게 최선의 대안이 될 것입니다. SK C&C는 박구 개발품질혁신팀장은 “ASD는 개발 방법론 측면에서 앞으로 SK C&C가 열 새로운 패러다임의 첫 걸음이다. 금융 차세대 시스템 분야뿐 아니라 다양한 산업적 요구를 폭넓게 수용할 수 있는 최적의 개발 방법론을 선보일 수 있도록 계속 발전시키고 진화해 나갈 것이다고 말했습니다. 시스템 자동 개발 플랫폼의 최강자로서 업계를 평정할 ASD의 활약이 더욱 기대되는 이유입니다.


※ 키워드로 보는 ASD vs MDD

  트랜스포머

기존 금융 차세대 사업에서 사용되는 핵심 개발 방법론인 MDD(Model Driven Development)를 건축에 비유하면 방, 거실, 화장실 같은 건축물의 내부 인테리어를 자동으로 빠르게 만들어 주는 데 중점을 두고 있습니다. 하지만 집안 인테리어를 바꿔주는 도구로 건물의 뼈대나 구조를 바꿀 수는 없습니다. 반면 ASD는 건축물의 설계와 뼈대에 제약 없이 자유롭게 인테리어를 바꿀 수 있습니다. 방을 늘리려면 자동으로 건축물 뼈대가 추가되고 건축물 설계가 변경되는트랜스포머집의 면모를 보여주는 것이죠.


  100% 자동화

기존 MDD는 금융 서비스 설계자가 금융의 복잡한 모든 업무 로직을 미리 모델링 해놓습니다. 따라서 단순 예금 등 정형화된 기존 금융 프로세스 구축에서는 장점을 발휘합니다. 하지만 ASD 100% 자동화를 고집하지 않습니다. 빠르게 발전하는 IT 환경과 점점 복잡해지는 금융 서비스를 감안한다면 시스템 구축 이후 로직의 추가나 수정이 중요하기 때문입니다. MDD 방식은 시스템 구축 후 추가 기능 개발을 위해 시스템 아키텍처나 모델링 전문가가 직접 나서 해당 소프트웨어 모델링은 물론 금융 시스템 전체 소프트웨어 모델링을 변경해야 하는 어려움이 있습니다. 그러나 ASD는 유연성과 개발자의 자율성을 보장해 안정적인 운영과 관리를 보장합니다.


  유연성

MDD 방식은 구현 기술의 단일성을 강조합니다. 물론 단일 기술이 운영 자원의 효율성을 도모하게 해줍니다. 그러나 만약 정해진 로직에 문제가 생기거나 고객의 추가 요구사항을 반영할 때, 세부 도구를 변경할 때 유연하게 대처하기 어렵습니다. 비교적 무겁고 복잡하게 짜여진 소프트웨어 모델링부터 설계까지 일일이 손봐야 하기 때문입니다. 반면 ASD는 개발 과정에서 추후 수정의 여지를 제공합니다. 따라서 고객의 특수한 프로세스가 적용되는 경우 쉽게 수정이 가능합니다. 점점 복잡해지고 빠르게 변화하는 IT 환경에서는 가볍고 빠른 대처가 가능하게 해주는, 유연성을 확보하는 것이 무엇보다 중요합니다.


  자율성

ASD는 개발자들이 최적의 환경에서 개발에만 집중할 수 있게 돕습니다. 고객의 수많은 요구 사항을 반영할 때 모델링을 건드릴 필요 없이 자신이 익숙한 프로그래밍 언어와 최적의 통합 개발 환경에서 자유롭게 개발에만 집중하면 됩니다. 반면 미리 잘 짜여진 모델링을 제공하는 MDD 방식은 개발자들의 자율성 보다는 정해진 코드를 만드는 것이 우선입니다.