説明

ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法

【課題】操作部品とヘルプの対応の不一致の発生を抑制できるヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法を提供する。
【解決手段】特定部14aにより、画面のソースコード13aから当該画面に含まれる操作部品を特定し、生成部14bにより、特定された操作部品を示す識別情報を含む管理テーブル13bを生成し、生成された管理テーブル13bを記憶部13に記憶し、入力部11から記憶管理テーブル13bに追加する操作部品に係るヘルプを識別情報毎に入力させ、ヘルプが追加された管理テーブル13bに基づいて、操作部品毎のヘルプが列挙されたヘルプテキストファイル13cを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法に関する。
【背景技術】
【0002】
一般的にソフトウェアには、操作手順等を説明したヘルプが付属する。これらのヘルプには、画面のボタン、チェックボタン、ラジオボタン、エディットボックス等の操作部品に関する個々の説明をポップアップ形式で表示する、状況依存ヘルプ(context-sensitive help)と呼ばれる表示形式もある。
【0003】
なお、プログラムの作成を支援する次のような技術が提案されている。例えば、設計支援ツールを用いて作成した画面上の各部品の関数をライブラリに記憶し、ソースプログラムの作成指示により、ライブラリから各部品の関数を読み出して画面全体のソースプログラムを自動作成する技術が提案されている。また、ソフトウェアの変更したUI(User Interface)要素の周辺に、変更内容の説明を行うための説明用UI部品を機械的に埋め込む技術が提案されている。さらに、元のソースを修正したソースから設計書を生成し、生成した設計書と修正前の設計書との差分を求め、求めた差分を修正前の設計書に反映して設計書を生成する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−54688号公報
【特許文献2】特開2010−186378号公報
【特許文献3】特開2000−222192号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、従来のソフトウェアの開発では、プログラムの元となるソースコードの修正と、ヘルプの元になるテキストファイルの作成をそれぞれ独立した作業として行う。ソフトウェアの開発者は、ソフトウェアの更新が入るたびにヘルプも更新する必要があり、メンテナンスの作業負担が大きい。このため、従来のソフトウェア開発では、操作部品に関するヘルプの記載漏れや、削除した操作部品のヘルプの削除漏れ、ヘルプの更新漏れなどにより、操作部品とヘルプの対応の不一致が発生する場合がある。
【0006】
なお、先行技術は、各部品の関数をライブラリに記憶したり、変更されたUI要素の周辺に説明用UI部品を設けたり、修正したソースの内容を設計書に反映させる技術であり、操作部品とヘルプの対応の不一致の発生を抑制できない。
【0007】
開示の技術は、上記の事実に鑑みてなされたものであって、操作部品とヘルプの対応の不一致の発生を抑制できるヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本願の開示するヘルプ作成支援装置は、一つの態様において、画面のソースコードから当該画面に含まれる操作部品を特定する特定部を有する。また、ヘルプ作成支援装置は、前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部を有する。また、ヘルプ作成支援装置は、前記生成部により生成された管理情報を記憶する記憶部を有する。また、ヘルプ作成支援装置は、前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部を有する。また、ヘルプ作成支援装置は、前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部を有する。
【発明の効果】
【0009】
本願の開示するヘルプ作成支援装置の一つの態様によれば、操作部品とヘルプの対応の不一致の発生を抑制できる。
【図面の簡単な説明】
【0010】
【図1】図1は、ヘルプ作成支援装置の全体構成を示す図である。
【図2】図2は、Visual C++の場合のソースコードのフォルダ構成の一例を示す図である。
【図3】図3は、画面プログラムとして作成された画面の一例を示す図である。
【図4】図4は、ボタンの部品IDと設定された値の一例を示す図である。
【図5】図5は、図3の画面プログラムのヘッダファイルの一例を示す図である。
【図6】図6は、管理テーブルのデータ構成の一例を示す図である。
【図7】図7は、ヘルプテキストファイルのデータ構成の一例を示す図である。
【図8】図8は、Visual C++の場合のヘルプを表示させる処理を記述したソースコードの一例を示す図である。
【図9】図9は、制御部の各処理部による処理の流れを模式的に示した図である。
【図10】図10は、日本語ヘルプ、英語ヘルプが格納された管理テーブルの一例を示す図である。
【図11】図11は、状況依存ヘルプを表示させた一例を示す図である。
【図12】図12は、画面プログラムの操作部品の修正を行った一例を示す図である。
【図13】図13は、ボタンおよびチェックボックスの部品IDと設定された値の一例を示す図である。
【図14】図14は、図12に示す画面プログラムの操作部品の管理テーブルの一例を示す図である。
【図15】図15は、追加、削除された操作部品に関する報知の一例を示す図である。
【図16】図16は、管理情報を生成する生成処理の手順を示すフローチャートである。
【図17】図17は、ヘルプテキストファイルおよびテンプレートファイルを作成する作成処理の手順を示すフローチャートである。
【図18】図18は、ヘルプ作成支援プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0011】
以下に、本発明にかかるヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0012】
実施例1に係るヘルプ作成支援装置について説明する。図1は、ヘルプ作成支援装置の全体構成を示す図である。ヘルプ作成支援装置10は、画面の操作部品のヘルプの作成を支援するコンピュータである。ヘルプ作成支援装置10は、例えば、開発者がソフトウェアの開発を行うコンピュータであってもよい。また、ヘルプ作成支援装置10は、例えば、各開発者がソフトウェアの開発を行ったソースコードを管理する管理サーバであってもよい。実施例1では、開発者がソフトウェアの開発を行うコンピュータによりヘルプ作成支援装置を実現した場合について説明する。図1に示すように、ヘルプ作成支援装置10は、入力部11と、出力部12と、記憶部13と、制御部14とを有する。
【0013】
入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、開発者からの各種操作を受け付けて、受け付けた操作内容を示す操作情報を制御部14に入力する。入力部11の一例としては、マウスやキーボードなどの操作受付デバイスが挙げられる。
【0014】
出力部12は、各種の情報を出力する。例えば、出力部12は、後述する検出部14gにより変更が検出された操作部品を示すメッセージを表示する。出力部12のデバイスの一例としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスなどが挙げられる。
【0015】
記憶部13は、各種情報を記憶する。例えば、記憶部13は、ソースコード13aと、管理テーブル13bと、ヘルプテキストファイル13cと、テンプレートファイル13dと、プログラムファイル13eと、ヘルプファイル13fとを記憶する。記憶部13のデバイスの一例としては、フラッシュメモリやNVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【0016】
ソースコード13aは、開発者がプログラミング言語を用いて画面プログラムに関する処理を記述したものである。例えば、Visual C++のように画面を作成するプログラミング言語では、開発者により、画面に操作部品が配置され、それぞれの操作部品が操作された際に実行する処理が記述される。ソースコード13aには、画面に配置された操作部品に関するコードや、操作部品を操作された際に実行する処理内容を示すコードが含まれる。図2は、Visual C++の場合のソースコードのフォルダ構成の一例を示す図である。図2の例では、Rootフォルダ20の下に「Project1」〜「Project3」の3つのプロジェクト21が含まれている。プロジェクト21は、EXEやDLLなどの実行ファイルの生成に必要な一連のファイルを管理している。例えば、図2の「Project1」は、画面プログラムを生成に必要なファイルを管理しており、「Dialog.cpp」、「Dialog.h」、「Project.rc」、「Resource.h」のファイルを含む。図3は、画面プログラムとして作成された画面の一例を示す図である。図3の例では、画面30に操作部品として「はい(Y)」、「いいえ(N)」、「キャンセル」の3つのボタン31a〜31cが設けられている。また、図3の例では、画面30の右上部分に、閉じるボタン32が設けられている。閉じるボタン32は、画面30を閉じて非表示にすることを指示するボタンである。ボタン31a〜31cには、それぞれを識別する識別子として部品ID(IDentifier)が定められている。本実施例では、ボタン31aの部品IDを「ID_OK」と定め、ボタン31bの部品IDを「ID_NO」と定め、ボタン31cの部品IDを「ID_CANCEL」と定めている。各部品IDには、それぞれ値が設定される。
【0017】
図4は、ボタンの部品IDと設定された値の一例を示す図である。図4の例では、ボタン31aの部品ID「ID_OK」には、値として「1」が設定される。また、ボタン31bの部品ID「ID_NO」には、値として「2」が設定される。また、ボタン31cの部品ID「ID_CANCEL」には、値として「3」が設定される。Visual C++の場合は、ヘッダファイルで画面に設けられた操作部品の部品IDに値を設定する定義が行われる。図5は、図3の画面プログラムのヘッダファイルの一例を示す図である。図5の例では、#define文により、「ID_OK」に「1」が設定され、「ID_NO」に「2」が設定され、「ID_CANCEL」に「3」が設定されている。
【0018】
管理テーブル13bは、画面の操作部品に対応させて当該操作部品に関する各種情報を記憶するテーブルである。図6は、管理テーブルのデータ構成の一例を示す図である。図6に示すように、管理テーブル13bは、プロジェクト名、ヘルプID(値)、GUI(Graphical User Interface)部品ID(キー)、ヘルプID(キー)、日本語ヘルプ、英語ヘルプの項目を有する。プロジェクト名の項目は、画面プログラムのプロジェクト名を記憶する領域である。ヘルプID(値)の項目は、画面プログラムがヘルプを呼び出す際に用いるヘルプIDの値を記憶する領域である。ヘルプIDは、自動的に値が被らないように採番される。GUI部品ID(キー)の項目は、操作部品の部品IDを記憶する領域である。ヘルプID(キー)の項目は、ヘルプIDの識別子を記憶する領域である。日本語ヘルプの項目は、日本語のヘルプを記憶する領域である。英語ヘルプの項目は、英語のヘルプを記憶する領域である。図6の例は、図3に示した画面プログラムに関する各種情報を記憶した例を示している。図6の例は、「Project1」に部品IDが「ID_OK」、「ID_NO」、「ID_CANCEL」の3つの操作部品が含まれていることを示す。また、部品IDが「ID_OK」の操作部品は、ヘルプIDの値が「100」であり、ヘルプIDの識別子が「IDH_OK」であることを示す。また、部品IDが「ID_NO」の操作部品は、ヘルプIDの値が「101」であり、ヘルプIDの識別子が「IDH_NO」であることを示す。また、部品IDが「ID_CANCEL」の操作部品は、ヘルプIDの値が「102」であり、ヘルプIDの識別子が「IDH_CANCEL」であることを示す。
【0019】
管理テーブル13bは、後述する生成部14bにより生成される。管理テーブル13bの日本語ヘルプ、英語ヘルプの項目は、開発者により入力される領域とされており、管理テーブル13bを生成した初期状態において未入力状態とされている。また、管理テーブル13bは、後述するファイル作成部14cで実行される処理に用いられる。
【0020】
ヘルプテキストファイル13cは、操作部品毎のヘルプが列挙されたファイルである。図7は、ヘルプテキストファイルのデータ構成の一例を示す図である。図7に示すように、ヘルプテキストファイル13cは、「Topic」に続けてヘルプIDの値が記載されており、ヘルプID毎に、ヘルプが記載されている。図7の例では、ヘルプID「100」には、「編集を確定します。」とのヘルプが記載されている。また、ヘルプID「101」には、「編集を破棄します。」とのヘルプが記載されている。また、ヘルプID「102」には、「キャンセルします。」とのヘルプが記載されている。
【0021】
ヘルプテキストファイル13cは、後述するファイル作成部14cにより生成される。また、ヘルプテキストファイル13cは、後述するヘルプ作成部14fで実行される処理に用いられる。
【0022】
テンプレートファイル13dは、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理が記述されたソースコードのファイルである。図8は、Visual C++の場合のヘルプを表示させる処理を記述したソースコードの一例を示す図である。図8に示すように、テンプレートファイル13dは、操作部品とヘルプIDの対応付ける処理が記載されたコード部分40aと、ヘルプの呼び出しを行う処理が記載されたコード部分40bに分けられる。コード部分40aは、画面の操作部品毎に変化する処理が記述された部分である。例えば、コード部分40aには、ヘルプの表示が指定された操作部品の部品IDをセレクト文で判断し、指定された操作部品に対応するヘルプIDを変数w_iIDHにセットする処理が記述される。図8の例では、コード部分40aでは、変数iIDの値がID_OKの値であれば、ID_OKに対応するヘルプID「100」を変数w_iIDHにセットする。また、コード部分40aでは、変数iIDの値がID_NOの値であれば、ID_NOに対応するヘルプID「101」を変数w_iIDHにセットする。また、コード部分40aでは、変数iIDの値がID_CANCELの値であれば、ID_CANCELに対応するヘルプID「102」を変数w_iIDHにセットする。
【0023】
コード部分40bは、画面の操作部品によって変化しない定型の処理が記述された部分である。図8の例では、引数をセットしてヘルプを呼び出すHtmlHelp関数を呼び出す処理が記述される。
【0024】
図1の説明に戻り、テンプレートファイル13dは、後述するテンプレート作成部14dにより作成される。また、テンプレートファイル13dは、後述するプログラム作成部14eで実行される処理に用いられる。
【0025】
プログラムファイル13eは、ソースコード13aをコンピュータで実行可能な形式に変換したものである。管理テーブル13bは、後述するプログラム作成部14eにより、ソースコード13aに対してビルドなどの実行可能なファイルを作成する処理が行われることで生成される。
【0026】
ヘルプファイル13fは、ヘルプテキストファイル13cをプログラムファイル13eから読み出し可能な形成に変換したものである。ヘルプファイル13fは、後述するヘルプ作成部14fにより、ヘルプテキストファイル13cを、例えばCHM(Microsoft Compiled HTML Help)形成に変換する処理が行われることで生成される。
【0027】
制御部14は、ヘルプの作成に関する各種制御を行う。制御部14のデバイスの一例としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路が挙げられる。図1に示すように、制御部14は、特定部14aと、生成部14bと、ファイル作成部14cと、テンプレート作成部14dと、プログラム作成部14eと、ヘルプ作成部14fと、検出部14gとを有する。図9は、制御部の各処理部による処理の流れを模式的に示した図である。
【0028】
特定部14aは、各種の特定を行う。例えば、特定部14aは、画面のソースコード13aから当該画面に含まれる操作部品を特定する。操作部品の特定は、例えば、以下のように行う。
【0029】
ここで、画面のソースコード13aは、図2の「Project1」に示すフォルダ構成であるものとする。この場合、特定部14aは、Resource.hのヘッダファイルを参照し、画面に含まれる操作部品を特定する。例えば、ヘッダファイルが図5に示すものとした場合、特定部14aは、識別子が「ID_OK」、「ID_NO」、「ID_CANCEL」の3つの操作部品が画面に含まれることを特定する。
【0030】
生成部14bは、各種の生成を行う。例えば、生成部14bは、特定部14aにより特定された操作部品を管理する管理情報として管理テーブル13bを生成する。生成部14bは、特定した操作部品に関してヘルプIDの値を他と値が重複しないように、例えば、昇順に採番する。また、生成部14bは、操作部品の部品IDから一定のルールで被らないように、ヘルプIDを生成する。例えば、生成部14bは、操作部品の部品IDの識別子に含まれる「ID_」を「IDH_」として、操作部品に対応するヘルプIDを生成する。そして、生成部14bは、それぞれのプロジェクトについて、操作部品毎に、当該部品の部品ID、生成したヘルプIDの識別子、採番したヘルプIDの値を設定した管理テーブル13bを生成する。生成された管理テーブル13bには、図6に示すように、画面の操作部品毎に、ヘルプIDの値、部品ID、ヘルプIDの識別子が設定され、日本語ヘルプ、英語ヘルプが未入力状態で設けられている。生成された管理テーブル13bは、記憶部13に記憶される。
【0031】
管理テーブル13bは、日本語ヘルプ、英語ヘルプに設定する内容が入力部11から入力可能とされている。入力部11は、管理テーブル13bの日本語ヘルプ、英語ヘルプに設定するヘルプの入力を受け付ける。開発者は、管理テーブル13bの操作部品毎に、日本語ヘルプ、英語ヘルプにヘルプとして設定する操作説明を入力部11から入力する。入力部11から入力された操作説明は、管理テーブル13bの日本語ヘルプ、英語ヘルプに格納される。図10は、日本語ヘルプ、英語ヘルプが格納された管理テーブルの一例を示す図である。
【0032】
ファイル作成部14cは、各種の作成を行う。例えば、ファイル作成部14cは、管理テーブル13bに基づいて、操作部品のヘルプID毎のヘルプが列挙されたヘルプテキストファイル13cを作成する。なお、本実施例では、日本語、英語の何れの言語のヘルプを作成するかの指定が入力部11から入力される。ファイル作成部14cは、指定された言語のヘルプが列挙されたヘルプテキストファイル13cを作成する。例えば、日本語のヘルプの作成が指定された場合、ファイル作成部14cは、図7に示すように、ヘルプID毎に、日本語のヘルプが記載されたヘルプテキストファイル13cを作成する。
【0033】
ところで、画面プログラムは、開発者がソースコード13aに、ヘルプの表示が指定された場合、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述する必要がある。
【0034】
そこで、テンプレート作成部14dは、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートファイル13dを作成する。例えば、ファイル作成部14cは、管理テーブル13bから部品IDおよびヘルプIDの値を読み出す。そして、ファイル作成部14cは、図8に示す、ヘルプの表示が指定された操作部品に対応するヘルプIDを変数w_iIDHにセットする処理が記述したコード部分40aと、定型処理のコード部分40bが記述されたテンプレートファイル13dを作成する。
【0035】
開発者は、テンプレートファイル13dを用いてソースコード13aに対してヘルプの読み出しを行う処理の記述を行うことにより、処理の記述を容易に行うことができる。また、管理テーブル13bの各レコードは、ソースコード13aから画面の全ての操作部品を特定して生成される。このため、テンプレートファイル13dは、ソースコード13aに記述された画面の全ての操作部品のヘルプの呼び出し処理が記述される。よって、開発者が、テンプレートファイル13dを用いてソースコード13aに対してヘルプの読み出しを行う処理の記述を行うことにより、操作部品のヘルプの呼び出し処理の抜けや、操作部品とヘルプの対応の不一致の発生を抑制できる。
【0036】
プログラム作成部14eは、ソースコード13aに対してビルドなどのソースコードを実行ファイルに変換する処理を行って実行可能なプログラムファイル13eを作成する。なお、プログラム作成部14eは、開発ソフトウェアやビルドツールなどを用いて実現される。
【0037】
ヘルプ作成部14fは、ヘルプテキストファイル13cをヘルプファイルに変換する処理を行ってヘルプファイル13fを作成する。なお、ヘルプ作成部14fは、ヘルプ作成ツールなどを用いて実現される。
【0038】
本実施例では、このように作成されたプログラムファイル13eとヘルプファイル13fを同じフォルダに格納することにより、プログラムファイル13eを実行した際の画面から操作部品に対応させて状況依存ヘルプを表示させることが可能となる。図11は、状況依存ヘルプを表示させた一例を示す図である。図11の例では、画面50に操作部品として、起動ボタン51a、OKボタン51b、キャンセルボタン51cが設けられている。また、図11の例では、画面50の右上部分に、ヘルプボタン52a、閉じるボタン52bが設けられている。ヘルプボタン52aは、ヘルプの表示を指示するボタンである。閉じるボタン52bは、画面50を閉じることを指示するボタンである。起動ボタン51a、OKボタン51b、キャンセルボタン51cに関するヘルプを表示させる場合、ヘルプボタン52aを指定した後にヘルプを表示させる操作部品にカーソルを合わせる。図11の例は、ヘルプボタン52aを指定した後に起動ボタン51aにカーソルを合わせて起動ボタン51aのヘルプ53を表示させた例である。
【0039】
ところで、画面プログラムでは、開発者がソースコード13aに対して修正を行い、画面の操作部品の追加や削除を行う場合がある。例えば、開発者は、図3に示す画面プログラムに対して図12に示すように修正を行ったものとする。図12は、画面プログラムの操作部品の修正を行った一例を示す図である。図12の例では、図3に示す画面30から「キャンセル」のボタン31cを削除し、確認をせずに上書きを許可かするか否かを指定するチェックボックス31dを追加している。本実施例では、チェックボックス31dの部品IDを「ID_OVERLAP」と定めている。図13は、ボタンおよびチェックボックスの部品IDと設定された値の一例を示す図である。図13の例では、図3からボタン31cの設定が削除され、部品ID「ID_OVERLAP」に「4」が設定されている。
【0040】
検出部14gは、ソースコード13aが更新された場合、変更された操作部品を検出する。例えば、検出部14gは、一旦、生成部14bにより管理テーブル13bが生成されて記憶部13に記憶された後に、ソースコード13aが更新された場合、記憶部13に既に記憶された管理テーブル13bを別名に変更する。そして、検出部14gは、再度、管理テーブル13bが生成された場合、別名に変更した管理テーブル13bの部品IDと、生成部14bにより生成された管理テーブル13bの部品IDを比較する。すなわち、検出部14gは、更新前のソースコード13aから生成された管理テーブル13bと更新後のソースコード13aから生成された管理テーブル13bの部品IDを比較する。検出部14gは、比較結果に基づいて、追加、削除された操作部品を検出する。
【0041】
例えば、開発者は、図3に示す画面プログラムに対して図12に示すように修正を行ったものとする。図14は、図12に示す画面プログラムの操作部品の管理テーブルの一例を示す図である。図14の例では、図6に示した管理テーブル13bから「ID_CANCEL」のレコードが削除され、「ID_OVERLAP」のレコードが追加されている。この場合、検出部14gは、図6に示す管理テーブル13bの部品IDと、図14に示す管理テーブル13bの部品IDとを比較することにより、「ID_CANCEL」の操作部品が削除され、「ID_OVERLAP」の操作部品が追加されたことを検出する。
【0042】
検出部14gは、検出された操作部品を出力部12から報知する。例えば、検出部14gは、追加、削除された操作部品を示すメッセージを出力部12に表示させて開発者に報知する。図15は、追加、削除された操作部品に関する報知の一例を示す図である。図15の例では、「ID_OVERLAP」の操作部品が追加されたことにより、「ID_OVERLAPが追加されています。ヘルプメッセージを追加してください。」とのメッセージが報知される。また、図15の例では、「ID_CANCEL」の操作部品が削除されたことにより、「ID_CANCELが削除されました。」とのメッセージが報知される。
【0043】
また、検出部14gは、別名に変更した管理テーブル13bがある場合、対応する部品ID毎に、別名に変更した管理テーブル13bの日本語ヘルプ、英語ヘルプに記憶された内容を新しく生成された管理テーブル13bに反映する。
【0044】
次に、本実施例に係るヘルプ作成支援装置10によるヘルプの作成を支援する処理の流れを説明する。図16は、管理情報を生成する生成処理の手順を示すフローチャートである。この生成処理は、例えば、ヘルプ作成支援装置10に対して管理情報の生成を指示する所定操作が行われたタイミングで実行される。なお、生成処理は、ソースコード管理ソフトにソースコード13aが格納されたタイミングや、ソースコード管理ソフトによりソースコード13aの変更が検出されたタイミングでソースコード管理ソフトから実行されてもよい。
【0045】
図16に示すように、特定部14aは、記憶部13から画面のソースコード13aを読み出す(ステップS10)。特定部14aは、読み出した画面のソースコード13aから当該画面に含まれる操作部品を特定する(ステップS11)。検出部14gは、記憶部13に既に管理テーブル13bが記憶されているか否かを判定する(ステップS12)。記憶部13に管理テーブル13bが記憶されていない場合(ステップS12否定)、生成部14bは、特定部14aにより特定された操作部品を管理する管理テーブル13bを生成し(ステップS13)、処理を終了する。
【0046】
一方、記憶部13に管理テーブル13bが記憶されている場合(ステップS12肯定)、検出部14gは、記憶部13に既に記憶された管理テーブル13bを別名に変更する(ステップS14)。そして、生成部14bは、特定部14aにより特定された操作部品を管理する管理テーブル13bを生成する(ステップS15)。検出部14gは、別名に変更した管理テーブル13bの部品IDと、生成部14bにより生成された管理テーブル13bの部品IDを比較し、追加、削除された操作部品を検出する(ステップS16)。検出部14gは、検出の結果、追加、削除された操作部品があるか否か判定する(ステップS17)。追加、削除された操作部品がある場合(ステップS17肯定)、検出部14gは、追加、削除された操作部品を出力部12から報知する(ステップS18)。そして、検出部14gは、対応する部品ID毎に、別名に変更した管理テーブル13bの日本語ヘルプ、英語ヘルプに記憶された内容を新しく生成された管理テーブル13bに反映し(ステップS19)、処理を終了する。一方、追加、削除された操作部品がない場合(ステップS17否定)、ステップS19へ移行する。
【0047】
次に、本実施例に係るヘルプ作成支援装置10によるヘルプテキストファイル13cおよびテンプレートファイル13dを作成する処理の流れを説明する。図17は、ヘルプテキストファイルおよびテンプレートファイルを作成する作成処理の手順を示すフローチャートである。この作成処理は、例えば、ヘルプ作成支援装置10に対してヘルプテキストファイル13cおよびテンプレートファイル13dの作成を指示する所定操作が行われたタイミングで実行される。
【0048】
図17に示すように、ファイル作成部14cは、記憶部13から管理テーブル13bを読み出す(ステップS20)。ファイル作成部14cは、管理テーブル13bに基づいて、操作部品のヘルプID毎のヘルプが列挙されたヘルプテキストファイル13cを作成する(ステップS21)。ファイル作成部14cは、管理テーブル13bに基づいて、テンプレートファイル13dを作成し(ステップS22)、処理を終了する。
【0049】
このように、ヘルプ作成支援装置10は、画面のソースコード13aから当該画面に含まれる操作部品を特定する。また、ヘルプ作成支援装置10は、特定された操作部品を示す部品IDを含む管理テーブル13bを生成する。また、ヘルプ作成支援装置10は、生成された管理テーブル13bを記憶部13に記憶する。また、ヘルプ作成支援装置10は、入力部11から記憶部13に記憶された管理テーブル13bに追加する前記操作部品に係るヘルプを識別情報毎に入力する。そして、ヘルプ作成支援装置10は、入力部11によりヘルプが追加された管理テーブル13bに基づいて、操作部品毎のヘルプが列挙されたヘルプテキストファイル13cを作成する。よって、ヘルプ作成支援装置10によれば、操作部品毎のヘルプが列挙されたヘルプテキストファイル13cを用いてヘルプの作成を行うことにより、操作部品とヘルプの対応の不一致の発生を抑制できる。
【0050】
また、ヘルプ作成支援装置10は、ソースコード13aが更新された場合、更新前のソースコード13aから生成された管理テーブル13bと更新後のソースコード13aから生成された管理テーブル13bの部品IDを比較する。ヘルプ作成支援装置10は、比較結果に基づいて、追加および削除された操作部品を検出する。ヘルプ作成支援装置10は、検出された操作部品を報知する。よって、ヘルプ作成支援装置10によれば、ソースコード13aに操作部品が追加および削除された場合でも、開発者による追加および削除された操作部品のヘルプの更新忘れを抑制できる。
【0051】
また、ヘルプ作成支援装置10は、画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコード13aのテンプレートファイル13dを作成する。よって、ヘルプ作成支援装置10によれば、ヘルプを呼び出す部分の処理を記載する手間を軽減できる。また、ヘルプ作成支援装置10によれば、テンプレートファイル13dを用いてソースコード13aに対してヘルプの読み出しを行う処理の記述を行うことにより、操作部品のヘルプの呼び出し処理の抜けや、操作部品とヘルプの対応の不一致の発生を抑制できる。
【実施例2】
【0052】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0053】
例えば、上記の実施例では、検出部14gは、更新前の管理テーブル13bと更新後の管理テーブル13bの部品IDを比較して、追加、削除された操作部品を検出する場合について説明したが、開示の装置はこれに限定されない。例えば、更新前と更新後のソースコード13aを比較し、追加、削除された操作部品や、処理が変更された操作部品を検出し、検出結果を報知してもよい。これにより、追加、削除された操作部品や、処理が変更された操作部品が開発者に報知されるため、開発者によるヘルプの更新忘れを抑制できる。
【0054】
また、上記の実施例では、画面に含まれる操作部品の部品IDをテーブル形成で管理テーブル13bにより管理する場合について説明したが、開示の装置はこれに限定されない。操作部品毎の部品IDを管理できれば、何れの形式でもよい。
【0055】
また、上記の実施例では、プログラミング言語をVisual C++とした場合について説明したが、開示の装置はこれに限定されない。例えば、Visual C#、Visual Basicなど他のプログラミング言語であってもよい。
【0056】
また、上記の実施例では、開発者がソフトウェアの開発を行うコンピュータによりヘルプ作成支援装置を実現した場合について説明したが、開示の装置はこれに限定されない。例えば、各開発者が開発したソースコード13aを管理する管理サーバによりヘルプ作成支援装置を実現してもよい。
【0057】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す特定部14a、生成部14b、ファイル作成部14c、テンプレート作成部14d、プログラム作成部14e、ヘルプ作成部14f、検出部14gの各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0058】
[ヘルプ作成支援プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図18は、ヘルプ作成支援プログラムを実行するコンピュータを示す図である。
【0059】
図18に示すように、コンピュータ300は、CPU(Central Processing Unit)310、HDD(Hard Disk Drive)320、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
【0060】
HDD320には上記の実施例1に示す特定部14a、生成部14b、ファイル作成部14c、テンプレート作成部14d、検出部14gと同様の機能を発揮するヘルプ作成支援プログラム320aが予め記憶される。なお、ヘルプ作成支援プログラム320aについては、適宜分離しても良い。
【0061】
また、HDD320は、各種情報を記憶する。例えば、HDD320は、図1に示したソースコード13aに対応するソースコード320bを記憶する。
【0062】
そして、CPU310が、ヘルプ作成支援プログラム320aをHDD320から読み出してRAM340に展開し、HDD320に記憶されたソースコード320bを用いて各処理を実行することで、実施例1に示した制御部14と同様の動作を実行する。すなわち、ヘルプ作成支援プログラム320aは、実施例1に示した特定部14a、生成部14b、ファイル作成部14c、テンプレート作成部14d、検出部14gと同様の動作を実行する。
【0063】
なお、上記したヘルプ作成支援プログラム320aについては、必ずしも最初からHDD320に記憶させることを要しない。
【0064】
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【0065】
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【0066】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【0067】
(付記1)画面のソースコードから当該画面に含まれる操作部品を特定する特定部と、
前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部と、
前記生成部により生成された管理情報を記憶する記憶部と、
前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部と、
前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部と、
を有することを特徴とするヘルプ作成支援装置。
【0068】
(付記2)前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出する検出部と、
前記検出部により検出された操作部品を報知する報知部と、
をさらに有することを特徴とする付記1記載のヘルプ作成支援装置。
【0069】
(付記3)前記検出部は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記2記載のヘルプ作成支援装置。
【0070】
(付記4)画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成するテンプレート作成部
をさらに有することを特徴とする付記1〜3の何れか1つに記載のヘルプ作成支援装置。
【0071】
(付記5)コンピュータに、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行させることを特徴とするヘルプ作成支援プログラム。
【0072】
(付記6)前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出し、
検出された操作部品を報知する
各処理をさらに実行させることを特徴とする付記5記載のヘルプ作成支援プログラム。
【0073】
(付記7)操作部品を検出する処理は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記6記載のヘルプ作成支援プログラム。
【0074】
(付記8)画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成する
処理をさらに実行させることを特徴とする付記5〜7の何れか1つに記載のヘルプ作成支援プログラム。
【0075】
(付記9)コンピュータが、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行することを特徴とするヘルプ作成支援方法。
【0076】
(付記10)前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出し、
検出された操作部品を報知する
各処理をさらに実行することを特徴とする付記9記載のヘルプ作成支援方法。
【0077】
(付記11)操作部品を検出する処理は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする付記10記載のヘルプ作成支援方法。
【0078】
(付記12)画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成する
処理をさらに実行することを特徴とする付記9〜11の何れか1つに記載のヘルプ作成支援方法。
【符号の説明】
【0079】
10 ヘルプ作成支援装置
11 入力部
12 出力部
13a ソースコード
13b 管理テーブル
13c ヘルプテキストファイル
13d テンプレートファイル
13 記憶部
14 制御部
14a 特定部
14b 生成部
14c ファイル作成部
14d テンプレート作成部
14g 検出部
30 画面
31d チェックボックス
31a、31b、31c ボタン
50 画面
51a、51b、51c ボタン

【特許請求の範囲】
【請求項1】
画面のソースコードから当該画面に含まれる操作部品を特定する特定部と、
前記特定部により特定された操作部品を示す識別情報を含む管理情報を生成する生成部と、
前記生成部により生成された管理情報を記憶する記憶部と、
前記記憶部に記憶された前記管理情報に追加する前記操作部品に係るヘルプを前記識別情報毎に入力する入力部と、
前記入力部によりヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成するファイル作成部と、
を有することを特徴とするヘルプ作成支援装置。
【請求項2】
前記ソースコードが更新された場合、更新前のソースコードから生成された管理情報と更新後のソースコードから生成された管理情報の識別情報を比較して追加および削除された操作部品を検出する検出部と、
前記検出部により検出された操作部品を報知する報知部と、
をさらに有することを特徴とする請求項1記載のヘルプ作成支援装置。
【請求項3】
前記検出部は、更新前と更新後のソースコードを比較し、処理が変更された操作部品を検出する
ことを特徴とする請求項2記載のヘルプ作成支援装置。
【請求項4】
画面の操作部品に対応させて当該操作部品にヘルプを表示させる処理を記述したソースコードのテンプレートを作成するテンプレート作成部
をさらに有することを特徴とする請求項1〜3の何れか1項に記載のヘルプ作成支援装置。
【請求項5】
コンピュータに、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行させることを特徴とするヘルプ作成支援プログラム。
【請求項6】
コンピュータが、
画面のソースコードから当該画面に含まれる操作部品を特定し、
特定された操作部品を示す識別情報を含む管理情報を生成し、
生成された管理情報を記憶部に記憶させ、
入力部により、前記識別情報毎にヘルプが追加された管理情報に基づいて、前記操作部品毎のヘルプが列挙されたファイルを作成する
各処理を実行することを特徴とするヘルプ作成支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−97567(P2013−97567A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−239671(P2011−239671)
【出願日】平成23年10月31日(2011.10.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】