스케쥴링 시스템과 GUI (1) : Gantt Chart (개념)


스케쥴링 시스템과 GUI (1) : Gantt Chart (개념)



    사용자를 고려하지 못하는 전산 시스템은 당연히 실패할 수 밖에 없습니다. 팩키지형의 시스템을 도입하는 경우를 비롯하여 독자적으로 시스템을 개발하는 경우에도 철저한 분석이 필요합니다. 스케쥴링 시스템의 사용자 인터페이스 가운데 가장 정교하고 또 까다로운 GUI인 간트 챠트를 주제로 이야기를 시작할까 합니다.


    이 홈페이지를 찾아주신 모든 분들은 간트 챠트를 여러 번 그려보셨으리라 믿습니다. 시험공부를 하는 학생들도 날짜별로 시간을 쪼개어 어떤 과목을 공부할 지를 적어놓습니다. 국민학생들도 방학 생활을 어떻게 할 것인지 일과표를 만들지요. 간트 챠트는 이와 같이 계획을 효과적으로 display할 목적으로 만들고요, 또 계획과 실제 상황을 비교하고(모니터링), 필요한 조치를 취하고자(계획 수정) 만들어지기도 합니다. 


    바로 위에 계신 분이 간트 챠트를 만든 간트(Henry Laurence Gantt 1861-1919)라는 분입니다(위의 사진은 'Scheduling Theory, Applications, and Systems' by Michael Pinedo 에서 발췌했습니다.). 조금 더 구체적으로 간트 챠트에는 최소한 어떤 정보가 들어가야 할까요?

    일단 무슨 일을 해야 할 지가 명시되어야 겠지요. 따라서, 작업(task)에 관한 데이터가 포함되어야 합니다. 그리고, 누가 또는 어떤 부서에서 작업을 하는 지가 있어야 겠지요. 따라서, 자원(resource)에 관한 정보가 들어가야 합니다. 그리고, 언제부터 언제까지 할 작업을 해야 하는지가 있어야 겠지요. 따라서, 시간(time)에 관한 정보가 들어 있어야 합니다(참고로, 이러한 정보는 process modelling에서도 반드시 필요하지요.). 그런데, 이 3가지 기본적인 정보는 또 다음과 같은 추가의 관계를 갖을 수도 있습니다. 

    • 작업 X 작업 : 보통 나눌 수 없는 최소 단위의 작업을 공정이라도 하지만, task라고도 합니다. process step이라고 하고, step이라고도 하지요. 이런 step간에는 선후행 관계가 정의될 수 있습니다. 면삭이 끝난 뒤 구멍을 뚫는다. 이런 선후행 관계도 있고요, 부품의 조립이나 해체와 같은 관계도 있습니다.
    • 작업 X 시간 : 어떤 작업은 꼭 언제 이후에 시작 가능하다. 또는 꼭 언제 이전에는 끝나야 한다라는 제약이 있을 수 있습니다. 예를 들어, 설계, NC 프로그램 준비, 원자재의 구입 등이 끝나야 작업이 시작될 수도 있습니다. 납기 준수가 중요한 환경에서는 언제까지는 꼭 끝나야 한다는 제약이 있을 수도 있고요. 결과적으로 우리가 보는 스케쥴에는 이런 제약을 만족시키면서 언제 시작해서, 언제 끝날지가 정해져 있어야 겠지요.
    • 작업 X 자원 : 너무나 당연한 이야기이지만, 어떤 자원에서나 작업이 가능한 작업은 별로 없겠지요. 대체 가능한 자원도 있을 수 있고, 대체 자원간에 성능이 차이날 수도 있습니다. 하여간, 최종적으로 우리가 얻은 스케쥴에는 어떤 작업이 어떤 기계에서 수행되는 지가 정해져 있어야 겠지요.
    • 자원 X 시간 : 하루종일 그것도 매일매일 일하는 기계나 사람은 없습니다. 그런데, 월요일부터 금요일까지는 하루에 8시간, 토요일에는 4시간, 일요일에는 놀고... 자원은 언제나 가용한 것이 아니지요. 초과근무를 하게 되면 일하는 시간은 늘어날 것이고, 변형근로제를 도입한 기업에서는 심지어 근무시간이 줄어들었다 늘어났다 하겠지요. 이와 같은 가용성을 표시해 줄 필요가 있겠지요.
    • 자원 X 자원 : 대체가능한 자원이 있다거나, 대체가 가능하기는 하되 자원간에 성능차이가 크다고 한다면, 이런 정보가 있어야 겠지요.
    • 작업, 자원, 시간 : 각각의 정보 뿐만 아니라, 3가지가 섞여 있을 수도 있습니다. 어려워지겠지요 ?


    자, 이러한 정보를 어떻게 효과적으로 표현해야 할까요 ? 표현 뿐만이 아니라, 사용자의 관여가 필요하다면 사용자로부터 feedback을 어떻게 받아들이도록 시스템을 만들어야 할까요? 바로 이러한 문제 때문에 간트 챠트는 설계도 어렵고, 개발도 어렵습니다. 물론, 개발 후에도 사용하다 보면 개선 요구사항이 계속 발생할 수 있고요. 

    간트 챠트에 보여주어야 할 데이터는 정리가 된 것 같고요. 혹시나, 어떻게 생긴 것이 간트 챠트냐고 물어볼 분이 계시다면, 다음의 그림을 보시지요. 


    그림에서 보실 수 있는 그림도 간트 챠트입니다. y축에는 자원이 있고요, x축은 시간이고요. 계획된 작업은 (자원, 작업, 시작시간, 종료시간)을 파악할 수 있도록 위치가 잡혀있지요. 자, 이제 간트 차트 설명은 그만하고요, 개발된 시스템의 간트 챠트는 어떤 모습인지 살펴보도록 하지요. 많이 보고, 많이 생각할 수 있는 기회가 있어야 좋은 시스템을 설계할 수도 있고, 좋은 시스템을 도입할 수도 있겠지요. 

    본 페이지는 1999년 1월 29일에 작성되었습니다.