ソフトウェア開発特論Ⅰ

履修していないけど、PSPの話だから出てみようと思った。

PSPはスクリプトを使ってログを記述する

PSPプロセススクリプト
 入力条件(問題記述、プロジェクト計画概要、以前の実績データ)
 計画立案(機能記述の入手、LOCの見積、計画の作成および入力)
 設計
 コード
 コンパイル(および修正)
 テスト
 事後分析(実績の記録)

★結局、コーディングに限らず仕事の進め方を抽象化してPSPが適用できればいいわけだ(cf.ドキュメンテーション)

製品・品質・欠陥
 品質
  ユーザーにとって重要な能力を提供する
 欠陥 
  ユーザーのニーズを満足させるプログラム能力を損なう全てのもの

コードレビュースクリプト
 インクルード(import)
  変数の初期化(起動時・ループ開始・関数入力・インスタンス生成)
 関数呼び出し(関数の型、引数の型)
 識別しの一貫性、スコープ
 行送り・間隔(インデント)
 論理演算子 ()

★コードレビュー(CreW Java版)
 ※Eclipseで何とかなるものはチェックしない
 属性の初期化(宣言時・コンストラクタ・initialize()メソッド)
 クラス名・メソッド名・フィールド名(命名規則およびUMLを元に)
  設計時にUMLで一貫性などは保障されているはず(ローカル変数は対象外)
 if文内の論理演算子(t/fの間違い、論理性、わかりやすいか)
 コメント(当たり前)
 シーケンス図との整合性(変更したなら何故か?を含めて)

欠陥の予測
 欠陥密度(1000行辺りの欠陥数)

★PSPは古い!今でも使える部分はあるが。とはいえ、定量的にコーディングを管理しようとする姿勢は非常に評価できる