다음을 통해 공유


모델링 솔루션 구성

개발 프로젝트에서 모델을 효과적으로 사용하기 위해서는 팀 멤버가 프로젝트의 여러 부분에 대한 모델로 동시에 작업할 수 있어야 합니다. 이 항목에서는 전체 레이어 다이어그램의 레이어에 해당하는 각각의 부분으로 응용 프로그램을 나누는 방법을 설명합니다.

프로젝트 또는 하위 프로젝트를 빠르게 시작하려면 선택한 프로젝트 구조를 따르는 프로젝트 템플릿을 사용하는 것이 좋습니다. 이 항목에서는 이러한 템플릿을 만들고 사용하는 방법에 대해 설명합니다.

이 항목에서는 여러 팀 멤버와 여러 팀에서 사용하기에 충분한 크기의 프로젝트에 대한 작업을 수행한다고 가정합니다. 프로젝트의 코드와 모델은 Team Foundation Server와 같은 소스 제어 시스템에 저장됩니다. 적어도 일부 팀원에 게 Visual Studio 최종 개발 모델을 사용 하 고 다른 팀 멤버가 다른를 사용 하 여 모델을 볼 수 있습니다 Visual Studio 버전입니다.

솔루션 구조

중간 규모 또는 대규모 프로젝트에서 팀의 구조는 응용 프로그램의 구조를 기반으로 합니다. 각 팀은 Visual Studio 솔루션을 사용합니다.

응용 프로그램을 여러 레이어로 분할하려면

  1. 솔루션의 구조는 응용 프로그램(예: 웹 응용 프로그램, 서비스 응용 프로그램, 데스크톱 응용 프로그램 등)의 구조를 기반으로 합니다. Application Archetypes in the Microsoft Application Architecture Guide에 다양한 일반 아키텍처가 설명되어 있습니다.

  2. Visual Studio 솔루션을 만듭니다. 이 솔루션을 아키텍처 솔루션이라고 합니다. 이 솔루션은 시스템의 전체적인 디자인을 만드는 데 사용됩니다. 이 솔루션은 모델을 포함하지만 코드를 포함하지 않습니다.

    이 솔루션에 레이어 다이어그램을 추가합니다. 레이어 다이어그램에서 응용 프로그램에 대해 선택한 아키텍처를 그립니다. 예를 들어 다이어그램에 프레젠테이션, 비즈니스 논리 및 데이터 레이어와 이들 레이어 간의 종속성을 표시할 수 있습니다.

    아키텍처 메뉴에서 새 다이어그램 명령을 사용하여 레이어 다이어그램과 새 Visual Studio 솔루션을 동시에 만들 수 있습니다.

  3. 중요한 비즈니스 개념을 나타내는 UML 다이어그램과 모든 레이어의 디자인에서 참조되는 사용 사례를 아키텍처 모델에 추가합니다.

  4. 아키텍처 레이어 다이어그램의 레이어마다 별도의 Visual Studio 솔루션을 만듭니다.

    이 솔루션은 레이어의 코드를 개발하는 데 사용됩니다.

  5. 레이어의 디자인을 나타내는 UML 모델과 모든 레이어에 공통되는 개념을 만듭니다. 아키텍처 솔루션에서 모든 모델을 볼 수 있고 각 레이어에서 관련 모델을 볼 수 있도록 모델을 정렬합니다.

    이를 위해 다음 중 하나의 절차를 사용합니다. 레이어마다 별도의 모델링 프로젝트를 만들거나 레이어 간에 공유되는 단일의 모델링 프로젝트를 만듭니다.

    레이어마다 별도의 모델링 프로젝트를 사용하려면

    1. 각 레이어 솔루션에서 모델링 프로젝트를 만듭니다.

      이 모델은 레이어의 요구 사항과 디자인을 설명하는 UML 다이어그램을 포함합니다. 또한 중첩된 레이어를 표시하는 레이어 다이어그램을 포함할 수 있습니다.

      이제 레이어마다 하나의 모델과 응용 프로그램 아키텍처에 대한 하나의 모델이 있습니다. 각 모델은 자체 솔루션에 포함되어 있습니다. 이를 통해 팀 멤버가 레이어 작업을 동시에 수행할 수 있습니다.

    2. 아키텍처 솔루션에 각 레이어 솔루션의 모델링 프로젝트를 추가합니다. 이렇게 하려면 아키텍처 솔루션을 엽니다. 솔루션 탐색기에서 솔루션 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 기존 프로젝트를 클릭합니다. 레이어 솔루션 중 하나에서 모델링 프로젝트(.modelproj)를 찾습니다.

      이제 각 모델이 두 솔루션("홈" 솔루션 및 아키텍처 솔루션)에 표시됩니다.

    3. 각 레이어의 모델링 프로젝트에 레이어 다이어그램을 추가합니다. 아키텍처 레이어 다이어그램의 복사본으로 시작합니다. 레이어 다이어그램의 종속되지 않는 부분을 삭제할 수 있습니다.

      이 레이어의 자세한 구조를 나타내는 레이어 다이어그램을 추가할 수도 있습니다.

      이러한 다이어그램은 이 레이어에서 개발되는 코드의 유효성을 검사하는 데 사용됩니다.

    4. 아키텍처 솔루션에서 Visual Studio Ultimate를 사용하여 모든 레이어의 요구 사항과 디자인 모델을 편집합니다.

      각 레이어 솔루션에서 모델을 참조하여 레이어에 대한 코드를 개발합니다. 동일한 컴퓨터를 사용하여 모델을 업데이트하지 않고 개발 작업을 수행하려는 경우 Visual Studio Premium을 사용하여 모델을 읽고 코드를 개발할 수 있습니다. Visual Studio Premium의 모델에서 코드를 생성할 수도 있습니다.

    이 방법을 사용하면 레이어 모델을 동시에 편집하는 다른 개발자로 인해 방해를 받지 않습니다.

    하지만 모델이 서로 별개이기 때문에 공통 개념을 참조하기가 어렵습니다. 각 모델은 다른 레이어 및 아키텍처에 종속되는 요소의 자체 복사본이 있어야 합니다. 각 레이어의 레이어 다이어그램은 아키텍처 레이어 다이어그램과 동기화되어야 합니다. 레이어 다이어그램을 동기화하는 도구를 개발할 수 있지만, 각 요소가 변경될 경우 동기화된 상태를 유지하기가 어렵습니다.

    레이어마다 별도의 패키지를 사용하려면

    1. 각 레이어의 솔루션에서 아키텍처 모델링 프로젝트를 추가합니다. 솔루션 탐색기에서 솔루션 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 기존 프로젝트를 클릭합니다. 이제 모든 솔루션에서 단일 모델링 프로젝트(아키텍처 프로젝트 및 각 레이어의 개발 프로젝트)에 액세스할 수 있습니다.

    2. 공유 UML 모델에서 레이어마다 하나의 패키지를 만듭니다. 솔루션 탐색기에서 모델링 프로젝트를 선택합니다. UML 모델 탐색기에서 모델 루트 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 패키지를 클릭합니다.

      각 패키지는 해당 레이어의 요구 사항과 디자인을 설명하는 UML 다이어그램을 포함합니다.

    3. 필요한 경우 각 레이어의 내부 구조에 대한 로컬 레이어 다이어그램을 추가합니다.

    이 방법에서는 각 레이어의 디자인 요소가 종속되는 레이어 및 공통 아키텍처의 디자인 요소를 직접 참조할 수 있습니다.

    여러 패키지에 대한 동시 작업으로 인해 몇 가지 충돌이 발생할 수 있지만 패키지가 별도의 파일에 저장되기 때문에 관리가 매우 용이합니다. 종속 패키지에서 참조되는 요소를 삭제하면 중요한 문제가 발생합니다. 자세한 내용은 버전 제어에서 모델 및 그래프 관리를 참조하십시오.

