PDFの情報掲載

PDFの情報掲載

今や多くの情報がデータ化され運用される時代になっています。データ化するに時にどんな形式で保存するかは、その用途によって異なりますがPDFは優れた点を持っています。

機能仕様書には、システムが実現できることとできないことが明記されています。
詳細設計基本設計で定義された各機能を実現するために、システムの詳細を設計します。
「内部設計」とも呼ばれています。
この段階では外部設計で決められた仕様をプログラムとしてどのように実現していくか決めていきます。
決定された事項は仕様として詳細設計書が作成されます。
詳細設計を行う範囲は機能単位であったり、モジュール単位であったりと様々ですが、ここではモジュール単位で考えてみましょう。
先ほどの例であれば、距離を認識するプログラムの集まりや、ハートマークを選ぶプログラムの集まりといった、個々のプログラムの集まりの間をどのようにデータが流れるかなどを設計します。
モジュールとは、ソフトウエアの各部品だと考えると分かりやすいでしょう。
先ほどの例であれば、次のものがモジュールとして考えられます。
・時間を判別するプログラム・登録した名前をアドレス帳から探すプログラム・距離を認識するプログラム・ハートマークを選ぶプログラム・ハートマークを表示したり消したりするプログラム・距離を認識するプログラム・自分の位置を取得・相手が100m未満の距離にいるかどうか検索相手が100m未満の距離にいる場合1相手との距離を計測1[ハートを選ぶプログラム]を呼び出し相手が100m未満の距離にいない場合1何もしない・ハートを選ぶプログラム・相手との距離<20mハートマークフラグ=1・それ以外の場合20m肌相手との距離<50mハートマークフラグ=2・それ以外の場合50m肌相手との距離<100mハートマークフラグ=3・それ以外の場合100ml仇相手との距離ハートマークフラグ=〇・[ハートを表示するプログラム]を呼び出し・ハートを表示するプログラム・ハートマークフラグが1のとき1ハートマーク?を表示ハートマークフラグが2のとき1ハートマーク?を表示ハートマークフラグが3のとき1ハートマーク?を表示ハートマークフラグが0のとき1ハートマークを消灯実装詳細設計に基づき、各モジュールをプログラムしていきます。
つまり、人間の要求をコンピュータが理解できる言語で書く段階に入ります。
この辺りからプログラミングができない人には理解しにくい世界へと入っていきます。
「分かりました!要は人間が言葉で伝えたイメージを、徐々に固めていって、機械が理解できる言葉に変えていくのですね。」その通りです。
では、開発の大まかな流れが分かったところで、テストの話へと進んでいきましょう。
V字モデル要求定義、基本設計、詳細設計、実装の順番で開発が進むと、「作る」作業に一区切りつきます。
ここからテストの段階へと進んでいきます。
図2の?字モデルに見られるように、それぞれの開発段階(フェーズ)に対応して、種類の異なるテストが行われます。
つまり、それぞれの開発段階で目標としていた品質に達しているかどうかを確認していきます。
開発では大まかなイメージから始まり、詳細仕様を決定するという順番で進みましたが、テストは逆の順番を辿ります。
最初に詳細設計で意図した通りに各モジュールが正しく作られているのかを確認します。
次に基本設計通りに各機能が動くことを確認して、最後に要求定義で目標とした製品の品質が実現されたかどうかを確認していきます。
それでは、段階ごとのテストをそれぞれ紹介します。
・単体テスト‥プログラムやモジュールごとに単体で行うテスト。
詳細設計書通りにモジュールが動くかどうかをテストします。
主に開発担当者が詳細設計図に基づいて確認します。
デバッガと呼ばれる、プログラムの欠陥を見つける専用ソフトを用いることもあります。
・結合・機能テスト‥複数のモジュールを結合して行うテスト。
基本設計書に基づき、各機能が設計書通りに動くかどうかをテストします。
単体テストの延長でモジュール間を順次結合しながら基本設計に基づいた動作確認を行います。
開発者とテストエンジニアの双方が担当することがあります。
・システムテスト‥実根に組み込んで行われる総合試験。
要求定義で決めた通りに実機が動くかどうかをテストします。
機能仕様書に基づいて品質を確認します。
組み込み機器におけるテストエンジニアの活躍場所は、おもにこのシステムテストです。
具体的には、ソフトウエアが組み込まれた家電製品や、完成間近のソフトウエアを顧客の立場から使ってみます。
何千、何万通りの使い方を試しながら不具合(バグ)がないかを確認していきます。
「そうか、テストといっても色々あるのですね。
ソフトウエアをテストするのだから、全てテスト専用のソフトウエアで勝手にテストできると思っていましたが…。」そうですね。
よく聞かれる質問です。
コンピュータ同士のことだからコンピュータにさせておけばよいという考え方ですね。
これは、できそうでできないというのが実情です。
主な理由としては次の3つが挙げられます。
・あるソフトウエアをテストするには、そのソフトウエアを上回る性能か精度を持ったソフトウエアが必要です。
ソフトウエアを1つ作るたびに、それを上回る精度を持ったソフトウエアを作ることは労力と費用の面から不可能です。
汎用的にソフトウエアをテストできるものも一部で使用されていますが、範囲は限定されており、最後の確認は人間が行っています。
専門のソフトウエアによって、プログラムに使われている文法が正しいかどうかを確認することはできます。
しかし、プログラム内部の全ての処理結果が正しいかどうかを自動的にテストすることは、難しいのが現状です。
仮にそのようなソフトウエアができたとしても、そのソフトウエアが正しいことを確認することが必要となります。
膨大な工数を要することが容易に想像できます。
・ソフトウエアが搭載された家電製品を例にするとわかりやすいと思いますが、人間が行うシステムテストでは、実際に携帯電話やコピー機などのボタンを押して入力して、ソフトウエアの指令通りに機械が正しく動くかどうかを確認します。
これを確認するには、実際に機械のボタンを押してみなくてはなりません。
・妥当性評価には人間が必要です。
実際の携帯電話を使って、メール画面を呼び出したものの、画面が現れるまでに30秒もかかるようでは正しい製品とは言えません。
音声であれば、一瞬遅れるだけでも私たちユーザーは違和感を覚えますね。
また、組込みソフトウエアに限らず、コンピュータ上で動くソフトウエアでも同様のことが確認できます。
入力した際に、瞬時に画面中央に結果が表示されるのかなど、最終顧客にとっての妥当性を評価しなくてはなりません。
このような人間の五感を数値化することは難しいのです。
これら3つの理由でシステムテストを人間が担当しています。
また、人間の代わりに1日中パネルのボタンを押しながら機械の動きを録画するロボットが開発されていますが、その押す手順などを指令するのはやはりテストエンジニアなのです「ちょっと待った!これではやはり、テストエンジニアの出番は最後じゃないですかー」すみません、第1章ではテストエンジニアは最後ではなく、開発の早い工程で登場すると紹介しましたね。
実は、テスト計画を行う人や、設計を行う人は開発の早い段階からテストエンジニアとして製品開発に参画しているのです。
それでは、最近開発現場で採用されつつある、W字モデルを解説します。
W字モデルW字モデルでは、開発における要求定義フェーズからテストエンジニアも参加します(図3)。
テストの観点から初期段階の開発会議に参加し、テスト計画の立案を開始します。

PDF詳しくは→PDF今すぐクリックしよう!
国内が2009年に優先するPDFとして、PDFに対する国内企業の期待は日増しに高まっている。
PDF説明文に慣れること、PDFの難しい文章であっても、何回か触れていくうちに親しみを覚えてくるものです。