(57)【要約】【課題】検索キーワードを可視化するソフトウェア開発支援装置を提供する。【解決手段】本発明に係るソフトウェア開発支援装置は、記憶部５、入力部１０、表示部１５、制御部２０、検索部３０、検索結果一覧表生成部５０、及び可視化部９０を備える。検索結果が一覧表で表示され、一覧表中の検索キーワードを選択することで、その検索キーワードにマッチする名前の構成要素を含むファイルが開き、開いたファイル中で検索キーワード、及び検索キーワードに関連する情報が強調表示される。【選択図】図１
2010191858.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの動作または機能を表現したファイル群を記憶する記憶部（５）と、
入力部（１０）と、
表示部（１５）と、
ファイル入出力管理、データの流れの制御、判断、演算を行う制御部（２０）と、
前記入力部を介してユーザが指定した文字列を、前記記憶部に記憶された前記ファイル群、または前記ファイルが有するファイル構成要素から検索する検索部（３０）と、
前記検索部で検索された検索結果を検索結果一覧表として生成する検索結果一覧表生成部（５０）と、
前記検索結果一覧表生成部で生成された前記検索結果一覧表中の前記文字列をユーザが選択することで、前記文字列を含む前記ファイルを、前記制御部を介して開き、かつ開いた前記ファイル中の前記文字列、及び前記文字列に関連する前記ファイル構成要素を、前記表示部を介して強調表示とする可視化部（９０）と、
を備える、ソフトウェア開発支援装置。
【請求項２】
前記記憶部に記憶された前記ファイル群は、複数のファイル形式のファイルを有する、
請求項１に記載のソフトウェア開発支援装置。
【請求項３】
前記記憶部に記憶された前記ファイル群は、ファイル形式として状態遷移図、状態遷移表、データフローダイアグラム、及びソースプログラムを有する、
請求項２に記載のソフトウェア開発支援装置。
【請求項４】
前記制御部は、前記記憶部に記憶された前記ファイル群をツリー構造に展開して管理する、
請求項２または３に記載のソフトウェア開発支援装置。
【請求項５】
前記検索部は、前記ファイル群のツリー構造において、前記入力部を介してユーザが指定した階層に属するファイル群のみを検索範囲として指定する検索範囲指定部（５５）を有し、
前記検索部は、前記検索範囲指定部で指定された検索範囲に属する前記ファイル、または前記ファイル構成要素から前記文字列の検索を実行する、
請求項４に記載のソフトウェア開発支援装置。
【請求項６】
前記検索部は、前記入力部を介してユーザが指定した前記ファイル形式を、検索対象のファイル形式として指定する検索ファイル形式指定部（６５）を更に有し、
前記検索部は、前記検索ファイル形式指定部で指定されたファイル形式の前記ファイル、または前記ファイルの前記ファイル構成要素から前記文字列の検索を実行する、
請求項２から５のいずれかに記載のソフトウェア開発支援装置。
【請求項７】
前記検索部は、前記入力部を介してユーザが指定した形式の前記ファイル構成要素を検索対象として指定する検索ファイル構成要素形式指定部（７５）を更に有し、
前記検索部は、前記検索ファイル構成要素形式指定部で指定された形式の前記ファイル構成要素から前記文字列の検索を実行する、
請求項１から６のいずれかに記載のソフトウェア開発支援装置。
【請求項８】
前記記憶部に記憶された前記ファイルは、前記ファイル構成要素の形式としてデータ、定数、プロセス、マクロを有し、
前記検索ファイル構成要素形式指定部は、前記ファイル構成要素の形式としてデータ、定数、プロセス、マクロを指定できる、
請求項７に記載のソフトウェア開発支援装置。
【請求項９】
前記検索部は、前記入力部を介してユーザが指定した条件を検索条件として指定する検索モード指定部（８５）を更に有し、
前記検索部は、前記検索モード指定部で指定された検索モードで前記ファイル群、及び前記ファイル構成要素から前記文字列の検索を実行する、
請求項１から８のいずれかに記載のソフトウェア開発支援装置。
【請求項１０】
前記検索モード指定部は検索モードとして、前記文字列との部分一致、全体一致、大文字・小文字の区別、全角英数字・半角英数字の区別を指定できる、
請求項９に記載のソフトウェア開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発支援装置に関する。
【背景技術】
【０００２】
従来より、比較的規模の大きいソフトウェアを開発する場合、例えば特許文献１（特開２００５−１２８７４０）に示すような、コンピュータの情報処理機能を援用し、プログラム等を自動生成したりするソフトウェア開発支援装置が従来技術として知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ソフトウェア開発支援装置を利用してソフトウェアを開発する場合、既に存在するソフトウェアのプログラム中に含まれる、構成要素の名前等、プログラムの一部分を変更するような場合も少なくない。このような場合、膨大な数の構成要素から構成されるプログラム中から、変更する文字列を検索し、参照する必要があるが、従来の開発支援装置では、検索機能はあるものの、検索した文字列が、プログラムのどの部分にあるか等が、ユーザにわかりやすく表示されるものではなかった。このため、プログラム数が多い場合や、１つのプログラムを構成する構成要素が多い場合には、検索結果を探すのに時間や手間がかかる上に、検索漏れが発生しやすいという問題点があった。
【０００４】
本発明の課題は、キーワードの検索を迅速に実行し、ファイル中の検索キーワードを識別することが容易で、検索漏れが発生しにくいソフトウェア開発支援装置を提供することにある。
【課題を解決するための手段】
【０００５】
第１発明に係るソフトウェア開発支援装置は、記憶部、入力部、表示部、制御部、検索部、検索結果一覧表生成部、及び可視化部を備える。記憶部は、ソフトウェアの動作または機能を表現したファイル群を記憶する。制御部は、ファイル入出力管理、データの流れの制御、判断、演算等を行う。なお、ここでいうファイル入出力管理の対象となるファイルとは、記憶部に記憶されているファイルのみならず、ソフトウェア開発支援装置全体を構成する一般的なファイルを意味する。検索部は、入力部を介してユーザが指定した文字列を、記憶部に記憶されたファイル群、またはファイルが有するファイル構成要素から検索する。検索結果一覧表生成部は、検索部で検索された検索結果を検索結果一覧表として生成する。可視化部は、検索結果一覧表生成部で生成された検索結果一覧表中の文字列をユーザが選択すると、制御部を介して文字列を含むファイルが開く。さらに、可視化部は、開いたファイル中の文字列、及びその文字列に関連するファイル構成要素を強調表示とする。
【０００６】
このソフトウェア開発支援装置によると、入力部を介してユーザが指定した文字列が、検索部で検索されて検索結果が検索結果一覧表として生成される。さらに、検索結果一覧表中の文字列をユーザが選択すると、文字列を含むファイルが開き、開いたファイル中の文字列、及びその文字列に関連するファイル構成要素が強調表示される。このため、ファイル中の文字列の発見を迅速に実行することができ、且つ発見漏れを減らすことができる。結果として、ソフトウェアの開発効率の向上が期待できる。
【０００７】
第２発明に係るソフトウェア開発支援装置は、第１発明に係るソフトウェア開発支援装置であって、記憶部に記憶されたファイル群は、複数のファイル形式のファイルを有する。
【０００８】
このソフトウェア開発支援装置では、記憶部に記憶されたファイル群が、複数のファイル形式のファイルを有する。このような様々なファイル形式のファイルに対しても、開いたファイル中の文字列、及びその文字列に関連するファイル構成要素が強調表示される。このため、様々な表現形式のファイルの長所を生かしたソフトウェア開発支援が可能となる。
【０００９】
第３発明に係るソフトウェア開発支援装置は、第２発明に係るソフトウェア開発支援装置であって、記憶部に記憶されたファイル群は、ファイル形式として、状態遷移図、状態遷移表、データフローダイアグラム（ＤＦＤ）、及びソースプログラムを有する。
【００１０】
このソフトウェア開発支援装置では、記憶部に記憶されたファイル群は、状態遷移図、状態遷移表、データフローダイアグラム（ＤＦＤ）、及びソースプログラムを有する。このような様々なファイル形式のファイルに対しても、開いたファイル中の文字列、及びその文字列に関連するファイル構成要素が強調表示される。このため、これらの表現形式のファイルの長所を生かした総合的なソフトウェア開発支援が可能となる。
【００１１】
第４発明に係るソフトウェア開発支援装置は、第２発明、または第３発明に係るソフトウェア開発支援装置であって、制御部は、記憶部に記憶されたファイル群をツリー構造に展開して管理する。
【００１２】
このソフトウェア開発支援装置では、記憶部に記憶されたファイル群を、制御部がツリー構造に展開して管理する。このため、ツリー構造の利点を生かして、検索の効率の向上や、検索漏れを減らすことが期待できる。
【００１３】
第５発明に係るソフトウェア開発支援装置は、第４発明に係るソフトウェア開発支援装置であって、検索部は、検索範囲指定部を有する。検索範囲指定部は、ファイル群のツリー構造において、入力部を介してユーザが指定した階層に属するファイル群を検索範囲として指定する。そして、検索部は、検索範囲指定部で指定された検索範囲に属するファイル群、またはファイル構成要素から文字列の検索を実行する。
【００１４】
このソフトウェア開発支援装置では、ユーザがファイルのツリー構造において、ある階層に属するファイルを指定すると、検索範囲指定部は、この階層に属するファイル群を検索範囲として指定する。そして、検索部は、この検索範囲に属するファイル群、またはファイル構成要素から文字列の検索を実行する。このため、必要な範囲のみから文字列の検索を実行することができ、検索時間の短縮、計算コストの軽減、開発効率の向上等が期待できる。
【００１５】
第６発明に係るソフトウェア開発支援装置は、第２発明から第５発明のいずれかに係るソフトウェア開発支援装置であって、検索部は、検索ファイル形式指定部を更に有する。検索ファイル形式指定部は、入力部を介してユーザが指定したファイル形式を、検索対象のファイル形式として指定する。そして、検索部は、検索ファイル形式指定部で指定されたファイル形式のファイル、またはそのファイルのファイル構成要素から文字列の検索を実行する。
【００１６】
このソフトウェア開発支援装置では、検索部が、検索ファイル形式指定部を更に有する。ユーザが検索対象のファイル形式を指定すると、検索ファイル形式指定部は、このファイル形式のファイルを検索対象として指定する。検索部は、検索ファイル形式指定部で指定されたファイル形式のファイル、またはそのファイルのファイル構成要素から文字列の検索を実行する。このため、特定のファイル形式のファイルのみから文字列の検索を実行することができ、検索時間の短縮、計算コストの軽減、開発効率の向上等が期待できる。
【００１７】
第７発明に係るソフトウェア開発支援装置は、第１発明から第６発明のいずれかに係るソフトウェア開発支援装置であって、検索部は、検索ファイル構成要素形式指定部を更に有する。検索ファイル構成要素指定部は、入力部を介してユーザが指定した形式のファイル構成要素を検索対象として指定する。そして、検索部は、検索ファイル構成要素形式指定部で指定された形式のファイル構成要素から文字列の検索を実行する。
【００１８】
このソフトウェア開発支援装置では、検索部が、検索ファイル構成要素指定部を更に有する。ユーザが検索対象のファイル構成要素を指定すると、検索ファイル構成要素指定部は、このファイル構成要素を検索対象として指定する。検索部は、検索ファイル構成要素指定部で指定されたファイル構成要素から文字列の検索を実行する。このため、特定のファイル構成要素のみから文字列の検索を実行することができ、検索時間の短縮、計算コストの軽減、開発効率の向上等が期待できる。
【００１９】
第８発明に係るソフトウェア開発支援装置は、第７発明に係るソフトウェア開発支援装置であって、記憶部に記憶されたファイルは、ファイル構成要素の形式としてデータ、定数、プロセス、マクロを有する。検索ファイル構成要素形式指定部は、ファイル構成要素の形式としてデータ、定数、プロセス、マクロを指定できる。
【００２０】
このソフトウェア開発支援装置では、ファイル構成要素の形式としてデータ、定数、プロセス、マクロを有する。そして、検索ファイル構成要素形式指定部は、ファイル構成要素の形式としてデータ、定数、プロセス、マクロを指定できる。このため、文字列の検索対象を細かく限定でき、開発効率等の向上が期待できる。
【００２１】
第９発明に係るソフトウェア開発支援装置は、第１発明から第８発明に係るソフトウェア開発支援装置であって、検索部は、検索モード指定部を更に有する。検索モード指定部は、入力部を介してユーザが指定した条件を検索モードとして指定する。そして、検索部は、検索モード指定部で指定された検索モードでファイル群、またはファイル構成要素から文字列の検索を実行する。
【００２２】
このソフトウェア開発支援装置では、検索モード指定部により、検索モードを指定することができる。検索部は、検索モード指定部が指定した検索モードで、文字列の検索を実行する。このため、より細かい検索作業を実行することができ、開発効率等の向上が期待できる。
【００２３】
第１０発明に係るソフトウェア開発支援装置は、第９発明に係るソフトウェア開発支援装置であって、検索モード指定部は検索モードとして、文字列との部分一致・全体一致、大文字・小文字の区別、全角英数字・半角英数字の区別を指定できる。
【００２４】
このソフトウェア開発支援装置では、検索モード指定部により、検索文字列との部分一致・全体一致、大文字・小文字の区別、全角英数字・半角英数字の区別を指定できる。このため、より細かい検索作業を実行することができ、開発効率等の向上が期待できる。
【発明の効果】
【００２５】
第１発明に係るソフトウェア開発支援装置では、文字列の検索を迅速に実行することができ、且つ検索漏れを減らすことができる。結果として、ソフトウェアの開発効率の向上が期待できる。
【００２６】
第２発明に係るソフトウェア開発支援装置では、様々なファイル形式の長所を生かした総合的なソフトウェア開発支援を期待できる。
【００２７】
第３発明に係るソフトウェア開発支援装置では、総合的なソフトウェア開発支援が期待てきる。
【００２８】
第４発明に係るソフトウェア開発支援装置では、ツリー構造の利点を生かして、検索の効率の向上や、検索漏れを減らすことが期待できる。
【００２９】
第５発明から第７発明に係るソフトウェア開発支援装置では、検索時間の短縮、計算コストの軽減、開発効率の向上等が期待できる。
【００３０】
第８発明に係るソフトウェア開発支援装置では、文字列の検索対象を細かく限定でき、開発効率の向上等が期待できる。
【００３１】
第９発明に係るソフトウェア開発支援装置では、より細かい検索作業を実行することができ、開発効率の向上等が期待できる。
【００３２】
第１０発明に係るソフトウェア開発支援装置では、大文字・小文字の区別等、より細かな検索作業を実行することができ、開発効率の向上等が期待できる。
【図面の簡単な説明】
【００３３】
【図１】本実施例に係るソフトウェア開発支援装置のシステム構成図
【図２】チャートのツリー構造を示す図
【図３】制御部の構成を示す図
【図４】画面上に表示されたチャートを示す図
【図５】検索部の起動、及び検索画面の表示の処理の流れを示すフローチャート
【図６】検索画面
【図７】検索範囲、及び検索対象チャートの抽出処理の流れを示すフローチャート
【図８】検索実行、及び一覧表生成の処理の流れを示すフローチャート
【図９】検索実行、及び一覧表生成の処理の流れを示すフローチャート
【図１０】可視化部の処理の流れを示すフローチャート
【図１１】チャートのツリー構造における部分ツリーを示す図
【発明を実施するための形態】
【００３４】
ここでは、本発明の実施例に係るソフトウェア開発支援装置について、図面を参照しながら説明する。
【００３５】
〔ソフトウェア開発支援装置の構成〕
（全体の構成）
本発明に係るソフトウェア開発支援装置は、例えば、空気調和機のマイコンに組み込まれる制御用ソフトウェアのような、比較的規模の大きいソフトウェアの開発に用いられる。このような比較的規模の大きいソフトウェアを開発においては、人手に頼った開発では限界がある。このため、比較的規模の大きいソフトウェアを開発する場合、自動生成ツール等の、コンピュータの情報処理機能を援用した支援ツールを用いるのが一般的である。本発明に係るソフトウェア開発支援装置も、そのようなソフトウェア開発支援ツールの一つであり、膨大な数のファイル、及びファイル構成要素の中から、指定した検索キーワードを検索して一覧表を作成する。そして、その一覧表中の検索キーワードをユーザが選択することで、検索キーワードを含むファイルが自動的に開いて画面に表示され、その表示されたファイルにおいて、検索キーワードやそれに関連する情報が強調表示される。このため、ソフトウェアの編集、開発効率を向上させ得る。
【００３６】
本発明の実施例に係るソフトウェア開発支援装置は、ソフトウェア開発を支援するための、キーワード検索機能、及び可視化機能を備えたソフトウェア開発支援装置であって、図１にその概略構成を示す。このソフトウェア開発支援装置は、図１に示すように、記憶部５、入力部１０、表示部１５、制御部２０、検索部３０、検索結果一覧表生成部５０、及び可視化部９０を備える。
【００３７】
（各部分の構成）
（１）記憶部
記憶部５は、本実施例に係るソフトウェア開発支援装置においては、ハードディスク（ＨＤＤ）であり、開発するソフトウェアの動作または機能を表現したファイル群は、ここに記憶されている。このファイル群は、具体的には、状態遷移図、状態遷移表、テーブル、データフローダイアグラム（以降、ＤＦＤと略記する）、開発するソフトウェアのソースプログラム等の集合体である。それぞれのファイルは、ファイル構成要素からなる。本実施例に係るソフトウェア開発支援装置においては、このファイル構成要素とは、具体的には、データ（データフロー、ストア、タイマ）、定数、プロセス、マクロ等を意味する。以降、本実施例に係るソフトウェア開発支援装置では、このファイルを「チャート」と称し、チャートの集合体を「プロダクト」と称する。また各チャートの構成要素を「部品」と称する。つまり、本実施例に係るソフトウェア開発支援装置におけるチャートとは、状態遷移図、状態遷移表、テーブル、ＤＦＤ、開発するソフトウェアのソースプログラム等を意味する（なお、状態遷移図、テーブル等のファイル形式をチャート形式と称する）。また、本実施例に係るソフトウェア開発支援装置における部品には、データ（データフロー、ストア、タイマ）、定数、プロセス、マクロ等の種類がある。一つのチャートの中には、膨大な数の部品が記述されている。なお、本実施例においては、プロダクト、つまりチャートの集合体は、ツリー構造で管理されている。図２は、チャートのツリー構造の例である。
【００３８】
ツリー構造の構成要素の一般的名称をここで簡単に説明する。ツリー構造は、図２に示すように、頂点（ノード）と各頂点を結ぶ辺（エッジ）から構成される。ツリー構造全体の始点となるノード（図２ではＤＦＤ０）をルートノードいう。あるノード（例えば図２のＤＦＤ２）に対し、一つ下の階層のノード（例えば図２のＤＦＤ４）が、辺で接続されていた場合、ＤＦＤ４をＤＦＤ２の子ノードといい、ＤＦＤ２をＤＦＤ４の親ノードという。また、図２のＤＦＤ４のように、子ノードを持たないノードを葉（リーフ）という。
【００３９】
（２）入力部
入力部１０は、主にキーボード、マウスから構成される。ユーザは、この入力部１０を介して情報を入力する。ユーザがキーボードやマウスを介して入力操作を行うと、その入力情報が通信接続を介して、制御部２０に送信される。制御部２０に送信された入力情報は、デジタル信号に変換された後、様々な情報処理に使用される。
【００４０】
（３）表示部
表示部１５は、モニタ（例えば液晶モニタ）であって、各種データ、情報等をその画面上に表示する。制御部２０、検索部３０、検索結果一覧表生成部５０、可視化部９０等で処理、生成された情報やデータは、通信接続を介して表示部１５に送信される。制御部２０、検索部３０、検索結果一覧表生成部５０、可視化部９０等で処理された情報やデータはデジタル情報である。そのデジタル情報は通信接続を介して表示部１５に送信され、アナログ情報に変換される。そして、表示部１５は、このアナログ情報を画面上に表示する。表示部１５は、様々な情報やデータを画面上に表示したり、後述の検索画面４０をはじめとする、各種入力画面を表示したりする。また、チャートや部品を画面上に表現したりするなど、ユーザとソフトウェア開発支援装置とのインターフェイスとして機能する。
【００４１】
なお、チャートやその構成要素である部品が、実際に画面上にどのような形で表現されるかについて、ここで簡単に説明する。
【００４２】
表示部１５により、チャートは、図４に示すような形で画面上に表示される。チャートを構成する各部品は、図４に示すように、部品名を表す文字列と、当該部品を示す図形によって表現される。この部品本体を表現する図形を、本実施例に係るソフトウェア開発支援装置では「シンボル」と表現する。このように、ＤＦＤや状態遷移図等のチャートは、多数の部品のシンボル、及び部品名を表す文字列との集合体として表現される。例を挙げて説明すると、図４は、チャートの一形式であるＤＦＤを画面に表示した場合である。チャートを構成する部品の一つとして、入力１という部品が存在する。この「入力１」という部品の形式は、データフローという形式であり、この部品のシンボルはこの場合、「矢印」で表現されている。そして、部品「入力１」のシンボル（矢印）、及び「入力１」という部品名を表す文字列とが、対になって表示されている。
【００４３】
（４）制御部
制御部２０は、主に、ＣＰＵ（中央処理装置）２１、主記憶装置としてのＲＡＭ２２やＲＯＭ２３、ＣＰＵ２１と主記憶装置等（ＲＡＭ２２、ＲＯＭ２３等）とを接続する通信路（これらはハードウェア資源である）、これらのハードウェア資源を制御する制御ソフトウェア２４、入力部１０の制御ソフトウェア２５、表示部１５の制御ソフトウェア２６とから構成される。図３は、制御部２０の概略構成を示す図である。図１に示すように、記憶部５、入力部１０、表示部１５、検索部３０、検索結果一覧表生成部５０、及び可視化部９０は、制御部２０と通信接続されている。
【００４４】
制御部２０は、検索部３０、検索結果一覧表生成部５０、及び可視化部９０と協働して、これらの下位で様々な情報処理を行う。また、制御部２０は、ファイル入出力管理、データの流れの制御、判断、演算等の情報処理を行う。
【００４５】
また、制御部２０は、記憶部５に記憶されているプロダクトを構成するチャートをツリー構造に展開して主記憶装置（ＲＡＭ２２）に読み込む。本実施例に係るソフトウェア開発支援装置では、このように、プロダクトを構成するチャートがツリー構造で管理されている。そして、後述の検索部３０の検索範囲指定部５５では、検索範囲として、このツリー構造における階層を指定することができる。つまり、チャートの階層別での検索が可能である。このことについては、後述の検索部３０において詳述する。
【００４６】
さらに、ツリー構造中の各チャートには、チャート名を表す文字列、チャートのシンボルが付加され、管理されている。
【００４７】
（５）検索部
検索部３０は、検索範囲指定部５５、検索ファイル形式指定部としての検索対象チャート形式指定部６５、検索ファイル構成要素形式指定部としての検索対象部品形式指定部７５、及び検索モード指定部８５を有する。検索部３０は、制御部２０のハードウェア資源、及び制御部２０の制御ソフトウェア２４を介して動作するソフトウェアである。検索部３０は、制御部２０と協働して検索キーワードの検索を行う。
【００４８】
ユーザによる、検索部３０への情報の入力は、検索画面４０を通して行われる。図６に、本実施例に係るソフトウェア開発支援装置の検索画面４０を示す。図６に示されるように、検索画面４０は、ユーザが情報を入力するための複数の入力ボックスを有する。具体的には、検索画面４０は、検索キーワードを入力するための検索キーワード入力ボックス４１、検索キーワードとの部分一致、大文字と小文字との区別、全角英数字と半角英数字との区別に関する指定をする検索モード指定第１ボックス４２、検索モード指定第２ボックス４３、検索モード指定第３ボックス４４、検索対象とする部品を指定する検索対象部品形式指定ボックス４５と検索対象チャートを指定する検索対象チャート形式指定ボックス４６とチャートの階層構造における検索範囲を指定する検索範囲指定ボックス４７と検索実行ボタン４８とを有する。
【００４９】
（５−１）検索モード指定部
検索モード指定部８５は、検索画面４０の検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４を介してユーザが入力した情報を、検索モードとして指定する。ユーザは、検索モードとして、部分一致と全体一致、大文字と小文字との区別、全角英数字と半角英数字との区別に関する指定をできる。具体的には、検索モード指定第１ボックス４２が選択された場合は、検索キーワードとの部分一致の条件で検索を実行する。検索モード指定第２ボックス４３が選択された場合は、大文字と小文字との区別をしないで検索を実行する。検索モード指定第３ボックス４４が選択された場合は、全角英数字と半角英数字との区別をしないで検索を実行する。
【００５０】
（５−２）検索範囲指定部
検索範囲指定部５５は、検索画面４０の検索範囲指定ボックス４７を介してユーザが入力した階層を、検索範囲として指定する。検索部３０は、検索範囲指定部５５が指定したこの検索範囲から検索キーワードの検索を実行する。
【００５１】
ユーザは、チャートのツリー構造における全範囲、またはツリー構造を構成する様々な階層を入力することができる。図２は、チャート、及び部品のツリー構造の例を示す図である。図２を使ってこのことを説明する。
【００５２】
例えば、図２のＤＦＤ１は、ＤＦＤというチャート形式のチャートで、階層が１であるＤＦＤである。ユーザが、検索画面の検索範囲指定ボックスで、ＤＦＤ１と指定すると、図２のチャートのツリー構造において、ＤＦＤ１と同じ階層に属するすべてのチャートが検索範囲として指定される。この場合、具体的には、ＣＳＰＥＣ１、Ｐ１である。なお、ここでＣＳＰＥＣ１とは状態遷移図を、P１等はソフトウェアのソースプログラム（C言語ファイル）をそれぞれ意味する、本実施例における略語である。
【００５３】
（５−３）検索対象チャート形式指定部
検索対象チャート形式指定部６５は、検索画面４０の検索対象チャート形式指定ボックス４６を介してユーザが入力した形式のチャートを、検索対象として指定する。本実施例に係るソフトウェア開発支援装置では、チャートの形式として、状態遷移図、状態遷移表、テーブル、ＤＦＤ、開発するソフトウェアのソースプログラム等を指定することができる。
【００５４】
（５−４）検索対象部品形式指定部
検索対象部品形式指定部７５は、検索画面の検索対象部品形式指定ボックス４５を介してユーザが入力した形式の部品を、検索対象として指定する。本実施例に係るソフトウェア開発支援装置では、部品の形式として、データ（データフロー、ストア、タイマ）、定数、プロセス、マクロ等を指定することができる。
【００５５】
（６）検索結果一覧表生成部
検索結果一覧表生成部５０は、検索部３０が出力した検索結果を一覧表として生成する。検索結果一覧表生成部５０は、制御部２０のハードウェア資源及び制御部２０の制御ソフトウェア２４を介して動作するソフトウェアである。
【００５６】
（７）可視化部
可視化部９０は、検索キーワードにマッチする部品名、及びその部品名を持つ部品のシンボルを、表示部１５を介して強調表示とする。可視化部９０は、制御部２０のハードウェア資源及び制御部２０の制御ソフトウェア２４を介して動作するソフトウェアである。検索結果一覧表生成部５０で生成された検索結果一覧表中の検索キーワードをユーザが選択すると、可視化部９０により、当該チャートを開くための信号が制御部２０に送信される。この信号を受信した制御部２０は、当該チャートを開く。そして、この開いたチャート中の検索キーワードにマッチする部品名、及びその部品名を持つ部品のシンボルを、表示部１５を介して強調表示とする。
【００５７】
〔ソフトウェア開発支援装置の動作プロセス〕
ここでは、本実施例に係るソフトウェア開発支援装置の動作について説明する。
【００５８】
（１）検索部の起動、及び検索画面の表示における処理の流れ
本実施例に係るソフトウェア開発支援装置は、ユーザが、検索キーワードの検索を実行するための検索部３０を備える。また、この検索部３０を起動する方法を有する。具体的には、画面上に表示された編集メニュー（図示せず）から検索部３０を起動できる。図５は、検索部３０の起動、及び検索画面４０の表示の処理の流れを示すフローチャートである。
【００５９】
ステップS１では、ユーザが、検索部３０の起動方法を選択する。
【００６０】
ステップS２では、検索部３０を起動させるための信号が制御部２０に送信される。その後、ステップS３に移動する。
【００６１】
ステップS３では、検索部３０を起動させるための信号を受信した制御部２０が、検索部３０を起動する。その後、ステップS４に移動する。
【００６２】
ステップS４では、起動した検索部３０が、検索画面４０を表示させる検索画面表示情報を生成し、表示部１５に送信する。
【００６３】
ステップS５では、検索画面表示情報を受信した表示部１５は、モニタの画面に検索画面４０を表示させる。
【００６４】
（２）検索の実行におけるデータ処理の流れ
ここでは、データ検索の実行におけるデータ処理の流れについて、フローチャートを用いながら説明する。
【００６５】
（２−１）検索範囲、及び検索対象チャートの抽出処理の流れ
図７は、検索範囲、及び検索対象チャートの抽出処理の流れを示すフローチャートである。ユーザが、検索画面４０において、検索範囲、検索対象チャート形式、及び検索対象部品形式を入力し、さらに検索キーワードを入力して、検索実行ボタン４８を選択すると、以下のステップで処理が実行される。
【００６６】
ステップＳ２１では、検索範囲指定部５５が、検索範囲指定ボックス４７を介してユーザが入力した検索範囲を検索範囲として指定し、ステップS２２に移行する。
【００６７】
ステップＳ２２では、検索部３０が、ステップＳ２１で指定された検索範囲のチャートすべての保存位置情報、及びチャート名を抽出し、ＲＡＭ２２に書き込む。その後、ステップS２３に移動する。本実施例に係るソフトウェア開発支援装置では、チャートのツリー構造において、あるチャートと同じ階層に属するチャートすべてが、検索範囲として指定される。例えば、図２に示されるようなチャートのツリー構造があった場合、図５の検索画面の検索範囲にＤＦＤ１と指定したとすると、検索範囲は、チャートのツリー構造において、ＤＦＤ１と同じ階層に属するチャートのすべてが、検索範囲として指定される。そして、検索範囲となるこれらのチャートすべてが抽出される。また、全範囲が指定された場合は、チャートのツリー構造全体が検索範囲となる。なお、検索範囲指定ボックス４７で、何も指定されなかった場合も、検索範囲は、自動的にチャートのツリー構造全体となる。
【００６８】
ステップS２３では、カウンタCnt１を１で初期化し、ステップS２４に移動する。
【００６９】
ステップＳ２４では、検索対象チャート形式指定部６５が、検索対象チャート形式指定ボックス４６を介してユーザが入力した検索対象チャート形式を、検索対象チャート形式として指定し、ステップS２５に移動する。
【００７０】
ステップS２５では、検索部３０が、ステップS２２でＲＡＭ２２に書き込まれたチャートすべてから、ステップS２４で指定された形式に該当するチャートの保存位置情報、及びチャート名を抽出し、ＲＡＭ２２に書き込む。そして最後のチャートのチャート情報を書き込んだ後、終了情報を追加し、（２−２）の検索実行、及び検索結果一覧表生成の処理におけるステップS３１に移動する。
【００７１】
（２−２）検索実行、及び検索結果一覧表生成の処理
図８、及び図９は、検索実行、及び検索結果一覧表生成の処理の流れを示すフローチャートである。
【００７２】
ステップＳ３１では、検索対象部品形式指定部７５が、検索対象部品形式指定ボックス４５を介してユーザが入力した検索対象部品形式を検索対象部品形式として指定し、ステップS３２に移動する。
【００７３】
ステップＳ３２では、検索モード指定部８５が、検索モードとして、既定の検索モードを指定し、ステップS３３に移動する。ここで、既定の検索モードとは、大文字と小文字とを区別し、全角英数字と半角英数字とを区別し、さらに、検索キーワードとの全体一致する条件のもとで検索を実行する検索モードである。
【００７４】
ステップS３３では、検索モード指定部８５が、ユーザが、検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４のいずれかを選択したかどうかを判定する。検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４のいずれも選択されていなかった場合は、ステップS３５に、検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４のいずれかが選択されていた場合はステップS３４に移動する。
【００７５】
ステップS３４では、ステップS３３において、検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４のいずれかがユーザにより指定されていた場合は、ステップS３２で指定した既定の検索モードの３つの条件を、検索モード指定第１ボックス４２，検索モード指定第２ボックス４３、検索モード指定第３ボックス４４で選択された条件のそれぞれで置き換えて検索モードとし、ステップS３６に移動する。
【００７６】
ステップS３５では、ステップS３２で指定した、既定の検索モードをそのまま、検索モードとしてステップS３６に移動する。
【００７７】
ステップS３６では、カウンタCnt２を１で初期化し、ステップS３７に移動する。なお、検索実行、及び一覧表生成の処理の流れを示すフローチャートは図面の都合上、図８、及び図９に分割されている。図８のステップS３６の次のステップであるステップS３７は、図８、及び図９の「A」を介して、図９に示されている。
【００７８】
ステップＳ３７では、検索部３０が、ステップS２５でＲＡＭ２２に書き込んだチャート群のCnt２番目のチャート情報を読み込む。
【００７９】
ステップS３８では、ステップS３７で読み込まれた情報が終了情報かどうかを判定する。読み込まれた情報が終了情報であった場合は、ステップS４４の終了処理に移動し、終了情報でなかった場合は、ステップS３９に移動する。
【００８０】
ステップS３９では、検索部３０が、ステップS３７で読み込まれたチャートから、ステップS３１で指定された検索対象部品形式であって、且つ検索キーワードにマッチする部品名を持つ部品を、ステップS３４またはステップS３５で指定された検索モードで検索する。ある部品に検索キーワードが含まれていた場合は、ステップS４０に移動する。いずれの部品にも検索キーワードが含まれていなかった場合は、ステップS４３に移動する。
【００８１】
ステップS４０では、ステップS３９で検索された検索キーワードとともに、当該部品の部品名、及び当該部品が属するチャートのチャート名、及び保存位置情報をＲＡＭ２２に書き込む。その後、ステップS４１に移動する。
【００８２】
ステップS４１では、検索結果一覧表生成部５０が、ステップS４０でＲＡＭ２２に書き込まれた部品名、当該部品を含むチャート、及び当該チャートの保存位置情報を読み込み、さらに読み込んだ情報、及び当該情報をモニタの画面に表示する制御信号を、表示部１５に送信し、ステップS４２に移動する。
【００８３】
ステップS４２では、ステップS４１で検索結果一覧表生成部５０が送信した情報を、表示部１５が受信する。そして、表示部１５が、受信した情報をモニタの画面に表示する。その後、ステップS４３に移動する。
【００８４】
ステップS４３では、カウンタCnt２を１だけ加算し、ステップS３７に戻り、処理を繰り返す。
【００８５】
ステップS４４で、検索実行、及び検索結果一覧表生成の処理を終了する。
【００８６】
（３）可視化部の処理
ここでは、検索結果一覧表中の検索キーワードが選択されたときの、可視化部９０における処理の流れについて説明する。
【００８７】
検索結果一覧表生成部５０によって生成された検索結果一覧表中の、検索キーワードにマッチする部品名が、ユーザによって選択されると、可視化部９０は、その部品を含むチャートの保存位置情報、及びチャートを開くための信号を生成し、制御部２０に送信する。可視化部９０より、チャートを開くための信号を受信した制御部２０は、チャートの保存位置情報に基づいてそのチャートを開くと同時に、表示部１５を介して当該チャートをモニタの画面に表示させる。チャートを開いた後、制御部２０は、そのチャートが開いたことを示す情報を生成し、可視化部９０に送信する。チャートが開いたことを示す情報を受信した可視化部９０は、検索キーワードにマッチする部品名、及びその部品のシンボルを強調表示する情報を生成し、表示部１５に送信する。検索キーワードにマッチする部品名、及びその部品のシンボルを強調表示する情報を受信した表示部１５は、モニタの画面上に表示されたチャート中の検索キーワードにマッチする部品名、及びその部品のシンボルを強調表示とする。
【００８８】
図１０は、可視化部９０の処理の流れを示すフローチャートである。
【００８９】
ステップS５１において、ユーザが、検索結果一覧表中の、検索キーワードにマッチする部品名を選択する。
【００９０】
ステップS５２では、ステップS５１で選択された部品名を含むチャートのチャート名、及びそのチャートの保存位置情報が、可視化部９０によって、制御部２０に送信される。
【００９１】
ステップS５３では、制御部２０が、ステップS５２で可視化部９０によって送信された情報を受信し、その情報に基づいて、当該チャートを開く。
【００９２】
ステップS５４では、制御部２０が、ステップS５３で制御部２０が開いたチャートの情報を、チャートを表示する制御信号とともに、表示部１５に送信する。その後、ステップS５５に移動する。
【００９３】
ステップS５５では、表示部１５が、ステップS５４で制御部２０によって送信されたチャートの情報、及びチャートを表示する制御信号を受信する。そして、この情報に基づいて、当該チャートをモニタの画面に表示する。その後、表示部１５は、チャートの画面への表示が完了したことを示す信号を、可視化部９０に送信する。
【００９４】
ステップS５６では、ステップS５５で表示部１５によって送信された信号を、可視化部９０が受信する。この信号を受信した可視化部９０は、ステップS５３で開かれたチャート中の、検索キーワードにマッチする部品名、及びその部品のシンボルを強調表示するための情報を生成し、表示部１５に送信する。
【００９５】
ステップS５７では、ステップS５６において可視化部９０から受信した情報に基づいて、表示部１５が、チャート中の、検索キーワードにマッチする部品名、及びその部品のシンボルを強調表示する。
【００９６】
ここで、例を挙げると、例えば、図４のような状態遷移表があった場合、検索キーワードを「入力１」、検索対象チャート形式を「ＤＦＤ」、検索対象部品形式を「データ（データフロー）」として検索したとする。検索結果一覧表中の、検索キーワード「入力１」にマッチする部品名「入力１」をユーザが選択すると、部品「入力１」を含むＤＦＤが画面に表示される。そして、ＤＦＤにおいて、部品名の表す文字列「入力１」、及び部品「入力１」のシンボル（この場合、部品「入力１」のシンボルは矢印で表される図形）が強調表示される。
【００９７】
〔ソフトウェア開発支援装置の特徴〕
（１）
本実施例に係るソフトウェア開発支援装置は、記憶部５、入力部１０、表示部１５、制御部２０、検索部３０、検索結果一覧表生成部５０、及び可視化部９０を備えている。そして、検索キーワードの検索を実行すると、検索結果一覧表が生成される。さらにこの検索結果一覧表に表示された、検索キーワードにマッチする部品名を選択すると、可視化部９０が、制御部２０を介して、当該部品名を持つ部品を含むチャートを開く。また、表示部１５を介して、当該チャートを、モニタの画面に表示する。さらに、可視化部９０は、この表示されたこのチャート中の、検索キーワードにマッチする部品名を強調表示とする。
【００９８】
このため、検索したい部品名を検索した際、当該部品を含むチャート中で、部品の発見を迅速に実行することができ、また、発見漏れを減らすことが期待できる。
【００９９】
また、本実施例に係るソフトウェア開発支援装置では、検索結果一覧表から、直接、検索キーワードにマッチする部品名を持つ部品を含むチャートを開くことができる。このため、手動でチャートを開くという手間を省くことができることから、検索作業の時間を短縮することができる。
【０１００】
（２）
本実施例に係るソフトウェア開発支援装置では、検索部３０が、検索範囲指定部５５を有しており、この検索範囲指定部５５によって、検索範囲として、チャートのツリー構造における階層を指定することができる。つまり、同じ階層に属するチャートのみを検索対象とすることができる。
【０１０１】
このため、検索キーワードの検索を行う範囲を限定することができる。結果として、検索範囲を全チャートとして検索キーワードの検索を実行した場合と比較して、検索に要する時間を短縮することができる。また、検索作業を通じて、必要な情報のみを取得することができる。
【０１０２】
（３）
本実施例に係るソフトウェア開発支援装置では、検索部３０が、検索対象チャート形式指定部６５、及び検索対象部品形式指定部７５をさらに備えている。検索対象チャート形式指定部６５で、検索対象となるチャート形式を限定することができ、また、検索対象部品形式指定部７５で、検索対象となる部品形式を限定することができる。
【０１０３】
このため、全チャートの全部品を検索対象として、検索キーワードの検索を実行する場合と比較して、検索に要する時間を短縮することができる。また、検索作業を通じて、必要な情報のみを取得することができる。
【０１０４】
〔変形例〕
以上、本発明の一実施例について説明したが、本発明は本実施例に限定されるものではなく、発明の要旨を逸脱しない範囲において、種々の変更が可能である。
【０１０５】
（Ａ）
本実施例に係るソフトウェア開発支援装置では、記憶部として、ハードディスク（ＨＤＤ）を採用したが、他の記憶媒体、例えば、ＣＤＲＯＭ、ＤＶＤ、フラッシュメモリ、ＥＥＰＲＯＭ、ＳＤカード等であってもよい。また、内蔵型であっても、外付型であってもよい。
【０１０６】
（Ｂ）
本実施例に係るソフトウェア開発支援装置では、検索モードとして、部分一致と全体一致との区別、大文字と小文字との区別、全角英数字と半角英数字との区別を指定できる。しかし、検索モードとしては、これらの条件に限定されることなく、これ以外の条件を採用してもよい。この場合、検索モードは変わるが、適切な検索モードを採用することにより、ソフトウェア開発における効率性の向上という効果は、本実施例に係るソフトウェア開発支援装置の場合と同様に期待できる。
【０１０７】
（Ｃ）
本実施例に係るソフトウェア開発支援装置では、チャート形式として、状態遷移図、状態遷移表、テーブル、ＤＦＤ、開発するソフトウェアのソースプログラム等を採用したが、開発するソフトウェアの動作または機能を表現するこれ以外のファイル形式のファイルを採用してもよい。この場合も、ソフトウェア開発に有用なファイル形式のファイルを採用することにより、ソフトウェア開発における効率性の向上という効果は、本実施例に係るソフトウェア開発支援装置の場合と同様に期待できる。
【０１０８】
（Ｄ）
本実施例に係るソフトウェア開発支援装置では、検索範囲と指定する検索範囲指定部５５は、チャートのツリー構造におけるあるチャートと同じ階層のチャートすべてを、検索範囲として指定した。しかし、検索範囲指定部５５は、チャートのツリー構造において、ある選択されたチャートをルートノードとする部分ツリーを、検索範囲として指定するようにしてもよい。本実施例の変形例Dに係るソフトウェア開発支援装置では、検索画面４０の検索範囲指定ボックス４７を介してユーザが入力したチャートをルートノードとする部分ツリーを、検索範囲として指定する。検索部３０は、検索範囲指定部５５が指定したこの検索範囲から検索キーワードの検索を実行する。
【０１０９】
ユーザは、チャートのツリー構造における全範囲、またはツリー構造を構成する様々な階層のチャートを入力することができる。図１１は、チャートのツリー構造における部分ツリーの例を示す図である。図１１を使ってこのことを説明する。
【０１１０】
例えば、図１１のＤＦＤ１は、ＤＦＤというチャート形式のチャートで、階層が１であるＤＦＤである。ユーザが、検索画面の検索範囲指定ボックスで、ＤＦＤ１と指定すると、図１１のチャートのツリー構造において、ＤＦＤ１をルートノードとする、ＤＦＤ１から下の階層のすべてのチャートが検索範囲として指定される（図１１中の、斜線のパターンで塗りつぶした部分）。このように検索範囲を指定した場合、あるチャートよりも下の階層に属するすべてのチャート中に含まれる部品から、検索キーワードの検索を実行することができる。このように検索範囲を指定することで、ソフトウェア開発における効率性の向上が期待できる場合も考えられる。
【産業上の利用可能性】
【０１１１】
本発明に係るソフトウェア開発支援装置は、検索部と、可視化部を備える。検索結果は一覧表で表示され、この一覧表中の検索キーワードにマッチする部品名を、ユーザが選択すると、この部品を含むチャートがモニタの画面上に表示される。さらに、この表示されたチャート中の、検索キーワードにマッチする部品名、及び当該部品名を持つ部品が強調表示される。
【０１１２】
このため、空気調和機等の制御ソフトウェアをはじめとする、比較的規模の大きいソフトウェア開発において、自動生成ツール等の開発支援ツールを用いた場合、開発効率や品質の向上に有効である。
【符号の説明】
【０１１３】
５  記憶部
１０  入力部
１５  表示部
２０  制御部
３０  検索部
５０  検索結果一覧表生成部
５５  検索範囲指定部
６５  検索対象チャート形式指定部（検索ファイル形式指定部）
７５  検索対象部品形式指定部（検索ファイル構成要素形式指定部）
８５  検索モード指定部
９０  可視化部
【先行技術文献】
【特許文献】
【０１１４】
【特許文献１】特開２００５−１２８７４０号公報
【図１】
2010191858.tif 000003
【図２】
2010191858.tif 000004
【図３】
2010191858.tif 000005
【図４】
2010191858.tif 000006
【図５】
2010191858.tif 000007
【図６】
2010191858.tif 000008
【図７】
2010191858.tif 000009
【図８】
2010191858.tif 000010
【図９】
2010191858.tif 000011
【図１０】
2010191858.tif 000012
【図１１】
2010191858.tif 000013