JavaScript 시스템을 설계하기에 UML 클래스 다이어그램이 적합합니까?


23

UML이 객체 지향에 대한보다 전통적인 접근 방식을 지향한다고 가정하면 JavaScript 시스템을 설계하는 데 여전히 신뢰할 수있는 방법으로 사용할 수 있습니까?

내가 볼 수있는 한 가지 구체적인 문제는 클래스 다이어그램이 실제로 시스템의 구조적 견해이며 JavaScript가 더 많은 행동 중심이라는 것입니다. 어떻게 처리 할 수 ​​있습니까?

여기서 실제 영역에 대해서는 이야기하고 있지 않습니다. 내가 달성하려는 솔루션의 모델입니다.


7
우리 중 많은 사람들이 UML이 실제로 무엇이든 설계하기에 적합하지 않다고 말합니다. 나는 UML의 전체 표준에서 유일한 가치는 시퀀스 다이어그램이라고 생각합니다. 내가 이해하려고했던 다른 모든 UML 다이어그램은 영어로 더 잘 설명되었습니다. 그러나 그것은 주관적입니다.
지미 호파

1
@JimmyHoffa 나는 상당히 동의합니다. 특히 최신 IDE에서는 프로그래머가 쉽게 객체 지향 소스 코드를보고 클래스 다이어그램에 묘사 된 것과 동일한 정보 등을 얻을 수 있어야합니다. 구문 강조와 자동 생성 개요가 제공되는 최신 IDE가 있기 전에 클래스 다이어그램이 더 유용하다고 상상할 수 있습니다. 클래스 다이어그램은 프로그래밍 경험이 없거나 개발자가 모든 사람에게 디자인을 구두로 설명 할 시간이 충분하지 않은 대규모 프로젝트에서 사람들에게 객체 지향 구조를 묘사하는 데 적합 할 수 있습니다.
David Kaczynski

1
@JimmyHoffa 시퀀스 다이어그램을 사용하여 모델링 한 시스템에 대한 좋은 책이나 리소스를 구체적으로 추천 하시겠습니까? Applying UML and Patterns를 읽었 으며 다이어그램과 구문을 설명하는 대신 UML을 실제로 사용하는 훌륭한 예제 양식을 제공했습니다.
Songo

@ JimimHoffa : 시퀀스 다이어그램에 대해서는 거의 동의하지 않지만 IMHO 시퀀스 다이어그램은 의사 코드로 더 잘 표현할 수없는 것을 보여주지 않기 때문입니다. 나를 위해 실제로 사용하는 유일한 다이어그램 유형은 데이터 흐름 다이어그램이며 UML의 일부가 아닙니다.
Doc Brown

@DocBrown 공정, UML 학습을 피하고 오히려 흰색과 흰색을 읽는 것이 아마도 그것을 대체해야한다는 것에 동의합시다.
Jimmy Hoffa

답변:


18

두 가지 다른 질문을하는 것 같아

  • UML을 사용하여 자바 스크립트 시스템을 묘사 할 수 있습니까?
  • 클래스 다이어그램을 사용하여 자바 스크립트 시스템을 묘사 할 수 있습니까?

UML에는 많은 유형의 다이어그램 , 특히 시퀀스 및 사용 사례 다이어그램을 포함한 동작 다이어그램의 분기가 포함됩니다. 이러한 다이어그램은 특히 자바 스크립트를 행동 중심 언어로 모델링하는 것에 대한 우려를 다룹니다.

자바 스크립트 시스템이 객체 지향 디자인을 사용하지 않는 것이 가능합니다. 이 경우 클래스 다이어그램이 적절하지 않을 수 있습니다. 그러나 자바 스크립트는 객체 지향 디자인을 지원하기 때문에 클래스 다이어그램이 자바 스크립트를 사용하여 시스템을 효과적으로 묘사 할 수 있습니다. 실제로 자바 스크립트가 어떻게 사용되는지에 달려 있습니다.


5

당신의 대답은 당신의 질문에 숨겨져 있습니다 :

내가 볼 수있는 한 가지 구체적인 문제는 클래스 다이어그램이 실제로 시스템의 구조적 견해이며 자바 스크립트가 더 많은 행동 중심이라는 것입니다. 어떻게 처리 할 수 ​​있습니까?

BDD (Behavior-Driven Development) 기술을 살펴보고 설계 요구에 맞는 도구를 선택하십시오.

보기에 유용한 관련 토론 -BDD에서 스토리 / 시나리오를 작성하는 방법 . 코드 매거진의 매우 포괄적 인 기사- 행동 주도 개발

ps : 그러나 일반적 UML represent general types of behavior으로 시퀀스 다이어그램과 같이 선택한 카테고리의 올바른 세트로 디자인을 모델링하는 데 계속 사용할 수 있습니다.I would reference the Wikipedia and find the right UML diagram category to use.


문제 정의 또는 개발 관리 방식 인 것 같습니다. 실제로 솔루션에 더 가까운 저수준 디자인에 대해 이야기하고있었습니다.
Julio Rodrigues

4

웹 애플리케이션을 UML (WAE 확장이라고 함)에 적용하기위한 작업이 진행되었으며 Jim Conallen의 UML로 웹 애플리케이션 빌드라는 책이 자세히 설명되어 있습니다. 클래스 다이어그램에서 JavaScript의 변수와 기능을 볼 수 있습니다.

왜 웹 응용 프로그램을 모델링하는 가장 좋은 옵션이라고 생각합니까? evrybody는 클래스 다이어그램의 작동 방식을 알고 있으며 이것이 가장 가까운 것입니다. 이해하기 쉽고 프로그래머는 단어로 문서를 읽기에는 너무 게으르지 만 다이어그램을 보는 것이 그렇게 어렵지는 않습니다.) 그러나 실행시 어떤 일이 발생하는지 보려면 웹 응용 프로그램에서 파일이 동적으로 생성되므로 시퀀스 다이어그램을 찾아야합니다.

node.js 패키지 "wavi"에 의해 생성 된 다이어그램


3

UML에는 시퀀스 다이어그램 또는 상태 차트 다이어그램과 같은 시스템의 동작을 설명하는 데 사용할 수있는 동작 모델도 있습니다.


1

예, UML, 특히 시퀀스 다이어그램을 사용할 수 있습니다 .

클래스 다이어그램 의 사용과 관련 하여 객체 지향 디자인 원칙을 사용하여 애플리케이션을 디자인하는지 여부에 따라 다릅니다. JavaScript 함수가 많으면 클래스 다이어그램이 많이 추가되지 않습니다. JavaScript 객체 프로토 타입을 사용하여 일종의 클래스를 시뮬레이션하는 경우이 다이어그램이 유용합니다.

UML에서 Javascript 프론트 엔드를 디자인 한 경험을 바탕으로 주제에 대한 백서를 작성했습니다 . Angular 애플리케이션을위한 UML의 기술 설계 .


0

JavaScript에 UML을 사용할 수 있지만 작업에 어떻게 접근할지에 달려 있습니다.

특히 JS / UML 은 JSDoc, Dojo, YUI에 대한 UML 문서를 자동화 할 수 있습니다.

나는 더 많은 것이 있지만 아직 다른 것을 뛰어 넘지 않았다고 생각합니다.


이것은 질문에 어떻게 대답합니까?
gnat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.