FlexGantt

Java Applications에 Professional Gantt Charts를 추가합니다.

DLSC사에서 공개
2007년 부터 ComponentSource에서 판매중

버젼: v8.0.x/v2.1.x 업데이스 날짜: Mar 3, 2020 5.00 별점 평균 리뷰5.00 별점 평균 리뷰5.00 별점 평균 리뷰5.00 별점 평균 리뷰5.00 별점 평균 리뷰 (4)

i

Please note that the minimum Enterprise License price for this product is $36,000 USD or €30,000 EUR approx. and includes access to the product Source Code. In addition, annual maintenance and software updates are available for an additional $7,200 USD or €6,000 EUR approx. per year.

FlexGantt 관련 정보

Java Applications에 Professional Gantt Charts를 추가합니다.

FlexGantt는 프로젝트 계획과 일정 관리 결과를 대화형으로 확인할 수 있는 Swing용 고급 간트 차트 사용자 인터페이스 컴포넌트입니다. FlexGantt를 이용한 어플리케이션은 거의 모든 방법으로 간트 컴포넌트를 사용자 정의할 수 있습니다. 시간대 기반 데이터의 표현과 편집뿐 아니라 전체 컴포넌트의 거동을 변경할 수 있습니다. 이런 변경은 간트 차트에서 특정 측면의 거동을 제어하는 변경 가능 정책을 구현해 이루어집니다. FlexGantt는 프로젝트 계획(자원, 인력, 업무), ERP 시스템, 생산 계획과 일정 관리 어플리케이션, 제조 실행 시스템, 프로젝트 포트폴리오 관리 어플리케이션과 같은 다양하고 매우 다른 영역에 적용할 수 있는 매우 높은 추출 수준을 이용합니다.

FlexGantt는 Swing에서 사용하는 MVC 접근을 적용합니다. 다양한 모델은 여러 목적으로 사용합니다. 달력 모델은 휴일과 주말을 표시합니다. 페이징 모델은 다양한 계획 구간의 불러오기를 지원하는 반면, 북마크 모델은 어플리케이션과 사용자 정의 북마크를 저장합니다. 그러나 간트 차트 컴포넌트에 데이터를 추가하는 주요 모델은 간트 차트 모델입니다. 간트 차트 모델은 간트 차트의 좌측에 데이터를 추가할 수 있는 트리 테이블 모델의 확장 버전입니다(좌측은 트리 테이블). 또한 FlexGantt는 우측에 시간대를 표시하는 시간대 객체를 반환합니다. 시간대 객체는 시점이나 시간 간격과 관련되어 시간대에 입력할 수 있는 활동, 업무, 이벤트, 이정표 등을 표현합니다.

FlexGantt의 주요 기능

화면 분할 / 이중 간트 차트: 거의 모든 계획과 일정 관리 어플리케이션에는 수평으로 스크롤 동안 두 가지 모델의 데이터나 동일한 모델의 두 가지 구역을 동시에 움직이는 기능이 필요합니다. FlexGantt 프레임워크는 동시에 움직일 수 있는 이중 간트 차트를 포함합니다. 사용자는 아무 때나 간트 차트를 분할하거나 결합할 수 있습니다. 수평 분할기는 상부와 하부 크기를 변경하는 데 사용할 수 있습니다. 시간대 객체는 한쪽에서 다른 쪽으로 끌 수 있습니다.

북마크: 북마크 개념의 사용은 계속 증가하고 있습니다. FlexGantt에서도 북마크를 지원하며, 사용자는 간트 차트에서 특정 시점, 입도(granularity), 구간을 표시하도록 시간대 설정을 빠르게 조절하는 데 북마크를 사용할 수 있습니다. 정의한 북마크는 탐색 컨트롤의 메뉴에 나열됩니다. 메뉴 버튼을 클릭하는 동안 컨트롤 키를 누르고 있으면 북마크 시간 간격의 작은 미리보기 이미지가 표시됩니다.

레이어: FlexGantt는 그래픽과 매핑 어플리케이션에서 적용하는 매우 독특한 레이어 접근을 이용합니다. 각각의 간트 차트는 핵심 기능을 제공하는 시스템 레이어(예, 수직 그리드선 그리기) 및 시간대 객체(활동, 이벤트, 이정표 등)를 표현하는 전용 레이어로 구성됩니다. 아래 그림에는 레이어 적층을 제시합니다. 어플리케이션에서는 많은 시간대 객체 레이어를 원하는 대로 추가할 수 있으며 한 번에 객체를 그룹으로 묶고 표시하거나 숨기기가 쉽습니다. 또한 레이어는 겹친 시간대 객체를 식별하기 쉽도록 투명도를 지원합니다.

