Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7269

「現代ソフトウェアエンジニアリングの俯瞰図」の第一回に行ってきた!報告

$
0
0
慶應義塾大学 システムデザイン・マネジメント研究科(SDM)の公開講座「現代ソフトウェアエンジニアリングの俯瞰図」の第一回に行ってきた!報告

内容は、こんなかんじ。



■慶應義塾大学 システムデザイン・マネジメント研究科(大学院)の紹介
 2008年新設
 20代〜60代、過半数は社会人学生
 システムズエンジニアリング講座 JAXA向け
 デザイン指向(チームによるイノベーション)講座



■第一回「高品質のソフトウェアを効率的に開発するための
   ソフトウエアエンジニアリング」 松田所長

・1946年 ENIAC 最初の大型汎用デジタルコンピューター
 1960年後半〜70年代 商用コンピューターIBM 360シリーズ
   →ソフトウェア危機:全人口がプログラマにならないと・・・
   →68年 国際会議で、はじめてソフトウェアエンジニアリングという言葉
 1970年代 IBM370
 1971年 電電公社 DIPS−1

 現在:ソフトウェアの問題は、解決したのか?


(1)ソフトウェア開発プロジェクトの現状
  ・自分で使うオフとウェアの開発
  ・他人に使ってもらうソフトウェアの開発
     自分の趣味の延長にあるのではないかという誤解
     →ぜんぜん違うもの
     こちらの問題を扱う

・ソフトウェアの規模は、どうはかる?
  ・ソースプログラムの行数(SLOC)
    B5に1枚30行印刷すると10万行は3400ページ
    広辞苑の机上版にの1冊分3460ページ
    →Windows3.1 300万行
     Windows2000 6000万行
     第3次オン 数百万行
     自動車組み込み レクサスLS460 700万行
             ナビを入れると1700万行
       ECUが70から100個/台、1ECU:10万行。
     ケータイ 500万行
       →スマホだとダウンロードできるので、もっと多い

・ソフトウェア開発プロジェクトのデータ収集・分析
  「ソフトウェア開発データ白書」:現在、23社 2584プロジェクト
   ソースの行数:10万行以下が6割強、ただし、尾が長い
   期間:1年以内が8割、中央値7ヶ月
   工数:だいたい150人月までが8割強、真ん中36人月
  全体の規模と、開発している規模はちょっと違うけど・・・

(2)ソフトウェア開発プロジェクトの成功とは?
   QCDというパラメータとS
    Q:品質
    C:コスト
    D:納期
    S:スコープ(ソフトウェアの実現範囲)

・ソフトウェアは成功したか?
  QCDのすべてが成功 60%
  QCDの成功が2つ 25%
 →60%位が成功 :会場では、60%以下の人が多数。
 →優良プロジェクトで、データを取っているもののうち、60%ということで、
  悪いプロジェクトもあわせれば、もっと数字が悪くなるはず・・・

・日経コンピューター
  成功30%というのが、平均的らしい。
  管理指標を導入している:成功40数%
       導入していない:24%
 80項目のデータをIPAはとっている:きちんと管理しているプロジェクト
 →残念ながら、QCDがほぼ計画通り言ったものは、30%というのが、世の中

・ソフトウェアエンジニアリング
   技術面+管理面

・ソフトウェアエンジニアリングの難しさ−1
  自然現象、物理現象:一定の原理、法則に支配
  ソフトウェア:人間の知的活動によって作られた人工物
         普遍的な原理原則に基づくものではない

 ソフトウェア工学
  現実の開発事例をできるだけ多数集めて、良い結果が
  生まれたモノを類型化して、広く使える方法として一般化

 ソフトウェア・エンジニアリング・センター:2004年設立
   現場の事例の一般化

・ソフトウェアエンジニアリングの難しさ−2
 ソフトウェアは見えない
   →はだかの王様
 ソフトウェアも・・・
   みんな残業して、一生懸命
   期限の前に、いや、遅れています・・・
 Tomデマルコ 「測定できないものは制御できない」
  (ソフトウェア開発プロジェクト技法)
  →定量的プロジェクト管理(8,11,12回で)

