태그 보관물: design

design

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

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

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

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



답변

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

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

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

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


답변

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

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

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.


답변

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

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

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


답변

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


답변

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

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

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


답변

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

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

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


답변