저는 이제 NetBeans를 IDE-of-choice로 사용하고 있으며 UML 모델링을위한 플러그인이 있습니다. 클래스 다이어그램에서,도 알려진 모델 요소는 Boundary Class
, Control Class
, 및 Entity Class
. 그러나 좋은 정의를 찾을 수는 없지만 UML 클래스 다이어그램 에서이 사이트 를 찾았습니다 .
답변:
견고성 다이어그램은 유스 케이스 이후와 클래스 다이어그램 이전에 작성됩니다. 사용 사례 단계의 역할을 식별하는 데 도움이됩니다. 이를 사용하여 구축중인 시스템에 대한 사용 요구 사항을 나타낼 수 있을만큼 사용 사례가 충분히 견고하다는 것을 확인할 수 있습니다.
여기에는 다음이 포함됩니다.
모델-뷰-컨트롤러 패턴이 사용자 인터페이스에 사용되는 반면, ECB (Entity-Control-Boundary Pattern)는 시스템에 사용됩니다. 도움이되는 경우 ECB의 다음 측면을 MVC의 추상 버전에 비유 할 수 있습니다.
엔터티 (모델)
종종 도메인 모델에서 시스템 데이터를 나타내는 개체입니다.
경계 (뷰 / 서비스 협력자)
시스템 행위자와 인터페이스하는 객체 (예 : 사용자 또는 외부 서비스 ). 창, 화면 및 메뉴는 사용자와 상호 작용하는 경계의 예입니다.
컨트롤 (컨트롤러)
경계와 엔티티 사이를 중재하는 개체입니다. 이러한 요소는 경계 요소와 엔티티 요소 사이의 접착제 역할을하여 다양한 요소와 해당 상호 작용을 관리하는 데 필요한 논리를 구현합니다. 설계 내에서 객체가 아닌 다른 것으로 컨트롤러를 구현하기로 결정할 수 있음을 이해하는 것이 중요합니다. 많은 컨트롤러는 예를 들어 엔티티 또는 경계 클래스의 메서드로 구현할 수있을만큼 간단합니다.
커뮤니케이션에는 네 가지 규칙이 적용됩니다.
통신 허용 :
Entity Boundary Control
Entity X X
Boundary X
Control X X X
OOAD 및 비즈니스 모델링과 함께 /의 일부로 자주 사용됩니다. Neil의 정의는 정확하지만 기본적으로 MVC와 동일하지만 비즈니스를 위해 추상화되었습니다. "좋은 요약"은 잘 작성되었으므로 여기에 복사하지 않겠습니다. 이것은 제 작업이 아니기 때문에 더 자세하지만 Neil의 글 머리 기호와 일치합니다.
이들은 분석에 사용되는 클래스 고정 관념입니다.
경계 클래스는 사용자 또는 다른 시스템이 상호 작용하는 클래스 인 시스템의 경계에있는 클래스입니다.
엔티티 클래스 클래스는 "사람"및 "은행 계좌"와 같은 일반적인 비즈니스 엔티티입니다.
제어 클래스는 일부 비즈니스 로직 또는 기타를 구현합니다.
경계 제어 엔티티 패턴에는 두 가지 버전이 있습니다.
-127에 설명 된 이전 구조 (데이터 모델 요소로서의 엔티티, 기능으로서의 제어, 애플리케이션 인터페이스로서의 경계)
-새 오브젝트 패턴 오브젝트 패턴
으로서 :
-경계는 "에 대한 인터페이스입니다. other world "
-모든 내부 로직의 제어 (DDD 패턴의 서비스와 같은)
-엔티티는 객체 (DDD 패턴의 저장소와 같은)에 대한 지속성 서비스입니다.
모든 클래스에는 작업이 있습니다 (Fowler 빈혈 도메인 모델 안티 패턴 참조)
모두 MVC 패턴의 모델 구성 요소입니다. 규칙 :
-Boundary만이 "다른 세계"에 서비스를 제공합니다.
-Boundary는 Controll에게만
호출 할 수 있습니다.-Control은 누구에게나 호출 할 수 있습니다.
-엔티티는 누구도 호출 할 수 없으며 (!) 호출 만 가능합니다.
jz
실제로 견고성 다이어그램 (또는 분석 다이어그램이라고도 함)은 특수한 클래스 다이어그램 일뿐입니다. 이들은 UML의 일부이며 처음부터 사용되었습니다 ( "Three Amigos"시리즈의 일부인 Jacobson의 책 The Unified Software Development Process 참조). 앞서 언급 한 책은 pp 183-185에서이 세 가지 클래스에 대한 좋은 정의를 가지고 있습니다.