18. 統合開発環境に関する知識 I

シラバス: 

1. 科目の概要

 ソフトウェア開発を効率的に進めるために用意されている統合開発環境について解説する。統合開発環境の歴史、機能、特徴、使い方などを説明する。またOSSの開発でしばしば利用される代表的な統合開発環境のいくつかについて、その特徴、基本的な機能と導入方法を紹介する。

2. 習得ポイント

 本科目の学習により習得することが期待されるポイントは以下の通り。

3. IT知識体系との対応関係

「18.統合開発環境に関する知識Ⅰ」とIT知識体系との対応関係は以下の通り。

[シラバス:http://www.ipa.go.jp/software/open/ossc/download/Model_Curriculum_05_18.pdf]

<IT知識体系上の関連部分>

4. OSSモデルカリキュラム固有の知識

 OSSモデルカリキュラム固有の知識として、実用的な統合開発環境に関する知識がある。Eclipse、NetBeans、WideStudioといった著名な統合開発環境(IDE)を用いて、IDEの機能や効率的な開発を行う手法を学ぶ。

(網掛け部分はIT知識体系で学習できる知識を示し、それ以外はOSSモデルカリキュラム固有の知識を示している)

I-18-1. 統合開発環境の概要

統合開発環境の主な機能や統合開発環境を利用するメリット、統合開発環境を利用したソフトウェア開発手順の概要を解説する。

【学習の要点】

* OSSの統合開発環境は、その多くはGUIで、大規模なプログラムも一人で作成することが出来る。

* 統合開発環境では、プログラムを単なるソースコードではなく、プロジェクトとして開発をする。

図I-18-1. 統合開発環境の主な機能

【解説】

1) 統合開発環境の主な機能

* 構成管理

開発中のソフトウェアのライブラリのディレクトリ構成や各ファイルのバージョンなど、手で管理をすると煩雑なところを、自動で管理してくれる。

* ウィジェット作成支援

GUI周りのソースコードを、グラフィカルにウィジェット(GUIの構成要素)を配置するだけで自動生成してくれる。

* 入力補完

関数やキーワードなど途中まで入力したものを自動で補完したり、入力候補を表示する機能を備えている。

* ソースコード確認支援

ソースコードの色付けなど、コードを確認する際に便利な補助機能を備えている。

* 一括ビルド

ビルドをする時、長いコマンドを打つことなく、ボタン一つでビルドができる。

* デバッグ支援

グラフィカルなデバッグツールを備えている。

2) 統合開発環境のメリット

* エディタ、コンパイラ、デバッガなどがひとつのGUIインタフェースで扱えるため、開発者の負担が非常に軽くなる。

* 自動でディレクトリ構成をしてくれるので、ソースコードの管理の手間が省ける。

* バージョン管理が容易にできる。

* GUIプログラミングの手間が省ける。

3) 統合開発環境での開発手順

* プロジェクトの作成

まず、プロジェクトを作る。プロジェクトとは、一つのプログラムを作る際のソースコードやライブラリ、アイコンの画像ファイルなどをひとまとめにした単位のことである。

* ソースコードの作成

プロジェクトにソースコードのファイルを追加、編集する。

* ビルド、デバッグ

ビルド、デバッグをして完成させる。

I-18-2. さまざまな統合開発環境

OSS開発で用いられる主な統合開発環境の種類と代表例を紹介する。対応言語、対応フレームワーク、開発用途などの特徴と違いを解説する。

【学習の要点】

* 主なOSSによる統合開発環境は、Eclipse、NetBeans、WideStudioなどがある。

* EclipseはJava用統合開発環境としてよく使われているが、プラグインを追加することにより、C/C++、Perl、Rubyなど多様な言語によるソフトウェア開発にも対応できる。

* NetBeansはJava、Ruby、C/C++用統合開発環境である。

* WideStudioは、C/C++を始め、Java、Ruby、Perl、Python、Objective CAMLによるデスクトップアプリケーションの開発を効率的に行うことが可能である。

図I-18-2. 代表的なOSS統合開発環境の特徴

【解説】

1) 主なOSSによる統合開発環境

OSSによる統合開発環境には、主に次のものがある。

