- オープンソースの UML ツールを作る
- テキストベースで保存してマージ可能なデータとする
- 企業、個人関係なく自由に使える
C# とする。
理由
- 企業で使う場合に Java ラインタイムが有償になる
- Java で作った GUI アプリは遅い
- (必須) Windows 10
- (可能なら) Mac
- UML
- C#
- GitHub
- Organization Account
- UI 要素
- 見た目の表示
- Xamarin
- WFP
- アルゴリズム
- 当たり判定 (線や要素を選択する)
- 複数選択
- 移動
- 見た目の表示
- データ保存形式
- XML
- 解析
- 生成
- 編集
- マージ可能容易性の調査
- XML
- インポート
- 他の UML(PlantUML 等)
- エクスポート
- 画像
- SVG
- PNG
- 他の UML(PlantUML 等)
- Word
- Excel
- HTML
- 印刷
- 画像
- GUI での UML ファイル同士の差分確認
- CI
- appveyor など
- Organization Account
- ビルドバイナリの提供
- msbuild
- 静的解析
- appveyor など
- ドキュメント
- 開発者向け
- Markdown
- ツール自身の構造を説明する UML 文書
- PlantUML を markdown で使えるか?
- ユーザー向け
- 開発者向け
- テスト
- 単体テスト
- NUnit
- 結合テスト
- UI テスト
- 単体テスト
- 論理構造と見た目の分離(スタイルシートのようなもの))
- (必須) クラス図
- (必須) シーケンス図
- (必須) ステートマシン図
- (必須) ユースケース図
- アクティビティ図
- パッケージ図
- コンポーネント図
- 配置図
- コラボレーション図
http://www.itsenka.com/contents/development/uml/
- クラス
- オブジェクト
- アクター
- ライフライン
- 実行仕様
- メッセージ
- 複合フラグメント