방법: 아티팩트에서 레이어 다이어그램 만들기
Visual Studio Ultimate에서는 레이어 다이어그램을 사용하여 시스템의 상위 수준 아키텍처를 시각화하고 코드가 이 디자인을 따르는지 확인할 수 있습니다. 이 작업을 수행하려면 Visual Studio 솔루션의 아티팩트를 논리적 추상 그룹, 즉 레이어로 구성하고 연결합니다. 이러한 레이어는 솔루션 아티팩트가 수행하는 주요 작업이나 시스템의 주요 구성 요소를 나타냅니다.
레이어 간의 화살표는 레이어가 다른 레이어의 기능을 사용할 수 있는지 여부를 나타내는 종속성을 나타냅니다. 코드에 아키텍처 제약 조건을 적용하려면 다이어그램에서 의도한 종속성을 나타낸 다음 해당 다이어그램에 대해 코드 유효성을 검사합니다. 이와 같은 방식으로 레이어 다이어그램을 사용하면 코드 이해, 업데이트, 재사용 및 유지 관리를 보다 쉽게 할 수 있습니다.
레이어 다이어그램에 대한 자세한 내용은 다음 항목을 참조하십시오.
항목 내용
레이어 다이어그램 만들기
기존 아티팩트에서 레이어 만들기
레이어와 아티팩트 간의 링크 관리
기존 종속성 리버스 엔지니어링
계획된 디자인을 표시하도록 레이어 다이어그램 업데이트
다이어그램의 요소 모양 변경
레이어 다이어그램 만들기
모델링 프로젝트 내에 레이어 다이어그램을 만들어야 합니다. 기존 모델링 프로젝트에 새 레이어 다이어그램을 추가하거나 새 레이어 다이어그램의 솔루션에서 새 모델링을 만들 수 있습니다.
모델링 프로젝트에 새 레이어 다이어그램을 추가하려면
아키텍처 메뉴에서 새 다이어그램을 클릭합니다.
템플릿에서 레이어 다이어그램을 클릭합니다.
다이어그램 이름을 지정합니다.
모델링 프로젝트에 추가에서 솔루션의 기존 모델링 프로젝트를 찾아 선택합니다.
또는
새 모델링 프로젝트 만들기를 클릭하여 솔루션에 새 모델링 프로젝트를 추가합니다.
참고
레이어 다이어그램은 모델링 프로젝트 내에 있어야 합니다. 그러나 솔루션의 다른 위치에 있는 아티팩트에 레이어 다이어그램을 연결할 수도 있습니다.
동일한 모델링 프로젝트 내에서 기존 레이어 다이어그램을 복사할 수도 있습니다.
참고
한 모델링 프로젝트에서 다른 모델링 프로젝트나 솔루션의 다른 위치로 기존 레이어 다이어그램을 추가하거나 끌어 놓거나 복사하지 마십시오. 이렇게 복사한 레이어 다이어그램은 수정해도 원본 다이어그램과 동일한 참조를 갖게 되어 레이어 유효성 검사가 제대로 작동하지 못하고 다이어그램을 열려고 할 때 요소 누락이나 기타 오류 등의 다른 문제가 발생할 수 있습니다.
레이어 다이어그램을 복사하려면 다음 단계를 수행하십시오.
기존 레이어 다이어그램을 복사하려면
모델링 프로젝트에 새 레이어 다이어그램을 추가합니다.
소스 레이어 다이어그램에서 새 레이어 다이어그램으로 요소를 복사합니다.
아티팩트에서 레이어 만들기
Visual Studio 솔루션의 프로젝트, 코드 파일, 네임스페이스, 클래스 및 메서드 같은 아티팩트에서 레이어를 만들 수 있습니다. 이렇게 하면 레이어 유효성 검사 프로세스에 포함되는 아티팩트와 이러한 레이어 간에 링크가 자동으로 만들어집니다. 레이어 유효성 검사를 지원하지 않는 특정 유형의 아티팩트에 레이어를 연결할 수도 있습니다. 예를 들어 Word 문서나 PowerPoint 프레젠테이션 등의 파일에 레이어를 연결할 수 있습니다. 이 방법은 사양 또는 계획을 레이어에 연결할 때 유용합니다. 연결된 아티팩트가 유효성 검사를 지원하는지 여부를 확인하려면 레이어 탐색기를 열고 아티팩트의 유효성 검사 지원 속성을 확인합니다. 자세한 내용은 레이어와 아티팩트 간의 링크 관리를 참조하십시오.
각 레이어는 다이어그램에서 사각형으로 나타나며 보다 세부적인 작업을 나타내는 중첩된 레이어를 포함할 수 있습니다. 레이어 패턴에 대한 자세한 내용은 Patterns & Practices 웹 사이트를 참조하십시오.
레이어의 숫자는 해당 레이어에 연결된 아티팩트의 수를 나타냅니다. 그러나 이 숫자를 읽을 때 다음 사항을 유념해야 합니다.
레이어가 직접 연결되지 않은 다른 아티팩트를 포함하는 아티팩트에 연결된 경우 연결된 아티팩트만 숫자에 포함됩니다. 그러나 레이어 유효성 검사 중에는 직접 연결되지 않은 다른 아티팩트도 분석을 위해 포함됩니다.
예를 들어 레이어가 단일 네임스페이스에 연결된 경우 해당 네임스페이스에 클래스가 들어 있더라도 연결된 아티팩트의 수는 1입니다. 레이어가 네임스페이스의 각 클래스에도 연결되어 있으면 연결된 클래스가 숫자에 포함됩니다.
레이어가 아티팩트에 연결된 다른 레이어를 포함하면 컨테이너 레이어가 이 아티팩트에도 연결됩니다. 단, 컨테이너 레이어의 숫자에는 이러한 아티팩트가 포함되지 않습니다.
레이어 다이어그램을 만들 때 코드를 탐색하고 이해하는 데 도움이 되도록 종속성 그래프를 만들 수 있습니다. 이 그래프는 코드에서 클러스터, 패턴, 자연 레이어 및 종속성을 찾는 데 유용합니다. 이를 통해 아티팩트를 쉽게 레이어에 할당할 수 있습니다. 아키텍처 탐색기를 사용하여 네임스페이스와 클래스를 탐색할 수도 있습니다. 이러한 요소는 종종 기존 레이어에 대응합니다. 그런 다음 레이어 다이어그램을 사용하여 코드를 업데이트할 수 있습니다.
자세한 내용은 다음 항목을 참조하십시오.
다음 작업으로 레이어를 만들 수 있습니다.
작업 |
수행할 단계 |
---|---|
단일 아티팩트에 대한 레이어 만들기 |
|
선택한 모든 아티팩트에 대한 단일 레이어 만들기 |
모든 아티팩트를 동시에 레이어 다이어그램으로 끌어 옵니다. 레이어가 다이어그램에 나타나고 모든 아티팩트에 연결됩니다. |
선택한 각 아티팩트마다 레이어 만들기 |
Shift 키를 누른 상태에서 모든 아티팩트를 동시에 레이어 다이어그램으로 끌어 옵니다.
참고
Shift 키를 사용하여 항목 범위를 선택할 경우 아티팩트를 선택한 후에 키를 놓습니다.그런 다음 이 키를 다시 누른 상태로 아티팩트를 다이어그램으로 끌어 옵니다.
각 아티팩트에 대한 레이어가 다이어그램에 나타나고 각 아티팩트에 연결됩니다. |
레이어에 아티팩트 추가 |
아티팩트를 레이어로 끌어 옵니다. |
연결되지 않은 새 레이어 만들기 |
도구 상자에서 레이어 다이어그램 구역을 확장한 다음 레이어를 레이어 다이어그램으로 끌어 옵니다. 레이어를 여러 개 추가하려면 이 도구를 두 번 클릭합니다. 작업이 끝난 후에는 포인터 도구를 클릭하거나 Esc 키를 누릅니다. -또는- 레이어 다이어그램을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 레이어를 클릭합니다. |
중첩된 레이어 만들기 |
기존 레이어를 다른 아티팩트로 끌어 옵니다. -또는- 레이어를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 레이어를 클릭합니다. |
기존 레이어를 두 개 이상 포함하는 새 레이어 만들기 |
레이어를 선택하고 선택한 레이어를 마우스 오른쪽 단추로 클릭한 다음 그룹화를 클릭합니다. |
레이어 색 변경 |
레이어의 색 속성을 원하는 색으로 설정합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 속하지 않도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 종속될 수 없도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 종속성 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스 중 하나에 속해야 하도록 지정합니다. |
레이어의 필요한 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 아티팩트 간의 링크 관리
레이어 다이어그램에서 레이어를 마우스 오른쪽 단추로 클릭하고 링크 보기를 클릭합니다.
레이어 탐색기에 선택한 레이어에 대한 아티팩트 링크가 표시됩니다.
다음 작업으로 이러한 링크를 관리할 수 있습니다.
작업 |
레이어 탐색기에서 수행할 단계 |
---|---|
레이어와 아티팩트 간의 링크 삭제 |
아티팩트 링크를 마우스 오른쪽 단추로 클릭하고 삭제를 클릭합니다. |
한 레이어에서 다른 레이어로 링크 이동 |
아티팩트 링크를 다이어그램의 기존 레이어로 끌어 옵니다. -또는-
|
한 레이어에서 다른 레이어로 링크 복사 |
|
기존 아티팩트 링크에서 새 레이어 만들기 |
아티팩트 링크를 다이어그램의 빈 영역으로 끌어 옵니다. |
연결된 아티팩트가 레이어 다이어그램에 대한 유효성 검사를 지원하는지 확인 |
아티팩트 링크의 유효성 검사 지원 열을 검토합니다. |
기존 종속성 리버스 엔지니어링
한 레이어와 연결된 아티팩트에 다른 레이어와 연결된 아티팩트에 대한 참조가 있을 때마다 종속성이 존재합니다. 예를 들어 한 레이어의 클래스가 다른 레이어의 클래스를 포함하는 변수를 선언하는 경우입니다. 다이어그램의 레이어에 연결된 아티팩트에 대한 기존 종속성을 리버스 엔지니어링할 수 있습니다.
참고
일부 아티팩트 종류의 경우 종속성을 리버스 엔지니어링할 수 없습니다. 예를 들어 텍스트 파일에 연결된 레이어를 소스 또는 대상으로 하는 종속성은 리버스 엔지니어링되지 않습니다. 리버스 엔지니어링할 수 있는 종속성이 있는 아티팩트를 확인하려면 하나 또는 여러 개의 레이어를 마우스 오른쪽 단추로 클릭하고 링크 보기를 클릭합니다. 그런 다음 레이어 탐색기에서 유효성 검사 지원 열을 검토합니다. 이 열에 False가 표시된 아티팩트에 대해서는 종속성이 리버스 엔지니어링되지 않습니다.
레이어 간의 기존 종속성을 리버스 엔지니어링하려면
- 하나 또는 여러 개의 레이어를 선택하고 그 중 하나를 마우스 오른쪽 단추로 클릭한 다음, 종속성 생성을 클릭합니다.
일반적으로 존재할 수 없는 일부 종속성이 나타나는데, 이러한 종속성을 편집하여 계획된 디자인에 맞출 수 있습니다.
계획된 디자인을 표시하도록 다이어그램 업데이트
계획한 변경 내용이나 원하는 아키텍처를 표시하려면 레이어 다이어그램을 업데이트합니다.
작업 |
수행할 단계 |
---|---|
존재할 수 없는 종속성 삭제 |
종속성을 클릭하고 Delete 키를 누릅니다. |
종속성 방향 변경 또는 제한 |
방향 속성을 설정합니다. |
새 종속성 만들기 |
종속성 및 양방향 종속성 도구를 사용합니다. 종속성을 여러 개 그리려면 이 도구를 두 번 클릭합니다. 작업이 끝난 후에는 포인터 도구를 클릭하거나 Esc 키를 누릅니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 종속될 수 없도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 종속성 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스에 속하지 않도록 지정합니다. |
레이어의 사용할 수 없는 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
레이어와 연결된 아티팩트가 지정된 네임스페이스 중 하나에 속해야 하도록 지정합니다. |
레이어의 필요한 네임스페이스 속성에 네임스페이스를 입력합니다. 세미콜론(;)을 사용하여 네임스페이스를 구분합니다. |
다이어그램의 요소 모양 변경
레이어 및 종속성을 쉽게 식별하거나 팀 멤버와 레이어 및 종속성에 대해 토론하려면 다음 방법으로 다이어그램의 모양 및 레이아웃을 편집합니다.
레이어의 크기, 모양 및 위치를 변경합니다.
레이어 및 종속성의 색을 변경합니다.
레이어 또는 종속성을 선택합니다.
선택한 레이어 또는 종속성을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
속성 창에서 색 속성을 변경합니다.