(57)【要約】【課題】ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用方法及びそのシステムを提供する。【解決手段】振舞概念、入力概念、出力概念という概念を定義し、分析工程において、登録対象のコンポーネントから概念インスタンスを抽出し、コンポーネントをオントロジーリポジトリ53に登録する。さらに、抽出した概念インスタンスが保有する属性と、分類の根拠を示す分類子を付属させた階層構造において対応する末端の分類概念を決定し、概念インスタンスと末端分類概念の関連情報をＸＭＬデータとしてオントロジーリポジトリ53に保存して登録する。また、分析工程に行う検索時は、要求するコンポーネントの概念インスタンスの属性に基づいて階層構造で全ての概念インスタンスの属性から対応する概念インスタンスを取得し、得られた概念インスタンスの集合を持つコンポーネントをオントロジーリポジトリ53から取得して提示する。【選択図】図７
2007226375.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネント再利用方法であって、
前記コンピュータ装置は、
ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、
予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、
予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築した後、
分析工程時において、それら概念体系の構築及びソフトウェアコンポーネントの登録・検索を行い、
前記ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、
前記ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示する
こと特徴とするソフトウェアコンポーネント再利用方法。
【請求項２】
ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント再利用システムであって、
情報入力手段と、
情報提示手段と、
前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶手段と、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段と、
分析工程におけるソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、
分析工程におけるソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えている
ことを特徴とするソフトウェアコンポーネント再利用システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において作成したソフトウェアコンポーネントを、記憶装置等に登録し、検索を行って、ソフトウェアコンポーネントを再利用する方法及びそのシステムに関する。
【背景技術】
【０００２】
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。
【０００３】
再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。このため、ソフトウェアコンポーネント作成者が作成したソフトウェアコンポーネントを記憶装置に登録し、ソフトウェア開発者が記憶装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
【０００４】
このようなソフトウェアコンポーネントの登録及び検索の方法に関しては様々な研究がなされている。例えば、非特許文献１（門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁）には、ソフトウェアコンポーネントの登録・検索方法についての検討が開示されており、登録時には、ソフトウェアコンポーネントの分野、機能をキーワード（キーワードは予め決められた語彙から選択する）として、木構造で分類保存することによりソフトウェアコンポーネントを登録し、検索時には、検索したいソフトウェアコンポーネントの分野、機能を決定し、それらをキーワードとして木構造から検索する。
【０００５】
また、非特許文献２（榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁）には、ソフトウェアコンポーネントだけでなく、ソフトウェア開発に関わる仕様書等のドキュメントを再利用するための標準規格ＲＡＳ（Reusable Asset Speficications）についての説明、及びAsset（ソフトウェアコンポーネント、仕様書等）を第三者間との流通を円滑に行うための、Assetのカタログ情報の規格化について記載されている。
【０００６】
また、非特許文献３（“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞）には、ＥＪＢコンポーネント（Ｊａｖａ（登録商標）コンポーネントの一種）を第三者間との流通を円滑に行うための、ＥＪＢコンポーネントのカタログ情報の規格化について開示されている。
【０００７】
さらに、この種の登録・検索方法に関する文献としては、特開平０７−０８５１０２号公報「文書検索方法」（特許文献１）、特公平０７−０２７５３２号公報「情報検索方法及びシステム」（特許文献２）、特開平１０−３３４１１１号公報「データ登録方法」（特許文献３）、特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」（特許文献４）が知られている。
【０００８】
また、非特許文献５（Fondatao Inc., “コンポーネントモデリングガイド”、ピアソンエデュケーション、pp.39−84、2001.）には、ソフトウェア開発工程における分析工程に着目し、ソフトウェアコンポーネントの対象範囲を決定する方法が記載されている。
【非特許文献１】門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁
【非特許文献２】榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁
【非特許文献３】“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞
【非特許文献５】「Fondatao Inc., “コンポーネントモデリングガイド”、ピアソンエデュケーション、pp.39−84、2001.」
【特許文献１】特開平０７−０８５１０２号公報「文書検索方法」
【特許文献２】特公平０７−０２７５３２号公報「情報検索方法及びシステム」
【特許文献３】特開平１０−３３４１１１号公報「データ登録方法」
【特許文献４】特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。ソフトウェアコンポーネント作成者が記憶装置に作成したソフトウェアコンポーネントを登録し、ソフトウェア開発者が記録装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
【００１０】
ソフトウェアコンポーネント作成者が登録を行うとき、ソフトウェアコンポーネント作成者がある観点で分類化した階層構造をつくり、そこにソフトウェアコンポーネントを当てはめることとなる。しかし、ソフトウェアコンポーネント作成者が登録するための階層構造を作り出すには、そのソフトウェアコンポーネントで実現される機能の背景にある知識を有する必要があり、知識を有しない者には、容易には行えない。
【００１１】
また、仮にソフトウェアコンポーネント作成者がある階層構造をつくり、別のソフトウェアコンポーネント作成者が登録を行う場合、そのソフトウェアコンポーネント作成者は、階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造のどこに登録すべきかわからず、全ての階層を調べ、ソフトウェアコンポーネントがどの階層に存在するか判断する必要があり、登録が容易に実行できない。
【００１２】
さらに、同様にソフトウェア開発者は、その階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造にあるソフトウェアコンポーネント全てを調べ、目的とするソフトウェアコンポーネントが存在するか判断する必要があり、検索が容易に実行できない。
【００１３】
さらにまた、ソフトウェアコンポーネント作成者とソフトウェア開発者が同じ者であっても、登録時の階層構造をつくりだした基となる観点を時間の経過により忘れてしまい、検索が容易に行えなくなる。
【００１４】
これらの理由により、ソフトウェアコンポーネントの再利用が実現できておらず、既存ソフトウェアコンポーネントを利用できるにも関わらず、新規にソフトウェアを開発することになってしまい、ソフトウェア開発効率低下の一要因となっている。
【００１５】
本発明は上記の問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用方法及びそのシステムを提供することである。
【課題を解決するための手段】
【００１６】
本発明は上記の目的を達成するために、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネント再利用方法であって、前記コンピュータ装置は、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築した後、分析工程時において、それら概念体系の構築及びソフトウェアコンポーネントの登録・検索を行い、前記ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、前記ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示するソフトウェアコンポーネント再利用方法を提案する。
【００１７】
本発明のソフトウェアコンポーネント再利用方法によれば、分析工程時に、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとが組合わされて入力概念体系が構築され、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とが組合わされて振舞概念体系が構築されると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とが組合わされて出力概念体系が構築されて、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系が構築される。
【００１８】
さらに、分析工程におけるソフトウェアコンポーネント登録時には、コンピュータ装置によって、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念が決定され、該決定された末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントが記憶装置に格納されて登録される。
【００１９】
これにより、記憶装置には、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される。
【００２０】
また、分析工程におけるソフトウェアコンポーネント検索時に、コンピュータ装置によって、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念が、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索されて、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントが記憶装置から取得され、これが提示される。
【００２１】
また、本発明は上記方法を実現するためのシステムとして、ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント再利用システムであって、情報入力手段と、情報提示手段と、前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報と、分析モデル作成の視点に関する情報、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納される記憶手段と、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段と、分析工程におけるソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、分析工程におけるソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えているソフトウェアコンポーネント再利用システムを提案する。
【発明の効果】
【００２２】
本発明のソフトウェアコンポーネント再利用方法及びそのシステムによれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。さらに、ソフトウェアコンポーネントの登録・検索を行うための概念体系を構築する時点、及びソフトウェアコンポーネントの登録・検索を行う時点が明確化され、ソフトウェア開発者による積極的なソフトウェアコンポーネントの登録・検索作業が行われ、その結果としてソフトウェア開発の効率が高まる。
【発明を実施するための最良の形態】
【００２３】
本発明は、ソフトウェアコンポーネント登録時に用いられる観点を、ソフトウェアコンポーネントの概念(振舞、入力、出力)を階層構造に従った概念体系によって表現し、この概念体系を用いて登録・検索を行うと共に、その概念体系を、予め構築しておいた概念体系の一部と、ソフトウェア開発において作成される分析モデルとを用いて構築する方法を前提とした、ソフトウェアコンポーネント再利用方法及びそのシステムに関する発明であり、以下に図面を参照して本発明の一実施形態を説明する。
【００２４】
本実施形態では、ソフトウェアコンポーネント登録時に用いられる観点としてソフトウェアコンポーネントの概念を用いる。ソフトウェアコンポーネントの概念としては、例えばその振舞に関する概念（振舞概念インスタンス）、入力に関する概念（入力概念インスタンス）、及び出力に関する概念（出力概念インスタンス）の３つの概念を用い、これらを統一的な概念体系を用いて表現し、この概念体系を用いてソフトウェアコンポーネントの登録と検索を行い、これによりソフトウェアコンポーネントの再利用を容易に行えるようにしている。
【００２５】
一般的なソフトウェア開発システムに照らし合わせると、システムで実現すべき機能を導き出す作業が最初に行われるのが分析工程である。その作業において必要となる知識を各概念体系によって表現し、各概念体系を開発者が利用することにより、あるコンポーネントの概念ラベルに対して一意に概念インスタンスが取得でき、コンポーネント及び要求機能の一意な変換が可能となり、開発者間の知識差異を吸収することができる。
【００２６】
(1)前提とする概念体系
本発明において構築しようとする概念体系の階層構造を図１に示す。
【００２７】
構築する概念体系の階層構造は、トップ概念11、分岐点12、分類子13、分類概念14から構成される。分類概念14は、ある根拠によって、もとのトップ概念11もしくは他の分類概念14が、分類子13が付随された分岐点12を介して分類された結果の概念であり、元となる概念11と分類概念14が階層構造で表現される。分類子13は分類化の根拠となったものであり、元概念11と分類概念14の階層間の分岐点12に付随させたものである。
【００２８】
また概念体系は、図２に示すようにソフトウェアコンポーネント（以下、単にコンポーネントと称する）25の機能を特徴付ける入力、振舞、出力毎に入力概念体系21、振舞概念体系22、出力概念体系23が構築され、コンポーネント25が保有するパラメータ名である概念ラベル(yi,bj,xk)24ごとに、概念インスタンスへ対応付けられるものである。
【００２９】
ここで、コンポーネントが保有する機能を特徴付ける概念を振舞ｂ、入力ｘ、出力ｙとし、コンポーネントを｛ｙ1,ｙ2,…,ｙi｝＝ｂj（｛ｘ1,ｘ2,…,ｘk｝）で表現している。また、各要素ｙi,ｂj,ｘkを概念ラベルと称する。
【００３０】
(2)前提とする概念体系構築方法
各概念体系の構築方法の概要を図３に示す。
【００３１】
第２記憶装置40には、予め「分析モデル作成の視点」41、「分析モデルとしてのデータ分析モデル図とオブジェクト図」42、「属性操作」43、「属性制約」44が登録されている。
【００３２】
分析モデル作成の視点41とは、ソフトウェアを開発する際に、ソフトウェア開発工程の１つである分析工程において作成される分析モデルをどのような視点で作成したかを体系化した情報である。
【００３３】
分析モデル42とは、ソフトウェア開発工程における分析工程において作成されるドキュメントであり、その中で今回は、データ分析モデルとオブジェクトを対象にして図で表したものである。
【００３４】
データ分析モデル図とは、開発しようとするソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を示したものである。
【００３５】
オブジェクト図は、データ分析モデル図をもとに、そのクラスが保有する属性の実際の値を代入したオブジェクトで、そのオブジェクト間の関係を示したものである。
【００３６】
属性操作43とは、データ分析モデル図、オブジェクト図に記載される属性に対して行われる操作を体系化した情報である。
【００３７】
属性制約44とは、データ分析モデル図、オブジェクト図に記載される属性の値に対して課せられる制約を体系化した情報である。分析モデル作成の視点41、属性操作43、属性制約44は、図１で示した概念階層の構造になっているものである。これら３つの概念階層は、ある特定分野のソフトウェア(例えば、通信装置管理ソフトウェア)においては、共通的に利用可能と考えられるため、予め構築しておくことが可能である。
【００３８】
構築の手順は以下のとおりである。
【００３９】
(a)分析モデル作成の視点41、データ分析モデル図を第２記憶装置40から取得し、分析モデル作成の視点41の概念階層の末端に該当する分析モデルを付随させる。付随させたものを入力概念体系21として、第１記憶装置20に登録する(31)。
【００４０】
(b)属性操作43を第２記憶装置40から、入力概念体系21を第１記憶装置20から取得し、属性操作43の概念階層の末端に入力概念体系21を付随させる。付随させたものを振舞概念体系22として、第１記憶装置20に登録する(32)。
【００４１】
(c)属性制約44を第２記憶装置40から、入力概念体系21を第１記憶装置20から取得し、属性制約44の概念階層の末端に入力概念体系21を付随させる。付随させたものを出力概念体系23として、第１記憶装置20に登録する(33)。
【００４２】
尚、手順(b)と(c)の順序は入れ替わってもよい。
【００４３】
以上より、構築される各概念体系21〜23は、図４、図５、図６に示す構造になる。図４は入力概念体系21を表す図、図５は振舞概念体系を表す図、図６は出力概念体系を表す図である。
【００４４】
また、図４に示す入力概念体系は、上部に分析モデリング時の視点を分類概念として配置し、下部に分析モデルに含まれる語彙を分類概念として配置したものである。
【００４５】
図５に示す振舞概念体系は、上部に分析モデルの語彙に対する操作を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
【００４６】
図６に示す出力概念体系は、上部に分析モデルの語彙に対する制約を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
【００４７】
概念体系の下部は開発するソフトウェアの種別に応じて異なるが、上部は特定のソフトウェアにおいては共通化でき、ソフトウェア開発に先立って予め構築することができる。従って、概念体系上部を予め作っておき、開発するソフトウェアに応じて、ＣＡＳＥツール等から分析モデルの語彙を抽出することにより、概念体系の構築をある程度自動化することができる。
【００４８】
(3)コンポーネント再利用方法
コンポーネント再利用のためのシステム構成を図７に示す。
【００４９】
図７に示すとおり、コンポーネント再利用のためのシステム50は、周知のＣＰＵを主体として構成されたコンピュータ装置からなり、モデル描画部51、ソースコード作成部52、オントロジーリポジトリ53、コンポーネントリポジトリ54、制御部55、ユーザインタフェース部56の６つのモジュールから構成されている。
【００５０】
モデル描画部51は、ソフトウェアを開発するために必要な分析モデル、設計モデルを描画するために使用するモジュールであり、既存CASEツールを用いても構わない。
【００５１】
ソースコード作成部52は、作成された設計モデルをもとに、Java、C++等の実装言語を用いてソースコードを作成・編集するモジュールであり、既存IDE  (Integrated Development Environment)等のツールを用いても構わない。
【００５２】
オントロジーリポジトリ53は、第１記憶装置20及び第２記憶装置40に相当するものを具備し、ソフトウェアコンポーネントを登録・検索するために用いる概念体系等を保存するモジュールであり、XMLデータ等で保持する。
【００５３】
コンポーネントリポジトリ54は、登録されたソフトウェアコンポーネントを保持するモジュールであり、各ソフトウェアコンポーネントにはそれを一意に判別するためのコンポーネントIDが付与されている。また、コンポーネントリポジトリ54は、図８に示す概念インスタンスとコンポーネントIDとの対応表を保持している。
【００５４】
制御部55は、前述した５つのモジュール51〜54,56と接続され、各モジュール間の情報を、または各モジュール間の情報を組み合わせた情報を、受け渡すモジュールである。
【００５５】
ユーザインタフェース部56は、キーボードやマウス等を含む情報入力部（図示せず）及びディスプレイ等の表示器を含む情報提示部（図示せず）を備え、制御部55を介して第１記憶装置20及び第２記憶装置40に接続されて、これらへの情報アクセスが可能になっている。また、ユーザインタフェース部56は、ソフトウェアコンポーネント作成者やソフトウェア開発者等のユーザが入力する登録・検索に必要な情報の受付部であり、また各記憶装置に記億されている階層構造の表示、及び登録・検索結果を表示するものである。
【００５６】
コンポーネント再利用の主な流れを図９に示し、以下に再利用方法について記述する。
【００５７】
Ｉ．分析工程:
ソフトウェア要求者によって作成される要求仕様書をもとに、データ分析モデル図、オブジェクト図、アクティビティ図、概念シーケンス図を作成する。これらの図は以下の手順で作成される。
【００５８】
(a)データ分析モデル図、オブジェクト図の作成(61)
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。
【００５９】
(b)概念体系の構築(62)
予め作成しておいた、分析モデリング時の視点41に関する概念体系、属性操作43に関する概念体系、属性制約44に関する概念体系と、(a)で作成したデータ分析モデル図、オブジエクト図を組合せて、入力概念体系21、振舞概念体系22、出力概念体系23を制御部55において構築する。
【００６０】
(c)アクティビティ図の作成(63)
要求仕様書に含まれるユースケース記述に記載される処理項目毎に、アクティビティを作成し、ユースケース記述の処理順序に従って並べることにより、アクティビティ図を、モデル描画部51において作成する。アクティビティは、システムの動作条件によって、異なる動作を行う場合があり、条件分岐が発生する。条件によって異なる動作を行うアクティビティをコンポーネント化対象範囲とする。
【００６１】
(d)概念シーケンス図の作成(64)
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
【００６２】
概念シーケンス図は、アクタオブジェクト、シナリオ制御オブジェクト、アクティビティオブジェクト、及び各オブジェクト間のメッセージ、アクティビティの処理内容から構成される。メッセージはメッセージ名、及びパラメータ名で構成される。
【００６３】
コンポーネント対象化範囲のアクティビティにおいて、パラメータ名、処理内容の説明は独自に作成するのではなく、入力概念体系21、振舞概念体系22、出力概念体系23で記載されている分類概念を、制御部55を用いて閲覧し選択することによって記載する。
【００６４】
(e)コンポーネントIDの取得(65)
制御部55において、(d)で選択した各概念から概念インスタンスを取得する。取得された概念インスタンスをもとに、制御部55を用いてアクティビティ毎にコンポーネントリポジトリ54の対応表に検索を行い、コンポーネントIDを取得する。このとき既に登録された再利用可能なコンポーネントが存在する場合、そのコンポーネントのIDが返される。再利用可能なコンポーネントが存在しない場合は、対応表にその概念インスタンスが登録され、未使用のIDが返される。これにより、コンポーネントの登録・検索が行われる。
【００６５】
ＩＩ．設計工程：
(a)設計モデル作成(66)
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティにおいては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティにおいては、設計モデルを作成する必要があり、作成の際にはコンポーネントIDを記載する。このコンポーネントIDは、制御部55を通じてモデル描画部51に提示される。
【００６６】
ＩＩＩ．実装工程:
(a)ソースコード作成(67)
設計工程において作られたモデルをもとにソースコードを作成する。再利用可能なソフトウェアコンポーネントが存在するアクティビティにおいては、それに対応する各コンポーネントIDにより、コンポーネントの実体であるソースコードを制御部55を通じてコンポーネントリポジトリ54から取得する。再利用可能なソフトウェアコンポーネントが存在しないアクティビティにおいては、設計モデルをもとにソースコードを作成し、そのソースコードをソフトウェアコンポーネントとして、制御部55を通じてコンポーネントIDを付随させてコンポーネントリポジトリ54に登録する。
【実施例１】
【００６７】
以下、一例として、イーサネット（登録商標）網において、イーサネット網を利用するユーザ毎に、ユーザ識別子としてVLAN-IDを、イーサネット網を構成する各装置に設定するソフトウェアシステムに適用したソフトウェア再利用に関して説明する。
【００６８】
また、例として、要求仕様書の一部として図１０に示すユースケース図、及びそのユースケースの１つである“アクセス回線を設定する”に対応するユースケース記述例を図１１に示す。
【００６９】
図１０に示すユースケース図は、ＳＯ業務関係を表し、具体的には「ＳＯオペレータ」というタイプ71と「Ｌ２ＳＷ(Layer 2 Switch)」というタイプ72との間にＳＯ業務としての３つのアクション、すなわち、「アクセス回線を設定する」というアクション73と、「アクセス回線を変更する」というアクション74と「アクセス回線を削除・検索する」というアクション75が存在することを表している。
【００７０】
さらにまた、分析モデリング時の視点41に関する概念体系の一部として図１２、属性操作43に関する概念体系の一部として図１３、属性制約44に関する概念体系の一部として図１４が予め構築されているものとする。
【００７１】
即ち、図１２に示す分析モデリング時の視点41に関する概念体系の一部では、第１階層の入力概念101が「管理情報構成種別」という分類子102によって分類され、分類子102が付随された分岐点103を介して第２階層の「接続情報」という分類概念111と「装置情報」という分類概念121に分岐されている。
【００７２】
また、「接続情報」という分類概念111は「情報種別」という分類子112によって分類され、分類子112が付随された分岐点113を介して第３階層の「物理情報」という分類概念131と「論理情報」という分類概念141に分岐されている。
【００７３】
さらに、「物理情報」という分類概念131は「管理オブジェクト」という分類子132によって分類され、分類子132が付随された分岐点133を介して第４階層の「分析モデル」という分類概念134に至る。この「分析モデル」という分類概念134は末端の分類概念となっている。
【００７４】
また、第３階層の「論理情報」という分類概念141は「管理オブジェクト」という分類子142によって分類され、分類子142が付随された分岐点143を介して第４階層の「分析モデル」という分類概念144に至る。この「分析モデル」という分類概念144は末端の分類概念となっている。
【００７５】
また、第２階層の「装置情報」という分類概念121は「情報種別」という分類子122によって分類され、分類子122が付随された分岐点123を介して第３階層の「物理情報」という分類概念151と「論理情報」という分類概念161に分岐されている。
【００７６】
さらに、「物理情報」という分類概念151は「管理オブジェクト」という分類子152によって分類され、分類子152が付随された分岐点153を介して第４階層の「分析モデル」という分類概念154に至る。この「分析モデル」という分類概念154は末端の分類概念となっている。
【００７７】
また、第３階層の「論理情報」という分類概念161は「管理オブジェクト」という分類子162によって分類され、分類子162が付随された分岐点163を介して第４階層の「分析モデル」という分類概念164に至る。この「分析モデル」という分類概念164は末端の分類概念となっている。
【００７８】
図１３に示す属性操作43に関する概念体系の一部では、第１階層の振舞概念201が「払出方法」という分類子202によって分類され、分類子202が付随された分岐点203を介して第２階層の「既設定値」という分類概念211と「既設定値演算」という分類概念221、「既設定値組合せ」という分類概念231、「演算値組合せ」という分類概念241に分岐されている。
【００７９】
第２階層の「既設定値」という分類概念211は「既設定情報種別」という分類子212によって分類され、分類子212が付随された分岐点213を介して第３階層の「ＤＢ情報」という分類概念214と「オペレータ入力項目」という分類概念215に分岐されている。さらに「ＤＢ情報」という分類概念214は第４階層の「入力概念」216に至り、「オペレータ入力項目」という分類概念215は第４階層の「入力概念」217に至る。
【００８０】
また、第２階層の「既設定値演算」という分類概念221は「演算種別」という分類子222によって分類され、分類子222が付随された分岐点223を介して第３階層の「＋１加算」という分類概念224と、「−１減算」という分類概念225と、「１０乗算」という分類概念226に分岐されている。さらに、「−１減算」という分類概念225は「既設定情報種別」という分類子227によって分類され、分類子227が付随された分岐点228を介して第４階層の「ＤＢ情報」という分類概念241と「オペレータ入力項目」という分類概念242に分岐されている。さらに、さらに「ＤＢ情報」という分類概念241は第５階層の「入力概念」243に至り、「オペレータ入力項目」という分類概念242は第５階層の「入力概念」244に至る。
【００８１】
また、第２階層の「既設定値組合せ」という分類概念231は「組合せ項目」という分類子232によって分類され、分類子232が付随された分岐点233を介して第３階層の「２項目」という分類概念234と、「３項目」という分類概念235と、「４項目」という分類概念236に分岐されている。
【００８２】
図１４に示す属性制約44に関する概念体系の一部では、第１階層の出力概念301が論理演算「ＡＮＤ」によって２つに分岐され、一方は「出力値」という分類子302によって分類され、分類子302が付随された分岐点303を介して第２階層の「入力概念」304に至る。また、他方は「出力値制約」という分類子305によって分類され、分類子305が付随された分岐点306を介して第２階層の「無」という分類概念311と「有」という分類概念312に分岐されている。
【００８３】
第２階層の「有」という分類概念は「制約種別」という分類子313によって分類され、分類子313が付随された分岐点314を介して第３階層の「制約範囲」という分類概念321と「一意性制約」という分類概念331に分岐されている。
【００８４】
第３階層の「範囲制約」という分類概念321は「制約範囲」という分類子322によって分類され、分類子322が付随された分岐点323を介して第４階層の「使用可能値」という分類概念341と、「使用禁止値」という分類概念342と、「使用可値・禁止値」という分類概念343に分岐されている。
【００８５】
第４階層の「使用可値・禁止値」という分類概念343は「既設定情報種別」という分類子344によって分類され、分類子344が付随された分岐点345を介して第５階層の「ＤＢ情報」という分類概念346と「オペレータ入力項目」という分類概念347に分岐されている。さらに、第５階層の「ＤＢ情報」という分類概念346は第６階層の「入力概念」348に至り、第５階層の「オペレータ入力項目」という分類概念347は第６階層の「入力概念」349に至る。
【００８６】
また、第３階層の「一意性制約」という分類概念331は「一意情報種別」という分類子332によって分類され、分類子332が付随された分岐点333を介して第４階層の「ＤＢ情報」という分類概念334と「オペレータ入力項目」という分類概念335に分岐されている。さらに、第４階層の「ＤＢ情報」という分類概念334は第５階層の「入力概念」336に至り、第４階層の「オペレータ入力項目」という分類概念335は第５階層の「入力概念」337に至る。
【００８７】
(1)分析工程
(a)データ分析モデル図、オブジェクト図の作成
要求仕様書から、開発するソフトウェアが管理対象とするものを抽出し、データ分析モデル、オブジェクト図を、モデル描画部51において作成する。この一例において作成されたデータ分析モデル図及びオブジェクト図のそれぞれを図１５、図１６に示す。
【００８８】
図１５に示すデータ分析モデル図の例では、５つの物理情報に関するクラス80〜84と４つの論理情報に関するクラス85〜88及び１つのサービス情報に関するクラス89の関係が表されている。
【００８９】
また、図１６に示すオブジェクト図では、４つの監視対象装置91a〜91dに対する６つのＰＴＰ92a〜92fの関係及びこれらのＰＴＰ92a〜92fに対する３つのＴＬ93a〜93cの関係が表されている。
【００９０】
(b)概念体系の構築
図１２乃至図１４の概念体系と、図１５のデータ分析モデル図、図１６のオブジェクト図を組み合わせて、入力概念体系、振舞概念体系、出力概念体系を制御部55において構築する。構築された一例としての入力概念体系を図１７に示す。
【００９１】
図１７に示す入力概念体系では、第１階層の入力概念401が「管理情報構成種別」という分類子402によって分類され、分類子402が付随された分岐点403を介して第２階層の２つの分類概念「接続情報」404と「装置情報」407に分岐されている。
【００９２】
第２階層の「接続情報」という分類概念404は「情報種別」という分類子405によって分類され、分類子405が付随された分岐点406を介して２つの分類概念「物理情報」411と「論理情報」421に分岐されている。
【００９３】
第３階層の「物理情報」という分類概念411は「管理オブジェクト」という分類子412によって分類され、分類子412が付随された分岐点413を介して「Route」という分類概念414と「TL」という分類概念415に分岐されている。
【００９４】
第４階層の「TL」という分類概念415は「保有属性」という分類子416によって第５階層の「ID」という分類子418aと、「ルートID」という分類子418bと、「ispPTPID」という分類子418cと、「userPTPID」という分類子418dに分岐されている。
【００９５】
第３階層の「論理情報」という分類概念421は、「管理オブジェクト」という分類子422によって分類され、分類子422が付随された分岐点423を介して３つの分類概念「Trail」431、「LC」441、「XC」451に分岐されている。
【００９６】
第４階層の「Trail」という分類概念431は、「保有属性」という分類子432によって分類され、分類子432が付随された分岐点433を介して第５階層の２つの分類概念「ID」434aと「ルートID」434bに分岐されている。
【００９７】
第４階層の「LC」という分類概念441は、「保有属性」という分類子442によって分類され、分類子442が付随された分岐点443を介して第５階層の５つの分類概念「ID」444a、「TrailID」444b、「ispCTPID」444c、「userCTPID」444d、「TLID」444eに分岐されている。
【００９８】
第４階層の「XC」という分類概念451は、「保有属性」という分類子452によって分類され、分類子452が付随された分岐点453を介して第５階層の４つの分類概念「ID」454a、「ispCTPID」454b、「userCTPID」454c、「TrailID」454dに分岐されている。
【００９９】
また、第２階層の「装置情報」という分類概念407は、「情報種別」という分類子408によって分類され、分類子408が付随された分岐点409を介して第３階層の２つの分類概念「物理情報」461と「論理情報」491に分岐されている。
【０１００】
第３階層の「物理情報」という分類概念461は、「管理オブジェクト」という分類子462によって分類され、分類子462が付随された分岐点463を介して２つの分類概念「監視装置」471と「ＰＴＰ」481に分岐されている。
【０１０１】
第４階層の「監視装置」という分類概念471は、「保有属性」という分類子472によって分類され、分類子472が付随された分岐点473を介して４つの分類概念「ID」474a、「装置名」474b、「装置種別」474c、「設置場所」474dに分岐されている。さらに、第５階層の「装置種別」という分類概念474cは、「インスタンス」という分類子475によって分類され、分類子475が付随された分岐点476を介して４つの分類概念「ER」477a、「コア中継SW」477b、「アクセスSW」477c、「OLT」477dに分岐されている。
【０１０２】
第４階層の「ＰＴＰ」という分類概念481は、「保有属性」という分類子482によって分類され、分類子482が付随された分岐点483を介して４つの分類概念「ID」484a、「MEID」484b、「ポート方向」484c、「ポート名」484dに分岐されている。さらに、第５階層の「ポート方向」という分類概念484cは「インスタンス」という分類子485によって分類され、分類子485が付随された分岐点486を介して２つの分類概念「NW(Network)上部」487aと「NW下部」487bに分岐されている。
【０１０３】
第３階層の「論理情報」という分類概念491は、「管理オブジェクト」という分類子492によって分類され、分類子492が付随された分岐点493を介して第４階層の「ＣＴＰ」という分類概念494に至る。この「ＣＴＰ」という分類概念494は、「保有属性」という分類子495によって分類され、分類子495が付随された分岐点496を介して３つの分類概念「VLAN-ID」497a、「ID」497b、「ptpID」497cに分岐されている。
【０１０４】
(c)アクティビティ図の作成
モデル描画部51において、図１１のユースケース記述をもとにアクティビティ図を作成する。作成されたアクティビティ図を図１８に示す。
【０１０５】
図１８に示すアクティビティ図は、「アクセス回線を設定する」というアクションの処理の詳細を示すもので、この処理が開始されると、戻るボタンが押下されたか否かが判定され（501）、押下されたときは処理が終了される。また、戻るボタンが押下されないときは、ＳＯオペレータから、アクセスユーザＩＤと、ISP側VLAN-ID、OLT/PON-IF/ONU番号を取得し（502）、OLT/PON-IF/ONU番号を基にRoute情報を記憶装置から取得する（503）。
【０１０６】
次に、Route情報を基に各Ｌ２ＳＷへの設定内容をＮＷポリシーから取得し（504）、設定内容に基づき各Ｌ２ＳＷへの、VLAN-IDとQoSクラスごとの帯域値を算出する（505）。さらに、算出されたVLAN-ID、QoSごとの帯域値を各Ｌ２ＳＷに設定し（506）、VLAN-ID、QoSごとの帯域値を記憶装置に設定する（507）。
【０１０７】
次いで、設定が完了したことをＳＯオペレータに通知し（508）、戻るボタンが押下されたか否かを判定する（509）。この判定の結果、戻るボタンが押下されないときは前記502の処理に移行し、戻るボタンが押下されたときは処理を終了する。
【０１０８】
図１８におけるアクティビティＡは、動作条件によって異なる動作を行う場合があるため条件分岐が発生し、更に図１９のように詳細化される。
【０１０９】
すなわち、図１９に示すように、アクティビティＡでは、VLAN-IDの設定内容が判定され（521）、この判定の結果、設定内容が「VLAN-ID設定内容１」のときはISP側VLAN-IDをVLAN-IDとし（522）、設定内容が「VLAN-ID設定内容２」のときはOLT-VLAN-IDをVLAN-IDとし（523）、設定内容が「VLAN-ID設定内容３」のときはカード番号・ポート番号をVLAN-IDとする（524）。また、設定内容が「VLAN-ID設定内容４」のときはカード番号・ＭＤＡ番号・ポート番号に下部ＳＷのVLAN-IDを付け加えたものをVLAN-IDとし（525）、設定内容が「VLAN-ID設定内容５」のときは算出されたコア対向ＳＷの上部VLAN-IDをVLAN-IDとし（526）、設定内容が「VLAN-ID設定内容６」のときは算出されたコア対向ＳＷの下部VLAN-IDをVLAN-IDとし（527）、設定内容が「VLAN-ID設定内容７」のときは算出されたアクセス側中継ＳＷの上部VLAN-IDをVLAN-IDとし（528）、設定内容が「VLAN-ID設定内容８」のときは算出されたアクセスＳＷの上部VLAN-IDをVLAN-IDとし（529）、設定内容が「VLAN-ID設定内容９」のときは算出されたアクセスＳＷの下部VLAN-IDをVLAN-IDとする（530）。
【０１１０】
この後、QoS設定内容を判定し（531）、この判定の結果、設定内容が「QoS設定内容１」のときはオペレータ設定値をQoSクラスごとの帯域値として（532）アクティビティＡを終了する。また、判定の結果設定内容が「QoS設定内容２」のときは帯域値を算出しないで（533）アクティビティＡを終了する。
【０１１１】
(d)概念シーケンス図の作成
アクティビティ図をもとに概念シーケンス図を、モデル描画部51において作成する。
【０１１２】
図２０にコンポーネント対象化範囲のアクティビティに対する概念シーケンス図の一部を示す。これは、図１９の左３つのアクティビティに対する概念シーケンス図である。
【０１１３】
次に制御部55を通じて、これらのメッセージにおけるパラメータ名及び処理内容を、入力概念体系、振舞概念体系、出力概念体系を用いて説明する。
【０１１４】
例えば、アクティビティＡ−１における入力メッセージは、“VLAN-ID払出(PTP-ID、ISP-VLAN‐ID)”となっているが、入力概念体系に従って、図２１に示すように、“PTP‐ID”パラメータは“装置情報／物理情報／PTP／ID”として説明され、“ISP-VLAN-ID”パラメータは、図２２に示すように、“装置情報／物理情報／監視装置／装置種別／ERand装置情報／物理情報／PTP／ポート方向／NW下部and装置情報／論理情報／CTP／VLAN-ID”として説明される。
【０１１５】
また、アクティビティＡ−１における処理内容は、“ISP側VLAN-IDを払出す”となっているが、図２３，２４に示すように、振舞概念体系に従って、“既設定値／オペレータ入力項目／(装置情報／物理情報／監視装置／装置種別／ERand装置情報／物理情報／PTP／ポート方向／NW下部and装置情報／論理情報／CTP／VLAN-ID)”として説明される。
【０１１６】
さらにまた、アクティビティＡ−１における出力メッセージは、“VLAN-ID”パラメータとなっているが、図２５，２６に示すように、出力概念体系に従って、“装置情報／論理情報／CTP／VLAN-IDand(有／一意性制約／オペレータ入力項目／装置情報／物理情報／PTP／IDand有／一意性制約／DB情報／装置情報／物理情報／監視装置／ID)”として表現される。
【０１１７】
(e)コンポーネントIDの取得
制御部55を通じて、(d)において選択した各概念によって概念インスタンスを取得する。
【０１１８】
図２０のアクティビティＡ−１の入力メッセージにおいて、“PTP‐ID”に対して取得される概念インスタンスは“Ｘ１”(図２７)、“ISP‐VLAN-ID”に対して取得される概念インスタンスは“Ｘ２”(図２８)となる。
【０１１９】
また、アクティビティＡ−１における処理内容おいて、“ISP側VLAN-IDを払出す”に対して取得される概念インスタンスは“Ｂ１”となる(図２９，３０)。
【０１２０】
さらにまた、アクティビティＡ−１における出力メッセージにおいて、“VLAN-ID”に対して取得される概念インスタンスは“Ｙ１”となる(図３１，３２)。
【０１２１】
同様に図２０のアクティビティＡ−２に対して、概念インスタンスを取得した結果を、“Ｙ２，Ｂ２，Ｘ３，Ｘ４”とする。
【０１２２】
次に、取得された概念インスタンスをもとに、制御部55を用いてアクティビティ毎にコンポーネントリポジトリの対応表に検索を行い、コンポーネントIDを取得する。
【０１２３】
対応表の例として図８を用いることとする。
【０１２４】
アクティビティＡ−１の概念インスタンス“Ｙ１，Ｂ１，Ｘ１，Ｘ２”に該当するものが、対応表に存在するため、コンポーネントID“１０”が返される。また、アクティビティＡ−２の概念インスタンス“Ｙ２，Ｂ２，Ｘ３，Ｘ４”に該当するものが、対応表に存在しないため、未使用のコンポーネントID“３０”が返され、当該概念インスタンスとコンポーネントIDが対応表に登録される。
【０１２５】
(2)設計工程
分析工程によって作られたモデルをもとに設計モデルを、モデル描画部51において作成する。通常、各アクティビティに対応する設計モデルをそれぞれ作成するが、再利用可能なコンポーネントが存在するアクティビティＡ−１においては、設計モデルを作成する必要はない。対して、再利用可能コンポーネントが存在しないアクティビティＡ−２においては、設計モデルを作成する必要があり、作成の際にはコンポーネントID“３０”を記載する。コンポーネントIDの受け渡しは、制御部55によって行われる。
【０１２６】
ソースコード作成部52において、設計工程によって作られたモデルをもとにソースコードを作成する。再利用可能なソフトウェアコンポーネントが存在するアクティビティＡ−１に対応するコンポーネントID“１０”により、コンポーネントの実体であるソースコードを制御部55を通じてコンポーネントリポジトリ54から取得する。再利用可能なソフトウェアコンポーネントが存在しないアクティビティＡ−２においては、設計モデルをもとにソースコードを作成し、そのソースコードをソフトウェアコンポーネントとして、制御部55を通じてコンポーネントID“３０”を付随して、コンポーネントリポジトリ54に登録する。
【０１２７】
前述したように上記実施形態では、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。さらに、前述したように分析工程においてソフトウェアコンポーネントの登録・検索を行うための概念体系を構築すると共にソフトウェアコンポーネント登録・検索を行うので、ソフトウェアコンポーネントの登録・検索を行うための概念体系を構築する時点、及びソフトウェアコンポーネント登録・検索を行う時点が明確化され、ソフトウェア開発者による積極的なソフトウェアコンポーネントの登録・検索作業が行われるので、ソフトウェア開発の効率を高めることができる。
【図面の簡単な説明】
【０１２８】
【図１】本発明において構築しようとする概念体系の階層構造を示す図
【図２】本発明の一実施形態におけるコンポーネントと概念体系との対応付けを説明する図
【図３】本発明の一実施形態における概念体系の構築方法を説明する図
【図４】本発明の一実施形態において構築される入力概念体系の概略を説明する図
【図５】本発明の一実施形態において構築される振舞概念体系の概略を説明する図
【図６】本発明の一実施形態において構築される出力概念体系の概略を説明する図
【図７】本発明の一実施形態におけるソフトウェアコンポーネント再利用システムの構成を示す図
【図８】本発明の一実施形態における概念インスタンスとコンポーネントIDとの対応表を示す図
【図９】本発明の一実施形態におけるコンポーネント再利用の主な流れを示すフローチャート
【図１０】本発明の一実施例における要求仕様書の一部としてのユースケース図を示す図
【図１１】本発明の一実施例におけるユースケースの１つである“アクセス回線を設定する”に対応するユースケース記述例を示す図
【図１２】本発明の一実施例における分析モデリング時の視点に関する概念体系の一部を示す図
【図１３】本発明の一実施例における属性操作に関する概念体系の一部を示す図
【図１４】本発明の一実施例における属性制約に関する概念体系の一部を示す図
【図１５】本発明の一実施例におけるデータ分析モデル図を示す図
【図１６】本発明の一実施例におけるオブジェクト図を示す図
【図１７】本発明の一実施例において構築された入力概念体系を示す図
【図１８】本発明の一実施例において作成されたアクティビティ図を示す図
【図１９】本発明の一実施例の図１８におけるアクティビティＡの詳細を示す図
【図２０】本発明の一実施例におけるコンポーネント対象化範囲のアクティビティに対する概念シーケンス図の一部を示す図
【図２１】本発明の一実施例におけるアクティビティＡ−１の入力メッセージにおけるパラメータ名及び処理内容を入力概念体系に従って説明する図
【図２２】本発明の一実施例におけるアクティビティＡ−１の入力メッセージにおけるパラメータ名及び処理内容を入力概念体系に従って説明する図
【図２３】本発明の一実施例におけるアクティビティＡ−１の入力メッセージにおけるパラメータ名及び処理内容を振舞概念体系に従って説明する図
【図２４】本発明の一実施例におけるアクティビティＡ−１の入力メッセージにおけるパラメータ名及び処理内容を振舞概念体系に従って説明する図
【図２５】本発明の一実施例におけるアクティビティＡ−１の出力メッセージにおけるパラメータ名を出力概念体系に従って説明する図
【図２６】本発明の一実施例におけるアクティビティＡ−１の出力メッセージにおけるパラメータ名を出力概念体系に従って説明する図
【図２７】本発明の一実施例における図２０のアクティビティＡ−１の入力メッセージの“PTP‐ID”に対して取得される概念インスタンスを説明する図
【図２８】本発明の一実施例における図２０のアクティビティＡ−１の入力メッセージの“ISP‐VLAN-ID”に対して取得される概念インスタンスを説明する図
【図２９】本発明の一実施例における図２０のアクティビティＡ−１の入力メッセージの“ISP側VLAN-IDを払出す”に対して取得される概念インスタンスを説明する図
【図３０】本発明の一実施例における図２０のアクティビティＡ−１の入力メッセージの“ISP側VLAN-IDを払出す”に対して取得される概念インスタンスを説明する図
【図３１】本発明の一実施例における図２０のアクティビティＡ−１における出力メッセージの“VLAN-ID”に対して取得される概念インスタンスを説明する図
【図３２】本発明の一実施例における図２０のアクティビティＡ−１における出力メッセージの“VLAN-ID”に対して取得される概念インスタンスを説明する図
【符号の説明】
【０１２９】
11…トップ概念、12…分岐点、13…分類子、14…分類概念、20…第１記憶装置、21…入力概念体系、22…振舞概念体系、23…出力概念体系、24…概念ラベル、25…コンポーネント、40…第２記憶装置、41…分析モデル作成の視点、42…分析モデル、43…属性操作、44…属性制約、50…ソフトウェアコンポーネント再利用システム、51…モデル描画部、52…ソースコード作成部、53…オントロジーリポジトリ、54…コンポーネントリポジトリ、55…制御部、56…ユーザインタフェース部、71,72…タイプ73,74,75…アクション。
【図１】
2007226375.tif 000003
【図２】
2007226375.tif 000004
【図３】
2007226375.tif 000005
【図４】
2007226375.tif 000006
【図５】
2007226375.tif 000007
【図６】
2007226375.tif 000008
【図７】
2007226375.tif 000009
【図８】
2007226375.tif 000010
【図９】
2007226375.tif 000011
【図１０】
2007226375.tif 000012
【図１１】
2007226375.tif 000013
【図１２】
2007226375.tif 000014
【図１３】
2007226375.tif 000015
【図１４】
2007226375.tif 000016
【図１５】
2007226375.tif 000017
【図１６】
2007226375.tif 000018
【図１７】
2007226375.tif 000019
【図１８】
2007226375.tif 000020
【図１９】
2007226375.tif 000021
【図２０】
2007226375.tif 000022
【図２１】
2007226375.tif 000023
【図２２】
2007226375.tif 000024
【図２３】
2007226375.tif 000025
【図２４】
2007226375.tif 000026
【図２５】
2007226375.tif 000027
【図２６】
2007226375.tif 000028
【図２７】
2007226375.tif 000029
【図２８】
2007226375.tif 000030
【図２９】
2007226375.tif 000031
【図３０】
2007226375.tif 000032
【図３１】
2007226375.tif 000033
【図３２】
2007226375.tif 000034