패키지 및 네임스페이스 정의
Visual Studio Ultimate에서 패키지는 클래스, 사용 사례 및 구성 요소와 같은 UML 요소의 정의를 포함하는 컨테이너입니다. 패키지는 다른 패키지를 포함할 수도 있습니다.
UML 모델 탐색기에서 패키지 내의 모든 정의는 패키지 아래에 중첩됩니다. UML 모델은 패키지의 한 종류이며 트리의 루트를 구성합니다.
항목 내용
네임스페이스
패키지 만들기 및 보기
패키지 내에 모델 요소 만들기
요소를 패키지 내부 또는 외부로 이동
패키지에 요소 붙여넣기
패키지 간의 가져오기 관계
한 네임스페이스에서 다른 네임스페이스로 참조
패키지 속성
네임스페이스
패키지는 작업을 여러 영역으로 나눌 때 유용합니다. 각 패키지는 여러 패키지에 정의된 이름이 서로 충돌하지 않도록 네임스페이스를 정의합니다.
각 요소의 정규화된 이름 속성은 요소가 속해 있는 패키지의 정규화된 이름 다음에 요소 자체의 이름이 옵니다. 예를 들어 패키지가 MyPackage인 경우 패키지 내의 클래스는 MyPackage::MyClass와 같은 정규화된 이름을 갖게 됩니다. 모든 요소는 모델 내에 포함되므로 모든 정규화된 이름은 모델 이름으로 시작합니다.
모델도 네임스페이스를 정의하므로 모델에 포함된 모든 요소의 정규화된 이름은 모델 이름으로 시작합니다.
다른 모델 요소도 네임스페이스를 정의합니다. 예를 들어 작업은 부모 클래스에 의해 정의된 네임스페이스에 속해 있으므로 정규화된 이름이 MyModel ::MyPackage ::MyClass ::MyOperation과 같습니다. 마찬가지로 동작은 부모 동작에 의해 정의된 네임스페이스에 속해 있습니다.
패키지는 컨테이너입니다. 패키지를 이동하거나 삭제하면 패키지에 정의된 클래스, 패키지 및 기타 항목들도 이동되거나 삭제됩니다. 네임스페이스를 정의하는 다른 요소의 경우도 마찬가지입니다.
패키지 만들기 및 보기
UML 클래스 다이어그램 또는 UML 모델 탐색기에서 패키지를 만들 수 있습니다.
UML 클래스 다이어그램에서 패키지를 만들려면
UML 클래스 다이어그램을 열거나 새로 만듭니다.
패키지 도구를 클릭합니다.
다이어그램에서 아무 곳이나 클릭합니다. 그러면 새 패키지 모양이 나타납니다.
기존 패키지 내부를 클릭하면 한 패키지를 다른 패키지 안에 중첩시킬 수 있습니다.
패키지의 새 이름을 입력합니다.
UML 모델 탐색기에서 패키지를 만들려면
UML 모델 탐색기를 엽니다. 아키텍처 메뉴에서 창을 가리킨 다음 UML 모델 탐색기를 클릭합니다.
새 패키지를 추가할 패키지 또는 모델을 마우스 오른쪽 단추로 클릭합니다.
참고
다른 패키지 안에 패키지를 중첩시킬 수 있습니다.
추가를 가리킨 다음 패키지를 클릭합니다.
새 패키지가 모델에 나타납니다.
패키지의 새 이름을 입력합니다.
UML 모델 탐색기에서 패키지를 만들었으면 UML 클래스 다이어그램에 패키지를 표시할 수 있습니다. 또한 둘 이상의 UML 클래스 다이어그램에 패키지를 표시할 수 있습니다.
UML 클래스 다이어그램에 기존 패키지를 표시하려면
UML 모델 탐색기의 패키지를 클래스 다이어그램으로 끌어 옵니다.
참고
이렇게 하면 이 다이어그램에 패키지의 뷰가 만들어집니다. 이러한 뷰에는 패키지에 포함된 요소 중 일부가 표시되지 않을 수 있습니다. 패키지의 내용을 모두 표시하려면 UML 모델 탐색기에서 패키지를 보십시오.
패키지 내에 모델 요소 만들기
다음과 같은 네 가지 방법을 사용하여 패키지 내에 모델 요소를 배치할 수 있습니다.
UML 모델 탐색기에서 패키지에 새 요소를 추가합니다.
UML 클래스 다이어그램에서 패키지에 클래스 및 기타 형식을 추가합니다.
다이어그램에서 만든 새 요소가 특정 패키지 내에 배치되도록 다이어그램의 LinkedPackage 속성을 설정합니다. 클래스 다이어그램, 구성 요소 다이어그램 및 사용 사례 다이어그램을 이런 방식으로 패키지에 연결할 수 있습니다.
UML 모델 탐색기에서 패키지 내부 또는 외부로 요소를 이동합니다.
패키지의 요소는 UML 모델 탐색기에서 패키지 아래에 나타나고 요소의 정규화된 이름은 패키지의 정규화된 이름으로 시작합니다. 요소의 정규화된 이름을 보려면 해당 요소를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 그러면 정규화된 이름 속성이 속성 창에 나타납니다.
UML 모델 탐색기에서 패키지에 요소를 만들려면
UML 모델 탐색기를 엽니다. 보기 메뉴에서 다른 창을 가리킨 다음 UML 모델 탐색기를 클릭합니다.
새 요소를 추가할 패키지 또는 모델을 마우스 오른쪽 단추로 클릭합니다.
추가를 가리킨 다음, 추가할 요소의 종류를 클릭합니다.
새 요소가 패키지 아래에 나타납니다.
새 요소의 이름을 입력합니다.
참고
새 요소는 어떤 다이어그램에도 나타나지 않습니다. 새 요소의 뷰를 만들려면 요소를 UML 모델 탐색기에서 다이어그램으로 끌어 옵니다. 다이어그램은 이 요소 종류를 표시할 형식이어야 합니다.
UML 클래스 다이어그램에서 패키지에 요소를 만들려면
패키지가 나타나는 클래스 다이어그램을 엽니다.
패키지를 아직 만들지 않았으면 새로 만듭니다.
기존 패키지가 클래스 다이어그램에 나타나게 하려면 패키지를 UML 모델 탐색기에서 클래스 다이어그램으로 끌어 옵니다.
클래스, 인터페이스, 열거형 또는 패키지에 대한 도구를 클릭합니다.
새 요소를 추가할 패키지를 클릭합니다.
새 요소가 패키지 내에 나타납니다.
지정된 패키지에서 다이어그램의 모든 요소를 만들려면
패키지를 아직 만들지 않았으면 새로 만듭니다.
구성 요소 다이어그램, 사용 사례 다이어그램 또는 UML 클래스 다이어그램을 엽니다.
다이어그램의 속성을 엽니다. 이렇게 하려면 다이어그램에서 빈 부분을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
연결된 패키지 속성에서 다이어그램의 내용을 포함할 패키지를 선택합니다.
다이어그램의 새 요소를 만듭니다. 이러한 요소는 패키지에 배치됩니다.
각 요소의 정규화된 이름은 패키지의 정규화된 이름으로 시작합니다.
각 요소는 UML 모델 탐색기에서 패키지 아래에 나타납니다.
요소를 패키지 내부 또는 외부로 이동
하나 이상의 요소를 패키지 내부 또는 외부로 이동할 수 있습니다.
패키지를 이동하면 패키지 내에 있는 모든 항목도 함께 이동합니다.
요소를 패키지 내부 또는 외부로 이동하려면
UML 모델 탐색기에서 루트가 패키지인 트리의 내부 또는 외부로 요소를 끌어 옵니다.
요소의 정규화된 이름이 변경되어 새 소유 패키지 또는 모델을 나타냅니다.
-또는-
클래스 다이어그램에서 요소를 패키지 모양으로 끌어 옵니다.
요소의 정규화된 이름이 변경되어 새 소유 패키지를 나타냅니다.
참고
요소를 패키지에서 다이어그램의 빈 부분으로 끌어 오는 경우 소유 패키지는 변경되지 않습니다. 이렇게 하면 패키지 자체를 표시하지 않고도 여러 패키지의 요소를 다이어그램에 표시할 수 있습니다.
패키지에 요소 붙여넣기
요소를 패키지에 붙여넣을 수 있습니다. 관련 요소의 그룹을 패키지에 붙여넣으면 요소 관계도 함께 복사됩니다.
UML 클래스 다이어그램에서 패키지에 요소를 붙여넣으려면
UML 클래스 다이어그램에서 복사할 모든 요소를 선택합니다. 그런 다음 요소 중 하나를 마우스 오른쪽 단추로 클릭하고 복사를 클릭합니다.
패키지를 마우스 오른쪽 단추로 클릭하고 붙여넣기를 클릭합니다.
참고
패키지는 다른 다이어그램에 있을 수 있습니다.
패키지 간의 가져오기 관계
가져오기 도구를 사용하여 패키지 간의 가져오기 관계를 정의할 수 있습니다.
가져오기는 가져온 패키지에 정의된 요소, 즉 관계의 화살표 끝에 있는 요소가 가져오는 패키지에서도 효과적으로 정의된다는 의미입니다. 표시 유형이 패키지로 정의된 요소는 가져오는 패키지에서도 볼 수 있습니다.
가져오기 관계에 루프를 만들지 마십시오.
한 네임스페이스에서 다른 네임스페이스로 참조
다른 패키지에서 한 패키지의 요소를 참조하려면 요소의 정규화된 이름을 사용해야 합니다.
예를 들어 SalesCommon 패키지에서 CustomerAddress 형식을 정의한다고 가정해 봅니다. 또한 RestaurantSales라는 다른 패키지에서 Customer Address 형식의 특성을 포함하는 MealOrder 형식을 정의하려고 합니다. 이때 다음과 같은 두 옵션을 사용할 수 있습니다.
정규화된 이름 SalesCommon::CustomerAddress를 사용하여 특성의 형식을 지정합니다. CustomerAddress의 표시 유형 속성이 공용으로 설정된 경우에만 이렇게 해야 합니다.
RestaurantSales 패키지에서 SalesCommon 패키지로 가져오기 관계를 만듭니다. 그러면 정규화된 이름을 사용하지 않고 CustomerAddress를 사용할 수 있습니다.
패키지 속성
각 패키지에는 다음과 같은 속성이 있습니다. 속성을 표시하려면 다이어그램 또는 UML 모델 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
속성 |
기본값 |
설명 |
---|---|---|
Name |
(새 이름) |
패키지 이름입니다. 다이어그램 또는 속성 창에서 변경할 수 있습니다. |
정규화된 이름 |
Container :: package name |
이 패키지를 포함하는 모델 또는 패키지의 이름이 앞에 나오는 전체 이름입니다. 자세한 내용은 네임스페이스를 참조하십시오. |
프로필 |
(비어 있음) |
이 패키지에 연결된 프로필 목록입니다. 이러한 프로필은 패키지 내의 요소에 적용할 수 있는 스테레오타입을 제공합니다. 자세한 내용은 프로필 및 스테레오타입을 사용하여 모델 사용자 지정을 참조하십시오. |
표시 유형 |
Public |
부모 패키지 외부에서 패키지의 표시 유형입니다. |
작업 항목 |
(비어 있음) |
연결된 작업 항목의 목록입니다. 자세한 내용은 방법: 모델 요소에서 작업 항목으로 연결을 참조하십시오. |
정의 위치 |
(이름) |
패키지의 세부 정보가 저장되는 파일 이름입니다. 파일은 ModelDefinition 프로젝트 폴더에 있습니다. 이 정보는 소스 제어 용도로 사용될 경우 도움이 됩니다. |
설명 |
(비어 있음) |
패키지에 대한 설명입니다. |
스테레오타입 |
(비어 있음) |
이 패키지에 적용되는 스테레오타입입니다. 사용할 수 있는 스테레오타입 목록은 이 패키지 및 이 패키지를 포함하는 패키지에 대해 선택한 프로필에 따라 결정됩니다. 자세한 내용은 프로필 및 스테레오타입을 사용하여 모델 사용자 지정을 참조하십시오. |
패키지 저장 방식
새 패키지를 만들면 ModelDefinition 프로젝트 폴더에 새 .uml 파일이 만들어집니다. 마찬가지로 패키지인 루트 모델도 .uml 파일에 저장됩니다.
또한 각 다이어그램은 두 개의 파일, 즉 다이어그램의 모양을 나타내는 파일과 모양의 위치를 기록하는 .layout 파일에 저장됩니다.