Wednesday, December 27, 2006

 

Modeling using DATA and DATA PROCESSOR

기존의 프로그래밍 언어로 소프트웨어를 작성하는 방법을 생각해보자. Structural programming language이든 Object Oriented Programming Language이든, Work flow/Algorithm은 모두 함수(Function, method)에 의해서 구현된다.

따라서, S/W Modeling 언어로 복잡한 Business Logic을 여러 계층으로 나누어 기술하는 경우에도 각 계층에서 기술하는 Work Flow 혹은 Business Process는 결국 함수에 의해 구현이 될 것이다. 즉, 상위 레벨에서 기술하는 Work Flow든 하위 레벨에서 기술하는 Work Flow든 같은 기법을 사용하여 기술할 수 있다. 어짜피 모두 함수로 구현될 것인데. 이 경우, Work Flow의 관계 (종속적인 관계이든 수평적인 관계이든)는 함수들 사이의 Caller/Callee 관계 혹은 호출 순서에 의해 표현된다.

함수의 내용을 표현하는 방법은 여러가지가 있다. 그 중 대표적인 것이 Flow-Chart 이다. FlowChart는 일종의 Control Flow Diagram으로 볼 수 있다. DATA는 Control Flow를 따라서 같이 흐른다. 따라서 Control Flow와 Data Flow는 떼어놓고 생각하기는 힘들다. 즉, Control Flow와 Data Flow를 동시에 표현할 수 있는 Control/Data Flow Diagram(CDFD) 같은 것으로 함수의 내용을 기술하는 것이 좀 더 효과적일 것이다.

이 CDFD를 이용하여 함수를 구현하는 것을 생각해보자. Diagram을 최대한 간단하게 유지하기 위해서는 Diagram을 구성하는 Component의 종류가 최소화 되어야 한다. 예를 들면, DATA, DATA PROCESSOR, 그리고 DECISION을 사용하는 모델을 생각할 수 있다. 여기서 DATA는 Work flow상에서 전달/가공되는 데이터들을 나타낸다. 입력/출력/중간 데이터 모두 DATA에 의해 기술된다. DATA PROCESSOR는 0개 혹은 그 이상의 DATA를 입력으로 받아서 0개 혹은 그 이상의 출력 DATA를 생성한다. 실제 데이터 가공은 DATA PROCESSOR에 의해 수행된다. 마지막으로 DECISION은 주어진 데이터를 바탕으로 조건들을 검사하고 그 조건에 따라 YES/NO를 판단한다. DECISION에 의해 Control Flow의 Path가 정해진다.


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?