2014-05-24 4 views
1

복잡한 작업의 논리를 모델링하는 방법은 무엇입니까? 예를 들어 상태, 버전 및 다양한 속성이 일부 논리에 따라 처리되어야하는 루트 엔티티의 메소드를 저장하십시오. DTO와 엔티티가 존재합니다.복잡한 작업의 논리를 모델링하는 방법

시퀀스 다이어그램, 활동 다이어그램, 자연어 및 일부 추상 코드에 대해 생각하고있었습니다.

시퀀스 다이어그램은 상호 작용 모델링에 더 적합하기 때문에 적절하지 않다고 생각합니다.

활동 다이어그램이 너무 서투른 것처럼 보이고 속성 할당과 같은 명령어를 어디에 둘 것인지 알 수 없습니다. 활동의 메모 나 설명에서 제대로 보이지 않습니다.

자연 언어가 모호하고 대량으로 정보가 거의 없습니다.

Mayby 추상 코드가 올바른 선택 일 수 있습니다. 또는 자연 언어와의 조합. 추천서가 있습니까? Java 코드를 작성하고 싶지 않습니다.

+1

@ziri DRAKON을 확인하십시오. 그것은 복잡한 논리를 가능한 한 쉽게 만들기 위해 만들어졌습니다. DRAKON에 대한 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/a/23991000/1601703 – vasili111

답변

4

복잡한 알고리즘을 의미하는 경우 활동 다이어그램으로 가장 잘 모델링 될 수 있습니다. UML 2.0부터 그들은 거의 모든 종류의 작업 (할당 포함)을위한 액션을 가지고 있습니다. 그건 문제가 아니야.

어떤 경우에는 좀 더 비공식적 인 접근 방식을 사용하는 것이 더 나을지도 모릅니다. 액티비티 다이어그램은 그리는 속도와 레이아웃이 매우 느리고 추가 된 값은 의심 스럽습니다 (나중에 자동화가 사용되지 않는 경우). 그들이 "서투른"성명에 관해서는, 당신은 항상 좋은 구조와 계층 적 모델을 여러 수준으로 분리함으로써이 문제를 극복 할 수 있습니다. 단일 활동은 그 안에 전체 다이어그램을 포함 할 수 있습니다.

아마도 믹스가 작업을 수행합니다. 알고리즘의 주요 단계를 간략히 설명합니다. 주요 결정, 루프, 호출 등을 사용자에게 제공합니다. 나중에 단일 액티비티에 대한 자세한 설명을 추가하십시오 : 의사 코드, 자연어 또는 다른 임베디드 다이어그램 (상태, 활동)을 사용하십시오.

+0

매우 유용한 답변 @ Aleks, 감사합니다. 구조 특성 값 동작을 추가했기 때문에 작업을 사용하여 할당을 모델링하는 방법을 알고 싶습니다. UML 사양에 있지만이 방법을 적용하지 못했습니다. 가능한 경우이 동작을 사용하는 모든 예제? – Melisa