・目標
・ドメイン知識
・利害関係者
・運用環境
・利用環境
・インタビュー
・シナリオ
・プロトタイプ
・進行役つき会議
・観察
SADT(Structured Analysis and Design Technique)
ConOps [IEEE1362-98]
IEEE Std 1233 [IEEE1233-98]
[IEEE830-98]
[IEEE1028-98]
・サイズ
・再利用度
・必要な基盤、および支援環境
・不確定要素の存在率
・ソフトウェアアーキテクチャー設計
・ソフトウェア詳細設計
3.1.3.1 アーキテクチャー設計
アーキテクチャー・ビジネスサイクルのアクティビティ
(a) 要求の理解
(b) アーキテクチャー案の提示
(c) アーキテクチャー案についての検討、討議、文書化
(d) アーキテクチャー案の評価
(e) その他のアーキテクチャー案を使った場合のシステムおよびソフトウェアの実現可能性分析、評価
(f) つぎのアーキテクチャー・ビジネスサイクルへ向けてのアーキテクチャー案の文書化
3.1.3.2 詳細設計
3.1.4.1 抽象化
・手続き抽象
・データ抽象
・制御抽象
3.1.4.2 相互結合と凝集強度
3.1.4.3 分割とモジュール化
3.1.4.4 カプセル化/情報隠蔽
3.1.4.5 インタフェースと実現の分離
3.1.4.6 十分性、完全性、および基本性
アーキテクチャースタイルの分類
・一般的構造
・分散システム
・対話型システム
・順応型システム
・その他
・生成に関するパターン
・構造に関するパターン
・ビヘイビアに関するパターン
JIS X 0129
・ソフトウェアデザインレビュー [IEEE610.12-90]
・静的分析
・シミュレーションおよびプロトタイピング
規模を表す尺度
・仕様規模
・機能規模
・複雑度
・構造規模
・コントロールフロー構造
・モジュール構造
・オブジェクト指向構造
・アーキテクチャー記述言語(ADLs)
・クラス図およびオブジェクト図
・コンポーネント図
・CRCカード(CRCs)
・配置展開図
・エンティティ・リレーションシップ図(ERDs)
・インタフェース記述言語(IDLs)
・ジャクソン構造図
・ストラクチャー・チャート
・アクティビティ図
・コラボレーション図
・データフロー図(DFDs)
・ディシジョンテーブルおよびディシジョン図
・フローチャートおよび構造化されたフローチャート
・シーケンス図
・状態遷移図およびステートチャート
・形式的仕様記述言語
・擬似コードおよびプログラム設計言語(PDLs)
・モデル駆動型ソフトウェア開発(MDD)
・クリーンルーム・ソフトウェアエンジニアリング
ソフトウェア構築のアクティビティ
・ソフトウェア構築を始動できるに十分な背景が整っていることの検証
・データ構造とアルゴリズム設計
・関数または手続き、モジュールの設計とコーディング
・データ型および変数の定義
・制御構造およびそのなかに入れるブロックの組み合わせの決定
・エラー検出およびその際に行う処理の決定
・コードの相互レビュー
・コードの見直し(洗練)、表現形式の改善、およびコメント行の改善
・調達したソフトウェアコンポーネントの組み込みと統合
・コードのチューニング
・ユニットテスティング
・複雑さの最小化
・変更の予側
・検証を考えた構築
・構築のための標準
・わかりやすい構造
・明確に定義され、範囲を絞ったインタフェースを持ち、内部の詳細を隠蔽したモジュールの組み合わせで、ルーチンを構成するための手順の確立
・構造の評価基準について、明確な方針を立てる
・目的にあった構造記述形式を選定し、このために必要なツールを採用
・抽象化されたモジュール
・デバイスの責務を抽象化したモジュール
・ビヘイビアを抽象化したモジュール
・判定や問題解法を抽象化したモジュール
・データ構造を抽象化したモジュール
・文書品質の高いプログラム・ソースコードテキスト
・レイアウト
・ブロックの境界を明確に識別できるようにする
・プログラムの境界を明確に識別できるようにする
・制御構造ブロック内の配置形式を、明確に定め、統一をとる
・ここの命令行、データ行、コメント行の記述形式を明確に定め、統一をとる
・ファイルの中での、ルーチン、モジュールの配置形式を明確に定め、統一をとる
・文書としての自己完結性
・標準的なプログラミングスタイルを学習し、慣用する
・効率的なコメントを作成するために必要な標準的手法を習得し、慣用する
・ルーチン、またはモジュールをできるだけ、小さく作る
・大域変数をできるだけ少なくする
・プログラムの複雑さをできるだけ低減する
・変更に対する組織的、および個人的マネジメント手法を確立しておき、変更があった場合には、それにしたがう
・個人によるコード精読
・非公式に行う、グループによるデザイン/コードレビュー
・公式に行う、グループによるデザイン/コードレビュー
・ユニットテスティング(プログラムだけのテスティング)
・機能別テスティング(プログラムだけのテスティング)
・ユーザーインタフェース・プロトタイプから入力して行う、プロトタイプ・テスティング
・統合テスティング
・フィールド・テスティング
・プログラミング言語
・コミュニケーション手法
・基盤(プラットフォーム)
・ツール
・線形逐次型プログラミング
・進化型プロトタイピング
・エクストリーム・プログラミング
・テスト駆動型プログラミング
・規模に関する計量項目
・生産性に関する計量項目
・フォールトに関する計量項目
・品質に関する計量項目
・保守に関する計量項目
PDLツール(http://www.cfg.com/pdl81/index.html)
・構成言語
・ツールキット言語
・プログラミング言語
・言語による表記
・形式的表記
・視覚に訴える表記
・データの命名
・データ型の選定とあらたな定義
・変数について
・行配置
・選択および反復構造の正規化
・レイアウト適正化および自己完結化
・エラー/例外処理の統一
・コードレベルでのセキュリティ侵害に対する処理
・共有資源に対する並行アクセスのための適正な排他処理
・性能向上のためのコード・チューニング
[IEEE1008] [IEEE829]
・ユニットテスティング
・要求に対する妥当性確認
・標準的ユニットテスティング
・変化範囲テスティング
・結合テスティング
再利用 [IEEE1517-99] の対象となるプロダクト
・汎用的な実行可能コード、ソースコード、とくに模範的慣用ソースコード(idiom)、デザインパターン
・各アプリケーションドメインにおける標準的な要求仕様書、設計記述書、テスト仕様書など各種仕様記述文書
・各アプリケーションドメインにおける標準的なデータベース定義
・各アプリケーションドメインにおける標準的なテストケース、テストデータ、テスティング手順
・汎用的アーキテクチャー、アーキテクチャースタイル、およびフレームワークの記述
SQMプロセスでの手法
・マネジメントレビュー [SWEBOK 11.2.3.1]
・テクニカルレビュー [SWEBOK 11.2.3.2]
・インスペクション、ウォークスルー [SWEBOK 11.2.3.3、11.2.3.4]
・適正なデバッギング手法の採用
・ユニットテスティング、統合テスティング [SWEBOK 5.2.1.1、5.2.1.2]
・監査 [SWEBOK 11.2.3.5]
5.1.1.1 テスティングの定義と間係する用語
5.1.1.2 フォールトと故障 [IEEE610-90]
5.1.2.1 テスト選択基準/テスト十分性基準
5.1.2.2 テスティングの有効性/テスティングの目的
5.1.2.3 欠陥識別のためのテスティング
5.1.2.4 神託問題
5.1.2.6 テスティングの理論的、実践的限界
5.1.2.6 実行不可能なパスに関する問題
5.1.2.7 テスト可能性
・静的ソフトウェア品質管理技法に対して
・正当性証明および形式的検証に対して
・デバッギングに対して
・格付け認定に対して
5.2.1.1 ユニットテスティング [IEEE1008-87]
5.2.1.2 統合テスティング
5.2.1.3 システムテスティング
5.2.2.1 受け入れ/能力認定テスティング
5.2.2.2 据付テスティング
5.2.2.3 アルファおよびベータテスティング
5.2.2.4 的確性テスティング/機能テスティング/正当性テスティング
5.2.2.5 信頼度の達成および評価
5.2.2.6 回帰テスティング [IEEE610.12-90]
5.2.2.7 パフォーマンス・テスティング
5.2.2.8 ストレス・テスティング
5.2.2.9 バック・ツー・バック・テスティング
5.2.2.10 リカバリ・テスティング
5.2.2.11 構成テスティング
5.2.2.12 ユーザビリティ・テスティング [IEEE610.12-90]
5.2.2.13 テスト駆動型開発
5.3.1.1 アドホックテスティング
5.3.1.2 探索的テスティング
5.3.2.1 同値分割
5.3.2.2 限界値分析
5.3.2.3 ディシジョンテーブル
5.3.2.4 有限状態機械に準拠したテスティング
5.3.2.5 形式的仕様からのテスティング
5.3.2.6 ランダムテスティング
5.3.3.1 制御フローに基づいた基準
5.3.3.2 データフローに基づいた基準
5.3.3.3 コードに基づいたテスティングに対する参照モデル(フローグラフ、コールグラフ)
5.3.4.1 エラー推定
5.3.4.2 変異テスティング
5.3.5.1 運用プロフィール
5.3.5.2 SRET(Software Reliability Engineered Testing)
・オブジェクト指向テスティング
・コンポーネントに基づいたテスティング
・ウェブに基づいたテスティング
・GUIテスティング
・並行プログラムのテスティング
・プロトコル適格性テスティング
・実時間システムのテスティング
・セーフティ・クリティカルシステム(安全性重視システム)のテスティング
5.3.7.1 機能的と構造的の組み合わせ
5.3.7.2 決定的とランダム的の組み合わせ
5.4.1.1 テスト計画およびテスト設計において役立つプログラム計量 [IEEE982.1-88]
5.4.1.2 フォールトタイプ、クラス分け、統計 [IEEE1044-93]
5.4.1.3 フォールト密度
5.4.1.4 ライフテスト、信頼性評価
5.4.1.5 信頼度成長モデル
5.4.2.1 カバレッジ/徹底性計量尺度
5.4.2.2 フォールトの人為的種まき
5.4.2.3 変異仕留め数
5.4.2.4 種々の技法の比較および相対的有効度
5.5.1.1 心構え/エゴレスプログラミング
5.5.1.2 テストガイド [IEEE829-98]
・テストカバレッジを改善するという目標
・テストケース策定法を改善し、無駄な重複したテストを避けるという目標
・テスト効率を改善するため、同値クラスや境界値分析をより徹底して行うという目標
・テスト完全性を改善するために、見過ごされたテスト集合、見過ごされたフォールとの方などを見出すアクティビティを確立するという目標
・テスティングの精度、カバレッジなどについて密接にコミュニケートする手段を明確にするという目標
・テスティングにおけるリスクを明確にし、対策を確立しておくという目標
5.5.1.3 テストプロセス・マネジメント
・テスティング責任担当の組織化とテスティング組織のマネジメント
・テスト担当者のスキル教育および説明能力訓練
・テスティング計画承認
・テスティングプロセスの工程管理、原価管理、品質管理
・テスト結果の評価、テスティング終結の決定
・ソフトウェア品質に対するテスティング責任保障
・顧客および利害関係者との折衝
5.5.1.4 テストの文書化と作業成果物 [IEEE829-98]
5.5.1.5 内部テストチームか、外部テストチームか
5.5.1.6 コスト/工数の見積り、および他のプロセスに関する計量尺度
5.5.1.7 終結
5.5.1.8 テストの再利用とテストパターン
5.5.2.1 計画
5.5.2.2 テストケース生成
・エラーを検出する確率が合理的な値である
・冗長でない
・正当性を有する
・簡単すぎず、複雑すぎない
5.5.2.3 テスト環境の開発
5.5.2.4 実行
5.5.2.5 テスト結果の評価
5.5.2.6 問題報告/テストログ
5.5.2.7 欠陥追跡
---
ニーズの要因
・フォールトを是正したい
・設計を改善したい
・増補を実装したい
・他のあらたなシステムとインタフェースしたい
・別のハードウェア、ソフトウェア、システム特徴、および通信機能が使えるように、プログラムを適用させたい
・遺産ソフトウェアを移転して、実装したい
・ソフトウェアを退役させ、撤収したい
保守アクティビティ
・ソフトウェア機能全体にわたるコントロールを維持する
・ソフトウェア改変全体にわたるコントロールを維持する
・既存の機能が持つ完全性は崩さない
・ソフトウェア性能は、容認できないレベルにまで退化させない
・是正のための保守
・適応のための保守
・完全課のための保守
・予防のための保守
6.2.1.1 限られた理解 [理解☆☆]
6.2.1.2 テスティング [適用☆☆☆]
6.2.1.3 影響分析 [分析☆☆☆☆]
6.2.1.4 保守容易性 [IEEE610.12-90] [ISO9126-01] [分析☆☆☆☆]
6.2.2.1 組織目標との整合 [理解☆☆]
6.2.2.2 要員配置 [理解☆☆]
6.2.2.3 プロセス [理解☆☆]
・サービスデスクの運営、インシデント管理、問題管理
・構成管理、変更管理、リリース管理
・サービスレベル管理、ITサービス財務管理
・可溶性管理、ITサービス維持性管理、キャパシティ管理
6.2.2.4 保守に関する組織としての側面 [理解☆☆]
6.2.2.5 外部委託
保守アクティビティ [IEEE1219-98]
(1) 保守を必要とする問題の識別
(2) 問題分析
(3) 保守のための設計
(4) 保守の実現
(5) 保守成果物のシステムテスト
(6) 保守成果物の受け入れテスト
(7) 保守成果物のシステムへの実装
6.2.3.1 コスト見積り [ISO14764-99] [適用☆☆☆]
6.2.3.2 パラメトリックモデル [理解☆☆]
6.2.3.3 経験 [適用☆☆☆]
・分析容易性
・変更容易性
・安定性
・テスト容易性
・保守プロセスのラインへの組込み(実装)
・問題および改変分析
・保守レビュー/受け入れ
・改変実現
・体液撤収、または移転実装
6.3.2.1 特有のアクティビティ [適用☆☆☆]
・移行
・改変後の受け入れ/拒絶
・改変養成および問題報告のための相談受付
・影響分析
・運用中のソフトウェアに関するユーザー指導、支援
・サービスレベルアグリーメントの形成
6.3.2.2 支援アクティビティ [適用☆☆☆]
・サービスデスクの設置
・構成管理、リリース管理
6.3.2.3 保守計画アクティビティ
・ビジネス計画(組織レベル)
・サポートデスク/構成管理/リリース管理計画
・保守計画(移行レベル)
6.3.2.4 ソフトウェア構成管理 [IEEE1219-98]
6.3.2.5 ソフトウェア品質
・追跡可能性を持つコメントを分を備えた、一貫性のあるソースコード
・一貫性のあるコールグラフ、コントロールグラフなど
・一貫性のある関連文書の完全な集合
・増補内容を示した文書
・保守担当に対する非公式な記述
・文書に対する品質保証を示す記述
・各文書に加えられた構成管理および版管理の履歴
・抽象化されている内容の詳細な記述
・制御フローの正規化
・一体型コードを、パラメータ化された手続きを利用することによって、わかりやすくする
・モジュール化、抽象データ型への変換を積極的に行う
・役に立たないコードの除去、冗長な変数の整理
・九通または大域変数の単純化
構成管理は、「構成要素の機能的および物理的特性を識別し、文書化すること、これらの特性をコントロールすること、変更に対する処理および実装を記録し、報告すること、および仕様化された要求に追従していることを検証すること。以上のことがらに対して技術的および経営上の指示および監督を適用するためのディシプリンである」 [IEEE610.12-90]
ソフトウェア構成管理(SCM)のアクティビティ
・SCMプロセスをマネージするための計画を策定すること
・ソフトウェア構成要素を識別すること
・計画に従って、ソフトウェア・コンフィギュレーションの変更をコントロールすること
・ソフトウェア・コンフィギュレーションの実態を明らかにし、説明すること
・ソフトウェア・コンフィギュレーションを監査すること
・改変されたソフトウェアのリリースマネジメントおよび引渡し
[IEEE828-98]
・対象とするソフトウェア構成要素(SCT)の識別
・SCIの識別名、識別番号の統一
・SCIを管理するために使用するデータベース(CMDB)、および必要なツールを決定すること
・CMDBで利用するデータベースディレクトリ構造、アクセス権の決定
・改変をコントロールする手順の決定
・ソフトウェア構成コントロール委員会の責務および権限の定義
・SCIの実態を追跡し、報告させる方法の決定
・調停手順の決定
・SCIをベースラインにかけるタイミングの決定
・SCが監査を受けるための手順の決定
・リリースを許可する手順の決定
7.1.3.1 SCM組織および責任 [適用☆☆☆]
7.1.3.2 SCM資源および工程 [適用☆☆☆]
7.1.3.3 ツールの選択と実現 [適用☆☆☆]
・SCMライブラリ
・ソフトウェア変更要請(SCR)および承認に必要な手続き
・コード(および関連する作業の成果物)および改変のマネジメント
・ソフトウェア構成実態説明報告およびSCM計量値の収集
・ソフトウェア構成監査
・ソフトウェア文書化のマネジメントと実態追跡
・ソフトウェアビルドの実施
・ソフトウェアリリースおよび引渡しのためのマネジメントと実態追跡
7.1.3.4 ベンダ/委託契約先のコントロール [理解☆☆]
7.1.3.5 インタフェースコントロール [理解☆☆]
ソフトウェア構成管理計画(SCMP)の中に含まれるべき原則的項目
・まえおき
・SCMPの対象となるプロダクト
・SCMマネジメントの基本事項
・CM環境
・CMDBのディレクトリ構成、ワークエリアおよびアクセス権
・SCI一覧
・版の識別方法
・SCMアクティビティ定義
・個々のSCMアクティビティ担当者および責任者
・SCMPの管理および保守責任者
7.1.5.1 SCM計量尺度および計量 [適用☆☆☆]
7.1.5.2 インプロセス監査 [理解☆☆]
7.2.1.1 ソフトウェア構成 [IEEE610.12-90] [適用☆☆☆]
7.2.1.2 ソフトウェア構成要素 [IEEE610.12-90] [適用☆☆☆]
・プロセス記述書
・要求文書
・設計文書
・テスト計画およびテスティング手順
・テスト結果
・インタフェース記述書
7.2.1.3 ソフトウェア構成要素間の関係 [適用☆☆☆]
7.2.1.4 ソフトウェアの版 [適用☆☆☆]
7.2.1.5 ベースライン [適用☆☆☆]
7.2.1.6 ソフトウェア構成要素の取得 [適用☆☆☆]
7.3.1.1 ソフトウェア構成コントロール委員会(SCCB) [適用☆☆☆]
7.3.1.2 ソフトウェア変更要請プロセス [適用☆☆☆]
[ISO15939-02]
・計量要求の受諾
・計量範囲の定義
・マネジメントおよびスタッフからの計量活動に対する委任
・計量活動のために必要な資源使用に対する委任
・組織単位の特性表示
・必要な情報の識別
・計量尺度の選定
・データ収集、分析、および報告手続きの定義
・情報プロダクトを評価するための基準の定義
・計量タスクに必要な資源のレビュー、承認、および提供
・支援技法の調達および展開
・計量プロセスを、関連するプロセスに統合すること
・データの収集
・データ分析および情報プロダクトの開発
・結果の伝達
・情報プロダクトの評価
・主要な改善の識別
---
システムエンジニアリングプロセス [ISO15288-02] [IEEE1220-98]
ソフトウェアライフサイクルプロセス [IEEE12207.0-96]
ソフトウェアエンジニアリング・プロセスアセスメント [ISO15504-98] [SEI99]
9.1.1.1 Software Engineering Process Group (SEPG) [理解☆☆]
9.1.1.2 Experience Factory (EF) [理解☆☆]
・プロセス基盤確立アクティビティ
・計画アクティビティ
・プロセス実現およびプロセス変更アクティビティ
・プロセス評価アクティビティ
Quality Improvement Paradigm (QIP)
IDEALモデル
ソフトウェアライフサイクルプロセス
・主プロセス
・調達、供給、開発、運用、保守
・支援プロセス
・文書作成・管理、構成管理、品質保証、検証、妥当性確認、合同レビュー,監査、問題解決
・組織プロセス
・マネジメント、基盤提供、改善、訓練
ウォーターフォールモデル
使い捨てプロトタイピングモデル
進化型開発
漸次増進/反復引渡し
スパイラルモデル
再利用可能型ソフトウェアモデル
自動ソフトウェア合成
・保守プロセスに対して [IEEE1219-98]
・再利用プロセスに対して [IEEE1517-99]
・計量プロセスに対して [IEEE12207.0-96]
・品質マネジメントプロセスに対して [ISO9001-00] [ISO900003-04]
・リスクマネジメントプロセスに対して [IEEE1540-01]
・ライフサイクルプロセスの展開に対して [IEEE1074-97]
・汎用体的定義
・適応的定義
・叙述的定義
・規範的定義
・禁令的定義
SPEM仕様 [OMG02]
プロセス記述モデル
・ホア論理
・状態遷移モデル
・ペトリネット
・SADT
・IDEF0 [IEEE1320.1-98]
・ISO/IEC 15504 [ISO15504-98]
・SW-CMM [SEI95] および CMMI [SEI01]
・Bootstrap
・ISO9001 [ISO9001-00]
・システムエンジニアリングのための成熟度モデル [EIA/IS731-99]
・CBA-IPI [CBA-IPI04]
・SCE [SCE04]
・Software Process Assessment [ISO15504-98]
・SCAMPI [SCAMPI04]
[ISO15939-02]
・プロセス
・プロセスへの入力
・プロセスからの出力
・プロセス環境
・内部特性計量の対象
・規模、機能、複雑度、再利用度、構造、制御フロー、モジュラリティ、データフロー、データ構造、オブジェクト特性
・外部特性計量の対象
・ソフトウェア品質特性
9.4.2.1 規模の計量 [IEEE1413.1-00] [適用☆☆☆]
9.4.2.2 構造計量 [適用☆☆☆]
・フローモデルから導く構造計量尺度
・制御フローを反映するもの
・データフローを反映するもの
・階層構造から導く構造計量尺度
・モジュール構造・相互作用を反映するもの
9.4.2.3 品質計量 [適用☆☆☆]
9.4.4.1 モデル構築 [適用☆☆☆]
9.4.4.2 モデル実現 [適用☆☆☆]
9.4.5.1 分析的プロセス計量技法 [適用☆☆☆]
・実験による計量
・プロセス定義に対するレビューによる計量
・直行的欠陥クラス分けを背景にした計量 [IEEE1044-93]
・統計的プロセスコントロールのための計量
・パーソナル・ソフトウェアプロセスにおける計量
9.4.5.2 ベンチマーキング技法 [理解☆☆]
---
[IEEE1175.1-02] [IEEE1462-98] [ISO14471-99] [ECMA55-93] [ECMA69-94]
・要求モデリングツール
・要求追跡ツール
・プログラムエディッタ
・コンパイラおよびコードジェネレータ
・インタプリタ
・デバッガ
・統合開発環境
・テストジェネレータ
・テスト実行フレームワーク
・テスト評価ツール
・テストマネジメントツール
・性能分析ツール
・理解ツール
・リエンジニアリングツール
・リバースエンジニアリングツール
・欠陥、増補、論点、および問題追跡ツール
・版管理ツール
・リリースおよびビルドツール
・プロジェクト計画およびプロジェクト実行追跡ツール
・リスクマネジメントツール
・計量ツール
・プロセスモデリングツール
・プロジェクトマネジメントツール
・統合CASE環境
・プロセス中心ソフトウェアエンジニアリング環境
・レビューおよび監査ツール
・静的分析ツール
・動的分析ツール
・ツール統合技術
・メタツール
・ツール評価
・構造化手法
・データ指向手法
・オブジェクト指向手法
・ドメイン特化手法
・仕様記述言語および仕様表記法
・分割詳細化手法
・検証/証明の対象となる特性を基にした手法
・プロトタイピングスタイル
・プロトタイピング対象
・プロトタイピング評価技法
[ISO9001-00]
・個人によって提案された品質モデル
・Wulfモデル、Boehmモデル、Walters/McCallモデルなど
・企業によって提案された品質モデル(品質構造)
・SQMAT(日本電気)、SQUALAS(日本アイ・ビー・エム)、SQM(Metriqs社)など
・国際標準
・Quality Model [ISO9126-01]
・Software Product Evaluation [ISO14598-98]
・JIS
JIS-X-0129( [ISO9126-01] と同一)
品質特性
・機能性
・合目的性、正確性、相互運用性、標準適合性、セキュリティ
・信頼性
・成熟度、フォールト・トレランス、回復性
・ユーザビリティ
・理解容易性、習得容易性、操作容易性
・効率
・時間的効率、資源的効率
・保守容易性
・解析容易性、変更容易性、安定性、テスト容易性
・移植容易性
・環境的要請、設置容易性、規格適合性、置換容易性
11.1.3.1 ソフトウェアエンジニアリングプロセス品質 [分析☆☆☆☆]
TicKIT (http://www.tickit.org/)
国際標準 [ISO9001-00] [ISO900003-04]
CMMI
11.1.3.2 ソフトウェアプロダクト品質 [分析☆☆☆☆]
ソフトウェア品質計画
(1) 必要なプロダクトを選定し、それぞれに対して要求されている品質特性を定義する
(2) 定義された品質特性を達成するために必要なプロセスを計画する
計画しなければならないプロセス [IEEE12207.0-96]
・品質保証プロセス
・検証プロセス
・妥当性確認プロセス
・レビュープロセス
・監査プロセス
[IEEE730-02]
[IEEE1059-93] [IEEE1012-98]
[IEEE1028-97]
・マネジメントレビュー
・テクニカルレビュー
・インスペクション
・ウォークスルー
・監査
11.2.3.1 マネジメントレビュー [IEEE1028-97]
11.2.3.2 テクニカルレビュー [IEEE1028-97]
・目標の表明文
・特定されたソフトウェアプロダクト
・特定されたプロジェクトマネジメント計画書
・当該プロダクトに付随する問題点リスト
・テクニカルレビュー手順書
11.2.3.3 インスペクション [適用☆☆☆]
[IEEE1028-97]
[IEEE1044-93]
11.2.3.4 ウォークスルー [IEEE1028-97] [適用☆☆☆]
・変則の発見
・ソフトウェアプロダクトの改善
・代案の実現に対する検討
・標準および仕様に対する合致度の評価
11.2.3.5 監査 [IEEE1028-97] [理解☆☆]
11.3.1.1 影響する因子 [理解☆☆]
・ソフトウェアが機能するシステムが属するドメインの性質
・システムおよびソフトウェア要求
・システムとして利用可能な商用(外部)または標準(内部)コンポーネント
・適用可能な特定されたソフトウェアエンジニアリング標準
・開発および保守に利用され、また品質評価および品質改善に利用されている方法とソフトウェアツール
・各プロセスに関する予算、スタッフ、プロジェクト組織、計画および工程
・予定されているシステムユーザ、およびシステムの利用環境
・システムの統合性レベル
11.3.1.2 ディペンダビリティ [理解☆☆]
・特性
・利用可能性、信頼性、安全性、機密性、統合性、保守容易性
・方法
・フォールト予防、フォールト・トレランス、フォールト除去、フォールト予側
・脅威
・フォールト、エラー、故障
11.3.1.3 ソフトウェアの統合性レベル [IEEE1012-98] [理解☆☆]
[IEEE1012-86] [IEEE1044-93]
[IEEE610.12-90]
・変則
・エラー
・フォールト
・故障
・間違い
11.3.3.1 静的技法 [適用☆☆☆]
11.3.3.2 人知集約的技法 [適用☆☆☆]
11.3.3.3 分析的技法 [適用☆☆☆]
・複雑度分析
・構造分析
・制御フロー分析、モジュラリティ分析、情報(データ)フロー分析、オブジェクト特性分析、データ構造分析
・アルゴリズム分析
・正当性分析
11.3.3.4 動的技法 [適用☆☆☆]
11.3.3.5 テスティング
・プロジェクトで利用するツールの評価とテスティング [IEEE1462-98]
・プロジェクトで利用するコンポーネントおよびCOTSプロダクトの適合性テスト(または適合性テストのレビュー) [IEEE1465-98]
統計的プロセス計量手法
・統計準拠手法 (たとえば、Pareto分析、ランチャーと、分散プロット、正規分布)
・統計的テスト (たとえば、二項テスト、Χ2乗テスト)
・トレンド分析
・予側 (たとえば、信頼性モデル)
---
■ソフトウェア要求 | ||||||||
---|---|---|---|---|---|---|---|---|
ソフトウェア要求 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
2.1 ソフトウェア要求の基礎 | X | |||||||
ソフトウェア要求の定義 | X | |||||||
プロダクトおよびプロセスに関する要求 | X | |||||||
機能的要求と非機能的要求 | X | |||||||
創発的性質 | X | |||||||
定量可能な要求 | X | |||||||
システム要求とソフトウェア要求 | X | |||||||
2.2 要求プロセス | ||||||||
プロセスモデル | X | |||||||
プロセスアクター | X | |||||||
プロセス支援およびマネジメント | X | |||||||
プロセス品質と改善 | X | |||||||
2.3 要求の抽出 | ||||||||
要求の生成源 | X | |||||||
抽出の技法 | X | |||||||
2.4 要求分析 | ||||||||
要求クラスわけ | X | |||||||
概念モデルづくり | X | |||||||
アーキテクチャー設計および要求割付け | X | |||||||
要求折衝 | X | |||||||
2.5 要求の仕様化 | ||||||||
システム定義文書 | X | |||||||
システム要求の仕様化 | X | |||||||
ソフトウェア要求の仕様化 | X | |||||||
2.6 要求の妥当性確認 | ||||||||
要求のレビュー | X | |||||||
プロトタイピング | X | |||||||
モデルの妥当性確認 | X | |||||||
受入れテスト | X | |||||||
2.7 実践上考慮すべきことがら | ||||||||
要求プロセスの反復性 | X | |||||||
変更管理 | X | |||||||
要求属性 | X | |||||||
要求追跡 | X | |||||||
要求の計量 | X | |||||||
■ソフトウェア設計 | ||||||||
ソフトウェア設計 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
3.1 ソフトウェア設計の基礎 | ||||||||
一般的な設計概念 | X | |||||||
ソフトウェア設計をとりまく前後関係 | X | |||||||
ソフトウェア設計プロセス | X | |||||||
推奨技法 | X | |||||||
3.2 ソフトウェア設計における主要な問題 | ||||||||
並行処理 | X | |||||||
イベントに関する制御と処理 | X | |||||||
コンポーネントの分散化 | X | |||||||
エラーおよび例外処理、フォールト・トレランス | X | |||||||
対話と表示 | X | |||||||
データの永続化 | X | |||||||
3.3 ソフトウェア構造とアーキテクチャー | ||||||||
アーキテクチャーの構造と視点 | X | |||||||
アーキテクチャー・スタイル | X | |||||||
デザイン・パターン | X | |||||||
プログラムのファミリおよびフレームワーク | X | |||||||
3.4 ソフトウェア設計品質の分析と評価 | ||||||||
品質特性 | X | |||||||
品質分析および評価のためのツール | X | |||||||
計量尺度 | X | |||||||
3.5 ソフトウェア設計のための表記 | ||||||||
構造記述(静的ビュー) | X | |||||||
ビヘイビア記述(動的ビュー) | X | |||||||
3.6 ソフトウェア設計戦略および手法 | ||||||||
一般的戦略 | X | |||||||
機能指向(構造化)設計 | X | |||||||
オブジェクト指向設計 | X | |||||||
データ構造中心設計 | X | |||||||
コンポーネント準拠設計(CBD) | X | |||||||
その他の手法 | X | |||||||
■ソフトウェア構築 | ||||||||
ソフトウェア構築 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
4.1 ソフトウェア構築の基本概念 | ||||||||
複雑さの最小化 | X | |||||||
変更の予側 | X | |||||||
検証を考えた構築 | X | |||||||
構築のための標準 | X | |||||||
4.2 ソフトウェア構築のマネジメント | ||||||||
ソフトウェア構築モデル | X | |||||||
ソフトウェア構築計画 | X | |||||||
ソフトウェア構築計量 | X | |||||||
4.3 実践上考慮すべき事柄 | ||||||||
構築設計 | X | |||||||
構築言語 | X | |||||||
コーディング | X | |||||||
構築テスティング | X | |||||||
構築品質 | X | |||||||
統合 | X | |||||||
■ソフトウェア・テスティング | ||||||||
ソフトウェア・テスティング | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
5.1 ソフトウェアテスティングの基礎 | ||||||||
テスティングに関係する用語 | X | |||||||
主要な論点 | X | |||||||
テスティングがもつ他のアクティビティとの関係 | X | |||||||
5.2 テスト・レベル | ||||||||
テスト対象 | X | |||||||
テスティングの目的 | X | |||||||
5.3 テスト技法 | ||||||||
ソフトウェアエンジニアの直感および経験に基づいた技法 | X | |||||||
仕様に基づいた技法 | X | |||||||
コードに基づいた技法 | X | |||||||
フォールトに基づいた技法 | X | |||||||
利用に基づいた技法 | X | |||||||
アプリケーションの性質に基づいた技法 | X | |||||||
選択および組合せ技法 | X | |||||||
5.4 テストに関係した計量尺度 | ||||||||
テストされるプログラムの評価 | X | |||||||
実施されたテストの評価 | X | |||||||
5.5 テストプロセス | ||||||||
マネジメント上考慮すべきことがら | X | |||||||
テストアクティビティ | X | |||||||
■ソフトウェア保守 | ||||||||
ソフトウェア保守 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
6.1 ソフトウェア保守の基礎 | ||||||||
定義と用語 | X | |||||||
保守の性質 | X | |||||||
保守に対するニーズ | X | |||||||
保守コストの大勢 | X | |||||||
ソフトウェアの進化 | X | |||||||
保守のカテゴリ | X | |||||||
6.2 ソフトウェア保守における主要な課題 | ||||||||
技術上の問題 | ||||||||
限られた理解 | X | |||||||
テスティング | X | |||||||
影響分析 | X | |||||||
保守容易性 | X | |||||||
マネジメントに関する課題 | ||||||||
組織目標との整合 | X | |||||||
要員配置 | X | |||||||
プロセスに関する課題 | X | |||||||
保守に対する組織からみた課題 | X | |||||||
保守コストの見積り | ||||||||
コスト見積り | X | |||||||
パラメトリックモデル | X | |||||||
経験 | X | |||||||
ソフトウェア保守計量 | X | |||||||
6.3 保守プロセス | ||||||||
保守プロセスモデル | X | |||||||
保守アクティビティ | ||||||||
特有のアクティビティ | X | |||||||
支援アクティビティ | X | |||||||
6.4 保守のための技法 | ||||||||
プログラム理解 | X | |||||||
リエンジニアリング | X | |||||||
リバースエンジニアリング | X | |||||||
■ソフトウェア構成管理 | ||||||||
ソフトウェア構成管理 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
7.1 SCMプロセスマネジメント | ||||||||
SCMのための組織的背景 | X | |||||||
SCMプロセスに対する制約とガイダンス | X | |||||||
SCMのための計画 | ||||||||
SCM組織および責任 | X | |||||||
SCM資源および工程 | X | |||||||
ツールの選択と実装 | X | |||||||
ベンダー/委託契約先コントロール | X | |||||||
インターフェースコントロール | X | |||||||
SCM計画 | X | |||||||
SCMの監督 | ||||||||
SCMの計量尺度と計量 | X | |||||||
SCMプロセス内監査 | X | |||||||
7.2 ソフトウェア構成の識別 | ||||||||
コントロールされる構成要素の識別 | ||||||||
ソフトウェア構成 | X | |||||||
ソフトウェア構成要素 | X | |||||||
ソフトウェア構成要素間の関係 | X | |||||||
ソフトウェアの版 | X | |||||||
ベースライン | X | |||||||
ソフトウェア構成要素の取得 | X | |||||||
ソフトウェアライブラリー | X | |||||||
7.3 ソフトウェア構成コントロール | ||||||||
ソフトウェア変更の要求、評価および承認 | ||||||||
ソフトウェア構成コントロール委員会 | X | |||||||
ソフトウェア変更要求プロセス | X | |||||||
ソフトウェア変更の実現 | X | |||||||
逸脱と放棄 | X | |||||||
7.4 ソフトウェア構成実態説明 | ||||||||
ソフトウェア構成状態情報 | X | |||||||
ソフトウェア構成状態報告 | X | |||||||
7.5 ソフトウェア構成監査 | ||||||||
ソフトウェア機能構成監査 | X | |||||||
ソフトウェア物理構成監査 | X | |||||||
ソフトウェアベースラインのインプロセス監査 | X | |||||||
7.6 ソフトウェアリリース・マネジメントおよび引渡し | ||||||||
ソフトウェア・ビルディング | X | |||||||
ソフトウェア・リリース・マネジメント | X | |||||||
■ソフトウェアエンジニアリングマネジメント | ||||||||
ソフトウェアエンジニアリングマネジメント | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
8.1 始動および適用範囲の定義 | ||||||||
要求の決定と折衝 | X | |||||||
実現可能性分析 | X | |||||||
要求レビューおよび改訂のためのプログラム | X | |||||||
8.2 ソフトウェアプロジェクト計画 | ||||||||
プロセス計画 | X | |||||||
成果物の決定 | X | |||||||
工数、工程、およびコスト見積り | X | |||||||
資源割りつけ | X | |||||||
リスクマネジメント | X | |||||||
品質マネジメント | X | |||||||
計画マネジメント | X | |||||||
8.3 ソフトウェアプロジェクトの計画実施 | ||||||||
計画の実現 | X | |||||||
供給者契約のマネジメント | X | |||||||
計量プロセスの実現 | X | |||||||
監視プロセス | X | |||||||
コントロールプロセス | X | |||||||
報告 | X | |||||||
8.4 レビューおよび評価 | ||||||||
要求充足度の判定 | X | |||||||
実行状況のレビューと評価 | X | |||||||
8.5 終結 | ||||||||
終結の決定 | X | |||||||
終結アクティビティ | X | |||||||
8.6 ソフトウェアエンジニアリング計量 | ||||||||
計量に対する委任の確立と持続 | X | |||||||
計量プロセスの計画 | X | |||||||
計量プロセスの実施 | X | |||||||
計量評価 | X | |||||||
■ソフトウェアエンジニアリングプロセス | ||||||||
ソフトウェアエンジニアリングプロセス | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
9.1 プロセスの実現および変更 | ||||||||
プロセス基盤 | ||||||||
Software Engineering Process Group (SEPG) | X | |||||||
Experience Factory (EF) | X | |||||||
4つのアクティビティ | X | |||||||
プロセス実現およびプロセス変更のためのモデル | X | |||||||
実践上考慮すべきことがら | X | |||||||
9.2 プロセス定義 | ||||||||
ソフトウェアライフサイクルモデル | X | |||||||
ソフトウェアライフサイクルプロセス | X | |||||||
プロセス定義の表記法 | X | |||||||
プロセス適応 | X | |||||||
自動化 | X | |||||||
9.3 プロセス査定 | ||||||||
プロセス査定モデル | X | |||||||
プロセス査定法 | X | |||||||
9.4 プロセスおよびプロダクト計量 | ||||||||
プロセス計量 | X | |||||||
ソフトウェアプロダクト計量 | X | |||||||
規模の計量 | X | |||||||
構造計量 | X | |||||||
品質計量 | X | |||||||
計量結果の品質 | X | |||||||
ソフトウェア情報モデル | ||||||||
モデル構築 | X | |||||||
モデル実現 | X | |||||||
プロセス計量技法 | ||||||||
分析的技法 | X | |||||||
ベンチマーキング技法 | X | |||||||
■ソフトウェア・エンジニアリングのためのツールおよび手法 | ||||||||
ソフトウェア・エンジニアリングのためのツールおよび手法 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
10.1 ソフトウェアエンジニアリングツール | ||||||||
ソフトウェア要求ツール | X | |||||||
ソフトウェア設計ツール | X | |||||||
ソフトウェア構築ツール | X | |||||||
ソフトウェア・テスト・ツール | X | |||||||
ソフトウェア保守ツール | X | |||||||
ソフトウェア構成管理ツール | X | |||||||
ソフトウェアエンジニアリング・マネジメントツール | X | |||||||
ソフトウェア品質ツール | X | |||||||
ツールに関するその他の問題 | X | |||||||
10.2 ソフトウェアエンジニアリング手法 | ||||||||
発見的手法 | X | |||||||
形式的手法 | X | |||||||
プロトタイピング法 | X | |||||||
その他の手法に関する問題 | X | |||||||
■ソフトウェア品質 | ||||||||
ソフトウェア品質 | 知識 | 理解 | 適用 | 分析 | 統合 | 評価 | ||
11.1 ソフトウェア品質の基礎 | ||||||||
ソフトウェアエンジニアリング文化および倫理 | X | |||||||
品質の価値およびコスト | X | |||||||
品質モデルおよび品質特性 | ||||||||
ソフトウェアエンジニアリングプロセス品質 | X | |||||||
ソフトウェアプロダクト品質 | X | |||||||
品質改善 | X | |||||||
11.2 ソフトウェア品質マネジメントプロセス | ||||||||
ソフトウェア品質保証 | X | |||||||
検証と妥当性確認 | X | |||||||
レビューおよび監査 | ||||||||
インスペクション | X | |||||||
ビア・レビュー | X | |||||||
ウォークスルー | X | |||||||
テスティング | X | |||||||
監査 | X | |||||||
11.3 実践上考慮すべきことがら | ||||||||
アプリケーション品質要求 | ||||||||
システムの重要性 | X | |||||||
ディペンダビリティ | X | |||||||
ソフトウェアの統合性レベル | X | |||||||
欠陥の特徴づけ | X | |||||||
ソフトウェア品質マネジメント技法 | ||||||||
静的技法 | X | |||||||
人知集約的技法 | X | |||||||
分析的技法 | X | |||||||
動的技法 | X | |||||||
ソフトウェア品質計量 | X |
SWEBOK
ソフトウェアエンジニアリング基礎知識体系―SWEBOK2004
ソフトウェア開発へのSWEBOKの適用
IEEE