2014-11-26 3 views
0
내 유스 케이스 다이어그램에서 코드 조각을 가지고

enter image description here보기 및 편집 사용 사례

(그림 참조). 내가 어떻게 View account details 유스 케이스를 주선하는지 모르겠다. 계정을 편집하려면 먼저 상담원이 계정 세부 정보를 열어야합니다 (위 그림 참조). 그런 다음 그는 실제로 계정 세부 사항을 변경하도록 진행할 수 있습니다.

하지만 상담원이 계정 세부 정보를 확인하려는 경우 계정 세부 정보보기 (그림과 같이)를 수행해야합니까? 아니면 실제로 편집을 수행 한 다음 중지 할 때까지 계정 정보 편집을 실행하기에 충분합니까?

+1

위에서 언급 한 다이어그램은 위에서 언급 한 두 번째 설명을 고려할 때 필자의 관점에서 옳은 것입니다. 별도로 계정 정보보기를 시작해야합니다. – TheGaME

+1

일반적으로 모든 CRUD 작업을 하나의 "계정 정보 관리"사용 사례에 포함하고, 작성, 읽기, 업데이트 및 삭제 한 후이 사용 사례의 시나리오가되는 경향이 있습니다. 그러나 @Vivek에서 언급했듯이 UML에서 에이전트와 뷰 계정 세부 정보 간의 연결은 정확합니다. 나는 당신의 저장소 액터에 대해 확신하지 못합니다. 액터는 항상 사용자가 설명하는 시스템의 외부에 있습니다. "리포지토리"는 외부 시스템이 아닌 시스템의 일부처럼 들립니다. –

+0

@GeertBellekens, 리포지토리는 실제로 DB이지만 쿼리하는 다른 DB가 있습니다 (실제 다이어그램은 이보다 조금 더 복잡합니다). 그래서 저는 모든 것을 단순화하고이 DB를 저장소로 요약했습니다. – Robotron

답변

1

사용 사례에 대한 설명을 기반으로 한 귀하의 질문에 대한 대답은 '예'입니다. 개념적으로 문제가있는 이유는보기 계정 세부 사항과 편집 된 계정 세부 사항 사이에 포함 관계를 설정하기 때문입니다. (실제로는 편집 계정 세부 정보에 항상보기 계정 세부 정보가 포함되어 있다고 말하고 있습니다. 실제로는 사실이지만 모델링하려는 항목에는 포함되지 않습니다.)

모델을 작성하는 방법은 포함 항목을 변경하는 것입니다. 확장합니다. 즉, 계정 세부 정보는 항상 볼 수 있지만 편집 할 수도 있고 편집하지 않을 수도 있습니다. 이 경우, 에이전트 액터는 뷰 유스 케이스를 확장 한 결과로 편집과 간접적으로 만 뷰와 상호 작용합니다.

따라서 include를 변경하여 에이전트와 편집 유스 케이스 사이의 연결 바를 확장하고 제거하십시오.

p. 에스. Repository 액터에 인간을 두는 것을 좋아하지 않는다면, 항상 < < 액터 >> 스테레오 타입을 가진 사각형을 넣을 수 있습니다.

1

UseCase 정의는 UseCase 실행 중에 시스템이 외부 엔티티 (액터)와 협업 (상호 작용)한다고 말합니다. "계정 정보보기"UseCase에는 에이전트와의 상호 작용이 포함되어 있다고 생각합니다. 이 유즈 케이스를 Agent 액터와 연결하는 것은 맞습니다.

그런데 다이어그램에서 시스템은 "계정 세부 사항 편집"을 실행하지 않고 "계정 세부 사항보기"를 실행할 수 있습니다. 따라서 에이전트는 시스템 및 에이전트와 어떤 종류의 상호 작용이있을 경우 UseCase에 연결되어야합니다.

+0

나를 혼란스럽게하는 것은 View ... 화면이 표시되면 모든 필드를 편집 할 수 있다는 것입니다. 내 마음 속에서 마치 Edit가 View의 확장 일 뿐인 것처럼 보입니다. 따라서보기에서 편집으로 이동하는 것은 매우 쉽습니다. 상담원은 몇 가지 필드를 업데이트하고이를 저장합니다.그래서 나는 에이전트 편집 링크를 제거하고 <>><로 변경 (같은 방향을 유지)한다 아마 잘 모르겠어요? 나는이 내 최초의 질문의 반대 알고 있지만,이 문제의 내 인식이 그것에 대해 생각보다 변화하고있다. – Robotron

+0

UML 상부 구조 문서에서 용도가 어떻게 정의되는지에 대한 정확한 정보를 찾으십시오. www.uml.org – Vladimir

+0

@Robotron : 귀하의 질문에 답변 한 후이 메모를 보았습니다. 너 혼자서 알아 낸 것 같아! :) 추적을 포함하는 추적을 유지하는 쉬운 방법은 포함이 항상 완료되고 확장이 선택적이라는 것입니다. – BobRodes