가이드라인: 설계 모델
주제
분석 클래스로부터 설계 요소 식별
분석 모델에 맵핑
구현 모델에 맵핑
우수한 설계 모델의 특성
결과물: 분석 클래스는 설계 요소 인스턴스가 수행하는
역할을 나타냅니다. 이러한 역할은 하나 이상의 설계 모델 요소에 의해 이행됩니다.
또한 단일 설계 요소는 복수의 역할을 이행할 수 있습니다.
다음을 관측하여 분석 역할을 이행할 수 있는 방법을 검토합니다.
- 분석 클래스는 설계 모델에서 단일 설계 클래스가 될 수 있습니다.
- 분석 클래스는 설계 모델에서 설계 클래스의 일부가 될 수 있습니다.
- 분석 클래스는 설계 모델에서 총계 설계 클래스가 될 수 있습니다.
(이 총계의 일부가 명시적으로 분석 클래스로 모델화되지 않을 수 있음을 의미합니다.)
- 분석 클래스는 설계 모델의 동일한 클래스로부터 상속을 받는 설계 클래스 그룹이 될 수 있습니다.
- 분석 클래스는 설계 모델에서 기능적으로 관련된 설계 클래스 그룹이 될 수 있습니다.
- 분석 클래스는 설계 모델 내의 설계 서브시스템이 될 수 있습니다.
- 분석 클래스는 설계 서브시스템의 일부(예: 하나 이상의 인터페이스 및 해당 구현)가 될 수 있습니다.
- 분석 클래스는 설계 모델에서 관계가 될 수 있습니다.
- 분석 클래스 간의 관계는 설계 모델에서 설계 클래스가 될 수 있습니다.
- 분석 클래스는 기본 기능적 요구사항을 처리하며 "문제점" 도메인에 있는
객체를 모델화합니다. 설계 클래스는 비기능적 요구사항을 처리하고
"솔루션" 도메인에 있는 객체를 모델화합니다.
- ***분석 클래스는 하드웨어를 사용하여 지원할 객체는 어느 정도이고 소프트웨어를 사용하여 지원할 객체는
어느 정도인지를 결정하지 않은 상태에서 "시스템이 지원하기를 원하는 객체"를 표현하는 데
사용될 수 있습니다. 따라서 분석 클래스의 일부는 하드웨어에 의해 구현될 수 있으며
설계 모델에는 전혀 모델화되지 않습니다.
위에 설명된 모든 것을 결합할 수 있습니다.
별도의 분석 모델을 유지보수할 경우, 식별된 설계 요소에서 이들이 해당하는 분석 클래스로의
추적성을 유지보수하십시오.
자세한 정보는 분석 모델에 맵핑을 참조하십시오.
이 섹션은 별도의 분석 모델이 유지보수될 경우에만 적용됩니다.
설계 중에, 구조 및 선택한 기술에 더 잘 맞는 분석 모델을 지원하는 설계 요소가 식별됩니다.
분석 모델의 모든 분석 클래스는 최소한 하나의 설계 모델의 설계 클래스와 연관되어 있어야 합니다.
이 추적성을 모델화하려면, 다음 다이어그램에 표시된 대로 이 설계 요소에서 이것이 나타내는
분석 클래스로 << 추적 >> 종속성을 그려야 합니다.

참고: 추적성 링크는 설계 모델 요소에서 분석 모델 요소로 그려지므로
설계 모델은 분석 모델에 종속되며 다른 방법에는 종속되지 않습니다.
설계를 시작하기 전에 설계 모델 내의 클래스를 구현 클래스에 연관시킬 방법을 결정해야 합니다.
이를 프로젝트에 특정한 설계 가이드라인에 기술해야 합니다.
설계 모델은 해당 클래스를 맵핑하는 방법, 구현 클래스에 대한 패키지 및 서브시스템,
파일, 구현 모델 내의 패키지 및 서브시스템에 따라 구현 모델에 훨씬 근접할 수도 있고
덜 근접할 수도 있습니다. 구현 중에, 종종 설계 모델에 영향을 미치지 않는 구현 환경에
관련된 간단한 전략적 문제점도 해결합니다.
예를 들어, 병렬 개발을 처리하거나 가져오기 종속성을 조정하기 위해
구현 중에 클래스 및 서브시스템을 추가할 수 있습니다.
자세한 정보를 보려면 활동:
구현 모델 구성 및 개념:
설계에서 코드로 맵핑을 참조하십시오.
모댈 설계에서 구현 모델로는 일치하는 맵핑이 있어야 합니다.
결과물: 프로젝트 특정 가이드라인은 맵핑을
정의해야 하며 설계 모델 간에는 일치하는 추상 레벨을 적용해야 합니다.
우수한 설계 모델은 다음과 같은 특성을 갖고 있습니다.
- 시스템 요구사항을 만족합니다.
- 구현 환경의 변화에 민감하지 않습니다.
- 다른 가능한 객체 모델 및 시스템 구현과 관련하여 유지보수가 쉽습니다.
- 구현 방법이 명확합니다.
- 프로그램 코드에 잘 문서화된 정보를 포함하지 않습니다.
- 변경된 요구사항에 맞게 쉽게 수정할 수 있습니다.
특정 특성에 대해서는 체크포인트: 설계 모델을 참조하십시오.
|