• 検索結果がありません。

OSS モデルカリキュラムの学習ガイダンス 3. IT 知識体系との対応関係 5-3- 応統合開発環境に関する知識 と IT 知識体系との対応関係は以下の通り 科目名 応用レベル 応統合開発環境に関する知識 統合開発環境でのカバレジ計測

N/A
N/A
Protected

Academic year: 2021

シェア "OSS モデルカリキュラムの学習ガイダンス 3. IT 知識体系との対応関係 5-3- 応統合開発環境に関する知識 と IT 知識体系との対応関係は以下の通り 科目名 応用レベル 応統合開発環境に関する知識 統合開発環境でのカバレジ計測"

Copied!
23
0
0

読み込み中.... (全文を見る)

全文

(1)

5-3-応 統合開発環境に関する知識

1. 科目の概要

ソフトウェア開発を効率的に進めるために用意されている統合開発環境と様々な外部ツ ールとの連携を紹介する。また、C 言語やスクリプト言語など他のプログラミング言語の開 発環境の構築についても言及する。

2. 習得ポイント

本科目の学習により習得することが期待されるポイントは以下の通り。 習得ポイント 説 明 シラバスの対応コマ 5-3-応-1.統合開発環境でのコードカバレジ計測とメトリクス測 定 カバレジの概念を解説し、統合開発環境でのカバレジ計測の方法を説明する。また、メトリク スについても説明し、プログラムが複雑にならないような考え方を紹介する。 1,2 5-3-応-2.統合開発環境でのリファクタリング リファクタリングの概念を説明し、統合開発環境でのリファクタリング方法を解説する。リファク タリングも単体テストとついになっていることを説明し、コーディング、テスト、リファクタリングの 流れを紹介する。 3 5-3-応-3.統合開発環境とバグ管理ツールの連携 統合開発環境とバグ管理ツールの連携方法を紹介する。統合開発環境からのバグ登録やバグ一覧の取得の方法を解説する。 4 5-3-応-4.統合開発環境とビルドツールの連携 統合開発環境とビルドツールの連携方法を紹介する。統合開発環境でのビルドルール作成や、実際のビルド開始方法を説明する。 5 5-3-応-5.統合開発環境でのWeb開発 WTPの入手先や導入方法、Webコンテナの設定方法、WTPで作成可能なEclipseプロジェ クトについて説明し、Webアプリケーションの開発を行う際に必要となる知識について解説す る。 6 5-3-応-6.統合開発環境でのGUI開発 統合開発環境でのGUIアプリケーション開発について解説する。GUIフレームワーク用のプ ラグインを導入することで、RAD(Rapid Application Development)環境を構築できることを紹 介し、様々なコンポーネントの利用方法を説明する。 7 5-3-応-7.統合開発環境でのMVCフレームワークの利用 統合開発環境を利用したMVCフレームワークの利用について解説する。統合開発環境に MVCフレームワーク用のプラグインを追加することで、画面遷移をビジュアルで行うことがで きることを紹介する。 8 5-3-応-8.統合開発環境でのDB開発 統合開発環境を利用したDBフレームワークの利用について解説する。統合開発環境にDB フレームワーク用のプラグインを追加することで、O/Rマッピングと呼ばれる、SQLを書かない DBアクセスを実現することができる。 9 5-3-応-9.様々なプラグイン 統合開発環境にはいままで紹介した他にも有用なプラグインが数多く存在することを紹介する。UMLやER図のプラグイン等を紹介する。 10 5-3-応-10.他のプログラミング言語対応のためのプラグイン 統合開発環境はプラグインを導入することで、いろいろなプログラミング言語に対する開発環境を提供することを解説する。対応言語とプラグインについて紹介する。 11,12 ※ 【学習ガイダンスの使い方】 1. 「習得ポイント」により、当該科目で習得することが期待される概念・知識の全体像を把握する。 2. 「シラバス」、「IT 知識体系との対応関係」、「OSS モデルカリキュラム固有知識」をもとに、必要に応じて、 従来のIT 教育プログラム等との相違を把握した上で、具体的な講義計画を考案する。 3. 習得ポイント毎の「学習の要点」と「解説」を参考にして、講義で使用する教材等を準備する。

(2)

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

「5-3-応 統合開発環境に関する知識」と IT 知識体系との対応関係は以下の通り。 1 2 3 4 5 6 7 8 9 10 11 12 5-3-応 統合開発環境 に関する知識 統合開発環境で のカバレジ計測 統合開発環境で のメトリクス測定 統合開発環境で のリファクタリング 統合開発環境と バグ管理ツール の連携 統合開発環境と ビルドツールの連 携 統合開発環境で のWeb開発 統合開発環境で のGUI開発 統合開発環境で のMVCフレーム ワークの利用 統合開発環境で のデータベース開 発 様々なプラグイン を利用する 統合開発環境で のC言語の開発 統合開発環境で のスクリプト言語 の開発 科目名 応用レベル <IT 知識体系上の関連部分> 科目名 1 2 3 4 5 6 7 8 9 10 11 12 13 1 IT-IAS 情報保証 と情報セキュリ ティ IT-IAS1.基礎的な 問題 IT-IAS2.情報セ キュリティの仕組 み(対策) IT-IAS3.運用上の 問題 IT-IAS4.ポリシー IT-IAS5.攻撃 IT-IAS6.情報セ キュリティ分野 IT-IAS7.フォレン ジック(情報証拠) IT-IAS8.情報の状 態 IT-IAS9.情報セ キュリティサービ ス IT-IAS10.脅威分 析モデル IT-IAS11.脆弱性 2 IT-SP 社会的な観 点とプロフェッ ショナルとしての 課題 IT-SP1.プロ フェッショナルと してのコミュニ ケーション IT-SP2.コン ピュータの歴史 IT-SP3.コン ピュータを取り巻 く社会環境 IT-SP4.チーム ワーク IT-SP5.知的財産 権 IT-SP6.コン ピュータの法的問 題 IT-SP7.組織の中 のIT IT-SP8.プロ フェッショナルと しての倫理的な問 題と責任 IT-SP9.プライバ シーと個人の自由 3 IT-IM 情報管理 IT-IM1.情報管理の概念と基礎 IT-IM2.データ ベース問合わせ言 語 IT-IM3.データ アーキテクチャ IT-IM4.データモ デリングとデータ ベース設計 IT-IM5.データと 情報の管理 IT-IM6.データ ベースの応用分野

