Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト
MSDN
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home > MSDN アカデミック アライアンス > 第 1 回:Visio 入門

第 1 回:Visio 入門

〜 Visio によるオブジェクト指向設計入門 〜

1.1 はじめに

Visio とは、フローチャート、組織図、オフィスレイアウトなどの図面を作成することを目的としたアプリケーションソフトです。Visio には、多くのデザインテンプレートやマスタシェイプと呼ばれる部品群が用意されており、これらを組み合わせることで、多彩な図面を作成することができます。また、Visio の操作のほとんどは、ドラッグ & ドロップで行うことができるため、直感的に作図作業を行うことが可能です。作図作業の例を図 1 に示します。

図 1. 作図作業の例

図 1. 作図作業の例

Visio には、多種多様な図面を作成するための機能が豊富に備わっています。その中でも、最近のバージョンでは、オブジェクト指向設計を支援する機能が充実してきました。本連載では、6 回の連載を通して、オブジェクト指向設計の基礎から Visio に備わっているオブジェクト指向プログラミング支援機能の利用方法、システム設計・開発の実践的な手法までを解説します。特に、連載の最後には、UML (Unified Modeling Language) を利用して、システム設計から開発までをチュートリアル形式で説明します。

本章では、システム設計開発に重要なオブジェクト指向プログラミングの概念を説明し、その設計方法である UML の必要性や Visio に用意されたオブジェクト指向設計機能を紹介します。

1.2 Visio 基礎

1.2.1 作業ウィンドウ

作業ウィンドウは、大きく分類するとステンシルウィンドウと図面ウィンドウに分かれます。ステンシルウィンドウには、マスタシェイプを集めたウィンドウである 「ステンシル」 が表示されます。マスタシェイプとは、図面を作成する場合、頻繁に使用されるシェイプのことを示します。例えば、Visio には、オフィスレイアウトテンプレートのモニタシェイプやタワー型パソコンなど、様々なマスタシェイプが Visio には用意されています。図面ウィンドウには、現在編集中の図面ページが表示されます。作業ウィンドウを図 2 に示します。

図 2. 作業ウィンドウ

図 2. 作業ウィンドウ

1.2.2 テンプレート選択画面

テンプレート選択画面は、分類とテンプレート領域から構成されます。ユーザは、Visio のテンプレート機能を使用することにより、デザインセンスや描画テクニックが無くても、表現したい図面を短時間で、簡単に作成できます。本項では、主なテンプレート 6 種類について、各種テンプレートの利用方法と利用用途を説明します。テンプレート選択画面を図 3 に示します。

図 3. テンプレート選択画面

図 3. テンプレート選択画面

(1) オフィスレイアウト図

オフィスレイアウト図は、建設設計カテゴリのテンプレートに分類されます。オフィスレイアウト図は、設備管理や事務用品の在庫管理、オフィス空間の設計など、オフィス空間を構築するために使用します。また、オフィスレイアウト図には、寸法を出力する機能が用意されているため、ユーザは、機器を設置するスペースを容易に把握することができます。オフィスレイアウト図については、図 2 の作業ウィンドウを参照してください.

(2) ガントチャート

ガントチャートは、プロジェクトスケジュールカテゴリのテンプレートに分類されます。ガントチャートは、プロジェクト管理やタスク管理、プロジェクトの目標設定など、工程管理を行う場合に使用します。プロジェクト管理では、ガントチャートを利用することにより、プロジェクトに関わる人間が共通の認識を持つことができるため、プロジェクト進行がスムーズになります。ガントチャートを図 4 に示します。

図 4. ガントチャート図

図 4. ガントチャート図

(3) 基本フローチャート

基本フローチャートは、フローチャートカテゴリのテンプレートに分類されます。基本フローチャートは、フローチャートや情報の追跡図、プロセスの管理図など、処理の流れを表現する場合に使用します。また、フローチャートの一部分であるシェイプにはコストや期間、リソースなどのデータを格納できます。基本フローチャートを図 5 に示します。

図 5. 基本フローチャート

図 5. 基本フローチャート

(4) その他のテンプレート

