シーケンス図
2013年7月7日
仕事で、既存アプリのデバッグをすることになったが。
スレッド間の同期とか、画面更新のタイミングとかが良くなくて、動きが変。
フラグと待機オブジェクトで状態管理してるけどドキュメントがないため良くわからなく。
シーケンス図を起こすことにしたが、ソース43Kあるので、手で作るのはキツイ。
VisualStudio2010だけど、Ultimate版にはシーケンス図作る機能があるので、とりま体験版でさわってみた。
イベントハンドラのコード位置で右クリックすると、
シーケンス図の生成メニューを選ぶと、生成方法のダイアログがでる。
OKで生成される。
下に長い図の場合、ライフライン名が半透明の見出しで表示される。
ちなみに、このソースはC#だけどVCでは使えないようだ。
VCソースだとイベントで右クリックしても生成のメニューが出てない。
結構よくできてる。見慣れれば、解析に役立ちそうだが。
一番見たいフラグの変化が表現されてない・・・
そもそもシーケンス図の役割じゃないのか?
たとえば、
mFlgの変化するタイミングがみたいけど、図に出てこない。。
プロパティにセットじゃなくて、関数でやらせれば図に出るのかな?
mFlgはSystem.Threading.Monitorでロックしてるんだけど、それも表現されてない。
コメントであとから手で書く?
これじゃわからんな。
フラグのライフライン追加してそこに書くか?
まぁ、これでいいか・・・
手で全体図作るよりはるかに楽だしな・・・
やっぱり、状態遷移図も別に必要だろうな。
よく見たら、Invokeでフォームのデリゲート呼んでるとこもForm1まで線が出てないな。
ダメだダメだ・・・