4 IT-WS Webシステムとその技術 IT-WS1.Web技術 [1-Ⅰ-7] IT-WS2.情報アー キテクチャ [1-Ⅰ-7] IT-WS3.デジタル メディア IT-WS4.Web開発 IT-WS5.脆弱性 IT-WS6.ソーシャ ルソフトウェア 5 IT-PF プログラミング基礎 IT-PF1.基本データ構造 IT-PF2.プログラ ミングの基本的構 成要素 IT-PF3.オブジェ クト指向プログラ ミング IT-PF4.アルゴリ ズムと問題解決 IT-PF5.イベント 駆動プログラミン グ IT-PF6.再帰 6 IT-IPT 技術を統 合するためのプロ グラミング IT-IPT1.システム 間通信 [1-Ⅰ-3] IT-IPT2.データ割 り当てと交換 IT-IPT3.統合的 コーディング IT-IPT4.スクリプ ティング手法 IT-IPT5.ソフト ウェアセキュリ ティの実現 IT-IPT6.種々の問 題 IT-IPT7.プログラ ミング言語の概要

7 CE-SWE ソフトウェア工学 CE-SWE0.歴史と概 CE-SWE1.ソフトウェアプロセス CE-SWE2.ソフト ウェアの要求と仕 様 CE-SWE3.ソフト ウェアの設計 CE-SWE4.ソフト ウェアのテストと 検証 CE-SWE5.ソフト ウェアの保守 CE-SWE6.ソフト ウェア開発・保守 ツールと環境 [1-Ⅰ-4] CE-SWE7.ソフト ウェアプロジェク ト管理 CE-SWE8.言語翻訳 CE-SWE9.ソフト ウェアのフォール トトレランス CE-SWE10.ソフト ウェアの構成管理 CE-SWE11.ソフ トェアの標準化 [1-Ⅰ-6] 8 IT-SIA システム インテグレーショ ンとアーキテク チャ IT-SIA1.要求仕様IT-SIA2.調達/手 IT-SIA3.インテグ レーション [1-Ⅰ-4] IT-SIA4.プロジェ クト管理 IT-SIA5.テストと 品質保証 IT-SIA6.組織の特 性 IT-SIA7.アーキテ クチャ 9 IT-NET ネットワーク IT-NET1.ネット ワークの基礎 IT-NET2.ルーティ ングとスイッチン グ IT-NET3.物理層 IT-NET4.セキュリティ IT-NET5.アプリ ケーション分野 [1-Ⅰ-5] IT-NET6.ネット ワーク管理 CE-NWK0.歴史と概 要 CE-NWK1. 通信 ネットワークの アーキテクチャ CE-NWK2.通信ネッ トワークのプロト コル CE-NWK3.LANとWAN CE-NWK4.クライア ントサーバコン ピューティング [1-Ⅰ-3] CE-NWK5.データの セキュリティと整 合性 CE-NWK6.ワイヤレ スコンピューティ ングとモバイルコ ンピューティング CE-NWK7.データ通 信 CE-NWK8.組込み機 器向けネットワー ク CE-NWK9.通信技術 とネットワーク概 要 CE-NWK10.性能評 価 CE-NWK11.ネット ワーク管理 CE-NWK12.圧縮と 伸張 CE-NWK13.クラス タシステム CE-NWK14.イン ターネットアプリ ケーション [1-Ⅰ-5,7] CE-NWK15.次世代 インターネット CE-NWK16.放送 11IT-PT プラットフォーム技術 IT-PT1.オペレー ティングシステム [1-Ⅰ-3] IT-PT2.アーキテ クチャと機構 IT-PT3.コン ピュータインフラ ストラクチャ IT-PT4.デプロイ メントソフトウェ ア [1-Ⅰ-4] IT-PT5.ファーム ウェア IT-PT6.ハード ウェア

12CE-OPS オペレーティングシステムCE-OPS0.歴史と概 CE-OPS1.並行性 CE-OPS2.スケ ジューリングと ディスパッチ CE-OPS3.メモリ管 理 CE-OPS4.セキュリ ティと保護 CE-OPS5.ファイル 管理 CE-OPS6.リアルタ イムOS CE-OPS7.OSの概要 CE-OPS8.設計の原 則 CE-OPS9.デバイス 管理 CE-OPS10.システ ム性能評価 コ ン ピュ ー タ ハー ド ウェ ア と アー キ テ ク チャ 13 CE-CAO コン ピュータのアーキ テクチャと構成 CE-CAO0.歴史と概 要 CE-CAO1.コン ピュータアーキテ クチャの基礎 CE-CAO2.メモリシ ステムの構成と アーキテクチャ CE-CAO3.インタ フェースと通信 CE-CAO4.デバイス サブシステム CE-CAO5.CPUアー キテクチャ CE-CAO6.性能・コ スト評価 CE-CAO7.分散・並 列処理 CE-CAO8.コン ピュータによる計 算 CE-CAO9.性能向上 14IT-ITF IT基礎 IT-ITF1.ITの一般 的なテーマ [1-Ⅰ-4] IT-ITF2.組織の問 題 IT-ITF3.ITの歴史 IT-ITF4.IT分野 (学科)とそれに関 連のある分野(学 科) IT-ITF5.応用領域 IT-ITF6.IT分野に おける数学と統計 学の活用 CE-ESY0.歴史と概 要 CE-ESY1.低電力コ ンピューティング CE-ESY2.高信頼性 システムの設計 CE-ESY3.組込み用 アーキテクチャ CE-ESY4.開発環境 CE-ESY5.ライフサ

