SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio Team System 2008 Architecture Editionを使ってみよう

Visual Studio Team Systemで
システムモデリング

Visual Studio Team System 2008 Architecture Editionを使ってみよう(2)

  • X ポスト
  • このエントリーをはてなブックマークに追加

アプリケーションシステム同士の接続

 最後に、アプリケーションシステム同士の接続をモデリングします。図12に示すシステムダイアグラムを開くと、先ほどまでの作業結果を反映して、図20に示すような状態で表示されるはずです。

図20:全体システムダイアグラムの状態
図20:全体システムダイアグラムの状態

 先ほどまでの作業によって作成されたエンドポイントが各アプリケーションシステムに表示されているので、アプリケーション同士の接続を定義するときと同様に接続の作業を行うことができます。作業後の状態は図21のようになります。

図21:全作業終了後の状態
図21:全作業終了後の状態

 ここまで来ると、図3に示していたような初期の構想にかなり近い表現でモデルの作成ができたことになります。

なぜシステムダイアグラムを作成するのか

 本稿では、配置の方法や通信経路の設定などを説明し、アプリケーションシステムを定義して、システムダイアグラムを作成することができるということを説明してきました。しかし、そのほとんどはなんとなくアプリケーションダイアグラムとそう変わらない内容だと感じることもあったと思います。それでもなお、システムデザイナという機能があり、システムダイアグラムを作成するのには大きく3つの理由があると考えられます。

ポイント1:直感的に分かりやすくするため

 アプリケーションダイアグラムでは、個々のアプリケーションが1枚の平面の上に表現されています。しかし、システムダイアグラムを描くことで、依存関係の強いまとまりがどこなのか? を直感的に分かりやすく表現することができます。アプリケーションの数が少ないうちや担当者が同じであるうちは、影響範囲は軽微かも知れません。しかし、アプリケーションの数が膨大であったり複数人のチームで作業をしたりという場合には、絵で見て分かりやすいというのは理解を助ける重要な要素の一つになるはずです。

ポイント2:公開範囲を明確にするため

 例えば、図3に示したような例題システムの場合、「App1Database」というデータベースは「App1ServerApp」というWebサービスアプリケーションからのみ参照できればよく、「App2Database」というデータベースも同じく「App2ServerApp」というWebサービスアプリケーションからのみ参照できれば良いということが考えられている可能性があります。このとき、アプリケーションシステムという枠組みを導入しておけば、通信経路のデリゲートがどのように行われ、外部からはどこに対してリクエストを送信することが可能なのかといったことを明確にしておくことができます。頭の中にある暗黙知をモデルの形で形式知にしておくことで、次回以降に説明する論理データセンターダイアグラムや配置ダイアグラム(それぞれ論理データセンターデザイナ、配置デザイナという機能を利用します)を作成する際に、不用意な誤解や設定ミスを招く心配を軽減することができます。

ポイント3:VSTS-AEの仕様に従うため

 最後のポイントは少し特殊ですが、VSTS-AEの仕様に忠実に従うためという理由があります。詳しくは配置デザイナを扱う回で説明しますが、配置ダイアグラムを作成する場合、システムダイアグラムと論理データセンターダイアグラムが必要となるために、システムダイアグラムを作成しておきます。

 なおVSTS-AEは、配置デザイナを起動したときにシステムダイアグラムが存在していなくてもアプリケーションダイアグラムさえ存在していれば、すべてのアプリケーションを含む「DefaultSystem」という名前のシステムダイアグラムを自動生成する機能を備えています。しかし、DefaultSystemという名前では後で見たときに分かりにくいなどの弊害もあるため、あらかじめシステムダイアグラムを作成しておくことが無難な選択肢となっています。

まとめ

 今回は、システムデザイナを使ったシステムダイアグラムの作成を行う方法を一通り確認してきました。前回同様に聞きなれない言葉が多かったり、何に使えばいいのか悩んでしまったりといった部分も多かったかもしれません。何に使うか悩んだ時には本稿の「なぜシステムダイアグラムを作成するのか」を今一度確認していただき、自分たちだったら何に使えるかを検討する一助にしていただけたらと思います。

 システムデザイナはアプリケーションデザイナと比較してしまうと目立たない印象を受けてしまいがちですが、VSTS-AEの中では中核に位置付けられている機能だと、著者は考えています。今回はシステムダイアグラムがアプリケーションダイアグラムに依存している点も解説してきましたが、次々回に予定している「配置デザイナ」で作成する配置ダイアグラムでもまたシステムダイアグラムは登場してきます。その際には、再度システムダイアグラムの位置づけを確認してみてください。

 今回までの2回はアプリケーションをモデリングするための機能を紹介してきましたが、次回は「論理データセンターデザイナ」という機能について紹介します。これは、アプリケーションを配置するサーバーとネットワークの環境を論理的に捉えてその構成図をモデリングするための機能です。少し趣きが異なる機能ではありますが、最後につながる重要な機能の1つですのでお楽しみに。

参考文献

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Visual Studio Team System 2008 Architecture Editionを使ってみよう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3403 2009/01/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング