패키지 및 패키지 다이어그램이란 무엇입니까?
패키지는 UML에서 각 모델 요소를 구성하고 관리하는 메커니즘입니다. 개념적으로 유사하고 관련된 모델 요소(정적 및 동적 포함)를 패키지로 구성하여 다양한 기능이나 목적을 가진 모듈을 구성하고, 해당 요소의 가시성을 제어할 수 있습니다. 사람들이 복잡한 시스템을 더 잘 이해할 수 있도록 돕는 패키지입니다.
패키지 다이어그램은 패키지 간의 관계로 구성되며, 패키지 간의 관계 설명을 통해 시스템의 다양한 모듈 간의 종속성을 보여줍니다.
이는 운영 체제의 폴더와 유사하므로 UML에서도 유사한 폴더 표기법을 사용하여 표시됩니다.
각 패키지는 동일한 계층 내의 다른 패키지와 다른 이름을 가져야 합니다. 패키지 이름은 두 가지 형식으로 나타납니다.
1. 간단한 이름
다음 예와 같이 단순 이름에는 패키지의 이름 문자열만 포함됩니다.
2. 경로명
대부분의 경우 패키지에는 다른 패키지가 포함되어 있습니다. 패키지의 패키지를 외부에서 사용하는 경우 경로 이름을 사용하여 패키지 경로를 나타낼 수 있습니다. 외부 패키지 이름::이 패키지 이름. 다음 그림은 "Borrow" 패키지가 "SystemInterface" 패키지에 있음을 보여줍니다.
패키지는 그룹화 메커니즘이므로 패키지에는 클래스, 사용 사례, 인터페이스, 구성 요소, 노드 등과 같은 UML의 모든 요소가 포함될 수 있습니다. 또한 다른 패키지, 사용 사례 다이어그램, 협업 다이어그램, 시퀀스 다이어그램 등도 포함될 수 있습니다.
패키지에는 세 가지 주요 요소 가시성 유형이 있습니다.
1. 공개
요소 앞에 "+" 기호를 추가하면 해당 요소가 패키지에 도입된 모든 요소에 표시됩니다.
2. 비공개
요소 앞에 "-" 기호를 추가하면 해당 요소는 동일한 패키지의 요소에만 표시될 수 있습니다.
3. 보호됨
요소 앞에 "#" 기호를 추가하면 해당 요소는 패키지를 상속하는 패키지의 요소에 표시됩니다.
다음 그림은 패키지 요소의 가시성을 나타내는 세 가지 방법을 보여줍니다.
요소에 대한 세 가지 가시성 표현 방법이 포함되어 있습니다.
위 그림에서 세 가지 클래스 "클래스 A", "클래스 B" 및 "클래스 C"의 가시성은 각각 공개, 비공개 및 보호됩니다.
패키지 간의 관계에는 주로 종속 관계와 일반화 관계가 포함됩니다.
1. 의존성
패키지 간의 종속 관계는 두 패키지에 있는 여러 요소 간의 종속성을 나타냅니다. 종속성은 점선 화살표로 표시됩니다. 패키지 간의 종속 관계는 일반화, 구현, 가져오기 등이 될 수 있습니다. 다음 그림은 두 패키지 간의 종속 관계를 보여줍니다.
가져오기 종속성은 한 패키지의 요소가 다른 패키지의 요소에 액세스할 수 있도록 허용하는 것을 의미하며 이는 점선 화살표에 <<import>> 스테레오타입을 추가하여 나타낼 수 있습니다. 가져오기 종속성은 전이적이지 않습니다.
2. 일반화 관계
패키지 간의 일반화 관계는 클래스 간의 일반화 관계와 유사합니다. 이러한 패키지 간의 일반화 관계는 특수 패키지가 일반 패키지의 요소를 대체하고 새 요소를 추가할 수 있음을 의미합니다. 실제로 패키지 간의 일반화도 종속 관계입니다.
다음 그림은 다양한 그래픽이나 표기법으로 표현되는 패키지의 몇 가지 고정관념을 보여줍니다.
패키지 고정관념
위 그림에서 위에서 아래로, 왼쪽에서 오른쪽으로 비즈니스 분석 모델, 비즈니스 시스템(Buesiness System), 비즈니스 유스 케이스 분석 모델(Business Use Case Analysis Model), 도메인 패키지(Domain Package)를 나타냅니다. , 레이어(Layer) 및 서브시스템(Subsystem). 필요에 따라 패키지의 해당 스테레오타입을 선택할 수 있으며, 패키지의 기능을 빠르게 식별할 수 있습니다.
실제 모델링에서는 다음 원칙을 따를 수 있습니다.
1. 재사용 등가 원칙
유사한 재사용 가능 모델 요소를 하나의 패키지에 넣으십시오. 재사용 가능 모델 요소와 재사용 불가능 모델 요소를 하나의 패키지에 혼합하지 마십시오.
2. 공통 재사용 원칙
동일한 애플리케이션에서 재사용해야 하는 여러 모델 요소를 동일한 패키지에 넣어 패키지 간의 종속성을 줄이고 패키지 독립성을 향상시킵니다.
3. 공통 폐쇄의 원리
향후 유지 관리 및 업그레이드를 용이하게 하기 위해 동시에 수정되고 유지 관리될 수 있는 모델 요소를 패키지에 넣습니다.
4. 비순환 의존성의 원리
패키지 간의 종속 관계는 순환을 형성해서는 안 됩니다. 즉, A가 B에 종속되고 B가 A에 종속되거나 여러 패키지가 순환 종속성을 형성하는 현상이 없어야 합니다.
엄밀히 말하면 패키지 다이어그램은 진정한 의미의 UML 다이어그램은 아니지만 모델 요소 분류, 모델 구조 및 프로그램 네임스페이스에서 중요한 역할을 합니다. 실제 모델링 프로세스에서는 다음 방법을 사용하여 패키지 다이어그램을 그릴 수 있습니다.
1. 시스템의 모델 요소를 분석하고 개념적으로나 의미적으로 유사한 모델 요소를 패키지에 통합합니다.
2. 패키지의 각 요소의 가시성을 표시합니다.
3. 패키지 간의 종속성을 결정합니다.
4. 패키지 맵을 그리고 패키지 맵을 최적화합니다.
ProcessOn에서는 UML 다이어그램 파일에 패키지 다이어그램을 생성하거나, 패키지 다이어그램 제작에 관련된 그래픽 요소를 순서도에 추가하여 패키지 다이어그램을 생성할 수 있습니다.
1. 패키지 생성
에디터 왼쪽의 그래픽 컴포넌트 영역에서 UML 일반 그래픽의 "패키지" 요소를 에디터 오른쪽의 빈 영역으로 드래그하면 패키지 생성이 완료됩니다.
ProcessOn을 사용하여 패키지 만들기
2. 패키지 이름 바꾸기
패키지 이름을 바꾸려면 패키지 그래픽에서 "패키지 이름"을 클릭하세요.
3. 패키지에 요소 추가
드로잉 시, 사용자는 에디터 좌측의 그래픽 컴포넌트 영역에서 에디터의 빈 영역으로 그래픽을 직접 드래그하여 그래픽 생성을 완료할 수 있습니다. 그러면 에디터 상단의 툴바와 우측의 툴 패널을 통해 그래픽을 선택하고 그래픽 관련 속성을 설정할 수 있습니다.
패키지에 요소 추가
4. 패키지 간 연결 추가
연결을 그리는 방법은 단축키 "L"을 이용하거나, 왼쪽 그래픽 컴포넌트 영역의 기본 그래픽에서 "직선" 요소를 에디터의 빈 영역으로 드래그하거나, 직접 이동하는 방법이 있습니다. 한 그래픽의 한쪽 끝에서 다른 쪽 끝으로 선을 가져옵니다. 종속 관계를 추가하려면 "종속 패키지"를 선택하고 한쪽 끝을 클릭한 후 "종속 패키지"에 마우스 왼쪽 버튼을 누른 상태에서 마우스를 놓아 종속 관계 설정을 완료합니다.
패키지 사이에 링크 추가
패키지 다이어그램의 구체적인 사용을 설명하기 위해 패키지 다이어그램의 두 가지 예가 아래에 제공됩니다.
첫 번째 예는 시스템 분석 및 설계 단계에 따라 다양한 모델을 구성하기 위해 패키지를 사용하여 모델링 프로세스에서 각 모델 요소의 구성을 반영합니다.
모델링 프로세스 중 각 모델 요소의 구성
두 번째 예는 시스템 개발의 요소 구성을 설명합니다. UI에는 사용되는 다양한 사용자 인터페이스가 포함되어 있고, BLL에는 비즈니스 논리 처리를 위한 다양한 클래스 또는 인터페이스가 포함되어 있으며, DAL에는 데이터 액세스 계층의 관련 클래스가 포함되어 있으며, Common에는 시스템의 다양한 모듈에서 공유하는 일부 구성 요소 또는 클래스가 저장되어 있습니다.
시스템 개발의 다양한 요소 구성