ソフトウェア開発チームの手引き/1. ソフトウェア開発の物語/1-1. これまでのソフトウェア開発

179 Views

January 01, 17

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ソフトウェア開発チームの手引き A Guide for Software Development Team 1. ソフトウェア開発の物語 1-1. これまでのソフトウェア開発 産業技術大学大学 http://aiit.ac.jp

2.

ソフトウェア開発のイメージ? 産業技術大学大学 「ソフトウェア開発チームの手引き」 2

3.

デスマーチ 💀 (死の行進 / デスマ) 「プロジェクトのパラメータ」が正常値を50%以上超過したもの (出典:エドワード・ヨードン『デスマーチ 第2版』日経BP社) プロジェクトのパラメータの例 • 品質 (Quality) • コスト (Cost) • 納期 (Delivery) • スコープ (Scope) • その他 (人、組織、リスクなど) ► 「品質」パラメータが異常のままだと、どのような影響がある? 産業技術大学大学 「ソフトウェア開発チームの手引き」 3

4.

システムの品質は利用者に影響を与える ボーイング787に248日問題、電源停止で制御不能の恐れ 2015年5月2日, 午後08:23 http://japanese.engadget.com/2015/05/02/787-248-32bit/ 連続稼働時間などを記録する内部のカウンターに符号付き32bit整数を使ったため(中略)発電機を制御するシステムがセーフモードに入り、一斉にAC電源が落ちて飛行中ならば制御不能になる恐れ 産業技術大学大学 「ソフトウェア開発チームの手引き」 4

5.

「ソフトウェアエンジニアリング」の適用 ① ソフトウェアの開発、運用、保守に対する、系統的で統制され定量化可能な方法。すなわちソフトウェアへの工学の適用。 ② ①のような方法の研究。 —IEEE std 610-1990 参考:玉井哲雄『ソフトウェア工学の基礎』(岩波オンデマンドブックス) 産業技術大学大学 「ソフトウェア開発チームの手引き」 5

6.

ソフトウェアエンジニアリングの歴史 (1/2) • 1964年:IBM System/360 の登場で、ソフトウェアの需要 UP! • 1960年代後半:「ソフトウェア危機」 • 1968年:NATO ソフトウェアエンジニアリングカンファレンス 参考:玉井哲雄『ソフトウェア工学の基礎』(岩波オンデマンドブックス) 産業技術大学大学 「ソフトウェア開発チームの手引き」 6

7.

ソフトウェアエンジニアリングの歴史 (2/2) • 1970年代:ウォーターフォールモデル ('70) • 1980年代:進化型開発 / スパイラルモデル • 1990年代:CMM ('91) / RAD ('91) / RUP ('98) / UML ('95) • 2000年代:アジャイル開発 ('01) 参考:玉井哲雄『ソフトウェア工学の基礎』(岩波オンデマンドブックス) 産業技術大学大学 「ソフトウェア開発チームの手引き」 7

8.

ウォーターフォールモデル ウォーターフォール(滝)のように、上から下に開発工程(要求→設計→実装→テスト→運用など)が流れるモデル。前の工程へ逆戻りさせないので、事前の計画 が重要になる。 • 「事前の計画が重要」→事前にすべての計画はできない。 • 「逆戻りさせない」→現実的に考えて困難。 Requirements Design Implementation Verification Maintenance 出典:https://ja.wikipedia.org/wiki/ウォーターフォール_モデル 産業技術大学大学 「ソフトウェア開発チームの手引き」 8

9.

スパイラルモデル ウォーターフォールモデルの弱点を解消した開発モデル • プロトタイプを作りながら、何度も繰り返してやるという発想 • 何度も繰り返すので、時間がかかるという欠点がある 1.Determine objectives Review 4. Plan the next iteration Cumulative cost Progress 2. Identify and resolve risks 3. Development and Test 出典:https://en.wikipedia.org/wiki/Spiral_model 産業技術大学大学 「ソフトウェア開発チームの手引き」 9

10.

これまでの開発手法の問題点 1. 開発のプロセスが事前に決められている 2. 計画できないものを計画しようとしている 産業技術大学大学 「ソフトウェア開発チームの手引き」 10

11.

では、どうすればいいか? ➡ 「アジャイル開発」という解決策 1. 開発プロセスよりも人間を尊重する 2. 予測型で計画するよりも適応型で計画する 参考:Martin Fowler 「The New Methodology」 http://www.martinfowler.com/articles/newMethodology.html 産業技術大学大学 「ソフトウェア開発チームの手引き」 11

12.

(参考) ウォーターフォールモデルの誤解 よく Winston W. Royce の論文 "Managing the Development of Large Software Systems" が「ウォーターフォールモデルの原点」として引用されるが……。 実際には、そのようなモデルはリスク高く失敗するので、以下の5つのステップを導入すべきという主張をしている。 1. 最初にプログラム設計 2. 設計を文書化 3. 二度やる 4. テストの計画・制御・監視 5. 顧客を巻き込む 産業技術大学大学 「ソフトウェア開発チームの手引き」 12