사용자 정의 검사 작성

사용자 자신이 코딩한 사용자 정의 검사(외부 검사라고도 함)를 작성할 수 있습니다. 예를 들어, 시스템 프로파일에는 종종 도메인 특정 검사가 필요합니다.

이 태스크 정보

IBM® Rational® Rhapsody®에서 제공하는 사전 정의된 내부 검사처럼 사용자는 외부 검사가 코드 생성에서 호출되는지 여부를 정의할 수 있습니다. 또한 외부 검사가 실행되는 메타클래스에 대해 정의할 수도 있습니다.

Rational Rhapsody API를 통해 사용자 정의 외부 검사를 구현하고, 이미 Rational Rhapsody에 있는 GUI를 사용하여 실행할 수 있습니다. 내부 검사이든지 외부 검사이든지 간에 검사가 수행되고 해당 결과는 제품의 동일한 GUI를 통해 표시됩니다.

Rational Rhapsody는 C++ 및 VB 사용자에 대해 COM API를, Java 사용자에 대해 Java API를 사용하여 사용자 정의 외부 검사를 등록, 열거 및 제거하기 위한 API를 제공합니다. COM 콜백(연결 위치)을 통해 사용자는 검사 실행 시 사용자 정의 코드를 열 수 있습니다. COM API 또는 Java API를 사용하는 사용자는 이 기능을 사용하여 사용자 정의 검사를 추가, 실행 또는 제거할 수 있습니다.

검사할 메타클래스(또는 새 용어)를 결정하면, 검사가 호출되어 사용자가 결정한 메타클래스의 요소를 검사합니다.

프로시저

예를 들어, COM API 사용자에 대해 사용자 정의 검사를 작성하려면 다음을 수행하십시오.

  1. COM API의 IRPExternalCheck 인터페이스에서 정의된 클래스를 구현하십시오.
  2. IRPExternalCheckRegister Add 메소드를 사용하여 이 클래스를 등록하십시오. IRPApplication에서 메소드를 통해 이 싱글톤을 가져올 수 있습니다.
  3. 클라이언트 시스템에서 IRPExternalCheck를 구현해야 합니다.

결과

다음 표에는 사용자 정의 검사를 위해 구현해야 하는 인터페이스의 메소드에 대해 설명합니다.

표 1. 사용자 정의 검사를 위해 구현해야 하는 인터페이스의 메소드
메소드 설명
GetName() 이름 속성을 문자열로 리턴합니다.
GetDomain() 도메인 속성을 문자열로 리턴합니다.
GetSeverity() 사전 정의된 심각도 문자열 중 하나를 리턴합니다(오류, 경고, 정보).
IsCompleteness() 완성도 검사인 경우 TRUE를 리턴하고, 그렇지 않으면(정확성 검사인 경우) FALSE를 리턴합니다.
ShouldCallFromCG() 사용자가 코드를 생성할 때 이 검사를 호출해야 하는 경우 TRUE를 리턴합니다.
GetRelevantMetaclasses() 관련 메타클래스, 용어 또는 둘 다의 목록을 리턴합니다. 메타클래스가 리턴되는 현재 구성 범위에 있는 요소에 대해 Rational Rhapsody가 검사를 시작합니다.
Execute() 검사를 실행하도록 Rational Rhapsody에 의해 호출됩니다. 이 루틴은 검사가 통과한 경우 TRUE를, 검사가 실패한 경우 FALSE를 리턴합니다. 여기에는 두 개의 매개변수가 포함됩니다.
  • Rational Rhapsody에서 제공하는 첫 번째 매개변수는 검사를 실행해야 하는 IRPModelElements 입낟(해당 메타클래스는 검사 GetReleventMeltaclass() 목록에 있음).
  • 관련 시 검사에서 리턴되는 두 번째 매개변수는 검사가 실패하는 경우 Rational Rhapsody가 강조표시하는 IRPModelElements 콜렉션입니다.

피드백