UMLクラス図はJavaScriptシステムの設計に適していますか?


23

UMLがオブジェクト指向へのより古典的なアプローチを指向していることを考えると、JavaScriptシステムを設計するための信頼できる方法でまだ使用可能ですか?

私が見ることができる特定の問題の1つは、実際にはクラス図がシステムの構造図であり、JavaScriptがより多くの動作駆動型であるということです。どうすれば対処できますか?

ここでは、現実世界のドメインについては話していないことに注意してください。私が達成しようとしているソリューションのモデルです。


7
私たちの多くは、UMLは実際には何も設計するのに十分ではないと言うでしょう。私は、UMLのカノン全体でシーケンスダイアグラムが唯一の価値であると考えています。私が理解しようとした他のすべてのUML図は、英語でよりよく説明されています。しかし、それはそれが何であるかについて主観的です。
ジミー・ホッファ

1
@JimmyHoffaかなり同意します。特に最新のIDEの場合、プログラマはオブジェクト指向のソースコードを簡単に見て、クラスダイアグラムに示されているのと同じ情報(およびそれ以上)を簡単に取得できるはずです。構文の強調表示と自動生成されたアウトラインを備えた最新のIDEが利用可能になる前は、クラス図がより便利であると想像できます。クラス図は、プログラミング経験のない人や、開発者が設計を全員に口頭で説明するのに十分な時間がない大規模プロジェクトで、オブジェクト指向の構造を描くのに適しています。
デビッドカチンスキ

1
@JimmyHoffaシーケンス図を具体的に使用してモデル化されたシステムに関する優れた書籍やリソースをお勧めしますか?「UMLとパターンの適用」を読みましたが、図と構文を説明するだけでなく、UMLを実際に使用した非常に優れた例が提供されています。
松o

@JimmyHoffa:私はほとんどあなたに同意しますが、シーケンス図についてはそうではありません-私見シーケンス図は、擬似コードでより良く表現できないものを何も示さないからです。私にとって実際に使用できるダイアグラムタイプはデータフローダイアグラムのみであり、これらはUMLの一部ではありません。
ドックブラウン

@DocBrown公正のに十分な、みましょうだけで学習UMLは避けるべきであるとむしろstrunk&白の読み取りは、おそらくそれを置き換える必要があります:)ことに同意
ジミー・ホッファ

回答:


18

あなたは2つの異なることを求めているようです

  • UMLを使用してJavaScriptシステムを表現できますか?
  • クラス図を使用してJavaScriptシステムを表現できますか?

UMLには多くのタイプの図、特にシーケンス図とユースケース図を含むビヘイビア図の分岐が含まれていることに注意してください。このような図は、Javascriptをビヘイビア駆動型言語としてモデル化する際の懸念に特に対処しています。

JavaScriptシステムがオブジェクト指向設計を使用していない可能性は十分にあります。そのような場合、あなたが指摘したように、クラス図はおそらく適切ではないでしょう。ただし、javascriptはオブジェクト指向の設計をサポートしているため、クラス図はjavascriptを使用してシステムを効果的に表すことができます。それは本当にjavascriptがどのように使用されているかに依存します。


5

あなたの答えはあなたの質問に隠されています:

私が見ることができる特定の問題の1つは、クラス図が実際にはシステムの構造的なビューであり、javascriptがより多くの動作駆動型であるということです。どうすれば対処できますか?

見てくださいBDD(ビヘイビア駆動開発)技術とデザインのニーズに合わせてツールを選択してください。

あなたが見るのに役立つかもしれない関連議論-BDDで物語/シナリオを書く方法。Codeマガジンの非常に包括的な記事-Behavior-Driven Development

ps:一般にUML represent general types of behavior、ただし、選択したカテゴリの正しいセット(シーケンス図など)でデザインをモデル化するために使用できます。I would reference the Wikipedia and find the right UML diagram category to use.


問題定義または開発管理アプローチのようです。私は実際、ソリューションに近い低レベルの設計について話していました。
フリオロドリゲス

4

WAE拡張と呼ばれるWebアプリケーションをUMLに適合させるための作業が行われ、ジムコナレンによるUMLを使用したWebアプリケーションの構築という本が詳細に説明されています。JavaScriptの変数と機能をクラス図で見ることができます。

Webアプリケーションをモデル化する最良の選択肢であると考えるのはなぜですか?なぜなら、evrybodyはクラス図の仕組みを知っており、これがそれに最も近いからです。非常に理解しやすく、プログラマはドキュメントを言葉で読むのが面倒ですが、ダイアグラムを見るのはそれほど難しくありません;)。ただし、実行時に何が起こるかを確認する場合は、Webアプリケーションではファイルが動的に生成される場合があるため、シーケンス図を探す必要があります。

node.jsパッケージ「wavi」によって生成された図


3

UMLには、シーケンス図やステートチャート図などのシステムの動作を表すために使用できる動作モデルもあります


1

はい、UMLを使用できます。最も顕著なのはシーケンス図です。

クラス図の使用に関しては、オブジェクト指向の設計原則を使用してアプリケーションを設計するかどうかによって異なります。たくさんのJavaScript関数がある場合、クラス図はあまり追加しません。JavaScriptオブジェクトプロトタイプを使用して一種のクラスをシミュレートする場合、これらの図が役立ちます。

UMLでJavascriptフロントエンドを設計した経験に基づいて、テーマに関するホワイトペーパーを作成しました


0

JavaScriptにUMLを使用できるようですが、作業にどのようにアプローチするかによって異なります。

特に、JS / UMLは、JSDoc、Dojo、YUIのUMLドキュメントを自動化できます。

他にもあるとは思いますが、まだ他のことに出くわしていません。


これは質問にどう答えますか?
-gnat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.