その他の主なテンプレートには、組織図、データベースモデル図、道路地図などが挙げられます。組織図は、人事管理図や管理構造図など、組織全体の構成を作図する場合に使用します。また、組織図には、社員が所属している部署や電話番号、給料額などの個人情報を設定できます。次に、道路地図は、高速道路や一般道路、地下鉄、駅、河川、海などのマスタシェイプを使用して、地図を作成する場合に使用します。道路地図は、Visio を使用することにより、手作業で描くより、グラフィカルな地図を短時間で作成することができます。最後に、データベースモデル図は、データベースの文書化や設計など、各々のデータベース間の関係を明示的に表現する場合に使用します。また、データベースモデル図では、データベースのファイル設計やプライマリキーなども設定できるので、データ同士の繋がりを容易に把握することができます。組織図、データベースモデル図、道路地図の作図画面を図6に示します。

図 6. 組織図、データベースモデル図、道路地図

図 6. 組織図、データベースモデル図、道路地図

Visio には、本節で説明した以外にも、様々なテンプレートが用意されています。次節から、オブジェクト指向プログラミングを支援するテンプレートを紹介すると同時に、オブジェクト指向プログラミングと UML の関係について、詳しく説明します。

1.3 オブジェクト指向プログラミングと UML

1.3.1 オブジェクト指向プログラミング

プログラム開発の手法は、手続き型言語から、オブジェクト指向プログラミングへのパラダイムシフトが急速に進んでいます。この背景には、顧客のニーズの変化が大きく影響しています。顧客が、システム開発に、長時間、高コストを費やして、高品質のソフトを開発していた時代から、短時間、低コストで高品質のソフトを開発する時代に移り変わりました。時代の変化に対応するため、オブジェクトを再利用するオブジェクト指向プログラミングが生まれました。オブジェクト指向プログラミングでは、オブジェクト同士が相互に独立し、機能単位でオブジェクトを開発しているため、プログラムの修正と再利用に時間が掛かりません.そのため、オブジェクトを組み合わせ、カスタマイズすることにより、短時間で高品質のシステムを開発することが可能です。オブジェクト指向の概念図を図 7 に示します。

図 7. オブジェクト指向の概念図

図 7. オブジェクト指向の概念図

1.3.2 UML

UML は、従来のシステム設計として有名な 3 つの手法である 1. Booch 法、2. OMT 法、3. OOSE 法の考案者により、標準化されたシステム設計方法です。UML は、人間工学に基づいて規格化されたグラフィカル言語であるため、非常にわかり易いという利点を持ちます。また、UML は、実践のシステム開発の現場でも十分に耐えうる高機能な言語仕様のため、現在非常に注目を集めています。

UML は、システム設計を行う場合に利用する、モデリング言語です。従来、システム設計図は、使用言語の統一が取れていなかったため、要求仕様を相手にうまく伝えることができませんでした。しかし、UML で作図したシステム設計図は、システム開発のすべての段階を通して共通であるため、相手に要求仕様をうまく伝えることができます。つまり、UML を利用することにより、システムの図面を見せるだけで、プログラムの実装のために必要な内容が理解できます。UML の概念図を図 8 に示します。

図 8. UML の概念図

図 8. UML の概念図

1.3.3 UMLの利点

オブジェクト指向プログラミングは、プロトタイプモデルと非常に相性がよく、仕様変更に柔軟に対応することが可能です。プロトタイプモデルとは、「分析、設計、実装、テスト」 を一つのサイクルとし、システムが完成するまで、このサイクルを繰り返し行う開発モデルです。従来のシステム開発では、「インタフェースや機能などの要求仕様の決定、プログラムの実装、検証、保守」 という段階を一つずつ確実に踏んでいくウォーターフォールモデルが主流でした。そのため、開発依頼者と開発者の間のコミュニケーションが不足し、仕様変更が発生してしまうことが多々ありました。それに対して、プロトタイプモデルは、サイクルごとにテストを行うため、開発依頼者と開発者との意識のずれを最小限に食い止めることができます。また、このようなプロトタイプモデルを利用する時には、プログラムの仕様変更が頻繁に発生しますが、オブジェクト指向プログラミング言語では、柔軟に対応することができます。