イクル CE-ESY6.要件分析 CE-ESY7.仕様定義 CE-ESY8.構造設計 CE-ESY9.テスト CE-ESY10.プロ ジェクト管理 CE-ESY11.並行設 計(ハードウェ ア、ソフトウェア CE-ESY12.実装 CE-ESY13.リアル タイムシステム設 計 CE-ESY14.組込み マイクロコント ローラ CE-ESY15.組込み プログラム CE-ESY16.設計手 法 CE-ESY17.ツール によるサポート CE-ESY18.ネット ワーク型組込みシ ステム CE-ESY19.インタ フェースシステム と混合信号システ ム CE-ESY20.センサ 技術 CE-ESY21.デバイ スドライバ CE-ESY22.メンテ ナンス CE-ESY23.専門シ ステム CE-ESY24.信頼性 とフォールトトレ ランス 複 数 領 域 に ま た が る も の 15CE-ESY 組込みシステム シ ス テ ム 基 盤 10CE-NWK テレコミュニケーション 分野 組 織 関 連 事 項 と 情 報 シ ス テ ム 応 用 技 術 ソ フ ト ウェ ア の 方 法 と 技 術

(3)

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

OSS モデルカリキュラム固有の知識として、実用的な統合開発環境に関する知識がある。 Eclipse を用いて、他の OSS ツールと連携しながら開発を進める手法を学ぶ。 科目名 第1回 第2回 第3回 第4回 第5回 第6回 第7回 (1) カバレジの概要 (1) メトリクスの概要 (1) リファクタリングの 概要 (1) バグ管理ツール の概要 (1) ビルドツールの概 要 (1) WTPによるWebア プリケーション開発 (1) EclipseによるGUI アプリケーション開発 (2) Eclipseからの EclEmmaの利用 (2) Eclipseからの静 的解析ツールの利用 (2) リファクタリングを 実施する (2) バグ管理ツール の連携 (2) ビルドツールの連 携 (2) GUIアプリケーショ ンの作成 (3) 単体テストとの連 携 第8回 第9回 第10回 第11回 第12回 (1) Strutsを利用した アプリケーション開発 (1) Hibernateを利用 したアプリケーション開 発 (1) UML作成プラグイ ン (1) EclipseでのC言 語開発 (1) Eclipseでのスクリ プト言語開発 (2) アプリケーション の作成 (2) アプリケーション の作成 (2) ER図作成プラグイ ン (2) C言語開発環境 の作成 (2) スクリプト開発環 境の作成 (3) データベースの編 集、閲覧プラグイン (4) 継続的インテグ レーション(CI)プラグイ ン (5) All-in-one パッ ケージ 5-3-応 統合開発環境 に関する知識 (網掛け部分はIT 知識体系で学習できる知識を示し、それ以外は OSS モデルカリキュラム固有の知識を示している)

(4)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-1. 統合開発環境でのコードカバレジ計測とメトリクス測定 対応する コースウェア 第 1 回 統合開発環境でのカバレジ計測 第 2 回 統合開発環境でのメトリクス測定

5-3-応-1. 統合開発環境でのコードカバレジ計測とメトリクス測定

カバレジの概念を解説し、統合開発環境でのカバレジ計測の方法を説明する。また、メトリクスにつ いても説明し、プログラムが複雑にならないような考え方を紹介する。 【学習の要点】 * カバレジを計測することで、モジュール単位のテスト網羅性を計ることができる。 * メトリクスを測定することで、ソフトウェア全体の複雑性を計ることができる。 図 5-3-応-1 単体テストでのカバレジ測定

(5)

1) カバレジとは プログラミングでのカバレジは一般的にコードカバレジを指し、そのコードについてどれくらいの範 囲を網羅(テスト)したかを表す指標である。コードカバレジは一般的に C0、C1 の 2 種類が挙げら れる。 C0 は命令網羅率と呼ばれ、すべてのコードを一回以上実行すると 100%となる。これによって実行 されていないコードを検出することができる。 C1 は分岐網羅率と呼ばれ、if 文などの条件分岐の組み合わせをすべて実行すると 100%となる。こ れによって条件分岐のテストがされていないコードを検出することができる。 2) メトリクスとは メトリクスではソフトウェアの複雑さを測定する。たとえばクラスやクラス内のメソッドの数、メソッドの行 数、条件分岐などネストの深さ、クラス間の結合度合いを測定することで複雑さを示す。クラスやメソ ッドの数が多ければ多いほど、またネストが深ければ深いほど、そのソフトウェアが複雑であることを 意味し、複雑であればあるほど、潜在的な不具合の発生確率が上がると考えられている。 3) Eclipse で利用できる、カバレジ計測とメトリクス測定ツールの種類 * EclEmma JUnit やプログラムを実行しカバレジを計測する。結果はファイルごとのパーセンテージで表示 され、実行されていないコードはエディタ上で色分けされ確認することができる。

* Eclipse Metrics Plugin

