(57)【特許請求の範囲】
【請求項１】
画面のソースコードから当該画面に含まれる操作部品を特定する特定部と、
前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部と、
前記生成部により生成された管理情報を記憶する記憶部と、
前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部と、
前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部と、
を有することを特徴とするヘルプ作成支援装置。
【請求項２】
前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出する検出部と、
前記検出部により検出された操作部品を報知する報知部と、
をさらに有することを特徴とする請求項１記載のヘルプ作成支援装置。
【請求項３】
前記検出部は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする請求項２記載のヘルプ作成支援装置。
【請求項４】
画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成するテンプレート作成部
をさらに有することを特徴とする請求項１〜３の何れか１項に記載のヘルプ作成支援装置。
【請求項５】
コンピュータに、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行させることを特徴とするヘルプ作成支援プログラム。
【請求項６】
コンピュータが、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行することを特徴とするヘルプ作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法に関する。
【背景技術】
【０００２】
一般的にソフトウェアには、操作手順等を説明したヘルプが付属する。これらのヘルプには、画面のボタン、チェックボタン、ラジオボタン、エディットボックス等の操作部品に関する個々の説明をポップアップ形式で表示する、状況依存ヘルプ（context-sensitive  help）と呼ばれる表示形式もある。
【０００３】
なお、プログラムの作成を支援する次のような技術が提案されている。例えば、設計支援ツールを用いて作成した画面上の各部品の関数をライブラリに記憶し、ソースプログラムの作成指示により、ライブラリから各部品の関数を読み出して画面全体のソースプログラムを自動作成する技術が提案されている。また、ソフトウェアの変更したＵＩ（User  Interface）要素の周辺に、変更内容の説明を行うための説明用ＵＩ部品を機械的に埋め込む技術が提案されている。さらに、元のソースを修正したソースから設計書を生成し、生成した設計書と修正前の設計書との差分を求め、求めた差分を修正前の設計書に反映して設計書を生成する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−５４６８８号公報
【特許文献２】特開２０１０−１８６３７８号公報
【特許文献３】特開２０００−２２２１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、従来のソフトウェアの開発では、プログラムの元となるソースコードの修正と、ヘルプの元になるテキストファイルの作成をそれぞれ独立した作業として行う。ソフトウェアの開発者は、ソフトウェアの更新が入るたびにヘルプも更新する必要があり、メンテナンスの作業負担が大きい。このため、従来のソフトウェア開発では、操作部品に関するヘルプの記載漏れや、削除した操作部品のヘルプの削除漏れ、ヘルプの更新漏れなどにより、操作部品とヘルプの対応の不一致が発生する場合がある。
【０００６】
なお、先行技術は、各部品の関数をライブラリに記憶したり、変更されたＵＩ要素の周辺に説明用ＵＩ部品を設けたり、修正したソースの内容を設計書に反映させる技術であり、操作部品とヘルプの対応の不一致の発生を抑制できない。
【０００７】
開示の技術は、上記の事実に鑑みてなされたものであって、操作部品とヘルプの対応の不一致の発生を抑制できるヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示するヘルプ作成支援装置は、一つの態様において、画面のソースコードから当該画面に含まれる操作部品を特定する特定部を有する。また、ヘルプ作成支援装置は、前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部を有する。また、ヘルプ作成支援装置は、前記生成部により生成された管理情報を記憶する記憶部を有する。また、ヘルプ作成支援装置は、前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部を有する。また、ヘルプ作成支援装置は、前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部を有する。
【発明の効果】
【０００９】
本願の開示するヘルプ作成支援装置の一つの態様によれば、操作部品とヘルプの対応の不一致の発生を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ヘルプ作成支援装置の全体構成を示す図である。
【図２】図２は、Ｖｉｓｕａｌ  Ｃ＋＋の場合のソースコードのフォルダ構成の一例を示す図である。
【図３】図３は、画面プログラムとして作成された画面の一例を示す図である。
【図４】図４は、ボタンの部品ＩＤと設定された値の一例を示す図である。
【図５】図５は、図３の画面プログラムのヘッダファイルの一例を示す図である。
【図６】図６は、管理テーブルのデータ構成の一例を示す図である。
【図７】図７は、ヘルプテキストファイルのデータ構成の一例を示す図である。
【図８】図８は、Ｖｉｓｕａｌ  Ｃ＋＋の場合のヘルプを表示させる処理を記述したソースコードの一例を示す図である。
【図９】図９は、制御部の各処理部による処理の流れを模式的に示した図である。
【図１０】図１０は、日本語ヘルプ、英語ヘルプが格納された管理テーブルの一例を示す図である。
【図１１】図１１は、状況依存ヘルプを表示させた一例を示す図である。
【図１２】図１２は、画面プログラムの操作部品の修正を行った一例を示す図である。
【図１３】図１３は、ボタンおよびチェックボックスの部品ＩＤと設定された値の一例を示す図である。
【図１４】図１４は、図１２に示す画面プログラムの操作部品の管理テーブルの一例を示す図である。
【図１５】図１５は、追加、削除された操作部品に関する報知の一例を示す図である。
【図１６】図１６は、管理情報を生成する生成処理の手順を示すフローチャートである。
【図１７】図１７は、ヘルプテキストファイルおよびテンプレートファイルを作成する作成処理の手順を示すフローチャートである。
【図１８】図１８は、ヘルプ作成支援プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
実施例１に係るヘルプ作成支援装置について説明する。図１は、ヘルプ作成支援装置の全体構成を示す図である。ヘルプ作成支援装置１０は、画面の操作部品のヘルプの作成を支援するコンピュータである。ヘルプ作成支援装置１０は、例えば、開発者がソフトウェアの開発を行うコンピュータであってもよい。また、ヘルプ作成支援装置１０は、例えば、各開発者がソフトウェアの開発を行ったソースコードを管理する管理サーバであってもよい。実施例１では、開発者がソフトウェアの開発を行うコンピュータによりヘルプ作成支援装置を実現した場合について説明する。図１に示すように、ヘルプ作成支援装置１０は、入力部１１と、出力部１２と、記憶部１３と、制御部１４とを有する。
【００１３】
入力部１１は、各種情報を制御部１４に入力する。例えば、入力部１１は、開発者からの各種操作を受け付けて、受け付けた操作内容を示す操作情報を制御部１４に入力する。入力部１１の一例としては、マウスやキーボードなどの操作受付デバイスが挙げられる。
【００１４】
出力部１２は、各種の情報を出力する。例えば、出力部１２は、後述する検出部１４ｇにより変更が検出された操作部品を示すメッセージを表示する。出力部１２のデバイスの一例としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスなどが挙げられる。
【００１５】
記憶部１３は、各種情報を記憶する。例えば、記憶部１３は、ソースコード１３ａと、管理テーブル１３ｂと、ヘルプテキストファイル１３ｃと、テンプレートファイル１３ｄと、プログラムファイル１３ｅと、ヘルプファイル１３ｆとを記憶する。記憶部１３のデバイスの一例としては、フラッシュメモリやＮＶＳＲＡＭ(Non  Volatile  Static  Random  Access  Memory)などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００１６】
ソースコード１３ａは、開発者がプログラミング言語を用いて画面プログラムに関する処理を記述したものである。例えば、Ｖｉｓｕａｌ  Ｃ＋＋のように画面を作成するプログラミング言語では、開発者により、画面に操作部品が配置され、それぞれの操作部品が操作された際に実行する処理が記述される。ソースコード１３ａには、画面に配置された操作部品に関するコードや、操作部品を操作された際に実行する処理内容を示すコードが含まれる。図２は、Ｖｉｓｕａｌ  Ｃ＋＋の場合のソースコードのフォルダ構成の一例を示す図である。図２の例では、Ｒｏｏｔフォルダ２０の下に「Ｐｒｏｊｅｃｔ１」〜「Ｐｒｏｊｅｃｔ３」の３つのプロジェクト２１が含まれている。プロジェクト２１は、ＥＸＥやＤＬＬなどの実行ファイルの生成に必要な一連のファイルを管理している。例えば、図２の「Ｐｒｏｊｅｃｔ１」は、画面プログラムを生成に必要なファイルを管理しており、「Ｄｉａｌｏｇ．ｃｐｐ」、「Ｄｉａｌｏｇ．ｈ」、「Ｐｒｏｊｅｃｔ．ｒｃ」、「Ｒｅｓｏｕｒｃｅ．ｈ」のファイルを含む。図３は、画面プログラムとして作成された画面の一例を示す図である。図３の例では、画面３０に操作部品として「はい（Ｙ）」、「いいえ（Ｎ）」、「キャンセル」の３つのボタン３１ａ〜３１ｃが設けられている。また、図３の例では、画面３０の右上部分に、閉じるボタン３２が設けられている。閉じるボタン３２は、画面３０を閉じて非表示にすることを指示するボタンである。ボタン３１ａ〜３１ｃには、それぞれを識別する識別子として部品ＩＤ（IDentifier）が定められている。本実施例では、ボタン３１ａの部品ＩＤを「ＩＤ＿ＯＫ」と定め、ボタン３１ｂの部品ＩＤを「ＩＤ＿ＮＯ」と定め、ボタン３１ｃの部品ＩＤを「ＩＤ＿ＣＡＮＣＥＬ」と定めている。各部品ＩＤには、それぞれ値が設定される。
【００１７】
図４は、ボタンの部品ＩＤと設定された値の一例を示す図である。図４の例では、ボタン３１ａの部品ＩＤ「ＩＤ＿ＯＫ」には、値として「１」が設定される。また、ボタン３１ｂの部品ＩＤ「ＩＤ＿ＮＯ」には、値として「２」が設定される。また、ボタン３１ｃの部品ＩＤ「ＩＤ＿ＣＡＮＣＥＬ」には、値として「３」が設定される。Ｖｉｓｕａｌ  Ｃ＋＋の場合は、ヘッダファイルで画面に設けられた操作部品の部品ＩＤに値を設定する定義が行われる。図５は、図３の画面プログラムのヘッダファイルの一例を示す図である。図５の例では、＃ｄｅｆｉｎｅ文により、「ＩＤ＿ＯＫ」に「１」が設定され、「ＩＤ＿ＮＯ」に「２」が設定され、「ＩＤ＿ＣＡＮＣＥＬ」に「３」が設定されている。
【００１８】
管理テーブル１３ｂは、画面の操作部品に対応させて当該操作部品に関する各種情報を記憶するテーブルである。図６は、管理テーブルのデータ構成の一例を示す図である。図６に示すように、管理テーブル１３ｂは、プロジェクト名、ヘルプＩＤ（値）、ＧＵＩ（Graphical  User  Interface）部品ＩＤ（キー）、ヘルプＩＤ（キー）、日本語ヘルプ、英語ヘルプの項目を有する。プロジェクト名の項目は、画面プログラムのプロジェクト名を記憶する領域である。ヘルプＩＤ（値）の項目は、画面プログラムがヘルプを呼び出す際に用いるヘルプＩＤの値を記憶する領域である。ヘルプＩＤは、自動的に値が被らないように採番される。ＧＵＩ部品ＩＤ（キー）の項目は、操作部品の部品ＩＤを記憶する領域である。ヘルプＩＤ（キー）の項目は、ヘルプＩＤの識別子を記憶する領域である。日本語ヘルプの項目は、日本語のヘルプを記憶する領域である。英語ヘルプの項目は、英語のヘルプを記憶する領域である。図６の例は、図３に示した画面プログラムに関する各種情報を記憶した例を示している。図６の例は、「Ｐｒｏｊｅｃｔ１」に部品ＩＤが「ＩＤ＿ＯＫ」、「ＩＤ＿ＮＯ」、「ＩＤ＿ＣＡＮＣＥＬ」の３つの操作部品が含まれていることを示す。また、部品ＩＤが「ＩＤ＿ＯＫ」の操作部品は、ヘルプＩＤの値が「１００」であり、ヘルプＩＤの識別子が「ＩＤＨ＿ＯＫ」であることを示す。また、部品ＩＤが「ＩＤ＿ＮＯ」の操作部品は、ヘルプＩＤの値が「１０１」であり、ヘルプＩＤの識別子が「ＩＤＨ＿ＮＯ」であることを示す。また、部品ＩＤが「ＩＤ＿ＣＡＮＣＥＬ」の操作部品は、ヘルプＩＤの値が「１０２」であり、ヘルプＩＤの識別子が「ＩＤＨ＿ＣＡＮＣＥＬ」であることを示す。
【００１９】
管理テーブル１３ｂは、後述する生成部１４ｂにより生成される。管理テーブル１３ｂの日本語ヘルプ、英語ヘルプの項目は、開発者により入力される領域とされており、管理テーブル１３ｂを生成した初期状態において未入力状態とされている。また、管理テーブル１３ｂは、後述するファイル作成部１４ｃで実行される処理に用いられる。
【００２０】
ヘルプテキストファイル１３ｃは、操作部品毎のヘルプが列挙されたファイルである。図７は、ヘルプテキストファイルのデータ構成の一例を示す図である。図７に示すように、ヘルプテキストファイル１３ｃは、「Ｔｏｐｉｃ」に続けてヘルプＩＤの値が記載されており、ヘルプＩＤ毎に、ヘルプが記載されている。図７の例では、ヘルプＩＤ「１００」には、「編集を確定します。」とのヘルプが記載されている。また、ヘルプＩＤ「１０１」には、「編集を破棄します。」とのヘルプが記載されている。また、ヘルプＩＤ「１０２」には、「キャンセルします。」とのヘルプが記載されている。
【００２１】
ヘルプテキストファイル１３ｃは、後述するファイル作成部１４ｃにより生成される。また、ヘルプテキストファイル１３ｃは、後述するヘルプ作成部１４ｆで実行される処理に用いられる。
【００２２】
テンプレートファイル１３ｄは、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理が記述されたソースコードのファイルである。図８は、Ｖｉｓｕａｌ  Ｃ＋＋の場合のヘルプを表示させる処理を記述したソースコードの一例を示す図である。図８に示すように、テンプレートファイル１３ｄは、操作部品とヘルプＩＤの対応付ける処理が記載されたコード部分４０ａと、ヘルプの呼び出しを行う処理が記載されたコード部分４０ｂに分けられる。コード部分４０ａは、画面の操作部品毎に変化する処理が記述された部分である。例えば、コード部分４０ａには、ヘルプの表示が指定された操作部品の部品ＩＤをセレクト文で判断し、指定された操作部品に対応するヘルプＩＤを変数ｗ＿ｉＩＤＨにセットする処理が記述される。図８の例では、コード部分４０ａでは、変数ｉＩＤの値がＩＤ＿ＯＫの値であれば、ＩＤ＿ＯＫに対応するヘルプＩＤ「１００」を変数ｗ＿ｉＩＤＨにセットする。また、コード部分４０ａでは、変数ｉＩＤの値がＩＤ＿ＮＯの値であれば、ＩＤ＿ＮＯに対応するヘルプＩＤ「１０１」を変数ｗ＿ｉＩＤＨにセットする。また、コード部分４０ａでは、変数ｉＩＤの値がＩＤ＿ＣＡＮＣＥＬの値であれば、ＩＤ＿ＣＡＮＣＥＬに対応するヘルプＩＤ「１０２」を変数ｗ＿ｉＩＤＨにセットする。
【００２３】
コード部分４０ｂは、画面の操作部品によって変化しない定型の処理が記述された部分である。図８の例では、引数をセットしてヘルプを呼び出すＨｔｍｌＨｅｌｐ関数を呼び出す処理が記述される。
【００２４】
図１の説明に戻り、テンプレートファイル１３ｄは、後述するテンプレート作成部１４ｄにより作成される。また、テンプレートファイル１３ｄは、後述するプログラム作成部１４ｅで実行される処理に用いられる。
【００２５】
プログラムファイル１３ｅは、ソースコード１３ａをコンピュータで実行可能な形式に変換したものである。管理テーブル１３ｂは、後述するプログラム作成部１４ｅにより、ソースコード１３ａに対してビルドなどの実行可能なファイルを作成する処理が行われることで生成される。
【００２６】
ヘルプファイル１３ｆは、ヘルプテキストファイル１３ｃをプログラムファイル１３ｅから読み出し可能な形成に変換したものである。ヘルプファイル１３ｆは、後述するヘルプ作成部１４ｆにより、ヘルプテキストファイル１３ｃを、例えばＣＨＭ（Microsoft  Compiled  HTML  Help）形成に変換する処理が行われることで生成される。
【００２７】
制御部１４は、ヘルプの作成に関する各種制御を行う。制御部１４のデバイスの一例としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路が挙げられる。図１に示すように、制御部１４は、特定部１４ａと、生成部１４ｂと、ファイル作成部１４ｃと、テンプレート作成部１４ｄと、プログラム作成部１４ｅと、ヘルプ作成部１４ｆと、検出部１４ｇとを有する。図９は、制御部の各処理部による処理の流れを模式的に示した図である。
【００２８】
特定部１４ａは、各種の特定を行う。例えば、特定部１４ａは、画面のソースコード１３ａから当該画面に含まれる操作部品を特定する。操作部品の特定は、例えば、以下のように行う。
【００２９】
ここで、画面のソースコード１３ａは、図２の「Ｐｒｏｊｅｃｔ１」に示すフォルダ構成であるものとする。この場合、特定部１４ａは、Ｒｅｓｏｕｒｃｅ．ｈのヘッダファイルを参照し、画面に含まれる操作部品を特定する。例えば、ヘッダファイルが図５に示すものとした場合、特定部１４ａは、識別子が「ＩＤ＿ＯＫ」、「ＩＤ＿ＮＯ」、「ＩＤ＿ＣＡＮＣＥＬ」の３つの操作部品が画面に含まれることを特定する。
【００３０】
生成部１４ｂは、各種の生成を行う。例えば、生成部１４ｂは、特定部１４ａにより特定された操作部品を管理する管理情報として管理テーブル１３ｂを生成する。生成部１４ｂは、特定した操作部品に関してヘルプＩＤの値を他と値が重複しないように、例えば、昇順に採番する。また、生成部１４ｂは、操作部品の部品ＩＤから一定のルールで被らないように、ヘルプＩＤを生成する。例えば、生成部１４ｂは、操作部品の部品ＩＤの識別子に含まれる「ＩＤ＿」を「ＩＤＨ＿」として、操作部品に対応するヘルプＩＤを生成する。そして、生成部１４ｂは、それぞれのプロジェクトについて、操作部品毎に、当該部品の部品ＩＤ、生成したヘルプＩＤの識別子、採番したヘルプＩＤの値を設定した管理テーブル１３ｂを生成する。生成された管理テーブル１３ｂには、図６に示すように、画面の操作部品毎に、ヘルプＩＤの値、部品ＩＤ、ヘルプＩＤの識別子が設定され、日本語ヘルプ、英語ヘルプが未入力状態で設けられている。生成された管理テーブル１３ｂは、記憶部１３に記憶される。
【００３１】
管理テーブル１３ｂは、日本語ヘルプ、英語ヘルプに設定する内容が入力部１１から入力可能とされている。入力部１１は、管理テーブル１３ｂの日本語ヘルプ、英語ヘルプに設定するヘルプの入力を受け付ける。開発者は、管理テーブル１３ｂの操作部品毎に、日本語ヘルプ、英語ヘルプにヘルプとして設定する操作説明を入力部１１から入力する。入力部１１から入力された操作説明は、管理テーブル１３ｂの日本語ヘルプ、英語ヘルプに格納される。図１０は、日本語ヘルプ、英語ヘルプが格納された管理テーブルの一例を示す図である。
【００３２】
ファイル作成部１４ｃは、各種の作成を行う。例えば、ファイル作成部１４ｃは、管理テーブル１３ｂに基づいて、操作部品のヘルプＩＤ毎のヘルプが列挙されたヘルプテキストファイル１３ｃを作成する。なお、本実施例では、日本語、英語の何れの言語のヘルプを作成するかの指定が入力部１１から入力される。ファイル作成部１４ｃは、指定された言語のヘルプが列挙されたヘルプテキストファイル１３ｃを作成する。例えば、日本語のヘルプの作成が指定された場合、ファイル作成部１４ｃは、図７に示すように、ヘルプＩＤ毎に、日本語のヘルプが記載されたヘルプテキストファイル１３ｃを作成する。
【００３３】
ところで、画面プログラムは、開発者がソースコード１３ａに、ヘルプの表示が指定された場合、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述する必要がある。
【００３４】
そこで、テンプレート作成部１４ｄは、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートファイル１３ｄを作成する。例えば、ファイル作成部１４ｃは、管理テーブル１３ｂから部品ＩＤおよびヘルプＩＤの値を読み出す。そして、ファイル作成部１４ｃは、図８に示す、ヘルプの表示が指定された操作部品に対応するヘルプＩＤを変数ｗ＿ｉＩＤＨにセットする処理が記述したコード部分４０ａと、定型処理のコード部分４０ｂが記述されたテンプレートファイル１３ｄを作成する。
【００３５】
開発者は、テンプレートファイル１３ｄを用いてソースコード１３ａに対してヘルプの読み出しを行う処理の記述を行うことにより、処理の記述を容易に行うことができる。また、管理テーブル１３ｂの各レコードは、ソースコード１３ａから画面の全ての操作部品を特定して生成される。このため、テンプレートファイル１３ｄは、ソースコード１３ａに記述された画面の全ての操作部品のヘルプの呼び出し処理が記述される。よって、開発者が、テンプレートファイル１３ｄを用いてソースコード１３ａに対してヘルプの読み出しを行う処理の記述を行うことにより、操作部品のヘルプの呼び出し処理の抜けや、操作部品とヘルプの対応の不一致の発生を抑制できる。
【００３６】
プログラム作成部１４ｅは、ソースコード１３ａに対してビルドなどのソースコードを実行ファイルに変換する処理を行って実行可能なプログラムファイル１３ｅを作成する。なお、プログラム作成部１４ｅは、開発ソフトウェアやビルドツールなどを用いて実現される。
【００３７】
ヘルプ作成部１４ｆは、ヘルプテキストファイル１３ｃをヘルプファイルに変換する処理を行ってヘルプファイル１３ｆを作成する。なお、ヘルプ作成部１４ｆは、ヘルプ作成ツールなどを用いて実現される。
【００３８】
本実施例では、このように作成されたプログラムファイル１３ｅとヘルプファイル１３ｆを同じフォルダに格納することにより、プログラムファイル１３ｅを実行した際の画面から操作部品に対応させて状況依存ヘルプを表示させることが可能となる。図１１は、状況依存ヘルプを表示させた一例を示す図である。図１１の例では、画面５０に操作部品として、起動ボタン５１ａ、ＯＫボタン５１ｂ、キャンセルボタン５１ｃが設けられている。また、図１１の例では、画面５０の右上部分に、ヘルプボタン５２ａ、閉じるボタン５２ｂが設けられている。ヘルプボタン５２ａは、ヘルプの表示を指示するボタンである。閉じるボタン５２ｂは、画面５０を閉じることを指示するボタンである。起動ボタン５１ａ、ＯＫボタン５１ｂ、キャンセルボタン５１ｃに関するヘルプを表示させる場合、ヘルプボタン５２ａを指定した後にヘルプを表示させる操作部品にカーソルを合わせる。図１１の例は、ヘルプボタン５２ａを指定した後に起動ボタン５１ａにカーソルを合わせて起動ボタン５１ａのヘルプ５３を表示させた例である。
【００３９】
ところで、画面プログラムでは、開発者がソースコード１３ａに対して修正を行い、画面の操作部品の追加や削除を行う場合がある。例えば、開発者は、図３に示す画面プログラムに対して図１２に示すように修正を行ったものとする。図１２は、画面プログラムの操作部品の修正を行った一例を示す図である。図１２の例では、図３に示す画面３０から「キャンセル」のボタン３１ｃを削除し、確認をせずに上書きを許可かするか否かを指定するチェックボックス３１ｄを追加している。本実施例では、チェックボックス３１ｄの部品ＩＤを「ＩＤ＿ＯＶＥＲＬＡＰ」と定めている。図１３は、ボタンおよびチェックボックスの部品ＩＤと設定された値の一例を示す図である。図１３の例では、図３からボタン３１ｃの設定が削除され、部品ＩＤ「ＩＤ＿ＯＶＥＲＬＡＰ」に「４」が設定されている。
【００４０】
検出部１４ｇは、ソースコード１３ａが更新された場合、変更された操作部品を検出する。例えば、検出部１４ｇは、一旦、生成部１４ｂにより管理テーブル１３ｂが生成されて記憶部１３に記憶された後に、ソースコード１３ａが更新された場合、記憶部１３に既に記憶された管理テーブル１３ｂを別名に変更する。そして、検出部１４ｇは、再度、管理テーブル１３ｂが生成された場合、別名に変更した管理テーブル１３ｂの部品ＩＤと、生成部１４ｂにより生成された管理テーブル１３ｂの部品ＩＤを比較する。すなわち、検出部１４ｇは、更新前のソースコード１３ａから生成された管理テーブル１３ｂと更新後のソースコード１３ａから生成された管理テーブル１３ｂの部品ＩＤを比較する。検出部１４ｇは、比較結果に基づいて、追加、削除された操作部品を検出する。
【００４１】
例えば、開発者は、図３に示す画面プログラムに対して図１２に示すように修正を行ったものとする。図１４は、図１２に示す画面プログラムの操作部品の管理テーブルの一例を示す図である。図１４の例では、図６に示した管理テーブル１３ｂから「ＩＤ＿ＣＡＮＣＥＬ」のレコードが削除され、「ＩＤ＿ＯＶＥＲＬＡＰ」のレコードが追加されている。この場合、検出部１４ｇは、図６に示す管理テーブル１３ｂの部品ＩＤと、図１４に示す管理テーブル１３ｂの部品ＩＤとを比較することにより、「ＩＤ＿ＣＡＮＣＥＬ」の操作部品が削除され、「ＩＤ＿ＯＶＥＲＬＡＰ」の操作部品が追加されたことを検出する。
【００４２】
検出部１４ｇは、検出された操作部品を出力部１２から報知する。例えば、検出部１４ｇは、追加、削除された操作部品を示すメッセージを出力部１２に表示させて開発者に報知する。図１５は、追加、削除された操作部品に関する報知の一例を示す図である。図１５の例では、「ＩＤ＿ＯＶＥＲＬＡＰ」の操作部品が追加されたことにより、「ＩＤ＿ＯＶＥＲＬＡＰが追加されています。ヘルプメッセージを追加してください。」とのメッセージが報知される。また、図１５の例では、「ＩＤ＿ＣＡＮＣＥＬ」の操作部品が削除されたことにより、「ＩＤ＿ＣＡＮＣＥＬが削除されました。」とのメッセージが報知される。
【００４３】
また、検出部１４ｇは、別名に変更した管理テーブル１３ｂがある場合、対応する部品ＩＤ毎に、別名に変更した管理テーブル１３ｂの日本語ヘルプ、英語ヘルプに記憶された内容を新しく生成された管理テーブル１３ｂに反映する。
【００４４】
次に、本実施例に係るヘルプ作成支援装置１０によるヘルプの作成を支援する処理の流れを説明する。図１６は、管理情報を生成する生成処理の手順を示すフローチャートである。この生成処理は、例えば、ヘルプ作成支援装置１０に対して管理情報の生成を指示する所定操作が行われたタイミングで実行される。なお、生成処理は、ソースコード管理ソフトにソースコード１３ａが格納されたタイミングや、ソースコード管理ソフトによりソースコード１３ａの変更が検出されたタイミングでソースコード管理ソフトから実行されてもよい。
【００４５】
図１６に示すように、特定部１４ａは、記憶部１３から画面のソースコード１３ａを読み出す（ステップＳ１０）。特定部１４ａは、読み出した画面のソースコード１３ａから当該画面に含まれる操作部品を特定する（ステップＳ１１）。検出部１４ｇは、記憶部１３に既に管理テーブル１３ｂが記憶されているか否かを判定する（ステップＳ１２）。記憶部１３に管理テーブル１３ｂが記憶されていない場合（ステップＳ１２否定）、生成部１４ｂは、特定部１４ａにより特定された操作部品を管理する管理テーブル１３ｂを生成し（ステップＳ１３）、処理を終了する。
【００４６】
一方、記憶部１３に管理テーブル１３ｂが記憶されている場合（ステップＳ１２肯定）、検出部１４ｇは、記憶部１３に既に記憶された管理テーブル１３ｂを別名に変更する（ステップＳ１４）。そして、生成部１４ｂは、特定部１４ａにより特定された操作部品を管理する管理テーブル１３ｂを生成する（ステップＳ１５）。検出部１４ｇは、別名に変更した管理テーブル１３ｂの部品ＩＤと、生成部１４ｂにより生成された管理テーブル１３ｂの部品ＩＤを比較し、追加、削除された操作部品を検出する（ステップＳ１６）。検出部１４ｇは、検出の結果、追加、削除された操作部品があるか否か判定する（ステップＳ１７）。追加、削除された操作部品がある場合（ステップＳ１７肯定）、検出部１４ｇは、追加、削除された操作部品を出力部１２から報知する（ステップＳ１８）。そして、検出部１４ｇは、対応する部品ＩＤ毎に、別名に変更した管理テーブル１３ｂの日本語ヘルプ、英語ヘルプに記憶された内容を新しく生成された管理テーブル１３ｂに反映し（ステップＳ１９）、処理を終了する。一方、追加、削除された操作部品がない場合（ステップＳ１７否定）、ステップＳ１９へ移行する。
【００４７】
次に、本実施例に係るヘルプ作成支援装置１０によるヘルプテキストファイル１３ｃおよびテンプレートファイル１３ｄを作成する処理の流れを説明する。図１７は、ヘルプテキストファイルおよびテンプレートファイルを作成する作成処理の手順を示すフローチャートである。この作成処理は、例えば、ヘルプ作成支援装置１０に対してヘルプテキストファイル１３ｃおよびテンプレートファイル１３ｄの作成を指示する所定操作が行われたタイミングで実行される。
【００４８】
図１７に示すように、ファイル作成部１４ｃは、記憶部１３から管理テーブル１３ｂを読み出す（ステップＳ２０）。ファイル作成部１４ｃは、管理テーブル１３ｂに基づいて、操作部品のヘルプＩＤ毎のヘルプが列挙されたヘルプテキストファイル１３ｃを作成する（ステップＳ２１）。ファイル作成部１４ｃは、管理テーブル１３ｂに基づいて、テンプレートファイル１３ｄを作成し（ステップＳ２２）、処理を終了する。
【００４９】
このように、ヘルプ作成支援装置１０は、画面のソースコード１３ａから当該画面に含まれる操作部品を特定する。また、ヘルプ作成支援装置１０は、特定された操作部品を示す部品ＩＤを含む管理テーブル１３ｂを生成する。また、ヘルプ作成支援装置１０は、生成された管理テーブル１３ｂを記憶部１３に記憶する。また、ヘルプ作成支援装置１０は、入力部１１から記憶部１３に記憶された管理テーブル１３ｂに追加する前記操作部品に係るヘルプを識別情報毎に入力する。そして、ヘルプ作成支援装置１０は、入力部１１によりヘルプが追加された管理テーブル１３ｂに基づいて、操作部品毎のヘルプが列挙されたヘルプテキストファイル１３ｃを作成する。よって、ヘルプ作成支援装置１０によれば、操作部品毎のヘルプが列挙されたヘルプテキストファイル１３ｃを用いてヘルプの作成を行うことにより、操作部品とヘルプの対応の不一致の発生を抑制できる。
【００５０】
また、ヘルプ作成支援装置１０は、ソースコード１３ａが更新された場合、更新前のソースコード１３ａから生成された管理テーブル１３ｂと更新後のソースコード１３ａから生成された管理テーブル１３ｂの部品ＩＤを比較する。ヘルプ作成支援装置１０は、比較結果に基づいて、追加および削除された操作部品を検出する。ヘルプ作成支援装置１０は、検出された操作部品を報知する。よって、ヘルプ作成支援装置１０によれば、ソースコード１３ａに操作部品が追加および削除された場合でも、開発者による追加および削除された操作部品のヘルプの更新忘れを抑制できる。
【００５１】
また、ヘルプ作成支援装置１０は、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコード１３ａのテンプレートファイル１３ｄを作成する。よって、ヘルプ作成支援装置１０によれば、ヘルプを呼び出す部分の処理を記載する手間を軽減できる。また、ヘルプ作成支援装置１０によれば、テンプレートファイル１３ｄを用いてソースコード１３ａに対してヘルプの読み出しを行う処理の記述を行うことにより、操作部品のヘルプの呼び出し処理の抜けや、操作部品とヘルプの対応の不一致の発生を抑制できる。
【実施例２】
【００５２】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００５３】
例えば、上記の実施例では、検出部１４ｇは、更新前の管理テーブル１３ｂと更新後の管理テーブル１３ｂの部品ＩＤを比較して、追加、削除された操作部品を検出する場合について説明したが、開示の装置はこれに限定されない。例えば、更新前と更新後のソースコード１３ａを比較し、追加、削除された操作部品や、処理が変更された操作部品を検出し、検出結果を報知してもよい。これにより、追加、削除された操作部品や、処理が変更された操作部品が開発者に報知されるため、開発者によるヘルプの更新忘れを抑制できる。
【００５４】
また、上記の実施例では、画面に含まれる操作部品の部品ＩＤをテーブル形成で管理テーブル１３ｂにより管理する場合について説明したが、開示の装置はこれに限定されない。操作部品毎の部品ＩＤを管理できれば、何れの形式でもよい。
【００５５】
また、上記の実施例では、プログラミング言語をＶｉｓｕａｌ  Ｃ＋＋とした場合について説明したが、開示の装置はこれに限定されない。例えば、Ｖｉｓｕａｌ  Ｃ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃなど他のプログラミング言語であってもよい。
【００５６】
また、上記の実施例では、開発者がソフトウェアの開発を行うコンピュータによりヘルプ作成支援装置を実現した場合について説明したが、開示の装置はこれに限定されない。例えば、各開発者が開発したソースコード１３ａを管理する管理サーバによりヘルプ作成支援装置を実現してもよい。
【００５７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示す特定部１４ａ、生成部１４ｂ、ファイル作成部１４ｃ、テンプレート作成部１４ｄ、プログラム作成部１４ｅ、ヘルプ作成部１４ｆ、検出部１４ｇの各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５８】
［ヘルプ作成支援プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図１８は、ヘルプ作成支援プログラムを実行するコンピュータを示す図である。
【００５９】
図１８に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【００６０】
ＨＤＤ３２０には上記の実施例１に示す特定部１４ａ、生成部１４ｂ、ファイル作成部１４ｃ、テンプレート作成部１４ｄ、検出部１４ｇと同様の機能を発揮するヘルプ作成支援プログラム３２０ａが予め記憶される。なお、ヘルプ作成支援プログラム３２０ａについては、適宜分離しても良い。
【００６１】
また、ＨＤＤ３２０は、各種情報を記憶する。例えば、ＨＤＤ３２０は、図１に示したソースコード１３ａに対応するソースコード３２０ｂを記憶する。
【００６２】
そして、ＣＰＵ３１０が、ヘルプ作成支援プログラム３２０ａをＨＤＤ３２０から読み出してＲＡＭ３４０に展開し、ＨＤＤ３２０に記憶されたソースコード３２０ｂを用いて各処理を実行することで、実施例１に示した制御部１４と同様の動作を実行する。すなわち、ヘルプ作成支援プログラム３２０ａは、実施例１に示した特定部１４ａ、生成部１４ｂ、ファイル作成部１４ｃ、テンプレート作成部１４ｄ、検出部１４ｇと同様の動作を実行する。
【００６３】
なお、上記したヘルプ作成支援プログラム３２０ａについては、必ずしも最初からＨＤＤ３２０に記憶させることを要しない。
【００６４】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００６５】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００６６】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【００６７】
（付記１）画面のソースコードから当該画面に含まれる操作部品を特定する特定部と、
前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部と、
前記生成部により生成された管理情報を記憶する記憶部と、
前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部と、
前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部と、
を有することを特徴とするヘルプ作成支援装置。
【００６８】
（付記２）前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出する検出部と、
前記検出部により検出された操作部品を報知する報知部と、
をさらに有することを特徴とする付記１記載のヘルプ作成支援装置。
【００６９】
（付記３）前記検出部は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記２記載のヘルプ作成支援装置。
【００７０】
（付記４）画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成するテンプレート作成部
をさらに有することを特徴とする付記１〜３の何れか１つに記載のヘルプ作成支援装置。
【００７１】
（付記５）コンピュータに、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行させることを特徴とするヘルプ作成支援プログラム。
【００７２】
（付記６）前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出し、
検出された操作部品を報知する
各処理をさらに実行させることを特徴とする付記５記載のヘルプ作成支援プログラム。
【００７３】
（付記７）操作部品を検出する処理は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記６記載のヘルプ作成支援プログラム。
【００７４】
（付記８）画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成する
処理をさらに実行させることを特徴とする付記５〜７の何れか１つに記載のヘルプ作成支援プログラム。
【００７５】
（付記９）コンピュータが、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行することを特徴とするヘルプ作成支援方法。
【００７６】
（付記１０）前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出し、
検出された操作部品を報知する
各処理をさらに実行することを特徴とする付記９記載のヘルプ作成支援方法。
【００７７】
（付記１１）操作部品を検出する処理は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記１０記載のヘルプ作成支援方法。
【００７８】
（付記１２）画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成する
処理をさらに実行することを特徴とする付記９〜１１の何れか１つに記載のヘルプ作成支援方法。
【符号の説明】
【００７９】
１０    ヘルプ作成支援装置
１１    入力部
１２    出力部
１３ａ  ソースコード
１３ｂ  管理テーブル
１３ｃ  ヘルプテキストファイル
１３ｄ  テンプレートファイル
１３    記憶部
１４    制御部
１４ａ  特定部
１４ｂ  生成部
１４ｃ  ファイル作成部
１４ｄ  テンプレート作成部
１４ｇ  検出部
３０    画面
３１ｄ  チェックボックス
３１ａ、３１ｂ、３１ｃ  ボタン
５０    画面
５１ａ、５１ｂ、５１ｃ  ボタン
【図１】
0005720531.tif 000002
【図２】
0005720531.tif 000003
【図３】
0005720531.tif 000004
【図４】
0005720531.tif 000005
【図５】
0005720531.tif 000006
【図６】
0005720531.tif 000007
【図７】
0005720531.tif 000008
【図８】
0005720531.tif 000009
【図９】
0005720531.tif 000010
【図１０】
0005720531.tif 000011
【図１１】
0005720531.tif 000012
【図１２】
0005720531.tif 000013
【図１３】
0005720531.tif 000014
【図１４】
0005720531.tif 000015
【図１５】
0005720531.tif 000016
【図１６】
0005720531.tif 000017
【図１７】
0005720531.tif 000018
【図１８】
0005720531.tif 000019