Life読んだ本や、プログラミング、システム開発等のねたを中心に。文章を書く練習なので少し硬派に書くつもりだけど、どうなることやら。この広告は、90日以上更新していないブログに表示しています。MWMementoWeaver開発記(4)(大幅に加筆・訂正)前回でJavaFXの使い方の最初の一歩はなんとなくわかりそうな気がしてきたので、各種の設計ドキュメントを書いてみる。その際に、いくつかのフリーなモデリングツールを試してみたので、選択の理由と評価(感想)をまとめておく。現時点で作成するドキュメントとそのツールの関係は以下のとおり。一般的に期待されるようなコンポーネント図とは一寸違うけど、社内的に言うところのCRDのレベルを描くために。上記にはまらないような文書はオフィスソフトで描くことにしておくいつもの事ながら有用なフリーウェアを開発されている関係者の皆様に感謝します。現時点ではAstah*,AmaterasUML,ERMasterに落ち着いているが、他のツールについても試してみた感想などを簡単にまとめる(プライベートなので無料で使えるツールに限定)。community国内での定番ともいえるモデリングツール。UMLをスケッチするには結局のところastah*が最も使いやすいように感じた。community版ではJavaからのリバースが出来ないので、これだけで閉じられないのが残念(有償版なら出来るようだが、自宅用ではお金を掛けられない)。AmaterasUMLEclipseプラグインであることは、ツールを複数立ち上げなくてすむという意味で1つのメリット。Javaソースからのクラス図生成も行えるのはポイントが高い*1。残念なのは、対応するモデルがユースケース図、クラス図、シーケンス図、アクティビティ図のみであること。今回はステートマシンは欲しいと考えていたので主力にはなれず。Javaの読み書きは行えるが、基本的にはお絵描きツールという認識(違ってたらごめんなさい)。ERMaster正直、これはすごい!って思った。ERモデリングのツールなんだけど、フリーでこの完成度は驚いた。Eclipseプラグインであることも1つの利点だが、DDLのリバース/フォワードもメジャーなDBMSには対応している*2ようだし*3、基本的な作図については全く不満無し。今まで使ったことのある他のERツール(フリー)と比較すると、特にメタデータの扱いが秀逸。Modeler何と言っても優れているのは、対応するダイアグラムのカバレッジの広さ。UML,ER,BPMN等の比較的メジャーなダイアグラムから、「何それ美味しいの?」的なダイアグラムまで広範にカバーしている。(その分、各ダイアグラムの扱いについて厳密性は失われているが。)このツール1つでトップダウンアプローチのダイアグラムについては、ほぼ全て網羅できるのではないか?と期待して実際に使い始めてみたが、残念なことに若干Buggy。ダイアグラムの構成要素を複製した時に、内部識別子的な何かの管理にバグがあるらしく、次に開いたときに図が書き換わっている、ってことが何度かあった。このバグは一寸致命的なので今回は採用を見送る。ArgoUML以前に使っていたことのあるUMLモデリングツール。欠点を感じているわけではないが、UML2系に非対応であることと、他のツールと比較して特に秀逸なところがあるわけでもないので今回は見送り。EditorEclipseプラグインとしても単体としても*4使えるUMLをスケッチするためのツール。Eclipseプラグインとして使用してみると、日本語入力等でかなり微妙な挙動を示していた。(単体として使用してみると、その微妙な挙動は解消している。)純粋にお絵描きとして使うのであれば、悪くない選択かも知れない。今回は他のツールと比較して特に秀逸なところがあるわけでもないので見送り。結局のところAstah*に落ち着いてしまった感が満載。要するに管理者がデジカメから素材を取ってきて、HTML(=メメント)を作ってというだけのツールなのでユースケースとしてはこの程度かと。HTMLを作成する際には、素材に付与したタグをベースにして作成するHTMLを切り替える。ユースケース記述ユースケース記述*5はインストール部分のみGitHubの方に作成(odtフォーマット)しているのでそちらを参照。他のユースケースについては開発が進んでから書く。コンポーネント図すごくザックリではあるけど、インストールに関わるコンポーネント間の関連をこんな感じで考えておく。インストール以外についてはまだ分解が必要。クラス図クラス図はJavaと同期を取るために頻繁に更新されるだろうからここでは省略。Git上のプロジェクト内においておく。ERD一時的に付与したタグなんかを保管するためにDBにもデータを持たせる。ADにも書いているけど、DBMSは導入が手軽なJavaDB(Derby)を使用することにする。素材とタグの状態遷移は状態マシン図で表現する。Draw)で表現する。ファーストカットなのでまだまだ変更は入ると思うが、とりあえずこのような感じで進めてみる。*1:今回採用している最大の理由*2:残念ながらDerbyは無し。StandardSQLということでフォワードは可能。*3:今回は試していない。*4:公式HPによるとApplet等としても*5:仕事で書いている人からは怒られそうなレベルだな...。»プロフィールid:kazyury読んだ本や、プログラミング、システム開発等のねたが中心です。ここでは硬派にと思ってるけど、どうなるかなぁ。(1)はてなブログをはじめよう!kazyuryさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。