K-fix Learning & Playing

システム開発


プログラム

ソフトウェア詳細設計書を基にして、ソフトウェアコードで作成することをプログラミング、またはコーディングといいます。

コードレビュー
作成したソフトウェアコードをレビューすることで、プログラミング基準を守っているか、ソフトウェア詳細設計書に基づいているかを確認します。
コードレビューは、共同レビューを行い、テスト工程に入る前に実施し、バグをなくすことを目的とします。
デバッグ
ソフトウェアコードのバグ(誤り)を見つけ、その原因を調査し、修正することです。
デバッグを支援するソフトウェアを「デバッガ」と呼びます。
机上デバッグは、ペーパー上で目を追って探すため、単純なミスは発見しやすいですが、見落とす場合も多いです。
デバッガを使ったデバッグは、そのデバッガの精度にも依存しますが、通常であれば漏れなくバグを発見し、修正できます。
デバッガを使ったデバッグ方法
トレーサ コードを1行ずつ実行しながら、処理の順番やメモリの内容を確認する方法。
処理のある箇所にブレークポイント(停止位置)を設定し、コードの処理をそれまでの範囲だけに注目して動作を確認できる。
ダンプ デバッグやデータ修復のために、ファイルやメモリの内容をディスクに出力すること。
メモリダンプとは、ソフトウェアの異常終了のタイミングでメモリ内容を出力したもの。
スナップショットダンプは、コードの特定の命令を実行したタイミングでメモリ内容を出力したもの。
アサーション プログラミングでコード内の変数値などをチェックする機能。言語によって違いはあるが、共通するのは、満たさなければならない条件を指定するという点。
プログラミング
  1. 顧客や第三者による受け入れテストおよび、実際の運用環境で行う動作テスト。
    主に要求定義書の内容を満たしていることを検証する。
  2. システム全体の機能や性能に問題がないことをテストする。
    主に外部設計書の内容を満たしているかどうかを検証する。
  3. サブシステム(機能)単位でモジュールを結合し、それが正しく動作することをテストする。
    主に内部設計書の内容を満たしているかどうかを検証する。
  4. モジュール単位で正しく動作することをテストする。
    プログラムのアルゴリズムが正しく実装されているかどうかを検証する。