̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ IT ニュース&コラム 2016/ 5/23 通巻713号 技術版 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    それぞれの工程に専門家を配置する工程別分業開発 ウォーターフォール開発の場合、要求仕様書、機能仕様書、詳細仕様書など、 工程の区切り(=インターフェースの定義)が「あいまい」なゆえに、 テンプレートや帳票を作成してもあいまいにならざるを得ず、活用が難しいと いう問題があります。 あいまいというのは抽象的であるという意味ではありません。 抽象的な概念 (オブジェクト指向のスーパークラスに相当)で定義されていないという 意味です。 抽象的な概念は、たとえば、 ・画面 ・データベース ・ネットワーク ・プラットフォーム ・プログラミング言語 ・ニーズ ・テスト(手法) ・パッケージ製造 ・地方や人間関係 ・権利関係 などです。 画面は、画面1、画面2、画面3…の抽象ですが、概要は、概要1、 概要2、概要3の抽象ではないですし、詳細は詳細1、詳細2、詳細3… の抽象ではないですよね。 抽象概念があれば、それぞれの専門家を配置することができます。 わかりやすい画面を設計する専門家、 高速にデータベースやネットワークにアクセスする方法を知っている専門家、 あるプラットフォームやプログラミング言語に精通していてプログラムを 作るのが速い専門家、 業界をよく知りニーズを聞き出すのがうまい専門家、 テスト スクリプトが書けて、重要なテストケースを知っている専門家、 といった具合に強みを持った専門家を配置することができます。 概要、詳細には専門家を配置できません。 つまり、抽象概念は、全体から詳細までそれぞれの部品、たとえば、 ・画面 ・データベース ・ネットワーク ・プラットフォーム ・プログラミング言語 などと、以下の工程に割り当てることができます。 1. 要求定義(テストとレビュー) 2. システム開発(内部設計)とテスト(外部設計)(とレビュー) 3. 必要なら、詳細テスト(とレビュー) 4. 現地テストと保守(とレビュー) この工程の順番にすべきというわけではなく、この順番に作業が始まる傾向が あるだけです。 ハードウェアの量産品開発と違って、毎回内容が異なるからです。 並列に行われることもあります。 順不同なので、4の後に1に後戻りする こともあります。 この工程ごとに別の専門家を割り当てることを、 工程別分業開発と名付けましょう。 一般にウォーターフォール・モデルと いえば、概要、詳細、外部と内部が別の工程になってしまっていますし、 工程別に人を割り当てるとも明言していないので、別の名前にしておきました。 ウォーターフォール・モデルは、なぜ要求仕様書、機能仕様書、詳細仕様書 という工程に分けたのでしょうか。 ウォーターフォールは、W. W.ロイスによって 1970年に発表された論文がベースになっていると言われていますが、その 内容は、「大規模ソフトウェア開発には、製品製造過程のようにいくつかの 工程に分けたトップダウンアプローチが必要」といったものです[*1]。 当時のソフトウェア開発は、ハードウェア開発から見れば小さなものだった ので、一人で最初から最後まで開発していました。 引き継ぐためのドキュメント も必要ありませんでした。 次第にソフトウェア開発の規模が大きくなって きたので、何かで分業するべきという論文が出るのは必然だったでしょう。 1970年代のソフトウェアは、フローチャートから作った goto 文だらけで、 モジュールの中にモジュールがあるといった階層構造を持つことはもちろん、 モジュールに分けることさえできませんでした。 構造化プログラミングは 産業界では不評でした[*2]。 オブジェクト指向言語も実験レベルでした。 ですから、ソフトウェアの構成部品で分割統治するという手段は現実的では ありません。 そこで、分業するとしたら工程しかないと発想したのでしょう。 工程別分業開発は、現在では、部品だけでなく工程も分業するという方法論 になります。 すべての工程の技術を学ばなくても済むようにする効率化で あり、専門家が担当することで品質を上げる方法です。上記の 1〜4 の工程 は、現代的にアレンジした工程の分けかたで、比較的よく担当者が分かれる ため、無理のない分けかただと思います。 全部やる人ももちろんいます。 [*1] ウォーターフォール・モデル - Wikipedia [*2] 構造化プログラミング - Wikipedia 注目ニュース 一覧 ◇ ツルツルした物体を作れる3Dプリンタ用樹脂 PolySmooth と加工機 Polysher。 http://japan.cnet.com/news/service/35082684/ … これは画期的。 アナログならではの解決策。 ◇ 新世代ブラウザ戦争 Edge 登場も Chrome はシェア1位へ。 http://www.itmedia.co.jp/pcuser/articles/1605/20/news050.html … IEは無くなると宣言したのに、Edge で重要な機能が使えないから、Chrome へ流れた。 ◇ グーグル、Chrome で Flash を無効化へ。10サイトのみ当面除外。 http://japan.cnet.com/news/service/35082690/ … 1年後には、YouTube が HTML 5 になると宣言したとみてよいのか。 ◇ グーグル、機械学習向け独自チップ TPU の成果説明。ムーアの法則3世代相当の技術革新。 http://japan.cnet.com/news/service/35082925/ http://it.srad.jp/story/16/05/20/0420225/ … 16ビット浮動小数という普通のCPUより計算精度が低い分、速く、電力効率も良い。 ◇ スマホの最大の脆弱性は、指紋認証にあるという指摘。 http://gigazine.net/news/20160506-fake-fingerprint-break-phone/ … 強度を気にする人は、指紋認証機能を切っておくこと。 ◇ イタリア防衛省はオフィススイートをMicrosoft Officeから無料のLibreOfficeに移行して約36億円の節約に成功。 http://gigazine.net/news/20160513-italian-military-save29-million-euro-libreoffice/ … OpenOffice.org の主要メンバーがいる The Document Foundation が開発。 ◇ Raspberry Pi用の真空管アンプ 503HTA。Kickstarterで4倍超の人気。 http://japan.cnet.com/news/service/35082568/ …自慢したい人向けか。 ソフトウェアデザイン館 Sage Plaisir 21 ホームページ >>> http://www.sage-p.com/ メルマガ >>> http://www.mag2.com/m/0000083983.html ブログ >>> http://blog.livedoor.jp/sage_p/ ツイッター >>> http://twitter.com/Ts_Neko ダウンロード >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災 >>> http://www.sage-p.com/saigai.html メール >>> ts-neko◇sage-p.com ←◇を@に変えてください 緊急メールは件名に「うどんメール」を付けてください。 このメルマガの登録・解除 - http://www.mag2.com/m/0000083983.htm