반응형

대사시스템을 가장한 정산시스템

개발단계 : 소스 마이그레이션

 

개발자들마다 각자의 개발방식과 스타일이 있다.

나의 경우 핵심 기능이되는 거래부터 만들어 놓고 부가작업을 한다.

일단, 거래가 되면 반은 성공했다는 생각이 들기 때문이다.

그래서 무조건 최대한 빠르게 거래가 되야한다.

이런 성격이다보니 디테일과 꼼꼼함은 부족하다.

 

소스 마이그레이션

 

이번 프로젝트는 내가 PM이고, 나이와 경력도 가장 많다.

또한 나와 잘(?) 아는 사람들과 일을하고 있다.

함께 한 기간이 좀 있다보니 나의 스타일도 좀 알고...

그래서 나의 스타일에 맞춰 프로젝트를 진행할 수 있었다.

 

첫번째 작업으로, 소스 마이그리이션를 선택했다.

기 운영하던 시스템의 프로세스를 준용하길 고객이 원했고

우리 입장에서도 멘땅에 헤딩하는 것보다는 훨씬 나았기 때문이다.

 

1. 테이블 생성

 

먼저 모든 테이블을 명명규칙에 맞춰 신규테이블로 복제했다.

As-Is테이블의 스크립트를 끍어, Replace하는 방식으로 처리했다.

 

DDL 권한이 없었기에 솔루션에 서비스를 만들어 진행해야 했는데

스크립트를 JDBC Syntax로 변화하는 프로그램을 만들어 작업했다.

( 이런 소소한 프로그램들이 공수이 많은 도움이 되었다 )

DDL스크립트를 만들고, 변환 프로그램을 돌리고, 서비스에서 실행.

바로 생성하는 것보다야 번잡하고 느리지만, 아름 괜찮게 작업할 수 있었다.

 

표준용어를 To-be로 정의하고

업무요건을 적용하기 위해 컬럼을 신규/변경하고

미사용 컬럼은 정리하는 작업들이다.

 

정의된 표준용어는 (이후 정규 테이블 생성을 위해) 메타에 등록도 해야한다.

 

2. 소스 마이그레이션

 

UI(화면) 소스와 서비스(Online) 소스를 모두 local-PC로 저장했다.

 * 대부분의 솔루션들은 file-export를 제공한다.

 

Text파일 형태로 떨어지기 때문에 파싱하는 것은 간단했다.

파싱..하면 거창하게 생각될지 모르지만..

그냥 프로그램으로 replace한다 생각하면 된다.

 

우선, 각 소스들의 명칭을 변경했다.

각종 경로정보, 패키지/클래스/메소드명과 I/O정보들.

화면에서 사용하는 전문과 매핑정보 등.

2~3일이면 될줄 알았으나 솔루션에 내부적으로 관리하는 숨겨진 매핑정보들이 있어 수작업이 필요한 부분들도 꽤 있었다. 이래저해 작업을 하고보니 약 일주일 정도가 소요되었다. 변환된 소스와 테이블로 거래가 이상없이 흘러간 단계까지이다.

 

작업이 제대로 되었는지 체크하기 위해

분석단계에서 만들었던 CRUD matrix프로그램으로 체크를 했다.

이 작업으로 미사용  소스도 식별할 수 있고, 변환이 안된(누락된) 소스도 확인이 가능했다.

 

프로그램을 만들어 수행하고, 체크하고, 필요시 수작업까지...

To-Be기준으로 거래가 돌아가니 반은 끝난 기분이었다.

물론 요구사항은 전혀 반영되지 않았기 때문에, 이제부터가 본 게임이다.

 

끝.

반응형