(57)【要約】【課題】ＤＳＭ生成におけるフローチャートの誤りを訂正するプログラムを提供する。【解決手段】フローチャートを読み込む読込み手順Ｓ１０と、ノード名を格納するノード配列３０と、エッジの始点および終点から成る対情報を格納するエッジ配列４０と、ノードの輪郭の座標を格納するノード輪郭情報３１と、エッジの座標を格納するエッジ位置配列４１とを生成する配列生成手順Ｓ２０と、対情報の始点と終点とについてノード配列３０におけるそれぞれのノード名を検索する検索手順Ｓ３０と、エッジとノードの輪郭との位置関係を確認する位置確認手順Ｓ４０とを実行する。また、始点および終点が、ノードの端子と未接続である場合を検出する未接続検出手順Ｓ５０と、前記ノード配列に含まれないノードと接続されている場合を検出する誤接続検出手順Ｓ６０と、訂正指示情報生成手順Ｓ７０とを実行する。【選択図】図１
2016119002.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に記録されたフローチャート（１０）を読み込む読込み手順（Ｓ１０）と、
前記フローチャート（１０）から、ノード名と、エッジの始点および終点と、ノード名のＸ座標およびＹ座標とを抽出し、前記ノード名を格納するノード配列（３０）と、前記エッジの始点および終点から成る対情報を格納するエッジ配列（４０）と、前記ノード名、ノードの輪郭のＸ座標およびＹ座標を格納するノード輪郭情報（３１）と、エッジ名、エッジのＸ座標およびＹ座標を格納するエッジ位置配列（４１）とを生成する配列生成手順（Ｓ２０）と、
前記始点および終点について、前記ノード配列（３０）におけるそれぞれのノード名を検索する検索手順（Ｓ３０）と、
前記始点および終点について、前記ノード輪郭情報（３１）における前記ノードの輪郭との位置関係を確認する位置確認手順（Ｓ４０）と、
前記検索手順（Ｓ３０）の結果と前記位置確認手順（Ｓ４０）の結果から、前記始点および終点がノードの端子と未接続である場合を検出する未接続検出手順（Ｓ５０）と、
前記検索手順（Ｓ３０）の結果から、前記始点および終点が前記ノード配列に含まれないノードと接続されている場合を検出する誤接続検出手順（Ｓ６０）と、
前記未接続検出手順（Ｓ５０）および前記誤接続検出手順（Ｓ６０）の結果において検出された未接続情報および誤接続情報に基づき訂正箇所を示す訂正指示情報（２０）を生成する訂正指示情報生成手順（Ｓ７０）とを
コンピュータに実行させるＤＳＭ（Design Structure MatrixまたはDependency Structure Matrixと称されている）生成における誤り訂正プログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
前記ノードの輪郭幅（ｗ）を指定する輪郭幅情報（６０）をさらに読み込み、前記ノードの輪郭幅（ｗ）よりも輪郭の中心側に始点および終点が位置するかを検出する位置確認手順（Ｓ４０）をコンピュータに実行させるための
ＤＳＭ生成における誤り訂正プログラム。
【請求項３】
請求項１および２のいずれか一項に記載のプログラムにおいて、
誤り訂正許可を示す訂正許可情報（５０）を読み込む訂正許可手順（Ｓ８０）と、
前記訂正指示情報（２０）と、前記フローチャート（１０）とを読み込み、前記フローチャート（１０）を訂正し、記録媒体にフローチャート（２１）を記録する訂正手順（Ｓ９０）とをさらに備える
ＤＳＭ生成における誤り訂正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＳＭ生成における誤り訂正プログラムに関する。
【背景技術】
【０００２】
開発現場では、製品の多様化や設計要件が拡大する中で高い設計品質を短い期間で達成することが求められている。そのために開発支援ツールとして手順の相互関係を可視化するＤＳＭ（Design Structure MatrixまたはDependency Structure Matrixと称されている）が普及しつつある。
【０００３】
従来、ＤＳＭの作成は、予め作成済みのフローチャートを視覚で読み込み、読み込んだデータを手作業で入力することにより行われていた。しかしながら、ＤＳＭの項目数が多くなると、項目相互の依存関係を把握することが難しい。非特許文献１では、数百以上の項目によって構成される設計プロセスをＤＳＭにモデル化することが困難であることが示されており、巨大なＤＳＭの作成が困難であることが問題となっていた。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】中沢俊彦、「設計プロセスのモデリングと可視化」、学会誌「設計工学」、社団法人日本設計工学会、２００７年、Vol.42、No.4、p.1−7
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、このような従来技術における課題を解決するものであって、フローチャートからＤＳＭをコンピュータに生成させるプログラムが有効と考えられ、その際に必要と考えられるフローチャートの誤りを訂正するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るＤＳＭ生成プログラムは、このような課題を解決したものであって、記録媒体に記録されたフローチャートを読み込む読込み手順と、前記フローチャートから、ノード名と、エッジの始点および終点と、ノード名のＸ座標およびＹ座標とを抽出し、前記ノード名を格納するノード配列と、前記エッジの始点および終点から成る対情報を格納するエッジ配列と、前記ノード名、前記ノードの輪郭のＸ座標およびＹ座標を格納するノード輪郭情報と、エッジ名、エッジのＸ座標およびＹ座標を格納するエッジ位置配列とを生成する配列生成手順と、前記始点および終点について、前記ノード配列におけるそれぞれのノード名を検索する検索手順と、前記始点および終点について、前記ノード輪郭情報における前記ノードの輪郭との位置関係を確認する位置確認手順と、前記検索手順の結果と前記位置確認手順の結果から、前記始点および終点がノードの端子と未接続である場合を検出する未接続検出手順と、前記検索手順の結果から、前記始点および終点が前記ノード配列に含まれないノードと接続されている場合を検出する誤接続検出手順と、前記未接続検出手順および前記誤接続検出手順の結果において検出された未接続情報および誤接続情報に基づき訂正箇所を示す訂正指示情報を生成する訂正指示情報生成手順とをコンピュータに実行させる。
【０００７】
前述のように、ＤＳＭの作成は、予め作成済みのフローチャートを作業者が視覚によって読み込み、読み込んだデータを手作業で作成することにより行われていた。しかしながら、ＤＳＭの項目数が多くなると、項目相互の依存関係を把握することが難しく、巨大なＤＳＭの作成が困難であった。
【０００８】
それに対して、フローチャートからＤＳＭをコンピュータに生成させるプログラムが有効と考えられる。その際に、フローチャートに誤りが混入している可能性がある。誤りを含んだフローチャートからＤＳＭを生成すると、再度生成が必要となる。したがって、フローチャートの誤りを早期に検出することが望ましい。
【０００９】
そこで、本発明に係るＤＳＭ生成における誤り訂正プログラムは、フローチャートの結線の誤りを検出する手順を備えている。すなわち、フローチャート中の、エッジの始点の未接続、エッジの終点の未接続、エッジの始点の誤ったノードへの接続、エッジの終点の誤ったノードへの接続を検出し、訂正指示情報を出力することができる。
【００１０】
また、前記ノードの輪郭幅を指定する輪郭幅情報をさらに読み込み、前記ノードの輪郭幅よりも輪郭の中心側に始点および終点が位置するかを検出する位置確認手順をコンピュータに実行させることもできる。このような構成によれば、エッジとノードの輪郭との接続判定に幅をもたせることによって、ノードの輪郭から離れた未接続エッジに対しても、訂正箇所を出力することができる。
【００１１】
誤り訂正許可を示す訂正許可情報を読み込む訂正許可手順と、前記訂正指示情報と、前記フローチャートとを読み込み、前記フローチャートを訂正し、記録媒体にフローチャートを記録する訂正手順とをさらに備えることもできる。このような構成によれば、訂正指示情報に示されたフローチャートの誤り箇所を修正することができる。
【発明の効果】
【００１２】
本発明に係るＤＳＭ生成における誤り訂正プログラムによれば、入力となるフローチャート中の、ノード間を結線するエッジの誤りを検出し、誤りを早期に訂正することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係るＤＳＭ生成における誤り訂正プログラムの入出力図である。
【図２】（ａ）入力するフローチャートの一例を示す図、（ｂ）内部データのノード配列の一例を示す図、（ｃ）内部データのエッジ配列の一例を示す図。
【図３】実施の形態２に係るＤＳＭ生成における誤り訂正プログラムの入出力図である。
【図４】実施の形態３に係るＤＳＭ生成における誤り訂正プログラムの入出力図である。
【図５】ノードに対する輪郭幅の一例を示す図である。
【発明を実施するための形態】
【００１４】
（実施の形態１）
以下、実施の形態１に係るＤＳＭ生成における誤り訂正プログラム１について説明する。
【００１５】
図１に示すように、ＤＳＭ生成における誤り訂正プログラム１はソフトウェアによって作成されたフローチャート１０を入力し、訂正指示情報２０を出力する。ソフトウェアは、一例としてＥｘｃｅｌ（マイクロソフト社の登録商標）が挙げられる。フローチャート１０はコンピュータが記録可能な媒体、例えば磁気ディスクや半導体メモリに記録されている。
【００１６】
ここで、入力データと中間データとについて説明する。図２（ａ）は、入力データであるフローチャート１０の一例である。フローチャート１０はＸＹ平面に描画される。ｎ１、ｎ２、ｎ３、および、ｎ４はフローチャート１０のノードを示し、ノード名はそれぞれＡ、Ｂ、Ｃ、および、Ｄである。ノードは専用のシンボルが指定されており、ノードシンボルを使用してノードを作成しなければならない。フローチャート作成者がフローチャート１０を作成する際、ノード以外のシンボルや図形を指定し、誤りを作り込むことがある。
【００１７】
各ノードは接続のためのピンを備えている。各ノード間はエッジｅ１、ｅ２、ｅ３、および、ｅ４によって結線されており、ピンにエッジが接触しておれば接続となる。ノードの輪郭にエッジが接触していても、ピンに接触していなければ接続とならない。フローチャート作成者がフローチャート１０を作成する際、ノードを接続する意図があったが、ピンにエッジが接触しておらず、誤りを作り込む場合がある。
【００１８】
また、フローチャート１０にはノードの輪郭のＸ座標とＹ座標とが含まれる。例えば、ノードｎ１の輪郭は４つの辺から構成され、フローチャート１０はその４つの辺の情報を含む。データ構造として、例えば、４つの辺それぞれの始点および終点のＸ座標とＹ座標とを保持する構造でもよいし、ノードｎ１の中心座標とシンボルの形状と大きさとを保持し輪郭を計算する構造でもよい。さらに、フローチャート１０はエッジの位置情報も含み、始点および終点のそれぞれのＸ座標とＹ座標とを含む。
【００１９】
図２（ｂ）は、中間データであるノード配列３０の一例である。フローチャート１０のノードのノード名をノード配列３０に格納する。
図２（ｃ）は、中間データであるエッジ配列４０の一例である。エッジを始点と終点とから成る対情報によって表現する。例えば、エッジｅ１（図２（ａ）参照）の対情報を、始点のＡと終点のＢとする。フローチャート１０のエッジの対情報をエッジ配列４０に格納する。
【００２０】
次に、図１を参照して、実施の形態１のＤＳＭ生成における誤り訂正プログラム１の動作内容を説明する。読込み手順Ｓ１０は、コンピュータが記録可能な媒体からフローチャート１０を読み出し、コンピュータ内部のメモリにフローチャート１０を格納する。
【００２１】
配列生成手順Ｓ２０は、上記読込み手順Ｓ１０で格納したフローチャート１０からノード配列３０、ノードの輪郭の情報を格納するノード輪郭情報３１、エッジ配列４０、および、エッジの始点と終点との座標を格納するエッジ位置配列４１を生成し、コンピュータ内部のメモリに格納する。
【００２２】
検索手順Ｓ３０は、対情報の始点および終点について、ノード配列３０におけるそれぞれのノード名を検索する。
位置確認手順Ｓ４０は、対情報の始点および終点が、ノード輪郭情報３１に格納されているノードの輪郭上に位置しているかを確認する。検索手順Ｓ３０でノード名が見つかった場合は、位置確認手順Ｓ４０を実行しない。
【００２３】
未接続検出手順Ｓ５０は、検索手順Ｓ３０の結果から、対情報の始点および終点がノードの端子と未接続である場合を検出する。未接続である場合は、位置確認手順Ｓ４０の結果から候補となるノードを検索する。
【００２４】
誤接続検出手順Ｓ６０は、検索手順Ｓ３０の結果から、対情報の始点および終点がノード配列３０に含まれているかを調べる。含まれていない場合は誤接続と判断し、対情報の終点または始点を削除候補とする。
【００２５】
訂正指示情報生成手順Ｓ７０は、未接続検出手順Ｓ５０で得られた結果と誤接続検出手順Ｓ６０とで得られた結果を訂正候補とし、訂正指示情報２０に出力する。
検索手順Ｓ３０、位置確認手順Ｓ４０、未接続検出手順Ｓ５０、誤接続検出手順Ｓ６０、および、訂正指示情報生成手順Ｓ７０を、エッジ配列４０のすべてのエッジについて実行する（ループＬ１）。訂正指示情報生成手順Ｓ７０は、各ループで得た訂正指示情報２０を前ループでの訂正指示情報２０に追加する。
【００２６】
実施の形態１に係るＤＳＭ生成における誤り訂正プログラム１は、以上のように構成されているので、次のような効果を奏することができる。
（１）フローチャート１０中の、エッジの始点の未接続、エッジの終点の未接続、エッジの始点の誤ったノードへの接続、エッジの終点の誤ったノードへの接続を検出し、訂正指示情報２０を出力することができる。
【００２７】
（実施の形態２）
以下、実施の形態２に係るＤＳＭ生成における誤り訂正プログラム２について説明する。
【００２８】
実施の形態２は、実施の形態１に比較して、訂正指示情報生成手順Ｓ７０において生成した訂正指示情報２０の訂正候補をフローチャート１０に対して訂正する点が異なる。
次に、図３を参照して、実施の形態２のＤＳＭ生成における誤り訂正プログラム２の動作内容を説明する。
【００２９】
まず、記録媒体からフローチャート１０を読み出してコンピュータ内部のメモリにフローチャート１０を格納し（読込み手順Ｓ１０）、読込み手順Ｓ１０で格納したフローチャート１０に対するノード配列３０、ノード輪郭情報３１、エッジ配列４０、および、エッジ位置配列４１を生成し、コンピュータ内部のメモリに格納する（配列生成手順Ｓ２０）。対情報の始点および終点について、ノード配列３０におけるそれぞれのノード名を検索し（検索手順Ｓ３０）、対情報の始点および終点が、ノード輪郭情報３１に格納されているノードの輪郭上に位置しているかを確認する（位置確認手順Ｓ４０）。対情報の始点および終点がノードの端子と未接続である場合を検出し（未接続検出手順Ｓ５０）、対情報の始点および終点がノード配列３０に含まれているかを調べ（誤接続検出手順Ｓ６０）、訂正候補を訂正指示情報２０に出力する（訂正指示情報生成手順Ｓ７０）。この処理方法は、実施の形態１の場合と同様である。
【００３０】
続いて、訂正指示情報２０と、誤り訂正許可を示す訂正許可情報５０とを読み込む（訂正許可手順Ｓ８０）。訂正指示情報２０に示された訂正候補を訂正するかどうかを、訂正許可情報５０に使用者が記述する。ワイルドカード形式で記述し、複数の訂正箇所の訂正許可を指定することもできる。また、エッジの誤接続、または、エッジの始点および終点の未接続の誤り種類別に訂正許可を指定することもできる。
【００３１】
さらに、フローチャート１０を読み込み、訂正許可手順Ｓ８０で許可された訂正箇所を訂正し、誤りを訂正した訂正済フローチャート２１を記録媒体に記録する（訂正手順Ｓ９０）。
【００３２】
実施の形態２に係るＤＳＭ生成における誤り訂正プログラム２は、以上のように構成されているので、次のような効果を奏することができる。
（２）訂正許可情報５０に基づき、訂正指示情報２０に示されたフローチャート１０の誤り箇所を修正することができる。
【００３３】
（実施の形態３）
以下、実施の形態３に係るＤＳＭ生成における誤り訂正プログラム１について説明する。
【００３４】
実施の形態３は、実施の形態１に比較して、エッジの始点または終点が輪郭上に位置するかを判定する幅を拡大する点が異なる。
次に、図４を参照して、実施の形態３のＤＳＭ生成における誤り訂正プログラム１の動作内容を説明する。
【００３５】
まず、記録媒体からフローチャート１０を読み出してコンピュータ内部のメモリにフローチャート１０を格納し（読込み手順Ｓ１０）、読込み手順Ｓ１０で格納したフローチャート１０に対するノード配列３０、ノード輪郭情報３１、エッジ配列４０、および、エッジ位置配列４１を生成し、コンピュータ内部のメモリに格納する（配列生成手順Ｓ２０）。対情報の始点および終点について、ノード配列３０におけるそれぞれのノード名を検索する（検索手順Ｓ３０）。
【００３６】
さらに、対情報の始点および終点が、ノード輪郭情報３１に格納されているノードの輪郭上に位置しているかを確認する（位置確認手順Ｓ４０）。輪郭幅情報６０には、ノードの輪郭に対してノードに接続していると判断する数値である輪郭幅ｗが記述される。
【００３７】
図５を参照して、輪郭幅ｗについて説明する。ノードｎ１とエッジｅ１とは接続されていないが、始点ｅ１Ｘがノードｎ１の輪郭幅ｗよりも輪郭の中心側に位置している。位置確認手順Ｓ４０は、ノードｎ１に輪郭幅ｗを適用し、ｅ１ｘとノードｎ１とが接続候補であると判断する。
【００３８】
そして、対情報の始点および終点がノードの端子と未接続である場合を検出する（未接続検出手順Ｓ５０）。エッジの始点または終点がエッジの輪郭幅ｗ以内に入っておれば、接続と判定する。
【００３９】
実施の形態３に係るＤＳＭ生成における誤り訂正プログラム１は、以上のように構成されているので、次のような効果を奏することができる。
（３）エッジとノードの輪郭との接続判定に幅をもたせることによって、ノードの輪郭から離れた未接続エッジに対しても、訂正箇所を出力することができる。
【００４０】
（変形例）
上記実施の形態に係るＤＳＭ生成における誤り訂正プログラムは、以下のように変更することもできる。
【００４１】
・実施の形態２は、訂正許可情報５０をファイルではなく、ＧＵＩ（Graphical User Interface）を用いた対話型手段で入力してもよい。
・実施の形態３は、輪郭幅情報６０をファイルではなく、ＧＵＩを用いた対話型手段で入力してもよい。
【符号の説明】
【００４２】
１０…フローチャート、２０…訂正指示情報、２１…フローチャート、３０…ノード配列、３１…ノード輪郭情報、４０…エッジ配列、４１…エッジ位置配列、６０…輪郭幅情報、Ｓ１０…読込み手順、Ｓ２０…配列生成手順、Ｓ３０…検索手順、Ｓ４０…位置確認手順、Ｓ５０…未接続検出手順、Ｓ６０…誤接続検出手順、Ｓ７０…訂正指示情報生成手順、Ｓ８０…訂正許可手順、Ｓ９０…訂正手順、ｗ…輪郭幅。
【図１】
2016119002.tif 000003
【図２】
2016119002.tif 000004
【図３】
2016119002.tif 000005
【図４】
2016119002.tif 000006
【図５】
2016119002.tif 000007