(57)【要約】【課題】ソフトウェアの改版に伴うマニュアルの修正に関する情報を提示できるマニュアル修正箇所提示装置、システム、方法およびプログラムを得ること。【解決手段】入力装置２１から入力した新旧のソフトウェアはソースコードを所定の単位で区切ってソフトウェア比較手段２２ａで比較しソフトウェア用区分けリスト作成手段２２ｃで区分けしたリストを作成する。旧マニュアルは、マニュアル側識別情報ごとにソフトウェア側と対応付けたリストを作成しマニュアル変更箇所判別手段２２ｅでマニュアルの修正箇所を判別し、その結果を出力装置２３から出力する。【選択図】図２
2011159112.tif 000002
【特許請求の範囲】
【請求項１】
ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記ソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記ソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較手段と、
ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記ソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込手段と、
前記ソフトウェア比較手段で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記ソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成手段と、
前記マニュアル読込手段で読み込んだ第１のマニュアルの前記マニュアル側識別情報ごとに前記第２のソフトウェアについて前記ソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成手段と、
このマニュアル側対応リスト作成手段で作成したリストにおける前記マニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記第１のソフトウェアから前記第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別手段
とを具備することを特徴とするマニュアル修正箇所提示装置。
【請求項２】
前記マニュアル変更箇所判別手段の判別内容を前記マニュアル読込手段で読み込んだ第１のマニュアルに反映させた表現形式で出力する出力手段を具備することを特徴とする請求項１記載のマニュアル修正箇所提示装置。
【請求項３】
前記ソフトウェア側識別情報は注記情報としてのタグ情報であり、マニュアル側識別情報はマニュアルを構成する文章の段落ごとに付される不可視情報としてのタグ情報であることを特徴とする請求項１記載のマニュアル修正箇所提示装置。
【請求項４】
前記第１のソフトウェアに対応して作成した第１のマニュアルと、前記第１のソフトウェアを改版した前記第２のソフトウェアに対応して作成した第２のマニュアルとを前記マニュアル側識別情報ごとに比較するマニュアル比較手段と、
このマニュアル比較手段による前記マニュアル側識別情報ごとの比較結果、改版に伴い文章に改変があった領域には「改変」を、該当する文章が削除された領域には「削除」を、新たな内容の文章が追加されたときには「新規」を、それぞれの前記領域ごとに対応させて区分けした区分けリストを作成するマニュアル用区分けリスト作成手段と、
このマニュアル用区分けリスト作成手段によって「改変」とされた箇所が、前記ソフトウェア用区分けリスト作成手段によって作成された前記区分けリストにおける「改変」とされた箇所のいずれかと一致するかを判別する改変箇所判別手段と、
この改変箇所判別手段によっていずれにも一致しないと判別したとき前記第２のマニュアルの「改変」とされた箇所の記載内容がソフトウェアのソースコードによって支持されていない可能性があるものとして警告を出力する警告出力手段
とを具備することを特徴とする請求項１記載のマニュアル修正箇所提示装置。
【請求項５】
前記第１のソフトウェアに対応して作成した第１のマニュアルと、前記第１のソフトウェアを改版した前記第２のソフトウェアに対応して作成した第２のマニュアルとを前記マニュアル側識別情報ごとに比較するマニュアル比較手段と、
このマニュアル比較手段による前記マニュアル側識別情報ごとの比較結果を履歴情報として格納する履歴情報格納手段と、
この履歴情報格納手段に格納された履歴情報を出力する履歴情報出力手段
とを具備することを特徴とする請求項１記載のマニュアル修正箇所提示装置。
【請求項６】
ソフトウェアのソースコードおよびそのソフトウェアのマニュアルのデータを入力する入力装置と、
前記ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記ソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記ソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較手段と、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記ソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込手段と、前記ソフトウェア比較手段で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記ソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成手段と、前記マニュアル読込手段で読み込んだ第１のマニュアルの前記マニュアル側識別情報ごとに前記第２のソフトウェアについて前記ソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成手段と、このマニュアル側対応リスト作成手段で作成したリストにおける前記マニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記第１のソフトウェアから前記第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別手段とを備えた情報処理装置と、
この情報処理装置の処理結果としてのマニュアル修正箇所に関するデータを出力する出力装置
とを具備することを特徴とするマニュアル修正箇所提示システム。
【請求項７】
ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記ソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記ソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較ステップと、
ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記ソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込ステップと、
前記ソフトウェア比較ステップで領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記ソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成ステップと、
前記マニュアル読込ステップで読み込んだ第１のマニュアルの前記マニュアル側識別情報ごとに前記第２のソフトウェアについて前記ソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成ステップと、
このマニュアル側対応リスト作成ステップで作成したリストにおける前記マニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記第１のソフトウェアから前記第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別ステップ
とを具備することを特徴とするマニュアル修正箇所提示方法。
【請求項８】
コンピュータに、
ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記ソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記ソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較処理と、
ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記ソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込処理と、
前記ソフトウェア比較処理で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記ソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成処理と、
前記マニュアル読込処理で読み込んだ第１のマニュアルの前記マニュアル側識別情報ごとに前記第２のソフトウェアについて前記ソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成処理と、
このマニュアル側対応リスト作成処理で作成したリストにおける前記マニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記第１のソフトウェアから前記第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別処理
とを実行させることを特徴とするマニュアル修正箇所提示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの変更に伴ってそのソフトウェアに係わる製品等のマニュアルの修正や管理を行う際に好適なマニュアル修正箇所提示装置、マニュアル修正箇所提示システム、マニュアル修正箇所提示方法およびマニュアル修正箇所提示プログラムに関する。
【背景技術】
【０００２】
多くの製品は、最初の発売後も、より付加価値の高い製品に変更したり、現在存在する不具合を解消するために改良が加えられるのが通常である。製品の改良には、ハードウェアの改良とソフトウェアの改良が存在する。各種の改良が迅速に要求される昨今では、特にソフトウェアの改良が頻繁に行われており、それらの改版間隔が短くなっている。ソフトウェアの改版と共にマニュアルの改版が行われることが多い。
【０００３】
ところで、マニュアルの改版の際に改訂箇所を簡易に把握できることが好ましい。そこで本発明の関連技術では、新リビジョンのマニュアル（以下、新マニュアルという。）と直近の旧リビジョンのマニュアル（以下、旧マニュアルという。）を比較して、異なる箇所を検出するようにしている。その結果、両マニュアルの間で異なる箇所が検出された場合には、その箇所を含む新マニュアルのセクションの属性部分に更新された旨を記録するようにしている。本発明の関連技術では、これらの相違箇所における新旧の翻訳文を表示して翻訳表示のバラツキをなくすようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２７７４６１号公報（第００８１段落、図１５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上説明した本発明の関連技術では、新旧のマニュアルの相違している箇所を検出してその部分の翻訳箇所を表示して対比させることで、新たに行った翻訳表示を従来の翻訳表示に統一させるということが可能になる。この関連技術は、新旧のマニュアル双方の第１国の言語による記載内容が正確に行われていることを前提として、第２国の言語に翻訳した際の翻訳者の違いや翻訳時期の違いによる翻訳表現の相違を解消しようとするものである。
【０００６】
ところでソフトウェアの改版が短時間に行われるような場合には、マニュアルの改版も短時間に行う必要がある。ソフトウェアの改版作業とマニュアルの改版作業は必ずしも同期して行われるものではない。予定していたソフトウェアの改良作業の一部が難航するような場合には、難航している改良作業を他の改良作業と分離して次回以降の改版に先延ばしする場合がある。これとは反対に新たな機能が今回の改版のために急遽実現する場合もある。このようなことから、製品のマニュアルにはソフトウェアの変更前の仕様に関する記載が残ってしまったり、新たに追加されたソフトウェアによる機能に関する説明が抜けてしまうおそれがある。
【０００７】
本発明の関連技術では、新旧のソフトウェアの相違箇所が示される。この関連技術では、原文と翻訳文の単純な対応関係を有しているので、マニュアルの新旧の対応関係と、翻訳文の新旧の対応関係は明瞭である。ところが、前記したように新旧のソフトウェアと新旧のマニュアルは、必ずしも明確に対応しない。したがって、本発明の関連技術を使用するだけではソフトウェアとマニュアルの細かな対応関係を採ることができず、ソフトウェアの改定に伴ってマニュアルの記載漏れやソフトウェアの内容と無関係な記載が追加されるおそれがあった。
【０００８】
そこで本発明の目的は、ソフトウェアの改版に伴うマニュアルの修正に関する情報を提示できるマニュアル修正箇所提示装置、マニュアル修正箇所提示システム、マニュアル修正箇所提示方法およびマニュアル修正箇所提示プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明では、（イ）ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較手段と、（ロ）ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込手段と、（ハ）前記したソフトウェア比較手段で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成手段と、（ニ）前記したマニュアル読込手段で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成手段と、（ホ）このマニュアル側対応リスト作成手段で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別手段とをマニュアル修正箇所提示装置が具備する。
【００１０】
また、本発明では、（イ）ソフトウェアのソースコードおよびそのソフトウェアのマニュアルのデータを入力する入力装置と、（ロ）前記したソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較手段と、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込手段と、前記したソフトウェア比較手段で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成手段と、前記したマニュアル読込手段で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成手段と、このマニュアル側対応リスト作成手段で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別手段とを備えた情報処理装置と、（ハ）この情報処理装置の処理結果としてのマニュアル修正箇所に関するデータを出力する出力装置とをマニュアル修正箇所提示システムが具備する。
【００１１】
更に本発明では、（イ）ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較ステップと、（ロ）ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込ステップと、（ハ）前記したソフトウェア比較ステップで領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成ステップと、（ニ）前記したマニュアル読込ステップで読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成ステップと、（ホ）このマニュアル側対応リスト作成ステップで作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別ステップとをマニュアル修正箇所提示方法が具備する。
【００１２】
更にまた本発明では、コンピュータにマニュアル修正箇所提示プログラムとして、（イ）ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較するソフトウェア比較処理と、（ロ）ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込むマニュアル読込処理と、（ハ）前記したソフトウェア比較処理で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成するソフトウェア用区分けリスト作成処理と、（ニ）前記したマニュアル読込処理で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成するマニュアル側対応リスト作成処理と、（ホ）このマニュアル側対応リスト作成処理で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別するマニュアル変更箇所判別処理とを実行させる。
【発明の効果】
【００１３】
以上説明したように本発明によれば、既存のソースコードにタグ等の識別情報を埋め込むだけで、マニュアルの変更に役立つ情報を提示することができるという効果がある。
【図面の簡単な説明】
【００１４】
【図１】本発明のマニュアル修正箇所提示装置のクレーム対応図である。
【図２】本発明のマニュアル修正箇所提示システムのクレーム対応図である。
【図３】本発明のマニュアル修正箇所提示方法のクレーム対応図である。
【図４】本発明のマニュアル修正箇所提示プログラムのクレーム対応図である。
【図５】本発明の第１の実施の形態によるマニュアル修正箇所提示装置の構成を表わしたブロック図である。
【図６】第１の実施の形態におけるソフトウェアのソースコードにタグが挿入された例を示した説明図である。
【図７】第１の実施の形態におけるマニュアルの文書中にタグおよび関数番号を埋め込んだ様子を表わした説明図である。
【図８】第１の実施の形態における関数関係記憶部の構成の一例を示した説明図である。
【図９】第１の実施の形態における旧ソフトウェアのソースコードの一部を示した説明図である。
【図１０】図９に対応した箇所の新ソフトウェアのソースコードを示した説明図である。
【図１１】第１の実施の形態における変更箇所記憶部の内容の一例を示した説明図である。
【図１２】区分けした結果を図８に示した変更箇所記憶部のリストに加えた説明図である。
【図１３】第１の実施の形態における区分け時の（１）、（２）または（４）に該当するものを各段落に対応する区分として書き出した説明図である。
【図１４】出力装置の出力内容の一例として図１３に対応するものを示した説明図である。
【図１５】本発明の第２の実施の形態によるマニュアル修正箇所提示システムの構成を表わしたブロック図である。
【図１６】第２の実施の形態においてタグ読取部によるマニュアルの読取処理の様子を表わした流れ図である。
【図１７】第２の実施の形態における新旧ソフトウェアによるタグの比較処理の様子を表わした流れ図である。
【図１８】第２の実施の形態における変更箇所提示部によるマニュアルデータの出力処理の前半の処理の様子を表わした流れ図である。
【図１９】図１８の変形例として変更箇所提示部によるマニュアルデータの出力処理の前半の処理の様子を表わした流れ図である。
【図２０】図１８あるいは図１９で注釈の埋め込みを行った関数関係記憶部を基にしてマニュアルデータの出力を行うマニュアルデータの出力処理の後半の処理の様子を表わした流れ図である。
【図２１】本発明の第３の実施の形態によるマニュアル修正箇所提示システムの構成を表わした流れ図である。
【図２２】第３の実施の形態における新旧マニュアルによるタグの比較処理の前半の様子を表わした流れ図である。
【図２３】第３の実施の形態における新旧マニュアルによるタグの比較処理の後半の様子を表わした流れ図である。
【図２４】第３の実施の形態におけるマニュアル比較結果記憶部の記憶内容の一例を示した説明図である。
【図２５】第３の実施の形態における変更箇所提示部による警告を伴う出力処理の後半を表わした流れ図である。
【図２６】第３の実施の形態の出力装置における出力内容の一例として図１３に対応するものを示した説明図である。
【図２７】本発明の第４の実施の形態によるマニュアル修正箇所提示システムの構成を表わしたブロック図である。
【図２８】第４の実施の形態のマニュアル修正箇所提示システムで履歴一覧表を出力する処理の流れを表わした流れ図である。
【図２９】第４の実施の形態における出力装置から出力される履歴一覧表の一部を示した説明図である。
【発明を実施するための形態】
【００１５】
図１は、本発明のマニュアル修正箇所提示装置のクレーム対応図を示したものである。本発明のマニュアル修正箇所提示装置１０は、ソフトウェア比較手段１１と、マニュアル読込手段１２と、ソフトウェア用区分けリスト作成手段１３と、マニュアル側対応リスト作成手段１４と、マニュアル変更箇所判別手段１５を備えている。ここで、ソフトウェア比較手段１１は、ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較する。マニュアル読込手段１２は、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込む。またこれと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込む。ソフトウェア用区分けリスト作成手段１３は、ソフトウェア比較手段１１で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成する。マニュアル側対応リスト作成手段１４は、マニュアル読込手段１２で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成する。マニュアル変更箇所判別手段１５は、マニュアル側対応リスト作成手段１４で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別する。
【００１６】
図２は、本発明のマニュアル修正箇所提示システムのクレーム対応図を示したものである。本発明のマニュアル修正箇所提示システム２０は、入力装置２１と、情報処理装置２２と、出力装置２３を備えている。ここで、入力装置２１は、ソフトウェアのソースコードおよびそのソフトウェアのマニュアルのデータを入力する。情報処理装置２２は、ソフトウェア比較手段２２ａと、マニュアル読込手段２２ｂと、ソフトウェア用区分けリスト作成手段２２ｃと、マニュアル側対応リスト作成手段２２ｄと、マニュアル変更箇所判別手段２２ｅを備えている。このうちソフトウェア比較手段２２ａは、ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較する。マニュアル読込手段２２ｂは、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込むと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込む。ソフトウェア用区分けリスト作成手段２２ｃは、ソフトウェア比較手段２２ａで領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成する。マニュアル側対応リスト作成手段２２ｄは、マニュアル読込手段２２ｂで読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成する。マニュアル変更箇所判別手段２２ｅは、マニュアル側対応リスト作成手段２２ｄで作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別する。出力装置２３は、情報処理装置２２の処理結果としてのマニュアル修正箇所に関するデータを出力する。
【００１７】
図３は、本発明のマニュアル修正箇所提示方法のクレーム対応図を示したものである。本発明のマニュアル修正箇所提示方法３０は、ソフトウェア比較ステップ３１と、マニュアル読込ステップ３２と、ソフトウェア用区分けリスト作成ステップ３３と、マニュアル側対応リスト作成ステップ３４と、マニュアル変更箇所判別ステップ３５を備えている。ここで、ソフトウェア比較ステップ３１では、ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較する。マニュアル読込ステップ３２では、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込む。また、これと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込む。ソフトウェア用区分けリスト作成ステップ３３では、ソフトウェア比較ステップ３１で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成する。マニュアル側対応リスト作成ステップ３４では、マニュアル読込ステップ３２で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成する。マニュアル変更箇所判別ステップ３５では、マニュアル側対応リスト作成ステップ３４で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別する。
【００１８】
図４は、本発明のマニュアル修正箇所提示プログラムのクレーム対応図を示したものである。本発明のマニュアル修正箇所提示プログラム４０は、コンピュータにソフトウェア比較処理４１と、マニュアル読込処理４２と、ソフトウェア用区分けリスト作成処理４３と、マニュアル側対応リスト作成処理４４と、マニュアル変更箇所判別処理４５を実行させるようにしている。ここで、ソフトウェア比較処理４１では、ソースコードを所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すソフトウェア側識別情報をそれぞれの区切った場所に埋め込んだ第１のソフトウェアと、前記したソフトウェア側識別情報を埋め込んだ第１のソフトウェアを改版した第２のソフトウェアをそれぞれ入力して前記したソフトウェア側識別情報ごとにそれぞれの領域を比較する。マニュアル読込処理４２では、ソフトウェアの記述内容を記した文章を所定の単位で区切って、これら区切られたそれぞれの領域を一意で示すマニュアル側識別情報をそれぞれの区切った場所に埋め込む。またこれと共に、それぞれの領域の記載が前記したソフトウェアのどのソフトウェア側識別情報のソースコードと対応するかをこれらのソフトウェア側識別情報のうちの該当するものを対応するマニュアル側識別情報の箇所に埋め込んだ前記した第１のソフトウェアに対応する第１のマニュアルを読み込む。ソフトウェア用区分けリスト作成処理４３では、ソフトウェア比較処理で領域ごとに比較した結果、改版に伴いソースコードに改変があった領域には「改変」を、該当するソースコードが削除された領域には「削除」を、新たな内容のソースコードが追加されたときには「追加」を、それぞれの前記したソフトウェア側識別情報ごとに対応させて区分けした区分けリストを作成する。マニュアル側対応リスト作成処理４４では、マニュアル読込処理で読み込んだ第１のマニュアルの前記したマニュアル側識別情報ごとに前記した第２のソフトウェアについて前記したソフトウェア側識別情報を対応付けたリストを作成する。マニュアル変更箇所判別処理４５では、マニュアル側対応リスト作成処理４４で作成したリストにおける前記したマニュアル側識別情報ごとに対応する箇所のソースコードがすべて削除されたか、少なくとも一部が改変されたか、あるいは前記した第１のソフトウェアに存在しない新たな内容のソースコードが追加されたかを前記した第１のソフトウェアから前記した第２のソフトウェアへの改版に伴って第１のマニュアルについて判別する。
【００１９】
＜発明の第１の実施の形態＞
【００２０】
次に本発明の第１の実施の形態を説明する。
【００２１】
図５は、本発明の第１の実施の形態によるマニュアル修正箇所提示装置の構成を表わしたものである。このマニュアル修正箇所提示装置１００は、ソフトウェアのソースコードやマニュアルの文章の入力を行う入力装置１０１を備えている。またマニュアル修正箇所提示装置１００は、入力装置１０１から入力されたデータの処理を行うデータ処理部１０２と、このデータ処理部１０２に接続された記憶装置１０３と、データ処理部１０２の処理結果を出力する出力装置１０４を備えている。出力装置１０４は、たとえばディスプレイ装置やプリンタで構成することができる。
【００２２】
データ処理部１０２は、入力装置１０１から与えられたマニュアルデータに付されているタグを読み取るタグ読取部１１１と、新旧のソフトウェアを比較するソフトウェア比較部１１２と、ソフトウェアの変更箇所を出力装置１０４に出力する変更箇所提示部１１３を備えている。ここでソフトウェア比較部１１２は、入力装置１０１から与えられた新旧２種類のソフトウェアのコメント記載箇所に埋め込まれているタグを読み込む。そして、モジュールあるいは関数単位でこれら新旧のソフトウェアの比較を行う。ここでモジュールとは、プログラム全体を構成する機能ごとのひとまとまりをいう。関数とは引数と呼ばれるデータを受け取って、定められた処理を実行して結果を返す一連の命令群をいう。本実施の形態で関数とは、ソフトウェアのソースコードを個々に区切る１つの単位である。
【００２３】
新旧のソフトウェアの比較結果は、記憶装置１０３の変更箇所記憶部１２２にリストとして格納する。変更箇所提示部１１３は、ソフトウェア比較部１１２の比較によって新旧のソフトウェアについて差分が生じたと判別するそれぞれの部分に対して、マニュアルに付されたタグとの関連で、記載の修正を行うことが適切だと思われるタグの付いている段落番号の検索を行う。差分が生じたとは、「関数」について内容の改変、削除、追加のいずれかが行われた場合をいう。
【００２４】
記憶装置１０３は、関数関係記憶部１２１と変更箇所記憶部１２２を備えている。関数関係記憶部１２１は、タグ読取部１１１が読み取ったマニュアルにおけるタグの付いている段落を読み取り、新旧両ソフトウェアの関数との関連をリストとして格納する記憶領域である。
【００２５】
次に、このような構成のマニュアル修正箇所提示装置１００の動作を説明する。
【００２６】
入力装置１０１には旧ソフトウェアのソースコードと新ソフトウェアのソースコードおよびマニュアル文章の３点が与えられる。ソフトウェアのソースコードおよびマニュアルには、入力装置１０１での入力に先立ってタグが付される。ソースコードには複数の関数が含まれており、そこには必ずタグが付く。
【００２７】
本実施の形態のマニュアル修正箇所提示装置の前提として、新ソフトウェアは旧ソフトウェアに対して改変を加えたものであるとする。また、新ソフトウェアは旧ソフトウェアの関数自体を削除しない限り、その関数についているタグを削除しないものとする。また、新ソフトウェアで新たに加えた関数（モジュール自体の追加を含む）にはタグを必ず付けるものとし、新たに加えた関数は既存の関数すべてよりも後ろに書かれるものであるとする。
【００２８】
図６は、ソフトウェアのソースコードにタグが挿入された例を示したものである。この例ではソースコード１３１と次のソースコード１３２の間にコメント１３３を配置する。Ｃ言語、Ｃ＋＋（シープラスプラス）、Ｊａｖａ（登録商標）（ジャバ）、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ（ジャバスクリプト）、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ（カスケーディング・スタイル・シート）では、「／＊」と「＊／」で括った箇所がコメント１３３となる。
【００２９】
ソースコード１３１とコメント１３３の間に空の行は配置しない。この一方で、コメント１３３と次のソースコード１３２の間には、１行以上の空の行１３４を配置する。コメント１３３の中には、この例では「ＴａｇＦ＜Ａ−１＞」という文字が記されている。ここで括弧記号の「＜」および「＞」で括った領域１３５が関数の番号としての関数番号を示している。図６に示した例では＜Ａ−１＞が関数番号となる。
【００３０】
図７は、マニュアルの文書中にタグおよび関数番号を埋め込んだ様子を表わしたものである。マニュアルの文章１５１に埋め込むタグはマニュアルを構成する文章とは異なる。このため、マニュアルの文章１５１を通常の状態で印刷したり表示するとき、タグ自体は不可視のものであり、表示されない。
【００３１】
マニュアルの文章１５１の各段落は、不可視の空行１５２で区切る。また、各段落における＜Ｎａｍｅ＞１５３に続く括弧記号の「＜」および「＞」で括った内部１５４には、段落の番号を記載する。図７に示した例では「１−１」や「２−１」が段落の番号となる。また、＜Ｔａｇ＞１５５に続く「＜」および「＞」で括ったそれぞれの領域１５７には、対応するソフトウェアの関数番号が記載される。図７に示した例では＜Ａ−１＞や＜Ａ−３＞あるいは＜Ｂ−１＞や＜Ｃ−２＞はそれぞれ関数番号である。
【００３２】
図５に示した入力装置１０１は、マニュアルの入力を行う際に、図７に示すマニュアルの文章１５１を章ごとに１字ずつ読み取っていく。そして＜Ｔａｇ＞１５５と記された箇所を順に抽出し、＜Ｎａｍｅ＞１５３というパターンに当てはまった場合は、その１行下に＜Ｔａｇ＞１５５と記されたパターンが存在するかを判別する。＜Ｔａｇ＞１５５と記されたパターンが存在した場合、図５に示したタグ読取部１１１はこれに続く「＜」および「＞」で括った領域１５７を読み取る。これを後に具体的に示す関数関係記憶部１２１における「関係する関数番号」として追加していく。以上の処理を改行まで繰り返す。
【００３３】
図８は、リストとしての関数関係記憶部の構成の一例を示したものである。関数関係記憶部１２１には、「関係する関数番号」という項目が設定されている。図７で示した「関係する関数番号」の内容を、それぞれの「段落」に対応して格納する。それぞれの段落には、「関係する関数番号」として関係する複数の関数番号が記載されることが多い。
【００３４】
一方、図５に示したソフトウェア比較部１１２は、入力装置１０１から与えられた新旧両ソフトウェアのソースコードに埋め込まれたタグを比較する。このとき、空行とタグの下の空行の間を１つの関数とみなす。
【００３５】
図９は、旧ソフトウェアのソースコードの一部を示したものである。また、図１０は図９に対応した箇所の新ソフトウェアのソースコードを示したものである。図５と共に説明する。
【００３６】
図９では、１行以上の空の行１６１と、タグ（Ｔａｇ）の配置された行１６２の次に配置された１行以上の空の行１６３の間の領域１６４を関数と見なす。図１０でも１行以上の空の行１７１と、タグ（Ｔａｇ）の配置された行１７２の次に配置された１行以上の空の行１７３の間の領域１７４を関数と見なす。
【００３７】
ソフトウェア比較部１１２は、まず、図９におけるタグの配置された行１６２と、図１０におけるタグの配置された行１７２までをそれぞれ比較しないで読みとばす。次に、タグの配置されたそれぞれの行１６２、１７２が同じ関数番号のタグであるかを１字ずつ確認する。この結果、同じ関数番号のタグでないことが判別したら、図９に示した旧ソフトウェアのソースコードを、新ソフトウェアと同じ関数番号のタグが出てくるまで読み進めていく。このようにして、新ソフトウェアに存在しなかった関数番号は、改変箇所リストである変更箇所記憶部１２２に区分を「削除」として書き込む。
【００３８】
新旧ソフトウェアのタグの配置された行１６２、１７２でタグによって示された関数番号が一致したとする。この場合には、空行１６１、１７１およびタグの下の空行１６３、１７３の間の関数の領域１６４、１７４を改めて１字ずつ逐次比較する。これら新旧の領域１６４、１７４を比較した結果、１文字でも両者の間に差分（相違）があったとする。この場合、該当する箇所の関数番号の区分を「改変」として書き込む。比較の結果、新旧の領域１６４、１７４で差分が全くなかった場合、その関数番号は変更箇所記憶部１２２に書き出さない。
【００３９】
変更箇所提示部１１３は、修正を行うことが適切であると思われる箇所を提示するためリストとしての変更箇所記憶部１２２を作成する。
【００４０】
図１１は、この変更箇所記憶部の内容の一例を示したものである。変更箇所記憶部１２２では、旧ソフトウェアから新ソフトウェアに変更した際に１文字でも差分があった箇所としての関数番号＜Ａ−１＞を「改変」と区分している。また、旧ソフトウェアから新ソフトウェアに変更した際に削除された箇所としての関数番号＜Ａ−４＞および＜Ａ−７＞については、「削除」と区分している。更に、旧ソフトウェアから新ソフトウェアに変更した際に新たに追加された箇所としての関数番号＜Ａ−１０＞については、「追加」と区分している。以下同様である。
【００４１】
このようにしてソフトウェアの修正された箇所の関数番号とその修正の種類を示す変更箇所記憶部１２２を作成する。次に、この変更箇所記憶部１２２に存在するそれぞれの関数番号が関数関係記憶部１２１（図８）に示した段落の番号に対応して存在するかを確認する。これは、マニュアルとソフトウェアの照合作業である。
【００４２】
まず、図１１の変更箇所記憶部１２２に最初に示す関数番号＜Ａ−１＞が、図８に示す関数関係記憶部１２１において段落の番号「１−１」に対応する関数番号として存在するかを調べる。次に関数番号＜Ａ−１＞が段落の番号「１−２」に対応する関数番号として存在するかを調べる。以下、同様に最後の段落の番号「ｎｕｌｌ」まで関数番号＜Ａ−１＞が存在するかを調べる。
【００４３】
関数番号＜Ａ−１＞については、図８に示したように段落の番号「１−１」に関数番号として存在している。このように対応する関数番号が存在する場合には、その箇所にダブルクォーテーション「“”」を付けて「改変」を表示する。
【００４４】
関数番号＜Ａ−１＞について以上の処理が終了したら、変更箇所記憶部１２２における次の関数番号＜Ａ−４＞についても同様の検索処理を行う。ただし、関数番号＜Ａ−４＞に関しては、区分が「削除」である。そこで、対応する関数番号が関数関係記憶部１２１に存在した場合には、その関数番号の前にバツ「×」を付けて「削除」を表示する。関数番号＜Ａ−７＞の処理も関数番号＜Ａ−４＞の処理と同様である。
【００４５】
変更箇所記憶部１２２における次の関数番号＜Ａ−１０＞についても関数関係記憶部１２１について同様の検索処理を行う。ただし、関数番号＜Ａ−１０＞は新ソフトウェアで新たに追加している。したがって、関数関係記憶部１２１には該当するタグが存在しない。そこで、この場合には段落を「ｎｅｗ」として、関係する関数番号に＜A−１０＞を追加する。
【００４６】
以上のようにして、図８に示す関数関係記憶部１２１の関数番号に注釈が加えられたら、段落の１行ごとに確認を行う。この結果として、次の（１）〜（４）の区分けが行われる。
【００４７】
（１）同一の段落に対応付けられたすべての関数番号にバツ「×」が付いている場合。
この場合には、その段落を「削除」とする。図８では、段落の番号「１−１」に関係する関数番号が＜Ａ−１＞と＜Ａ−３＞になっている。これら関数番号＜Ａ−１＞と関数番号＜Ａ−３＞に共にバツ「×」が付いているとすると、段落の番号「１−１」は「削除」となる。
【００４８】
（２）該当する段落の関数番号のすべてにバツ「×」が付いていないものの、一部にバツ「×」が付いていたりダブルクォーテーション「“”」で囲まれている関数番号が存在する場合。
この場合には、その段落を「改変」とする。たとえば関数番号＜Ａ−１＞と関数番号＜Ａ−３＞が関係する段落で、関数番号＜Ａ−１＞のみにバツ「×」が付いている場合、その段落は「改変」となる。
【００４９】
（３）該当する段落の関数番号のいずれにもバツ「×」が付いておらず、またこれらの関数番号のいずれもがダブルクォーテーション「“”」で囲まれていない場合。
この場合には、その段落を「なし」とする。
【００５０】
（４）「ｎｅｗ」となっている段落に関数番号が存在する場合。
この場合には、その段落を「新規」とする。
【００５１】
図１２は、以上の区分けした結果を図８に示した変更箇所記憶部のリストに加えたものである。
【００５２】
図１３は、区分け時の（１）、（２）または（４）に該当するものを各段落に対応する区分として書き出したものである。（３）として区分けされた段落については、新旧ソフトウェアで何らの変更もない。そこで、図１３に示す段落とこれに対応する区分としては書き出さない。段落番号が「ｎｕｌｌ」に該当する箇所についても、書き出さない。
【００５３】
図５に示した出力装置１０４は、図１３で書き出した段落番号をタグとして含む段落を、強調表示のために赤字で表示する。
【００５４】
図１４は、出力装置の出力内容の一例として図１３に対応するものを示している。図１３では段落「１−１」に変更が行われている。このため、出力装置の出力内容１８１としてのマニュアルの段落「１−１」の箇所は、他の箇所の色（黒色）とは異なる赤色で強調表示されている。ただし、図１４では赤色に着色された箇所を斜字で表示している。また、改変箇所には改変が行われたことを示す「（改変）」という語句が表示されている。
【００５５】
ユーザは、「（改変）」という文字と共に赤色に強調表示された箇所を見て、ソフトウェアに変更が加えられた箇所に対応するマニュアルの段落であることを知る。したがって、ソフトウェアの改変に対応するマニュアルの修正箇所を簡単にチェックすることができる。
【００５６】
また、の出力内容１８１におけるマニュアルの最後の部分には、「追加あり」と赤色（斜字）で強調表示されている。これは、図１３における「新規」に対応する。ユーザは新ソフトウェアに代わったことによるマニュアルの追加箇所を簡単にチェックすることができる。
【００５７】
以上説明したように本発明の第１の実施の形態によれば、既存のソースコードにタグを埋め込むだけで、マニュアルにおける変更を行うことが適切な箇所を表示し、確認することができる。また、マニュアル修正箇所提示装置１００はハードウェアだけで実現可能である。したがって、ＣＰＵ（Central Processing Unit）がアプリケーションソフトウェアを実行することで機能する情報処理装置以外の装置でもマニュアル修正箇所提示装置１００として実現することができる。
【００５８】
＜発明の第２の実施の形態＞
【００５９】
次に本発明の第２の実施の形態を説明する。
【００６０】
図１５は、本発明の第２の実施の形態によるマニュアル修正箇所提示システムの構成を表わしたものである。本実施の形態のマニュアル修正箇所提示システム２００は、パーソナルコンピュータ等の情報処理装置２０１と、この情報処理装置２０１に接続した入力装置１０１および出力装置１０３によって構成されている。
【００６１】
情報処理装置２０１は、ＣＰＵ２１１とこのＣＰＵ２１１が実行するプログラムを格納したメモリ２１２を備えた主制御部２１３を有している。主制御部２１３は情報処理装置２０１を構成するデータ処理部１０２Ａおよび記憶装置１０３の制御を行う。ＣＰＵ２１１は、メモリ２１２に格納されたプログラムを実行することでデータ処理部１０２Ａを構成するタグ読取部１１１Ａと、ソフトウェア比較部１１２Ａおよび変更箇所提示部１１３Ａを機能的に実現する。ここでタグ読取部１１１Ａは第１の実施の形態のタグ読取部１１１をソフトウェア的に実現している。また、ソフトウェア比較部１１２Ａは第１の実施の形態のソフトウェア比較部１１２をソフトウェア的に実現している。更に、変更箇所提示部１１３Ａは第１の実施の形態の変更箇所提示部１１３Ａをソフトウェア的に実現している。ハードウェアとしての記憶装置１０３は第１の実施の形態と同様であり、関数関係記憶部１２１と変更箇所記憶部１２２を備えている。
【００６２】
このように第２の実施の形態のマニュアル修正箇所提示システム２００は、第１の実施の形態におけるデータ処理部１０２をソフトウェアとしての機能部で実現すると共に、主制御部２１３が入力装置１０１と出力装置１０４を併せてシステム化している。このため、マニュアル修正箇所提示システム２００は、メモリ２１２に格納されたコンピュータプログラムをＣＰＵ２１１が実行することにより実現する。すなわち、タグ読取部１１１Ａは第１の実施の形態と同様にタグを読み取り、段落との関係を読み取っていく。ソフトウェア比較部１１２Ａは、第１の実施の形態と同様に新旧２つのソフトウェアを比較する。その上で、変更箇所提示部１１３Ａは、変更箇所を提示する。
【００６３】
図１６は、タグ読取部によるマニュアルの読取処理の様子を表わしたものである。図１５と共に説明する。
【００６４】
タグ読取部１１１Ａは、入力装置１０１から入力されるマニュアルの情報を１行読み取る（ステップＳ３０１）。この読み取った情報がマニュアルの最終行の直後に配置された制御情報であるかを判別することによって、マニュアルの最後まで読み取りを行ったかを判別する（ステップＳ３０２）。最終行まで読み取っていない場合には（Ｎ）、現在読み取った行はマニュアルの情報である。そこで、この読み取ったマニュアルの行が印刷したり表示する対象とならない不可視部分であるかを判別する（ステップＳ３０３）。「段落」や「関係する関数番号」は、不可視部分に記載されており、この部分を抽出する必要があるからである。読み取った行が不可視部分でない場合には（Ｎ）、ステップＳ３０１に戻ってマニュアルの情報の次の１行の読み取りが行われる。
【００６５】
このようにして１行ずつマニュアル情報の読み取りを行っていくと、図７に示したマニュアルの文章１５１にあるように所定の時点で不可視部分から構成される行の検出が行われる（ステップＳ３０３：Ｙ）。この場合には、不可視部分を構成するタグの内容から「段落」および「関係する関数番号」を抽出して関数関係記憶部１２１に格納する（ステップＳ３０４）。「段落」および「関係する関数番号」を抽出するのは１行の処理では行われないが、ここでは簡略に処理を表示している。
【００６６】
以上のようにしてタグ読取部１１１Ａは、入力装置１０１から入力されるマニュアルの全情報を読み取って処理することで（ステップＳ３０２：Ｙ）、そのマニュアルに含まれる「段落」および「関係する関数番号」のすべてを抽出して、処理を終了する（エンド）。
【００６７】
図１７は、新旧ソフトウェアによるタグの比較処理の様子を表わしたものである。図１５と共に説明する。
【００６８】
まず主制御部２１３は、入力装置１０１から新旧両ソフトウェアのソースコードを入力して、メモリ２１２の図示しない作業用メモリ領域に格納する（ステップＳ３２１）。この状態でソフトウェア比較部１１２Ａは旧ソフトウェアのソースコードを先頭から１行等の単位量読み取る（ステップＳ３２２）。そして、この読み取ったソースコードに図６で説明したタグが存在するかをチェックする（ステップＳ３２３）。
【００６９】
タグが存在しない場合には（ステップＳ３２３：Ｎ）、旧ソフトウェアのソースコードを最後まで読み取りその処理を行ったかチェックして（ステップＳ３２４）、そうでない場合には（Ｎ）、ステップＳ３２２の処理に戻る。すなわち、旧ソフトウェアのソースコードを次の単位量読み取って、タグが存在するかを判別する（ステップＳ３２３）。
【００７０】
このようにして旧ソフトウェアのソースコードの最初のタグが見つかったとする（ステップＳ３２３：Ｙ）。すると、ソフトウェア比較部１１２Ａは同じタグを持つ関数を新ソフトウェアの先頭から順に探していく（ステップＳ３２５）。その関数が新ソフトウェアの最後に到達するまでに見つかれば（ステップＳ３２６：Ｙ）、タグの内容を比較する（ステップＳ３２７）。その結果が一致すれば（ステップＳ３２８：Ｙ）、新ソフトウェアに移行するに際してその関数に何らの変更もなかったことになる。
【００７１】
そこで、この場合には旧ソフトウェアのソースコードの次のタグを探すことになる。すなわち、旧ソフトウェアのソースコードを最後まで読み取りその処理を行ったかチェックして（ステップＳ３２４）、最後まで読み取っていないのであればステップＳ３２２に処理を戻す。そして、旧ソフトウェアのソースコードで次のタグを探すことになる。
【００７２】
一方、ステップＳ３２６で旧ソフトウェアのソースコードの最初のタグに対する同一のタグが新ソフトウェアの最後まで見つからなかったとする（Ｎ）。この場合には、旧ソフトウェアのソースコードのその最初のタグは新ソフトウェアで削除されたことになる。そこで、この新ソフトウェアに存在しなかった関数番号については、改変箇所リストである変更箇所記憶部１２２に区分を「削除」として書き込む（追加する）（ステップＳ３２９）。そして、旧ソフトウェアのソースコードの次のタグを探す作業に取りかかることになる。すなわち、旧ソフトウェアのソースコードを最後まで処理したかをチェックして（ステップＳ３２４）、最後まで処理していないのであればステップＳ３２２に処理を戻す。このようにして、旧ソフトウェアのソースコードで次のタグを探すことになる。
【００７３】
もう一つ残った処理として、旧ソフトウェアのソースコードの最初のタグと新ソフトウェアのそれを比較した結果が一致しなかった場合の取り扱いがある。タグの内容が不一致であった場合には（ステップＳ３２８：Ｎ）、新ソフトウェアのソースコードが変更されたことになる。そこでこの場合には、該当する関数番号について改変箇所リストである変更箇所記憶部１２２に区分を「改変」として書き込む（追加する）（ステップＳ３３０）。そして、旧ソフトウェアのソースコードの次のタグを探す作業に取りかかることになる。すなわち、前記したと同様に旧ソフトウェアのソースコードを最後まで処理したかをチェックして（ステップＳ３２４）、最後まで処理していないのであればステップＳ３２２に処理を戻す。このようにして、旧ソフトウェアのソースコードで次のタグを探すことになる。
【００７４】
以上のようにして旧ソフトウェアのソースコードの最後まで処理するまでは（ステップＳ３２４：Ｎ）、旧ソフトウェアのソースコードのタグを順に見つけては、これが新ソフトウェアのタグとしてどうなかったかを調べていく。旧ソフトウェアのソースコードの最後まで読み取りその処理を終了したら（ステップＳ３２４：Ｙ）、新ソフトウェアのソースコードに存在する残りの関数を「新規」として改変箇所リストである変更箇所記憶部１２２に書き込む（追加する）（ステップＳ３３１）。そして、一連の処理を終了する（エンド）。
【００７５】
図１８は、変更箇所提示部によるマニュアルデータの出力処理の前半の処理の様子を表わしたものである。図１５と共に説明する。
【００７６】
変更箇所提示部１１３Ａは、関数関係記憶部１２１の各段落の番号を順次マニュアルの先頭から読み出すために、マニュアルの段落についての変数Ｄを初期化する（ステップＳ３５１）。段落の番号は図７に示すように＜Ｎａｍｅ＞１５３に続く括弧記号の「＜」および「＞」で括った内部１５４で示されるようになっており、この例で初期値としての段落の番号は「１−１」となる。
【００７７】
そこで、変更箇所提示部１１３Ａは、図８に示す関数関係記憶部１２１の段落の番号「１−１」についての関数番号＜Ａ−１＞および＜Ａ−３＞を読み出す（ステップＳ３５２）。そして、この例で２つの関数番号＜Ａ−１＞および＜Ａ−３＞が、図１１に示した変更箇所記憶部１２２に存在するときの対応する「区分」をこれらの関数番号について表示する（ステップＳ３５３）。
【００７８】
具体的には、関数番号＜Ａ−１＞についてはその箇所にダブルクォーテーション「“”」を付けて「改変」の注釈を埋め込む。もう１つの関数番号＜Ａ−３＞は変更箇所記憶部１２２に存在しない。これは関数番号＜Ａ−３＞で示すソースコードの関数が全く同一の場合であるので、その箇所には「“”」等の「区分」を表わす注釈の埋め込みを行わない。
【００７９】
ステップＳ３５３の処理が行われたら、関数関係記憶部１２１の最終段落まで処理が進んだ結果として次に処理すべき段落がなくなったかを判別する（ステップＳ３５４）。次の段落がまだ存在する場合には（Ｎ）、変数Ｄを次の段落の番号「１−２」に変更する（ステップＳ３５５）。そしてステップＳ３５２に処理を戻す。その結果、ステップＳ３５２では図８に示すように段落の番号「１−２」に関係する関数番号として関数番号＜Ａ−４＞および＜Ａ−７＞が関数関係記憶部１２１から読み出される。
【００８０】
この結果、ステップＳ３５３では、図１１に示す変更箇所記憶部１２２の内容から、関数番号＜Ａ−４＞の前にバツ「×」を付けて「削除」を表示する。関数番号＜Ａ−７＞についても、その前にバツ「×」を付けて「削除」の注釈を埋め込む。
【００８１】
これ以後も、処理する次の段落がマニュアルに存在する限り（ステップＳ３５４：Ｎ）、変数Ｄを順にカウントアップしながら（ステップＳ３５５）、ステップＳ３５２以降の処理を実行する。このようにして、図８に示す関数関係記憶部１２１の最後の段落の番号「ｎｕｌｌ」まで「区分」を表わす注釈の埋め込みの処理が終了したら（ステップＳ３４５：Ｙ）、マニュアルデータの出力処理の前半の処理が終了する（エンド）。
【００８２】
以上説明した処理は、マニュアルとソフトウェアの整合をチェックするものなので、図１８で示したようにマニュアル側の段落を最初から最後まで順に進めながらチェックする必要は必ずしもない。すなわち、図１１に示した改変箇所リストである変更箇所記憶部１２２における関数番号＜Ａ−１＞から、次は関数番号＜Ａ−４＞というように関数番号を順に呼び出すという処理のプロセスも可能である。
【００８３】
図１９は、図１８の変形例として変更箇所提示部によるマニュアルデータの出力処理の前半の処理の様子を表わしたものである。図１５と共に説明する。
【００８４】
変更箇所提示部１１３Ａは、各関数番号を順次、変更箇所記憶部１２２の先頭から読み出すためにその変数Ｋを初期化する（ステップＳ３７１）。この例で初期値としての関数番号は「Ａ−１」となる。そこで変更箇所提示部１１３Ａは、変更箇所記憶部１２２から関数番号「Ａ−１」を読み出す（ステップＳ３７２）。
【００８５】
変更箇所提示部１１３Ａは、次にこの関数番号「Ａ−１」に対応する区分である「改変」が関数関係記憶部１２１に存在する箇所をチェックして、関数番号「Ａ−１」が存在する箇所すべての箇所にダブルクォーテーション「“”」を付けて「改変」の注釈を埋め込む（ステップＳ３７３）。
【００８６】
このようにして最初の関数番号「Ａ−１」についての対応付けが終了したら、変更箇所記憶部１２２のすべての関数番号についての処理が終了して次に処理すべき関数番号が存在しなくなったかをチェックする（ステップＳ３７４）。まだ、処理すべき関数番号が存在する場合には（Ｎ）、変数Ｋを次の関数番号に変更する（ステップＳ３７５）。そして、ステップＳ３７２の処理に進むことになる。図１１に示した例では、これにより関数番号「Ａ−４」にバツ「×」を付けた「削除」の注釈の埋め込み処理が行われることになる。以下、同様である。
【００８７】
変更箇所記憶部１２２のすべての関数番号についての処理が終了して次に処理すべき関数番号が存在しなくなったら（ステップＳ３７４：Ｙ）、マニュアルデータの出力処理の前半の処理が終了する（エンド）。
【００８８】
以上のようなマニュアルとソフトウェアの整合処理が終了すると、先に説明した関数番号＜Ａ−１０＞を例として挙げたように新ソフトウェアで新たに追加した箇所について、関数関係記憶部１２１に該当するタグが存在しない。そこで、この場合にはその段落を「ｎｅｗ」として、関係する関数番号に追加する。この例では関数番号＜A−１０＞を追加することになる。
【００８９】
図２０は、図１８あるいは図１９で注釈の埋め込みを行った関数関係記憶部を基にしてマニュアルデータの出力を行うマニュアルデータの出力処理の後半の処理の様子を表わしたものである。図１５と共に説明する。
【００９０】
変更箇所提示部１１３Ａは、変更箇所については表現形態を変えてマニュアルの先頭から内容を提示するために、マニュアルの段落についての変数Ｄを初期化する（ステップＳ３９１）。段落の番号は図７に示すように＜Ｎａｍｅ＞１５３に続く括弧記号の「＜」および「＞」で括った内部１５４で示されるようになっており、この例で初期値としての段落の番号は「１−１」となる。
【００９１】
そこで、変更箇所提示部１１３Ａは、段落の番号「１−１」についてのマニュアルの内容が、前記した（１）〜（４）の区分けの結果としての図１３に示す内容の「改変」、「削除」、「新規」のいずれかに該当するかをチェックする（ステップＳ３９２）。これらのいずれかに該当した場合には（Ｙ）、その段落に対応する表現形式の段落に変更して、マニュアルの表示のためのバッファ領域に格納する（ステップＳ３９３）。
【００９２】
具体的には、内容の「改変」の場合には、図１４に示したように「改変」を行った箇所について、他の箇所の色（黒色）とは異なる赤色で強調表示するようにしてバッファ領域におけるマニュアルの対応する箇所に格納する。ただし、図１４では赤色に着色された箇所を斜字で表示している。また、改変箇所には改変が行われたことを示す「（改変）」という語句が併せて表示されるようにする。
【００９３】
内容の「削除」の場合には、マニュアルの該当する箇所が削除されるので、その部分はバッファ領域に格納されない。内容が「新規」の場合には、マニュアルの最後の部分に、「追加あり」と赤色（斜字）で強調表示するようにしてバッファ領域に格納する。
【００９４】
ステップＳ３９２で前記した（１）〜（４）の区分けの結果としての図１３に示す内容の「改変」、「削除」、「新規」のいずれにも該当しないと判別された場合（ステップＳ３９２：Ｎ）を次に説明する。この場合には、マニュアルの内容が全く変らないので、その部分のマニュアルを通常形式でバッファ領域に格納する（ステップＳ３９４）。
【００９５】
このようにしてステップＳ３９３あるいはステップＳ３９４の処理が行われたら、関数関係記憶部１２１の最終段落まで処理が進んだ結果として次に処理すべき段落がなくなったかを判別する（ステップＳ３９５）。次の段落がまだ存在する場合には（Ｎ）、変数Ｄを次の段落の番号「１−２」に変更する（ステップＳ３９６）。そしてステップＳ３９２に処理を戻す。
【００９６】
関数関係記憶部１２１の最終段落まで処理が進んだ結果として次に処理すべき段落がなくなった場合には（ステップＳ３９５：Ｙ）、新ソフトウェアを反映したマニュアル全体の出力すべき情報がバッファ領域に格納されていることになる。そこで、このバッファ領域に格納されている内容を表示するかプリントアウトすることになる（ステップＳ３９７）。以上で変更箇所提示部１１３Ａによる全処理が終了する（エンド）。
【００９７】
以上説明した本発明の第２の実施の形態によれば、マニュアル修正箇所提示システム２００の中核となる情報処理装置２０１を、たとえばパーソナルコンピュータで構成することができる。すなわち、メモリ２１２に格納されたプログラムをＣＰＵ２１１が実行することで、専用の部品を必要とせず、また各種の改良を容易に行うことができる。
【００９８】
＜発明の第３の実施の形態＞
【００９９】
次に本発明の第３の実施の形態を説明する。
【０１００】
図２１は、本発明の第３の実施の形態によるマニュアル修正箇所提示システムの構成を表わしたものである。本実施の形態のマニュアル修正箇所提示システム４００で図１５と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。
【０１０１】
第３の実施の形態のマニュアル修正箇所提示システム４００は、入力装置１０１と、出力装置１０４およびこれらを接続したパーソナルコンピュータ等の情報処理装置２０１Ｂとによって構成されている。このうちの情報処理装置２０１Ｂ内のデータ処理部１０２Ｂは、タグ読取部１１１Ａおよびソフトウェア比較部１１２Ａの他に、マニュアル比較部４０１と警告部４０２を新たに設けている。マニュアル比較部４０１は、新旧のマニュアルを入力装置１０１で読み取ったものを比較する。警告部４０２は、マニュアルの文言が変更されてしまった場合に警告を行う。変更箇所提示部１１３Ｂは、警告を変更箇所の提示に併せて行うようになっている。
【０１０２】
一方、情報処理装置２０１Ｂ内の記憶装置１０３Ｂは、関数関係記憶部１２１と変更箇所記憶部１２２の他に、新旧マニュアルの比較結果をリストとして保持するマニュアル比較結果記憶部４０３を新たに備えている。主制御部２１３Ｂは、ＣＰＵ２１１と本実施の形態での制御を実現するプログラムを格納したメモリ２１２Ｂとを備えている。
【０１０３】
以上のような構成の第３の実施の形態のマニュアル修正箇所提示システム４００では、新旧のソフトウェアの比較を行うソフトウェア比較部１１２Ａに対応付けて新旧のマニュアルの比較を行う。そして、ソフトウェアの変更が行われなかったにも係わらずマニュアルの文言が変更されてしまった場合に警告を行うようになっている。
【０１０４】
第３の実施の形態のマニュアル修正箇所提示システム４００におけるタグ読取部１１１Ａとソフトウェア比較部１１２Ａは、第２の実施の形態のそれらと同一の機能を備えており、第２の実施の形態と同様の機能の実現も可能である。
【０１０５】
本実施の形態のマニュアル修正箇所提示システム４００は、ソフトウェア比較部１１２Ａで新旧のソフトウェアの比較を行った後、マニュアル比較部４０１が新旧のマニュアルの比較を行う。この処理を次に説明する。
【０１０６】
図２２は、新旧マニュアルによるタグの比較処理の前半の様子を表わしたものである。図２１と共に説明する。
【０１０７】
まず主制御部２１３Ｂは、入力装置１０１から新旧両マニュアルのデータを入力して、メモリ２１２Ｂの図示しない作業用メモリ領域に格納する（ステップＳ５０１）。この状態でマニュアル比較部４０１は旧マニュアルの１段落分のデータを検索する（ステップＳ５０２）。そして、この旧マニュアルの１段落分のデータに図７で説明した＜Ｔａｇ＞１５５が存在するかをチェックする（ステップＳ５０３）。
【０１０８】
タグが存在しない場合には（ステップＳ５０３：Ｎ）、旧マニュアルのデータを最後の段落まで読み取りその処理を行ったかチェックして（ステップＳ５０４）、そうでない場合には（Ｎ）、ステップＳ５０２の処理に戻る。すなわち、旧マニュアルのデータを次の段落分だけ読み取って、タグが存在するかを判別する（ステップＳ５０３）。
【０１０９】
このようにして旧マニュアルの最初のタグが見つかったとする（ステップＳ５０３：Ｙ）。すると、マニュアル比較部４０１は同じタグを持つ段落を新マニュアルの先頭から順に探していく（ステップＳ５０５）。その段落が新マニュアルの最後に到達するまでに見つかれば（ステップＳ５０６：Ｙ）、タグの内容を比較する（ステップＳ５０７）。その結果が一致すれば（ステップＳ５０８：Ｙ）、新マニュアルに移行するに際してその段落に何らの変更もなかったことになる。
【０１１０】
そこで、この場合には旧マニュアルの次のタグを探すことになる。すなわち、旧マニュアルの段落を最後まで読み取りその処理を行ったかチェックして（ステップＳ５０４）、最後まで読み取っていないのであればステップＳ５０２に処理を戻す。そして、旧マニュアルで次のタグを探すことになる。
【０１１１】
一方、ステップＳ５０６で旧マニュアルの最初のタグに対する同一のタグが新マニュアルの最後の段落まで見つからなかったとする（Ｎ）。この場合には、旧マニュアルのその最初のタグは新マニュアルで削除されたことになる。そこで、この新マニュアルに存在しなかった関数番号については、改変箇所リストであるマニュアル比較結果記憶部４０３に区分を「削除」として書き込む（追加する）（ステップＳ５０９）。そして、旧マニュアルにおける次のタグを探す作業に取りかかることになる。すなわち、旧マニュアルの段落を最後まで処理したかをチェックして（ステップＳ５０４）、最後まで処理していないのであればステップＳ５０２に処理を戻す。このようにして、旧マニュアルで次のタグを探すことになる。
【０１１２】
もう一つ残った処理として、旧マニュアルの最初のタグと新マニュアルのそれを比較した結果が一致しなかった場合の取り扱いがある。タグの内容が不一致であった場合には（ステップＳ５０８：Ｎ）、新マニュアルの該当する段落の内容が変更されたことになる。そこでこの場合には、該当する関数番号について改変箇所リストであるマニュアル比較結果記憶部４０３に区分を「改変」として書き込む（追加する）（ステップＳ５１０）。そして、旧マニュアルにおける次のタグを探す作業に取りかかることになる。すなわち、前記したと同様に旧マニュアルの段落を最後まで処理したかをチェックして（ステップＳ５０４）、最後まで処理していないのであれば（Ｎ）、ステップＳ５０２に処理を戻す。このようにして、旧マニュアルで次のタグを探すことになる。
【０１１３】
以上のようにして旧マニュアルの最後の段落まで処理するまでは（ステップＳ５０４：Ｎ）、旧マニュアルのタグを順に見つけては、これが新マニュアルのタグとしてどうなかったかを調べていく。旧マニュアルの最後の段落までその処理を終了したら（ステップＳ５０４：Ｙ）、新マニュアルに存在する残りの関数を「新規」として改変箇所リストであるマニュアル比較結果記憶部４０３に書き込む（追加する）（ステップＳ５１１）。そして、新旧のマニュアル同士によるタグ比較処理の前半の処理を終了する（エンド）。
【０１１４】
図２３は、新旧マニュアルによるタグの比較処理の後半の様子を表わしたものである。図２１と共に説明する。
【０１１５】
図２２による処理を終了したら、マニュアル比較部４０１は新マニュアルの段落についての変数Ｄを初期化する（ステップＳ５３１）。段落の番号は図７に示すように＜Ｎａｍｅ＞１５３に続く括弧記号の「＜」および「＞」で括った内部１５４で示されるようになっており、この例で初期値としての段落の番号は「１−１」となる。
【０１１６】
次にマニュアル比較部４０１はマニュアル比較結果記憶部４０３から第Ｄの段落の区分を読み出す（ステップＳ５３２）。この区分が「改変」ではない場合（ステップＳ５３３：Ｎ）、警告の対象となる段落とはならない。そこで、この場合にはマニュアル比較結果記憶部４０３に次の段落が存在しないかどうかをチェックして（ステップＳ５３４）、段落が存在すれば（Ｎ）、変数Ｄの値を次の段落に変更する（ステップＳ５３５）。そして、処理をステップＳ５３３に戻す。
【０１１７】
一方、ステップＳ５３３でマニュアル比較部４０１が区分を「改変」であると判別した場合には（Ｙ）、変更箇所記憶部１２２から「改変」のあった関数を１つずつチェックする（ステップＳ５３６）。その結果、新ソフトウェアで「改変」とされた関数のいずれかが新マニュアルの段落に対応する関数と一致しなかった場合（ステップＳ５３７：Ｎ）、ソフトウェアの改変が行われていない箇所でマニュアルの改変が行われたことになる。そこで、この場合、新マニュアルの段落の該当する区分を「改変」から「警告」に変更する（ステップＳ５３８）。そして、次の段落へ処理を進めるためにステップＳ５３４に移行する。
【０１１８】
これに対してステップＳ５３７で新ソフトウェアで「改変」とされた関数のいずれかが新マニュアルの段落に対応する関数と一致した場合には（Ｙ）、新マニュアルの段落の該当する区分を「改変」から「警告」に変更する必要がない。そこで、この場合にはそのまま処理をステップＳ５３４に移行させる。
【０１１９】
以上のようにしてマニュアル比較部４０１が新マニュアルの段落のすべての確認を行ったら（ステップＳ５３４：Ｙ）、図２３に示した処理を終了する（エンド）。
【０１２０】
図２４は、マニュアル比較結果記憶部の記憶内容の一例を示したものである。マニュアル比較結果記憶部４０３には、関数番号に対応させて区分が記されているが、関数番号の代わりに段落が記されてもよい。図２４に示した例では、関数番号「Ｅ−１」の区分が当初は「改変」であったが、図２３で説明した処理によって「警告」に変更されている。
【０１２１】
図２５は、変更箇所提示部による警告を伴う出力処理の後半を表わしたものであり、第２の実施の形態における図２０に対応するものである。したがって、図２５で図２０と対応する部分には図２０で記したステップ番号と同一のステップ番号を記しており、これらの説明を適宜省略する。図２１と共に説明する。
【０１２２】
第３の実施の形態のマニュアル修正箇所提示システム４００では、ステップＳ３９２で前記した（１）〜（４）の区分けの結果としての図１３に示す内容の「改変」、「削除」、「新規」のいずれにも該当しないと判別された場合（ステップＳ３９２：Ｎ）の処理が第２の実施の形態と異なる。この場合には、変更箇所提示部１１３Ｂがその段落が「警告」に区分されているかをチェックする（ステップＳ５５１）。
【０１２３】
その段落が「警告」に区分されている場合には（ステップＳ５５１：Ｙ）、その段落を「警告」を行う場合について定めた表現形式に変更して、マニュアルの表示のためのバッファ領域に格納する（ステップＳ５５２）。そして、ステップＳ３９５の処理に進む。
【０１２４】
ステップＳ５５１でその段落が「警告」に区分されていない場合には（Ｎ）、マニュアルの内容が全く変らないので、その部分のマニュアルを通常形式でバッファ領域に格納する（ステップＳ３９４）。そして、ステップＳ３９５の処理に進むことになる。
【０１２５】
関数関係記憶部１２１の最終段落まで処理が進んだ結果として次に処理すべき段落がなくなった場合には（ステップＳ３９５：Ｙ）、新ソフトウェアを反映したマニュアル全体の出力すべき情報がバッファ領域に格納されていることになる。そこで、このバッファ領域に格納されている内容を表示するかプリントアウトすることになる（ステップＳ３９７）。以上で変更箇所提示部１１３Ｂによる全処理が終了する（エンド）。
【０１２６】
図２６は、図１４に対応するもので、本実施の形態の出力装置における出力内容の一例として図１３に対応するものを示している。新旧のソフトウェアの変更に関係なく追加された段落には、「ソフトウェア変更なし  内容を確認すること（警告）」という文字が赤色等の強調する表現形式で出力されている。ただし、図２６ではこの警告用に着色された箇所を他の注意すべき箇所と同様に斜字で表示している。
【０１２７】
以上説明した第３の実施の形態によれば、新旧のソフトウェアで存在しない関数番号のタグが新マニュアルのデータに存在したとき、マニュアルの該当個所で警告を表示するようにした。したがって、新マニュアルの作成前の指針を表示するだけでなく、新マニュアルの作成後の点検にも役立つことになる。
【０１２８】
＜発明の第４の実施の形態＞
【０１２９】
次に本発明の第４の実施の形態を説明する。
【０１３０】
図２７は、本発明の第４の実施の形態によるマニュアル修正箇所提示システムの構成を表わしたものである。本実施の形態のマニュアル修正箇所提示システム６００で図１５と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。
【０１３１】
第４の実施の形態のマニュアル修正箇所提示システム６００は、入力装置１０１と、出力装置１０４およびこれらを接続したパーソナルコンピュータ等の情報処理装置２０１Ｃとによって構成されている。このうちの情報処理装置２０１Ｃ内のデータ処理部１０２Ｃは、タグ読取部１１１Ａおよびソフトウェア比較部１１２Ａの他に、マニュアル比較部４０１を備えている。マニュアル比較部４０１は、新旧のマニュアルを入力装置１０１で読み取ったものを比較する。
【０１３２】
一方、情報処理装置２０１Ｃ内の記憶装置１０３Ｃは、関数関係記憶部１２１と変更箇所記憶部１２２およびマニュアル比較結果記憶部４０３Ｃの他に、新たに履歴一覧表記憶部６０２を備えている。マニュアル比較結果記憶部４０３Ｃは新旧マニュアルの比較結果をリストとして保持する。履歴一覧表記憶部６０２はマニュアルの変更の履歴を保持し、要求に応じてその内容をデータ処理部１０２Ｃの変更箇所提示部１１３Ｃに出力するようになっている。変更箇所提示部１１３Ｃは、第１および第２の実施の形態と同様の処理を行う他に、履歴一覧表記憶部６０２の記憶内容をテキストファイルで履歴一覧表として出力することができる。主制御部２１３Ｃは、ＣＰＵ２１１と本実施の形態での制御を実現するプログラムを格納したメモリ２１２Ｃとを備えている。
【０１３３】
本実施の形態では、タグ読取部１１１Ａとソフトウェア比較部１１２Ａおよびマニュアル比較部４０１を備えている。これらの各部は第３の実施の形態と同様の動作を行う。ただし、第４の実施の形態では第３の実施の形態のマニュアル修正箇所提示システム４００で備えていた警告部４０２を備えていないので、マニュアルの改定に伴う警告は表示しない。もちろん、システムによってはこのような警告を出力することは可能である。
【０１３４】
図２８は、本実施の形態のマニュアル修正箇所提示システムで履歴一覧表を出力する処理の流れを表わしたものである。この図２８では、第３の実施の形態において図２３で説明した新旧マニュアルによるタグ比較処理が終了しており、その結果がリストとしてマニュアル比較結果記憶部４０３に保持されているものとする。図２７と共に説明する。
【０１３５】
まず、変更箇所提示部１１３Ｃは、新マニュアルの段落についての変数Ｄを初期化する（ステップＳ７０１）。段落の番号は図７に示すように＜Ｎａｍｅ＞１５３に続く括弧記号の「＜」および「＞」で括った内部１５４で示されるようになっており、この例で初期値としての段落の番号は「１−１」となる。
【０１３６】
そこで、変更箇所提示部１１３Ｃは、第Ｄ段落（この場合には段落の番号「１−１」の段落）についての新マニュアルのデータを入力して（ステップＳ７０２）、履歴一覧表記憶部６０２に第Ｄ段落が存在するかを検索する（ステップＳ７０３）。履歴一覧表記憶部６０２には、旧マニュアルあるいはそれ以前に作成されたマニュアルについての履歴が段落ごとに記載されている。したがって、この履歴一覧表記憶部６０２に第Ｄ段落と同一の段落が存在するかを調べることになる。
【０１３７】
検索の結果、第Ｄ段落が存在すると判別された場合には（ステップＳ７０４：Ｙ）、履歴一覧表記憶部６０２における現在の記載に、今回の新旧マニュアルの比較結果としてマニュアル比較結果記憶部４０３Ｃに記載されている内容を記録として追加する（ステップＳ７０５）。第Ｄ段落がマニュアル比較結果記憶部４０３Ｃに記載されていない場合には（ステップＳ７０４：Ｎ）、第Ｄ段落の項目を追加して、記録を追加する（ステップＳ７０６）。これらの記録の追加には、新マニュアルに移行した日時も記載の対象となる。
【０１３８】
このようにして新マニュアルの第Ｄ段落についての履歴をとる処理が終了したら、新マニュアルに次の段落が存在せず、マニュアルの処理が終了したかをチェックする（ステップＳ７０７）。まだ処理すべき段落が存在する場合には（Ｎ）、変数Ｄを次の段落の値に変更して（ステップＳ７０８）、ステップＳ７０２の処理に戻る。
【０１３９】
このようにして新マニュアルについてのすべての段落の処理が終了したら（ステップＳ７０７：Ｙ）、現在の履歴一覧表記憶部６０２の内容を基にして変更箇所提示部１１３Ｃがメモリ２１２Ｃの所定の作業領域に履歴一覧表を作成する（ステップＳ７０９）。履歴一覧表の作成にあたっては、段落の変更や追加、削除の履歴をソフトウェア内の関数の変更に紐付けする。変更箇所提示部１１３Ｃは、作成した履歴一覧表を出力装置１０４に送って（ステップＳ７１０）、これを図示しないディスプレイに表示したり、プリントアウトする。テキストファイルとして出力してもよい。
【０１４０】
図２９は、出力装置から出力される履歴一覧表の一例を示したものである。この履歴一覧表６１１を見ることにより、ユーザはソースコードの改変およびマニュアルの改変の対応関係を簡単に確認することができる。ここで「Ａ−１」、「Ａ−２」は関数番号を表わしている。
【０１４１】
以上説明した本発明の第４の実施の形態によれば、タグを用いて特定の段落と関係づけることを利用し、修正履歴を一体で管理することができる。また、タグをマニュアルデータおよびソースコードに埋め込むことで、ソースコードの改変およびマニュアルの改変の対応関係を確認することができる。
【０１４２】
なお、以上説明した各実施の形態では、マニュアルについて段落ごとにタグを付すことにしたが、章や節あるいは任意の箇所で文章を区切り、タグを付すようにしてもよい。ソフトウェアについてもタグを付すための単位は特に限定されるものではない。
【符号の説明】
【０１４３】
１０、１００  マニュアル修正箇所提示装置
１１、２２ａ  ソフトウェア比較手段
１２、２２ｂ  マニュアル読込手段
１３、２２ｃ  ソフトウェア用区分けリスト作成手段
１４、２２ｄ  マニュアル側対応リスト作成手段
１５、２２ｅ  マニュアル変更箇所判別手段
２０、２００、４００、６００  マニュアル修正箇所提示システム
２１、１０１  入力装置
２２、２０１、２０１Ｂ、２０１Ｃ  情報処理装置
３０  マニュアル修正箇所提示方法
３１  ソフトウェア比較ステップ
３２  マニュアル読込ステップ
３３  ソフトウェア用区分けリスト作成ステップ
３４  マニュアル側対応リスト作成ステップ
３５  マニュアル変更箇所判別ステップ
４０  マニュアル修正箇所提示プログラム
４１  ソフトウェア比較処理
４２  マニュアル読込処理
４３  ソフトウェア用区分けリスト作成処理
４４  マニュアル側対応リスト作成処理
４５  マニュアル変更箇所判別処理
１０２、１０２Ｂ、１０２Ｃ  データ処理部
１０３、１０３Ｂ、１０３Ｃ  記憶装置
１０４  出力装置
１１１  タグ読取部
１１２  ソフトウェア比較部
１１３、１１３Ｂ、１１３Ｃ  変更箇所提示部
１２１  関数関係記憶部
１２２  変更箇所記憶部
１５１  マニュアルの文章
１５５  ＜Ｔａｇ＞
１８１、１８１Ｂ  出力内容
２１１  ＣＰＵ
２１２、２１２Ｂ、２１２Ｃ  メモリ
２１３、２１３Ｂ、２１３Ｃ  主制御部
４０１  マニュアル比較部
４０２  警告部
４０３、４０３Ｃ  マニュアル比較結果記憶部
６０２  履歴一覧表記憶部
６１１  履歴一覧表
【図１】
2011159112.tif 000003
【図２】
2011159112.tif 000004
【図３】
2011159112.tif 000005
【図４】
2011159112.tif 000006
【図５】
2011159112.tif 000007
【図６】
2011159112.tif 000008
【図７】
2011159112.tif 000009
【図８】
2011159112.tif 000010
【図９】
2011159112.tif 000011
【図１０】
2011159112.tif 000012
【図１１】
2011159112.tif 000013
【図１２】
2011159112.tif 000014
【図１３】
2011159112.tif 000015
【図１４】
2011159112.tif 000016
【図１５】
2011159112.tif 000017
【図１６】
2011159112.tif 000018
【図１７】
2011159112.tif 000019
【図１８】
2011159112.tif 000020
【図１９】
2011159112.tif 000021
【図２０】
2011159112.tif 000022
【図２１】
2011159112.tif 000023
【図２２】
2011159112.tif 000024
【図２３】
2011159112.tif 000025
【図２４】
2011159112.tif 000026
【図２５】
2011159112.tif 000027
【図２６】
2011159112.tif 000028
【図２７】
2011159112.tif 000029
【図２８】
2011159112.tif 000030
【図２９】
2011159112.tif 000031