概要:ソフトウェア開発は、益々大規模化、複雑化している。その中で、ソフトウェアの要求仕様定義の曖昧性や漏れ抜けにより、大幅な戻り作業や市場での重要問題が発生している。当研修では、ソフトウェア開発に関する要求仕様定義の難しさを確認し、その課題を解決する方法を演習を通じて学習する。
目標:・ソフトウェア開発の要求仕様定義を漏れ抜け無く、策定することができる
・要求仕様定義を適切に実施することで、品質を向上させることができる
・ソフトウェアの要求仕様定義の曖昧性を適切に修正することができる
教材:オリジナルテキスト
内容:
1日目 午前
・要求仕様定義の重要性:事故事例、開発の問題点から要求仕様定義の重要性を理解
・ステークホルダの把握:組込み開発では要求定義に関連する多様なステークホルダが存在
・要求仕様と設計仕様の明確化
・要求と要求仕様の相違
・システム要求とソフトウェア要求
・ヒアリング技法:ブレーンストーミング、フィッシュボーン、マインドマップ、オープンクエスチョンとクローズクエスチョンなど
・目的/ユースケースの明確化:要求の目的、ユースケースを明確にすることによる、漏れ、誤解を防止
・モデリング技法:ユースケース図、アクティビティ図などにより、要求の背景を明確にする
・要求の優先順位付け
1日目 午後
・要求の優先順位付け
・ハードウェアとソフトウェアの役割分担
・コミュニケーション技法
・レビュー技法
<演習>要求仕様書の問題点指摘演習
2日目 午前
・ハードウェア仕様書の記載方法
・信頼性要求と安全性要求の違い:信頼性(機能が問題無く動作すること)と安全性(機能を停止してでも人的被害を防止すること)
・自己診断機能、生産用診断機能:自己診断機能、生産用診断機能の要求の責任者を明確にする
・要求仕様と設計仕様の分離
・非機能要求(機能外要求)の重要性:信頼性要求、使用性要求、効率性要求、保守性要求、移植性要求などの非機能要求
・曖昧性の排除
・発注者と受注者の利害の不一致の排除
2日目 午後
・要求仕様書の記載項目
・要求仕様の階層化とトレーサビリティ:階層化による理解の促進、トレーサビリティによる要求仕様の実装/テスト漏れ防止
・テストの実現性:テスト可能かを検討することにより、具体的/実現可能な要求仕様となる
・要求の変化への事前対応
・流用開発(派生開発)での注意点
<演習>要求仕様書の作成演習
前提:ソフトウェア開発の基礎知識を有していること
受講対象:・ソフトウェア開発の担当エンジニア
・ソフトウェア開発プロジェクトのリーダ、マネージャ
・システム開発の要件定義を実施する担当者