Last Update : January 02 2021 16:00:22
a. 設計を支援するツール
ソフトウェア開発時の自動化・省力化のためのソフトウェアを開発ツールと呼ぶ。
開発ツールを利用することで、ソフトウェアの部品化や再利用などが容易に行え、ソフトウェア開発の生産性を向上させることができる。
開発ツールには、
- 設計支援ツール・設計ツール
ソフトウェア設計工程での作業を支援するツール
上流CASEツール
- 構築ツール
ソフトウェア構築工程での作業を支援するツール
下流CASEツール、統合開発環境(IDE)、ツールチェーン
- テストツール・デバッグツール
作成したソフトウェアが正しく動作するかどうかのテストのためのツール
エミュレータ、シミュレータ、 ICE ( In-Circuit Emulator :インサーキット エミュレータ)、トレーサ、インスペクタ、スナップショット、アサーションチェッカ
などがある。
【 CASEツール 】
システム開発作業の自動化や効率化を行うための支援ツール
開発工程を上流と下流に分けそれぞれにあったツールを上流CASEツール、下流CASEツールと呼ぶ。
【 バージョン管理ツール 】
バージョン管理ツールとは、ファイルの変更履歴を統一的に管理するためのツールである。管理対象となるファイルの変更情報をリポジトリと呼ばれるデータベースに格納する。リポジトリに登録されたファイルに対し、行われた変更を履歴として保存し、履歴を遡って任意の時点での状態に戻す事ができる。
b. デバッグ
【 マシンデバッグ 】
「動的テスト」とも言い、「プログラムを実際に動かすことによって行うテスト」のこと。デバッグを支援する「デバッグプログラム」には以下のものがある。
- メモリダンプ
主記憶装置内の状態を印字するプログラム
- トレーサ(Tracer)
命令の実行順にその命令と実行結果(レジスタの内容・参照されたメモリのアドレスと内容など)を印字するプログラム
- スナップショット
主記憶装置内の指定したアドレスやレジスタの内容を実行中に一定間隔で出力するプログラム
【 机上デバッグ 】
「静的テスト」とも言い、「人間がプログラムリストをもとに目で検査する方法」。以下の種類がある。(重要性が再認識されている)
- ウォークスルー
システム仕様書やプログラム設計書にミスがないか、担当者が複数の人間の前で説明し検討して、見落としを防ぐ方法
- インスペクション
モデルータ(管理者)を中心に管理統括のもとで大きな誤りがないかプログラム仕様とコーディングをもう一度比較する方法。
【 デバッグツール 】
1. 静的解析ツール
- 構文チェッカ
ソースプログラムが、言語で定めれらた構文に従って記述されているかをチェックする。
- コードオーディタ
ソフトウェア開発において独自に定めたプログラミング規約(コーディング規約)に対する違反を検出する。
- モジュールインタフェースチェックツール
モジュール間のインタフェース(例:実引数と仮引数の個数)の不一致などを検出する。
2. 動的解析ツール
- トレーサ(追跡プログラム)(Tracer)
命令単位、あるいは、指定した範囲でプログラムを実行し、実行直後のレジスタの内容やメモリの内容など、必要な情報が逐次得られる。(プログラム中の誤り箇所を特定できないときに効果アリ)
- インスペクタ(Inspector)
構造体のようなデータ構造の内容を容易に確認できるように、見やすい形で表示する。
プログラムの実行を途中で中断し、データ構造を見やすくしたり変数の値を設定したりできる。
- スナップショット(動的ダンプ)(Snapshot)
プログラムの特定の命令文が実行されるごとに、指定されたメモリやレジスタの内容を出力する。
なお、プログラムの異常終了時にメモリやレジスタの内容を出力するものをメモリダンプ(静的ダンプ)と言う。
- ガバレージモニタ
プログラム全体の経路のうち、テストでどの程度(%)カバーしたかという網羅率を測定する。
- アサーションチェッカ
プログラムの正当性を検証するために挿入されたアサーション(変数間の論理的に成立すべき条件)が実行時に成立しているかどうかを検査する。
ある条件が成立していなければならない部分にチェック用のコードを入れ、その条件に違反している場合はエラーを出力することで、プログラムをチェックする。
3. テスト環境設定ツール
- テストベッドツール
スタブやドライバの生成など、プログラムテストの動作環境を整備する。
- テスト自動生成ツール
テストデータのデータ構造を与えることにより、自動的にテストデータを生成する。
【 ICE (in-circuit emulator) 】
マイクロプロセッサを使ったシステムを開発、デバッグするために、実際の CPU の代わりに装着して使う、特別に作られたプロセッサ、もしくはそれを使った開発支援装置のこと。
ICE は、デバッグ向けに作られた特別な CPU もしくはそのエミュレーションを行うための装置である。ターゲットとなるシステムの CPU を取り外し、代わりに ICE を CPU ソケットに挿入する。実際の CPU と(ほとんど)同じ速度で、CPU やメモリ内部の内容を詳細にトレース(追跡)しながら実行したり、特定の条件(ある部分まで実行したとか、特定のメモリ・アドレスにデータを書き込んだなど)が発生した場合に、そこで実行を一時的に停止させる、などの機能を持つ。
ハードウェア・システムの開発や、デバイス・ドライバのような低レベルなシステム・ソフトウェアの開発において、その開発作業を助けるために利用される。
www.it-shikaku.jp