プロジェクトのメトリクスを測定し、結果は項目ごとにメトリックウィンドウに表示される。測定内容 は総クラス数、メソッド数、メソッドの実効行数などを測定することができ、それぞれの値が大きい ほどに複雑なソフトウェアを意味する。 4) Eclipse でのカバレジ計測ツールの利用 EclEmmaを利用したカバレジ計測は、まずアップデートサイト(http://update.eclemma.org/)よりプ ラグインをインストールする。インストールが完了すると、Eclipse画面に新しくカバレジのボタンが表 示される。これを押すかまたは、実行種別(アプリケーションの実行か、JUnitでの実行か)を選択す る。実行されると「カバレジ」ウィンドウに結果が表示される。 5) Eclipse でのメトリクス測定ツールの利用

Eclipse Metrics Pluginを利用したメトリクスの測定についても、カバレジと同様にまずアップデートサ イト(http://metrics.sourceforge.net/update)よりプラグインをインストールする。インストール完了後、 「ウィンドウ|ビューの表示|その他」から、「メトリック|Metric View」を選択すると、メトリックウィンド ウが表示される。 メトリクスの計測は、「ウィンドウ|ビューの表示|パッケージ・エクスプローラ」を選択後、計測する プロジェクトのプロパティから、「Metrics|Enable Metrics」を有効にすることで、測定結果が先ほど のメトリックウィンドウに表示される。

(6)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-2. 統合開発環境でのリファクタリング 対応する コースウェア 第 3 回 統合開発環境でのリファクタリング

5-3-応-2. 統合開発環境でのリファクタリング

リファクタリングの概念を説明し、統合開発環境でのリファクタリング方法を解説する。リファクタリング も単体テストと対になっていることを説明し、コーディング、テスト、リファクタリングの流れを紹介す る。 【学習の要点】 * リファクタリングを行うことで、ソースコードが洗練されてゆく。 * 単体テストと組み合わせることで、リファクタリングが原因となる障害を極力防ぐことができる。 図 5-3-応-2 リファクタリングによるソースコードの質の向上

(7)

1) リファクタリングとは リファクタリングとは主に、クラスやメソッドのインタフェースを変更せずに、内部の構造を洗練するこ とと、設計の変更に伴う、外部インタフェースを変更することの 2 つの意味がある。 前者について、従来の開発では一度、動作を確認したコードは不具合が無い限り修正しないこと が多かった。しかし、プログラムの実装が進むにつれ変更される項目や、統合、分離されるコードが 出てくる。このような場面でソースコードを洗練することにより、ソースコードの可読性や、後々のメン テナンス性の向上を見込むことができる。 後者について、従来のように外部インタフェースの変更を手で行うと、抜けや漏れが発生する可能 性がある。これを統合開発環境の支援を得ることにより、自動的に行うことが可能となり、不具合の 混入を抑制することができる。 2) Eclipse でのリファクタリング機能 Eclipse でのリファクタリング支援は、主に外部インタフェースに対して行われる。 * クラス名の変更 選択したクラス名を変更する。変更対象のクラス名は定義だけではなく、参照されているすべて の変数の宣言やインスタンスの生成となる。 * メソッド名の変更 選択したメソッドの名称を変更する。変更対象はそのクラスのメソッド名、呼び出しなどとなる。 * フィールド名の変更 選択したフィールドの名称を変更する。変更対象はそのクラス内のフィールドとなる。 * メソッドのシグニチャ変更 シグニチャとは戻り値の型、メソッド名、引数の型、数の総称である。外部のインタフェースも変 更されるが、Eclipse のリファクタリング機能を利用することで、定義部分の変更の他にも、呼び 出し部分も変更に合わせて、新しい形に修正される。 * メソッドの抽出 共通の処理をメソッドとして抽出する。抽出したいメソッドを選択し、メソッド名の入力を行うと、該 当部分がメソッドとして切り出され、選択部分はメソッドの呼び出しに置き換えられる。 * インライン化 メソッドの抽出の逆の動作となり、指定したメソッドをインライン化、処理をコード中に埋め込むよ うに修正される。 3) リファクタリングと単体テスト テストフレームワークでの回帰テストを併用することで、リファクタリングによる新たな不具合の発生 を早期に検知する環境を作る。これにより、リファクタリングを行いやすくする環境を作ることができ る。

(8)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-3. 統合開発環境とバグ管理ツールの連携 対応する コースウェア 第 4 回 統合開発環境とバグ管理ツールの連携

5-3-応-3. 統合開発環境とバグ管理ツールの連携

統合開発環境とバグ管理ツールの連携方法を紹介する。統合開発環境からのバグ登録やバグ一 覧の取得の方法を解説する。 【学習の要点】 * 統合開発環境とバグ管理ツールを連携させることで、バグ管理ツールをより効果的に利用する ことができる。 * 統合開発環境からタスクの登録、閲覧を行うことができる。 図 5-3-応-3 統合開発環境とバグ管理ツールの連携

(9)

1) バグ管理ツールとは バグ管理ツールとは一般的に Web アプリケーションで作られている、バグを登録、管理するツール である。バグ管理ツールを利用することで、バグやタスクの漏れや抜けを防ぐことができる。通常、 バグ管理ツールは Web ブラウザからアクセスするが、統合開発環境からアクセスを行うこともできる。 これにより、統合開発環境上でタスクの登録や確認などを行うことができる。 2) Eclipse で利用できるバグ管理ツールの種類 現在 Eclipse で利用できる、主な OSS のバグ管理システムを示す * Bugzilla * Mantis * Trac * Redmine(API 経由ではなく、Web テンプレート経由) 3) Eclipse でのバグ管理ツールの利用 Eclipseからのバグ管理ツールの利用はMylynを通して行う。MylynはJavaパッケージのEclipseであ れば組み込まれた状態で提供されているため、そのまま利用することが可能である。以降にTrac (http://trac.edgewall.org/)をベースとして導入手順を示す。 A) バグ管理ツールへのコネクタをインストール (ア) メニューの「ファイル|新規|その他」を選択する。 (イ) 「タスク|タスク」を選択し、次へ。 (ウ) 新規タスク画面で「タスクリポジトリ-の追加」を押す。

(エ) タスクリポジトリ-の追加画面で「Install More Connection」を押す。

(オ) Install Connections 画面で「Edgewall Trac」にチェックを入れ、完了を押す。 (カ) 以降は通常のプラグインインストールと同様。 B) バグ管理ツールへの接続 (ア) A)の手順でタスクリポジトリ-の追加画面まで進み、Trac を選択する。 (イ) 次の画面で、サーバの URL とユーザ名、パスワードを入力する。 (ウ) 追加設定のアクセスタイプで「XML-RPC」を選択する(Trac 側にも XML-RPC プラグイン をインストールする必要がある)。 (エ) 完了を押す。 C) タスクの登録 (ア) メニューの「ファイル|新規|タスク」を選択する。 (イ) 登録した Trac プロジェクトを選択し、完了を押す。 (ウ) チケットの画面に必要な情報を登録しサブミットする。 D) タスクの閲覧 (ア) メニューの「ウィンドウ|ビューの表示|その他」を選択し、「タスク|タスク・ロポジトリー」 を選択する。 (イ) 登録した Trac プロジェクトを右クリックし、「新規クエリー」を選択する。 (ウ) クエリーを作成する。 (エ) メニューの「ウィンドウ|ビューの表示|タスク・リスト」を選択する。

