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로 정의됩니다.
- 다음 항목이 포함된 라이브러리
피드백