기술-IT-인터넷 동향

소스 코드를 자동으로 생성해주는 개발 도구

지구빵집 2021. 7. 9. 17:20
반응형

 

소스 코드를 자동으로 생성해주는 개발 도구 

 

SW를 개발할 때 일부 작업들을 자동화하여 생산성을 올리는 RAD(“신속한 응용 SW 개발”을 의미하는 Rapid Application Development의 줄임말이며, 지원하는 프로그래밍 언어가 제한되는 경우도 있음.) 개발도구, 모델링을 통해 오류 없이 신속한 개발을 추구하는 MDD(Model Driven Development의 줄임말로 우리말로는 “모델 주도 개발”로 번역할 수 있음. MDD에 관한 보다 자세한 내용은 진회승, 김태호(2015), “MDD(모델 주도 개발) 유용성 논의와 사례 분석”, SPRi 이슈리포트 2015-012호 참조.) 방법론이 탄생하였다.

 

RAD 개발도구: 그래픽 사용자 환경이 보편화되자 버튼, 스크롤바, 입력창 같은 사용자 인터페이스를 빠르고 쉽게 제작하는 델파이와 같은 도구가 등장하면서 개발자가 핵심적인 알고리즘 설계와 코딩에 집중할 수 있게 되었고, 최종사용자가 SW의 외관을 빨리 확인할 수 있는 프로토타입 개발을 중시하는 RAD 방법론과 밀접한 관련을 가지고 있다. 

 

RAD 도구를 이용한 대화상자 예시. 출처: 첨부 자료 1

 

 

UML(통합 모델링 언어(Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화(97년)된 범용 모델링 언어임)과 MDD: SW개발 시 설계가 중요하다는 점에 착안해 모델링 언어로 작성된 설계도를 만들고, 해당 모델을 SW도구로 소스코드로 변환하여 SW를 개발하려는 시도가 등장하였다.  

 

­ UML: SW에서 각종 데이터를 저장하고 동작을 수행하는 객체(Object)를 식별하고 그들 간의 관계를 표현하기 위한 모델링 언어로 90년대 중반부터 개발된 국제표준으로 점점 용도가 확장되었음.

­ MDD: 금융, 제조 등 각 분야에서 목표하는 업무 프로세스를 UML 또는 도메인 특화 언어 등으로 모델링한 후 필요한 산출물과 소스코드를 자동으로 생성하는 개발방법을 말함 

 

 

RAD 개발도구, UML과 MDD의 장단점

 

ㅇ (RAD 개발도구) 그래픽 사용자 환경의 SW개발이 편리해 졌으나 개발된 SW의 성능이 저하되는 단점과 SW개발자의 보조도구인 측면이 강함

­ RAD로 개발한 SW는 그렇지 않은 SW에 비해 메모리 요구량이 커지거나 동작 속도가 느린 편이어서 이를 개선하기 위한 노력이 지속 추진됨

­ 프로그램 완성을 위해서는 프로그래밍 언어로 소스코드를 작성해야하는 부분이 남아 있어 기존 SW개발자의 보조도구인 측면이 강했음

 

ㅇ (UML과 MDD) SW설계가 가시화되고 산출물이 신속하게 확보되는 장점이 있었으나, SW개발자가 모델링 언어를 새로 익혀야 하며 자동 생성된 소스코드는 인간인 SW개발자가 이해하기 어려운 단점이 있었음

­ UML 등으로 표현된 업무 프로세스를 현업 담당자가 같이 리뷰하기 때문에 요구사항이 명확해져 SW개발 프로젝트의 성공률을 높일 수 있음

­ 모델링 언어와 MDD 도구를 수정 또는 자체 개발해야 하는 경우도 있어 모든 SW 개발에 적합하다고 보기 어려우며 기업 업무에 특화된 편임 

 

출처: 디지털 전환을 촉진하는 NoCode와 RPA, 강송희, 이현승, 유호석, ISSUE REPORT l 2021.06.29 IS-117, 소프트웨어 정책 연구소 

 

 

코비 스멀더스

Cobie Smulders

 

 

 

반응형