Upload
myra-boone
View
31
Download
0
Embed Size (px)
DESCRIPTION
オープンなソフトウェアと オープンなプロセス. 山田 正樹 [email protected] ( 有 ) メタボリックス /IIOSS コンソーシアム. 自己紹介. メタボリックス オブジェクト・テクノロジ ソフトウェア・プロセス IIOSS コンソーシアム オープンなプロセスをサポートする、 オープン・ソースのツールを提供する団体 UML ツール Java 開発支援ツール. ソフトウェア開発の潮流. スコープ プロダクト中心から プロセス中心へ アクティビティ プログラミング中心から モデリング中心へ. ソフトウェア・プロセス. - PowerPoint PPT Presentation
Citation preview
自己紹介
• メタボリックス– オブジェクト テクノロジ・– ソフトウェア プロセス・
• IIOSS コンソーシアム– オープンなプロセスをサポートする、– オープン・ソースのツールを提供する団体
• UML ツール• Java 開発支援ツール
ソフトウェア開発の潮流
• スコープ– プロダクト中心から– プロセス中心へ
• アクティビティ– プログラミング中心から– モデリング中心へ
ソフトウェア プロセス・• プロダクトをいかに うまく よく 作る
か– 高い品質– 短いスケジュール– 良質で柔軟なアーキテクチャ– 高い顧客満足度– ハッピーな開発者
オブジェクト モデリング・• 上流工程から下流工程までを• 一貫した手法と考え方で• できるだけシームレスに行なう
– 開発フェーズ間のギャップを埋める– 現実とのギャップを埋める– ハードウェアとのギャップを埋める
モデリングを支えるテクノロジ
• UML (Unified Modeling Language)– オブジェクト・モデリングの標準言語– おもにダイアグラムを規定– 今後は
• 仕様記述 / シミュレーション• ドメイン・モデルの構築
• co-design– ソフトウェア + ハードウェア
オープン ソース・ソフトウェ・ア
• 開発者にとって ( かつての UNIX/GNU)
– 自分たちの生活環境を自分に適合させることができる
– 道具を自分で簡単に作ることができる– コミュニティで優秀な道具を共有できる– 暗黙に標準的なプロセスを提供する
オープン ソース ソフトウェ・ ・ア
• 社会にとって– ソフトウェアは社会基盤になりつつある– 社会基盤である以上、過度に独占的 / 不可
視的なものは受け入れ難い– ソフトウェアは特に目に見えにくい
• 例えばウィルス
– テクノロジへの市民の参加
オープンなソフトウェア開発の条件
• 開発者は地球規模で分散している• 開発者は多様 ( 専門性、レベル、動機 )
• 顧客やユーザが積極的に参加• 高いコストを掛けることはできない• 必ずしも明確な要求定義はない
オープンなソフトウェアを支えるプロセス
• 誰でもアクセスできる– 安価 ( 無料 )– 広くサポートされている– 導入のオーバヘッドや敷居が低い– 標準化されている
• 簡単に拡張できる– 多様なプロジェクトに適応
普通のソフトウェア開発の実状
• 開発者は外注さんが多い• 開発者のスキル・レベルはばらばら• ユーザ中心でないとやっていけない• 余計なコストは掛けられない• 要件が曖昧で、しょっちゅう変わる• => 実はオープン・ソース開発と一緒 ?
導入したくてもできないプロセス
• コストがかかる ( 値段 /時間 )
• ベンダのいいなりになるしかない• 導入に精神的な反発が大きい• 周りでは誰も使っていない• ……
注目すべき三つのプロセス
• Unified Process (UP)*1
• eXtreme Programming (XP)*2
• オープン・ソース・ソフトウェア・エンジニアリング *3
*1 ラショナル統一プロセス入門 , クルーシュテン , 1999, ピアソン *2 eXtreme Programming explained, K. Beck, 2000, AWL*3 オープンソースソフトウェア , 倉骨訳 , 1999, オライリー
Unified Process
• よく知られたモダンな方法論の統合• 繰り返し型• 比較的フォーマル• オブジェクト指向• ツール重視• 上流重視
eXtreme Programming
• オブジェクト指向コミュニティで育てられたノウハウの蓄積
• コミュニケーション重視• オブジェクト指向のよさを最大限生か
す• 小~中規模プロジェクト向き• よりインフォーマル
XP のプラクティス
• 計画ゲーム• 小さなリリース• メタファ• 単純さ最優先• テストが最初• リファクタリング
• ペア・プログラミング
• みんなで共有• いつも統合• 週 40時間作業• 顧客同室• コーディング基準
オープン ソース ソフトウェア・ ・ ・エンジニアリング
• 多数の,多様な,分散した開発者• 低コスト• 徹底的なレビュー• 現在はコーディング中心
– これからは ?
OSSE の主なツール
• Email• CVS( 分散構成管理 )• Web
– http://www.sourceforge.org/
• バグ・トラッキング• Chat• “ 熱意のある開発者”
現状の OOSE の問題点
• コミュニケーション => ○• 知識管理 => ○
• 計画と見積もり => ???• 分析 /設計 => ×
• モデリング => ו アーキテクチャ => ……
現状の OOSE の問題点
• プログラミング => ○– オブジェクト的なテクノロジは ?
• テスト / レビュー => ○– 数千個の眼で
• ドキュメント => △– 必要なものは誰かが作る– ソース・コードがドキュメント
問題の原因
• スキルが一般的なものでない– UML 、マネージメント …
• ツールが高価、使いにくい• “ものが動く”喜びに直結しない• これらは一般的なプロジェクトにも共
通する
解決
• オープンなプロセス– 標準– メンタリング、トレーニング、コンサルティン
グ– リソース
• オープンなツール– コスト => 無償– 適応性 / 拡張性 => オープン ソース・
• “動く”モデル
IIOSS プロジェクト
IIOSS プロジェクトのご紹介
• IntegratedInter-exchangeableObject-modeling andSimulationSystem
• オブジェクト指向プロセス全体を統一的にサポートするツール (群 )
IIOSS プロジェクトの特徴
• オープン ソース・• UML
• XMI / XML
• Java
• 複数のソフトウェア ハウス・ /大学メンバの協同作業
IIOSS プロジェクトのミッション
• オープンなツール• オープンなプロセスをサポート• フリー ( 無料 / 自由 )
• 必要ならばコンサルティング / メンタリング / トレーニングを提供
IIOSS概要とデモンストレーション
Model Editing Facility
Model Debugging Facility
File Conversion Facility
Interface Building Facility
Database Facility
Integrated Development Environment
.......
IIOSS
IIOSS の提供するプロセスとワークフロー
• 要求 - UMLエディタ ( ユースケース図など )
• 設計 - UMLエディタ ( クラス図など )• 設計の検証 - モデル デバッガ・• プロトタイピング - インタフェイス ビルダ・• 設計から実装へ - モデル トランスレータ・• 実装 - インタフェイス ビルダ・• 設計と実装の統合 - モデル デバッガ・
プロセスとワークフロー
Model Editing Facility
• UML グラフィカル モデル エディタ・ ・• UML1.1/XMI 準拠• based on Argo/UML (tigris プロジェクト )
• 運用図を除くすべてのダイアグラム• 静的な無矛盾性チェック• モデル要素間のハイパーリンク• ダイアグラムのグループ化• UML1.3対応 (予定 )
• SVG対応 (予定 )
Model Editing Facility
Model Debugging Facility
• UML モデル デバッガ・ / シミュレータ• 振る舞い図のシミュレート• モデル オブジェクトと実オブジェク・
ト間のメッセージ交換• リアルタイム /組み込みシステムへの対応 (予定 )
• OCL(予定 )
Model Debugging Facility
Format Conversion Facility
• Java と UML モデル (XMI) との相互変換• クラス図から Java ソースコード・スケルト
ンを生成• Java ソースコードからクラス図を生成• ラウンドトリップ (予定 )• 他の言語への対応 (予定 )• ドキュメント生成 (予定 )• 振る舞い図からのコード生成 (予定 )
Format Conversion Facility
Interface Building Facility
• インタフェイス ビルダ・• based on Korfe
• ユーザ インタフェイス ・ - Swing
• ネットワーク インタフェイス・– Java RMI
– CORBA IDL
• データベース インタフェイス・– JDBC (RDB)
– ODMG (OODB)
Interface Building Facility
Database Facility
• オブジェクト指向データベース• ODMG3.0 ( 現状では一部 )
• based on sO
• バージョニング• XML ハンドリング• すべての IIOSS ツールにサービス提供• ODMG3.0完全準拠 (予定 )
• セキュリティ (予定 )
• 分散データベース (予定 )
Database Facility
Integrated Development Environment
• すべての IIOSS ツールの統合環境• ファイル管理• プロジェクト管理• ツール呼び出し• ユーティリティ• ヘルプ
Integrated Development Environment
IIOSS の将来
• メタ モデル エディタ・ ・• スクリプティング• CORBA/IIOP によるツールの分散・統
合• ソフトウェア・プロセスのサポート• モデル・コンポーネント• Precise UML• ……
IIOSS の将来
• 最初のパブリック リリース・• その後,定期的にリリース予定• どうぞ使ってみてください• どうぞ参加してください
– 開発・改良・拡張– ユーザとして
オープンなプロセスとしてのIIOSS
• 標準的でオープンなツール– Java, linux, XML, CVS, …
• 分散開発– 沖縄、博多、愛媛、湘南、東京
• 多様なメンバ• 他のプロジェクトの成果を利用
– 連携には難しい点がある• 品質 ー これから
最後に• IIOSS コンソーシアム
– [email protected]– 03-5804-3987
• http://www.iioss.org/• IIOSS プロジェクトは情報処理振興事業協会
(IPA) が推進する「ビジネスオブジェクト関連システム開発事業」の一環として行われております