[SB-050] 인터페이스설계서

프로젝트/프로젝트 일지 2021. 12. 21. 21:57 Posted by meanoflife
반응형

Day-50

[설계단계] 인터페이스 설계서

 

프로젝트 산출물中 「인터페이스 설계서」가 있습니다.

인터페이스 설계서는 업무시스템간 데이터를 주고 받기 위해 정의합니다.

 

인터페이스에는 MCI, EAI, FEP 등이 있습니다.

통합단말과 AP-Server간 통신은 MCI를 통해 이뤄지며,

대내시스템은 EAI를 사용하고, 대외시스템은 FEP를 통해 통신합니다.

 

이런, 각 통신(거래)의 I/O항목을 정의하는 것이 '인터페이스 설계서'입니다.

이 중 MCI거래는 (일반적으로) 산출물을 따로 명시하지 않습니다.

화면 및 프로그램 설계서에 일부 포함하고 있기 때문입니다.

 

그런데, 이번 프로젝트에서는 MCI거래까지 모두 설계서를 작성하라고 합니다.

약 20년간 일을 해오면서 처음 겪는 사례입니다. 

하지만, 하라면 해야겠지요. 

 

 

인터페이스 설계서

 

작성 방법은 간단합니다.

앞서 언급드린 것처럼, 거래의 I/O를 정의하는 것입니다.

 

화면에서 거래가 발생하면 MCI를 통해 서비스를 호출하고, 쿼리를 수행 후 결과를 화면에 표출합니다.

이 때, MCI를 기준으로 Input parameter와 Output Parameter를 정의하는 것입니다.

※ 인터페이스 설계서(=정의서)는 MCI를 관리하는 시스템에 등재하여 사용됩니다.

 

[ 인터페이스 : MCI, EAI, FEP ]

 

인터페이스 설계서에 작성하는 내용은 각 항목의 '물리명, 논리명, 데이터타입, 길이' 등입니다.

※ 템플릿은 사이트마다 시스템마다 조금씩 상이합니다.

 

[ 인터페이스 설계서 ]

 

Working...

프로젝트에 참여해 보면, 분석/설계단계가 굉장히 짧다는 것을 느끼게 됩니다.

하지만, 요구하는 산출물( 분석단계 산출물, 설계단계 산출물 )은 어마무시하게 많습니다.

거의 문서를 찍어내다시피해야 처리되는 경우가 태반입니다.

 

그래서 나의 경우, 현행(As-Is)소스 구조를 파악해서, 간단한 소스 추출프로그램을 만듭니다.

① 화면소스에서 호출하는 거래정보를 추출하고, ② 거래에서 사용하는 I/O정보도 도출합니다.

그리고, ③ 연계된 서비스의 I/O도 분석하여 도출합니다.

 

이번 프로젝트에서도 화면의 [I/O mapping]구조체 정보를 추출하고, 호출하는 거래와 매핑하여 거래별 I/O정보를 파싱하였습니다. 이를 *.CVS파일로 생성하여 엑셀프로그램으로 열고, 편집하여 산출물을 만들었습니다.

 

파싱은 Java를 설치하여 간단히 파일핸들링 프로그램을 만들었습니다.

( 자바의 기본적인 Syntax를 이용하여 손쉽게 만들 수 있습니다. )

※ Apache POI Library가 있다면, Excel-file 형태로 파일을 생성하는 것이 가능합니다.

 

Think...

일각에서는 이렇게 일률적으로 찍어내는 산출물에 대해 부정적인 시각으로 바라봅니다.

하지만 한정된 시간에 산출물을 만들어 내기 위해서는 '시간을 단축'할 필요가 있습니다.

이렇게 일괄로 산출물을 생성하고, 여유 시간에 eye-checking을 하면서 보완하는 형태로 진행하면 됩니다.

그리고, (구조를 잘만 파악하고 고민해서 만들면) 생각 이상으로 높은 퀄리티의 결과물을 얻을 수 있습니다.

 

이번 프로젝트는 '차세대'임에도 설계단계가 약 2개월 밖에 되지 않습니다.

이 기간내에 단계말 산출물 검토도 받아야 하고, 화면설계서, 프로그램설계서, 배치설계서, 구조도, 엔티티정의서, 데이터 이행매핑정의서 등등 무수히 많은 산출물을 만들어야 합니다.

제대로... 라는게 가능한 기간인지 의문이 듭니다.

 

어찌되었던 일괄작업을 통해 시간을 단축했고, 일정에 차질없이 산출물을 제출하고 있습니다.

그리고, 대부분이 산출물이 Excel형태가 많아 Excel-macro도 적극 활용하여 단순노가다를 줄이고 있습니다.

프로젝트도 불필요한 문서를 최소화하고, 합리적인 일적으로 프로젝트를 진행했으면 좋겠습니다.

 

The End.

반응형