【事件の表示】
　平成　９年特許願第１９８８６５号「プログラム構築支援装置及び記憶媒体」拒絶査定不服審判事件〔平成１１年　２月１２日出願公開、特開平１１−　３９１４５〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯  
　本願は、平成９年７月２４日の出願であって、平成１７年１２月１２日付けで拒絶理由通知がなされ、平成１８年２月１４日付けで手続補正がなされたが、同年３月３１日付けで拒絶査定がなされ、これに対し、同年４月２７日に審判請求がなされるとともに、同日付けで手続補正がなされたものである。そして、同年９月１５日付けで審査官から前置報告がなされ、平成２０年５月１６日付けで当審より審尋がなされ、同年７月２４日付けで回答書が提出されたものである。
　  
第２．補正却下の決定
［補正却下の決定の結論］
　平成１８年４月２７日付けの手続補正を却下する。
　
［理由］
１．補正の内容
　平成１８年４月２７日付けの手続補正（以下、「本件手続補正」という。）の内容は、平成１８年２月１４日付けの手続補正により補正された特許請求の範囲の記載
「【請求項１】
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段と、
　前記モジュールタイルの配置位置を規定するグリッド情報を表示画面上に設定する設定手段と、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを定義する定義手段と、
　前記定義された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、
　前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記定義手段によって再配置後のデータ処理プログラムを定義する挿入手段と、
　前記定義手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段と
　を備えたことを特徴とするプログラム構築支援装置。
　　【請求項２】
　前記挿入手段は、ユーザによって配置が指示されたモジュールタイルが分岐処理を表すモジュールタイルであった場合には、指定された分岐条件に応じた接続線をグリッドの位置に合わせて表示し、
　前記プログラム構築手段は、モジュールタイル及び前記接続線の配置位置に基づいて、一連の分岐処理を含むデータ処理プログラムを構築する
　ことを特徴とする請求項１記載のプログラム構築支援装置。
　　【請求項３】
　前記定義手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段と、
　前記定義画面上でのユーザの入力に応じて前記隣接するモジュールタイル間で入出力されるデータ項目及びデータ形式を設定するデータ設定手段と
　を具備し、前記プログラム構築手段は前記設定されたデータ項目及びデータ形式に基づいて、各モジュールタイルに対応するプログラムモジュール間のデータフロー及び処理すべきデータ内容を判断して一連のデータ処理プログラムを構築する
　ことを特徴とする請求項１記載のプログラム構築支援装置。
　　【請求項４】
　前記データ設定手段によって設定された入出力されるデータ項目及びデータ形式に基づいて、前記選択されていない他のモジュールタイル間で入出力されるデータ項目及びデータ形式を設定する
　ことを特徴とする請求項３記載のプログラム構築支援装置。
　　【請求項５】
　コンピュータを、
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段、
　前記モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する規定手段、
　前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、
　前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段、
　前記規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段
　として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。」（以下、この特許請求の範囲に記載された請求項を「補正前の請求項」という。）を、
　
「【請求項１】
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段と、
　前記モジュールタイルの配置位置を規定するグリッド情報を表示画面上に設定する設定手段と、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを定義する定義手段と、
　前記定義された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、
　前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記定義手段によって再配置後のデータ処理プログラムを定義する挿入手段と、
前記定義手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段と、
前記定義画面上でのユーザの入力に応じて前記隣接するモジュールタイル間で入出力されるデータ項目及びデータ形式を設定するデータ設定手段と、
前記データ設定手段によって前記設定されたデータ項目及びデータ形式に基づいて、各モジュールタイルに対応するプログラムモジュール間のデータフロー及び処理すべきデータ内容を判断して一連のデータ処理プログラムを構築するプログラム構築手段と
　を備えたことを特徴とするプログラム構築支援装置。
【請求項２】
　前記挿入手段は、ユーザによって配置が指示されたモジュールタイルが分岐処理を表すモジュールタイルであった場合には、指定された分岐条件に応じた接続線をグリッドの位置に合わせて表示し、
　前記プログラム構築手段は、モジュールタイル及び前記接続線の配置位置に基づいて、一連の分岐処理を含むデータ処理プログラムを構築する
　ことを特徴とする請求項１記載のプログラム構築支援装置。
【請求項３】
　コンピュータを、
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段、
　前記モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する規定手段、
　前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、
　前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段、
前記定義手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段、
前記定義画面上でのユーザの入力に応じて前記隣接するモジュールタイル間で入出力されるデータ項目及びデータ形式を設定するデータ設定手段、
前記データ設定手段によって前記設定されたデータ項目及びデータ形式に基づいて、各モジュールタイルに対応するプログラムモジュール間のデータフロー及び処理すべきデータ内容を判断して一連のデータ処理プログラムを構築するプログラム構築手段
　として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。」（以下、この特許請求の範囲に記載された請求項を「補正後の請求項」という。）
　に補正するものである。
　  
　なお、平成１８年２月１４日付けの手続補正により補正された特許請求の範囲の請求項５に「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共に」（１５行目〜１６行目）と記載され、また、平成１８年４月２７日付けの手続補正により補正された特許請求の範囲の請求項３に「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共に」（１５行目〜１６行目）と記載されているが、その文脈からして前記記載は明らかに「前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共に」の誤記であると認められるから、
　以下の「２．補正の適否」の検討において、平成１８年２月１４日付けの手続補正により補正された特許請求の範囲の請求項５及び平成１８年４月２７日付けの手続補正により補正された特許請求の範囲の請求項３のそれぞれについて、「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共に」（１５行目〜１６行目）との記載を「前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共に」との記載として、認定する。
　
　また、平成１８年４月２７日付けの手続補正により補正された特許請求の範囲の請求項３に「前記定義手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段」（１９行目〜２３行目）と記載されているが、その文脈からして前記記載は明らかに「前記規定手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段」の誤記であると認められるから、
　以下の「２．補正の適否」の検討において、平成１８年４月２７日付けの手続補正により補正された特許請求の範囲の請求項３について、「前記定義手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段」（１９行目〜２３行目）との記載を「前記規定手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段」との記載として、認定する。
　
２．補正の適否 
（１）補正の目的要件
　補正後の請求項３は、その記載からして、補正前の請求項５に対応したものである。
　
　そこで、補正前の請求項５についてする補正（補正後の請求項３）が、特許法第１７条の２第４項に規定する要件を満たすかどうか、検討する。
　
　補正後の請求項３は、その記載からして、少なくとも次の発明特定事項（ａ）〜（ｃ）を含んでいる。
　  
（ａ）規定手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段。
　
（ｂ）定義画面上でのユーザの入力に応じて前記隣接するモジュールタイル間で入出力されるデータ項目及びデータ形式を設定するデータ設定手段。
　
（ｃ）データ設定手段によって前記設定されたデータ項目及びデータ形式に基づいて、各モジュールタイルに対応するプログラムモジュール間のデータフロー及び処理すべきデータ内容を判断して一連のデータ処理プログラムを構築するプログラム構築手段
　
　（ａ）〜（ｃ）について検討する。  
　補正後の請求項３の含む発明特定事項（ａ）「規定手段によって表示画面上に一連のデータ処理プログラムが定義されている状態において、ユーザによって隣接するモジュールタイルが選択された場合に、その選択された隣接するモジュール間の入出力データを定義する定義画面を表示する定義画面表示手段」は、補正前の請求項５の発明特定事項である「各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段」、「前記モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段」、「プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する規定手段」、「前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段」、「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段」、または「前記規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段」のいずれをも特定するものでなく、また限定するものでもなく、また概念的に下位にしたものでもない。
　
　同様に、補正後の請求項３の含む発明特定事項（ｂ）「定義画面上でのユーザの入力に応じて前記隣接するモジュールタイル間で入出力されるデータ項目及びデータ形式を設定するデータ設定手段」は、補正前の請求項５の発明特定事項である「各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段」、「前記モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段」、「プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する規定手段」、「前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段」、「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段」、または「前記規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段」のいずれをも特定するものでなく、また限定するものでもなく、また概念的に下位にしたものでもない。
　
　また、補正後の請求項３の含む発明特定事項（ｃ）「データ設定手段によって前記設定されたデータ項目及びデータ形式に基づいて、各モジュールタイルに対応するプログラムモジュール間のデータフロー及び処理すべきデータ内容を判断して一連のデータ処理プログラムを構築するプログラム構築手段」は、補正前の請求項５の発明特定事項である「規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段」から、構成要素「規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて」を削除したものであるから、補正前の請求項５の発明特定事項である「規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段」を限定するものではない。
　
　そして、前記発明特定事項（ａ）及び（ｂ）を追加することで、補正後の請求項３に記載された発明は、データ設定手段によって前記設定されたデータ項目及びデータ形式に基づいて、処理すべきデータ内容を判断して一連のデータ処理プログラムを構築することができるという、補正前の請求項５に記載された発明が解決しようとする課題（すなわち、複数のモジュールタイルの配置位置に基づいて、各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築すること）とは異なる新たな課題を解決しようとするものである。
　
　以上のように、補正前の請求項５についてする補正は、補正前の請求項５に記載した発明を特定するために必要な事項を限定したものではなく、特許法第１７条の２第４項第２号の特許請求の範囲の減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の産業上の利用分野及び解決しようとする課題が同一であるもの）を目的とするものとは認められない。
　また、補正前の請求項５についてする補正が、特許法第１７条の２第４項第１号の請求項の削除、第３号の誤記の訂正に該当するものでないことは明らかである。さらに、原査定の拒絶の理由では、上記の発明特定事項に関して、明りょうでない記載について指摘していないことから、特許法第１７条の２第４項第４号の明りょうでない記載の釈明（拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る。）に該当するものとも認められない。  
　以上のとおり、補正前の請求項５についてする補正は、特許法第１７条の２第４項の規定に違反するものであり、したがって、前記補正前の請求項５についてする補正を含む本件手続補正は、特許法第１５９条第１項で読み替えて準用する同法第５３条第１項の規定により却下されるべきものである。 
　
３．結語
　本件手続補正は、特許法第１７条の２第４項（補正の目的）の規定に違反するものであり、特許法第１５９条第１項において準用する同法第５３条第１項の規定により却下すべきものである。
　よって、結論のとおり決定する。
　
第３．本願発明について
１．本願発明
　平成１８年４月２７日付けの手続補正は上記のとおり却下されたので、本願の請求項５に係る発明（以下、「本願発明」という。）は、平成１８年２月１４日付けの手続補正により補正された特許請求の範囲の請求項５の記載からして、
　 
　「コンピュータを、
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段、
　前記モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する規定手段、
　前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、
　前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段、
　前記規定手段によって表現された一連のフローに対応する複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段
　として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。」
　
にあるものと認める。
　
　なお、平成１８年２月１４日付けの手続補正により補正された特許請求の範囲の請求項５の１５行目〜１６行目に「前記支持された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその支持された配置位置に挿入すると共に」と記載されているが、その文脈からして前記記載は「前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共に」の誤記であると認められるから、本願の請求項５に係る発明を上記のように認定した。
　
２．引用発明
　原査定の拒絶の理由に引用された特開平８−８３１７２号公報（以下、「引用文献」という。）には、図面とともに次の事項が記載されている。（備考：下線は当審で便宜上付与したものである。）
　
（ア）「【００１２】本発明は、上記のような従来技術の問題点を解決するために提案されたもので、その目的は、ソフトウェア開発を効率的に行なうソフトウェア開発支援装置を提供することである。また、本発明の他の目的は、ソフトウェアの修正変更が容易なソフトウェア開発支援装置を提供することである。
【００１３】
【課題を解決するための手段】上記の目的を達成するため、請求項１のソフトウェア開発支援装置は、
コンピュータのソフトウェアを構成する部品を組合せてソフトウェアを開発するソフトウェア開発支援装置
各部品に関するデータ及び処理内容を部品に付属する内部データとして格納
【００１４】　・・・（中略）・・・　
【００１５】また、請求項３の発明は、請求項１記載のソフトウェア開発支援装置において、部品と他の要素との結合関係を設定する結合手段を有し、前記実現手段は、前記結合関係を前提に前記ソフトウェアの動作を実現するように構成されたことを特徴とする。
【００１６】また、請求項４の発明は、請求項３記載のソフトウェア開発支援装置において、前記結合関係の対象となり得る前記各部品と前記各要素との組合せごとの仲介ルーチンを格納する仲介ルーチン格納手段と、前記結合関係が設定された場合に、必要な前記仲介ルーチンを特定する特定手段とを有し、前記実現手段は、特定された前記仲介ルーチンに基づいて前記ソフトウェアの動作を実現するように構成されたことを特徴とする。
【００１７】また、請求項５の発明は、請求項３記載のソフトウェア開発支援装置において、表示画面とポインティングデバイスを有し、前記
各部品を所定の図形によって前記表示画面に表示し、前記選択手段は、前記ポインティングデバイスによって前記図形をポイントすることによって前記選択を行ない
結合手段は、選択された各部品の前記図形に対して所定の操作を行なうことによって前記結合関係を設定する
【００１８】　・・・（中略）・・・　
【００１９】
【作用】上記のような構成を有する本発明は、次のような作用を有する。すなわち、請求項１のソフトウェア開発支援装置では、データや処理内容が部品ごとに用意され、所望の部品を選択するだけでその部品に関するデータや処理内容を編集することができ、選択された部品及びその内部データに基づいてソフトウェアの動作が実現される。このため、部品とデータや処理内容の結合関係を手作業でプログラミングする繁雑な手順が不要となり、ソフトウェア開発が効率化される。また、同様に、部品の入れ替えや部品に対応するデータや処理手順の変更も効率的に行なうことができるので、ソフトウェアの拡張性、保守性が向上する。
【００２０】また、請求項２の発明では、部品が組み込まれるソフトウェアによって異ならない非依存データについては編集や入力が不要なので、ソフトウェア開発が効率化される。
【００２１】また、請求項３の発明では、部品と、他の要素例えば他の部品・ソフトウェアの内部データなどとの間に結合関係を設定し、この
結合関係に基づいて前記ソフトウェアの動作が実現
部品間の関係を手作業でプログラミングする手順が不要となり、ソフトウェア開発が効率化
【００２２】また、請求項４の発明では、異なった型のデータやイベントに基づいて構成された部品同士及び部品と要素でも、データの型変換など必要な処理は仲介ルーチンが行うので、このような仲介ルーチンをユーザが開発の際に用意する必要がない。
【００２３】また、請求項５の発明では、
図形による部品の表示が部品の認識を容易にし、また、図形に対する視覚的操作が選択・結合関係の設定・画面上での部品の配置を容易にする
　
（イ）「【００２５】
【実施例】次に、本発明の実施例について、図面に従って具体的に説明する。なお、後述する
実施例はコンピュータ上に実現
【００２６】本明細書における各「手段」は、実施例の各機能に対応する概念的なもので、必ずしも特定のハードウェアやソフトウェア・ルーチンに１対１には対応しない。　・・・（中略）・・・　例えば、
コンピュータは、ある命令を実行するときにある手段となり
　・・・（中略）・・・
【００３２】また、プログラムの格納態様も自由であり、ＲＯＭ（読出し専用メモリ）に格納しておいてもよく、また、
ハードディスク装置のような外部記憶装置に格納
　
（ウ）「【００６８】［２−４．部品の結合関係の設定］以上のように各部品を開発した後、結合手段５によって部品と他の要素との結合関係を設定する。この結合関係の設定は、選択された各部品の図形に対して所定の操作を行なうことによって行なうことができる。
　・・・（中略）・・・
【００７４】また、図２０は、部品間の関連付け処理の手順を示すフローチャートである。この手順では、
操作を及ぼす部品が一覧表示され（ステップ２０１）ユーザが部品を選択し画面上に配置
続いて操作の影響を受ける部品が一覧表示され（ステップ２０３）、ユーザがこれら部品を選択し画面上に配置
【００７５】次に操作を及ぼす部品の発火点となるイベントが一覧表示され（ステップ２０５）、ユーザがイベントを選択する（ステップ２０６）。さらに、選択した関連にユーザによる処理ルーチンを対応させる場合はこれを作成し設定した関連の部品に関連付ける（ステップ２０７）。　・・・（中略）・・・
【００７７】ここで図２１は操作を及ぼす部品の一覧表示のためのウインドウの表示例、図２２は操作の影響を受ける部品の一覧表示のためのウインドウの表示例、図２３はイベントの一覧表示のためのウインドウの表示例、図２４は処理ルーチンの記述のためのウインドウの表示例、図２５は部品と処理ルーチンの関連付けのためのウインドウの表示例である。
【００７８】［２−５．ソフトウェアの動作の実現］以上の開発が終了すると、
ソースコードジェネレータ４が、選択された部品、選択された部品の内部データ、結合関係（関連）に基づいてソフトウェアのソースコードを生成
　
（エ）「【００８６】［３．他の実施例］なお、本発明は上記実施例に限定されるものではなく、実施態様の変更は自由であるから、次のような他の実施例をも包含するものである。例えば、本発明のソフトウェア開発支援装置によって開発対象とされる
ソフトウェアはＧＵＩソフトウェアには必ずしも限定されず、他のソフトウェアを開発対象としてもよい
【００８７】また、本発明における部品は、必ずしも画面に表示されるものには限定されず、ソフトウェアを構成する要素であって所望のものを部品として扱うこともできる。」
　
（オ）【図１】には、「ソースコードジェネレータ」が「部品データ」と、「結合手段」によって設定された「結合関係」とを入力としてソフトウェアの動作を実現するためのソースコードを生成することを示すソフトウェア開発支援装置の概念的構成を示す機能ブロック図が記載されている。
　
（カ）【図２５】には、「結合手段」によって部品（部品「ｐｕｓｈボタン」と部品「ｗｉｎｄｏｗ」）を関連付けのためのウィンドウの表示例（部品間のデータフロー）が記載されている。
　
　ここで、（ア）の段落【００１３】における記載「ソフトウェア開発支援装置は、コンピュータのソフトウェアを構成する部品を組合せてソフトウェアを開発するソフトウェア開発支援装置において、各部品に関するデータ及び処理内容を部品に付属する内部データとして格納する部品格納手段と、所望の部品を選択する選択手段と、選択した部品の内部データを編集する編集手段と、選択された部品及び選択された部品の内部データに基づいてソフトウェアの動作を実現する実現手段を有する」及び（イ）の段落【００２５】における記載「実施例はコンピュータ上に実現され、実施例の各機能は、所定の手順（プログラム）がこのコンピュータを制御することで実現される。」、段落【００２６】における記載「本明細書における各「手段」は、実施例の各機能に対応する概念的なもので、必ずしも特定のハードウェアやソフトウェア・ルーチンに１対１には対応しない。　・・・（中略）・・・　例えば、コンピュータは、ある命令を実行するときにある手段となり、別の命令を実行するときは別の手段となりうる。」並びに段落【００３２】における記載「プログラムの格納態様も自由であり、ＲＯＭ（読出し専用メモリ）に格納しておいてもよく、また、ハードディスク装置のような外部記憶装置に格納しておき、」からすると、
　引用文献には、コンピュータを、各種データ処理を行う複数の部品を組合せてソフトウェアを開発する手段を有するソフトウェア開発支援装置として機能させるためのプログラムを記録した外部記憶装置が記載されていると解される。
　
　そして、（エ）の段落【００８６】における記載「本発明のソフトウェア開発支援装置によって開発対象とされるソフトウェアはＧＵＩソフトウェアには必ずしも限定されず、他のソフトウェアを開発対象としてもよい。」及び段落【００８７】における記載「また、本発明における部品は、必ずしも画面に表示されるものには限定されず、ソフトウェアを構成する要素であって所望のものを部品として扱うこともできる。」からすると、
　前記ソフトウェア開発支援装置が構築するソフトウェアとして、一連のデータ処理のためのソフトウェアを含むこと、また前記ソフトウェア開発支援装置が扱う部品として、一連のデータ処理のための部品を含むことは、明らかである。
　
　そして、（ア）の段落【００１７】における記載「表示画面とポインティングデバイスを有し、前記各部品を所定の図形によって前記表示画面に表示し、前記選択手段は、前記ポインティングデバイスによって前記図形をポイントすることによって前記選択を行ない、前記結合手段は、選択された各部品の前記図形に対して所定の操作を行なうことによって前記結合関係を設定するように構成され、前記ポインティングデバイスによって所定の操作を行なうことによって前記図形を前記表示画面上の所望の位置に配置する配置手段を有する」、並びに（ウ）の段落【００７４】における記載「操作を及ぼす部品が一覧表示され（ステップ２０１）ユーザが部品を選択し画面上に配置する（ステップ２０２）。続いて操作の影響を受ける部品が一覧表示され（ステップ２０３）、ユーザがこれら部品を選択し画面上に配置する（ステップ２０４）。」、段落【００７５】における記載「次に操作を及ぼす部品の発火点となるイベントが一覧表示され（ステップ２０５）、ユーザがイベントを選択する（ステップ２０６）。さらに、選択した関連にユーザによる処理ルーチンを対応させる場合はこれを作成し設定した関連の部品に関連付ける」、及び段落【００７８】における記載「以上の開発が終了すると、ソースコードジェネレータ４が、選択された部品、選択された部品の内部データ、結合関係（関連）に基づいてソフトウェアのソースコードを生成・出力する。」からすると、
　前記ソフトウェア開発支援装置は、ソフトウェアの一連の動作に対応する複数の所定の図形を前記表示画面上に配置すると共に、配置された各所定の図形を前記所定の図形情報によって視覚化して表示することによって一連の動作を実現するソフトウェアを規定するための各部品の結合関係を設定する結合手段を有すると解される。
　そして、前記ソフトウェア開発支援装置が、各部品に対応する所定の図形を選択するために、前記各部品と前記所定の図形情報とを対応付けて記憶している（すなわち記憶手段を有する）ことは、当業者にとって自明である。
　また、前記ソフトウェアの一連の動作が当該ソフトウェアの処理開始から処理終了までの動作を指すことは、当業者にとって自明である。
　
　そして、（カ）の【図２５】に関する記載からすると、「結合手段」によって、部品間のデータフローが記述されていること、及び（オ）の【図１】に記載されている処理フロー（「ソースコードジェネレータ」が「部品データ」と、「結合手段」によって設定された「結合関係」とを入力としてソフトウェアの動作を実現するためのソースコードを生成する）からすると、
　前記ソフトウェア開発支援装置は、前記結合手段によって表現された一連の動作に対応する複数の所定の図形に対応する部品の結合関係に基づいて、各所定の図形に対応する部品を組み合わせると共に各部品間のデータフローを判断してソフトウェアを構築するソースコードジェネレータを有すると解される。
　
　したがって、引用文献には、次の発明（以下、「引用発明」という。）が記載されているものと認められる。
　
　コンピュータを、
　各種データ処理を行う複数の部品と、この各部品を所定の図形として表示画面上に視覚化して表示するための所定の図形情報とを対応付けて記憶する記憶手段、
　ソフトウェアの処理開始から処理終了までの一連の動作に対応する複数の所定の図形を前記表示画面上に配置すると共に、配置された各所定の図形を前記所定の図形情報によって視覚化して表示することによって一連の動作を実現するソフトウェアを規定するための各部品の結合関係を設定する結合手段、
　前記結合手段によって表現された一連の動作に対応する複数の所定の図形に対応する部品の結合関係に基づいて、各所定の図形に対応する部品を組み合わせると共に各部品間のデータフローを判断してソフトウェアを構築するソースコードジェネレータ
　として機能させるためのプログラムを記録した外部記憶装置。
　
３．対比・判断
　ここで、本願発明と引用発明とを対比する。
　引用発明の「部品」、「ソースコードジェネレータ」、及び「外部記憶装置」は、それぞれ、本願発明の「プログラムモジュール」、「プログラム構築手段」及び「コンピュータ読み取り可能な記録媒体」に相当する。
　また、引用発明の「ソフトウェア」は、本願発明の「プログラム」及び「一連のデータ処理プログラム」に相当する。
　また、引用発明の「一連の動作」は、本願発明の「一連のフロー」に相当する。
　
　そして、引用発明の「所定の図形」と本願発明の「モジュールタイル」とはともに、対応するプログラムモジュールを表示画面上に視覚化して表示するための図記号であることからすると、引用発明の「所定の図形」は、本願発明の「モジュールタイル」に相当する。
　そして、引用発明の「所定の図形情報」は、本願発明の「モジュールタイル情報」に相当する。
　そして、引用発明の「部品間の結合関係」と本願発明の「モジュールタイルの配置位置」とは、ともにプログラムモジュールの接続関係を表す点で共通する。
　
　また、引用発明の「結合手段」と本願発明の「規定手段」とはともに、プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上に配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する定義手段である点で共通する。
　
　したがって、本願発明と引用発明とは、以下の点で一致し、また、相違している。
　
（一致点）
　コンピュータを、
　各種データ処理を行う複数のプログラムモジュールと、この各プログラムモジュールをモジュールタイルとして表示画面上に視覚化して表示するためのモジュールタイル情報とを対応付けて記憶する記憶手段、
　プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上に配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示することによって一連のデータ処理プログラムを規定する定義手段、
　前記定義手段によって表現された一連のフローに対応する複数のプログラムモジュールの接続関係に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築するプログラム構築手段
　として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
　
（相違点１）
　本願発明は、「モジュールタイルの配置位置を定義するグリッド情報を表示画面上に設定する設定手段」を有し、「プログラムの処理開始から処理終了までの一連のフローに対応する複数のモジュールタイルを前記表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各モジュールタイルを前記モジュールタイル情報によって視覚化して表示する」のに対し、引用発明の結合手段は、所定の図形の配置位置を定義するグリッド情報を表示画面上に設定する設定手段を有するものでなく、ソフトウェア（「プログラム」）の処理開始から処理終了までの一連のフローに対応する複数の所定の図形を表示画面上のグリッド位置に合わせて隣接させて配置すると共に、配置された各所定の図形を前記所定の図形情報によって視覚化して表示することによってソフトウェアを規定するかどうか明らかでない点。
　
（相違点２）
　本願発明は、「前記規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たなモジュールタイルの配置が指示された場合に、その指示された配置位置と前記複数のモジュールタイルのグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段」と「前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たなモジュールをその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数のモジュールタイルをグリッド単位で移動して再配置し、前記規定手段によって再配置後のデータ処理プログラムを規定する挿入手段」とを有するのに対し、引用発明は、規定された一連のデータ処理プログラムが表示された表示画面上において、ユーザによって新たな所定の図形の配置が指示された場合に、その指示された配置位置と前記複数の所定の図形のグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たな部品（「モジュール」）をその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数の所定の図形をグリッド単位で移動して再配置し、前記結合手段によって再配置後のソフトウェア（「データ処理プログラム」）を規定する挿入手段とを有していない点。
　
（相違点３）
　本願発明の「プログラム構築手段」は、「複数のモジュールタイルの配置位置に基づいて、各モジュールタイルに対応するプログラムモジュールを組み合わせると共に各プログラムモジュール間のデータフローを判断して一連のデータ処理プログラムを構築する」のに対し、引用発明の「ソースコードジェネレータ」は、複数の所定の図形に対応する部品の結合関係に基づいて、各所定の図形に対応する部品を組み合わせると共に各部品間のデータフローを判断してソフトウェアを構築するものである点。
　
　相違点１〜相違点３について検討する。
　本願の出願日以前である、昭和６０年８月２２日に頒布された特開昭６０−１６０４４０号公報に、
「その代表的なものとしてグラフィック（図形）言語がある。グラフィック言語は処理過程を図式に表現し、入力装置から読み込ませ、あらかじめ格納されている図形翻訳プログラムによって機械語に変換することを目指すものである。」（２頁右上欄１１行目〜１５行目。）と記載され、
「表示領域１２（点線部分）はビューポートと呼ばれ、フローチャートを表示する領域である。ビューポート１２の画面は横方向を３分割、縦方向を５分割され格子状をなす。各区域をエレメントエリアと呼ぶ。各エレメントエリアは横および縦座標をそれぞれＸおよびＹとすれば（Ｘ，Ｙ）で表わされる。
　フローチャートは１つの命令シンボル（グラフィックエレメント）を１つのエレメントエリアにはめ込み、各命令シンボルを接続することによって構築される。」（５頁左下欄２行目〜１２行目。）と記載されているように、
　また、本願の出願日以前である、平成６年６月２４日に頒布された特開平６−１７６０３４号公報に、
「【００１６】
・・・（中略）・・・表示画面上で、所定のプログラム動作を指定する機能ブロックを矩形等の特有の図形に対応させて表示し、この図形を複数個組み合わせ、並べ替えることによりそのプログラムの動作内容と動作順序を指定する、既存のロジックプログラムの編集する、また機能ブロックのパラメーターの調整を行う等の編集機能を持ち、スケジューリングのロジックプログラムを完成する。」と記載され、
【図２】における表示画面上の「機能ブロック配置エリア」には、各機能ブロックに対応する矩形等の特有の図形を隣接して配置するための、格子状をなすエリアが設定されているように、
　一連のフローに対応する複数のグラフィック（すなわち図形）エレメントの配置位置を定義する格子状をなすエレメントエリア（すなわち、グリッド）を表示画面上に設定し、前記図形エレメントを前記表示画面上のグリッド位置に合わせて隣接させて配置し表示することによって、隣接して配置された図形エレメントに対応する処理が接続された（すなわち結合された）一連のデータ処理プログラムを規定することは、当業者にとって周知の技術（以下、「周知技術１」という。）である。
　
　そして、本願の出願日以前である、平成８年４月３０日に頒布された特開平８−１１０７５４号公報に、
「【００１６】ステップＳ２では、初期画面が表示された後の有効な入力を判定する。
  ・・・（中略）・・・　
