2014-12-04 2 views
2

첫째, 아직 UML을 처음 접했을뿐입니다. 그러나 매우 흥미가 있으며 가능한 한 많은 것을 배우려고합니다.UML 도메인 모델과 컨텍스트 다이어그램의 차이점

이렇게 말하면서, 나는 컨텍스트 다이어그램을 조립하도록 지시받는 상황에 처해있다. 컨텍스트 다이어그램이 무엇인지, 컨텍스트 다이어그램을 만드는 방법에 대한 개념을 이해하는 것처럼 느껴집니다. 그래서 나는 괜찮다고 생각합니다. 기본적으로 상호 작용할 시스템과 구성 요소 또는 액터를 식별합니다. 그것은 배우가 아닌 시스템에 초점을 맞 춥니 다. 유스 케이스 다이어그램과 비슷하지만 액터에 집중하지 않습니다. 내가 틀렸다면 말해줘.

컨텍스트 다이어그램이 실제로 UML의 일부가 아닌 곳을 읽었습니다. 컨텍스트 다이어그램을 사용하면 물건의 구성 요소 측면에 빠지기도합니다. 도메인 모델에 대해 읽었을 때, 도메인 모델에 있어야하는 것처럼 보입니다.

나의 현재 상황에 대한 간단한 대답은 단순히 다이어그램을 작성하고 계속 진행하면됩니다. 그러나 UML을 더 잘 이해하고 활용하고자하는 나의 이익을 위해 올바른 방법과 잘못된 방법이 있다는 것을 알고 있습니다. 더 큰 프로젝트의 경우, 올바른 방법은 무엇입니까?

여기 내 질문이 시작됩니다. Enterprise Architect를 사용하고, 프로젝트를 만들고, 모델을 만들기 시작합니다. 도메인 모델 또는 구성 요소 모델에 속합니까? 이 둘의 차이점은 무엇입니까? 또는 그 이상. 요구 사항을 확인하는 데 도움이되는 보좌관이므로 거기에 가야합니까? 아니면 단순히 전달할 대상과 방법에 따라 달라질 수 있습니까?

+0

** 컨텍스트 다이어그램 **도 ** 도메인 다이어그램 **은 UML로 정의 된 용어가 아닙니다. 그것들을 사용한다면 그것들을 사용하고있는 방법을 나타내 주시고 정의를 추가하십시오. –

답변

2

도메인 모델은 프로젝트의 모든 사람이 일관된 방식으로 통신하는 데 사용할 어휘를 표준화하는 곳입니다. 개발 팀은 소프트웨어 개발의 전문가이지만 업무를 수행해야하는 도메인 (예 : 은행 업무, 항공 교통 통제, 의료)에 대한 경험이 없을 수도 있습니다. 따라서 도메인 전문가와 모델링 전문가가 함께 도메인을 설명하는 모델을 작성하고 "계정 비용은 어떻게 계산됩니까?"와 같은 중요한 질문에 대답합니다. "조종사가 따라야 할 경로를 어떻게 알 수 있습니까?" 이 모델을 개발 팀에 전달하여 필요한 도메인 지식을 제공합니다. 나는 UML 클래스 다이어그램을 사용하여 도메인 모델을 만들 것이다.

컨텍스트 다이어그램은 외부 시스템과의 관계로 모델링 된 시스템을 보여줍니다. 데이터 흐름 다이어그램 (UML의 일부가 아님)으로 모델링 된 외부 시스템과의주고받는 데이터를 표시 할 수 있습니다. UML 유스 케이스 다이어그램으로 모델링 된 시스템과 외부 "행위자"사이의 행동 상호 작용을 나타낼 수 있습니다. SysML 블록 다이어그램으로 모델링 한 다른 시스템에 대한 시스템의 물리적 연결을 보여줄 수 있습니다. 어떤 것을 선택하든 디자인 문서의 1 페이지에 있으므로 현명하게 선택하십시오!

+0

이것은 어디에, 왜 그리고 어떻게 적용되는지 이해하는 데 많은 도움이됩니다. 도메인 모델에 대한 귀하의 설명은 매우 유용했습니다. 나는 매우 높은 수준에서 도메인에 대한 합리적인 이해를 가졌다. 그러나이 설명은 많은 공란으로 채워졌다. 감사합니다. – Lee

2

앞서 말했듯이 컨텍스트 다이어그램 그 자체는이 UML 사양의 일부가 아닙니다. 컨텍스트 다이어그램을 작성하는 방법은 많지만 UML 방식은 지원 사례 및 시나리오가 있거나없는 유스 케이스 다이어그램을 사용하는 것입니다. 다양한 유형의 컨텍스트 다이어그램에 대한 광범위한 개요 인 this으로 시작하십시오. 그런 다음 유스 케이스 다이어그램, 유스 케이스 내러티브 및 활동 다이어그램을 조사하십시오. 유스 케이스 서술이 쉽게 할 수있는 것보다 더 자세하게 설명해야한다면 유스 케이스 시나리오와 시퀀스 다이어그램으로 들어가십시오. Here은 꽤 유용한 유스 케이스 템플릿입니다 (필요한 범위 이상인 경우 "범위 및 수준"과 같은 섹션을 자유롭게 남겨두고 유스 케이스를 트리거하는 항목과 완료 할 때의 위치에 대한 정보 추가를 고려하십시오) 이 두 가지 시나리오는 시나리오에 필요합니다.