* Eclipse

* NetBeans

* WideStudio

* J-alcedo

2) Eclipseの特徴

* プラグインによる機能の拡張

プラグインにより、Java以外の言語の開発や有用なデバッガの使用、UML図の作成ができるようになる。

* フレームワーク対応

StrutsやJUnitなど、プラグインによりさまざまなフレームワークに対応している。

* ソースコード作成支援

関数補完機能を備えたエディタを備えている。

3) NetBeansの特徴

* 多数のプログラミング言語に対応

NetBeansはJavaのほかにも、Ruby、C/C++などの開発ができる。

* GUI開発機能

NetBeansは、GUIビルダーのみである程度の機能を持ったアプリケーションが開発できるなど、特にGUI開発に優れている。

* フレームワーク対応

StrutsやJava Server Faces、JSFなどのWebフレームワークに対応している。

4) WideStudioの特徴

* 多数のプログラミング言語に対応

WideStudioは、C/C++をはじめ、Java、Perl、Python、Rubyなどを用いて開発ができる。

* MWT(Multi-platform Widget Toolkit)

WideStudioはMWTライブラリを採用していることにより、同じソースコードでも違うOSで再コンパイルすることで、そのOSのネイティブコードをもったアプリケーションが作成できる。

* マルチエンコーディング

マルチエンコーディングに対応しているため、ソースコードのテキストエンコーディングを気にする必要がない。

* 多言語対応

英語、日本語に限らず、韓国語や中国語にも対応している。

* 国産OSS

日本で開発がはじまったOSS IDEであるため、日本語のドキュメントが充実している。

I-18-3. Eclipseの歴史、開発の背景と特徴

OSS統合開発環境のひとつであるEclipseについて、開発の背景、歴史、支援団体、関連プロジェクト、ライセンスなどについて説明する。さらにそのアーキテクチャや機能、プラグインによる拡張などの特徴を解説する。

【学習の要点】

* Eclipseは1998年にIBMによって開発が始まり、2001年にオープンソース化された。

* Eclipseはプラグインを追加することによってC/C++などJava以外の他の言語の開発ができるほか、バグパターンの検出やコーディングスタイルのチェックなどのプログラム開発において非常に便利な機能を追加することができる。

* Eclipseのライセンスは、EPL(Eclipse Public License)である。

図I-18-3. Eclipse普及の概要

【解説】

1) Eclipseの背景と歴史、支援団体

* 1998年、Eclipseの開発が始まる。

IBMにより、統合開発環境として開発が始まる。

* 2001年、オープンソース化

オープンソースコミュニティ Eclipse Board of Stewardsが設立され、多くの開発者により、急速に開発が進む。

* 2004年、Eclipse Foundation設立

オープンソースコミュニティが再編され、非営利組織のEclipse FoundationにEclipseに関してすべてが委譲される。

2) Eclipse関連プロジェクト

Eclipseには、次のような関連プロジェクトがある。

* Business Intelligence and Reporting Tools

* Data Tools Platform

* Device Software Development Platform

* Eclipse Project

* Eclipse Modeling Project

* SOA Tools

* Eclipse Technology Project

* Tools Project

* Test and Performance Tools Platform Project

* Eclipse Web Tools Platform Project

3) Eclipseのライセンス

Eclipseは、Eclipse Public License (EPL)を採用している。これはオープンソースのライセンスのひとつである。

4) Eclipseのアーキテクチャ、機能、プラグインによる拡張

Eclipseはその機能のほとんどがプラグインによって実現されている。Java開発環境自体もプラグイン化されており、それが標準的に装備されている。

その他、バージョン管理システムCVSとの連携や、ユニットテストを行うためのフレームワークJUnitとの連携など、さまざまな機能をプラグインによって追加することができる。

I-18-4. Eclipseの設定と基本機能

Eclipseを利用するために必要な環境を設定する手順について、パッケージの入手方法から動作環境の整備、プラグインによる拡張方法、関連アプリケーションの設定などについて具体的に説明する。また基本機能について解説する。

【学習の要点】

* EclipseはEclipse.orgのサイトからダウンロードする。また、起動させるにはJREが必須である。

