가이드라인: 디자인 모델
이 가이드라인은 분석 모델에서 디자인 모델을 도출하는 방법을 설명합니다.
관계
관련 요소
기본 설명

분석 클래스에서 디자인 요소 식별 맨 위 페이지

중간 산출물: 분석 클래스는 디자인 요소의 인스턴스가 수행하는 역할을 표시합니다. 하나 이상의 디자인 모델 요소에서 이 역할을 수행할 수 있습니다. 또한 단일 디자인 요소가 다중 역할을 수행할 수 있습니다. 다음 관찰 내용에서는 분석 역할을 수행하는 방법을 논의합니다.

  • 분석 클래스는 디자인 모델에서 단일 디자인 클래스가 될 수 있습니다.
  • 분석 클래스는 디자인 모델에서 디자인 클래스의 파트가 될 수 있습니다.
  • 분석 클래스는 디자인 모델에서 집계 디자인 클래스가 될 수 있습니다. 즉, 명시적으로 이 집계의 파트를 분석 클래스로 모델링할 수 없음을 의미합니다.
  • 분석 클래스는 디자인 모델의 동일한 클래스에서 상속하는 디자인 클래스 그룹이 될 수 있습니다.
  • 분석 클래스는 디자인 모델에서 기능적으로 관련된 디자인 클래스 그룹이 될 수 있습니다.
  • 분석 클래스는 디자인 모델에서 디자인 서브시스템이 될 수 있습니다.
  • 분석 클래스는 디자인 서브시스템의 파트(예: 하나 이상의 인터페이스 및 해당 구현)가 될 수 있습니다.
  • 분석 클래스는 디자인 모델에서 관련될 수 있습니다.
  • 분석 클래스 간 관계는 디자인 모델에서 디자인 클래스가 될 수 있습니다.
  • 분석 클래스는 주로 기능적 요구사항 및 "문제점" 도메인의 모델 오브젝트를 처리합니다. 디자인 클래스는 비기능적 요구사항 및 "솔루션" 도메인의 모델 오브젝트를 처리합니다.
  • 분석 클래스를 사용하여 "시스템에서 지원할 오브젝트"를 표시할 수 있습니다. 이때 하드웨어 및 소프트웨어에서 각각 어느 정도의 오브젝트를 지원하는지는 결정하지 않습니다. 따라서 분석 클래스의 파트는 하드웨어에서는 실현될 수 있지만 디자인 모델에서는 전혀 모델링되지 않습니다.

위 항목의 조합도 가능합니다.

별도의 분석 모델을 유지보수하는 경우 식별된 디자인 요소에서 이에 해당하는 분석 클래스까지 추적성을 유지보수해야 합니다. 자세한 정보는 분석 모델에 맵핑을 참조하십시오.

분석 모델에 맵핑 맨 위 페이지

이 섹션은 별도의 분석 모델을 유지보수하는 경우에만 적용됩니다.

디자인 도중, 아키텍처 및 선택된 기술에 가깝게 맞추도록 지원되는 디자인 요소가 식별됩니다. 분석 모델의 모든 분석 클래스는 디자인 모델의 디자인 클래스 하나 이상과 연관되어야 합니다.

이 추적성을 모델링하려면 다음 다이어그램에 표시된 대로 <<추적>> 종속성을 디자인 요소에서 분석 클래스로 유도해야 합니다. 

다이어그램에서는 추적 종속성을 표시합니다.

참고: 추적성 링크는 디자인 모델 요소에서 분석 모델 요소 유도됩니다. 따라서 디자인 모델은 분석 모델에 종속되며 다른 방식은 허용되지 않습니다.

구현 모델에 맵핑

구현 클래스와 관련되어야 하는 디자인 모델의 클래스 수는 디자인을 시작하기 전에 결정해야 합니다. 이 내용은 프로젝트에 특정한 디자인 가이드라인에서 설명합니다.

디자인 모델은 구현 모델의 클래스, 패키지 및 서브시스템을 구현 모델의 구현 클래스, 파일, 패키지 및 서브시스템에 맵핑하는 방법에 따라 구현 모델에 다소 가까울 수 있습니다. 구현 중에 디자인 모델에는 영향을 주지 않는 구현 환경과 관련된 사소한 전략적인 문제를 종종 처리합니다. 예를 들어 구현 중에 병렬 개발을 처리하거나 가져오기 종속성을 조정하기 위해 클래스 및 서브시스템을 추가할 수 있습니다. 자세한 정보는 타스크: 구현 모델 구성기법: 디자인에서 코드로 맵핑을 참조하십시오.

디자인 모델에서 구현 모델로의 맵핑은 일치해야 합니다. 중간 산출물: 프로젝트 가이드라인에서 이 맵핑을 정의해야 합니다. 디자인 모델에 일치하는 추상 레벨을 적용해야 합니다.

좋은 디자인 모델의 특성

다음은 좋은 디자인 모델의 특성입니다.

  • 시스템 요구사항을 만족합니다.
  • 구현 환경의 변경에 저항합니다.
  • 기타 가능한 오브젝트 모델 및 시스템 구현과 관련한 유지보수는 용이합니다.
  • 구현 방법이 명확합니다.
  • 프로그램 코드에서 가장 잘 문서화된 정보를 포함하지 않습니다.
  • 요구사항의 변경에 쉽게 적응됩니다.

특정한 특성은 체크리스트: 디자인 모델을 참조하십시오.