(10)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-4. 統合開発環境とビルドツールの連携 対応する コースウェア 第 5 回 統合開発環境とビルドツールの連携

5-3-応-4. 統合開発環境とビルドツールの連携

統合開発環境とビルドツールの連携方法を紹介する。統合開発環境でのビルドルール作成や、実 際のビルド開始方法を説明する。 【学習の要点】 * ビルドツールを利用することで、環境に依存しないビルド環境を構築することができる。 * 統合開発環境からビルドツールを利用することで、設定ファイル支援や、統合開発環境からビ ルドトリガを入れることができる。 図 5-3-応-4 ビルドツールの統合開発環境からの利用

(11)

1) ビルドツールとは

ビルドツールとは、ソースコードのコンパイルやドキュメントの生成といった手順を自動化するツール である。

2) Eclipse で利用できるビルドツールの種類 * Apache Ant

Java で利用できる make ツール。Makefile に相当するビルドルールを XML で記述する。javac や javadoc、junit など、Java の基本的なコマンドをタスクとして扱うことができる。 標準的な Eclipse で利用が可能で、Ant エディタを利用することによりコードアシストを受けること ができる。これによって XML 記述をより簡単に行うことができる。 * Apache Maven Ant のような複雑な XML の設定ファイルを記述せずともビルドを行うことができる。Eclipse のプラ グインを利用することで、プロジェクトの新規作成と同時に必要な構成を自動生成する。ゴール を設定することで、ビルドコマンドからコンパイル、テスト、jar ファイルの作成まで自動で行うこと ができる。 3) Eclipse でのビルドツールの利用 Eclipse から Ant を利用する際には特別な設定を行う必要がなく、メニューの「ファイル|新規|ファ イル」を選択し、「build.xml」というファイル名でファイルを作成する。build.xml は Ant ビルドルールの 既定のファイル名である。

Eclipse 上で build.xml をダブルクリックすると、Ant エディタが開き、Ant のコードアシストを受けるこ とができる。 プロジェクトに対するタスクを記述し「パッケージ・エクスプローラ」の XML ファイル、または「アウトラ イン」のビルドターゲットを右クリックし、「Ant ビルド」を選択すると、そのビルドルールでビルドが開 始される。ビルドの状況は「コンソール」に出力され、結果を確認することができる。 EclipseからMavenを利用するために、m2eclipseをインストールする。「新規ソフトウェアのインストー ル」にてアップデートサイト(http://m2eclipse.sonatype.org/sites/m2e)よりインストールを行う。 Maven の利用に「ファイル|新規|その他」から「Maven|Maven Project」を選択することで、Maven でビルド可能なプロジェクトを作成することができる。

このプロジェクトに必要なソースコードやテストコードを追加し、ビルドを行うことで自動的にビルドや テストの実行を行うことができる。

(12)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-5. 統合開発環境での Web 開発 対応する コースウェア 第 6 回 統合開発環境での Web 開発

5-3-応-5. 統合開発環境での Web 開発

WTP の入手先や導入方法、Web コンテナの設定方法、WTP で作成可能な Eclipse プロジェクトに ついて説明し、Web アプリケーションの開発を行う際に必要となる知識について解説する。 【学習の要点】

* WTP は Eclipse 3.3 以降の「Eclipse IDE for Java EE Developers」パッケージをインストールする ことで自動的にインストールされる。

* Servlet API を利用するアプリケーションを Eclipse 上で実行する場合、Web コンテナを別途イン ストールする必要がある。

* Web コンテナについて Eclipse で設定を行うことで、Eclipse 内でサーバの起動、アプリケーショ ンのデプロイ、デバッグなどを行うことが可能となる。 State: Started( 起動済み) Consoleビュー: ログ表示   デバッグ起動   通常起動   プロファイル起動   停止   デプロイ Serverビュー: コンテナの管理 起動ログ 図 5-3-応-5 Eclipse 内での Tomcat の実行

(13)

1) WTP の導入

WTP の導入方法として、代表的な方法を以下にあげる。なお、対象とする Eclipse のバージョンは 3.4 とする。

