研究関係覚書用 無事に卒業できますように・・・
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
☆UML2
・Creating UML 2 diagrams with Eclipse UML2 Tools - Tutorial < http://www.vogella.de/articles/UML/article.html#uml_intros1s2a > ・Eclipse Modeling -MDT < http://www.eclipse.org/modeling/mdt/?project=uml2 > ・MDT/UML2 < http://wiki.eclipse.org/MDT-UML2 > ・UMLモデリングプラグイン < http://eclipsewiki.net/eclipse/?UML%A5%E2%A5%C7%A5%EA%A5%F3%A5%B0%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3 > ・modelbased.net - UML Tools < http://www.modelbased.net/uml_tools.html > ・UML2 Toolsはまだ完成度が・・・ < http://d.hatena.ne.jp/kojihashi/20080523/1211553664 > シーケンス図のエディタが含まれていない 何ですとーーーーー ☆JDI ・JDIのテスト < http://d.hatena.ne.jp/nozom/20060304/1141441887 > ・JPDA JDIアプリケーションの例 < http://72.5.124.55/javase/ja/6/docs/ja/technotes/guides/jpda/examples.html > ・Java Debug Interface < http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jpda/jdi/index.html > ・Javaプログラムトレースツールの開発 < http://www.th.cs.meiji.ac.jp/researches/2006/obata/ > PR
<http://www.omg.org/spec/UML/2.1.2/>
に「Superstructure specification」 がありますが、これがUMLのメタ定義になります。 でも、かなりむずかしい(^_^;) これを簡単に解説したような本かページをみたことがあるのですが、 見つかっていません。 <http://www.eclipse.org/modeling/mdt/?project=uml2#uml2> にUML2のページがあって、いろいろなツールがあって、 関係がありそうです。調べてみてください。 UML2 UML2 is an EMF-based implementation of the Unified Modeling Language (UMLTM) 2.x OMG metamodel for the Eclipse platform. UML2 Tools UML2 Tools is a set of GMF-based editors for viewing and editing UML models; it is focused on (eventual) automatic generation of editors for all UML diagram types.
研究内容整理@ゼミ用
☆プログラム理解に重点をおく 「プログラム理解のためにソースコードを変えて実行することも多い」 表示が変わる所も、表示が変わらない所もある。 *流れ、構造を表示(静的解析)→ 動的解析の結果をプラスする ★対象者のレベルは? ☆初心者レベルの支援ならば何が必要なのか Java特有の構造(他より強調して表示させるとか) 既存ライブラリ等の機能説明(ドキュメント?) ☆中規模レベルの支援ならば何が必要なのか 抽象化 Maybe中規模レベル(1万行程度まで?) そのまま図にすると量が多くなり余計に複雑になる可能性がある → 読む量を減らす ★抽象化 ソースコードから得られた図を抽象化 ☆ユーザがまとめる ある程度のまとまりのある動作をユーザが判断し、1つの動作としてまとめる ☆似た構造の部分を知らせる(まとめるための1つの参考になる?) 必要があれば自動で一括にまとめる?(リファクタリング) (メンテナンスの立場では役に立つ 似た場所は同様に直すことが多い) ★実行時に通らなかった所を非表示にする(注目すべき所を目立たせる) もしくは通った所をハイライト表示 ★表示する動作、しない動作の選択を可能にする (必要のない箇所を見る手間を省く) ★どこまでをシステムとするのか ライブラリ フレームワーク *全体の概要? ・ソースコードからUMLを作成する(リバースエンジニアリング) ・実行時にログをとり、UMLに結果を反映させる ・プログラムを変更した際に差分を取得し、UMLに結果を反映させる (ソースコードを返ることでどれくらいUMLがかわるか、どちらをベースに考える方がよいのか) → ベースは変更前のソースコード(より一般的な状態であるため) → 少しずつ変えて元に戻してを繰り返す 変更を保存した場合はそれに対して新たなUMLセットを保存? *リバースエンジニアリング機能* <ユーザ>(参:EclipseUML) ・フォルダ選択 ・関係選択 ・パッケージコンテンツの選択 ↓ <システム> ・JavaMLでXML形式に変換 ・必要な情報を取得(DOM) クラス図:クラス名、メソッド名、変数名 継承や実装の関係(インヘリタンス) クラスの包含関係など(関連) 動的・一時的な関係(依存) シーケンス図:クラス名 クラスの呼び出し関係(メソッド名、返り値など) 条件分岐、ループ、再起 ↓ ・UMLを作成(クラス図、シーケンス図?) EMFで定義 GEFで表示 *動的解析機能* ・ツールの検討 JDIを用いて必要な情報を取得 メソッドなどの呼び出しとか? ・アスペクト指向 AspectJ 必要な実行履歴を取得箇所へうめこんでいくことが可能に *差分解析機能* ☆差分 ・動的解析・静的解析 ・追加、削除、修正 ☆表示法 ・追加した場合:追加部分+影響範囲をハイライト 影響範囲の定義の必要 どこまでを影響とするか(修正が必須、可能性がある等) ・削除した場合 ・修正した場合(削除+追加) UMLだとどうなるか ・複数箇所の変更を行った場合 などの場合どう差分を表示すると良いか ☆どうやって差分を取得するのか ☆どのタイミングで差分を解析するのか 保存したら? 目安となる量はどの程度か 同期させて表示? どのように同期させるのか、重くならないか ☆「差分」の定義 ★ソースコードを変更したときの静的な差分 影響範囲とは? 変数の依存関係、どのような違いを表現するのか ★実行時の変化を表したときの差分 経路の違い *結果反映機能(表示部)* ・実行後に実行に関係した箇所をハイライト(図に反映、ソースコードにも反映?) *評価方法 ・実際に利用してもらいアンケートをとる 対象者:Java経験者かつUMLの知識のある人 対象プログラム 1、有用な結果が見込まれるプログラムについてシステムを利用 リバースエンジニアリング機能と事項履歴反映機能のみを 使用する場合と、差分反映機能を追加した場合で理解の容易性 を比較、評価 2、自由なプログラムを用いてシステムを利用 実際のプログラム開発における有用性を評価 ・より定量的・科学的な評価方法はないか 限界があっても、部分的にでも評価できる物がないか ★プログラム理解 人に使ってもらった感触でやるしかない?(システムの有用性の調査) *参考 ・影響波解析 アクサ(名大)、井上(阪大) ・ソースコード影響範囲 波及効果が及ぶ範囲(呼び出し関係図・依存関係図) メンテナンスとか ・静的解析+動的解析
*UMLエディタの実装方法
http://m--takahashi.com/bbs/pastlog/12400/12347.html *CodeProject http://www.codeproject.com/miscctrl/umleditor.asp http://www.codeproject.com/miscctrl/flowcharteditor.asp http://www.codeproject.com/miscctrl/linetracker.asp *UML Quick Reference http://www.holub.com/goodies/uml/index.html |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
プロフィール
HN:
nrk
性別:
非公開
ブログ内検索
P R
|