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-maseで1994年から主張している! */
/* → ドメインモデル=計算モデル(分析=設計=プログラミング */
/* 「人間中心のコンピューティング」とは,CS-lifeのころ? */
/* → あるいは,エンドユーザ主導のこと? */
以上