* WTPは、Webページ(http://www.eclipse.org/downloads/)で配布されているインストールパッケ ージ「Eclipse IDE for Java EE Developers」に同梱されており、これをダウンロード、展開すること でWTPを利用することができる。 * ソフトウェア更新機能を利用することで、既存のEclipseにWTPプラグインをインストールすること ができる。ソフトウェア更新機能は、上部メニューの「Help」->「Software Updates」を選択すること で利用できる。ここで、「Available Software」タブを選択し、「Add...」メニューでWTPのリポジトリ URL(http://download.eclipse.org/webtools/updates/)を追加することで、WTPのコンポーネン トをインストールすることができる。

* 「Eclipse IDE for Java EE Developers」以外のインストールパッケージとして、MergeDoc Project (http://mergedoc.sourceforge.jp/index.html)により配布されている「Pleiades All in One 日本語 ディストリビューション」を利用することができる。ここで配布されているパッケージは日本語化さ れており、用途により様々なパッケージが用意されている。「Java」パッケージには、WTPや AmaterasUMLなどが含まれている。

2) Web コンテナの設定

WTP を利用する場合、別途 Web コンテナまたはアプリケーションサーバを導入することで Eclipse と連携させることができる。ここでは OSS の Web コンテナ Tomcat との連携手順について解説する。 * Tomcat のインストール

TomcatはWebページ(http://tomcat.apache.org/)で配布されている。サイト中のドキュメントに 従ってインストールを行う。

* Tomcat の登録

インストールした Tomcat を Eclipse に登録することで、Eclipse 内から Tomcat の起動、停止を行 うことが可能になる。登録の手順は以下のとおり。

- 上部メニューの「File」->「New」->「Other...」->「Server」->「Server」を選択した状態で 「Next」を選択する。

- 「Apache」->「Tomcat [利用するバージョン]」を選択した状態で「Next」を選択する。 - 「Tomcat installation directory:」に Tomcat をインストールしたディレクトリを設定し、「Next」

を選択する。

- 「Finish」を選択する。 3) WTP で作成可能なプロジェクトの例

* Dynamic Web Project

Servlet API を利用して動的な Web ページを生成するアプリケーションを開発するためのプロジ ェクト。

* Enterprise Application Project

Servlet API に加えて EJB などエンタープライズ向け機能を利用するアプリケーションを開発する ためのプロジェクト。

(14)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-6. 統合開発環境での GUI 開発 対応する コースウェア 第 7 回 統合開発環境での GUI 開発

5-3-応-6. 統合開発環境での GUI 開発

統合開発環境での GUI アプリケーション開発について解説する。GUI フレームワーク用のプラグイ ンを導入することで、RAD(Rapid Application Development)環境を構築できることを紹介し、様々な コンポーネントの利用方法を説明する。 【学習の要点】 * Eclipse を利用することで、GUI アプリケーションの開発を簡単に行うことができる。 * Eclipse に GUI フレームワーク用のプラグインを導入することで、画面設計を直感的に行うことが できる。 図 5-3-応-6 Eclipse を利用した GUI アプリケーション開発

(15)

1) Eclipse での GUI アプリケーション開発

Java の GUI アプリケーションは Swing や AWT などがある。

統合開発環境を利用しない場合、フレームワークのコンポーネントをコードで記述しなければなら ないが、実際の表示は実行するまで確認できないため手間がかかる。また、GUI コンポーネントか らのイベント(ボタンが押された通知など)も、逐一コードで記述する必要がある。 統合開発環境を利用することで、これらを統合開発環境の画面上で行うことができ、またイベントに ついても、画面操作で簡単に追加できるようになり、作成する画面のイメージを持ちやすくなる。 2) Eclipse で利用できる GUI プラグインの種類

* Visual Swing for Eclipse

Swing を利用した GUI アプリケーション開発を Eclipse 上でグラフィカルに行うことができるプラグ イン。

インストールは、開発サイト(http://code.google.com/p/visualswing4eclipse/)から、プラグイン をダウンロードし、Eclipseのプラグインフォルダに展開する。

プラグインをインストール後、Eclipse を起動し、「ファイル|新規|Visual Swing Class」から作成 する画面種類を選択すると、画面のひな型が作成される。 コンポーネントの配置は、「ウィンドウ|ビューの表示|その他」から、「Visual Swing|パレット」を 選択することで、作成可能なコンポーネントの一覧が表示されるので、必要なコンポーネントをド ラッグ&ドロップで画面に張り付ける。 イベントの作成は、コンポーネントを右クリックし、「Add/Edit Events」を選択することで、作成でき るイベントを選ぶことができる。作成するイベントを選択すると、ソースコードにイベント用のメソッ ドが自動的に作成されるので、そのメソッドに必要な処理を記述する。 * Visual Editor

Swing のみならず AWT、SWT を利用した GUI アプリケーションの開発を行うことができるプラグ イン。 インストールはアップデートサイト(http://download.eclipse.org/tools/ve/updates/1.4/)を利用 して行う。 プラグインをインストール後、Eclipse を起動し、通常の Java プロジェクトを作成する。次に「ファイ ル|新規|Visual Class」を選択すると、ウィザードが表示され、設定を入力することで、画面の ひな型が表示される。 コンポーネントの配置は、「ウィンドウ|ビューの表示|その他」から、「一般|パレット」を選択す ることで、作成可能なコンポーネントの一覧が表示されるので、必要なコンポーネントをドラッグ &ドロップで画面に張り付ける。 イベントの作成は、コンポーネントを右クリックし、「Events|Add Events」から作成するイベントを 選ぶことができる。作成されたイベントの処理は、リスナーの作成時に実装されており、そのメソ ッドに必要な処理を追加することで実現することができる。

(16)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-7. 統合開発環境での MVC フレームワークの利用 対応する コースウェア 第 8 回 統合開発環境での MVC フレームワークの利用

5-3-応-7. 統合開発環境での MVC フレームワークの利用

統合開発環境を利用した MVC フレームワークの利用について解説する。統合開発環境に MVC フ レームワーク用のプラグインを追加することで、画面遷移をビジュアルで行うことができることを紹介 する。 【学習の要点】 * MVC フレームワークプラグインを利用することで、画面遷移や必要なクラスを自動的に生成する ことができる。 * Struts どの主要なフレームワークのプラグインを利用することで、開発の効率を上げることができ る。

(17)

1) MVC フレームワークと Eclipse

MVC フレームワークとは、主に Java で Web アプリケーションを構築する際に利用されるフレームワ ークである。MVC とはソフトウェアの構成を、データベース(Model)、画面(View)、ユーザ入力 (Controller)の 3 つに分けることで、それぞれの構造をシンプルにする考え方である。

2) Eclipse で利用できる Struts 用プラグイン、Struts IDE

