開発ツールの種類と特徴

この記事での学習内容 基本情報 応用情報

設計を支援するツール,プログラミングやテストを支援するツール,ソフトウェア開発の各工程を通して自動化,効率化を目的とするツール,開発作業全体を一貫して工程を支援するIDE(Integrated Development Environment:統合開発環境)など,代表的な開発ツールの種類,特徴,機能を理解する。

用語例:設計支援ツール(SADT:Structured Analysis and Design Techniques,SREM:Software Requirement Engineering Methodology,PSL/PSA:Problem Statement Language /Problem Statement Analyzer),設計ツール,ドキュメント生成ツール,構築ツール,テストツール(静的デバッギングツール(プリティプリンタ,クロスリファレンス),動的デバッギングツール,静的解析ツール(ソースコード解析ツール,プログラム構造解析ツール),動的解析ツール(テストデータ生成ツール,テストカバレージツール,テストベッドツール,プログラム検証ツール)),ツールチェーン, エミュレータ,シミュレータ, ICE ( In-Circuit Emulator:インサーキットエミュレータ),トレーサ,インスペクタ,スナップショット,アサーションチェッカ,バージョン管理ツール

CASEツール

CASEツールはコンピュータ支援ソフトウェア工学(Computer Aided Software Engineering:CASE)というソフトウェア開発方法論のための開発支援ツールの総称です。

要求分析、機能設計、内部設計のツールを上流CASEツール、プログラム作成、試験、提供、保守のツールを下流CASEツールに区分されます。

全てのプロセスのツールを備えたものを統合CASEツールといいます。

現在よく使われているツールの例として、業務などをモデル化するためのUML作成ソフトや、プログラムソース生成ツール、バージョン管理システムなどがあります。

統合開発環境(Integrated Development Environment)

統合開発環境(IDE)は、ソフトウェアの開発支援ツール軍に対して、統一された操作インタフェースと、統一されたファイル管理を備えた開発支援システムです。

操作性やファイル管理が標準化されるとともに、開発プロセス間のファイルの受け渡しが用意になります。

ツールチェーン

ツールチェーンは、一連の開発プロセス用に並んだツール群の総称です。一つのツールの出力ファイルが、次のツールの入力ファイルになります。

コンパイラやリンカ、ユーティリティプログラムなどを組み合わせた、一連の開発プロセス用ツール群の総称です。

エミュレータ

エミュレータは、あるハードウェアやオペレーティングシステムで動作していたプログラムを、異なるハードウェアのマイクロプログラムやオペレーティングシステムのAPIを調整して動作可能にする機構です。

コンピュータをリプレースしたときや、新たなコンピュータを開発する時に利用されます。

シミュレータ

シミュレータは、あるハードウェアやオペレーティングシステムで動作していたプログラムを、異なるコンピュータで動作させる模擬実行用のソフトウェアです。

エミュレータと違って、ハードウェアやオペレーティングシステムには手を加えませんが、動作は遅くなります。

最近の流れとして、エミュレータ・シミュレータの境界線は曖昧になっており、どちらの特性も兼ね備えた、『仮想マシン環境』と呼ばれるものも存在しています。

元々は『仮想マシン環境』もテストツールとして用いられることが主流でしたが、機器の高性能化やダウンサイジング化の流れの中で、レンタルサーバ、ホスティングといった事業で、1機器で複数のサーバを運用するといった用途で用いられています。

ICE(In-circuite Emulator)

インサーキットエミュレータは、デジタル回路のエミュレータです。組込みソフトウェアを含むハードウェアの開発に用いられます。

マイクロプロセッサをエミュレーションしつつ、ソフトウェアのデバッグ機能を持っており、実際にマイクロプロセッサにソフトウェアを組み込んでデバッグするのに比べて、バグ分析やソフトウェア修正の手間が減ります。

トレーサ

トレーサは、デバッグツールの一種であり、プログラムの実行経路を表示するツールです。選択や反復の判定の間違いや性能不良の問題箇所を発見するのに役立ちます。

スナップショット

スナップショットは、デバッグツールの一種であり、データの値を表示するツールです。固定のプログラム部と変化するデータぶとを分割するオブジェクト指向プログラミングによく用いられます。

アサーションチェッカ

アサーションチェッカは、デバッグツールの一種であり、プログラムの実行経路の特定の地点で、あるデータが所定の条件を満たすか診断して、満たさなければ警告を表示するツールです。

アサーション(主張)という名前のとおり、人間だけに判断を委ねるスナップショットよりも積極的です。また、通常の診断メッセージがユーザへの表示であるのに対して、アサーションチェッカはソフトウェア開発者へのメッセージを表示します。