문제

가능한 복제 :
UML은 실용적입니까?

나는 UML에 대한 많은 의견을 들었다. 어떤 사람들은 그것이 쓸모가 없다고 말합니다. 어떤 사람들은 그것이 매우 도움이된다고 말합니다.

UML 사용에 대한 경험은 무엇입니까? 개발 프로세스에 어떤 영향을 미칩니 까?

도움이 되었습니까?

해결책

g'day,

나는 완전한 UML 표준의 하위 집합을 사용하는 경향이 있음을 알았습니다.

클래스 다이어그램 : 클래스의 구성 요소가 어떻게 구축되는지 보여주고 구성원 및 기능이 포함되어 있습니다. 특히 "ISA"와 ""관계를 보여주는 데 유용하며 "구성 요소 수명을 반영하는"관계가 있습니다.

시퀀스 다이어그램 : 클래스가 서로 상호 작용하는 방법을 보여주고 메시지 사용 순서대로 클래스 간의 메시지 흐름을 보여줍니다.

그리고 때때로 :

활동 다이어그램 : 병렬 처리를 보여줍니다.

UML을 사용하고 싶다면 Martin Fowler의 저서 "Uml Distilled"를 추천 할 수 없습니다.소독 된 아마존 링크) 충분히. 진지하게, 다른 UML 책을 모두 잊어 버리십시오! 자연스럽게 IMHO

HTH

건배,

다른 팁

올바른 맥락에서 사용한다면 매우 도움이된다고 생각합니다.
대규모 프로젝트에서는 시스템이 어떻게 보이는지에 대한 전반적인 계획을 세우는 것이 매우 좋습니다.

  • 개발 프로세스가 더 명확 해집니다
  • 프로젝트를 통해 종종 더 철저하게 생각하기 때문에 디자인-측정법을 피하는 데 도움이됩니다.
  • 그것은 개발 과정에 직접 관여하지 않는 사람들에게 좋은 개요를 제공합니다.

이 모든 것이 시간과 비용을 절약하는 데 도움이됩니다.

UML은 좋든 나쁘 든 ... 너무 많은 것은 나쁘다.

UML은 개념과 작업중인 도메인을 이해하는 데 도움이되는 좋은 도구입니다. 도메인 전문가 및 기능 전문가와 의사 소통하는 데 매우 유용한 도구가 될 수 있습니다. 또한 솔루션을 시각화하고 솔루션을 구축 할 때 발생할 두통의 양을 크게 줄이는 데 도움이됩니다.

너무 많은 UML도 나쁜 일이 될 수 있습니다. 가장 좋은 방법은 파악하기가 복잡하거나 다소 복잡한 솔루션의 일부를 모델링하는 것입니다. 일반적인 솔루션을 모델링하면 새의 시선을 볼 수 있고 솔루션 전체로 더 잘 이해하는 데 도움이됩니다. 그런 다음 더 깊은 이해가 필요한 영역의 모델을 만듭니다. 소규모 프로젝트를 모델링 할 필요는 없습니다. 반면에 더 큰 프로젝트는 올바른 정보를 다른 사람들에게 전달하기 위해 모델링이 필요할 수 있습니다.

매우 완전한 모델은 매우 짧은 시간 동안 유효하기 때문에 종종 나쁜 것으로 보입니다. 모델이 가치가 되려면 코드를 최신 상태로 유지해야합니다. 많은 경우에 이것은 아무도 성취하고자하지 않는 추가 작업이됩니다. 이를 수행하는 좋은 방법은 모델을 코드에 동기화하는 도구를 사용하는 것입니다.

가장 어린 나이부터 우리는 물건을 그려서 묘사하는 데 매우 능숙합니다. 우리 중 많은 사람들이 읽고 쓰는 법을 배우 면서이 능력을 잃어 버리지 만, 깊은 곳에서 우리는 종종 매우 시각적입니다. 사실, 우리가 무언가에 갇혀있을 때, 해결책을 찾는 가장 좋은 방법은 해결책을 찾는 가장 좋은 방법은 잠시 동안 내버려 두거나 다른 사람에게 문제에 대해 이야기하는 것입니다. 누군가에게 그것을 설명하는 간단한 사실은 종종 당신이 그것을 이해해야 할 것을 설명하기 위해 충분히 답을 줄 것입니다. 일단 무언가가 이해되고 미묘함을 취한 후에는 솔루션이 간단 해 보입니다. 모델링은 아이디어와 개념을 분류하여 동일한 결과를 달성하는 데 사용될 수 있습니다. 종이에 있으면 설명하기가 훨씬 간단 해집니다.

종이, 화이트 보드 및 냅킨은 종종 가장 친한 친구입니다! 그들은 당신의 아이디어와 개념을 기억하고 더 깊이 이해하도록 도와 줄 것입니다.

정교하게하겠습니다. UML은 프로젝트에서 디자인 아이디어를 다른 사람들에게 전달해야합니다. 우리는 주요 개발 노력 중에 그것을 진지하게 사용했습니다. 다이어그램과 메모를 이해할 수있는 유일한 사람은 그들을 만든 사람이었습니다. 좋은 화면 모의 업 및 스키마 설명이 디자인 의도를 전달할 때 UML 모델링보다 훨씬 더 나은 작업을 수행한다는 것을 알았습니다.

개인적으로 UML은 코드에서 생성 된 경우에만 프로그래머가 실제 시스템에 대한 개요를 얻을 수 있도록하는 경우에만 사용해야한다고 생각합니다. 코딩 전에이를 사용하는 것은 항상 실수입니다. 그 이후로 코드는 시스템의 우선 순위가 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top