* Struts IDE(http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=StrutsIDE) Struts IDE は Struts を利用したアプリケーション開発を手助けするプラグインである。

通常、Struts の画面遷移は、XML ファイルを記述することにより実装する。しかし、画面が増え ていくにつれ、画面とともに画面に対するアクションも増えていくため、数が膨大になり、複雑に なってしまうことが多い。

Struts IDE を利用することで、Eclipse 上の GUI から画面遷移や、アクションの追加、フォームの 作成を行うことができ、また、それぞれのクラスも画面上から行うことができる。実行やデバッグに ついても、このプラグインが Tomcat プロジェクトで動作するため、Eclipse 上から Tomcat を実行 することで、動作の確認を行うことができる。

* Struts IDE のインストール

Struts IDEはTomcatプラグイン(http://www.eclipsetotale.com/tomcatPlugin.html)とともに動作 する。この環境が構築されている場合は、プロジェクトサイトからプラグインファイルをダウンロー ドし、Eclipseのdropinsフォルダにコピーすればよい。 * Struts IDE の利用 プラグインの利用は、まず Tomcat プロジェクトを作成し、「ファイル|新規|その他」から 「Amateras|Struts|Struts サポートの追加」を選択することで、Struts の環境が作成される。 struts-config.xml を Eclipse 上から開くことで、アクションやページの編集画面が表示され、ここ でそれぞれの追加および接続を行う。 フォームについてはアウトラインから Bean を選択し、新しいフォームを作成する。その後、フォー ム、アクション、ページをそれぞれアウトライン画面で結びつけることにより、XML ファイルへの記 述と同等の実装を行うことができる。

(18)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-8. 統合開発環境での DB 開発 対応する コースウェア 第 9 回 統合開発環境でのデータベース開発

5-3-応-8. 統合開発環境での DB 開発

統合開発環境を利用した DB フレームワークの利用について解説する。統合開発環境に DB フレー ムワーク用のプラグインを追加することで、O/R マッピングと呼ばれる、SQL を書かない DB アクセス を実現することができる。 【学習の要点】 * O/R マッピングフレームワークのためのプラグインを利用することで、SQL や設定ファイルを記 述することなく、データベースアクセスのための機能を生成することができる。 * Hibernate など、フレームワークに合ったプラグインを利用する。 図 5-3-応-8 Hibernate Tools を利用したデータベースアクセス

(19)

1) O/R マッピングフレームワークと Eclipse

O/R マッピングフレームワークはデータベース操作を簡略化するために利用するフレームワークで ある。O/R マッピングとはオブジェクト(Object)と RDB(Relational DataBase)との対応(マッピング) のことで、型の不整合(インピーダンスミスマッチ)を防ぐことや、RDB を SQL なしで、オブジェクト(ク ラス)から扱えるようにすることである。

2) Eclipse で利用できる Hibernate 用プラグイン、Hibernate Tools * Hibernate Tools(https://www.hibernate.org/255.html)

Hibernate Tools は Eclipse 上で Hibernate を利用したアプリケーションの実装を手助けするプラ グインである。

プラグインを用いないで Hibernate を利用するときは、データベースの情報や、テーブルとクラス のマッピングは XML ファイルに手動で記述する必要がある。しかし、データベースのテーブル 数の増大による項目数の増加や、データベースの構造変更に伴う、クラス構成の変更などが、 不具合の要因となる場合がある。

Hibernate Tools を利用することで、接続するデータベースの情報を GUI 上で設定することで、 テーブル情報から対応するクラスを作成することができる。これによって、開発者は XML ファイ ルの構造を考える必要がなく、また、対応するクラスも自動的に生成されるため、テーブルの変 更に伴う、クラスの変更の抜けが起こりにくくなる。

* Hibernate Tools のインストール

Hibernate Tools は JBoss Tools の一つであり、プラグインのインストールも JBoss Tools のサイ トから行う。 Eclipseの「新規ソフトウェアのインストール」から、「使用可能なソフトウェアサイト」をクリックし、 「http://download.jboss.org/jbosstools/updates/stable」を選択し、「編集」ボタンから適当な名 前を入力する。最後に「使用可能にする」ボタンを押すことで、インストールが可能となる。 ここまでの手順で、 「作業対象」に先ほどのサイトが表示されるので、それを選択する。インストー ルする項目の「JBoss ツール|Hibernate ツール」にチェックを入れ、インストールを開始、 Eclipse を再起動することで、Hibernate Tools が利用可能となる。

* Hibernate Tools の利用 Hibernate Tools は既存のプロジェクトに対して、項目の追加を行うため、まずはプロジェクト(例 えば Java プロジェクト)を作成する。その後、「ファイル|新規|その他」から、「Hibernate| Hibernate 構成ファイル」を選択することで、接続するデータベースの情報の入力を行う。サポー トするデータベースは MySQL や PostgreSQL など様々あり、それぞれのデータベースに対する コネクタを導入することで利用可能となる。 次に、「ファイル|新規|その他」から、「Hibernate|Hibernate コンソール構成」を選択、作成 後、「実行|Hibernate コードの生成|Hibernate コードの生成の構成」から、マッピングする情 報を自動生成するための構成を記述する。続いて、「実行|Hibernate コードの生成」から作成 したコード生成の構成を実行することで、テーブルにマッピングされたクラスが生成される。 実際のソースコードはこのクラスを利用して行うことで、データベースへのアクセスを実現する。

(20)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-9. 様々なプラグイン 対応する コースウェア 第 10 回 様々なプラグインを利用する

5-3-応-9. 様々なプラグイン

統合開発環境にはいままで紹介した他にも有用なプラグインが数多く存在することを紹介する。 UML や ER 図のプラグイン等を紹介する。 【学習の要点】

* AmaterasUML や AmaterasERD を利用することで、Eclipse にて UML や ER 図を作成できる。 * Pleades によって、Eclipse やプラグインを日本語にすることができる。

* 様々なプラグインが作成、配布されており、開発をより効率的に行うことができる。

(21)

1) アプリケーション開発支援 * AmaterasUML

