kondoumh のブログ

- とあるソフトウェアエンジニアのめったに更新されないブログ -

「システム開発地図」 Debut!

仕事では、日頃から様々な企業様で業務システム構築のお手伝いをさせていただいているのですが、そのノウハウの一端を「システム開発地図」という形でお披露目することになりました。

豆蔵ソフト工学ラボにて、公開中です。

この「システム開発地図」営業活動ではよく使っていて、ご覧になったお客様からは「わかりやすい!」と好評です。

詳しくは記事を見ていただきたいのですが、業務システム開発のための地図であり、要件定義や設計などの工程(行程)で迷子にならないように作ったものです。各工程で作成するモデル・図表・ソースコードなどの成果物を具体例で示し、さらにそれらの関連を要素レベルで示しています。成果物の関連についてお客様に説明する際に、こういう絵を少し抽象化して描くことは多いのですが、成果物を具体的に例示して構成要素レベルで関連づけた全体像はとても珍しいのではないかと思います。企業のバリューチェーンから在庫管理業務の例を示しています。
システム要件定義を中心に整理していますが、前後の業務分析や設計との関係も分かるようになっています。
たとえば、

  • 業務フローを表すアクティビティー図からユースケースを抽出する
  • ユースケースモデルを洗練させる
  • 概念モデルを元に分析モデルを作成する
  • ロバストネス分析とユースケース記述から画面仕様を導き出す

・・・といったことが、具体例で追えます。

「システム開発地図」の製作にあたり、UMLモデリングツールや Excel などで作成した図表を Visio の巨大なキャンバスに貼り付け、Visio のシェイプで関連線を引きました。印刷する場合はA1用紙でないと詳細がちゃんと見えないほどの規模になりました。業務のほんの一部分でもこれほどの情報量になるのですね。複雑な企業活動をモデル化しシステムに落とし込む作業である業務システム開発において、情報伝達とトレーサビリティーの確保がいかに重要か実感できると思います。

巨大なシステム開発地図をスムーズに閲覧できるようにと、Silverlight 3 の Deep Zoom テクノロジーを使って地図ビューアーを作成しました。
↓ こちらから閲覧可能です。
システム開発地図(DeepZoom 版)

Google Map のようにスムーズにズームイン、アウトできます。業務分析から設計までの工程を アニメーションで見ることのできる簡単なツアー機能もつけています。Silverlight 3/4 環境で動作すると思います。
Silverlihgt 3 の Out-of-Browser 機能により、独立したアプリケーションとしてインストールすることもできますので、ブックマークを探したり毎回ぐぐったりする必要はありません。

Deep Zoom アプリ化するにあたり、Expression Blend の Deep Zoom Composer で元の巨大画像からあらゆる解像度の部分画像を生成し、Silverlight の MultiScaleImage コンポーネントにて表示しています。ツアーの部分はアニメーションなので、XAML に宣言的に書きたかったのですが、MultiScaleImage の zoom in/zoom out がプロパティーではなくメソッドとして提供されており、ラップするのが面倒だったのでコードビハインドで記述しちゃいました。

などという Tips はともかくとして、「システム開発地図」を開発の道しるべとして使っていただけると幸いです。