* Eclipseは、プラグインによる機能の拡張機能を備えている。

図I-18-4. Eclipseのインストール方法など

【解説】

1) Eclipseの入手方法

http://download.eclipse.org/eclipse/downloads/index.phpにて、最新版をダウンロードできる。また、Eclipseを日本語化するために、Language Packもダウンロードしておくとよい。

2) Eclipseの動作環境とその整備

EclipseはJavaで書かれているため、インストールするにはJavaの実行環境であるJRE(Java Runtime Environment)が必要である。これは以下のページでダウンロードできる。

http://www.java.com/ja/download/manual.jsp

なるべく最新版を手に入れることが望ましい。

3) Eclipseのプラグインの拡張方法

Eclipseには数多くのプラグインがあり、それをインストールするには以下の方法をとる。

大きく分けてその方法には2種類ある。

* ファイルのコピーによるインストール

多くの場合、zipファイルで配布されているプラグインを解凍すると、featuresフォルダとpluginsフォルダと説明のファイルが現れる。そのうち、featuresフォルダの中身をEclipse本体のfeaturesフォルダに、pluginsの中身をEclipse本体のpluginsフォルダにコピーする。

* Update Siteを使ったインストール

プラグインの作者がUpdate Siteを用意している場合、これを使ってプラグインをインストールするとよい。Update Siteの登録の仕方は次の通り。ツールバーからヘルプ>ソフトウェア更新>検索およびインストールを選ぶ。次に、インストールする新規フィーチャーを選択する画面になるので希望のフィーチャーを選択し、新規リモートサイト>名前とURLの入力>OK>終了といった流れになる。

4) Eclipseの基本機能

* プラグインによる機能の拡張

* グラフィカルデバッガによるデバッグ、ステップ実行

* バージョン管理システムCVSとの連携

* ユニットテストの自動化を行うフレームワークであるJUnitとの連携

* ビルドシステムAntとの連携

* リファクタリングの実現の支援

* コード編集支援

I-18-5. Eclipseの基本操作

ワークベンチウィンドウ、プロジェクトの作成、コーディング方法、ビルドと実行など、Eclipseの基本的な操作について解説する。またプラグインによる拡張の利用例など、Eclipseの効果的な活用についても触れる。

【学習の要点】

* Eclipseを起動したときにあらわれるウインドウ全体を、ワークベンチウィンドウと呼び、プロジェクトの全工程を統括したビューを提供する。

* Eclipseでは、ソースコードをプロジェクト単位で管理する。

図I-18-5. Eclipseのワークベンチウィンドウ

【解説】

1) ワークベンチウィンドウ

ワークベンチウィンドウとは、Eclipseを起動したときにあらわれるウインドウ全体をさす。初期状態では、左側のペインには、パッケージエクスプローラーが、中央上部はテキストエディタ、右側のペインにはアウトライン、下部のペインにはコンソールが表示されている。

2) プロジェクトの作成

新しくプロジェクトを作るには、ファイル>新規>プロジェクトを選び、任意のプロジェクトを選んでプロジェクト名を付ければよい。

3) コーディング支援機能

コーディングをする時は、ソース編集支援機能を使うことができる。例えば、関数名を入力した時には、関数名や引数の補完を行う。そのほかにも、ソース内に明らかな文法の間違いがある場合は、その行をマークするなどの機能がある。また、メニューバーの実行から、実行を選ぶと、自動でビルドをしてプログラムを実行することができる。

4) プラグインによる機能の拡張

ヘルプ>ソフトウェア更新>検索とインストールを選ぶか、Eclipse本体のプラグインフォルダにプラグインファイルをコピーすることで、プラグインをインストールすることができる。これにより、Eclipseを機能拡張することができる。以下に、代表的なプラグインを示す。

* WTP(Web Tools Platform)

Webアプリケーション開発のためのツール群。

* CDT(C/C++ Development Tooling)

C、C++のための開発ツール群。

* EPIC Perlプラグイン

Perlのための開発ツール群。

* Omondoプラグイン

UMLのクラス図、シーケンス図など記述するためのツール群。

I-18-6. NetBeans IDEの歴史、開発の背景と特徴