그리드의 끌어다 놓기 : 시간대 객체는 수평으로 끌어 크기를 변경하며 수직으로 끌 수 있습니다. 숨겨진 그리드는 시간대 객체를 특정 시간에 배치하기 쉽도록 끌어다 놓기 동안 표시될 수 있습니다. 그리드는 모든 종류의 그리드를 구현할 수 있는 정책을 통해 제어합니다. 기본 그리드 정책에서는 시간대 객체를 1000년, 100년, 10년, 1년, 1개월, 1주, 1일, 1밀리초로 설정할 수 있습니다.

정책 제어 거동: 일정 관리 어플리케이션은 정보를 표시하고, 데이터를 편집하며, 사용자 명령에 응답하는 방법이 매우 다양합니다. FlexGantt의 정책은 간트 차트를 다양한 요구조건에 맞추는 데 사용할 수 있습니다. 정책은 소형의 정책 결정자이며 대개 많은 코드를 포함하지 않습니다. 또한 정책은 상태가 없습니다. 많은 경우에 정책은 플래그(boolean)과 명령만 반환합니다. 플래그는 프로그램 흐름을 제어하는 데 사용하는 반면, 명령은 실행 취소와 재실행 기능의 명령 스택을 통해 데이터의 실제 변경을 수행합니다.

변경 가능 렌더러 편집기: Swing은 트리, 테이블, 목록과 같은 UI 컴포넌트에 사용하는 몇몇 렌더러와 편집기 클래스를 정의합니다. FlexGantt는 트리 테이블 셀, 열 헤더, 팝업, 데이트라인 모델, 시간대 객체, 이벤트라인 객체용 렌더러를 정의합니다. 편집기는 트리 테이블 셀과 시간대 객체에서 이용할 수 있습니다. 시간대 객체 편집기는 간트 차트의 우측에서 투명한 창에 표시됩니다(현재 위치에서 편집, 아래 그림 참조).

팝업 / 주석: 시간대 아래의 막대는 활동을 보여주지만 공간의 제약으로 인해 제한된 숫자의 정보만 표시할 수 있습니다. 마우스 커서를 이런 막대 위에 놓을 때 나타나는 팝업 / 주석은 계획자가 일정 관리를 결정할 때 충분한 추가 정보를 표시할 수 있는 기능입니다. FlexGantt의 팝업은 Swing 컴포넌트와 같은 방법으로 사용자 정의할 수 있습니다. 다양한 렌더러는 다양한 유형의 팝업 객체에 배치할 수 있습니다. 팝업 객체는 특별한 팝업 정책에서 검색합니다. 아래 이미지는 팝업 객체를 일렬로 표시하는 기본 팝업 렌더러를 보여줍니다.

인쇄: 간트 차트에 표시되는 계획은 문서이며, 모든 문서는 인쇄할 수 있어야 합니다. FlexGantt에 내장된 인쇄 기능을 이용하면 인쇄할 시간대와 입도를 지정할 수 있습니다(아래 그림 참조). 생성된 차트는 다양한 페이지 너비와 높이로 인쇄할 수 있습니다.

관계: 시간대 객체가 서로 특정한 관계를 가지는 것은 아주 흔한 현상입니다. 예를 들어, 프로젝트 계획 소프트웨어는 시간대 객체 사이의 제약을 정의하기도 합니다. 이런 제약의 예는 'start after', 'finish before', 'same start', 'same end'를 포함합니다. FlexGantt는 선을 그려 이런 제약을 표시할 수 있습니다. 각 어플리케이션은 제약의 다양한 색상이나 선 스타일을 표시하는 방법이 다릅니다. 사용자 정의 관계 렌더러에서 변경하면 특정한 관계 표현을 구현할 수 있습니다.

로딩 지연: 어플리케이션 유형에 따라 표시해야 하는 데이터의 용량이 매우 클 수 있습니다. 이런 상황에서 '로딩 지연' 접근을 이용하면 사용자 인터페이스만 빠르게 응답할 수 있습니다. '로딩 지연' 접근은 사용자가 요청할 때 데이터를 서버(또는 데이터베이스)에서 클라이언트로만 전송하는 방식입니다. FlexGantt는 처음부터 로딩 지연을 지원하도록 설계되었습니다. 예를 들어, 트리 테이블 확장 리스너 인터페이스을 구현하는 객체는 확장할 부모 노드의 자식 노드를 로딩할 수 있도록 트리를 확장하기 전에 이벤트를 수신합니다. 페이징 모델은 로딩 지연을 지원하는 인프라의 다른 예입니다.