1.3.4 オブジェクト指向プログラミングと UML

UML は、オブジェクト指向プログラミングに準拠している言語です。そのため、今まで、システム開発者を悩ましてきた、オブジェクト単位の組み合わせや、オブジェクト群同士の協調動作などの概念を図式化することができます。また、システム開発者は、UML を使用することにより、今まで抽象的で捉えることが容易ではなかった、開発依頼者の要求仕様をグラフィカルに表現することができます。そのことにより、システム開発者は、開発依頼者との行き違いを減少させ、システムの仕様変更及び再構築のリスクを軽減することができます。

1.3.5 Visio の UML 機能の概要

Visio には、オブジェクト指向設計を行うための機能が豊富に用意されています。 Visio の UML 機能には、ユースケース図やシーケンス図、クラス図など様々なテンプレートと各々に必要なマスタシェイプが用意されています。また、Visual Studio .NET は、Visio と組み合わせることにより、Visio で作図した UML から、Visual C++、Visual Basic、Visual C# のソースコードを自動で生成する機能や、ソースコードから、UML を自動で生成するリバースエンジニアリングという機能を利用することができます。設計工程と開発工程は、これらの機能を使用することにより一体化できます。設計工程と開発工程を一体化することにより、システム開発者は、システム設計書からクラス構造を読み取り、ソースコードを一から作成する手間がなくなります。また、リバースエンジニアリング機能を使用することにより、システム開発者は、システム設計書を作成するための手間が軽減されるため、開発効率の大幅な向上に繋がります。Visio の UML 機能の例を図 9 に示します。

図 9. Visio の UML 機能の例

図 9. Visio の UML 機能の例

また、Visio には、シェイプごとにプロパティを設定する機能が用意されています。プロパティを設定することにより、オブジェクトごとの詳細情報をシェイプに格納することができます。プロパティ設定画面を図 10 に示します。

図 10. プロパティ設定画面

図 10. プロパティ設定画面

1.4 まとめ

本章では、システム設計開発に重要なオブジェクト指向プログラミングの概念を説明し、その設計方法である UML の必要性や Visio に用意されたオブジェクト指向設計を行うための機能を紹介しました。システム開発者は、UML を習得することにより、システム全体の構成を一度に把握することができます。また、UML は、プロジェクトに関わる人間に共通の認識を持たせる役割があります。これらの利点が挙げられる UML を Visio に用意された UML テンプレートを利用することにより、簡単に記述することができます。

本連載では、Visio の UML テンプレートを利用して、オブジェクト指向プログラミングの中で、最も重要な行程である、オブジェクト指向設計技術の習得を目指します。また、本連載を通じて、オブジェクト指向設計の標準規格である UML の技術と、Visio の UML 機能についての知識を身に付けることを目標としています。


著者紹介

田中 成典 (たなか しげのり)

1986年関西大学工学部土木工学科卒業
1988年関西大学大学院工学研究科 土木工学専攻博士課程前期課程修了
1996年博士 (工学) 授与,関西大学
1997年関西大学総合情報学部助教授 (現在に至る)
主な著書:やさしいCのはじめかた,オーム社,1993年
 建設技術者のための知識情報処理の実践,関西大学出版部,1999年
 DirectX8,工学社,2001年
 ステップアップXML,工学社,2002年
 Linuxアプリケーション入門,森北出版,2002年    ほか

中山 浩太郎 (なかやま こうたろう)

2001年3月関西大学総合情報学部卒業
2001年4月関西大学大学院総合情報学研究科入学 (現在に至る)
2002年4月同志社女子大学非常勤講師 (現在に至る)
主な著書:Web工房シリーズ Perlの達人,森北出版,1999年
 DirectX8,工学社,2001年
 Linuxアプリケーション入門,森北出版,2002年    ほか

石井 健一 (いしい けんいち)

1999年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
主な著書:ステップアップXML活用法,工学社,2002年

野中 一希 (のなか かずき)

1999年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
2002年1月株式会社関西総合情報研究所入社 (現在に至る)

中村 健二 (なかむら けんじ)

2000年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
2002年4月株式会社関西総合情報研究所入社 (現在に至る)


Microsoft