(57)【特許請求の範囲】
【請求項１】
ネットワークを構成する通信装置を管理するＥＭＳの業務アプリケーションの開発を支援する開発支援装置であって、
ＥＭＳの業務アプリケーションを構成するソフトウェアのコードおよび当該コードに関する設計書を当該業務アプリケーションが提供する機能毎または当該機能を実現するために必要な処理毎に分割された状態であるソフトウェア部品と、前記ソフトウェア部品から抽出される情報であり、前記業務アプリケーションが提供する機能の特徴、前記業務アプリケーションが提供する機能を実現するために必要な処理の特徴、および、前記業務アプリケーション内で流通するデータ形式または前記通信装置との間で授受するデータ形式の特徴の内の少なくとも何れか一つを示す特徴情報とが対応づけて記憶される記憶部と、
前記特徴情報の入力を受け付け、対応するソフトウェア部品を検索する検索処理部と、
検索されたソフトウェア部品を出力し、当該ソフトウェア部品の修正を受け付ける製造支援処理部と、
前記製造支援処理部が受け付けた、修正された新たなソフトウェア部品を当該ソフトウェア部品から抽出される特徴情報と対応付けて前記記憶部に格納する登録処理部と、を備え、
前記データ形式の特徴は、データモデルであり、
前記データモデルが前記記憶部に記憶されており、
前記登録処理部は、前記新たなソフトウェア部品に対応付けられたデータモデルが既に前記記憶部に登録されているか否かを判定し、登録されていない場合に前記データモデルを前記記憶部に格納する、ことを特徴とする開発支援装置。
【請求項２】
ネットワークを構成する通信装置を管理するＥＭＳの業務アプリケーションの開発を支援する開発支援装置の開発支援方法であって、
前記開発支援装置は、
ＥＭＳの業務アプリケーションを構成するソフトウェアのコードおよび当該コードに関する設計書を当該業務アプリケーションが提供する機能毎または当該機能を実現するために必要な処理毎に分割された状態であるソフトウェア部品と、前記ソフトウェア部品から抽出される情報であり、前記業務アプリケーションが提供する機能の特徴、前記業務アプリケーションが提供する機能を実現するために必要な処理の特徴、および、前記業務アプリケーション内で流通するデータ形式または前記通信装置との間で授受するデータ形式の特徴の内の少なくとも何れか一つを示す特徴情報とが対応づけて記憶される記憶部を備えており、
前記特徴情報の入力を受け付け、対応するソフトウェア部品を検索する検索ステップと、
検索されたソフトウェア部品を出力し、当該ソフトウェア部品の修正を受け付ける製造支援処理ステップと、
前記製造支援処理ステップで受け付けた、修正された新たなソフトウェア部品を当該ソフトウェア部品から抽出される特徴情報と対応付けて前記記憶部に格納する登録処理ステップと、を実行し、
前記データ形式の特徴は、データモデルであり、
前記データモデルが前記記憶部に記憶されており、
前記登録処理ステップでは、前記新たなソフトウェア部品に対応付けられたデータモデルが既に前記記憶部に登録されているか否かを判定し、登録されていない場合に前記データモデルを前記記憶部に格納する、ことを特徴とする開発支援方法。
【請求項３】
請求項２に記載の開発支援方法を開発支援装置としてコンピュータに実行させるための開発支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発支援装置、開発支援方法および開発支援プログラムに関し、特に、ＥＭＳ（Element Management System）の業務アプリケーションのソフトウェアを製造する技術に関する。
【背景技術】
【０００２】
現在のネットワークは、多数の装置ベンダによる幅広い種別の通信装置（ＮＥ：Network Element）によって構成されており、これらのＮＥは、ＥＭＳによって管理される（特許文献１参照）。ここで、ＥＭＳによる管理対象の構成、装置との通信手段、保守情報の取得手順、得られる保守情報のフォーマットなどは、ＮＥによって様々である。それに対し、管理要件を単一または複数のＮＥに限定し、その条件に適合したＮＥのみを管理するＥＭＳを作成する方法は一般的に存在する。
【０００３】
従来のＥＭＳの構造例を図１に示す。ＥＭＳ１００は、システムＩＦ処理部１０１と、ＨＭＩ（Human-Machine Interface）処理部１０２と、セッション制御部１０３と、業務シナリオ群１０４と、サブ処理シナリオ群１０５と、設定データ１０６と、データアクセス制御部１０７と、装置アクセス制御部１０８とを備えて構成されている。業務シナリオ群１０４は、複数の業務シナリオＡ，Ｂ・・Ｚからなり、また、サブ処理シナリオ群１０５は、複数のサブ処理シナリオ００１，００２・・ＺＺＺからなる。各業務シナリオや各サブ処理シナリオは、ＥＭＳ１００の業務アプリケーションである。
【０００４】
システムＩＦ処理部１０１は，ネットワーク管理システム（ＮＭＳ：Network Management System）などの外部システム２０１からの要求を受け付け、要求に対する応答や制御対象装置であるＮＥ２０５から受信する警報通知の転送を実行する。
ＨＭＩ処理部１０２は、ＥＭＳ１００の操作を行うユーザインタフェースを担当し、画面から入力されるオペレータの要求を受け付け、要求に対する応答や制御対象装置であるＮＥ２０５から受信する警報通知の表示を実行する。オペレータの要求や警報通知の表示は、操作端末２０２を介して実現される。
【０００５】
セッション制御部１０３は、システムＩＦ処理部１０１およびＨＭＩ処理部１０２から受け付けた複数の要求を優先度や受け付け順に基づき処理順を決定し、決定した処理順に基づき適切な業務シナリオＡ，Ｂ・・Ｚに要求を伝達する。また、セッション制御部１０３は、各業務シナリオＡ，Ｂ・・Ｚからの応答についても、優先度や受け付け順に基づき適切な順序で応答する。
【０００６】
業務シナリオＡ，Ｂ・・Ｚには、「装置登録」，「パス制御」，「警報通知」といった制御対象装置であるＮＥ２０５のオペレーションに必要な業務を実現するために必要なＮＥ２０５やＤＢ２０３に対する各種処理を呼び出す実際の処理順が規定されている。業務シナリオＡ，Ｂ・・Ｚは、業務アプリケーションが提供する機能毎に分割されており、例えば、ＨＭＩ画面や外部システムの処理と同じ単位（粒度）で存在する。
サブ処理シナリオ００１，００２・・ＺＺＺには、「装置登録」などの業務を実現するために必要なＮＥ２０５やＤＢ２０３に対する処理が記述されている。サブ処理シナリオ００１，００２・・ＺＺＺは、業務アプリケーションが提供する機能を実現するために必要な処理毎に分割されており、例えば、ＮＥ２０５やＤＢ２０３へのトランザクション処理単位で存在する。その為、サブ処理シナリオ００１，００２・・ＺＺＺは、業務シナリオＡ，Ｂ・・Ｚと比較して小さな単位に分割されていることが多く、より詳細な処理が記述されている。
設定データ１０６は、決まったパラメータが記述されたテキストファイルであり、ＮＥ２０５の種別などオペレーション上の一定の条件に対して使用される。
【０００７】
データアクセス制御部１０７は、サブ処理シナリオ００１，００２・・ＺＺＺによって呼び出され、ＳＱＬ（Structured Query Language）文を使ってＤＢ２０３への入力やＤＢ２０３の値の検索などを行う。
装置アクセス制御部１０８は、サブ処理シナリオ００１，００２・・ＺＺＺによって呼び出され、ＮＥ２０５のパラメータ設定、ＮＥ２０５が保持する情報の取得などを行う。装置アクセス制御部１０８による通信は、ＮＥ２０５が直接解釈できるコマンド文字列でも可能だが、実際にはより抽象的・共通化された指示を発出し、外部の処理変換装置２０４によってＮＥ２０５が解釈できるコマンド文字列に変換する方式も一般的に利用される。つまり、処理変換装置２０４は、制御対象装置であるＮＥ２０５に対するサブ処理シナリオの制御処理命令に文字変換等の何らかの処理を実行する場合に存在する。
【０００８】
このように、ＥＭＳの業務アプリケーションについても、ソフトウェアをあらかじめ部品化して設計・コーディングする考え方を適用することで、ＥＭＳのソフトウェア（例えば、業務シナリオやサブ処理シナリオなど）を部品化することが行われている。これにより、新たな条件に適合したＮＥを管理するＥＭＳの作成に際して、過去に製造した他の条件に適合したＮＥを管理するＥＭＳのソフトウェアを再利用することができる。
【０００９】
なお、ＥＭＳとＮＭＳとの間のインタフェース、ＥＭＳ内の各シナリオ間のインタフェース、ＥＭＳとＮＥとの間のインタフェースなどは、業界標準として「ＴＭＦ５１３（TeleManagement Forum 513）」が定義されている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−０５３６６７号公報
【非特許文献】
【００１１】
【非特許文献１】“ＪＴ−Ｍ３１７０．１  マルチテクノロジネットワーク管理（ＭＴＮＭ）：ビジネスアグリーメント”，[online]，一般社団法人 情報通信技術委員会，［平成２８年３月２９日検索］，インターネット，＜URL: http://www.ttc.or.jp/jp/document_list/pdf/j/STD/JT-M3170.1v1.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、異なる多数のＮＥに対する多数のＥＭＳのソフトウェアコードや機能定義や処理内容が記述された仕様書を一括管理し、開発した複数のＥＭＳにおいてソフトウェアコードや仕様書のどの部分がどの程度共用されているかを簡易に判別し、次のＥＭＳ開発に活用する方法が未だに開発されていない。その為、一人の者が類似するＥＭＳの開発を一括して行えば部品化したソフトウェアの流用も可能であるが、複数の者が多種多様のＥＭＳを同時並行で開発する場合には、部品化したソフトウェアの流用が難しく、結果として同様の目的で異なるソフトウェアを大量に製造してしまうという問題があった。
【００１３】
また、各ＥＭＳのソフトウェアを一括管理しようとした場合に、機能や処理毎に部品化されたＥＭＳのソフトウェアとそのソフトウェア部品が備える処理内容や入出力情報といった特徴を合わせて簡易に管理する方法が未だに開発されていない。その為、例えばＥＭＳのソフトウェアを小さな部品として開発することで、当該部品を流用できる選択肢が一般的に広がるが、流用の選択肢となるソフトウェアの部品数は増大することになる。また、複数の者が独自の判断でＥＭＳのソフトウェアを部品化した場合に、大量の部品群の中に処理の目的や分割する単位が異なる多種多様の部品が混在することになる。その場合、各ＥＭＳのソフトウェアを一括管理したとしても、新しいＥＭＳを開発する際に、過去の膨大な仕様書を検索し類似処理を確認しなければならず、結果として新規開発よりも工数が増えてしまうという問題があった。
【００１４】
本発明は、前記問題に鑑みてなされたものであり、ＥＭＳの業務アプリケーションの開発における負担を軽減することができる、開発支援装置、開発支援方法および開発支援プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１５】
前記課題を解決するため、本発明に係る開発支援装置は、ネットワークを構成する通信装置を管理するＥＭＳの業務アプリケーションの開発を支援する開発支援装置であって、ＥＭＳの業務アプリケーションを構成するソフトウェアのコードおよび当該コードに関する設計書を当該業務アプリケーションが提供する機能毎または当該機能を実現するために必要な処理毎に分割された状態であるソフトウェア部品と、前記ソフトウェア部品から抽出される情報であり、前記業務アプリケーションが提供する機能の特徴、前記業務アプリケーションが提供する機能を実現するために必要な処理の特徴、および、前記業務アプリケーション内で流通するデータ形式または前記通信装置との間で授受するデータ形式の特徴の内の少なくとも何れか一つを示す特徴情報とが対応づけて記憶される記憶部と、前記特徴情報の入力を受け付け、対応するソフトウェア部品を検索する検索処理部と、検索されたソフトウェア部品を出力し、当該ソフトウェア部品の修正を受け付ける製造支援処理部と、前記製造支援処理部が受け付けた、修正された新たなソフトウェア部品を当該ソフトウェア部品から抽出される特徴情報と対応付けて前記記憶部に格納する登録処理部と、を備え、前記データ形式の特徴は、データモデルであり、前記データモデルが前記記憶部に記憶されており、前記登録処理部は、前記新たなソフトウェア部品に対応付けられたデータモデルが既に前記記憶部に登録されているか否かを判定し、登録されていない場合に前記データモデルを前記記憶部に格納する、ことを特徴とする。
【００１６】
また、本発明に係る開発支援方法は、ネットワークを構成する通信装置を管理するＥＭＳの業務アプリケーションの開発を支援する開発支援装置の開発支援方法であって、前記開発支援装置が、ＥＭＳの業務アプリケーションを構成するソフトウェアのコードおよび当該コードに関する設計書を当該業務アプリケーションが提供する機能毎または当該機能を実現するために必要な処理毎に分割された状態であるソフトウェア部品と、前記ソフトウェア部品から抽出される情報であり、前記業務アプリケーションが提供する機能の特徴、前記業務アプリケーションが提供する機能を実現するために必要な処理の特徴、および、前記業務アプリケーション内で流通するデータ形式または前記通信装置との間で授受するデータ形式の特徴の内の少なくとも何れか一つを示す特徴情報とが対応づけて記憶される記憶部を備えており、前記特徴情報の入力を受け付け、対応するソフトウェア部品を検索する検索ステップと、検索されたソフトウェア部品を出力し、当該ソフトウェア部品の修正を受け付ける製造支援処理ステップと、前記製造支援処理ステップで受け付けた、修正された新たなソフトウェア部品を当該ソフトウェア部品から抽出される特徴情報と対応付けて前記記憶部に格納する登録処理ステップと、を実行し、前記データ形式の特徴は、データモデルであり、前記データモデルが前記記憶部に記憶されており、前記登録処理ステップでは、前記新たなソフトウェア部品に対応付けられたデータモデルが既に前記記憶部に登録されているか否かを判定し、登録されていない場合に前記データモデルを前記記憶部に格納する、ことを特徴とする。
【００１７】
また、本発明に係る開発支援プログラムは、前記記載の開発支援方法を開発支援装置としてコンピュータに実行させることを特徴とする。
【００１８】
このようにすることで、本発明に係る開発支援装置、開発支援方法および開発支援プログラムは、業務アプリケーションを構成するソフトウェアのコードなどを分割する単位が予め決められているので、大量の部品群の中に処理の目的や分割単位の異なる多種多様の部品が混在することがなく、特徴情報から類似したソフトウェア部品を容易に検索することができる。その為、本発明に係る開発支援装置、開発支援方法および開発支援プログラムは、検索したソフトウェア部品をユーザに提示することにより、ユーザが望むソフトウェア部品を提供することができるので、ＥＭＳの業務アプリケーションの開発における負担を軽減することができる。
また、本発明に係る開発支援装置、開発支援方法および開発支援プログラムは、既存のソフトウェア部品の再利用を簡易に行うことが可能である。その為、新たなソフトウェア部品の作成をより抑制することができるので、ソフトウェアの部品数が意図せずに増大することがなく、業務アプリケーションの開発における負担がより軽減される。
また、本発明に係る開発支援装置、開発支援方法および開発支援プログラムは、全体としてデータモデルの固定化と共通化を促すことが可能である。その為、新たなデータモデルの作成を抑制することができるので、業務アプリケーションの開発における負担がより軽減される。
【発明の効果】
【００２３】
本発明に係る開発支援装置、開発支援方法および開発支援プログラムによれば、ＥＭＳの業務アプリケーションの開発における負担を軽減することができる。
【図面の簡単な説明】
【００２４】
【図１】従来のＥＭＳの構造例である。
【図２】本実施形態に係る開発支援装置の概略構成図である。
【図３】特徴情報のデータ構成の例示である。
【図４】ＴＭＦ５１３準拠データモデルにおいて、管理対象を一意に特定する情報（ＩＤ）の定義例である。
【図５】定義されたＭＥ（ＭＥ：Managed Element，管理エレメントの略）というデータオブジェクト（流通情報）のなかに入る情報の定義例である。
【図６】本実施形態に係る開発支援装置におけるソフトウェア部品の登録動作を示すシーケンス図である。
【図７】本実施形態に係る開発支援装置における登録済みのソフトウェア部品の検索動作および既存のソフトウェア部品の変更動作を示すシーケンス図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施するための形態を、適宜図面を参照しながら詳細に説明する。
各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。なお、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００２６】
［発明の概要］
本発明者は、ＥＭＳの業務アプリケーションを当該業務アプリケーションが提供する機能毎または当該機能を実現するために必要な処理毎に分割して部品化することにより、開発段階において既存のソフトウェア部品の検索がし易く、また、再利用が容易になることを見出した。ソフトウェア部品の検索には、ソフトウェア部品から抽出される特徴情報を用いる。特徴情報は、例えば、業務アプリケーションが提供する機能の特徴、業務アプリケーションが提供する機能を実現するために必要な処理の特徴、および前記業務アプリケーション内で流通するデータ形式または通信装置との間で授受するデータ形式の特徴などがよい。なお、ソフトウェア部品の検索がし易いとは、ユーザが望むソフトウェア部品を特定できることや、検索する際にユーザがキーワードとして使用できる言葉のバリエーションが豊富であることが含まれる。
【００２７】
≪本実施形態に係る開発支援装置の構成について≫
図２を参照して、本実施形態に係る開発支援装置１について説明する。図２は、本実施形態に係る開発支援装置１の概略構成図である。
開発支援装置１は、ユーザによるＥＭＳの業務アプリケーションの開発を支援する装置である。開発支援装置１は、記憶部１０と、処理部２０と、入出力部（図示せず）とを備えて構成されている。
【００２８】
記憶部１０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。なお、開発支援装置１をプログラム実行処理により実現する場合、記憶部１０には、この開発支援装置１の機能を実現するための開発支援プログラムが格納される。処理部２０は、この開発支援装置１が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。
【００２９】
本実施形態に係る開発支援装置１は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【００３０】
記憶部１０は、業務シナリオライブラリ１１と、サブ処理シナリオライブラリ１２と、データモデルライブラリ１３とを備えて構成されている。
【００３１】
業務シナリオライブラリ１１には、異なる多数のＮＥに対する各ＥＭＳが備える業務シナリオが検索可能に蓄積されている。具体的には、業務シナリオライブラリ１１には、業務アプリケーションを構成するソフトウェアのコードを業務アプリケーションが提供する機能毎（機能の単位）に分割したソースコード１１ａと、ソースコード１１ａに関する仕様書１１ｂと、ソースコード１１ａや仕様書１１ｂから抽出される特徴情報１１ｃとが対応付けられて格納されている。なお、ソースコード１１ａと仕様書１１ｂとをまとめて「ソフトウェア部品」と呼ぶ場合がある。
【００３２】
特徴情報１１ｃは、例えば、業務シナリオの名称やＩＤなどの識別情報、業務概要、サブ処理シナリオの一覧、利用ＥＭＳ名、入出力データモデル（省略して「データモデル」と呼ぶ場合がある）の名称や型などの識別情報やデータモデルが含むパラメータ一覧などであってよく、これら単数またはこれらの組合せで構成される。特徴情報１１ｃは、ソースコード１１ａや仕様書１１ｂを検索するための検索キーとして使用される。
【００３３】
サブ処理シナリオライブラリ１２には、異なる多数のＮＥに対する各ＥＭＳが備えるサブ業務シナリオが検索可能に蓄積されている。具体的には、サブ処理シナリオライブラリ１２には、業務アプリケーションを構成するソフトウェアのコードを業務アプリケーションが提供する機能を実現するために必要な処理毎（処理の単位）に分割したソースコード１２ａと、ソースコード１２ａに関する仕様書１２ｂと、ソースコード１２ａや仕様書１２ｂから抽出される特徴情報１２ｃとが対応付けられて格納されている。なお、ソースコード１２ａと仕様書１２ｂとをまとめて「ソフトウェア部品」と呼ぶ場合がある。
【００３４】
特徴情報１２ｃは、例えば、サブ処理シナリオの名称やＩＤなどの識別情報、処理概要、サブ処理シナリオの処理の対象を示す対向機能、親となる業務シナリオ、入出力データモデル（データモデル）の名称や型などの識別情報やデータモデルが含むパラメータ一覧などであってよく、これら単数またはこれらの組合せで構成される。特徴情報１２ｃは、ソースコード１２ａや仕様書１２ｂを検索するための検索キーとして使用される。
【００３５】
なお、ここでは業務シナリオライブラリ１１とサブ処理シナリオライブラリ１２とを別々の構成として説明したが、業務シナリオライブラリ１１とサブ処理シナリオライブラリ１２とが一つの構成であってもよい。その場合に、特徴情報１１ｃと特徴情報１２ｃとは一つのテーブルとして構成されてもよい。特徴情報１１ｃと特徴情報１２ｃとが一つの特徴情報１４として構成された場合のデータ構成を図３に例示する。
特徴情報１４は、機能１４ａと、業務シナリオ名１４ｂと、業務シナリオＩＤ１４ｃと、業務概要１４ｄと、サブ処理シナリオＩＤ１４ｅと、ソースコード名称１４ｆと、サブ処理概要１４ｇと、カテゴリ１４ｈと、対向機能部１４ｉと、対象データモデル１４ｊと、利用ＥＭＳ１４ｋとからなる。
【００３６】
特徴情報１４の内で、機能１４ａ、業務シナリオ名１４ｂ、業務シナリオＩＤ１４ｃ、業務概要１４ｄ、および利用ＥＭＳ１４ｋは、業務シナリオについての特徴情報１１ｃに関連する項目である。
機能１４ａは、ＥＭＳが備える処理機能（業務シナリオと呼ぶ）を、管理対象によりグルーピングした分類情報であり、ここでの「装置」とは装置全体に対するＥＭＳの処理機能のことを示している。機能１４ａは、この他に、「ユニット」、「インタフェース（パッケージ）」、「サブネットワーク」、「パス」、「セクション」、「警報」、「通知」、「性能情報」、「ＥＭＳサーバ」といった機能が存在してよい。業務シナリオ名１４ｂは、業務シナリオの名称を示す情報である。業務シナリオＩＤ１４ｃは、業務シナリオを識別する情報である。業務概要１４ｄは、業務シナリオの機能の概要を示す情報である。利用ＥＭＳ１４ｋは、業務シナリオが利用されるＥＭＳを示す情報である。
【００３７】
特徴情報１４の内で、サブ処理シナリオＩＤ１４ｅ、ソースコード名称１４ｆ、サブ処理概要１４ｇ、カテゴリ１４ｈ、対向機能部１４ｉおよび対象データモデル１４ｊは、サブ処理シナリオについての特徴情報１２ｃに関連する項目である。
サブ処理シナリオＩＤ１４ｅは、サブ処理シナリオを識別する情報である。ソースコード名称１４ｆは、サブ処理シナリオのソースコードの名称を示す情報である。サブ処理概要１４ｇは、サブ処理シナリオの処理の概要を示す情報である。カテゴリ１４ｈは、サブ処理シナリオの処理の分類を示す情報である。対向機能部１４ｉは、サブ処理シナリオの処理の対象を示す情報である。対象データモデル１４ｊは、サブ処理シナリオの処理で使用するデータモデルの名称を示す情報である。
【００３８】
データモデルライブラリ１３（図２参照）には、データモデル１３ａと、データモデル１３ａに関するデータモデル情報１３ｂとが対応付けられて格納されている。
データモデル１３ａは、業務アプリケーション内で流通する情報のデータ形式や外部機能（例えば、ＮＥ）との間で授受する情報のデータ形式である。データモデル１３ａは、例えば、「ＴＭＦ５１３（TeleManagement Forum 513）」のような業界標準を適用するなどして、汎用的な数種類〜数十種類の定義に予め限定するのがよい。ＴＭＦ５１３準拠データモデルにおいて、管理対象を一意に特定する情報（ＩＤ）の定義例を図４に示す。
【００３９】
図４に示す定義例は、ＴＭＦ５１３で定義されている「ＥＭＳ」、「ＭＥ」、「ＥＰＧ（Equipment Protection Group、装置プロテクショングループ）」などのデータモデルの名称を使ってデータモデル１３ａを定義しており、例えば、「ＥＭＳ」というデータモデル１３ａでは「String16桁の情報（emsName）」によって管理対象を一意に特定するという規定を示している。図４に示す定義例は、例えば、データモデル略称、ObjectNaming規定、処理対象装置、値域、例外からなる。
データモデル略称は、データモデルを省略した名称である。ObjectNaming規定は、データモデルの名称を決定する際の規定である。処理対象装置は、当該データモデルで扱うデータを授受する装置である。値域は、扱うデータの定義を示す情報である。例外は、値域の例外を示す情報であり、値域の例外があれば記載される。
【００４０】
なお、ＥＭＳの管理対象の装置（例えば、ＮＥ）は、装置が備えるパッケージ，光モジュール，伝送パス等だけでも多様な種類が存在し、その管理制御に必要な固有パラメータについても業務アプリケーション内の流通が必要である。そこで、例えば固有パラメータについては、複数パラメータを任意に格納する型（Java（登録商標）言語のMap型など）をオブジェクト内に備えるようにすることで業務アプリケーション内（各機能部間）を流通するデータモデル数を一定数に制限するようにする。
定義されたＭＥというデータオブジェクト（流通情報）のなかに入る情報の実際の定義例を図５に示す。図５に示す定義例では、ＭＥという一つのデータの塊があり、一つ目の属性が「Name」であり、変数名には設定値で定義された情報が入っている。ここでの「ＭＥ」というデータモデルで定義されている「Name」や「Userlabel」は、どのような場合であっても「ＭＥ」というデータモデルに含まれる共通的なデータの定義である。一方、「Additional Information」という属性のなかには個別（独自）の情報を入れるようになっている。例えば、「Additional Information」の中身は配列型で独自の情報を詰め込めるようになっていてよい。このようにして、データモデル数が一定数に制限されることで、サブ処理シナリオが処理すべきデータの入出力パターンが限られるため、結果としてサブ処理シナリオの数が抑制され、サブ処理シナリオの共用の可能性が高まる。
【００４１】
データモデル情報１３ｂは、例えば、データモデルの名称や型などの識別情報、データモデルが含むパラメータ一覧などであってよく、これら単数またはこれらの組合せで構成される。データモデル情報１３ｂは、データモデル１３ａを検索するための検索キーとして使用される。
【００４２】
図２に戻って、処理部２０について説明を行う。処理部２０は、検索処理部２１と、製造支援処理部２２と、登録処理部２３と、ユーザインタフェース部２４とを備えて構成されている。
検索処理部２１は、業務シナリオライブラリ１１やサブ処理シナリオライブラリ１２から業務シナリオやサブ処理シナリオを検索する。具体的には、検索処理部２１は、ユーザから業務シナリオやサブ処理シナリオの特徴情報の入力を受け付けて、入力された特徴情報に対応するソフトウェア部品を出力する。
【００４３】
製造支援処理部２２は、検索処理部２１によって検出されたソフトウェア部品をユーザに対して表示させ、当該ソフトウェア部品の修正を受け付ける。具体的には、製造支援処理部２２は、過去に開発したＥＭＳ業務アプリケーションの設計書やソースコードを表示し、新しいＥＭＳに必要な処理への修正変更を促し、既存ソースコードや仕様書に対するパラメータの置き換えや処理の追加・削除を画面上から行わせる。
【００４４】
登録処理部２３は、製造支援処理部２２によって作成された新しいソースコードや仕様書を、検索や再利用が可能な別の仕様書やコードとして業務シナリオライブラリ１１、サブ処理シナリオライブラリ１２に格納する。なお、本実施形態の開発支援装置１以外で製造されたソースコードや仕様書を格納することも可能とできるようにするのがよい。また、登録処理部２３は、データモデルをデータモデルライブラリ１３に格納する。
【００４５】
ユーザインタフェース部２４は、開発支援装置１が備える機能（例えば、検索処理部２１、製造支援処理部２２、登録処理部２３）を、図示しない入出力部を介してユーザにグラフィカルに提供する。入出力部（図示せず）は、例えば、ユーザが操作を行う端末との間でデータの通信を行うハードウェアである。
【００４６】
≪本実施形態に係る開発支援装置の動作について≫
以下では、本実施形態に係る開発支援装置１の動作について説明する。
最初に、図６を参照して、新しい業務アプリケーションに関するソフトウェア部品の登録動作について説明を行い、その後に、図７を参照して、登録済みのソフトウェア部品の検索および既存のソフトウェア部品を変更した新たなソフトウェア部品の登録動作について説明を行う。
【００４７】
＜新しい業務アプリケーションに関するソフトウェア部品の登録動作＞
図６を参照して、新しい業務アプリケーションにおけるソフトウェア部品の登録動作について説明する。最初に、ユーザが新たな業務シナリオ（新業務シナリオ）の特徴情報などの登録を行うために、ユーザインタフェース部２４は、ユーザから新たな業務シナリオ（新業務シナリオ）の特徴情報の登録を受け付け（ステップＳ１）、登録された特徴情報を登録処理部２３に出力する（ステップＳ２）。ここで登録される特徴情報は、例えば、業務シナリオの名称やＩＤなどの識別情報、業務概要、サブ処理シナリオの一覧、利用ＥＭＳ名、データモデルの名称や型などの識別情報やデータモデルが含むパラメータ一覧などである。
【００４８】
続いて、登録処理部２３は、データモデルライブラリ１３に対して、特徴情報として登録されたデータモデルが既に登録されているか否かの問い合わせを行い（ステップＳ３）、その応答を受信する（ステップＳ４）。そして、登録処理部２３は、応答結果をユーザインタフェース部２４に出力し（ステップＳ５）、ユーザインタフェース部２４を介して応答結果がユーザに通知される。
【００４９】
データモデルが登録されていない場合にユーザが新たなデータモデル（新データモデル）の登録を行うために、ユーザインタフェース部２４は、新データモデルの登録を受け付け（ステップＳ６）、登録された新データモデルを登録処理部２３に対して出力する（ステップＳ７）。続いて、登録処理部２３は、新データモデルをデータモデルライブラリ１３に送信し（ステップＳ８）、データモデルライブラリ１３は新データモデルを格納する（ステップＳ９）。そして、登録処理部２３は、データモデルライブラリ１３からデータモデルの登録結果の応答（登録ＯＫ）を受信し（ステップＳ１０）、登録結果（登録ＯＫ）をユーザインタフェース部２４に出力する（ステップＳ１１）。これにより、ユーザインタフェース部２４を介して登録結果（登録ＯＫ）がユーザに通知される。なお、データモデルが既に登録されている場合には、データモデルの登録を行わずにステップＳ７〜Ｓ１１の処理を省略する。
【００５０】
続いて、ユーザインタフェース部２４は、ユーザから特徴情報の登録指示を受け付け、その特徴情報の登録指示を登録処理部２３に出力する（ステップＳ１２）。登録処理部２３は、ステップＳ１で登録された業務シナリオに関する特徴情報を業務シナリオライブラリ１１に送信する（ステップＳ１３）。また、登録処理部２３は、サブ処理シナリオに関する特徴情報をサブ処理シナリオライブラリ１２に送信する（ステップＳ１４）。これにより、業務シナリオライブラリ１１およびサブ処理シナリオライブラリ１２には、特徴情報が格納される（ステップＳ１５）。
【００５１】
続いて、ユーザが業務シナリオやサブ処理シナリオのソースコードおよびこれらの仕様書の登録を行うために、ユーザインタフェース部２４は、ユーザからソースコードおよび仕様書の登録を受け付け（ステップＳ１６）、登録された情報を登録処理部２３に出力する（ステップＳ１７）。次に、登録処理部２３は、業務シナリオのソースコードおよび仕様書を業務シナリオライブラリ１１に送信する（ステップＳ１８）。また、登録処理部２３は、サブ処理シナリオのソースコードおよび仕様書をサブ処理シナリオライブラリ１２に送信する（ステップＳ１９）。これにより、業務シナリオライブラリ１１およびサブ処理シナリオライブラリ１２には、ステップＳ１５で格納された特徴情報に対応付けてソースコードおよび仕様書が格納される（ステップＳ２０）。
【００５２】
＜登録済みのソフトウェア部品の検索および既存のソフトウェア部品を変更した新たなソフトウェア部品の登録動作＞
図７を参照して、登録済みのソフトウェア部品の検索および既存のソフトウェア部品を変更した新たなソフトウェア部品の登録動作について説明する。最初に、ユーザインタフェース部２４は、ユーザから新たに作成しようと考える業務シナリオに類似する業務シナリオの選択情報の入力を受け付け（ステップＴ１）、入力された業務選択情報を検索処理部２１に出力する（ステップＴ２）。ここで入力される業務選択情報は、業務シナリオを検索するためのキーとなる特徴情報である。
【００５３】
続いて、検索処理部２１は、業務選択情報として入力された特徴情報に対応する業務シナリオを業務シナリオライブラリ１１に対して問い合わせを行い（ステップＴ３）、その検索結果として対応する業務シナリオを受信する（ステップＴ４）。なお、業務シナリオライブラリ１１には、異なる多数のＮＥに対する複数のＥＭＳの業務シナリオが格納されているので、複数のＥＭＳの業務シナリオが検索される。そして、検索処理部２１は、検索結果をユーザインタフェース部２４に出力し（ステップＴ５）、ユーザインタフェース部２４を介して検索結果がユーザに通知される。
【００５４】
続いて、ユーザが検索結果から特定の業務シナリオ（ここでは、「ＸＸシステムのＹＹ業務の業務シナリオ」）を選択することにより、ユーザインタフェース部２４は、選択された業務シナリオを識別する情報を受け付け、入力された業務シナリオの識別情報を検索処理部２１に出力する（ステップＴ６）。続いて、検索処理部２１は、業務シナリオの識別情報に対応するサブ処理シナリオをサブ処理シナリオライブラリ１２に対して問い合わせを行い（ステップＴ７）、その検索結果として例えばサブ処理シナリオの一覧を受信する（ステップＴ８）。なお、業務シナリオの識別情報以外の特徴情報を用いてサブ処理シナリオライブラリ１２に対して問い合わせを行い、部分一致するサブ処理シナリオのすべてを応答として受信してもよい。そして、検索処理部２１は、検索結果をユーザインタフェース部２４に出力し（ステップＴ９）、ユーザインタフェース部２４を介して検索結果がユーザに通知される。
【００５５】
続いて、ユーザがサブ処理シナリオの取捨選択を行うことにより、ユーザインタフェース部２４は、ユーザから選択したサブ処理シナリオの識別情報の入力を受け付け（ステップＴ１０）、入力された識別情報を検索処理部２１に出力する（ステップＴ１１）。ここで入力される識別情報は、サブ処理シナリオの特徴情報である。続いて、検索処理部２１は、サブ処理シナリオの識別情報に対応するサブ処理シナリオをサブ処理シナリオライブラリ１２に対して問い合わせを行い（ステップＴ１２）、その検索結果としてサブ処理シナリオを受信する（ステップＴ１３）。そして、検索処理部２１は、検索結果をユーザインタフェース部２４に出力し（ステップＴ１４）、ユーザインタフェース部２４を介して検索結果がユーザに通知される。
【００５６】
続いて、ユーザが業務シナリオやサブ処理シナリオの修正指示を入力することにより、ユーザインタフェース部２４は、ユーザからシナリオの修正指示を受け付け、入力された修正指示を製造支援処理部２２に出力する（ステップＴ１５）。製造支援処理部２２は、修正指示を受けたシナリオの修正画面をユーザインタフェース部２４に出力し（ステップＴ１６）、ユーザインタフェース部２４を介して修正画面がユーザに表示される。ユーザは、修正画面に基づいて新たなシナリオ（新シナリオ）の作成を行い、ユーザインタフェース部２４は、新シナリオの登録を受け付ける（ステップＴ１７）。
【００５７】
続いて、ユーザインタフェース部２４は、変更された業務シナリオを登録処理部２３に出力し（ステップＴ１８）、登録処理部２３は業務シナリオライブラリ１１に対して変更された業務シナリオの登録を依頼する（ステップＴ１９）。これにより、変更された業務シナリオは、特徴情報に対応づけて業務シナリオライブラリ１１に格納される。なお、変更された業務シナリオの特徴情報は、変更前の業務シナリオの特徴情報を流用してもよいし、新たにユーザによって登録されてもよい。
【００５８】
また、ユーザインタフェース部２４は、変更されたサブ処理シナリオを登録処理部２３に出力し（ステップＴ２０）、登録処理部２３はサブ処理シナリオライブラリ１２に対して変更されたサブ処理シナリオの登録を依頼する（ステップＴ２１）。これにより、変更されたサブ処理シナリオは、特徴情報に対応づけてサブ処理シナリオライブラリ１２に格納される。なお、変更されたサブ処理シナリオの特徴情報は、変更前のサブ処理シナリオの特徴情報を流用してもよいし、新たにユーザによって登録されてもよい。
【００５９】
続いて、業務シナリオライブラリ１１は、変更された業務シナリオの登録の完了を登録処理部２３に通知する（ステップＴ２２）。また、サブ処理シナリオライブラリ１２は、変更されたサブ処理シナリオの登録の完了を登録処理部２３に通知する（ステップＴ２３）。登録処理部２３は、登録結果（完了）をユーザインタフェース部２４に出力し（ステップＴ２４）、ユーザインタフェース部２４を介して登録結果がユーザに通知される。
【００６０】
以上のように、本実施形態に係る開発支援装置１は、業務アプリケーションを構成するソフトウェアのコードなどを分割する単位が予め決められているので、大量の部品群の中に処理の目的や分割単位が異なる多種多様の部品が混在することがなく、特徴情報から類似したソフトウェア部品を容易に検索することができる。その為、本発明に係る開発支援装置１は、検索したソフトウェア部品をユーザに提示することにより、ユーザが望むソフトウェア部品を提供することができるので、ＥＭＳの業務アプリケーションの開発における負担を軽減することができる。
【００６１】
また、本実施形態に係る開発支援装置１は、新たなソフトウェア部品に対応付けられたデータモデルが既にデータモデルライブラリ１３に登録されているか否かを判定し、登録されていない場合にデータモデルをデータモデルライブラリ１３に格納する。このようにすることで、全体としてデータモデルの固定化と共通化を促すことが可能である。その為、新たなデータモデルの作成を抑制することができるので、業務アプリケーションの開発における負担がより軽減される。
【００６２】
［変形例］
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、特許請求の範囲の趣旨を変えない範囲で実施することができる。実施形態の変形例を以下に示す。
【００６３】
本実施形態では、ＴＭＦ５１３を適用したデータモデルを想定して説明していたが、データモデルの形式はこれに限定されるものではない。例えば、データモデルはＴＭＦ５１３以外の標準に準拠していてもよい。
【００６４】
また、本実施形態では、開発支援装置１が業務シナリオライブラリ１１およびサブ処理シナリオライブラリ１２を有する構成としていたが、何れか一方のみを有するようにしてもよい。
【００６５】
また、本実施形態では、図６および図７を参照して、開発支援装置１の動作を説明したが、ここでの処理の内容や順番はあくまれでも例示であって、開発支援装置１の動作がこれに限定されるものではない。例えば、図６のステップＳ１６に示す「ソースコードおよび仕様書の登録」は、ステップＳ１に示す特徴情報の登録と同じタイミングで行われてもよい。
【符号の説明】
【００６６】
１      開発支援装置
１０    記憶部
１１    業務シナリオライブラリ
１２    サブ処理シナリオライブラリ
１３    データモデルライブラリ
２０    処理部
２１    検索処理部
２２    製造支援処理部
２３    登録処理部
２４    ユーザインタフェース部
【図１】
0006475183.tif 000002
【図２】
0006475183.tif 000003
【図３】
0006475183.tif 000004
【図４】
0006475183.tif 000005
【図５】
0006475183.tif 000006
【図６】
0006475183.tif 000007
【図７】
0006475183.tif 000008