아키텍처 템플릿 만들기

실제로는 모든 Visual Studio 솔루션을 동시에 만들지 않고 프로젝트를 진행하면서 추가합니다. 동일한 솔루션 구조를 이후의 프로젝트에서 사용할 수도 있습니다. 새 솔루션을 빠르게 만들려면 솔루션 또는 프로젝트 템플릿을 만들 수 있습니다. 다른 컴퓨터에 쉽게 배포하여 설치할 수 있도록 Visual Studio Integration Extension(VSIX)에서 템플릿을 캡처할 수 있습니다.

예를 들어 프레젠테이션, 비즈니스 및 데이터 레이어를 포함하는 솔루션을 자주 사용하는 경우 해당 구조를 포함하는 새 솔루션을 만드는 템플릿을 구성할 수 있습니다.

솔루션 템플릿을 만들려면

  1. 템플릿 내보내기 마법사가 설치되지 않은 경우 템플릿 내보내기 마법사를 다운로드하여 설치합니다.

  2. 향후 프로젝트에 대한 출발점으로 사용할 솔루션 구조를 만듭니다.

  3. 파일 메뉴에서 VSIX로 내보내기를 클릭합니다. VSIX로 내보내기 마법사가 열립니다.

  4. 마법사의 지침에 따라 템플릿에 포함시킬 프로젝트를 선택하고 템플릿에 대한 이름과 설명을 제공한 다음 출력 위치를 지정합니다.

참고

이 항목의 자료는 MVP(Most Valued Professional), Microsoft Services, Visual Studio 제품 팀 및 작성자가 공동으로 작업하고 Visual Studio ALM Rangers가 작성한 Visual Studio 2010 Architecture Tooling Guidance에서 발췌하여 부연 설명을 추가했습니다.전체 지침 패키지를 다운로드하려면 여기를 클릭하십시오.

관련 자료

Organizing and Managing Your Models - 비디오 제공: Clint Edmondson.

Visual Studio 아키텍처 도구 사용 지침 – 팀에서 모델을 관리하는 데 대한 자세한 지침

참고 항목

참조

버전 제어에서 모델 및 그래프 관리

개념

개발 프로세스에서 모델 사용