ICSM (International Conference on Software Maintenance) 2001の要約(抜粋)

 

(1)  Dave Parnas, McMaster University, Canada

 "Design for Maintenance and Maintaining Design"

 

     保守を容易化する設計技法:(35年前の技術だが,,)

-        Information hiding

-        抽象化

-        実装の分離(?)

-        Data hiding

-        オブジェクト指向

     代替案としては,ドキュメントが重要.その記述には数学的な記述を導入すべき.

特に,簡潔で,正確で,形式的な特徴が重要.

(例)表形式の記述(キューの記述例)

     正確さを伴わないUMLは,解ではなく,問題になる.

     数学的な基礎を持つ伝統的な工学と同様に数式を導入すべき.

Equation > axiom

 

/* スピーカのDave Parnasは,30年前のInformation hidingの提唱者 */

/* 基本的な解決手法が30年以上不変の理由は,手続き型パラダイムのせいでは*/

/* やはり行き詰まると,形式性が神頼み */


(2)Dieter Rombach, Fraunhofer Institut IESE, Germany
      “Old Sins and New Challenges”

 

     下記の鉄則に違反したソフトウェア開発をしている.

-          構造化

(例){要求項目群*コンポーネント群}の行列における対角化

   (強いモジュール強度と弱いモジュール間結合度)

-          ドキュメント化(追跡容易性の確保)

-          バグの早期検出

     新しい挑戦:

-          下請け契約における不明確な仕様や未熟な開発プロセスの解消.

-          オープンプラットフォームでのソフトウェア開発

-          eXtreme Programming の適用

利点:早期開発;保証済みのソフトウェア技術;厳格な開発プロセスの回避;

欠点:ハッキング的な誤使用;同じ結果を生むような繰り返しが困難;

注意:ドメイン(対象)を慎重に選択;プロセス志向ではなく,プロダクト志向;

-          プロダクトライン

利点:pro-activeな再利用

欠点:ドメイン分析の十分な時間の確保が困難

保守=プロダクトライン&ドメイン知識

     設計と統合された保守が重要.

      

/* ドイツのソフトウェア産業の現状も日本と変わらない */

/* 基本的なことが実施されていない! */


(3)Ivar Jacobson, Rational, USA

"Four Macro Trends in Software Development"

 

     1は,コンポーネント再利用

一種のメガプログラミング.標準化,ツール,再利用可能なフレームワークが必要

     2は,初期段階から品質確保

すべての作業は検証を含むべき.

     3は,ソフトウェアプラットフォームの透過性

Intelligent Agentの導入:開発者への知識供給とソフトウェアの自動生成

     4は,UML

複雑さのブラックホール,2つの言語(たとえば,UML&Java)問題の解消.

UMLを形式的言語&実行可能とする.

     モデリング言語としてUML,開発プロセスとしてRUPがある.

次に重要なのは,最上の上流工程へのシフト.

・これからは,人間中心のコンピューティングが重要.

 

/* 2つの言語問題の解決法は,M-mase1994年から主張している! */

/*  → ドメインモデル=計算モデル(分析=設計=プログラミング */

/* 「人間中心のコンピューティング」とは,CS-lifeのころ? */

/*   → あるいは,エンドユーザ主導のこと? */

 

以上