OSS統合開発環境のひとつであるNetBeans IDEについて、開発の背景、歴史、コミュニティ、関連プロジェクト、ライセンスなどについて説明する。さらにそのアーキテクチャや機能、ユーザーインタフェースなどについて解説する。

【学習の要点】

* NetBeansは、1996年にチェコの学生によってはじまったXelfiを元にしている。

* NetBeansはサン・マイクロシステムズ社を中心としたコミュニティで開発されている。

* NetBeansのライセンスは、CDDL(Common Development and Distribution)である。

図I-18-6. NetBeans普及の概要

【解説】

1) NetBeansの歴史、背景

NetBeansは、1996年にチェコのチャールズ大学の学生プロジェクトとして始まった。1997年には会社を設立し、1999年にNetBeansとしてリリースされた。そしてこの年、Sun Microsystems社に買収され、その翌年の2000年にはNetBeansはオープンソースプロジェクトとしてリリースされることになった。それ以降は順調に利用者数を伸ばしながら、度重なるアップデートを行っている。

2) NetBeansのコミュニティ

Netbeans.org内に日本語サイトがあり、メーリングリスト、ドキュメント公開等を行っている。

3) NetBeansのインタフェース

左側にファイル一覧とインスペクタ。中央にはGUI作成ツール。右側にはボタンなどのパレットがある。中央のGUI作成ツールはソースエディタにもなり、その場合は中央から右側にかけてウインドウが開く。そして一番下にはコンソール出力がある。コンパイル時のエラーなどはこの欄に表示される。

4) NetBeansのライセンス

NetBeansのライセンスは、CDDL(Common Development and Distribuion)ライセンスによる。CDDLライセンスの日本語訳は、下記を参照のこと。

http://sourceforge.jp/projects/opensource/wiki/licenses%2FCommon_Development_and_Distribution_License

5) NetBeansの特徴

* 多数のプログラミング言語に対応

NetBeansはJavaのほかにも、Ruby、C/C++などの開発ができる。

* GUI開発機能

NetBeansは、GUIビルダーのみである程度の機能を持ったアプリケーションが開発できるなど、特にGUI開発に優れている。

* フレームワーク対応

StrutsやJava Server Faces、JSFなどのWebフレームワークに対応している。

I-18-7. NetBeansの設定と基本機能、基本操作

NetBeans IDEを利用するために必要な環境を設定する手順について、パッケージの入手方法から動作環境の整備、関連アプリケーションの設定などについて具体的に説明する。また、基本機能と基本的な操作について解説する。

【学習の要点】

* NetBeansは、http://download.netbeans.orgからダウンロードする。

* NetBeansをインストールするには、まずJDKをインストールする必要がある。必要なバージョンはhttp://www.netbeans.orgにて確認すること。

* ソフトウェア開発の手順は、まずプロジェクトを作成し、パッケージやクラスの生成をしてソースコードを書き、デバッグを行った上で、ビルドで実行可能なプログラムを生成する。

図I-18-7. NetBeansスクリーンショット

【解説】

1) NetBeansの入手、インストール方法

NetBeansは、http://download.netbeans.orgからダウンロードする。2008年1月現在の最新版は、NetBeans IDE 6.0である。

NetBeansをインストールする前に、環境を整備する必要がある。推奨されるハードウェア構成などは、http://www.netbeans.org/community/releases/60/relnotes_ja.htmlにて紹介されている。

また、ソフトウェア環境としては、J2SE (Java SE Development Kit) JDK 5.0 Update 12 以降 (JDK 6.0 を含む) を必要とする。

インストールする際は、ダウンロードしたファイルの中からインストーラを起動して、NetBeansをインストールしたいファイルパスと、JDKがインストールされているファイルパスを指定して行う。これ以外は特に変更しなくてもよい。

2) NetBeansの基本機能

* ユーザーインタフェースの作成

ウインドウ、メニュー、ツールバーなどのパーツはNetBeans内にあるので、自分で作る必要はない。プログラマはそれらのパーツにコンポーネントを記述すればよい。

* データの表現と管理

ユーザーに対してグラフなどでデータを表示し、そのデータを操作するためのツールが豊富にある。

* バージョン管理

