以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した図面に関する作業を支援するコンピュータである。
有向グラフは、ノードとなる要素を含み、要素間が方向付きのエッジで接続されたグラフである。ノードは、例えば、部品に対応する。エッジは、例えば、矢印に対応する。部品は、例えば、オブジェクトである。接続部品は、例えば、矢印である。図面は、例えば、処理を示すオブジェクト、および、オブジェクト間の接続関係を示す矢印を用いて、処理の流れを視覚的に表したフロー図である。図面に関する作業は、図面を作成する作業、図面を修正する作業、図面を検証する作業、または、図面から情報を読み取る作業などである。
ここで、図面に関する作業が困難な場合があり、作業負担の増大化を招き、または、作業ミスの発生を招くことがある。例えば、複数の図面のいずれかの図面に配置されたいずれかのオブジェクトが示す処理の内容を変更した場合、他のいずれの処理に影響するかを、複数の図面から読み取ることが難しい。
具体的には、いずれかのフロー図に配置されたいずれかのオブジェクトが示す処理の内容を変更した場合、複数のフロー図に同じオブジェクトが存在すると、複数のフロー図のそれぞれのフロー図を確認し、他のいずれの処理に影響するかを把握することになる。このため、負担の増大化を招き、または、把握ミスの発生を招くことがある。
そこで、本実施の形態では、複数の図面に基づく部品間の関係性を示す情報を生成し、複数の図面に基づく部品間の関係性を示す情報に基づいて、図面に関する作業を支援することができる情報処理方法について説明する。
図1において、情報処理装置100は、複数の図面101を取得する。情報処理装置100は、例えば、利用者の操作入力に基づいて、図面101を取得する。情報処理装置100は、情報処理装置100とは異なる装置から、図面101を受信する場合があってもよい。
情報処理装置100は、複数の図面101に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の関係性を示す情報を生成する。情報処理装置100は、例えば、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す順序情報110を生成する。順序関係は、接続部品の方向で規定される前後関係である。順序情報110は、例えば、図4を用いて後述する位置関係テーブル400に対応する。
情報処理装置100は、生成した情報に基づいて、所定の図面102に関する作業を支援する。所定の図面102は、複数の図面101のいずれかである。所定の図面102は、複数の図面101とは異なってもよい。所定の図面102は、複数あってもよい。所定の図面102に関する作業は、例えば、所定の図面102から情報を読み取る作業である。
情報処理装置100は、例えば、いずれかの部品の指定を受け付ける。そして、情報処理装置100は、生成した順序情報110に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報103を出力する。
情報処理装置100は、具体的には、所定の図面102を表示した際、所定の図面102のうちのいずれかの部品の指定を受け付ける。情報処理装置100は、利用者の操作入力に基づいて、いずれかの部品の識別子を受け付ける場合があってもよい。そして、情報処理装置100は、指定の部品の直前に順序付けられた部品の一覧、および、直後に順序付けられた部品の一覧を、情報103として表示する。
これにより、情報処理装置100は、所定の図面102を確認しなくても、指定の部品が影響する部品を把握することができ、所定の図面102から情報を読み取る作業にかかる負担の低減化を図ることができ、作業ミスの発生を抑制することができる。情報処理装置100は、例えば、部品がデータやプログラムを示す場合、指定の部品が示すデータやプログラムの変更が、他のいずれの部品が示すデータやプログラムに影響するかを把握することができる。結果として、情報処理装置100は、プログラムを変更する際にかかる負担の低減化を図ることができる。
ここでは、情報処理装置100が、自装置で情報103を表示する場合について説明したが、これに限らない。例えば、情報処理装置100が、情報処理装置100とは異なる他装置に、情報103を表示させる場合があってもよい。具体的には、図2に後述する情報処理システム200のように、情報処理装置100は、他装置に情報103を表示させる。
(情報処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、クライアント装置201とを含む。
情報処理システム200において、情報処理装置100とクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
情報処理装置100は、複数の図面を取得する。図面は、部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現する。部品は、例えば、オブジェクトである。接続部品は、例えば、矢印である。図面は、例えば、処理を示すオブジェクト、および、オブジェクト間の接続関係を示す矢印を用いて、処理の流れを視覚的に表したフロー図である。複数の図面は、例えば、クライアント装置201から取得される。複数の図面は、利用者の操作入力に基づいて取得されてもよい。
情報処理装置100は、複数の図面に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の関係性を示す情報を生成する。また、情報処理装置100は、部品の属性を示す情報を生成してもよい。情報処理装置100は、例えば、複数の図面に基づいて図4〜図7に後述する各種テーブル400〜700を生成する。情報処理装置100が各種テーブル400〜700を生成する一例は、例えば、図10〜図21を用いて後述する。
情報処理装置100は、生成した情報に基づいて、所定の図面に関する作業を支援する。所定の図面は、複数の図面のいずれかである。所定の図面は、複数の図面とは異なる図面であってもよい。所定の図面は、例えば、作成中の図面であってもよい。所定の図面は、複数あってもよい。所定の図面に関する作業は、例えば、下記の第1の作業、第2の作業、第3の作業、第4の作業、および、第5の作業などである。
第1の作業は、図面を作成する作業である。第1の作業は、例えば、フロー図を作成する作業である。情報処理装置100は、第1の作業に対し、描画サポートを実施する。情報処理装置100は、例えば、フロー図のいずれかのオブジェクトを始点または終点とする矢印がフロー図に配置される場合に、当該オブジェクトと接続するオブジェクトの候補を表示する。表示先は、例えば、クライアント装置201である。情報処理装置100が描画サポートを実施する一例は、例えば、図22〜図25を用いて後述する。
第2の作業は、図面の誤りをチェックする作業である。第2の作業は、例えば、フロー図の誤りをチェックする作業である。情報処理装置100は、第2の作業に対し、誤りチェックを実施する。情報処理装置100は、例えば、接続関係がある2つのオブジェクトの位置関係の誤りをチェックし、または、オブジェクトの属性の誤りをチェックし、チェック結果を表示する。表示先は、例えば、クライアント装置201である。情報処理装置100が誤りチェックを実施する一例は、例えば、図26〜図28を用いて後述する。
第3の作業は、図面から部品の影響範囲を読み取る作業である。第3の作業は、例えば、いずれかのオブジェクトから他のオブジェクトへの影響範囲を、フロー図から読み取る作業である。情報処理装置100は、第3の作業に対し、影響範囲表示を実施する。情報処理装置100は、例えば、いずれかのオブジェクトが指定されると、指定されたオブジェクトの影響範囲を表示する。表示先は、例えば、クライアント装置201である。情報処理装置100が影響範囲表示を実施する一例は、例えば、図29および図30を用いて後述する。
第4の作業は、図面を修正する作業である。第4の作業は、例えば、フロー図を修正する作業である。第4の作業は、具体的には、フロー図のうちのオブジェクトを移動し、フロー図のうちのオブジェクトを変更し、または、フロー図のうちの矢印を変更する作業である。情報処理装置100は、第4の作業に対し、修正サポートを実施する。情報処理装置100は、例えば、オブジェクトの移動、オブジェクトの変更、および、矢印の移動をチェックし、チェック結果を表示する。表示先は、例えば、クライアント装置201である。情報処理装置100が修正サポートを実施する一例は、例えば、図31〜図47を用いて後述する。
第5の作業は、図面から部品の影響度を読み取る作業である。第5の作業は、例えば、いずれかのオブジェクトから他のオブジェクトへの影響度を、フロー図から読み取る作業である。情報処理装置100は、第5の作業に対し、影響度表示を実施する。情報処理装置100は、例えば、いずれかのオブジェクトが指定されると、指定されたオブジェクトの影響度を表示する。表示先は、例えば、クライアント装置201である。情報処理装置100が影響度表示を実施する一例は、例えば、図48〜図52を用いて後述する。情報処理装置100は、例えば、サーバやPC(Personal Computer)などである。
クライアント装置201は、所定の図面に関する作業が実施されるコンピュータである。クライアント装置201は、図面を情報処理装置100に送信する。クライアント装置201は、所定の図面に関する作業における利用者の操作入力を、情報処理装置100に送信する。クライアント装置201は、情報処理装置100の制御にしたがって、ディスプレイの表示内容を変更する。クライアント装置201は、サーバ、PC、タブレット端末、スマートフォンなどである。
ここでは、情報処理装置100が、各種テーブル400〜700を生成し、かつ、第1の作業、第2の作業、第3の作業、第4の作業、および、第5の作業などを支援する場合について説明したが、これに限らない。例えば、各種テーブル400〜700を生成する情報処理装置100と、第1の作業、第2の作業、第3の作業、第4の作業、および、第5の作業などを支援する情報処理装置100とが異なる装置であり、協働する場合があってもよい。また、例えば、情報処理装置100が、第1の作業、第2の作業、第3の作業、第4の作業、および、第5の作業のいずれかを支援しない場合があってもよい。
(情報処理装置100のハードウェア構成例)
次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。メモリ302は、図4〜図7に後述する各種テーブルを記憶する。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F304は、CPU301の制御にしたがって記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。記録媒体305は、図4〜図7に後述する各種テーブルを記憶してもよい。
情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(位置関係テーブル400の記憶内容)
次に、図4を用いて、位置関係テーブル400の記憶内容の一例について説明する。位置関係テーブル400は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図4は、位置関係テーブル400の記憶内容の一例を示す説明図である。図4に示すように、位置関係テーブル400は、始点と、終点と、パターン数と、相対位置情報とのフィールドを有する。相対位置情報のフィールドは、始点相対位置と、終点相対位置とのフィールドを有する。位置関係テーブル400は、接続関係があるオブジェクトの組み合わせごとに各フィールドに情報を設定することにより、位置関係情報がレコードとして記憶される。
始点のフィールドには、接続関係があるオブジェクトの組み合わせのうち、矢印の始点側に接続されたオブジェクトのオブジェクト名が設定される。終点のフィールドには、接続関係があるオブジェクトの組み合わせのうち、矢印の終点側に接続されたオブジェクトのオブジェクト名が設定される。
パターン数は、複数の図面のうち、始点のオブジェクトと終点のオブジェクトとの組み合わせであり、位置関係が同一である組み合わせの数が設定される。始点相対位置は、始点のオブジェクトと終点のオブジェクトとの間での、始点のオブジェクトの相対位置が設定される。終点相対位置は、始点のオブジェクトと終点のオブジェクトとの間での、終点のオブジェクトの相対位置が設定される。
(影響度テーブル500の記憶内容)
次に、図5を用いて、影響度テーブル500の記憶内容の一例について説明する。影響度テーブル500は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図5は、影響度テーブル500の記憶内容の一例を示す説明図である。図5に示すように、影響度テーブル500は、オブジェクトと、オブジェクト種別と、相対始点数と、相対終点数と、始点影響度と、終点影響度と、全体影響度と、始点候補と、終点候補とのフィールドを有する。影響度テーブル500は、オブジェクトごとに各フィールドに情報を設定することにより、影響度情報がレコードとして記憶される。
オブジェクトのフィールドには、オブジェクトのオブジェクト名が設定される。オブジェクト種別のフィールドには、オブジェクトのオブジェクト種別が設定される。相対始点数のフィールドには、オブジェクトを終点として接続される始点となる他のオブジェクトの数が設定される。相対終点数のフィールドには、オブジェクトを始点として接続される終点となる他のオブジェクトの数が設定される。
始点影響度のフィールドには、相対始点数に基づいて算出される、始点となる他のオブジェクトへの影響度である始点影響度が設定される。始点影響度は、例えば、相対始点数×始点係数である。終点影響度のフィールドには、相対終点数に基づいて算出される、終点となる他のオブジェクトへの影響度である終点影響度が設定される。終点影響度は、例えば、相対終点数×終点係数である。
全体影響度のフィールドには、始点影響度と終点影響度との和が設定される。始点候補のフィールドには、オブジェクトを終点として接続される始点となる他のオブジェクトのオブジェクト名が設定される。終点候補のフィールドには、オブジェクトを始点として接続される終点となる他のオブジェクトのオブジェクト名が設定される。
(配置規則テーブル600の記憶内容)
次に、図6を用いて、配置規則テーブル600の記憶内容の一例について説明する。配置規則テーブル600は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図6は、配置規則テーブル600の記憶内容の一例を示す説明図である。図6に示すように、配置規則テーブル600は、X軸要素と、Y軸要素と、X軸とY軸との交点とのフィールドを有する。配置規則テーブル600は、オブジェクトのオブジェクト種別の組み合わせごとに各フィールドに情報を設定することにより、配置規則情報がレコードとして記憶される。
X軸要素のフィールドには、終点になるオブジェクトのオブジェクト種別が設定される。Y軸要素のフィールドには、始点になるオブジェクトのオブジェクト種別が設定される。X軸とY軸との交点のフィールドには、所定の種別の組み合わせのオブジェクトを配置する際に、終点のオブジェクトを配置可能になる終点相対位置が設定される。
(属性テーブル700の記憶内容)
次に、図7を用いて、属性テーブル700の記憶内容の一例について説明する。属性テーブル700は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図7は、属性テーブル700の記憶内容の一例を示す説明図である。図7に示すように、属性テーブル700は、オブジェクト種別と、形状と、色と、始点係数と、終点係数とのフィールドを有する。属性テーブル700は、オブジェクト種別ごとに各フィールドに情報を設定することにより、属性情報がレコードとして記憶される。
オブジェクト種別のフィールドには、オブジェクトのオブジェクト種別が設定される。形状のフィールドには、オブジェクトの形状が設定される。色のフィールドには、オブジェクトの色が設定される。始点係数のフィールドには、始点係数が設定される。終点係数のフィールドには、終点係数が設定される。
(クライアント装置201のハードウェア構成例)
次に、図8を用いて、図2に示した情報処理システム200に含まれるクライアント装置201のハードウェア構成例について説明する。
図8は、クライアント装置201のハードウェア構成例を示すブロック図である。図8において、クライアント装置201は、CPU801と、メモリ802と、ネットワークI/F803と、記録媒体I/F804と、記録媒体805と、ディスプレイ806と、入力装置807とを有する。また、各構成部は、バス800によってそれぞれ接続される。
ここで、CPU801は、クライアント装置201の全体の制御を司る。メモリ802は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU801のワークエリアとして使用される。メモリ802に記憶されるプログラムは、CPU801にロードされることで、コーディングされている処理をCPU801に実行させる。
ネットワークI/F803は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F803は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F803には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F804は、CPU801の制御にしたがって記録媒体805に対するデータのリード/ライトを制御する。記録媒体I/F804は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体805は、記録媒体I/F804の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体805は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体805は、クライアント装置201から着脱可能であってもよい。
ディスプレイ806は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ806は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。入力装置807は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置807は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
クライアント装置201は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、クライアント装置201は、記録媒体I/F804や記録媒体805を複数有していてもよい。また、クライアント装置201は、記録媒体I/F804や記録媒体805を有していなくてもよい。
(情報処理装置100の機能的構成例)
次に、図9を用いて、情報処理装置100の機能的構成例について説明する。
図9は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部900と、取得部901と、生成部902と、出力部903とを含む。
記憶部900は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部900が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部900が、情報処理装置100とは異なる装置に含まれ、記憶部900の記憶内容が情報処理装置100から参照可能である場合があってもよい。
取得部901〜出力部903は、制御部の一例として機能する。取得部901〜出力部903は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部900は、各機能部の処理において参照され、または更新される各種情報を記憶する。
記憶部900は、複数の図面を記憶する。図面は、部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現する。図面は、例えば、フロー図である。複数の図面は、共通する属性を有する。複数の図面は、例えば、同一のオブジェクトを含む。複数の図面は、例えば、1つのソフトウェアを実現する複数のプログラムに対応する。
部品は、データまたはプログラムを示す。部品は、処理内容を示す。部品は、例えば、オブジェクトである。同一のデータまたはプログラムを示す複数の部品は、例えば、同一の部品として扱うことが可能である。接続部品は、例えば、矢印である。接続部品は、接続部品の第1の点から外部に伸ばした線分上にある部品と、接続部品の第2の点から外部に伸ばした線分上にある部品との接続関係を示す。順序関係は、接続部品が示す方向で規定される前後関係である。順序関係は、例えば、矢印の始点に接続されたオブジェクトを「前」とし、矢印の終点に接続されたオブジェクトを「後」とする順序関係である。終点は、例えば、矢印の鏃側である。始点は、例えば、矢印の鏃側の反対側である。これにより、記憶部900は、複数の図面を、各機能部が参照可能にすることができる。
記憶部900は、部品間の関係性を示す情報を記憶する。記憶部900は、例えば、順序情報を記憶する。順序情報は、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す対応情報である。記憶部900は、具体的には、図4に示した位置関係テーブル400や図5に示した影響度テーブル500を記憶する。これにより、記憶部900は、図4に示した位置関係テーブル400や図5に示した影響度テーブル500を、各機能部が参照可能にすることができる。
記憶部900は、例えば、位置関係情報を記憶する。位置関係情報は、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す対応情報である。記憶部900は、具体的には、図6に示した配置規則テーブル600を記憶する。これにより、記憶部900は、図6に示した配置規則テーブル600を、各機能部が参照可能にすることができる。
記憶部900は、例えば、属性情報を記憶する。属性情報は、部品の種別ごとに、部品の属性を対応付けて示す対応情報である。属性は、部品の形状または色である。記憶部900は、具体的には、図7に示した属性テーブル700を記憶する。これにより、記憶部900は、図7に示した属性テーブル700を、各機能部が参照可能にすることができる。
取得部901は、各機能部の処理に用いられる各種情報を取得する。取得部901は、例えば、各機能部の処理に用いられる各種情報を記憶部900から取得し、各機能部に出力してもよい。取得部901は、例えば、各機能部の処理に用いられる各種情報を、情報処理装置100とは異なる装置から取得し、記憶部900に記憶し、または、各機能部に出力してもよい。
取得部901は、例えば、いずれかの部品の指定を受け付けてもよい。取得部901は、例えば、所定の図面のうちのいずれかの部品を始点または終点として示す接続部品の配置操作を受け付けてもよい。所定の図面は、部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現する。所定の図面は、例えば、複数の図面のいずれかの図面である。所定の図面は、複数の図面とは異なる図面であってもよい。
取得部901は、例えば、所定の図面を受け付けてもよい。取得部901は、例えば、所定の図面のうちで接続関係がある2つの部品のいずれかの部品の移動操作を受け付けてもよい。取得部901は、例えば、所定の図面のうちのいずれかの接続部品による接続関係の変更操作を受け付けてもよい。これにより、取得部901は、各機能部の処理に用いられる各種情報を、各機能部に提供することができる。
生成部902は、複数の図面に基づいて、部品間の関係性を示す情報を生成する。生成部902は、例えば、複数の図面に基づいて、順序情報を生成する。生成部902は、具体的には、複数のフロー図におけるオブジェクトの組み合わせごとに位置関係を解析し、図4に示した位置関係テーブル400や図5に示した影響度テーブル500を生成する。これにより、生成部902は、オブジェクト間の位置関係の基準を特定可能にし、所定の図面におけるいずれかのオブジェクト間の位置関係が基準に合致するか否かを判断可能にすることができる。
生成部902は、例えば、複数の図面に基づいて、位置関係情報を生成する。生成部902は、具体的には、複数のフロー図におけるオブジェクトのオブジェクト種別の組み合わせごとに位置関係を解析し、図6に示した配置規則テーブル600を生成する。これにより、生成部902は、オブジェクト種別の組み合わせごとの位置関係の基準を特定可能にし、所定の図面におけるいずれかのオブジェクト種別の組み合わせの位置関係が基準に合致するか否かを判断可能にすることができる。
生成部902は、例えば、複数の図面に基づいて、属性情報を生成する。生成部902は、具体的には、複数のフロー図におけるオブジェクトの形状や色を解析し、図7に示した属性テーブル700を生成する。これにより、生成部902は、オブジェクトの形状や色の基準を特定可能にし、所定の図面におけるオブジェクトの形状や色が基準に合致するか否かを判断可能にすることができる。各種テーブル400〜700を生成する一例は、例えば、図10〜図21を用いて後述する。
出力部903は、情報を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。
出力部903は、例えば、所定の図面のうちのいずれかの部品を始点または終点として示す接続部品が配置された場合、配置された接続部品の方向を参照し、生成した位置関係情報に基づいて、いずれかの部品と接続される部品に関する情報を出力する。部品に関する情報は、部品の種別を含む。出力部903は、具体的には、配置済みのオブジェクトを始点または終点として示す矢印が配置された場合、矢印が引かれた方向を検出する。出力部903は、位置関係テーブル400や配置規則テーブル600に基づいて、配置済みのオブジェクトと接続され、終点または始点となるオブジェクトの候補に関する情報として、オブジェクト名やオブジェクト種別を表示する。表示先は、例えば、他装置であってもよい。
オブジェクトの候補に関する情報を表示する一例は、例えば、図22〜図25を用いて後述する。これにより、出力部903は、配置済みのオブジェクトと接続されるオブジェクトの候補を把握しやすくすることができ、フロー図の作成にかかる負担の低減化を図ることができる。
出力部903は、例えば、所定の図面のうちで接続関係がある2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定する。そして、出力部903は、判定結果を出力する。出力部903は、具体的には、接続関係がある2つのオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するか否かを判定する。そして、出力部903は、判定結果を表示する。表示先は、他装置であってもよい。
出力部903は、例えば、生成した属性情報に基づいて、所定の図面のうちのいずれかの部品の属性が、いずれかの部品の種別に対応する属性に含まれるか否かを判定する。そして、出力部903は、判定結果を出力する。出力部903は、具体的には、属性テーブル700に基づいて、オブジェクトの形状や色が、基準に合致するか否かを判定する。そして、出力部903は、判定結果を表示する。表示先は、例えば、他装置であってもよい。
オブジェクト間の位置関係やオブジェクトの属性が基準に合致するか否かを判定する一例は、例えば、図26〜図28を用いて後述する。これにより、出力部903は、オブジェクト間の位置関係やオブジェクトの属性が基準に合致するか否かを把握しやすくすることができ、フロー図の修正にかかる負担の低減化を図ることができる。
出力部903は、例えば、いずれかの部品の指定を受け付けた場合、生成した順序情報に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報を出力する。部品に関する情報は、部品の種別を含む。出力部903は、具体的には、指定されたオブジェクトの直前に順序付けられたオブジェクト、および、直後に順序付けられたオブジェクトの少なくともいずれかのオブジェクトのオブジェクト名やオブジェクト種別を表示する。表示先は、他装置であってもよい。
オブジェクト名やオブジェクト種別を表示する一例は、例えば、図29および図30を用いて後述する。これにより、出力部903は、オブジェクトが示すデータやプログラムの変更による影響があるデータやプログラムの範囲を把握可能にすることができ、データやプログラムの修正にかかる負担の低減化を図ることができる。
出力部903は、例えば、所定の図面のうちで接続関係がある2つの部品のいずれかの部品が移動された場合、移動後の2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定する。そして、出力部903は、判定結果を出力する。出力部903は、具体的には、接続関係がある2つのオブジェクトのいずれかのオブジェクトが移動された場合、移動後の2つのオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するか否かを判定する。そして、出力部903は、判定結果を出力する。
出力部903は、例えば、所定の図面のうちで接続関係がある2つの部品の一方の部品を変更する場合、他方の部品と接続される部品に関する情報を出力する。出力部903は、具体的には、接続関係がある2つのオブジェクトのいずれかのオブジェクトを変更する場合、変更後の2つのオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するような、変更候補を表示する。表示先は、例えば、他装置であってもよい。そして、出力部903は、判定結果を出力する。
出力部903は、例えば、所定の図面のうちのいずれかの接続部品による接続関係を変更する場合、変更後にいずれかの接続部品が接続関係を示す2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定する。そして、出力部903は、判定結果を出力する。出力部903は、具体的には、矢印を移動し、接続関係を変更した2つのオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するか否かを判定する。そして、出力部903は、判定結果を出力する。
オブジェクトの移動、および、矢印の移動に応じて、オブジェクト間の位置関係が基準に合致するか否かを判定し、または、オブジェクトの変更に応じて、変更候補を表示する一例は、例えば、図31〜図47を用いて後述する。これにより、出力部903は、オブジェクトを変更しやすくし、または、オブジェクト間の位置関係が基準に合致するか否かを把握しやすくすることができ、フロー図の修正にかかる負担の低減化を図ることができる。
出力部903は、例えば、いずれかの部品の指定を受け付けた場合、生成した順序情報に基づいて、指定されたいずれかの部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの、複数の図面における配置数を取得する。出力部903は、取得した配置数を用いて、指定されたいずれかの部品の影響度を算出し、算出した影響度を出力する。出力部903は、具体的には、影響度テーブル500から、指定されたいずれかの部品に対応する始点影響度、終点影響度、および、全体影響度を抽出する。そして、出力部903は、抽出した始点影響度、終点影響度、および、全体影響度を表示する。表示先は、例えば、他装置であってもよい。
始点影響度、終点影響度、および、全体影響度を表示する一例は、例えば、図48〜図52を用いて後述する。これにより、出力部903は、オブジェクトが示すデータやプログラムの変更による影響の大きさを把握可能にすることができ、データやプログラムの修正にかかる時間を見積もりやすくすることができ、負担の低減化を図ることができる。
出力部903は、各機能部の処理結果を出力してもよい。これにより、出力部903は、各機能部の処理結果を利用者に通知可能にし、情報処理装置100の管理や運用、例えば、情報処理装置100の設定値の更新などを支援することができ、情報処理装置100の利便性の向上を図ることができる。
(情報処理装置100が各種テーブルを生成する一例)
次に、図10〜図16を用いて、情報処理装置100が各種テーブルを生成する一例について説明する。まず、図10〜図12の説明に移行し、各種テーブルを生成する際に用いられるフロー図の一例について説明する。
図10〜図12は、フロー図の一例を示す説明図である。図10のフロー図1000は、オブジェクトAと、オブジェクトBと、オブジェクトCと、オブジェクトDと、オブジェクトEと、オブジェクトFと、オブジェクトGとが配置される。フロー図1000において、例えば、オブジェクトAを終点、オブジェクトBを始点として矢印が配置される。
フロー図1000において、例えば、オブジェクトAとオブジェクトBとの間で、オブジェクトAの相対位置は「下」であり、オブジェクトBの相対位置は「上」である。ここで、オブジェクトBが、オブジェクトAの直上に存在しなくても、オブジェクトAの右斜め上45度から左斜め上45度までの範囲に存在すれば、「上」に存在すると扱われる。次に、図11の説明に移行する。
図11のフロー図1100は、オブジェクトAと、オブジェクトBと、オブジェクトGと、オブジェクトHとが配置される。フロー図1100において、例えば、オブジェクトAを終点、オブジェクトBを始点として矢印が配置される。フロー図1100において、例えば、オブジェクトAとオブジェクトBとの間で、オブジェクトAの相対位置は「下」であり、オブジェクトBの相対位置は「上」である。次に、図12の説明に移行する。
図12のフロー図1200は、オブジェクトAと、オブジェクトFと、オブジェクトGと、オブジェクトIと、オブジェクトJと、オブジェクトKとが配置される。フロー図1200において、例えば、オブジェクトAを始点、オブジェクトFを終点として矢印が配置される。フロー図1200において、例えば、オブジェクトAとオブジェクトFとの間で、オブジェクトAの相対位置は「上」であり、オブジェクトFの相対位置は「下」である。次に、図13〜図16の説明に移行し、フロー図におけるオブジェクト間の接続関係を判定する一例について説明する。
図13〜図16は、オブジェクト間の接続関係を判定する一例を示す説明図である。フロー図1000〜1200では、オブジェクトと矢印とが接触するように配置される場合について説明したが、これに限らない。
図13の例では、オブジェクトと矢印とが接触しない場合について説明する。この場合、情報処理装置100は、例えば、矢印の始点方向への延長線上にあるオブジェクトと、矢印の終点方向への延長線上にあるオブジェクトとに接続関係があると判定する。
例えば、オブジェクトAと矢印との配置状態1301であれば、オブジェクトAは始点としても終点としても接続されていると判定される。また、例えば、オブジェクトAと矢印との配置状態1302であれば、オブジェクトAは始点として接続されているが、終点としては接続されていないと判定される。
また、例えば、オブジェクトAと矢印との配置状態1303であれば、オブジェクトAは始点としては接続されていないが、終点としては接続されていると判定される。次に、図14〜図16の説明に移行し、種々のバリエーションの接続部品によるオブジェクト間の接続関係を判定する一例について説明する。
図14に示すように、接続部品が、直線1401である場合がある。この場合、接続部品は、図13と同様に、直線1401の始点方向への延長線上にあるオブジェクトと、直線1401の終点方向への延長線上にあるオブジェクトとの接続関係を示す。
また、接続部品が、カギ線1402である場合がある。この場合、接続部品は、始点側の折れ曲がり点から始点の方向への直線的な延長線上にあるオブジェクトと、終点側の折れ曲がり点から終点の方向への直線的な延長線上にあるオブジェクトとの接続関係を示す。
また、接続部品が、曲線1403,1404である場合がある。この場合、接続部品は、曲線1403,1404の始点側の延長線上にあるオブジェクトと、曲線1403,1404の終点側の延長線上にあるオブジェクトとの接続関係を示す。曲線1403,1404の延長線について図15を用いてさらに説明する。
図15に示すように、矢印の始点側の延長線は、矢印の始点側の辺の2等分線の方向に伸びる延長線である。また、矢印の終点側の延長線は、矢印の終点側の三角形の辺の2等分線であり三角形の頂点を通過する方向に伸びる延長線である。次に、図16の説明に移行する。
図16に示すように、接続部品が、ブロック矢印1601である場合がある。この場合、接続部品は、始点側の辺の2等分線の方向に伸びる延長線上のオブジェクトと、終点側の三角形の辺の2等分線であり三角形の頂点を通過する方向に伸びる延長線上のオブジェクトとの接続関係を示す。
また、接続部品が、ブロック曲線1602である場合がある。この場合、接続部品は、始点側の辺の2等分線の方向に伸びる延長線上のオブジェクトと、終点側の三角形の辺の2等分線であり三角形の頂点を通過する方向に伸びる延長線上のオブジェクトとの接続関係を示す。
ここで、フロー図においては、所定の規則にしたがって、オブジェクトが配置され、オブジェクト間が矢印により接続される傾向がある。所定の規則は、例えば、設計上の規約である。例えば、オブジェクトを上下に接続した矢印が、処理の流れを示し、オブジェクトを左右に接続した矢印が、データの流れを示すように、フロー図を作成するという規則がある場合がある。この場合、フロー図を規則にしたがって統一的に作成することにより、フロー図の視認性の向上や記載ミスの防止を図ることが可能になる。
したがって、フロー図を規則にしたがって作成しやすくし、または、フロー図が規則にしたがっているかを把握しやすくすることが望まれる。例えば、オブジェクト間の位置関係の基準、オブジェクト種別の組み合わせごとの位置関係の基準、オブジェクトの形状や色の基準などにしたがって、フロー図を作成しやすくすることが望まれる。そこで、情報処理装置100は、図17に後述するテーブル作成処理を実行し、図4〜図7に示した各種テーブルを生成することにより、各種基準を特定し、フロー図の作成や修正を支援する。
また、フロー図が作成されていき、作成されたフロー図の数が多くなるほど、フロー図から情報を読み取ることにかかる負担が大きくなる傾向がある。例えば、いずれかのオブジェクトが示す処理内容を変更した場合、他のいずれの処理に影響するかを、複数のフロー図から読み取ることにかかる負担が大きくなりやすい。そこで、情報処理装置100は、図17に後述するテーブル作成処理を実行し、図4〜図7に示した各種テーブルを生成することにより、オブジェクト間の順序関係を特定し、フロー図からの情報の読み取りを支援する。次に、図17の説明に移行する。
(テーブル作成処理手順)
次に、図17を用いて、情報処理装置100が実行する、テーブル作成処理手順の一例について説明する。テーブル作成処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図17は、テーブル作成処理手順の一例を示すフローチャートである。図17において、まず、情報処理装置100は、フロー図を読み込む(ステップS1701)。次に、情報処理装置100は、第1作成処理を実行する(ステップS1702)。そして、情報処理装置100は、第2作成処理を実行する(ステップS1703)。次に、情報処理装置100は、第3作成処理を実行する(ステップS1704)。そして、情報処理装置100は、テーブル作成処理を終了する。
(第1作成処理手順)
次に、図18を用いて、情報処理装置100が実行する、第1作成処理手順の一例について説明する。第1作成処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図18は、第1作成処理手順の一例を示すフローチャートである。図18において、まず、情報処理装置100は、始点になるオブジェクトをすべて列挙し、位置関係テーブル400の始点のフィールドに設定する(ステップS1801)。そして、情報処理装置100は、終点になるオブジェクトをすべて列挙し、終点になるオブジェクトと接続関係がある始点になるオブジェクトに対応する位置関係テーブル400のレコードの終点のフィールドに設定する(ステップS1802)。
次に、情報処理装置100は、接続関係があるオブジェクトの組み合わせごとに、図19に後述するサブ処理の対象に設定し、図19に後述するサブ処理を実行する(ステップS1803)。そして、情報処理装置100は、第1作成処理を終了する。
(ステップS1803のサブ処理手順)
次に、図19を用いて、情報処理装置100が実行する、ステップS1803のサブ処理手順の一例について説明する。ステップS1803のサブ処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図19は、ステップS1803のサブ処理手順の一例を示すフローチャートである。図19において、まず、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードに、始点相対位置と終点相対位置とが設定されているか否かを判定する(ステップS1901)。
ここで、設定されている場合(ステップS1901:Yes)、情報処理装置100は、ステップS1904の処理に移行する。一方で、設定されていない場合(ステップS1901:No)、情報処理装置100は、ステップS1902の処理に移行する。
ステップS1902では、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードの始点相対位置と終点相対位置とのフィールドに、相対位置情報を設定する(ステップS1902)。次に、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードのパターン数のフィールドに、1を設定する(ステップS1903)。そして、情報処理装置100は、サブ処理を終了する。
ステップS1904では、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードに、対象とするオブジェクトの組み合わせについての相対位置情報が設定済みであるか否かを判定する(ステップS1904)。
ここで、設定済みである場合(ステップS1904:Yes)、情報処理装置100は、ステップS1907の処理に移行する。一方で、設定済みではない場合(ステップS1904:No)、情報処理装置100は、ステップS1905の処理に移行する。
ステップS1905では、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードをコピーし、コピーしたレコードの始点相対位置と終点相対位置とのフィールドに、相対位置情報を設定する(ステップS1905)。次に、情報処理装置100は、コピーしたレコードのパターン数のフィールドに、1を設定する(ステップS1906)。そして、情報処理装置100は、サブ処理を終了する。
ステップS1907では、情報処理装置100は、対象とするオブジェクトの組み合わせが設定された位置関係テーブル400のレコードのパターン数のフィールドの値をインクリメントする(ステップS1907)。そして、情報処理装置100は、サブ処理を終了する。
(第2作成処理手順)
次に、図20を用いて、情報処理装置100が実行する、第2作成処理手順の一例について説明する。第2作成処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図20は、第2作成処理手順の一例を示すフローチャートである。図20において、まず、情報処理装置100は、位置関係テーブル400のレコードの始点または終点のフィールドに設定されたオブジェクトを抽出し、抽出したオブジェクトが設定されたレコードを影響度テーブル500に追加する(ステップS2001)。
次に、情報処理装置100は、オブジェクトごとに、オブジェクトの形状や色に基づいてオブジェクト種別を判定し、影響度テーブル500のレコードのオブジェクト種別のフィールドに設定する(ステップS2002)。そして、情報処理装置100は、オブジェクト種別ごとに、オブジェクトの形状や色を対応付けたレコードを、属性テーブル700に追加する(ステップS2003)。ここで、始点係数や終点係数は、例えば、初期値1が設定される。
次に、情報処理装置100は、オブジェクトごとに、当該オブジェクトが始点のフィールドに設定された位置関係テーブル400のレコードのパターン数のフィールドの値を合計し、影響度テーブル500の相対始点数のフィールドに設定する(ステップS2004)。そして、情報処理装置100は、オブジェクトごとに、当該オブジェクトが終点のフィールドに設定された位置関係テーブル400のレコードのパターン数のフィールドの値を合計し、影響度テーブル500の相対終点数のフィールドに設定する(ステップS2005)。
次に、情報処理装置100は、属性テーブル700から始点係数と終点係数とを取得し、影響度テーブル500の相対始点数と相対終点数とのフィールドの値にそれぞれ乗算し、始点影響度と終点影響度とのフィールドに設定する(ステップS2006)。
そして、情報処理装置100は、オブジェクトごとに、当該オブジェクトが終点のフィールドに設定された位置関係テーブル400のレコードの始点のフィールドに設定されたオブジェクトを、影響度テーブル500の終点候補のフィールドに設定する(ステップS2007)。
さらに、情報処理装置100は、オブジェクトごとに、当該オブジェクトが始点のフィールドに設定された位置関係テーブル400のレコードの終点のフィールドに設定されたオブジェクトを、影響度テーブル500の終点候補のフィールドに設定する(ステップS2008)。そして、情報処理装置100は、第2作成処理を終了する。
(第3作成処理手順)
次に、図21を用いて、情報処理装置100が実行する、第3作成処理手順の一例について説明する。第3作成処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図21は、第3作成処理手順の一例を示すフローチャートである。図21において、まず、情報処理装置100は、属性テーブル700が示すすべての種別を、始点になるオブジェクトのオブジェクト種別を表すY軸要素、および、終点になるオブジェクトのオブジェクト種別を表すX軸要素に設定した配置規則テーブル600を生成する(ステップS2101)。
次に、情報処理装置100は、位置関係テーブル400と影響度テーブル500とに基づいて、種別の組み合わせごとに、オブジェクトの位置関係を特定し、当該組み合わせに対応する配置規則テーブル600のフィールドに設定する(ステップS2102)。そして、情報処理装置100は、第3作成処理を終了する。
(情報処理装置100が描画サポートを実施する一例)
次に、図22および図23を用いて、情報処理装置100が描画サポートを実施する一例について説明する。
図22および図23は、情報処理装置100が描画サポートを実施する一例を示す説明図である。図22において、情報処理装置100は、オブジェクトAを表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、オブジェクトAを始点とする左方向への矢印が引かれたことを検出する。情報処理装置100は、クライアント装置201において矢印を引く操作が行われたことを検出してもよい。
情報処理装置100は、矢印の方向を参照し、オブジェクトAの左側に配置するオブジェクトの候補を特定する。情報処理装置100は、例えば、影響度テーブル500に基づいて、オブジェクトAのオブジェクト種別「種別1」を特定する。次に、情報処理装置100は、配置規則テーブル600に基づいて、オブジェクト種別「種別1」を始点とした場合に、左側に配置されるオブジェクト種別「種別2」および「種別3」を特定する。
そして、情報処理装置100は、位置関係テーブル400に基づいて、オブジェクト種別「種別2」および「種別3」で、かつ、オブジェクトAの左側に配置済みであるオブジェクトGを、候補として特定する。また、情報処理装置100は、特定したオブジェクト種別「種別2」および「種別3」の新規オブジェクトを、候補として特定してもよい。
情報処理装置100は、特定した候補の一覧2200を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、例えば、オブジェクト種別「種別3」のオブジェクトGと、オブジェクト種別「種別2」の新規オブジェクトと、オブジェクト種別「種別3」の新規オブジェクトとを一覧表示する。次に、図23の説明に移行する。
図23において、情報処理装置100は、オブジェクトAを表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、オブジェクトAを始点とする下方向への矢印が引かれたことを検出する。情報処理装置100は、クライアント装置201において矢印を引く操作が行われたことを検出してもよい。
情報処理装置100は、矢印の方向を参照し、オブジェクトAの下側に配置するオブジェクトの候補を特定する。情報処理装置100は、例えば、影響度テーブル500に基づいて、オブジェクトAのオブジェクト種別「種別1」を特定する。次に、情報処理装置100は、配置規則テーブル600に基づいて、オブジェクト種別「種別1」を始点とした場合に、下側に配置されるオブジェクト種別「種別1」および「種別2」を特定する。
そして、情報処理装置100は、位置関係テーブル400に基づいて、オブジェクト種別「種別1」および「種別2」で、かつ、オブジェクトAの下側に配置済みであるオブジェクトEとオブジェクトFとオブジェクトHとを、候補として特定する。また、情報処理装置100は、特定したオブジェクト種別「種別1」および「種別2」の新規オブジェクトを、候補として特定してもよい。
情報処理装置100は、特定した候補の一覧2300を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、例えば、オブジェクト種別「種別2」のオブジェクトEとオブジェクトFとオブジェクトHと、オブジェクト種別「種別1」の新規オブジェクトと、オブジェクト種別「種別2」の新規オブジェクトとを一覧表示する。
これにより、情報処理装置100は、配置済みのオブジェクトと接続するオブジェクトの候補を把握しやすくすることができ、フロー図の作成にかかる負担の低減化を図ることができる。また、情報処理装置100は、候補として、配置規則テーブル600が示す基準に合致するオブジェクトを表示するため、基準に合致したフロー図を作成しやすくすることができ、フロー図の有用性の向上を図ることができる。
情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。
(描画サポート処理手順)
次に、図24および図25を用いて、情報処理装置100が実行する、描画サポート処理手順の一例について説明する。描画サポート処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図24および図25は、描画サポート処理手順の一例を示すフローチャートである。図24において、まず、情報処理装置100は、いずれかのオブジェクトの選択、または、新規オブジェクトの配置を検出する(ステップS2401)。次に、情報処理装置100は、選択または配置された対象のオブジェクトを起点として矢印が引かれた方向を検出する(ステップS2402)。
そして、情報処理装置100は、配置規則テーブル600に基づいて、対象のオブジェクトのオブジェクト種別が該当するY軸要素に対応するX軸要素が存在するか否かを判定する(ステップS2403)。ここで、存在する場合(ステップS2403:Yes)、情報処理装置100は、ステップS2404の処理に移行する。一方で、存在しない場合(ステップS2403:No)、情報処理装置100は、描画サポート処理を終了する。
ステップS2404では、情報処理装置100は、位置関係テーブル400を参照し、X軸要素に基づいて、終点候補リストを生成して表示する(ステップS2404)。そして、情報処理装置100は、図25のステップS2501の処理に移行する。
図25において、情報処理装置100は、終点候補の選択を検出する(ステップS2501)。次に、情報処理装置100は、選択された終点候補が既存オブジェクトであるか否かを判定する(ステップS2502)。
ここで、既存オブジェクトである場合(ステップS2502:Yes)、情報処理装置100は、ステップS2503の処理に移行する。一方で、既存オブジェクトではない場合(ステップS2502:No)、情報処理装置100は、ステップS2507の処理に移行する。
ステップS2503では、情報処理装置100は、対象のオブジェクトを始点とし、選択された終点候補である既存オブジェクトを終点として、位置関係テーブル400を検索し、パターン数をインクリメントする(ステップS2503)。
次に、情報処理装置100は、影響度テーブル500のうち、対象のオブジェクトに対応する相対終点数と、選択された終点候補である既存オブジェクトに対応する相対始点数とをインクリメントする(ステップS2504)。そして、情報処理装置100は、対象のオブジェクトに対応する終点影響度と全体影響度とを更新する(ステップS2505)。
次に、情報処理装置100は、選択された終点候補である既存オブジェクトに対応する始点影響度と全体影響度とを更新する(ステップS2506)。そして、情報処理装置100は、描画サポート処理を終了する。
ステップS2507では、情報処理装置100は、対象のオブジェクトを始点とし、選択された終点候補である既存オブジェクトを終点として、位置関係テーブル400にレコードを追加し、パターン数、始点相対位置、終点相対位置を設定する(ステップS2507)。ここで、パターン数は、例えば、1が設定される。始点相対位置と終点相対位置は、例えば、対象のオブジェクトと、既存オブジェクトとの位置関係に基づいて設定される。
次に、情報処理装置100は、選択された終点候補である既存オブジェクトに対応するレコードを、影響度テーブル500に追加する(ステップS2508)。ここで、「オブジェクト種別」は、例えば、選択された終点候補である既存オブジェクトのオブジェクト種別が設定される。「相対始点数」は、1が設定され、「相対終点数」は、0が設定される。
また、「始点影響度」と「終点影響度」とは、「相対始点数」と「相対終点数」と「始点係数」と「終点係数」とから算出されて設定される。係数により、フロー図の目的や用途に合わせて、影響度に重み付けが可能である。「全体影響度」は、「始点影響度」と「終点影響度」との和が設定される。「始点候補」は、対象のオブジェクトが設定される。そして、情報処理装置100は、描画サポート処理を終了する。
(情報処理装置100が誤りチェックを実施する一例)
次に、図26を用いて、情報処理装置100が誤りチェックを実施する一例について説明する。
図26は、情報処理装置100が誤りチェックを実施する一例を示す説明図である。図26において、情報処理装置100は、フロー図2600を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図2600のそれぞれのオブジェクトの属性が、属性情報テーブルが示す基準に合致するか否かを判定する。また、情報処理装置100は、フロー図2600のオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するか否かを判定する。情報処理装置100は、判定結果を、フロー図2600上に表示する。
情報処理装置100は、例えば、影響度テーブル500に基づいて、オブジェクトNのオブジェクト種別「種別1」を特定する。次に、情報処理装置100は、オブジェクトNの形状や色が、オブジェクト種別「種別1」に対応付けて属性テーブル700に記憶された形状や色と合致するか否かを判定する。図26の例では、情報処理装置100は、合致しないと判定し、オブジェクトNに「規約エラー」をエラー表示する。表示先は、例えば、クライアント装置201であってもよい。エラー表示は、例えば、オブジェクトの背景色の変更、オブジェクトの線色の変更、矢印の線色の変更、オブジェクトのバックグラウンドのハイライト、オブジェクトに対する吹き出しの挿入などである。
情報処理装置100は、例えば、影響度テーブル500に基づいて、始点になるオブジェクトCのオブジェクト種別「種別3」と、終点になるオブジェクトBのオブジェクト種別「種別1」とを特定する。また、情報処理装置100は、オブジェクトBとオブジェクトCとの位置関係を特定する。次に、情報処理装置100は、配置規則テーブル600に基づいて、始点側のオブジェクト種別「種別3」と、終点側のオブジェクト種別「種別1」との組み合わせに対応する位置関係の規則「始点から見て終点が左に存在する」を特定する。
そして、情報処理装置100は、オブジェクトBとオブジェクトCとの位置関係が、特定した規則「始点から見て終点が左に存在する」に合致しないため、「相対位置エラー」をエラー表示する。エラー表示は、オブジェクトの背景色の変更、オブジェクトの線色の変更、矢印の線色の変更、オブジェクトまたは矢印のバックグラウンドのハイライト、オブジェクトまたは矢印に対する吹き出しの挿入などである。
これにより、情報処理装置100は、作成済みのフロー図のうちのオブジェクトや矢印が、配置規則テーブル600が示す基準に合致するか否かを把握しやすくすることができ、フロー図の修正にかかる負担の低減化を図ることができる。また、情報処理装置100は、フロー図を、配置規則テーブル600が示す基準に合致するように修正しやすくすることができ、フロー図の有用性の向上を図ることができる。
情報処理装置100は、エラー表示された箇所が正常であると指示された場合、各種テーブルを更新してもよい。情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。
(誤りチェック処理手順)
次に、図27を用いて、情報処理装置100が実行する、誤りチェック処理手順の一例について説明する。誤りチェック処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図27は、誤りチェック処理手順の一例を示すフローチャートである。図27において、まず、情報処理装置100は、フロー図を読み込む(ステップS2701)。次に、情報処理装置100は、フロー図に配置されたオブジェクトを順に選択し、図28に後述するサブ処理の対象に設定し、図28に後述するサブ処理を実行する(ステップS2702)。そして、情報処理装置100は、誤りチェック処理を終了する。
(ステップS2702のサブ処理手順)
次に、図28を用いて、情報処理装置100が実行する、ステップS2702のサブ処理手順の一例について説明する。ステップS2702のサブ処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図28は、ステップS2702のサブ処理手順の一例を示すフローチャートである。図28において、情報処理装置100は、対象のオブジェクトの形状および色が、属性テーブル700に存在するか否かを判定する(ステップS2801)。
ここで、存在する場合(ステップS2801:Yes)、情報処理装置100は、ステップS2803の処理に移行する。一方で、存在しない場合(ステップS2801:No)、情報処理装置100は、ステップS2802の処理に移行する。
ステップS2802では、情報処理装置100は、オブジェクトを「規約エラー」としてエラー表示する(ステップS2802)。そして、情報処理装置100は、サブ処理を終了する。
ステップS2803では、情報処理装置100は、対象のオブジェクトが終点であれば、対象のオブジェクトと、対象のオブジェクトに対応する始点となるオブジェクトとの位置関係が、配置規則テーブル600に存在するか否かを判定する(ステップS2803)。
ここで、存在する場合(ステップS2803:Yes)、情報処理装置100は、サブ処理を終了する。一方で、存在しない場合(ステップS2803:No)、情報処理装置100は、ステップS2804の処理に移行する。
ステップS2804では、情報処理装置100は、対象のオブジェクトと、対象のオブジェクトに対応する始点となるオブジェクトと、オブジェクト間を接続する矢印とを「相対位置エラー」としてエラー表示する(ステップS2804)。そして、情報処理装置100は、サブ処理を終了する。
(情報処理装置100が影響範囲表示を実施する一例)
次に、図29を用いて、情報処理装置100が影響範囲表示を実施する一例について説明する。
図29は、情報処理装置100が影響範囲表示を実施する一例を示す説明図である。図29において、情報処理装置100は、フロー図2901を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図2901のオブジェクトAを指定してメニュー表示操作が行われたことを検出すると、フロー図2901にメニューを表示する。オブジェクトの指定は、オブジェクトのフォーカスによる自動指定、フォーカスによるコンテキストメニュー内のアイテムクリック、右クリックによるコンテキストメニュー内のアイテムクリックなどである。
情報処理装置100は、メニュー上の影響範囲表示が選択されたことを検出する。情報処理装置100は、影響範囲表示が選択されたことを検出すると、影響度テーブル500に基づいて、指定されたオブジェクトAに対応する始点候補「BDIJ」と終点候補「EFGHK」とを取得する。情報処理装置100は、始点候補「BDIJ」と終点候補「EFGHK」とを、オブジェクトAの影響範囲として一覧表示する。表示先は、例えば、クライアント装置201であってもよい。
これにより、情報処理装置100は、オブジェクトが示すデータやプログラムの変更による影響があるデータやプログラムの範囲を把握可能にすることができ、データやプログラムの修正にかかる負担の低減化を図ることができる。
例えば、オブジェクトが示すプログラムにおける入力変数を増加する修正が行われる場合がある。この場合、情報処理装置100は、始点候補を表示するため、オブジェクトの直前の順序であり、オブジェクトが示すプログラムにおける入力変数に関わる可能性がある他のオブジェクトが示すプログラムを把握可能にすることができる。結果として、情報処理装置100は、オブジェクトが示すプログラムにおける入力変数を増加する修正が行われた際に、プログラム間での不整合が発生することを防止しやすくすることができる。
同様に、例えば、オブジェクトが示すプログラムにおける出力変数を減少する修正が行われる場合がある。この場合、情報処理装置100は、終点候補を表示するため、オブジェクトの直後の順序であり、オブジェクトが示すプログラムにおける出力変数に関わる可能性がある他のオブジェクトが示すプログラムを把握可能にすることができる。結果として、情報処理装置100は、オブジェクトが示すプログラムにおける出力変数を減少する修正が行われた際に、プログラム間での不整合が発生することを防止しやすくすることができる。
情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。
(影響範囲表示処理手順)
次に、図30を用いて、情報処理装置100が実行する、影響範囲表示処理手順の一例について説明する。影響範囲表示処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図30は、影響範囲表示処理手順の一例を示すフローチャートである。図30において、まず、情報処理装置100は、いずれかのオブジェクトの選択を受け付け、選択されたオブジェクトの影響範囲表示要求を受け付ける(ステップS3001)。
次に、情報処理装置100は、影響度テーブル500から、選択されたオブジェクトのレコードを検索する(ステップS3002)。そして、情報処理装置100は、検索したレコードの始点候補および終点候補のフィールドに設定された情報を、画面に一覧表示する(ステップS3003)。その後、情報処理装置100は、影響範囲表示処理を終了する。
(情報処理装置100が修正サポートを実施する一例)
次に、図31〜図40を用いて、情報処理装置100が修正サポートを実施する一例について説明する。例えば、まず、図31〜図34を用いて、オブジェクト移動時に修正サポートを実施する一例について説明する。
図31〜図34は、オブジェクト移動時に修正サポートを実施する一例を示す説明図である。図31において、情報処理装置100は、フロー図3101を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図3101のオブジェクトKのドラッグ移動を検出する。ドラッグ移動後、情報処理装置100は、フロー図3102を表示する。情報処理装置100は、オブジェクトKのドラッグ移動前後の、他のオブジェクトAとの位置関係が、配置規則テーブル600が示す基準に合致するため、位置関係テーブル400を更新する。次に、図32の説明に移行する。
図32において、情報処理装置100は、オブジェクトKとオブジェクトAとのドラッグ移動前の位置関係に対応する位置関係テーブル400のレコード3201を特定し、特定したレコード3201のパターン数「1」をデクリメントする。情報処理装置100は、パターン数が「0」になるため、特定したレコード3201を削除する。情報処理装置100は、オブジェクトKとオブジェクトAとのドラッグ移動後の位置関係に対応するレコード3202を生成し、位置関係テーブル400に追加する。次に、図33の説明に移行し、図31とは異なるオブジェクトのドラッグ移動の一例について説明する。
図33において、情報処理装置100は、フロー図3301を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図3301のオブジェクトCのドラッグ移動を検出する。ドラッグ移動後、情報処理装置100は、フロー図3302を表示する。
ここで、情報処理装置100は、オブジェクトCのドラッグ移動後の、他のオブジェクトBとの位置関係が、配置規則テーブル600が示す基準に合致しないと判定する。このため、情報処理装置100は、オブジェクトBとオブジェクトCとの位置関係について「相対位置エラー」をエラー表示する。
エラー表示は、オブジェクトの背景色の変更、オブジェクトの線色の変更、矢印の線色の変更、オブジェクトまたは矢印のバックグラウンドのハイライト、オブジェクトまたは矢印に対する吹き出しの挿入などである。情報処理装置100は、エラー表示ではなく、ドラッグ移動をキャンセルしてもよい。次に、図34の説明に移行し、図31および図33とは異なるオブジェクトのドラッグ移動の一例について説明する。
図34において、情報処理装置100は、フロー図3401を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図3401において、オブジェクトBとオブジェクトCとの接続関係について、「相対位置エラー」をエラー表示している。情報処理装置100は、フロー図3401のオブジェクトCのドラッグ移動を検出する。ドラッグ移動後、情報処理装置100は、フロー図3402を表示する。
ここで、情報処理装置100は、オブジェクトCのドラッグ移動後の、他のオブジェクトBとの位置関係が、配置規則テーブル600が示す基準に合致すると判定する。このため、情報処理装置100は、フロー図3402において、オブジェクトBとオブジェクトCとの接続関係について、「相対位置エラー」を解除する。
これにより、情報処理装置100は、フロー図の作成時や修正時に、オブジェクトや矢印が、配置規則テーブル600が示す基準に合致するか否かを把握しやすくすることができ、フロー図の作成や修正にかかる負担の低減化を図ることができる。また、情報処理装置100は、フロー図を、配置規則テーブル600が示す基準に合致するように作成しやすくすることができ、または修正しやすくすることができ、フロー図の有用性の向上を図ることができる。
情報処理装置100は、エラー表示された箇所が正常であると指示された場合、各種テーブルを更新してもよい。情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。次に、図35〜図37の説明に移行し、オブジェクト変更時に修正サポートを実施する一例について説明する。
図35〜図37は、オブジェクト変更時に修正サポートを実施する一例を示す説明図である。図35において、情報処理装置100は、フロー図3501を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図3501のオブジェクトEを指定してメニュー表示操作が行われ、メニュー上のオブジェクト変更が選択されたことを検出する。情報処理装置100は、オブジェクト変更が選択されたことを検出すると、フロー図3502を表示する。
ここで、情報処理装置100は、配置規則テーブル600および影響度テーブル500を参照し、指定されたオブジェクトEと、他のオブジェクトAとの位置関係に基づいて、オブジェクトEから変更可能なオブジェクトの候補を特定する。情報処理装置100は、例えば、オブジェクトEと、オブジェクトFと、オブジェクトHとを特定する。情報処理装置100は、フロー図3502において、特定した変更可能なオブジェクトの候補を一覧表示する。
情報処理装置100は、一覧表示したオブジェクトの候補のいずれかの選択を受け付ける。情報処理装置100は、例えば、オブジェクトHの選択を受け付ける。情報処理装置100は、オブジェクトEを、選択されたオブジェクトに変更する。情報処理装置100は、変更後、フロー図3503を表示する。次に、図36および図37の説明に移行し、オブジェクトの変更に応じて各種テーブルを更新する一例について説明する。
図36において、情報処理装置100は、変更前のオブジェクトEとオブジェクトAとの位置関係に対応付けて位置関係テーブル400に記憶されたレコード3601を特定し、パターン数をデクリメントする。情報処理装置100は、パターン数が「0」であるため、レコード3601を削除する。
また、情報処理装置100は、変更後のオブジェクトHとオブジェクトAとの位置関係に対応付けて位置関係テーブル400に記憶されたレコード3602を特定し、パターン数をインクリメントする。情報処理装置100は、変更後のオブジェクトHとオブジェクトAとの位置関係に対応するレコードがなければ、位置関係テーブル400に追加する。次に、図37の説明に移行する。
図37において、情報処理装置100は、オブジェクトEが変更されたため、オブジェクトEに対応付けて影響度テーブル500に記憶されたレコード3701を特定する。情報処理装置100は、レコード3701に基づいて、既存のフロー図にオブジェクトEが配置されていないと判定し、レコード3701を削除する。
また、情報処理装置100は、変更後のオブジェクトH、および、オブジェクトAに対応付けて影響度テーブル500に記憶されたレコード3702,3703を特定して更新する。次に、図38〜図40の説明に移行し、矢印変更時に修正サポートを実施する一例について説明する。
図38〜図40は、矢印変更時に修正サポートを実施する一例を示す説明図である。図38において、情報処理装置100は、フロー図3801を表示する。表示先は、例えば、クライアント装置201であってもよい。フロー図3801の矢印3810の終点のドラッグ移動を検出する。
情報処理装置100は、ドラッグ移動後に矢印3810が接続するオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致すれば、フロー図3802を表示する。一方で、情報処理装置100は、ドラッグ移動後に矢印3810が接続するオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致しなければ、フロー図3801を表示し、ドラッグ移動をキャンセルする。情報処理装置100は、ドラッグ移動をキャンセルせず、エラー表示してもよい。エラー表示は、オブジェクトの背景色の変更、オブジェクトの線色の変更、矢印の線色の変更、オブジェクトまたは矢印のバックグラウンドのハイライト、オブジェクトまたは矢印に対する吹き出しの挿入などである。
ここでは、情報処理装置100は、ドラッグ移動後に矢印3810が接続するオブジェクトの位置関係が、配置規則テーブル600が示す基準に合致するため、フロー図3802を表示したとする。次に、図39および図40の説明に移行し、矢印3810の変更に応じて各種テーブルを更新する一例について説明する。
図39において、情報処理装置100は、変更前の矢印3810で接続されたオブジェクトBとオブジェクトCとの位置関係に対応付けて位置関係テーブル400に記憶されたレコード3901を特定し、パターン数をデクリメントする。情報処理装置100は、パターン数が「0」であるため、レコード3901を削除する。また、情報処理装置100は、変更後の矢印3810で接続されたオブジェクトAとオブジェクトCとの位置関係に対応するレコード3902を、位置関係テーブル400に追加する。次に、図40の説明に移行する。
図40において、情報処理装置100は、変更後の矢印3810で接続されたオブジェクトAとオブジェクトCとに対応付けて影響度テーブル500に記憶されたレコード4001,4002を特定して更新する。
これにより、情報処理装置100は、作成済みのフロー図のうちのオブジェクトや矢印を変更した際、配置規則テーブル600が示す基準に合致するか否かを把握しやすくすることができ、フロー図の修正にかかる負担の低減化を図ることができる。また、情報処理装置100は、フロー図を、配置規則テーブル600が示す基準に合致するように修正しやすくすることができ、フロー図の有用性の向上を図ることができる。
情報処理装置100は、エラー表示された箇所が正常であると指示された場合、各種テーブルを更新してもよい。情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。
(移動チェック処理手順)
次に、図41および図42を用いて、情報処理装置100が実行する、移動チェック処理手順の一例について説明する。移動チェック処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図41および図42は、移動チェック処理手順の一例を示すフローチャートである。図41において、まず、情報処理装置100は、オブジェクトのドラッグを検出する(ステップS4101)。次に、情報処理装置100は、オブジェクトを移動した方向を検出する(ステップS4102)。
そして、情報処理装置100は、移動したオブジェクトと、移動したオブジェクトと接続関係があるオブジェクトとの位置関係が、配置規則テーブル600に存在する位置関係であるか否かを判定する(ステップS4103)。
情報処理装置100は、例えば、移動したオブジェクトに接続される始点または終点になるオブジェクト種別に対応する、配置規則テーブル600のY軸要素またはX軸要素が示すオブジェクト種別と相対位置との組み合わせを特定する。そして、情報処理装置100は、移動したオブジェクトのオブジェクト種別と相対位置との組み合わせが、特定した組み合わせに合致すれば、配置規則テーブル600に存在する位置関係であると判定する。
ここで、配置規則テーブル600に存在する位置関係である場合(ステップS4103:Yes)、情報処理装置100は、ステップS4105の処理に移行する。一方で、配置規則テーブル600に存在する位置関係ではない場合(ステップS4103:No)、情報処理装置100は、ステップS4104の処理に移行する。
ステップS4104では、情報処理装置100は、配置規則テーブル600に存在しない位置関係であるオブジェクト間の接続関係を示す矢印を、「相対位置エラー」としてエラー表示する(ステップS4104)。そして、情報処理装置100は、移動チェック処理を終了する。
ステップS4105では、情報処理装置100は、移動前の状態が「相対位置エラー」であったか否かを判定する(ステップS4105)。ここで、「相対位置エラー」ではない場合(ステップS4105:No)、情報処理装置100は、「相対位置エラー」を解除する(ステップS4106)。そして、情報処理装置100は、移動チェック処理を終了する。
一方で、「相対位置エラー」であった場合(ステップS4105:Yes)、図42のステップS4201の処理に移行する。
図42において、情報処理装置100は、位置関係テーブル400に基づいて、移動したオブジェクトと、移動したオブジェクトと接続関係があるオブジェクトとの、移動前の位置関係に対応するパターン数が1であるか否かを判定する(ステップS4201)。
ここで、パターン数が1である場合(ステップS4201:Yes)、情報処理装置100は、ステップS4203の処理に移行する。一方で、パターン数が1ではない場合(ステップS4201:No)、情報処理装置100は、ステップS4202の処理に移行する。
ステップS4202では、情報処理装置100は、パターン数をデクリメントする(ステップS4202)。そして、情報処理装置100は、ステップS4204の処理に移行する。
ステップS4203では、情報処理装置100は、パターン数が1のレコードを削除する(ステップS4203)。そして、情報処理装置100は、ステップS4204の処理に移行する。
ステップS4204では、情報処理装置100は、位置関係テーブル400に基づいて、移動したオブジェクトと、移動したオブジェクトと接続関係があるオブジェクトとの、移動後の位置関係に対応するレコードがあるか否かを判定する(ステップS4204)。
ここで、レコードがある場合(ステップS4204:Yes)、情報処理装置100は、ステップS4206の処理に移行する。一方で、レコードがない場合(ステップS4204:No)、情報処理装置100は、ステップS4205の処理に移行する。
ステップS4205では、情報処理装置100は、移動したオブジェクトと、移動したオブジェクトと接続関係があるオブジェクトとに対応するレコードを、位置関係テーブル400に追加する(ステップS4205)。ここで、パターン数は、例えば、1が設定される。始点相対位置と終点相対位置は、移動後の位置関係に基づいて設定される。そして、情報処理装置100は、移動チェック処理を終了する。
ステップS4206では、情報処理装置100は、パターン数をインクリメントする(ステップS4206)。そして、情報処理装置100は、移動チェック処理を終了する。
(変更チェック処理手順)
次に、図43を用いて、情報処理装置100が実行する、変更チェック処理手順の一例について説明する。変更チェック処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図43は、変更チェック処理手順の一例を示すフローチャートである。図43において、まず、情報処理装置100は、いずれかのオブジェクトの選択、および、選択されたオブジェクトの変更を検出する(ステップS4301)。
次に、情報処理装置100は、配置規則テーブル600に基づいて、選択したオブジェクトと、選択したオブジェクトと接続関係があるオブジェクトとの位置関係から、変更可能なオブジェクトのオブジェクト種別を抽出する(ステップS4302)。そして、情報処理装置100は、影響度テーブル500に基づいて、抽出したオブジェクト種別に該当するオブジェクトを抽出して一覧表示する(ステップS4303)。
次に、情報処理装置100は、一覧表示されたオブジェクトのうち、変更後のオブジェクトの選択を受け付ける(ステップS4304)。そして、情報処理装置100は、変更後のオブジェクトと、変更後のオブジェクトと接続関係があるオブジェクトとの組み合わせごとに、図44に後述するサブ処理の対象に設定し、図44に後述するサブ処理を実行する(ステップS4305)。
次に、情報処理装置100は、変更前のオブジェクトが「規約エラー」であったか否かを判定する(ステップS4306)。ここで、「規約エラー」であった場合(ステップS4306:Yes)、情報処理装置100は、ステップS4308の処理に移行する。一方で、「規約エラー」ではない場合(ステップS4306:No)、情報処理装置100は、ステップS4307の処理に移行する。
ステップS4307では、情報処理装置100は、「規約エラー」を解除する(ステップS4307)。そして、情報処理装置100は、ステップS4310の処理に移行する。
ステップS4308では、情報処理装置100は、変更前のオブジェクトにおいて「相対始点数」と「相対終点数」とが「0」と「1」とであるか、「1」と「0」とであれば、影響度テーブル500から、変更前のオブジェクトに対応するレコードを削除する(ステップS4308)。
次に、情報処理装置100は、変更前のオブジェクトと、変更前のオブジェクトと接続関係があったオブジェクトとの組み合わせごとに、図45に後述するサブ処理の対象に設定し、図45に後述するサブ処理を実行する(ステップS4309)。そして、情報処理装置100は、ステップS4310の処理に移行する。
ステップS4310では、情報処理装置100は、変更後のオブジェクトと、変更後のオブジェクトと接続関係があるオブジェクトとについて、影響度テーブル500を更新する(ステップS4310)。情報処理装置100は、例えば、影響度テーブル500の「相対始点数」、「相対終点数」、「始点影響度」、「終点影響度」、「全体影響度」、「始点候補」、「終点候補」を更新する。そして、情報処理装置100は、変更チェック処理を終了する。
(ステップS4305のサブ処理手順)
次に、図44を用いて、情報処理装置100が実行する、ステップS4305のサブ処理手順の一例について説明する。ステップS4305のサブ処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図44は、ステップS4305のサブ処理手順の一例を示すフローチャートである。図44において、まず、情報処理装置100は、位置関係テーブル400に、対象のオブジェクトの組み合わせに対応するレコードがあるか否かを判定する(ステップS4401)。
ここで、レコードがある場合(ステップS4401:Yes)、情報処理装置100は、ステップS4403の処理に移行する。一方で、レコードがない場合(ステップS4401:No)、情報処理装置100は、ステップS4402の処理に移行する。
ステップS4402では、情報処理装置100は、位置関係テーブル400に、対象のオブジェクトの組み合わせに対応するレコードを追加する(ステップS4402)。ここで、パターン数は、例えば、1が設定される。始点相対位置と終点相対位置は、移動後の位置関係に基づいて設定される。そして、情報処理装置100は、サブ処理を終了する。
ステップS4403では、情報処理装置100は、パターン数をインクリメントする(ステップS4403)。そして、情報処理装置100は、サブ処理を終了する。
(ステップS4309のサブ処理手順)
次に、図45を用いて、情報処理装置100が実行する、ステップS4309のサブ処理手順の一例について説明する。ステップS4309のサブ処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図45は、ステップS4309のサブ処理手順の一例を示すフローチャートである。図45において、まず、情報処理装置100は、位置関係テーブル400に基づいて、対象のオブジェクトの組み合わせの位置関係に対応するパターン数が1であるか否かを判定する(ステップS4501)。
ここで、パターン数が1である場合(ステップS4501:Yes)、情報処理装置100は、ステップS4503の処理に移行する。一方で、パターン数が1ではない場合(ステップS4501:No)、情報処理装置100は、ステップS4502の処理に移行する。
ステップS4502では、情報処理装置100は、パターン数をデクリメントする(ステップS4502)。そして、情報処理装置100は、サブ処理を終了する。
ステップS4503では、情報処理装置100は、パターン数が1のレコードを削除する(ステップS4503)。そして、情報処理装置100は、サブ処理を終了する。
(矢印変更チェック処理手順)
次に、図46および図47を用いて、情報処理装置100が実行する、矢印変更チェック処理手順の一例について説明する。矢印変更チェック処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図46および図47は、矢印変更チェック処理手順の一例を示すフローチャートである。図46において、まず、情報処理装置100は、いずれかの矢印の選択、および、選択された矢印の変更を検出する(ステップS4601)。次に、情報処理装置100は、矢印の始点になるオブジェクト、または、終点になるオブジェクトの変更を検出する(ステップS4602)。
そして、情報処理装置100は、配置規則テーブル600に基づいて、変更後の矢印により接続関係があるオブジェクトの組み合わせの位置関係が、配置規則テーブル600に存在するか否かを判定する(ステップS4603)。情報処理装置100は、例えば、変更後の矢印により接続関係がある始点のオブジェクト、および、終点のオブジェクトの相対位置が、配置規則テーブル600のY軸要素およびX軸要素が示す相対位置に合致すれば、配置規則テーブル600に存在すると判定する。
ここで、配置規則テーブル600に存在する場合(ステップS4603:Yes)、情報処理装置100は、ステップS4605の処理に移行する。一方で、配置規則テーブル600に存在しない場合(ステップS4603:No)、情報処理装置100は、ステップS4604の処理に移行する。
ステップS4604では、情報処理装置100は、矢印が示す接続関係を元に戻す(ステップS4604)。そして、情報処理装置100は、矢印変更チェック処理を終了する。
ステップS4605では、情報処理装置100は、変更後の矢印により接続関係があったオブジェクトの組み合わせの位置関係に対応するパターン数が1であるか否かを判定する(ステップS4605)。ここで、パターン数が1である場合(ステップS4605:Yes)、情報処理装置100は、ステップS4607の処理に移行する。一方で、パターン数が1ではない場合(ステップS4605:No)、情報処理装置100は、ステップS4606の処理に移行する。
ステップS4606では、情報処理装置100は、パターン数をデクリメントする(ステップS4606)。そして、情報処理装置100は、図47のステップS4701の処理に移行する。
ステップS4607では、情報処理装置100は、パターン数が1のレコードを削除する(ステップS4607)。そして、情報処理装置100は、図47のステップS4701の処理に移行する。
図47において、情報処理装置100は、変更後の矢印により接続関係があったオブジェクトの組み合わせに対応するレコードが、位置関係テーブル400に存在するか否かを判定する(ステップS4701)。情報処理装置100は、例えば、変更後の矢印により新たに接続されたオブジェクトを始点または終点とし、変更前後で共通して接続されるオブジェクトを終点または始点とするレコードが、位置関係テーブル400に存在するか否かを判定する。
ここで、位置関係テーブル400に存在する場合(ステップS4701:Yes)、情報処理装置100は、ステップS4703の処理に移行する。一方で、位置関係テーブル400に存在しない場合(ステップS4701:No)、情報処理装置100は、ステップS4702の処理に移行する。
ステップS4702では、情報処理装置100は、変更後の矢印により接続関係があったオブジェクトの組み合わせに対応するレコードを、位置関係テーブル400に追加する(ステップS4702)。そして、情報処理装置100は、ステップS4704の処理に移行する。
ステップS4703では、情報処理装置100は、パターン数をインクリメントする(ステップS4703)。そして、情報処理装置100は、ステップS4704の処理に移行する。
ステップS4704では、情報処理装置100は、影響度テーブル500のうち、変更前に矢印に接続されていた元のオブジェクトに対応するレコードを更新する(ステップS4704)。情報処理装置100は、例えば、「相対終点数」、または、「相対始点数」をデクリメントし、「終点影響度」、または、「始点影響度」を更新し、「全体影響度」を更新する。また、情報処理装置100は、例えば、「終点候補」、または、「始点候補」から、変更前の矢印により接続されていたオブジェクトを削除する。
次に、情報処理装置100は、影響度テーブル500のうち、変更後に矢印に接続された新たなオブジェクトに対応するレコードを更新する(ステップS4705)。情報処理装置100は、例えば、「相対終点数」、または、「相対始点数」をインクリメントし、「終点影響度」、または、「始点影響度」を更新し、「全体影響度」を更新する。また、情報処理装置100は、「終点候補」、または、「始点候補」に、変更前後で矢印に共通で接続されるオブジェクトを追加する。
そして、情報処理装置100は、影響度テーブル500のうち、変更前後で矢印に共通で接続されていた共通のオブジェクトに対応するレコードを更新する(ステップS4706)。情報処理装置100は、例えば、「終点影響度」、または、「始点影響度」を更新し、「全体影響度」を更新する。また、情報処理装置100は、例えば、「終点候補」、または、「始点候補」に、矢印に新たに接続されたオブジェクトを追加する。
次に、情報処理装置100は、元のオブジェクト、新たなオブジェクト、共通のオブジェクトが「規約エラー」であれば、「規約エラー」を解除する(ステップS4707)。そして、情報処理装置100は、矢印変更チェック処理を終了する。
(情報処理装置100が影響度表示を実施する一例)
次に、図48を用いて、情報処理装置100が影響度表示を実施する一例について説明する。
図48は、情報処理装置100が影響度表示を実施する一例を示す説明図である。図48において、情報処理装置100は、フロー図4801を表示する。表示先は、例えば、クライアント装置201であってもよい。情報処理装置100は、フロー図4801においてメニュー表示操作が行われ、メニュー上の「影響度表示(DB全体)」が選択されたことを検出する。情報処理装置100は、「影響度表示(DB全体)」が選択されたことを検出すると、影響度テーブル500の「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を抽出する。
情報処理装置100は、抽出した情報の一覧4802を表示する。また、情報処理装置100は、抽出した情報に基づいて、オブジェクトごとの始点影響度の棒グラフと終点影響度の棒グラフと全体影響度の棒グラフとを含むグラフ4803を表示する。また、情報処理装置100は、抽出した情報に基づいて、オブジェクトごとの始点影響度、終点影響度、および、全体影響度の積み上げ棒グラフ4804を表示する。
これにより、情報処理装置100は、オブジェクトが示すデータやプログラムの変更による影響度を把握可能にすることができ、データやプログラムの修正にかかる負担を見積もることができ、データやプログラムの修正計画を作成することができる。情報処理装置100は、例えば、データやプログラムの修正にかかる所要時間や所要金額などを見積もることができる。
情報処理装置100は、例えば、オブジェクトが示すプログラムにおける入力変数を増加する修正が行われる場合にかかる負担を見積もることができ、修正計画を作成することができる。情報処理装置100は、同様に、例えば、オブジェクトが示すプログラムにおける出力変数を減少する修正が行われる場合にかかる負担を見積もることができ、修正計画を作成することができる。
ここでは、情報処理装置100が、影響度テーブル500全体での「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を表示する場合について説明したが、これに限らない。例えば、情報処理装置100が、影響度テーブル500のうち、1または複数のオブジェクトについての「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を表示する場合があってもよい。
また、情報処理装置100は、棒グラフ以外で、「始点影響度」、「終点影響度」、「全体影響度」などを表示する場合があってもよい。情報処理装置100は、「始点影響度」、「終点影響度」、「全体影響度」をリスト化して表示する場合があってもよい。情報処理装置100は、以上の動作内容を規定したプログラムをクライアント装置201に送信することにより、以上の動作内容をクライアント装置201上で実行させる場合があってもよい。
(単独影響度表示処理手順)
次に、図49を用いて、情報処理装置100が実行する、単独影響度表示処理手順の一例について説明する。単独影響度表示処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図49は、単独影響度表示処理手順の一例を示すフローチャートである。図49において、まず、情報処理装置100は、いずれかのオブジェクトの選択を受け付け、選択されたオブジェクトの影響度表示要求を受け付ける(ステップS4901)。次に、情報処理装置100は、影響度テーブル500から選択されたオブジェクトに対応するレコードを検索する(ステップS4902)。
そして、情報処理装置100は、選択されたオブジェクトに対応するレコードが存在するか否かを判定する(ステップS4903)。ここで、レコードが存在する場合(ステップS4903:Yes)、情報処理装置100は、ステップS4905の処理に移行する。一方で、レコードが存在しない場合(ステップS4903:No)、情報処理装置100は、ステップS4904の処理に移行する。
ステップS4904では、情報処理装置100は、オブジェクトを「規約エラー」としてエラー表示する(ステップS4904)。そして、情報処理装置100は、単独影響度表示処理を終了する。
ステップS4905では、情報処理装置100は、選択されたオブジェクトに対応する「始点影響度」、「終点影響度」、「全体影響度」を表示する(ステップS4905)。次に、情報処理装置100は、選択されたオブジェクトに対応する「始点影響度」、「終点影響度」、「全体影響度」をグラフ化して表示する(ステップS4906)。
情報処理装置100は、例えば、オブジェクトごとの始点影響度の棒グラフ、オブジェクトごとの終点影響度の棒グラフ、オブジェクトごとの全体影響度の棒グラフ、オブジェクトごとの始点影響度、終点影響度、全体影響度の積み上げ棒グラフを表示する。そして、情報処理装置100は、単独影響度表示処理を終了する。
(複数影響度表示処理手順)
次に、図50を用いて、情報処理装置100が実行する、複数影響度表示処理手順の一例について説明する。複数影響度表示処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図50は、複数影響度表示処理手順の一例を示すフローチャートである。図50において、まず、情報処理装置100は、複数のオブジェクトの選択を受け付け、選択された複数のオブジェクトの影響度表示要求を受け付ける(ステップS5001)。ここで、複数のオブジェクトの選択は、フロー図単位での選択であってもよい。
次に、情報処理装置100は、影響度テーブル500から選択された複数のオブジェクトのそれぞれのオブジェクトに対応するレコードを検索する(ステップS5002)。そして、情報処理装置100は、選択された複数のオブジェクトのうちのオブジェクトを順に選択し、図51に後述するサブ処理の対象に設定し、図51に後述するサブ処理を実行する(ステップS5003)。
次に、情報処理装置100は、選択された複数のオブジェクトのそれぞれのオブジェクトに対応する「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を表示する(ステップS5004)。そして、情報処理装置100は、選択された複数のオブジェクトのそれぞれのオブジェクトに対応する「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」をグラフ化して表示する(ステップS5005)。
情報処理装置100は、例えば、オブジェクトごとの始点影響度の棒グラフ、オブジェクトごとの終点影響度の棒グラフ、オブジェクトごとの全体影響度の棒グラフ、オブジェクトごとの始点影響度、終点影響度、全体影響度の積み上げ棒グラフを表示する。そして、情報処理装置100は、複数影響度表示処理を終了する。
(ステップS5003のサブ処理手順)
次に、図51を用いて、情報処理装置100が実行する、ステップS5003のサブ処理手順の一例について説明する。ステップS5003のサブ処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図51は、ステップS5003のサブ処理手順の一例を示すフローチャートである。図51において、情報処理装置100は、対象のオブジェクトに対応するレコードが存在するか否かを判定する(ステップS5101)。ここで、レコードが存在する場合(ステップS5101:Yes)、情報処理装置100は、ステップS5103の処理に移行する。一方で、レコードが存在しない場合(ステップS5101:No)、情報処理装置100は、ステップS5102の処理に移行する。
ステップS5102では、情報処理装置100は、対象のオブジェクトを「規約エラー」としてエラー表示する(ステップS5102)。そして、情報処理装置100は、サブ処理を終了する。
ステップS5103では、情報処理装置100は、対象のオブジェクトに対応する「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を一時記憶する(ステップS5103)。そして、情報処理装置100は、サブ処理を終了する。
(全体影響度表示処理手順)
次に、図52を用いて、情報処理装置100が実行する、全体影響度表示処理手順の一例について説明する。全体影響度表示処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図52は、全体影響度表示処理手順の一例を示すフローチャートである。図52において、まず、情報処理装置100は、全体の影響度表示要求を受け付ける(ステップS5201)。次に、情報処理装置100は、オブジェクトごとに、影響度テーブル500に設定された「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」を表示する(ステップS5202)。
そして、情報処理装置100は、オブジェクトごとに、影響度テーブル500に設定された「オブジェクト」、「オブジェクト種別」、「始点影響度」、「終点影響度」、「全体影響度」をグラフ化して表示する(ステップS5203)。情報処理装置100は、例えば、オブジェクトごとの始点影響度の棒グラフ、オブジェクトごとの終点影響度の棒グラフ、オブジェクトごとの全体影響度の棒グラフ、オブジェクトごとの始点影響度、終点影響度、全体影響度の積み上げ棒グラフを表示する。そして、情報処理装置100は、全体影響度表示処理を終了する。
以上説明したように、情報処理装置によれば、複数の図面に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す順序情報を生成することができる。情報処理装置によれば、生成した順序情報に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報を出力することができる。これにより、情報処理装置は、図面を確認しなくても、指定の部品が影響する部品を把握しやすくすることができる。
情報処理装置によれば、データまたはプログラムを示す部品を用いることができる。これにより、情報処理装置は、データまたはプログラムを示す部品について影響範囲を把握しやすくすることができる。
情報処理装置によれば、複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成することができる。情報処理装置によれば、所定の図面のうちのいずれかの部品を始点または終点として示す接続部品が配置された場合、配置された接続部品の方向を参照し、生成した位置関係情報に基づいて、いずれかの部品と接続される部品に関する情報を出力することができる。これにより、情報処理装置は、配置済みの部品と接続される部品の候補を把握しやすくすることができ、図面の作成にかかる負担の低減化を図ることができる。
情報処理装置によれば、所定の図面のうちで接続関係がある2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定することができる。情報処理装置によれば、判定結果を出力することができる。これにより、情報処理装置は、部品間の位置関係が基準に合致するか否かを把握しやすくすることができ、図面の修正にかかる負担の低減化を図ることができる。
情報処理装置によれば、複数の図面に基づいて、部品の種別ごとに、部品の属性を対応付けて示す属性情報を生成することができる。情報処理装置によれば、生成した属性情報に基づいて、所定の図面のうちのいずれかの部品の属性が、いずれかの部品の種別に対応する属性に含まれるか否かを判定することができる。情報処理装置によれば、判定結果を出力することができる。これにより、情報処理装置は、部品の属性が基準に合致するか否かを把握しやすくすることができ、図面の修正にかかる負担の低減化を図ることができる。
情報処理装置によれば、所定の図面のうちで接続関係がある2つの部品のいずれかの部品が移動された場合、移動後の2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定することができる。情報処理装置によれば、判定結果を出力することができる。これにより、情報処理装置100は、図面の作成時や修正時に、部品や矢印が、所定の基準に合致するか否かを把握しやすくすることができ、図面の作成や修正にかかる負担の低減化を図ることができる。
情報処理装置によれば、所定の図面のうちで接続関係がある2つの部品の一方の部品を変更する場合、他方の部品と接続される部品に関する情報を出力することができる。これにより、情報処理装置100は、図面の作成時や修正時に、所定の基準に合致する部品を配置しやすくすることができ、図面の作成や修正にかかる負担の低減化を図ることができる。
情報処理装置によれば、所定の図面のうちのいずれかの接続部品による接続関係を変更する場合、変更後にいずれかの接続部品が接続関係を示す2つの部品の位置関係が、生成した位置関係情報が示す位置関係に含まれるか否かを判定することができる。情報処理装置によれば、判定結果を出力することができる。これにより、情報処理装置100は、図面の作成時や修正時に、部品や矢印が、所定の基準に合致するか否かを把握しやすくすることができ、図面の作成や修正にかかる負担の低減化を図ることができる。
情報処理装置によれば、いずれかの部品の指定を受け付けた場合、指定されたいずれかの部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの、複数の図面における配置数を取得することができる。情報処理装置によれば、配置数を用いて、指定されたいずれかの部品の影響度を算出し、算出した影響度を出力することができる。これにより、情報処理装置は、部品の変更による影響の大きさを把握可能にすることができる。
情報処理装置によれば、接続部品を、接続部品の第1の点から外部に伸ばした線分上にある部品と、接続部品の第2の点から外部に伸ばした線分上にある部品との接続関係を示す部品として扱うことができる。これにより、情報処理装置は、接続部品が部品と接していない図面に対して適用することができる。
情報処理装置によれば、共通する属性を有する複数の図面を用いることができる。情報処理装置は、順序情報や位置関係情報の生成に、共通する属性を有し一定の規則で生成された複数の図面を用いることができ、順序情報や位置関係情報の有用性の向上を図ることができる。
情報処理装置によれば、部品に関する情報として、部品の種別を出力することができる。これにより、情報処理装置は、部品の種別を把握しやすくすることができる。
情報処理装置によれば、部品の属性として、部品の形状または色を用いることができる。これにより、情報処理装置は、部品の形状または色が、所定の基準に合致するか否かを判定可能にすることができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した複数の図面に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す順序情報を生成し、
いずれかの部品の指定を受け付けた場合、生成した前記順序情報に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報を出力する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記部品はデータまたはプログラムを示す、ことを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記コンピュータに、
前記複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成し、
所定の図面のうちのいずれかの部品を始点または終点として示す接続部品が配置された場合、配置された前記接続部品の方向を参照し、生成した前記位置関係情報に基づいて、前記いずれかの部品と接続される部品に関する情報を出力する、
処理を実行させることを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記コンピュータに、
前記複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成し、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した所定の図面のうちで接続関係がある2つの部品の位置関係が、生成した前記位置関係情報が示す位置関係に含まれるか否かを判定し、判定結果を出力する、
処理を実行させることを特徴とする付記1〜3のいずれか一つに記載の情報処理プログラム。
(付記5)前記コンピュータに、
前記複数の図面に基づいて、部品の種別ごとに、部品の属性を対応付けて示す属性情報を生成し、
生成した前記属性情報に基づいて、部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した所定の図面のうちのいずれかの部品の属性が、前記いずれかの部品の種別に対応する属性に含まれるか否かを判定し、判定結果を出力する、
処理を実行させることを特徴とする付記1〜4のいずれか一つに記載の情報処理プログラム。
(付記6)前記コンピュータに、
前記複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成し、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した所定の図面のうちで接続関係がある2つの部品のいずれかの部品が移動された場合、移動後の前記2つの部品の位置関係が、生成した前記位置関係情報が示す位置関係に含まれるか否かを判定し、判定結果を出力する、
処理を実行させることを特徴とする付記1〜5のいずれか一つに記載の情報処理プログラム。
(付記7)前記コンピュータに、
前記複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成し、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した所定の図面のうちで接続関係がある2つの部品の一方の部品を変更する場合、他方の部品と接続される部品に関する情報を出力する、
処理を実行させることを特徴とする付記1〜6のいずれか一つに記載の情報処理プログラム。
(付記8)前記コンピュータに、
前記複数の図面に基づいて、接続関係がある2つの部品の種別の組み合わせごとに、部品の位置関係を対応付けて示す位置関係情報を生成し、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した所定の図面のうちのいずれかの接続部品による接続関係を変更する場合、変更後に前記いずれかの接続部品が接続関係を示す2つの部品の位置関係が、生成した前記位置関係情報が示す位置関係に含まれるか否かを判定し、判定結果を出力する、
処理を実行させることを特徴とする付記1〜7のいずれか一つに記載の情報処理プログラム。
(付記9)前記コンピュータに、
いずれかの部品の指定を受け付けた場合、生成した前記順序情報に基づいて、指定された前記いずれかの部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの、前記複数の図面における配置数を用いて、指定された前記いずれかの部品の影響度を算出し、算出した前記影響度を出力する、
処理を実行させることを特徴とする付記1〜8のいずれか一つに記載の情報処理プログラム。
(付記10)前記接続部品は、前記接続部品の第1の点から外部に伸ばした線分上にある部品と、前記接続部品の第2の点から外部に伸ばした線分上にある部品との接続関係を示す、ことを特徴とする付記1〜9のいずれか一つに記載の情報処理プログラム。
(付記11)前記複数の図面は共通する属性を有する、ことを特徴とする付記1〜10のいずれか一つに記載の情報処理プログラム。
(付記12)部品に関する情報は、部品の種別を含む、ことを特徴とする付記3または8に記載の情報処理プログラム。
(付記13)前記属性は、部品の形状または色である、ことを特徴とする付記5に記載の情報処理プログラム。
(付記14)コンピュータが、
部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した複数の図面に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す順序情報を生成し、
いずれかの部品の指定を受け付けた場合、生成した前記順序情報に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報を出力する、
処理を実行することを特徴とする情報処理方法。
(付記15)部品および部品間の接続関係を示す接続部品を配置することにより有向グラフを表現した複数の図面に基づいて、接続関係がある2つの部品の組み合わせごとに、部品間の順序関係を対応付けて示す順序情報を生成し、
いずれかの部品の指定を受け付けた場合、生成した前記順序情報に基づいて、指定された部品の直前に順序付けられた部品、および、直後に順序付けられた部品の少なくともいずれかの部品に関する情報を出力する、
制御部を有することを特徴とする情報処理装置。