Rational Rose 특성 가져오기

이 주제는 IBM® Rational Rose® 특성을 가져오도록 설정하는 방법에 대해 설명합니다. 또한 IBM Rational® Rhapsody®에서 가져온 특성을 확인하는 방법과 Rational Rhapsody 모델에서 가져온 Rational Rose 특성을 후속 처리하는 방법에 대해 설명합니다.

이 태스크 정보

Rational Rose 모델 가져오기에서는 특성도 가져올 수 있는 경우Rational Rose 모델을 가져오는 방법에 대해 자세히 설명합니다.

XML 맵 파일을 작성해야 하는 도구, 메타클래스 및 특성 이름을 기준으로 가져오려는 Rational Rose 특성을 정의해야 합니다. Rational Rhapsody에서 가져오기 프로세스 중 가져오기 옵션 창에서 XML 맵 파일을 가리킵니다.

XML 맵 파일 디자인

프로시저

  1. 사용하려는 XML 맵 파일을 결정합니다. Rational Rhapsody 제품에는 XML 맵 파일을 디자인하는 데 사용할 수 있는 샘플 XML 맵 파일이 포함되어 있습니다. 샘플 XML 맵 파일은 <Rational Rhapsody 설치 경로>/Share/etc에 있습니다.
    • rose_properties_import.xml은 기본 맵 파일이고 이 파일 내에는 특성의 공통 값 목록과 Rose 도구 목록이 있습니다.
    • rose_properties_import_java.xml은 Java Rational Rose 모델 가져오기를 위한 파일입니다.
      주: XML 맵 파일의 기본 위치 및 이름은 <Rational Rhapsody 설치 경로>/Share/etc/rose_properties_import.xml입니다. XML 맵 파일에 다른 경로를 지정하도록 RoseInterface::Import::PropertiesXMLPath 특성을 수정하여 이 위치를 변경할 수 있습니다.
  2. 문서 편집기를 사용하여 XML 맵 파일을 수정하십시오. XML 맵 파일의 각 특성의 경우 Rational Rose 모델의 메타클래스, 도구 및 특성 이름을 포함해야 합니다. 예를 들어 아래 그림에서처럼 Rational Rose 모델에Rational Rhapsody로 가져오려는 NewClass라는 클래스가 있다고 가정합니다.
    클래스
스펙 창
    XML 맵 파일에 다음 맵핑이 포함되어 있을 수 있습니다.
    XML
맵 파일

Rational Rhapsody에서 가져온 Rational Rose 특성 보기

프로시저

  1. 위의 Rational Rose에서 NewClass 클래스 가져오기 예제에서 계속 이어서 진행합니다. Rational Rhapsody의 브라우저에서 가져온 클래스가 있는 패키지를 확장하고 가져온 클래스의 기능 창을 엽니다.
  2. 기본 Rational Rose 설정과 함께 클래스를 가져왔는지 여부에 따라 다음을 수행합니다.
    1. 특성의 Rational Rose 기본 설정과 함께 클래스를 가져온 경우 대체를 선택하십시오.
    2. Rational Rose 기본 설정 이외의 특성 설정과 함께 클래스를 가져온 경우 로컬로 대체를 선택하십시오. 가져온 NewClass 클래스의 예의 경우 이 클래스의 특성 설정은 해당 클래스의 Rational Rose 기본 설정과 다릅니다. 따라서 다음 그림에서처럼 로컬로 대체를 선택합니다.
      로컬로 대체된 특성을 보여주는 기능 창 - 특성 탭

다음에 수행할 작업

Rational Rose 특성을 가져온 후 Rational Rhapsody API(Application Programming Interface)를 사용하여 모델을 후속 처리해야 합니다. Rational Rhapsody API를 사용하여 특성을 처리하는 방법에 대한 정보는 이 문서를 참조하십시오.

다음 코드 샘플은 Rational Rhapsody API를 통해 특성 값을 검색할 수 있는 방법을 보여주는 이 주제의 예제를 확장한 것입니다. 다음 예제는 Model::Class::Java_Final 특성(가져온 Rational Rose 특성)의 값이 True인 패키지에 있는 모든 클래스의 보고서를 인쇄합니다.
Public Sub PrintFinalClasses(p As IRPPackage)
'
'Routine to print names of all final classes imported from Rose
'
    Dim allClassifiers As RPCollection
    Set allClassifiers = p.nestedClassifiers
    Dim c As RPClassifier
    For Each c In allClassifiers
        isClass = c.isOfMetaClass("Class")
        If isClass Then
            On Error Resume Next
            If c.getPropertyValue("Model.Class.Java_Final") = "True" Then
                Print c.getFullPathName
            End If
        End If
    Next
End Sub

피드백