クラス図やシーケンス図、ユースケース図といった、基本的な UML を作成することができる。 Java コードのフォワードエンジニアリング(UML から Java ソースコード)や、リバースエンジニアリ ング(Java ソースコードから UML)などの機能も備える。 * AmaterasERD ER 図を作成できるプラグイン。データベースの論理、物理設計やデータベースのリバースエン ジニアリング(テーブル情報から ER 図)を行うこともできる。また、様々なデータベース管理ツー ルへの DDL 出力や、データベースの構造を HTML へ出力する機能も備える。 * DBViewer データベースの閲覧やテーブルの操作、SQL の実行、データベースのインポートやエクスポー トも行うことができる。テーブルの操作は GUI で行うことができるため、データベースの設計を直 感的に行うことができる。 * Hudson Eclipse

継続的インテグレーション(CI)ツールである Hudson を、Eclipse から操作できるようにするプラグ イン。Eclipse 上からのビルド開始や、ビルド結果の確認などを行うことができる。 2) 日本語化プラグイン * Pleades(http://mergedoc.sourceforge.jp/) Eclipse 自身やプラグインの日本語化を行う。内部的に辞書を持っているため、プラグインの日 本語化について、対応プラグインはもちろんのこと、国際化に対応していないプラグインや、新 しいプラグインにおいても日本語化が可能である。 3) All-in-one パッケージ

* Pleiades All in One(http://mergedoc.sourceforge.jp/)

Pleades をはじめとして、本カリキュラムで紹介した有用なプラグインが数多く含まれており、ダウ ンロードと解凍のみで、素早く開発環境を作成することができる。また、Pleades には Java 環境の みならず、C 言語や C++、PHP 用の開発環境も提供している。

(22)

開発体系分野 5-3-応 統合開発環境に関する知識 応用 習得ポイント 5-3-応-10. 他のプログラミング言語対応のためのプラグイン 対応する コースウェア 第 11 回 統合開発環境での C 言語の開発 第 12 回 統合開発環境でのスクリプト言語の開発

5-3-応-10. 他のプログラミング言語対応のためのプラグイン

統合開発環境はプラグインを導入することで、いろいろなプログラミング言語に対する開発環境を提 供することを解説する。対応言語とプラグインについて紹介する。 【学習の要点】 * 統合開発環境はプラグインを導入することで、C 言語や Ruby や PHP といったスクリプト言語の 開発環境にもなる。 * 特に C 言語ではコンパイラを指定することで、PC アプリケーションのみならず、組み込み開発に も活用できる。 図 5-3-応-10 Eclipse を利用した PHP 開発の例

(23)

1) 様々な言語での開発を統合開発環境で行う意義 一つの統合開発環境で開発を行うことで、言語が変わった際にも同じ環境で開発できるため、学 習コストの削減が期待できる。また統合開発環境を利用することで、コーディング時のコード補完機 能やデバッグ支援機能などを利用することができるため、より開発に専念することができる。 2) 様々な言語に対応した Eclipse プラグイン * CDT (http://www.eclipse.org/cdt/)

CDT は C/C++ Development Tools の略であり、Eclipse での C 言語および C++の開発環境を 提供する。GCC を利用したコンパイルや GDB を利用したデバッグを行うことができる。コンパイ ルする GCC は外部からの設定で差し替え可能であるため、組み込み開発環境でのクロスコン パイルにも利用できる。

* PDT(http://www.eclipse.org/pdt/)

PDT は PHP Development Tools の略であり、Eclipse での PHP 開発環境を提供する。コード補 完機能やデバッガなど開発に必須の機能を備えている。

* RDT(http://capsctrl.que.jp/kdmsnr/wiki/rdt/)

RDT は Ruby Development Tools の略であり、Eclipse での Ruby 開発環境を提供する。コード 補完やアプリケーションの実行、デバッガといった機能を備えている。

* RadRails(http://www.radrails.org/)

RadRails は Eclipse での Ruby on Rails 専用の開発環境を提供する。Rails のシェルやデバッガ など、開発に必要な機能を有し、クラウド環境へのデプロイ(配置)機能も備える。実行環境には 通常の Ruby だけではなく、JavaVM 上で動作する JRuby を選択することもできる。

* EPIC(http://www.epic-ide.org/)

EPIC は Eclipse Perl Integration の略であり、Eclipse での Perl 開発環境を提供する。 * PyDev(http://pydev.org/)

PyDev は Python Development の略であり、Eclipse での Python 開発環境を提供する。 Python の実行環境には通常の Python インタプリタだけでなく、JavaVM 上で動作する Jython や.NET Framework 上で動作する IronPython を選択、実行することもできる。

図 5-3-応-7    Struts IDE を利用した  Web アプリケーション開発
図 5-3-応-9 AmaterasUML を利用したクラス図

参照

関連したドキュメント

現在、電力広域的運営推進機関 *1 (以下、広域機関) において、系統混雑 *2 が発生

環境への影響を最小にし、持続可能な発展に貢

 英語の関学の伝統を継承するのが「子どもと英 語」です。初等教育における英語教育に対応でき

Altera Nios II フォルダを展開し、Existing Nios II software build tools project or folder into workspace を選択します(図 2–9 を参 照)。.

欄は、具体的な書類の名称を記載する。この場合、自己が開発したプログラ

2017 年 12 月には、 CMA CGM は、 Total の子会社 Total Marine Fuels Global Solutions と、 2020 年以降 10 年間に年間 300,000 トンの LNG

2021年5月31日

とができ,経済的競争力を持つことができることとなる。輸出品に対して十