ソフトウェアテスト
[3] ソフトウェア開発プロプロ
セス
Software Testing
[3] Software Development Process
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
ソフトウェア開発プロの大まかな流れ大まかな流れまかな流れ流れれ
開発プロ計画(全体計画)
要求分析
設計
実装(プログラミング)
テスト
開発プロ
プロセス
運用・保守
(C) 2007-2022 Hirohisa AMAN
2
(0) 開発プロ計画
開発プロ計画(全体計画)
要求分析
設計
実装(プログラミング)
テスト
運用・保守
(C) 2007-2022 Hirohisa AMAN
3
(0) 開発プロ計画
設定 → 見積りり → 準備
どういったもの大まかな流れを
いつまでに
作るのかをるの大まかな流れかを設定
開発プロ方法の決定の大まかな流れ決定
「作るのかをりたい」機能を期間を期間
内・予算内にすべて自前自前
で実現するとは限らないするとは限らない限らないらな流れい
ため,どこまで作るのかをるの大まかな流れか
も設定
工数と費用
の大まかな流れ見積りり
開発プロプロジェクトの大まかな流れ準備
• 人員の配置の大まかな流れ配置
• 予算措置
• 環境の整備 などの大まかな流れ整備
な流れど
(C) 2007-2022 Hirohisa AMAN
4
(0) 開発プロ計画: 開発プロ方法の決定の大まかな流れ決定
基本方針
• 新規に開発に開発プロするの大まかな流れか?
• 既存のシステムをベースの大まかな流れシステムをベースをベースとするの大まかな流れか?
どれだけの大まかな流れ規に開発模の開発となるのかを算出の大まかな流れ開発プロとな流れるの大まかな流れかを算出
(例)どれだけの大まかな流れ量のコードを書く必要があるか?の大まかな流れコードを書く必要があるか?を書く必要があるか?く必要があるか?必要があるか?
工数や体制は? 開発環境は? 予算は?費用の大まかな流れ見積りりに効いてくるいて自前く必要があるか?る
他にも検討しておくべき課題はいろいろにも検討しておくべき課題はいろいろして自前おく必要があるか?べき課題はいろいろ課題はいろいろは限らないいろいろ
人材の確保や体制は? 開発環境は? 予算は?の大まかな流れ確保や体制は? 開発環境は? 予算は?体制は? 開発環境は? 予算は?は限らない?
開発プロ環境の整備 などは限らない?
(C) 2007-2022 Hirohisa AMAN
予算は限らない?
5
(1) 要求分析
開発プロ計画(全体計画)
要求分析
開発プロプロセスの大まかな流れ
は限らないじまり
設計
実装(プログラミング)
テスト
運用・保守
(C) 2007-2022 Hirohisa AMAN
6
(1) 要求分析
成果物
要求仕様書く必要があるか?
ソフトウェアで実現するとは限らないしようとして自前いる
内容の記述を明確にする
業務分析
ソフトウェアで実現するとは限らないしようとして自前いる業務を分
析・整理
要求内容の記述の大まかな流れ記述
あいまいさ無く,正確に記述く必要があるか?,正確に記述
機能を期間・コスト・納期の大まかな流れ観点から実現可能性もから実現するとは限らない可能を期間性もも
(C) 2007-2022 Hirohisa AMAN
検討しておくべき課題はいろいろ
7
【例】 掲示通知システムシステムをベース
(1) 要求分析
自分に関係する掲示が出たら,スマホへ通する掲示が出たら,スマホへ通へ通通
知システムして自前く必要があるか?れるシステムをベースが欲しいしい
リアルタイムをベースな流れの大まかな流れか?日ごとにまとめるのごとにまとめるの大まかな流れ
か?
どういうかたちで通知システムして自前欲しいしいの大まかな流れか?
通知システム先をどうやって登録・変更するのか?をどうや体制は? 開発環境は? 予算は?って自前登録・変更するのか?するの大まかな流れか?
な流れりすまし対策・セキュリティ保護はどうする保護はどうするは限らないどうする
か?
どの大まかな流れような流れ形式で掲示の内容を入力するか?で掲示の大まかな流れ内容の記述を入力するか?するか?
そもそも「関係する掲示が出たら,スマホへ通する掲示」の大まかな流れ条件とは何か?とは限らない何か?か?
(C) 2007-2022 Hirohisa AMAN
受講者データベースとの連携が必要?データベースとの大まかな流れ連携が必要?が必要?
8
【演習1】
要求分析に必要な流れ検討しておくべき課題はいろいろ事項を考えよを考えよえよ
顧客からの要望からの大まかな流れ要望
「食堂の混雑状況をスマホでチェックできの大まかな流れ混雑状況をスマホでチェックできをスマホへ通でチェックでき課題はいろいろ
るシステムをベースを作るのかをって自前欲しいしい」
要求仕様書く必要があるか?を作るのかを成して自前いく必要があるか?上で顧客に確認で顧客からの要望に確認
(あるいは限らない検討しておくべき課題はいろいろ)すべき課題はいろいろ事項を考えよを考えよえ,列挙
しな流れさい
(C) 2007-2022 Hirohisa AMAN
9
【演習1】 (解答例)
食堂の混雑状況をスマホでチェックできの大まかな流れ混雑チェックシステムをベースについて自前
どういうや体制は? 開発環境は? 予算は?り方でチェックするの大まかな流れか?
Web ブラウザでサーバへアクセスする?でサーバへアクセスする?へ通アクセスする?
アプリにサーバへアクセスする?と通信させて状況を表示させさせて自前状況をスマホでチェックできを表示させ
る?
「混雑」の大まかな流れ状態をどう表現するのか?をどう表現するとは限らないするの大まかな流れか?
座席の空き状況?(席の占有率やマップを表の大まかな流れ空き状況?(席の占有率やマップを表き課題はいろいろ状況をスマホでチェックでき?(席の空き状況?(席の占有率やマップを表の大まかな流れ占有率やマップを表や体制は? 開発環境は? 予算は?マップを表
示)
直近 20 分間の大まかな流れレジ通過者データベースとの連携が必要?数?
使用可能を期間な流れスマホへ通に制は? 開発環境は? 予算は?約はあるか?は限らないあるか?
同時にサービスを利用できる人数の上限にサービスを利用でき課題はいろいろる人数の大まかな流れ上で顧客に確認限らない
(C) 2007-2022 Hirohisa AMAN
10
(2) 設計
開発プロ計画(全体計画)
要求分析
設計
実装(プログラミング)
テスト
運用・保守
(C) 2007-2022 Hirohisa AMAN
11
(2-1) 外部設計
成果物
外部仕様書く必要があるか?
目標のシステムをの大まかな流れシステムをベースをサブシステムをベースへ通分割し,
各サブシステムのサブシステムをベースの大まかな流れ外部から見た仕様を設計
ユーザでサーバへアクセスする?や体制は? 開発環境は? 予算は?外部システムをベース
システムをベース全体
どういう機能を期間を
持たせるのか?たせるの大まかな流れか?
どういうインタフェー
スにするの大まかな流れか?
どの大まかな流れように操
作るのかをするの大まかな流れか?
どういうかたちで
データや体制は? 開発環境は? 予算は?制は? 開発環境は? 予算は?御をやりとをや体制は? 開発環境は? 予算は?りと
り
するの大まかな流れか?
サブシステムをベース
(C) 2007-2022 Hirohisa AMAN
12
(2-2) 内部設計
内部仕様書く必要があるか?
成果物
それぞれの大まかな流れ外部設計の大まかな流れ内容の記述について自前
詳細ににプログラムをベースの大まかな流れ仕様を設計
プログラムをベース構造
(関数として自前仕事
の大まかな流れ割り振り等)り等)
•
各サブシステムの関数の大まかな流れ仕様
(入出力するか?・機能を期間等)
•
データ構造と
アルゴリズムをベース
•
サブシステムをベース
関数 A
関数 B
関数 D
関数 C
関数 F
※ 正確には限らない「関数」では限らないな流れく必要があるか?
「モジュール」という概念
(C) 2007-2022 Hirohisa AMAN
プログラミングの大まかな流れ
一歩手前までを設計
13
【例】 掲示通知システムシステムをベース
(2ー1) 外部設計
コンテンツ
管理
利用者データベースとの連携が必要?
送信させて状況を表示させ
管理
受講者データベースとの連携が必要?
データベース
利用者データベースとの連携が必要?
管理
情報入力するか?者データベースとの連携が必要?
利用者データベースとの連携が必要?
データベース
※ データベースは限らない人では限らないありません ひろひさが…
(C) 2007-2022 Hirohisa AMAN
14
【例】 掲示通知システムシステムをベース
(2ー2) 内部設計
送信させて状況を表示させ管理サブシステムをベース
送信させて状況を表示させ管理メイン
宛先をどうやって登録・変更するのか?一覧作るのかを成
コンテンツ作るのかを成
受講者データベースとの連携が必要?データベースでの大まかな流れ検索
メッセージ送信させて状況を表示させ
宛先をどうやって登録・変更するのか?一覧は限らないどういったデータ構造
にするか?
データベースとの大まかな流れ連携が必要?をどうするか?
どうや体制は? 開発環境は? 予算は?って自前メッセージを送信させて状況を表示させするか?
(C) 2007-2022 Hirohisa AMAN
15
(3) 実装(プログラミング)
開発プロ計画(全体計画)
要求分析
設計
実装(プログラミング)
テスト
運用・保守
(C) 2007-2022 Hirohisa AMAN
16
成果物
(3)
プログラムをベース仕様書く必要があるか?
実装(プログラミング)
ソースコードを書く必要があるか?
内部仕様に基づいて自前コーディ保護はどうするング
言うまでもなく,プログラミング言語をうまでもな流れく必要があるか?,プログラミング言うまでもなく,プログラミング言語を語をを
使ったコーディ保護はどうするング(プログラミング)を
行うう
関連ドを書く必要があるか?キュメントとして自前プログラムをベースの大まかな流れ仕様
書く必要があるか?や体制は? 開発環境は? 予算は?フローチャート等の大まかな流れ作るのかを成も
(C) 2007-2022 Hirohisa AMAN
17
【例】 掲示通知システムシステムをベース
(3) 実装(プログラミング)
目的の機能を実現するのに適したライブラの大まかな流れ機能を期間を実現するとは限らないするの大まかな流れに適したライブラしたライブラ
リや体制は? 開発環境は? 予算は?プログラミング言うまでもなく,プログラミング言語を語をを用いる
例えば
OS 独自の大まかな流れ機能を期間を活用 → C 言うまでもなく,プログラミング言語を語を
データベースとの大まかな流れ連携が必要? → Java や体制は? 開発環境は? 予算は? Python
後で保守することも考慮し,プログラムので保守することも考えよ慮し,プログラムのし,プログラムをベースの大まかな流れ
仕様や体制は? 開発環境は? 予算は?フローチャートといったドを書く必要があるか?キュメン
トも積り極的の機能を実現するのに適したライブラに作るのかを成して自前おく必要があるか?
(C) 2007-2022 Hirohisa AMAN
18
(4) テスト
開発プロ計画(全体計画)
要求分析
設計
実装(プログラミング)
テスト
運用・保守
(C) 2007-2022 Hirohisa AMAN
19
(4) テスト
成果物 テスト仕様書く必要があるか?
テスト報告書く必要があるか?
各サブシステムの種の仕様に基づいての大まかな流れ仕様に基づいて自前
ソフトウェアが適したライブラ切に動作するかをに動作るのかをするかをテ
スト
関数(モジュール)は限らないプログラムをベース仕様通り
か?
→ 単体テスト
サブシステムをベースは限らない内部仕様通りか? → 結合テステス
ト
システムをベースは限らない外部仕様通りか? → システムをベーステス
(C) 2007-2022 Hirohisa AMAN
20
ト