명령 프레임워크: FlexGantt는 작지만 강력한 명령 프레임워크를 제공합니다. 명령 프레임워크는 편집 작업의 실행 취소와 재실행을 지원하는 데 사용합니다. 명령 프레임워크는 명령, 명령 스택, 명령 스택 리스너, 진행 상황 모니터로 구성됩니다. 명령은 내부적으로 교체 가능 명령 스택을 사용하는 간트 차트를 통해 실행, 실행 취소, 재실행됩니다. 명령은 사용자 인터페이스가 응답할 수 있도록 자신의 스레드에서 실행됩니다. 명령 스택 이벤트는 명령의 실행 동안 발생합니다. 진행 상황 모니터는 명령을 통해 진행된 상황을 표시하는 데 사용합니다. 하위 진행 상황 모니터는 여러 명령으로 구성된 복합 명령에 사용합니다. 실행을 완료한 명령은 명령 스택의 실행 취소 가능 명령 목록에 추가됩니다. 이런 목록은 실행을 취소할 수 없는 명령을 실행할 때 삭제됩니다. 명령 프레임워크는 기존 명령 인프라(레거시 코드)를 재사용할 수 있도록 고수준 추출을 이용합니다.

페이징: 일정 관리 어플리케이션에서 다량의 시간대 객체를 처리해야 하는 경우에는 시간대 구간을 몇 개 페이지 / 시간 간격으로 나누는 작업이 필요합니다. 이런 작업은 데이터를 간트 차트에서 더 쉽게 처리할 수 있는 작은 덩어리로 나눕니다. 페이징 모델은 개별 페이지를 관리하며 현재, 이전, 다음, 첫 번째, 마지막 페이지를 선택할 수 있습니다. 사용자 인터페이스는 개별 페이지를 선택할 수 있는 컨트롤을 제공합니다.

가변 높이: FlexGantt 차트의 각 행은 특정 높이로 지정할 수 있습니다. 이 기능은 트리 테이블의 노드를 다양한 유형의 객체로 표현하거나 수량이 각 노드에 관련될 경우에 매우 유용합니다. 이런 경우에 행 높이는 관련 수량을 반영할 수 있습니다(예, 자원의 용량).

다중 정렬: 간트 차트의 좌측에 있는 트리 테이블은 여러 트리 테이블 열을 동시에 선택하고 테이블의 데이터가 선택에 따라 정렬될 수 있는 다중 열 정렬을 지원합니다. FlexGantt는 빠르게 정렬하는 quicksort 알고리즘을 이용하며 오름차순과 내림차순 정렬을 지원합니다.

시간대의 사용자 정의 가능: 시간대 요구조건은 어플리케이션마다 다릅니다. 일부는 날짜 다음에 주를 표시하고, 일부는 몇 째 일로 표시합니다(예, '241일'). 시간대는 유연성을 염두에 두고 설계되었습니다. 모델은 교체할 수 있으며, 렌더러는 전체 시간대를 사용자 정의 하위 클래스로 교체할 수 있습니다.

달력 모델 : 달력 모델은 간트 차트에서 주말, 휴일, 기타 특별한 시간 간격과 관련된 데이터를 제공합니다. 달력 모델에서 입력은 레이어 컨테이너(우측)의 전체 높이로 표현됩니다. 달력 모델을 사용하는 대표적인 예는 주말로 지정되는 날짜의 정의입니다. 주말 날짜의 배경은 회색이 됩니다.

자동 스크롤: FlexGantt 차트의 '현재 시간 / 시스템 시간'을 자주 업데이트하는 경우에는 어플리케이션에서 이런 시간에 초점을 맞추는 것이 바람직합니다. 자동 스크롤을 사용할 때는 현재 시간 커서(수직 점선)가 시간이 경과하는 동안에도 레이어 컨테이너 중심에 유지됩니다. 자동 스크롤은 어플리케이션이 모니터링 기능과 대화형 일정 관리 기능을 포함할 때 매우 유용한 기능입니다.

여러 : 여러 줄 기능을 이용하면 간트 차트에서 위와 아래로 나누어 동일한 줄에 시간대 객체를 표시할 수 있습니다. 여러 줄 기능을 이용하면 서로 겹치는 시간대 객체도 문제 없이 표시할 수 있습니다.