・QCDは計画通りだったか
  それぞれについて
   →計画の+−10%くらい:C86%、Q78%、D84%
     →品質は犠牲?
    CとDは1400答えている、Qは1000
     →品質は測ってない?

(3)ソフトウェア開発のC(コスト)とD(納期)

  ・開発規模:プログラム行数などの推定
    ↓・開発大勝があいまいな状況の見積もり
     ・仕様が決まらない、途中で変わる

   工数:人月などの推定
    ↓・規模からの工数推定の確かさ?
     ・同規模でもしゅしゅの要因で変動

   コスト・納期

・推定が、どの程度正確か?
 <<規模について>>
  割合乗っかってる。
  計画した規模より大きくなるものも
   少なかったケースは少ない
  →規模は、大体推定できる

 <<工数について>>
  規模は見積もれたけど、工数は外れたというケース

・工数見積もり方法
  経験ベース型 デルファイ法など
  データ駆動型 Cocomo,ANOVA
  混合型 CoBRA法(経験と勘とデータでKKD 10回)

・生産性
  言語による生産性:開きがある
   1人が1時間で5〜6行
   1人月160人時
   1人月60万〜120万
     →1時間当たり6000円、1行1000円
     →10万行で1億円


(4)ソフトウェア開発のQ
・ソフトウェア品質
  機能性、信頼性、使用姓、効率性・・・
    →信頼性をとりあげる
  3.11直後のみずほトラブル
  どれくらいの頻度で起きている?
    報道ベースで、大体月に1件とか2件
    SECジャーナル「情報システムの障害状況 2010年データ」

・組み込みソフトの不具合事例
  エアバスA320の墜落
  Therac-25:放射線を過剰に被爆
  発熱→実はソフトの不具合

・電子カルテシステムに不具合
  :日経コンピューター/動かないコンピュータ
  →組み込みでなくても・・

・ソフト事故
 ・ソフト事故の影響範囲の拡大
 ・ソフト事故の損失の甚大か
 ・ソフト事故の質的な変化

・新規発生不具合
  ・キロ当たり0.02件、0,03件
  ・クスマノも0.02件
 →各国に比べ、1桁、2桁いい
   それでも、事故が起こっている

・正しいソフトウェアを正しく作る
  ・仕様どおりソフトウェアを正しく作る
     →かなり正確に
  ・用途に適合した正しいソフトウェアを作る
     →相変わらず残っている・・

・Financial Electronic Data Interchange softwear
 要件定義のバグが30%
  どういうものを、どういう条件で
   機能要求    非機能要求
  →セットで!
   非機能要件の例:第6回

・開発の失敗(第5回)
 2012年2月2日 日経コンピューター:特許庁
 2012/3/31 日経産業長官
   日本IBM

・上流工程の品質向上策
  要件定義
  形式的仕様記述(第14回)
   形式手法の利用レベル
    レベル0:形式的仕様記述
       1:形式的開発及び検証
       2:形式的証明

   自動改札機運賃計算仕様書
    →形式的仕様記述(VDM++)
   外部設計書の検証
 
(5)変化へ対応できるソフトウェア開発
(6)むすびは省略



■質問&コメント
・開発の仕方が変わっていくよね。
 環境の違いの中で、ある部分では継続、ある部分は環境適応、その辺の取り組みは?

(4)までは、スコープ固定、
最近は、環境によっても、変動していくよね。
そのなかでの対応をちょっとしたかった。
どういう対応はなかなかむずかしい、
今まであるもの、かえていかないものは、どこにあるかをみながら、
しゅうせいしないといけないよね
問題意識は持っている。

最後のほうで話す。アジャイル(17回)

・形式仕様のよさは、なかなか見えないよね。
 それを改善するにはSECは何してる?

 できるだけ、成功事例を積み上げ、普及すれば・・
 これをやれば大丈夫と言うわけではない。
 いろんな現場から拾い上げ、

・ソフトウェアエンジニアリングから
 システムエンジニアリングへ

 上流、超上流、超超上流と少しづつシフトへ・・

Viewing all articles
Browse latest Browse all 7269

Trending Articles