CVSもしくはSubversionを使うことができる。

3) NetBeansの基本操作

まずプロジェクトを作成する。プロジェクトの作成は、ファイル>新規プロジェクトを選ぶことで行える。次に、開発したいプロジェクトのカテゴリを選び、そのプロジェクトがどのようなプロジェクトなのかを選択して次へボタンを押す。プロジェクト名と保存場所を尋ねられるので、それを指定する。また同時に、そのプロジェクト独自のプロパティを設定する。次に完了ボタンを押すことで、プロジェクトのひな型が出来上がる。プロジェクト作成後は、ソースを記述していく。

I-18-8. WideStudioの歴史、開発の背景と特徴

OSS統合開発環境のひとつであるWideStudioについて、開発の背景、歴史、コミュニティ、ライセンスなどについて説明する。さらにそのアーキテクチャや機能、MWT(Multi-platform Widget Toolkit)などの特徴を解説する。

【学習の要点】

* WideStudio/MWTプロジェクトは、1999年に発足した。

* WideStudioはMITライセンスである。

* WideStudioはMWT (Multi-platform Widget Toolkit)という複数の異なるプラットフォームで動作するライブラリを利用しているため、異なるプラットフォーム間でも互換性を持つプログラムを作成することができる。

図I-18-8. WideStudio普及の概要

【解説】

1) WideStudioの歴史

WideStudioは1999年に、平林俊一氏によって開発が始まった。2000年にはα版が公開され、同年12月にはTurbo Linux Japan 社の開催するソフトウェアコンテストで個人部門最優秀賞を受賞した。その後も順調に開発は続き、2008年1月現在ではバージョン3.97が公開されている。

2) WideStudioのコミュニティ

WideStudioは日本発のオープンソースソフトウェアであり、日本語のコミュニティが発達している。登録者数1000人を超すメーリングリストも、日本語で交わされている。

3) WideStudioのライセンス

WideStudioはMITライセンスを採用している。そのため、WideStudioを用いて開発したソフトウェアの配布に関してほとんど制限がない。

MITライセンスの詳細は、http://www.opensource.org/licenses/mit-license.htmlを参照のこと。

4) WideStudioの特徴

* MWT(Multi-platform Widget Toolkit)

WideStudio最大の特徴は、MWT (Multi-platform Widget Toolkit)ライブラリを採用していることである。これにより、同じソースコードを再コンパイルすることで、異なるOSでもネイティブコードのアプリケーションを作成できる。OSが異なってもソースコードは同一でかまわないので、異なったOS毎にアプリケーションを作成する手間が省ける。

* 多くのプログラム言語で開発可能

C/C++を始め、Java、Perl、Python、Rubyなどを利用して開発ができる。

* マルチエンコーディング

ほとんどの場合OSが異なるとデフォルトのテキストエンコーディングも異なり、OS間でソースコードを共有する場合はその点に注意をする必要があった。しかし、WideStudioはマルチエンコーディングに対応しているので、ソースコードのテキストエンコーディングを気にする必要はない。

* 多彩なGUI部品

ボタンやスクロールバーの他にも、タイマーやドローイングエリアといったGUIオブジェクトを備えている。

* 多言語対応

日本語、英語の他にも韓国語や中国語などをサポートしている。

* エディタ

WideStudioは独自のテキストエディタを備えていないので、設定から任意のエディタを選択し、それを用いてソースコードを書く。

I-18-9. WideStudioの設定と基本機能

WideStudioを利用するために必要な環境を設定する手順について、パッケージの入手方法から動作環境の整備、作業環境の管理方法などについて具体的に説明する。また、基本機能について解説する。

【学習の要点】

* WideStudioを入手するには、http://www.widestudio.org/ja/index.htmlを参照、それぞれのプラットフォームにあったものをダウンロードする。

* WideStudioの作業環境の設定では、利用するエディタやヘルプの閲覧時ブラウザ、その他さまざまな項目が設定できる。

図I-18-9. WideStudioの設定画面

【解説】

1) WideStudioのダウンロード、インストール方法

WideStudioを入手するには、http://www.widestudio.org/ja/index.htmlに行きそれぞれのプラットフォームにあったものをダウンロードする。

