ソフトウェア設計の基礎


目次


1章 ソフトウェア設計工学とは
 1.1 ソフトウェア設計工学が目指すもの
 1.2 コミュニケーションから見たソフトウェア設計技術

2章 ライフサイクルとプロセスモデル

 2.1 ソフトウェア・ライフサイクルの概念
 2.2 開発プロセスモデル
  2.2.1 ウォータフォールモデル
  2.2.2 スパイラルモデル
  2.2.3 契約モデル
  2.2.4 クリーンルームモデル
 2.3 開発プロセスの成熟度(CMM)

3章 標準的な開発工程と成果物

 3.1 システム化計画分析・設計段階
 3.2 ソフトウェア分析設計段階

4章 プログラミング言語と制御機構
 4.1 構造化プログラミング言語
  4.1.1 プログラム構造
  4.1.2 識別子の有効範囲
  4.1.3 実現機構からみたオーバローディング
 4.2 情報隠蔽の考え方
 4.3 抽象データ型
  4.3.1 変数の型とは
  4.3.2 ユーザ定義型
 4.4 オブジェクト指向プログラミング言語
  4.4.1 発展経緯と基本概念
  4.4.2 主な特徴
  4.4.3 MVCモデルの考え方
  4.4.4 オブジェクト指向と再利用
  4.4.5 クラスの役割
  4.4.6 オブジェクトフレームによる実装機構
 4.5 コンポーネント指向プログラミング言語
  4.5.1 基本的な考え方
  4.5.2 代表的な支援ツール
  4.5.3 生成制御機能の分散コンポーネントへの適用
 4.6 論理型プログラミング言語
  4.6.1 基本的な考え方
  4.6.2 機構の特徴
  4.6.3 記述方法
  4.6.4 推論機構の実現方法

5章 テスト技法
 5.1 静的テスト
  5.1.1 静的解析
  5.1.2 シンボリック実行
 5.2 動的テスト
  5.2.1 ボトムアップテスト
  5.2.2 トップダウンテスト
  5.2.3 ビッグバンテスト
 5.3 統計的テスト法
 5.4 テストケース設計法
  5.4.1 外部仕様にもとづく設計
  5.4.2 制御構造にもとづくテスト設計
 5.5 テスト網羅性

6章 構造化分析設計によるシステム開発

 6.1 構造化システム分析
  6.1.1 SADT
  6.1.2 データフロー分析
  6.1.3 プロセス仕様分析
  6.1.4 データ構造分析
  6.1.5 実体関連分析
 6.2 構造化システム設計
  6.2.1 モジュール構造設計
  6.2.2 モジュール仕様設計
 6.3 システム動作設計
  6.3.1 状態遷移図
  6.3.2 ペトリネット
  6.3.3 イベントトレース図

7章 オブジェクト指向分析設計

 7.1 構造化分析法との相違
 7.2 主な方法論の概要
  7.2.1 代表的な方法
  7.2.2 方法論の共通点と相違点
  7.2.3 Coad/Yourdon法の表記規則
  7.2.4 OMT法
  7.2.5 UML法
 7.3 ユースケース分析

8章 要求分析法

 8.1 要求分析の考え方
 8.2 標準的な要求分析作業
  8.2.1 問題点/ニーズ分析
  8.2.2 目的展開
  8.2.3 手段検討
  8.2.4 業務フロー分析
  8.2.5 管理対象分析

9章 ソフトウェアの見積り
 9.1 COCOMO
  9.1.1 3つのモデル
  9.1.2 開発モードと予測モデル式
  9.1.3 影響要因係数
 9.2 ファンクション・ポイント法
  9.2.1 基本的な考え方
  9.2.2 ファンクション・ポイントの計算式

参考文献
索引


戻る