UML 요소를 EGL로 변환

UML을 EGL로 변환하는 경우 변환을 수행할 제한된 UML 모델 요소 세트가 인식됩니다. 다음 목록은 인식되는 요소 및 요소에 대한 변환 중에 생성되는 출력에 대해 설명합니다.

패키지
EGL 패키지가 작성되는 모든 UML 패키지입니다. 모델이 패키지이므로 모델 이름을 기반으로 하는 최상위 레벨 패키지가 작성됩니다. 또한 중첩된 UML 패키지가 있는 경우 각 UML 패키지에 대해 EGL 패키지가 생성됩니다.
클래스
UML 모델의 클래스는 데이터베이스 테이블을 나타냅니다. 모델의 각 클래스에 대해 다음 항목이 작성됩니다.
  • EGL SqlRecord
  • 작성되는 DDL의 테이블 정의입니다. 이 정의는 <project>/scripts/data/createTables.sql 디렉토리에 있으며 여기서 <project>는 프로젝트 위치입니다.
  • 클래스에서 작성, 읽기, 업데이트 및 삭제 조작을 수행하는 함수가 포함된 라이브러리 또는 서비스입니다.
  • 데이터베이스 테이블에서 검색 조작을 제공하고 결과 목록을 보는 검색/나열 JSP 및 해당 Pagehandler 함수입니다.
  • 특정 데이터베이스 행의 세부사항을 표시하는 세부사항 JSP 및 해당 Pagehandler 함수입니다. 세부사항 페이지를 통해 추가, 업데이트 및 삭제 조작도 수행할 수 있습니다.
오퍼레이션
각 오퍼레이션 요소에서 데이터 액세스 라이브러리의 함수 스텁이 생성되고 각 오퍼레이션 매개변수는 EGL 매개변수가 됩니다. SqlRecord의 특정 인스턴스에서 오퍼레이션이 수행될 수 있도록 포함된 클래스 유형의 SqlRecord도 매개변수로 전달됩니다.
함수 스텁에 논리 코드가 없으므로 변환 후에 이 함수를 완료해야 합니다.
속성
UML 모델의 각 속성 요소는 데이터베이스 열을 나타냅니다. 각 속성에 대해 다음 항목이 생성됩니다.
  • EGL SqlRecord 필드
  • DDL.A UML 클래스의 열 정의는 정규화된 데이터베이스 테이블을 나타내야 합니다. 그렇지 않으면 하나를 초과하는 다중성은 무시됩니다.
.
연관
연관 요소는 두 개의 종료 클래스 사이의 관계를 나타냅니다. 두 개를 초과하는 엔드 클래스가 있는 연관은 변환 중에 무시됩니다. 연관에 대해 다음 항목이 생성됩니다.
  • DDL의 외부 키 정의
  • 연관 종료점을 나타내는 데이터베이스 테이블에 삽입되는 열
연관 유형은 연관 요소에 대해 생성되는 사항의 세부사항에 영향을 줍니다. 연관에는 다음 세 가지 유형이 있습니다.
일대일 연관
일대일 연관으로 변환하면 관련 테이블 중 하나에 있는 키 열이 다른 테이블에 삽입됩니다. 생성된 세부사항 페이지를 통해 연관된 행에 액세스할 수 있습니다. 연관 종료점 탐색성은 세부사항 JSP에 관계가 노출되는지 여부를 판별합니다.
일대다 연관
일대다 연관으로 변환하면 다중성의 한 측면에 있는 키 열이 다중성의 여러 측면을 나타내는 테이블에 삽입됩니다. 이러한 연관을 탐색할 수 있도록 데이터 액세스 함수가 생성됩니다. 세부사항 JSP 내에서 관계 노출은 연관 종료점의 탐색성으로 판별됩니다.
다대다 연관
다대다 연관으로 변환하면 연관 테이블 및 해당 SqlRecord가 작성됩니다. 테이블의 열은 연관된 테이블의 키로 구성됩니다. 연관 테이블을 처리할 수 있도록 데이터 액세스 루틴이 생성됩니다. 연관된 클래스의 탐색 가능한 속성으로 판별되면 관계가 UI를 통해 노출됩니다.
열거
열거 요소는 데이터 유형 또는 특성에 대해 가능한 값을 정의합니다. UML 모델의 각 열거 요소에 대해 다음 EGL 요소가 생성됩니다.
  • 다음 항목이 포함된 라이브러리
    • 각 열거 리터럴에 대한 상수 정수값
      • UML 모델에서 변환하는 경우 각 열거 리터럴의 값을 지정할 수 있습니다.
      • 기존 데이터베이스를 변환하는 경우 변환하면 이름 지정된 정수가 작성되고 열거 내의 열거 리터럴 순서 위치를 기반으로 해당 값이 지정됩니다.
    • 열거 리터럴 이름으로 구성된 문자열 배열. 이 배열은 열거된 값 세부사항 JSP를 표시하는 데 사용됩니다. 사용자가 열거된 열의 값을 선택할 수 있도록 selectOneMenu가 사용됩니다.
  • SqlRecord의 필드 유형으로 사용될 INT 유형의 EGL DataItem. 열거 유형을 기반으로 하는 데이터베이스 열은 테이블에서 INTEGER로 정의됩니다.

피드백