2008年1月現在で対応しているプラットフォームは以下のものである。

* Windows

* BTRON

* Linux

* FreeBSD

* MacOSX

* μCLinux

* Solaris

* ITRON

* ZAURUS

インストール方法はそれぞれのプラットフォームに依存するが、Windowsの場合は、普通に解凍したフォルダ内に入っているsetupj.exeを実行すればインストールできる。

2) WideStudioの環境設定

WideStudioでは環境設定から使いたいエディタやブラウザ、コンパイラ、実行環境などを簡単に選ぶことができる。環境設定は、オプション>環境設定から選ぶことができる。また、それだけに限らず同様にオプションから、WideStudioのフォントや色設定なども幅広く変更することができる。

3) WideStudioの基本機能

WideStudioは独自のテキストエディタを備えていないので、WideStudio上でやることはソースコードを書く作業ではなく、次のようなものになる。

* プロジェクトの管理

* アプリケーションウィンドウの作成

* GUIツールの配置

* プロパティの設定

* プロシージャの管理

* デバッガによるバグ探し

I-18-10. WideStudioの基本操作

プロジェクトの作成、アプリケーションウィンドウ、インスタンスの管理、イベントプロシージャ、プログラムのビルドと実行、デバッグ方法など、WideStudioの基本的な操作について解説する。

【学習の要点】

* ウインドウを作成し、ボタン等を配置してそれらにプロパティを設定、そのプロパティを利用してプロジージャを書いていくことで、プログラムの作成をする。

* デバッグは、ビルド時に表示されるエラー表示やトレース実行を行った時に表示されるイベントなどを手掛かりにして行う。

図I-18-10. WideStudioのスクリーンショット

【解説】

1) プロジェクトの作成

プロジェクトを新規作成するには、ツールバーのプロジェクト>新規プロジェクトを選ぶ。次に、プロジェクト作成ウィザードが表示されるので、英数小文字でプロジェクト名称を入力し、言語エンコーディングタイプを指定する。

2) GUIアプリケーションを作る場合

* 新規プロジェクトの種類

プロジェクト作成ウィザードで、Normal Applicationを選択する。

* アプリケーションウィンドウの作成

ファイル>新規ウインドウを選択する。ウインドウ作成ウィザードが表示されるので、ウインドウのタイプや名称等を指定して、生成ボタンを押す。

* アプリケーションウィンドウ上へのオブジェクトの配置

表示>オブジェクトボックスを選択することで、アプリケーションウィンドウ上に配置できるオブジェクトの一覧が表示される。これをアプリケーションウィンドウ上にドラッグアンドドロップすることで、ボタンやテキストフィールドなどを配置することができる。

* イベントプロシージャの作成

プロシージャを設定したいオブジェクトを選択し、編集>プロシージャ編集>プロシージャ新規作成を選択する。プロシージャ編集ウインドウが表示されるので、プロシージャ名称、起動トリガ、起動関数名を指定する。

* 関数の編集方法

プロシージャの編集を選ぶと、テキストエディタが立ち上がるので、そこに必要な処理を記述していく。

3) コンソールアプリケーションを作成する場合

* 新規プロジェクトの種類

プロジェクト作成ウィザードで、Console Applicationを選択する。

* プロジェクトの設定

プロジェクト>プロジェクトの設定を選び、リンクタブを選択して通常モードの個別ライブラリから -mwindowsをはずす。

* 新規ウインドウ

ファイル>新規ウインドウでウインドウを作成する。

* プロシージャの設定

新規プロシージャを選び、トリガをINITIALIZEとし、関数を作る。

* 関数の編集

先に作成したプロシージャを編集して、コードを記述する。

4) アプリケーションのビルド、実行

ファイルが保存されていることを確認して、ツールバーからビルド>ビルドオールを選択すると、アプリケーションがコンパイルされる。終了後、ビルド>実行を選択すると、作成したアプリケーションが実行される。

5) デバッグ

コンパイルエラーが起こった場合には、メッセージボックスの表示を調べる。何行目でどのようなエラーがあったのかが表示されているので、それを手掛かりにプログラムの修正をすることができる。