JP2007226375A - ソフトウェアコンポーネント再利用方法及びそのシステム - Google Patents
ソフトウェアコンポーネント再利用方法及びそのシステム Download PDFInfo
- Publication number
- JP2007226375A JP2007226375A JP2006044889A JP2006044889A JP2007226375A JP 2007226375 A JP2007226375 A JP 2007226375A JP 2006044889 A JP2006044889 A JP 2006044889A JP 2006044889 A JP2006044889 A JP 2006044889A JP 2007226375 A JP2007226375 A JP 2007226375A
- Authority
- JP
- Japan
- Prior art keywords
- concept
- classification
- input
- information
- software component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用方法及びそのシステムを提供する。
【解決手段】振舞概念、入力概念、出力概念という概念を定義し、分析工程において、登録対象のコンポーネントから概念インスタンスを抽出し、コンポーネントをオントロジーリポジトリ53に登録する。さらに、抽出した概念インスタンスが保有する属性と、分類の根拠を示す分類子を付属させた階層構造において対応する末端の分類概念を決定し、概念インスタンスと末端分類概念の関連情報をXMLデータとしてオントロジーリポジトリ53に保存して登録する。また、分析工程に行う検索時は、要求するコンポーネントの概念インスタンスの属性に基づいて階層構造で全ての概念インスタンスの属性から対応する概念インスタンスを取得し、得られた概念インスタンスの集合を持つコンポーネントをオントロジーリポジトリ53から取得して提示する。
【選択図】図7
【解決手段】振舞概念、入力概念、出力概念という概念を定義し、分析工程において、登録対象のコンポーネントから概念インスタンスを抽出し、コンポーネントをオントロジーリポジトリ53に登録する。さらに、抽出した概念インスタンスが保有する属性と、分類の根拠を示す分類子を付属させた階層構造において対応する末端の分類概念を決定し、概念インスタンスと末端分類概念の関連情報をXMLデータとしてオントロジーリポジトリ53に保存して登録する。また、分析工程に行う検索時は、要求するコンポーネントの概念インスタンスの属性に基づいて階層構造で全ての概念インスタンスの属性から対応する概念インスタンスを取得し、得られた概念インスタンスの集合を持つコンポーネントをオントロジーリポジトリ53から取得して提示する。
【選択図】図7
Description
本発明は、ソフトウェア開発において作成したソフトウェアコンポーネントを、記憶装置等に登録し、検索を行って、ソフトウェアコンポーネントを再利用する方法及びそのシステムに関する。
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。
再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。このため、ソフトウェアコンポーネント作成者が作成したソフトウェアコンポーネントを記憶装置に登録し、ソフトウェア開発者が記憶装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
このようなソフトウェアコンポーネントの登録及び検索の方法に関しては様々な研究がなされている。例えば、非特許文献1(門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告 ソフトウェア工学、No.136−19、2002、141〜146頁)には、ソフトウェアコンポーネントの登録・検索方法についての検討が開示されており、登録時には、ソフトウェアコンポーネントの分野、機能をキーワード(キーワードは予め決められた語彙から選択する)として、木構造で分類保存することによりソフトウェアコンポーネントを登録し、検索時には、検索したいソフトウェアコンポーネントの分野、機能を決定し、それらをキーワードとして木構造から検索する。
また、非特許文献2(榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No.38、2003、70〜79頁)には、ソフトウェアコンポーネントだけでなく、ソフトウェア開発に関わる仕様書等のドキュメントを再利用するための標準規格RAS(Reusable Asset Speficications)についての説明、及びAsset(ソフトウェアコンポーネント、仕様書等)を第三者間との流通を円滑に行うための、Assetのカタログ情報の規格化について記載されている。
また、非特許文献3(“コンポーネント仕様/品質公開情報規約 第2版”、[online]、2002年2月4日、EJBコンポーネントに関するコンソーシアム、[平成17年2月21日検索]、インターネット<URL:http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF>)には、EJBコンポーネント(Java(登録商標)コンポーネントの一種)を第三者間との流通を円滑に行うための、EJBコンポーネントのカタログ情報の規格化について開示されている。
さらに、この種の登録・検索方法に関する文献としては、特開平07−085102号公報「文書検索方法」(特許文献1)、特公平07−027532号公報「情報検索方法及びシステム」(特許文献2)、特開平10−334111号公報「データ登録方法」(特許文献3)、特開2004−213360号公報「データ検索システム及びデータ検索装置」(特許文献4)が知られている。
また、非特許文献5(Fondatao Inc., “コンポーネントモデリングガイド”、ピアソンエデュケーション、pp.39−84、2001.)には、ソフトウェア開発工程における分析工程に着目し、ソフトウェアコンポーネントの対象範囲を決定する方法が記載されている。
門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告 ソフトウェア工学、No.136−19、2002、141〜146頁 榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No.38、2003、70〜79頁 "コンポーネント仕様/品質公開情報規約 第2版"、[online]、2002年2月4日、EJBコンポーネントに関するコンソーシアム、[平成17年2月21日検索]、インターネット<URL:http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF> 「Fondatao Inc., "コンポーネントモデリングガイド"、ピアソンエデュケーション、pp.39−84、2001.」 特開平07−085102号公報「文書検索方法」
特公平07−027532号公報「情報検索方法及びシステム」
特開平10−334111号公報「データ登録方法」
特開2004−213360号公報「データ検索システム及びデータ検索装置」
門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告 ソフトウェア工学、No.136−19、2002、141〜146頁 榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No.38、2003、70〜79頁 "コンポーネント仕様/品質公開情報規約 第2版"、[online]、2002年2月4日、EJBコンポーネントに関するコンソーシアム、[平成17年2月21日検索]、インターネット<URL:http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF> 「Fondatao Inc., "コンポーネントモデリングガイド"、ピアソンエデュケーション、pp.39−84、2001.」
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。ソフトウェアコンポーネント作成者が記憶装置に作成したソフトウェアコンポーネントを登録し、ソフトウェア開発者が記録装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
ソフトウェアコンポーネント作成者が登録を行うとき、ソフトウェアコンポーネント作成者がある観点で分類化した階層構造をつくり、そこにソフトウェアコンポーネントを当てはめることとなる。しかし、ソフトウェアコンポーネント作成者が登録するための階層構造を作り出すには、そのソフトウェアコンポーネントで実現される機能の背景にある知識を有する必要があり、知識を有しない者には、容易には行えない。
また、仮にソフトウェアコンポーネント作成者がある階層構造をつくり、別のソフトウェアコンポーネント作成者が登録を行う場合、そのソフトウェアコンポーネント作成者は、階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造のどこに登録すべきかわからず、全ての階層を調べ、ソフトウェアコンポーネントがどの階層に存在するか判断する必要があり、登録が容易に実行できない。
さらに、同様にソフトウェア開発者は、その階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造にあるソフトウェアコンポーネント全てを調べ、目的とするソフトウェアコンポーネントが存在するか判断する必要があり、検索が容易に実行できない。
さらにまた、ソフトウェアコンポーネント作成者とソフトウェア開発者が同じ者であっても、登録時の階層構造をつくりだした基となる観点を時間の経過により忘れてしまい、検索が容易に行えなくなる。
これらの理由により、ソフトウェアコンポーネントの再利用が実現できておらず、既存ソフトウェアコンポーネントを利用できるにも関わらず、新規にソフトウェアを開発することになってしまい、ソフトウェア開発効率低下の一要因となっている。
本発明は上記の問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用方法及びそのシステムを提供することである。
本発明は上記の目的を達成するために、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネント再利用方法であって、前記コンピュータ装置は、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築した後、分析工程時において、それら概念体系の構築及びソフトウェアコンポーネントの登録・検索を行い、前記ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、前記ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示するソフトウェアコンポーネント再利用方法を提案する。
本発明のソフトウェアコンポーネント再利用方法によれば、分析工程時に、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとが組合わされて入力概念体系が構築され、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とが組合わされて振舞概念体系が構築されると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とが組合わされて出力概念体系が構築されて、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系が構築される。
さらに、分析工程におけるソフトウェアコンポーネント登録時には、コンピュータ装置によって、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念が決定され、該決定された末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントが記憶装置に格納されて登録される。
これにより、記憶装置には、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される。
また、分析工程におけるソフトウェアコンポーネント検索時に、コンピュータ装置によって、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念が、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索されて、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントが記憶装置から取得され、これが提示される。
また、本発明は上記方法を実現するためのシステムとして、ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント再利用システムであって、情報入力手段と、情報提示手段と、前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶手段と、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段と、分析工程におけるソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、分析工程におけるソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えているソフトウェアコンポーネント再利用システムを提案する。
本発明のソフトウェアコンポーネント再利用方法及びそのシステムによれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。さらに、ソフトウェアコンポーネントの登録・検索を行うための概念体系を構築する時点、及びソフトウェアコンポーネントの登録・検索を行う時点が明確化され、ソフトウェア開発者による積極的なソフトウェアコンポーネントの登録・検索作業が行われ、その結果としてソフトウェア開発の効率が高まる。
本発明は、ソフトウェアコンポーネント登録時に用いられる観点を、ソフトウェアコンポーネントの概念(振舞、入力、出力)を階層構造に従った概念体系によって表現し、この概念体系を用いて登録・検索を行うと共に、その概念体系を、予め構築しておいた概念体系の一部と、ソフトウェア開発において作成される分析モデルとを用いて構築する方法を前提とした、ソフトウェアコンポーネント再利用方法及びそのシステムに関する発明であり、以下に図面を参照して本発明の一実施形態を説明する。
本実施形態では、ソフトウェアコンポーネント登録時に用いられる観点としてソフトウェアコンポーネントの概念を用いる。ソフトウェアコンポーネントの概念としては、例えばその振舞に関する概念(振舞概念インスタンス)、入力に関する概念(入力概念インスタンス)、及び出力に関する概念(出力概念インスタンス)の3つの概念を用い、これらを統一的な概念体系を用いて表現し、この概念体系を用いてソフトウェアコンポーネントの登録と検索を行い、これによりソフトウェアコンポーネントの再利用を容易に行えるようにしている。
一般的なソフトウェア開発システムに照らし合わせると、システムで実現すべき機能を導き出す作業が最初に行われるのが分析工程である。その作業において必要となる知識を各概念体系によって表現し、各概念体系を開発者が利用することにより、あるコンポーネントの概念ラベルに対して一意に概念インスタンスが取得でき、コンポーネント及び要求機能の一意な変換が可能となり、開発者間の知識差異を吸収することができる。
(1)前提とする概念体系
本発明において構築しようとする概念体系の階層構造を図1に示す。
本発明において構築しようとする概念体系の階層構造を図1に示す。
構築する概念体系の階層構造は、トップ概念11、分岐点12、分類子13、分類概念14から構成される。分類概念14は、ある根拠によって、もとのトップ概念11もしくは他の分類概念14が、分類子13が付随された分岐点12を介して分類された結果の概念であり、元となる概念11と分類概念14が階層構造で表現される。分類子13は分類化の根拠となったものであり、元概念11と分類概念14の階層間の分岐点12に付随させたものである。
また概念体系は、図2に示すようにソフトウェアコンポーネント(以下、単にコンポーネントと称する)25の機能を特徴付ける入力、振舞、出力毎に入力概念体系21、振舞概念体系22、出力概念体系23が構築され、コンポーネント25が保有するパラメータ名である概念ラベル(yi,bj,xk)24ごとに、概念インスタンスへ対応付けられるものである。
ここで、コンポーネントが保有する機能を特徴付ける概念を振舞b、入力x、出力yとし、コンポーネントを{y1,y2,…,yi}=bj({x1,x2,…,xk})で表現している。また、各要素yi,bj,xkを概念ラベルと称する。
(2)前提とする概念体系構築方法
各概念体系の構築方法の概要を図3に示す。
各概念体系の構築方法の概要を図3に示す。
第2記憶装置40には、予め「分析モデル作成の視点」41、「分析モデルとしてのデータ分析モデル図とオブジェクト図」42、「属性操作」43、「属性制約」44が登録されている。
分析モデル作成の視点41とは、ソフトウェアを開発する際に、ソフトウェア開発工程の1つである分析工程において作成される分析モデルをどのような視点で作成したかを体系化した情報である。
分析モデル42とは、ソフトウェア開発工程における分析工程において作成されるドキュメントであり、その中で今回は、データ分析モデルとオブジェクトを対象にして図で表したものである。
データ分析モデル図とは、開発しようとするソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を示したものである。
オブジェクト図は、データ分析モデル図をもとに、そのクラスが保有する属性の実際の値を代入したオブジェクトで、そのオブジェクト間の関係を示したものである。
属性操作43とは、データ分析モデル図、オブジェクト図に記載される属性に対して行われる操作を体系化した情報である。
属性制約44とは、データ分析モデル図、オブジェクト図に記載される属性の値に対して課せられる制約を体系化した情報である。分析モデル作成の視点41、属性操作43、属性制約44は、図1で示した概念階層の構造になっているものである。これら3つの概念階層は、ある特定分野のソフトウェア(例えば、通信装置管理ソフトウェア)においては、共通的に利用可能と考えられるため、予め構築しておくことが可能である。
構築の手順は以下のとおりである。
(a)分析モデル作成の視点41、データ分析モデル図を第2記憶装置40から取得し、分析モデル作成の視点41の概念階層の末端に該当する分析モデルを付随させる。付随させたものを入力概念体系21として、第1記憶装置20に登録する(31)。
(b)属性操作43を第2記憶装置40から、入力概念体系21を第1記憶装置20から取得し、属性操作43の概念階層の末端に入力概念体系21を付随させる。付随させたものを振舞概念体系22として、第1記憶装置20に登録する(32)。
(c)属性制約44を第2記憶装置40から、入力概念体系21を第1記憶装置20から取得し、属性制約44の概念階層の末端に入力概念体系21を付随させる。付随させたものを出力概念体系23として、第1記憶装置20に登録する(33)。
尚、手順(b)と(c)の順序は入れ替わってもよい。
以上より、構築される各概念体系21〜23は、図4、図5、図6に示す構造になる。図4は入力概念体系21を表す図、図5は振舞概念体系を表す図、図6は出力概念体系を表す図である。
また、図4に示す入力概念体系は、上部に分析モデリング時の視点を分類概念として配置し、下部に分析モデルに含まれる語彙を分類概念として配置したものである。
図5に示す振舞概念体系は、上部に分析モデルの語彙に対する操作を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
図6に示す出力概念体系は、上部に分析モデルの語彙に対する制約を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
概念体系の下部は開発するソフトウェアの種別に応じて異なるが、上部は特定のソフトウェアにおいては共通化でき、ソフトウェア開発に先立って予め構築することができる。従って、概念体系上部を予め作っておき、開発するソフトウェアに応じて、CASEツール等から分析モデルの語彙を抽出することにより、概念体系の構築をある程度自動化することができる。
(3)コンポーネント再利用方法
コンポーネント再利用のためのシステム構成を図7に示す。
コンポーネント再利用のためのシステム構成を図7に示す。
図7に示すとおり、コンポーネント再利用のためのシステム50は、周知のCPUを主体として構成されたコンピュータ装置からなり、モデル描画部51、ソースコード作成部52、オントロジーリポジトリ53、コンポーネントリポジトリ54、制御部55、ユーザインタフェース部56の6つのモジュールから構成されている。
モデル描画部51は、ソフトウェアを開発するために必要な分析モデル、設計モデルを描画するために使用するモジュールであり、既存CASEツールを用いても構わない。
ソースコード作成部52は、作成された設計モデルをもとに、Java、C++等の実装言語を用いてソースコードを作成・編集するモジュールであり、既存IDE (Integrated Development Environment)等のツールを用いても構わない。
オントロジーリポジトリ53は、第1記憶装置20及び第2記憶装置40に相当するものを具備し、ソフトウェアコンポーネントを登録・検索するために用いる概念体系等を保存するモジュールであり、XMLデータ等で保持する。
コンポーネントリポジトリ54は、登録されたソフトウェアコンポーネントを保持するモジュールであり、各ソフトウェアコンポーネントにはそれを一意に判別するためのコンポーネントIDが付与されている。また、コンポーネントリポジトリ54は、図8に示す概念インスタンスとコンポーネントIDとの対応表を保持している。
制御部55は、前述した5つのモジュール51〜54,56と接続され、各モジュール間の情報を、または各モジュール間の情報を組み合わせた情報を、受け渡すモジュールである。
ユーザインタフェース部56は、キーボードやマウス等を含む情報入力部(図示せず)及びディスプレイ等の表示器を含む情報提示部(図示せず)を備え、制御部55を介して第1記憶装置20及び第2記憶装置40に接続されて、これらへの情報アクセスが可能になっている。また、ユーザインタフェース部56は、ソフトウェアコンポーネント作成者やソフトウェア開発者等のユーザが入力する登録・検索に必要な情報の受付部であり、また各記憶装置に記億されている階層構造の表示、及び登録・検索結果を表示するものである。
コンポーネント再利用の主な流れを図9に示し、以下に再利用方法について記述する。
I.分析工程:
ソフトウェア要求者によって作成される要求仕様書をもとに、データ分析モデル図、オブジェクト図、アクティビティ図、概念シーケンス図を作成する。これらの図は以下の手順で作成される。
ソフトウェア要求者によって作成される要求仕様書をもとに、データ分析モデル図、オブジェクト図、アクティビティ図、概念シーケンス図を作成する。これらの図は以下の手順で作成される。
(a)データ分析モデル図、オブジェクト図の作成(61)
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。
(b)概念体系の構築(62)
予め作成しておいた、分析モデリング時の視点41に関する概念体系、属性操作43に関する概念体系、属性制約44に関する概念体系と、(a)で作成したデータ分析モデル図、オブジエクト図を組合せて、入力概念体系21、振舞概念体系22、出力概念体系23を制御部55において構築する。
予め作成しておいた、分析モデリング時の視点41に関する概念体系、属性操作43に関する概念体系、属性制約44に関する概念体系と、(a)で作成したデータ分析モデル図、オブジエクト図を組合せて、入力概念体系21、振舞概念体系22、出力概念体系23を制御部55において構築する。
(c)アクティビティ図の作成(63)
要求仕様書に含まれるユースケース記述に記載される処理項目毎に、アクティビティを作成し、ユースケース記述の処理順序に従って並べることにより、アクティビティ図を、モデル描画部51において作成する。アクティビティは、システムの動作条件によって、異なる動作を行う場合があり、条件分岐が発生する。条件によって異なる動作を行うアクティビティをコンポーネント化対象範囲とする。
要求仕様書に含まれるユースケース記述に記載される処理項目毎に、アクティビティを作成し、ユースケース記述の処理順序に従って並べることにより、アクティビティ図を、モデル描画部51において作成する。アクティビティは、システムの動作条件によって、異なる動作を行う場合があり、条件分岐が発生する。条件によって異なる動作を行うアクティビティをコンポーネント化対象範囲とする。
(d)概念シーケンス図の作成(64)
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
概念シーケンス図は、アクタオブジェクト、シナリオ制御オブジェクト、アクティビティオブジェクト、及び各オブジェクト間のメッセージ、アクティビティの処理内容から構成される。メッセージはメッセージ名、及びパラメータ名で構成される。
コンポーネント対象化範囲のアクティビティにおいて、パラメータ名、処理内容の説明は独自に作成するのではなく、入力概念体系21、振舞概念体系22、出力概念体系23で記載されている分類概念を、制御部55を用いて閲覧し選択することによって記載する。
(e)コンポーネントIDの取得(65)
制御部55において、(d)で選択した各概念から概念インスタンスを取得する。取得された概念インスタンスをもとに、制御部55を用いてアクティビティ毎にコンポーネントリポジトリ54の対応表に検索を行い、コンポーネントIDを取得する。このとき既に登録された再利用可能なコンポーネントが存在する場合、そのコンポーネントのIDが返される。再利用可能なコンポーネントが存在しない場合は、対応表にその概念インスタンスが登録され、未使用のIDが返される。これにより、コンポーネントの登録・検索が行われる。
制御部55において、(d)で選択した各概念から概念インスタンスを取得する。取得された概念インスタンスをもとに、制御部55を用いてアクティビティ毎にコンポーネントリポジトリ54の対応表に検索を行い、コンポーネントIDを取得する。このとき既に登録された再利用可能なコンポーネントが存在する場合、そのコンポーネントのIDが返される。再利用可能なコンポーネントが存在しない場合は、対応表にその概念インスタンスが登録され、未使用のIDが返される。これにより、コンポーネントの登録・検索が行われる。
II.設計工程:
(a)設計モデル作成(66)
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティにおいては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティにおいては、設計モデルを作成する必要があり、作成の際にはコンポーネントIDを記載する。このコンポーネントIDは、制御部55を通じてモデル描画部51に提示される。
(a)設計モデル作成(66)
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティにおいては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティにおいては、設計モデルを作成する必要があり、作成の際にはコンポーネントIDを記載する。このコンポーネントIDは、制御部55を通じてモデル描画部51に提示される。
III.実装工程:
(a)ソースコード作成(67)
設計工程において作られたモデルをもとにソースコードを作成する。再利用可能なソフトウェアコンポーネントが存在するアクティビティにおいては、それに対応する各コンポーネントIDにより、コンポーネントの実体であるソースコードを制御部55を通じてコンポーネントリポジトリ54から取得する。再利用可能なソフトウェアコンポーネントが存在しないアクティビティにおいては、設計モデルをもとにソースコードを作成し、そのソースコードをソフトウェアコンポーネントとして、制御部55を通じてコンポーネントIDを付随させてコンポーネントリポジトリ54に登録する。
(a)ソースコード作成(67)
設計工程において作られたモデルをもとにソースコードを作成する。再利用可能なソフトウェアコンポーネントが存在するアクティビティにおいては、それに対応する各コンポーネントIDにより、コンポーネントの実体であるソースコードを制御部55を通じてコンポーネントリポジトリ54から取得する。再利用可能なソフトウェアコンポーネントが存在しないアクティビティにおいては、設計モデルをもとにソースコードを作成し、そのソースコードをソフトウェアコンポーネントとして、制御部55を通じてコンポーネントIDを付随させてコンポーネントリポジトリ54に登録する。
以下、一例として、イーサネット(登録商標)網において、イーサネット網を利用するユーザ毎に、ユーザ識別子としてVLAN-IDを、イーサネット網を構成する各装置に設定するソフトウェアシステムに適用したソフトウェア再利用に関して説明する。
また、例として、要求仕様書の一部として図10に示すユースケース図、及びそのユースケースの1つである“アクセス回線を設定する”に対応するユースケース記述例を図11に示す。
図10に示すユースケース図は、SO業務関係を表し、具体的には「SOオペレータ」というタイプ71と「L2SW(Layer 2 Switch)」というタイプ72との間にSO業務としての3つのアクション、すなわち、「アクセス回線を設定する」というアクション73と、「アクセス回線を変更する」というアクション74と「アクセス回線を削除・検索する」というアクション75が存在することを表している。
さらにまた、分析モデリング時の視点41に関する概念体系の一部として図12、属性操作43に関する概念体系の一部として図13、属性制約44に関する概念体系の一部として図14が予め構築されているものとする。
即ち、図12に示す分析モデリング時の視点41に関する概念体系の一部では、第1階層の入力概念101が「管理情報構成種別」という分類子102によって分類され、分類子102が付随された分岐点103を介して第2階層の「接続情報」という分類概念111と「装置情報」という分類概念121に分岐されている。
また、「接続情報」という分類概念111は「情報種別」という分類子112によって分類され、分類子112が付随された分岐点113を介して第3階層の「物理情報」という分類概念131と「論理情報」という分類概念141に分岐されている。
さらに、「物理情報」という分類概念131は「管理オブジェクト」という分類子132によって分類され、分類子132が付随された分岐点133を介して第4階層の「分析モデル」という分類概念134に至る。この「分析モデル」という分類概念134は末端の分類概念となっている。
また、第3階層の「論理情報」という分類概念141は「管理オブジェクト」という分類子142によって分類され、分類子142が付随された分岐点143を介して第4階層の「分析モデル」という分類概念144に至る。この「分析モデル」という分類概念144は末端の分類概念となっている。
また、第2階層の「装置情報」という分類概念121は「情報種別」という分類子122によって分類され、分類子122が付随された分岐点123を介して第3階層の「物理情報」という分類概念151と「論理情報」という分類概念161に分岐されている。
さらに、「物理情報」という分類概念151は「管理オブジェクト」という分類子152によって分類され、分類子152が付随された分岐点153を介して第4階層の「分析モデル」という分類概念154に至る。この「分析モデル」という分類概念154は末端の分類概念となっている。
また、第3階層の「論理情報」という分類概念161は「管理オブジェクト」という分類子162によって分類され、分類子162が付随された分岐点163を介して第4階層の「分析モデル」という分類概念164に至る。この「分析モデル」という分類概念164は末端の分類概念となっている。
図13に示す属性操作43に関する概念体系の一部では、第1階層の振舞概念201が「払出方法」という分類子202によって分類され、分類子202が付随された分岐点203を介して第2階層の「既設定値」という分類概念211と「既設定値演算」という分類概念221、「既設定値組合せ」という分類概念231、「演算値組合せ」という分類概念241に分岐されている。
第2階層の「既設定値」という分類概念211は「既設定情報種別」という分類子212によって分類され、分類子212が付随された分岐点213を介して第3階層の「DB情報」という分類概念214と「オペレータ入力項目」という分類概念215に分岐されている。さらに「DB情報」という分類概念214は第4階層の「入力概念」216に至り、「オペレータ入力項目」という分類概念215は第4階層の「入力概念」217に至る。
また、第2階層の「既設定値演算」という分類概念221は「演算種別」という分類子222によって分類され、分類子222が付随された分岐点223を介して第3階層の「+1加算」という分類概念224と、「−1減算」という分類概念225と、「10乗算」という分類概念226に分岐されている。さらに、「−1減算」という分類概念225は「既設定情報種別」という分類子227によって分類され、分類子227が付随された分岐点228を介して第4階層の「DB情報」という分類概念241と「オペレータ入力項目」という分類概念242に分岐されている。さらに、さらに「DB情報」という分類概念241は第5階層の「入力概念」243に至り、「オペレータ入力項目」という分類概念242は第5階層の「入力概念」244に至る。
また、第2階層の「既設定値組合せ」という分類概念231は「組合せ項目」という分類子232によって分類され、分類子232が付随された分岐点233を介して第3階層の「2項目」という分類概念234と、「3項目」という分類概念235と、「4項目」という分類概念236に分岐されている。
図14に示す属性制約44に関する概念体系の一部では、第1階層の出力概念301が論理演算「AND」によって2つに分岐され、一方は「出力値」という分類子302によって分類され、分類子302が付随された分岐点303を介して第2階層の「入力概念」304に至る。また、他方は「出力値制約」という分類子305によって分類され、分類子305が付随された分岐点306を介して第2階層の「無」という分類概念311と「有」という分類概念312に分岐されている。
第2階層の「有」という分類概念は「制約種別」という分類子313によって分類され、分類子313が付随された分岐点314を介して第3階層の「制約範囲」という分類概念321と「一意性制約」という分類概念331に分岐されている。
第3階層の「範囲制約」という分類概念321は「制約範囲」という分類子322によって分類され、分類子322が付随された分岐点323を介して第4階層の「使用可能値」という分類概念341と、「使用禁止値」という分類概念342と、「使用可値・禁止値」という分類概念343に分岐されている。
第4階層の「使用可値・禁止値」という分類概念343は「既設定情報種別」という分類子344によって分類され、分類子344が付随された分岐点345を介して第5階層の「DB情報」という分類概念346と「オペレータ入力項目」という分類概念347に分岐されている。さらに、第5階層の「DB情報」という分類概念346は第6階層の「入力概念」348に至り、第5階層の「オペレータ入力項目」という分類概念347は第6階層の「入力概念」349に至る。
また、第3階層の「一意性制約」という分類概念331は「一意情報種別」という分類子332によって分類され、分類子332が付随された分岐点333を介して第4階層の「DB情報」という分類概念334と「オペレータ入力項目」という分類概念335に分岐されている。さらに、第4階層の「DB情報」という分類概念334は第5階層の「入力概念」336に至り、第4階層の「オペレータ入力項目」という分類概念335は第5階層の「入力概念」337に至る。
(1)分析工程
(a)データ分析モデル図、オブジェクト図の作成
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。この一例において作成されたデータ分析モデル図及びオブジェクト図のそれぞれを図15、図16に示す。
(a)データ分析モデル図、オブジェクト図の作成
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。この一例において作成されたデータ分析モデル図及びオブジェクト図のそれぞれを図15、図16に示す。
図15に示すデータ分析モデル図の例では、5つの物理情報に関するクラス80〜84と4つの論理情報に関するクラス85〜88及び1つのサービス情報に関するクラス89の関係が表されている。
また、図16に示すオブジェクト図では、4つの監視対象装置91a〜91dに対する6つのPTP92a〜92fの関係及びこれらのPTP92a〜92fに対する3つのTL93a〜93cの関係が表されている。
(b)概念体系の構築
図12乃至図14の概念体系と、図15のデータ分析モデル図、図16のオブジェクト図を組み合わせて、入力概念体系、振舞概念体系、出力概念体系を制御部55において構築する。構築された一例としての入力概念体系を図17に示す。
図12乃至図14の概念体系と、図15のデータ分析モデル図、図16のオブジェクト図を組み合わせて、入力概念体系、振舞概念体系、出力概念体系を制御部55において構築する。構築された一例としての入力概念体系を図17に示す。
図17に示す入力概念体系では、第1階層の入力概念401が「管理情報構成種別」という分類子402によって分類され、分類子402が付随された分岐点403を介して第2階層の2つの分類概念「接続情報」404と「装置情報」407に分岐されている。
第2階層の「接続情報」という分類概念404は「情報種別」という分類子405によって分類され、分類子405が付随された分岐点406を介して2つの分類概念「物理情報」411と「論理情報」421に分岐されている。
第3階層の「物理情報」という分類概念411は「管理オブジェクト」という分類子412によって分類され、分類子412が付随された分岐点413を介して「Route」という分類概念414と「TL」という分類概念415に分岐されている。
第4階層の「TL」という分類概念415は「保有属性」という分類子416によって第5階層の「ID」という分類子418aと、「ルートID」という分類子418bと、「ispPTPID」という分類子418cと、「userPTPID」という分類子418dに分岐されている。
第3階層の「論理情報」という分類概念421は、「管理オブジェクト」という分類子422によって分類され、分類子422が付随された分岐点423を介して3つの分類概念「Trail」431、「LC」441、「XC」451に分岐されている。
第4階層の「Trail」という分類概念431は、「保有属性」という分類子432によって分類され、分類子432が付随された分岐点433を介して第5階層の2つの分類概念「ID」434aと「ルートID」434bに分岐されている。
第4階層の「LC」という分類概念441は、「保有属性」という分類子442によって分類され、分類子442が付随された分岐点443を介して第5階層の5つの分類概念「ID」444a、「TrailID」444b、「ispCTPID」444c、「userCTPID」444d、「TLID」444eに分岐されている。
第4階層の「XC」という分類概念451は、「保有属性」という分類子452によって分類され、分類子452が付随された分岐点453を介して第5階層の4つの分類概念「ID」454a、「ispCTPID」454b、「userCTPID」454c、「TrailID」454dに分岐されている。
また、第2階層の「装置情報」という分類概念407は、「情報種別」という分類子408によって分類され、分類子408が付随された分岐点409を介して第3階層の2つの分類概念「物理情報」461と「論理情報」491に分岐されている。
第3階層の「物理情報」という分類概念461は、「管理オブジェクト」という分類子462によって分類され、分類子462が付随された分岐点463を介して2つの分類概念「監視装置」471と「PTP」481に分岐されている。
第4階層の「監視装置」という分類概念471は、「保有属性」という分類子472によって分類され、分類子472が付随された分岐点473を介して4つの分類概念「ID」474a、「装置名」474b、「装置種別」474c、「設置場所」474dに分岐されている。さらに、第5階層の「装置種別」という分類概念474cは、「インスタンス」という分類子475によって分類され、分類子475が付随された分岐点476を介して4つの分類概念「ER」477a、「コア中継SW」477b、「アクセスSW」477c、「OLT」477dに分岐されている。
第4階層の「PTP」という分類概念481は、「保有属性」という分類子482によって分類され、分類子482が付随された分岐点483を介して4つの分類概念「ID」484a、「MEID」484b、「ポート方向」484c、「ポート名」484dに分岐されている。さらに、第5階層の「ポート方向」という分類概念484cは「インスタンス」という分類子485によって分類され、分類子485が付随された分岐点486を介して2つの分類概念「NW(Network)上部」487aと「NW下部」487bに分岐されている。
第3階層の「論理情報」という分類概念491は、「管理オブジェクト」という分類子492によって分類され、分類子492が付随された分岐点493を介して第4階層の「CTP」という分類概念494に至る。この「CTP」という分類概念494は、「保有属性」という分類子495によって分類され、分類子495が付随された分岐点496を介して3つの分類概念「VLAN-ID」497a、「ID」497b、「ptpID」497cに分岐されている。
(c)アクティビティ図の作成
モデル描画部51において、図11のユースケース記述をもとにアクティビティ図を作成する。作成されたアクティビティ図を図18に示す。
モデル描画部51において、図11のユースケース記述をもとにアクティビティ図を作成する。作成されたアクティビティ図を図18に示す。
図18に示すアクティビティ図は、「アクセス回線を設定する」というアクションの処理の詳細を示すもので、この処理が開始されると、戻るボタンが押下されたか否かが判定され(501)、押下されたときは処理が終了される。また、戻るボタンが押下されないときは、SOオペレータから、アクセスユーザIDと、ISP側VLAN-ID、OLT/PON-IF/ONU番号を取得し(502)、OLT/PON-IF/ONU番号を基にRoute情報を記憶装置から取得する(503)。
次に、Route情報を基に各L2SWへの設定内容をNWポリシーから取得し(504)、設定内容に基づき各L2SWへの、VLAN-IDとQoSクラスごとの帯域値を算出する(505)。さらに、算出されたVLAN-ID、QoSごとの帯域値を各L2SWに設定し(506)、VLAN-ID、QoSごとの帯域値を記憶装置に設定する(507)。
次いで、設定が完了したことをSOオペレータに通知し(508)、戻るボタンが押下されたか否かを判定する(509)。この判定の結果、戻るボタンが押下されないときは前記502の処理に移行し、戻るボタンが押下されたときは処理を終了する。
図18におけるアクティビティAは、動作条件によって異なる動作を行う場合があるため条件分岐が発生し、更に図19のように詳細化される。
すなわち、図19に示すように、アクティビティAでは、VLAN-IDの設定内容が判定され(521)、この判定の結果、設定内容が「VLAN-ID設定内容1」のときはISP側VLAN-IDをVLAN-IDとし(522)、設定内容が「VLAN-ID設定内容2」のときはOLT-VLAN-IDをVLAN-IDとし(523)、設定内容が「VLAN-ID設定内容3」のときはカード番号・ポート番号をVLAN-IDとする(524)。また、設定内容が「VLAN-ID設定内容4」のときはカード番号・MDA番号・ポート番号に下部SWのVLAN-IDを付け加えたものをVLAN-IDとし(525)、設定内容が「VLAN-ID設定内容5」のときは算出されたコア対向SWの上部VLAN-IDをVLAN-IDとし(526)、設定内容が「VLAN-ID設定内容6」のときは算出されたコア対向SWの下部VLAN-IDをVLAN-IDとし(527)、設定内容が「VLAN-ID設定内容7」のときは算出されたアクセス側中継SWの上部VLAN-IDをVLAN-IDとし(528)、設定内容が「VLAN-ID設定内容8」のときは算出されたアクセスSWの上部VLAN-IDをVLAN-IDとし(529)、設定内容が「VLAN-ID設定内容9」のときは算出されたアクセスSWの下部VLAN-IDをVLAN-IDとする(530)。
この後、QoS設定内容を判定し(531)、この判定の結果、設定内容が「QoS設定内容1」のときはオペレータ設定値をQoSクラスごとの帯域値として(532)アクティビティAを終了する。また、判定の結果設定内容が「QoS設定内容2」のときは帯域値を算出しないで(533)アクティビティAを終了する。
(d)概念シーケンス図の作成
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
図20にコンポーネント対象化範囲のアクティビティに対する概念シーケンス図の一部を示す。これは、図19の左3つのアクティビティに対する概念シーケンス図である。
次に制御部55を通じて、これらのメッセージにおけるパラメータ名及び処理内容を、入力概念体系、振舞概念体系、出力概念体系を用いて説明する。
例えば、アクティビティA−1における入力メッセージは、“VLAN-ID払出(PTP-ID、ISP-VLAN‐ID)”となっているが、入力概念体系に従って、図21に示すように、“PTP‐ID”パラメータは“装置情報/物理情報/PTP/ID”として説明され、“ISP-VLAN-ID”パラメータは、図22に示すように、“装置情報/物理情報/監視装置/装置種別/ERand装置情報/物理情報/PTP/ポート方向/NW下部and装置情報/論理情報/CTP/VLAN-ID”として説明される。
また、アクティビティA−1における処理内容は、“ISP側VLAN-IDを払出す”となっているが、図23,24に示すように、振舞概念体系に従って、“既設定値/オペレータ入力項目/(装置情報/物理情報/監視装置/装置種別/ERand装置情報/物理情報/PTP/ポート方向/NW下部and装置情報/論理情報/CTP/VLAN-ID)”として説明される。
さらにまた、アクティビティA−1における出力メッセージは、“VLAN-ID”パラメータとなっているが、図25,26に示すように、出力概念体系に従って、“装置情報/論理情報/CTP/VLAN-IDand(有/一意性制約/オペレータ入力項目/装置情報/物理情報/PTP/IDand有/一意性制約/DB情報/装置情報/物理情報/監視装置/ID)”として表現される。
(e)コンポーネントIDの取得
制御部55を通じて、(d)において選択した各概念によって概念インスタンスを取得する。
制御部55を通じて、(d)において選択した各概念によって概念インスタンスを取得する。
図20のアクティビティA−1の入力メッセージにおいて、“PTP‐ID”に対して取得される概念インスタンスは“X1”(図27)、“ISP‐VLAN-ID”に対して取得される概念インスタンスは“X2”(図28)となる。
また、アクティビティA−1における処理内容おいて、“ISP側VLAN-IDを払出す”に対して取得される概念インスタンスは“B1”となる(図29,30)。
さらにまた、アクティビティA−1における出力メッセージにおいて、“VLAN-ID”に対して取得される概念インスタンスは“Y1”となる(図31,32)。
同様に図20のアクティビティA−2に対して、概念インスタンスを取得した結果を、“Y2,B2,X3,X4”とする。
次に、取得された概念インスタンスをもとに、制御部55を用いてアクティビティ毎にコンポーネントリポジトリの対応表に検索を行い、コンポーネントIDを取得する。
対応表の例として図8を用いることとする。
アクティビティA−1の概念インスタンス“Y1,B1,X1,X2”に該当するものが、対応表に存在するため、コンポーネントID“10”が返される。また、アクティビティA−2の概念インスタンス“Y2,B2,X3,X4”に該当するものが、対応表に存在しないため、未使用のコンポーネントID“30”が返され、当該概念インスタンスとコンポーネントIDが対応表に登録される。
(2)設計工程
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティA−1においては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティA−2においては、設計モデルを作成する必要があり、作成の際にはコンポーネントID“30”を記載する。コンポーネントIDの受け渡しは、制御部55によって行われる。
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティA−1においては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティA−2においては、設計モデルを作成する必要があり、作成の際にはコンポーネントID“30”を記載する。コンポーネントIDの受け渡しは、制御部55によって行われる。
ソースコード作成部52において、設計工程によって作られたモデルをもとにソースコードを作成する。再利用可能なソフトウェアコンポーネントが存在するアクティビティA−1に対応するコンポーネントID“10”により、コンポーネントの実体であるソースコードを制御部55を通じてコンポーネントリポジトリ54から取得する。再利用可能なソフトウェアコンポーネントが存在しないアクティビティA−2においては、設計モデルをもとにソースコードを作成し、そのソースコードをソフトウェアコンポーネントとして、制御部55を通じてコンポーネントID“30”を付随して、コンポーネントリポジトリ54に登録する。
前述したように上記実施形態では、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。さらに、前述したように分析工程においてソフトウェアコンポーネントの登録・検索を行うための概念体系を構築すると共にソフトウェアコンポーネント登録・検索を行うので、ソフトウェアコンポーネントの登録・検索を行うための概念体系を構築する時点、及びソフトウェアコンポーネント登録・検索を行う時点が明確化され、ソフトウェア開発者による積極的なソフトウェアコンポーネントの登録・検索作業が行われるので、ソフトウェア開発の効率を高めることができる。
11…トップ概念、12…分岐点、13…分類子、14…分類概念、20…第1記憶装置、21…入力概念体系、22…振舞概念体系、23…出力概念体系、24…概念ラベル、25…コンポーネント、40…第2記憶装置、41…分析モデル作成の視点、42…分析モデル、43…属性操作、44…属性制約、50…ソフトウェアコンポーネント再利用システム、51…モデル描画部、52…ソースコード作成部、53…オントロジーリポジトリ、54…コンポーネントリポジトリ、55…制御部、56…ユーザインタフェース部、71,72…タイプ73,74,75…アクション。
Claims (2)
- ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネント再利用方法であって、
前記コンピュータ装置は、
ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、
予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、
予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築した後、
分析工程時において、それら概念体系の構築及びソフトウェアコンポーネントの登録・検索を行い、
前記ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、
前記ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示する
こと特徴とするソフトウェアコンポーネント再利用方法。 - ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント再利用システムであって、
情報入力手段と、
情報提示手段と、
前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶手段と、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段と、
分析工程におけるソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、
分析工程におけるソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えている
ことを特徴とするソフトウェアコンポーネント再利用システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006044889A JP2007226375A (ja) | 2006-02-22 | 2006-02-22 | ソフトウェアコンポーネント再利用方法及びそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006044889A JP2007226375A (ja) | 2006-02-22 | 2006-02-22 | ソフトウェアコンポーネント再利用方法及びそのシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007226375A true JP2007226375A (ja) | 2007-09-06 |
Family
ID=38548163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006044889A Pending JP2007226375A (ja) | 2006-02-22 | 2006-02-22 | ソフトウェアコンポーネント再利用方法及びそのシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007226375A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009104289A (ja) * | 2007-10-22 | 2009-05-14 | Nippon Telegr & Teleph Corp <Ntt> | ソフトウェア成果物作成システム、方法及びそのプログラム |
US8768680B2 (en) | 2010-03-03 | 2014-07-01 | Samsung Electronics Co., Ltd. | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores |
-
2006
- 2006-02-22 JP JP2006044889A patent/JP2007226375A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009104289A (ja) * | 2007-10-22 | 2009-05-14 | Nippon Telegr & Teleph Corp <Ntt> | ソフトウェア成果物作成システム、方法及びそのプログラム |
US8768680B2 (en) | 2010-03-03 | 2014-07-01 | Samsung Electronics Co., Ltd. | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117233B2 (en) | Method and system for message-oriented semantic web service composition based on artificial intelligence planning | |
US8959481B2 (en) | Determining system level dependencies | |
US8490049B2 (en) | Faceted, tag-based approach for the design and composition of components and applications in component-based systems | |
Wu et al. | Automatic composition of semantic web services using process and data mediation | |
US8209407B2 (en) | System and method for web service discovery and access | |
US8244768B2 (en) | Implementing service oriented architecture industry model repository using semantic web technologies | |
US20090210390A1 (en) | Asset adviser intelligence engine for managing reusable software assets | |
US9111004B2 (en) | Temporal scope translation of meta-models using semantic web technologies | |
US8141085B2 (en) | Apparatus and data structure for automatic workflow composition | |
US20110153767A1 (en) | Recognition of and support for multiple versions of an enterprise canonical message model | |
Achilleos et al. | The cloud application modelling and execution language | |
US9800644B2 (en) | Service oriented query and service query language framework | |
US9098583B2 (en) | Semantic analysis driven service creation within a multi-level business process | |
Athanasopoulos et al. | Extracting REST resource models from procedure-oriented service interfaces | |
US10838999B2 (en) | Method and platform for the elevation of source data into interconnected semantic data | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
Orlovskyi et al. | Enterprise architecture modeling support based on data extraction from business process models | |
JP2007226375A (ja) | ソフトウェアコンポーネント再利用方法及びそのシステム | |
Ambrósio et al. | An approach to support data integration in a scientific software ecosystem platform | |
Eslamichalandar et al. | Service composition adaptation: An overview | |
CN115221337A (zh) | 数据编织处理方法、装置、电子设备及可读存储介质 | |
JP2007226376A (ja) | ソフトウェアコンポーネント再利用のための概念体系構築方法及びそのシステム | |
Voit et al. | The method of translation of the diagram with one type directed links into the inhibitor petri net | |
AbuJarour et al. | Web services and business processes: A round trip | |
Lakshmanan et al. | A business centric monitoring approach for heterogeneous service composites |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20080208 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110308 |
|
A131 | Notification of reasons for refusal |
Effective date: 20110317 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110727 |