【００１８】ステップＳ２ｃにおける挿入処理すなわちフローチャートに命令を挿入する処理は、表示されているフローチャートの流れ線ボタン１０４がクリックされた場合に実行される。具体的には、まず、ステップＳ１０では、指定された流れ線ボタン１０４の位置を検出する。これは、クリックされたポインタ位置により行われる。」と記載され、
「【００２５】・・・（中略）・・・　所望のフローチャートを作成する場合、アルゴリズム作成ウインドウ１０１の開始ボタン１０２と終了ボタン１０３との間に、必要な命令記号２０１を挿入して目的のアルゴリズムに対応した流れとなるように作成していく。
【００２６】具体的には、まずアルゴリズム作成ウインドウ１０１に表示されている開始ボタン１０２と終了ボタン１０３との間の流れ線ボタン１０４をクリックし、命令挿入・変更用ウインドウ１０６を表示させる（図８）。」と記載され、
【図１０】に、新たな命令が挿入された場合に、当該新たな命令をその指示された配置位置に挿入すると共にその挿入位置に応じて複数の命令を移動して再配置されている様子が記載されているように、
　フロー図を表示画面上に作成編集する際に、ユーザによって新たな命令記号の配置が指示された場合に、前記指示された位置が前記フロー図の開始ボタンと終了ボタンとの間にある流れ線ボタン上にあることを検出し、流れ線ボタン上にあることを検出した場合（すなわち、前記指示された配置位置と複数の命令記号の配置状態とに基づいてその指示された配置状態が有効な挿入位置であるか否かを判断し、前記指示された配置位置が有効な挿入位置であると判断された場合）に、前記新たな命令記号をその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数の命令記号を移動して再配置することは、当業者にとって周知の技術（以下、「周知技術２」という。）である。
　
　してみると、引用発明において、前記周知技術１を適用することで、引用発明が所定の図形の配置位置を定義するグリッド情報を表示画面上に設定する設定手段を有するとともに、ソフトウェア（「プログラム」）の処理開始から処理終了までの一連のフローに対応する複数の所定の図形を前記表示画面上のグリッド位置に合わせて隣接させて配置し表示することによって、隣接して配置された図形エレメントに対応する処理が接続された（すなわち結合された）ソフトウェアを規定する（すなわち、隣接させて配置すると共に、配置された各所定の図形を前記所定の図形情報によって視覚化して表示することによってソフトウェアを規定する）こと、そして、その際に、前記周知技術２を勘案すると、前記表示画面上において、ユーザによって新たな所定の図形の配置が指示された場合に、その指示された配置位置と前記複数の所定の図形のグリッド上での配置状態とに基づいてその指示された配置状態が前記一連のフローにおける有効な挿入位置であるか否かを判断する判断手段と、前記指示された配置位置が有効な挿入位置であると判断された場合に、前記新たな部品をその指示された配置位置に挿入すると共にその挿入位置に応じて前記複数の所定の図形をグリッド単位で移動して再配置し、前記結合手段によって再配置後の各所定の図形を表示することによってソフトウェアを規定する挿入手段を有するように構成することは、当業者であれば、容易に想到し得たことである。
　
　その際、複数の所定の図形を隣接させて配置することによって各所定の図形に対応する部品の結合関係が規定されることからすると、引用発明の「ソースコードジェネレータ」が、複数の所定の図形の配置関係に基づいて、各所定の図形に対応する部品を組み合わせると共に各部品間のデータフローを判断してソフトウェアを構築するものとなることは、論理的必然である。
　
　よって、相違点１〜相違点３は格別なものではない。
　
　そして、本願発明の作用効果も、引用発明及び上記周知技術から当業者が予測できる範囲のものである。
　したがって、本願発明は、引用発明及び周知技術から容易に発明できたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　
４．むすび
　以上のとおり、本願の請求項５に係る発明は、その出願前日本国内又は外国において頒布された刊行物に記載された発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり審決する。