유스 케이스 내러티브와 유스 케이스 시나리오는 종종 혼란 스럽습니다. (어떤 사람들은 내가 혼란 스럽다고 말하고, 너 자신을 위해 그 문제를 판단하도록 권유 할 것이다.) 서술은 전체 (단일) 유스 케이스에 대한 설명이며, 활동 다이어그램으로 뒷받침 될 수있다. 시나리오는 단일 유스 케이스를 통한 단일 경로에 대한 설명이며 시퀀스 다이어그램으로 지원 될 수 있습니다.

예를 들어, 유스 케이스에는 일반적으로 여러 가지 대체 플로우와 함께 이벤트의 기본 플로우가 있습니다. 내러티브는 전체 프로세스를 설명합니다. 기본 흐름과 각 대체 흐름은 각각 별도의 유스 케이스 시나리오가됩니다.

유스 케이스 수준까지 낮춰야 할 것 같지는 않습니다. 아마도 유스 케이스 다이어그램을 함께 사용하고 다이어그램의 각 유스 케이스에 대한 서술 및 활동 다이어그램을 준비 할 수 있습니다.

+0

응답을 읽으면서 문맥 대신 유스 케이스를 수행 할 것을 권장합니다. 저는 컨텍스트 다이어그램이 UML의 일부가 아니라는 점과 제가 아직 배워 보려고 애 쓰고있는 동안 누가 이탈해야한다는 견해에 동의합니다. 앞서 언급했듯이, 나는 '컨텍스트 다이어그램'을 생성하도록 지시 받았기 때문에, 나는 이것에 대한 선택의 여지가 없다. 나는 여기에 붙어있다. 그래서 나는 그것을 최대한 활용하고 내가 할 수있는 것을 배울 것입니다. – Lee

+0

계속 그 이상으로, 나는 당신이 제공 한 것을 존중합니다. 지난 2 ~ 3 년 동안 흩어져있는 이해를 통해 얻은 것보다 더 많은 것을 배웠습니다. 귀하의 계층 적 붕괴는 제가 지금까지 발견 한 것보다 더 잘 이해할 수 있도록 도와줍니다. 나는 어디에도 그것을 발견 할 수 없다. 여기에 다이어그램이 있습니다. 무엇을 위해, 어떻게 만드는지, blah blah입니다. 1 다이어그램으로 잘라 내지 않습니다. 나는 그들이 큰 그림을 위해 어떻게 묶여 있어야하는지에 대한 붕괴를 발견 할 수 없다. 나를 UML 전문가로 만들지는 않았지만 도구 상자를 개선하여 유스 케이스를 확장하고 더 유용하게 만들었습니다. – Lee

+0

컨텍스트 다이어그램을 작성하도록 지시받은 사람은 그 컨텍스트 다이어그램을 작성한 사람에게 물어 보는 것이 좋습니다. UML에는 컨텍스트 다이어그램이 정의되어 있지 않습니다. –

3

요소 합성을 통해 컨텍스트 다이어그램을 만들 수 있습니다. 그런 다음 요소 자체를 해당 다이어그램에 링크 (예 :!)로 끌어다 놓고 테두리를 조금 더 두껍게 강조 표시하십시오. 마지막으로 컨텍스트 메뉴에서 관련 요소를 삽입하십시오 (EA 버전과 버전이 다릅니다). 다이어그램 레이아웃을 작성하면 이제 컨텍스트에서 요소를 갖게됩니다.

도메인 모델은 일반적으로 상위 추상화 수준에서 (비즈니스) 도메인을 보여주는 클래스 다이어그램입니다.

+0

노력에 감사 드리며 드로잉 측면에 익숙합니다. 그 이름에 따라 도메인의 일부를 이해하고 목표와 그 각각의 다이어그램과 어떻게 관련되는지 이해합니다. 그림은 쉽습니다.그것은 모든 다양한 모델, 다이어그램 및 문서들 사이의 상호 연결성 인 것 같습니다. 어떻게 조직되고 묶여 야합니다. 가장 어려움을 겪고 있습니다. – Lee

+0

그럼, 아마도 StackOverflow에서 질문하는 것이 아닙니다. 아무튼 : 문맥 다이어그램은 단일 요소에 초점을 맞추고 다른 요소와의 관계를 보여줍니다. 그것은 하나의 다이어그램입니다. 대조적으로 도메인 모델은 모델이라고도하며 다이어그램 집합입니다. 도메인 모델에서는 해당 도메인을 도메인 객체를 나타내는 여러 클래스로 추상화합니다. 도메인 모델은 전체를 이해하는 데 도움이됩니다. 컨텍스트 다이어그램은 개별 요소를 이해하는 데 도움이됩니다. –

+0

/OT @ThomasKilian 내가 너에게 말했어. 너는 빨리 여기서 대표자를 얻을거야. 내가 많이 약속 했니? 당신이 그것을 즐기길 바래, 시아! –

관련 문제