(57)【要約】【課題】ソースコードを用紙に印刷して変更点の確認をする作業者が、変更箇所や影響を受ける箇所を容易に識別できる仕組みを提供する。【解決手段】ソフトウェアのソースコードを用紙に印刷したときに、変更された内容を確認する作業者に容易に変更の内容を識別させる出力を行う情報処理装置であって、変更前のソースコードを含むソースファイルと、変更後のソースコードを含むソースファイルとが入力されたことに応じて、それぞれのソースファイルを用いて、ソースコードが変更された内容を特定できる変更情報を変更テーブルに管理する管理手段と、前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、変更後のソースコードを印刷する印刷順を決定する決定手段と、前記決定手段により決定された印刷順に従って、前記変更後のソースコードを含むソースファイルを出力する処理を行う出力手段とを備える。【選択図】図４
2014123263.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのソースコードを用紙に印刷したときに、変更された内容を確認する作業者に容易に変更の内容を識別させる出力を行う情報処理装置であって、
変更前のソースコードを含むソースファイルと、変更後のソースコードを含むソースファイルとが入力されたことに応じて、それぞれのソースファイルを用いて、ソースコードが変更された内容を特定できる変更情報を変更テーブルに管理する管理手段と、
前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、変更後のソースコードを印刷する印刷順を決定する決定手段と、
前記決定手段により決定された印刷順に従って、前記変更後のソースコードを含むソースファイルを出力する処理を行う出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記出力手段は、前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更されなかった箇所を省略して、前記変更後のソースコードを含むソースファイルを出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、対応するソースコードの近傍に、変更の内容を識別させるイメージを設定する設定手段と、
前記出力手段は、前記設定手段により設定されたイメージを、対応するソースコードの近傍に出力することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、参照関係を検索する検索手段と、
前記出力手段は、前記検索手段による検索の結果を用いて、参照関係にあるソースコードを用紙の表と裏に配置しない出力をすることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ソフトウェアのソースコードを用紙に印刷したときに、変更された内容を確認する作業者に容易に変更の内容を識別させる出力を行う情報処理装置における情報処理方法であって、
変更前のソースコードを含むソースファイルと、変更後のソースコードを含むソースファイルとが入力されたことに応じて、それぞれのソースファイルを用いて、ソースコードが変更された内容を特定できる変更情報を変更テーブルに管理する管理ステップと、
前記管理ステップにより管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、変更後のソースコードを印刷する印刷順を決定する決定ステップと、
前記決定ステップにより決定された印刷順に従って、前記変更後のソースコードを含むソースファイルを出力する処理を行う出力ステップと
を含むことを特徴とする情報処理方法。
【請求項６】
ソフトウェアのソースコードを用紙に印刷したときに、変更された内容を確認する作業者に容易に変更の内容を識別させる出力を行う情報処理装置において実行可能なプログラムであって、
変更前のソースコードを含むソースファイルと、変更後のソースコードを含むソースファイルとが入力されたことに応じて、それぞれのソースファイルを用いて、ソースコードが変更された内容を特定できる変更情報を変更テーブルに管理する管理手段、
前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、変更後のソースコードを印刷する印刷順を決定する決定手段、
前記決定手段により決定された印刷順に従って、前記変更後のソースコードを含むソースファイルを出力する処理を行う出力手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのソースコードの変更点を用紙に印刷してユーザに確認させる場合の技術に関するものである。
【背景技術】
【０００２】
ソフトウェア開発におけるソースコードの変更点の正確な検出、変更により影響を受けるソースコードを検出する技術は既に存在しており、また、コンピュータのモニタ上での確認を容易にするソフトウェアは複数存在する。これらのソフトウェアは、コンピュータのモニタ上での表示、及び検出した変更箇所を履歴として管理していくものである。
【０００３】
しかしながら、ソースコードを印刷する場合、変更点並びに変更により影響を受けるソースコードを印刷するには、印刷順序を指定したり、影響を受ける箇所のページ番号を特定して印刷したりするなど煩雑な作業が要求される。また、実際に変更点を確認する場合、変更箇所並びに変更により影響を受けるソースコードを探しだす手間が発生し、影響を受ける箇所の確認漏れが発生する可能性もある。
特許文献１には、ソースコードの変更点の検出やソースコードの変更影響範囲の検出を行いコンピュータモニタ上に表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−１９４６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術は、モニタ上に表示する技術であって、ソースコードを用紙に印刷して変更点の確認をする作業者が、変更箇所や影響を受ける箇所を容易に識別できるようにする点については何ら考慮されていない。ソースコードの変更点を確認する作業においては、その視認性・一覧性を重視して、用紙に印刷して確認する作業者も多く、特許文献１の技術では、このように、モニタを離れ、印刷したソースコードの変更点を確認する作業者の作業負担を軽減することができない。
【０００６】
そこで、本発明は、上記課題を解決するものであり、ソースコードを用紙に印刷して変更点の確認をする作業者が、変更箇所や影響を受ける箇所を容易に識別できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ソフトウェアのソースコードを用紙に印刷したときに、変更された内容を確認する作業者に容易に変更の内容を識別させる出力を行う情報処理装置であって、変更前のソースコードを含むソースファイルと、変更後のソースコードを含むソースファイルとが入力されたことに応じて、それぞれのソースファイルを用いて、ソースコードが変更された内容を特定できる変更情報を変更テーブルに管理する管理手段と、前記管理手段により管理される変更テーブルに含まれる変更情報を用いて、変更の内容に応じて、変更後のソースコードを印刷する印刷順を決定する決定手段と、前記決定手段により決定された印刷順に従って、前記変更後のソースコードを含むソースファイルを出力する処理を行う出力手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ソースコードを用紙に印刷して変更点の確認をする作業者が、変更箇所や影響を受ける箇所を容易に識別できる仕組みを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における情報処理システムの構成を示す図である。
【図２】本発明の実施の形態における情報処理装置のハードウェア構成図である。
【図３】本発明の実施の形態における各種データテーブルを示す図である。
【図４】本発明の実施の形態における情報処理装置の機能ブロック図である。
【図５】本発明の実施の形態における変更点を抽出する処理の流れを示すフローチャートである。
【図６】本発明の実施の形態における印刷順序を決定する処理の流れを示すフローチャートである。
【図７】本発明の実施の形態における印刷イメージレコードを作成する処理の流れを示すフローチャートである。
【図８】本発明の実施の形態における印刷イメージレコードを作成する処理の流れを示すフローチャートである。
【図９】本発明の実施の形態における印刷レイアウトを調整する処理の流れを示すフローチャートである。
【図１０】本発明の実施の形態における印刷レイアウトを調整する処理の流れを示すフローチャートである。
【図１１】本発明の実施の形態における印刷レイアウトを調整する処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態における目次を作成する処理の流れを示すフローチャートである。
【図１３】本発明の実施の形態における作成した印刷イメージブロックの例を示す図である。
【図１４】本発明の実施の形態における作成した目次の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明の実施の形態を説明する。
図１は、本発明の実施の形態における情報処理システムの構成を示す図である。
クライアント端末１０１、プリンタ３０１がネットワーク４０１を介して通信可能に接続されている。
【００１１】
クライアント端末１０１は、パーソナルコンピュータなどの情報処理装置である。ソフトウェアの開発者は、クライアント端末を操作して、ソフトウェアのソースコードの入力を行う。また、クライアント端末１０１は、入力されたソースコードを含むソースファイル２０１をハードディスクなどに管理している。
プリンタ３０１は、印刷装置である。クライアント端末１０１から入力された印刷データを紙に出力する機能を備えている。
ネットワーク４０１は、インターネットなどの通信回線である。
【００１２】
図２は、本発明の実施の形態における情報処理装置のハードウェア構成図である。
図１に示したクライアント端末１０１に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００１３】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１４】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００１５】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００１６】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００１７】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ４００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００１８】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００１９】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２０】
図３は、本発明の実施の形態における各種データテーブルを示す図である。
ソースコード変更確認印刷において、ソースコードの変更内容や行数、変更における必要な情報を記録する変更テーブルである。
【００２１】
変更テーブル３０１は、複数の変更レコード３０２で構成されている。変更レコード３０２内の参照レコードテーブル３０３は複数の参照レコード３０４で構成されている。印刷イメージブロックテーブル３０５は、複数の印刷イメージレコード３０６で構成されている。
【００２２】
なお、変更テーブル３０１は、大きく分けて変更点に関する情報と、変更点の印刷位置に関する情報を含む変更レコード３０２により構成されている。変更ＩＤは、変更レコードで重複しない番号を付与し、複数登録可能となっている。
【００２３】
図４は、本発明の実施の形態における情報処理装置の機能ブロック図である。
情報処理装置１０１は、抽出部３１０、印刷順序決定部３３０、印刷イメージブロック作成部３４０、印刷レイアウト調整部３５０、目次作成部３６０を備えている。
【００２４】
抽出部３１０は、変更前のソースコードを含むソースファイル１００と、変更後のソースコードを含むソースファイル２００とを入力情報として受け取ると、２つのソースファイルからソースコード上の変更点並びに修正影響範囲を抽出し、図３に示す変更テーブルをＲＡＭ１００３に作成して、ソースコードの変更点数分の変更レコードを作成する。変更レコードに、変更があったファイル名、変更点が変数であれば変数名、関数であれば関数名、ソースコードの変更位置行、変更前ソースコード、変更後ソースコードを記憶する。この変更点を抽出する処理の説明は後述する。
【００２５】
また、印刷順序決定部３３０は、印刷順序を決定する。ＲＡＭ１００３に記憶した変更レコードを参照し、変更内容に応じて印刷順序グループを決定し、印刷順序グループＩＤ列に印刷順序グループＩＤを追加する。この印刷順序を決定する処理の流れは後述する。
【００２６】
印刷イメージブロック作成部３４０は、ＲＡＭ１００３に記憶させた印刷順序グループＩＤに応じた印刷イメージブロックを変更レコード数分作成し、ＲＡＭ３０２に記憶する。印刷イメージブロックイメージ作成時には変更レコードの印刷イメージブロックＩＤを付与し、印刷イメージブロックテーブルに印刷イメージレコードを追加する。この印刷イメージレコードを作成する処理の説明は後述する。
【００２７】
また、印刷レイアウト調整部３５０は、ＲＡＭ１００３に記憶した変更レコード及び印刷イメージレコードを参照し、印刷イメージレコードに記憶した印刷イメージオブジェクトの印刷順序と印刷するページのレイアウトを決定する。この印刷レイアウトを調整する処理の説明は後述する。
【００２８】
また、目次作成部３６０は、ＲＡＭ１００３に記憶した変更レコードの順に目次を作成する。目次にはファイル名列を見出し１とし、変数／関数名列を見出し２とし、見出し３には印刷位置行として印刷イメージブロック印刷ページ番号列と印刷イメージブロック印刷開始行列と印刷イメージブロック内変更位置行の行数を印刷位置行として目次を作成する。また、参照一覧列に情報がある場合は参照一覧の参照ファイル名と参照関数の開始行も目次に含める。この目次を作成する処理の説明は後述する。
最後に、目次作成部３６０で作成した目次と印刷レイアウト調整部３５０で作成した印刷レイアウト調整イメージをプリンタ３０１で印刷を行う。
次に、図５を用いて、変更点を抽出する処理の流れの説明を行う。
【００２９】
図５は、本発明の実施の形態における変更点を抽出する処理の流れを示すフローチャートである。
５０１において、情報処理装置は、変更前ソースファイル１００と変更後ソースファイル２００との入力を受け付けて、ソースコードが変更された箇所の解析を行う。解析の結果、ソースコードの変更点をリスト化したソースコード変更点リストに出力を行う。
【００３０】
５０２において、情報処理装置は、修正（変更）によって影響を受ける範囲の解析を行う。解析の結果、修正によって影響を受ける範囲を特定する情報をリスト化した修正影響範囲リストに出力を行う。
５０３において、情報処理装置は、変更レコードを作成して、変更テーブルに登録を行う。
以上、変更点を抽出する処理の流れの説明を行った。
次に、図６を用いて、印刷順序を決定する処理の流れを説明する。
【００３１】
図６は、本発明の実施の形態における印刷順序を決定する処理の流れを示すフローチャートである。
印刷順序グループは、Ａ：差分あり、Ｂ：差分変数／関数を参照している、Ｃ：差分も参照もなし、以上のルールで設定される。Ａ、Ｂ、Ｃの順に優先度が高く設定されるものとする。
【００３２】
６０１において、情報処理装置は、既に変更テーブルに追加されている変数／関数を除く、変更後ソースファイルの全ての変数／関数を変更テーブルに追加する。変更テーブルには、変更ＩＤ、ファイル名、変数／関数名を追加する。
６０２において、情報処理装置は、変更テーブルのすべての印刷順序グループにＣを設定する。
６０３において、情報処理装置は、変更テーブルから変更ＩＤ順に変更属性を検索する。
６０４において、情報処理装置は、変更テーブルから変数／関数名に紐づく変更属性を取得する。
６０５において、情報処理装置は、変更属性＝”追加”または変更属性＝”変更”または変更属性＝”削除”であるかの判定を行う。
６０６において、情報処理装置は、変更属性が、追加または変更または削除のとき、印刷順序グループＩＤにＡを設定する。
６０７において、情報処理装置は、参照一覧が存在するかの判定を行う。
６０８において、ファイル名と変数／関数名と一致する変数／関数が存在するかを変更テーブルのすべての参照一覧から検索する。
６０９において、情報処理装置は、印刷順序グループＩＤ＝Ｃであるかの判定を行う。
６１０において、情報処理装置は、印刷順序グループＩＤにＢを設定する。
【００３３】
６１１において、情報処理装置は、全ての変数／関数名の印刷順序グループＩＤを設定したかを判定し、Ｎｏの場合処理を繰り返す。これにより、全ての変更ＩＤに対して行い、印刷順序グループを決定する。
以上、印刷順序を決定する処理の流れの説明を行った。
次に、図７および図８を用いて、印刷イメージレコードを作成する処理の流れの説明を行う。
【００３４】
図７および図８は、本発明の実施の形態における印刷イメージレコードを作成する処理の流れを示すフローチャートである。
７０１において、情報処理装置は、変更後ソースファイルから、すべての変数／関数のイメージブロック（印刷イメージオブジェクト）を作成する。
【００３５】
７０２において、情報処理装置は、印刷イメージブロックリストに、印刷イメージブロックＩＤ、ファイル名、変数／関数名、行番号（変数／関数の開始行）、印刷イメージオブジェクトを設定する。
７０３において、情報処理装置は、Ｉｎｄｅｘに１を入力する。
７０４において、情報処理装置は、変更ＩＤの最大値がＩｎｄｅｘより小さいかの判定を行う。
７０５において、情報処理装置は、変更テーブルからＩｎｄｅｘの変更属性を取得する。
７０６において、情報処理装置は、変更属性＝追加であるかの判定を行う。
７０７において、情報処理装置は、印刷イメージブロックリストから同名変数／関数の印刷イメージオブジェクトを取得する。
７０８において、情報処理装置は、イメージブロックの変更位置行に強調イメージを設定する。
７０９において、情報処理装置は、変更属性＝編集であるかの判定を行う。
７１０において、情報処理装置は、変更テーブルから変更前ソースを取得する。
７１１において、情報処理装置は、イメージブロックの変更位置行に参照先イメージを設定する。
７１２において、情報処理装置は、変数が編集されていたかの判定を行う。
７１３において、情報処理装置は、イメージブロックの編集された変数に強調イメージを設定する。
８０１において、情報処理装置は、変更が条件式内の編集であるかの判定を行う。
８０２において、情報処理装置は、印刷イメージブロックに条件式範囲イメージを設定する
８０３において、情報処理装置は、変更行のスコープが１５行以上であるかの判定を行う。
８０４において、情報処理装置は、印刷イメージブロックにスコープ長イメージを設定する。
８０５において、情報処理装置は、印刷順序グループＩＤ＝Ｂであるかの判定を行う。
８０６において、情報処理装置は、変更テーブルのすべての参照関数を検索する。
８０７において、情報処理装置は、参照元イメージを作成する。
８０８において、情報処理装置は、省略イメージブロックを設定する。
８０９において、情報処理装置は、印刷イメージブロックリストの印刷イメージブロックＩＤを変更テーブルの印刷イメージブロックＩＤに設定する。
【００３６】
８１０において、情報処理装置は、印刷イメージブロックリストの先頭行番号と変更テーブルの変更位置行の差分を計算して印刷イメージブロック内変更位置行を設定する。
８１１において、情報処理装置は、Ｉｎｄｅｘに１を足す。
この処理を全ての印刷イメージブロックＩＤに対して行う。
【００３７】
図１３に作成した印刷イメージブロックの例を示す。図１３には、（１）変更点を示す例、（２）変更点の確認範囲を示す例、（３）変更点がなく、変更による影響を受けない関数の例の３つの例をそれぞれ示している。
以上、印刷イメージレコードを作成する処理の流れの説明を行った。
次に、図９乃至図１１を用いて、印刷レイアウトを調整する処理の流れの説明を行う。
【００３８】
図９乃至図１１は、本発明の実施の形態における印刷レイアウトを調整する処理の流れを示すフローチャートである。
【００３９】
９０１において、情報処理装置は、変更テーブルから［印刷順序グループＩＤ］の値が「Ａ」であるものを全て取得する。［印刷順序グループＩＤ］の値がＡであるものはその関数自体が変更されているものであるため、確認優先度は最優先となる。そのため印刷レイアウトとして［印刷順序グループＩＤ］がＡのものはまず全て列挙し印刷する。
【００４０】
９０２において、情報処理装置は、印刷イメージブロックオブジェクトが印刷用紙に収まるかを判定する。印刷配置は関数単位で行なうものとし、関数がページを跨いで印刷されないように配置する。そのために印刷用紙一枚に印刷できる行を算出し、それに収まるように［印刷順序グループＩＤ］がＡの値を持つ印刷イメージブロックを配置していく。このとき、印刷イメージブロックの行数によっては、取得した順序で配置していったときに、印刷用紙に無駄なスペースができる可能性がある。これを避けるために、［印刷順序グループＩＤ］がＡの値を持つ印刷イメージブロックであれば順不同として印刷ページに収まる関数を探索しつつ配置を決定していくものとする。
９０３において、情報処理装置は、印刷イメージブロックオブジェクトを用紙に配置する。
９０４において、情報処理装置は、現在のページを［印刷イメージブロック印刷ページ番号］に与える。
９０５において、情報処理装置は、現在の行を［印刷イメージブロック印刷イメージブロック開始行］に与える。
【００４１】
９０６において、情報処理装置は、全ての印刷イメージブロックオブジェクトを配置したかを判定する。残りの印刷イメージブロックが一つも収まらない場合に改ページを行い（９０８）、配置するブロックの探索を継続する。印刷ページ一枚に収まらない関数があった場合には、最後にページを跨いで印刷する。
９０７において、情報処理装置は、次の印刷イメージブロックオブジェクトを取得する。
【００４２】
１００１において、情報処理装置は、変更テーブルから［印刷順序グループＩＤ］の値が「Ｂ」であるものを全て取得する。［印刷順序グループＩＤ］の値がＢのイメージブロックは［印刷順序グループＩＤ］の値がＡのイメージブロックを参照している。本印刷物を用いたソースコードの変更点の確認をする際には参照している箇所と同時に見比べることで視点移動の煩わしさの軽減を図る。そのために、［印刷順序グループＩＤ］の値がＢのイメージブロックは、参照している［印刷順序グループＩＤ］の値がＡのイメージブロックの背面に印刷されないように配置する。この実現方法として、まず現在配置決めをしているページが印刷用紙の表面にある間は、新しい用紙であるか、［印刷順序グループＩＤ］の値がＡのイメージブロックの続きに配置されているかのいずれかであり、背面に参照先関数はないので［印刷順序グループＩＤ］の値がＡの時と同様に配置決めをする。
１００２において、情報処理装置は、現在の印刷面が表面であるかの判定を行う。
１００３において、情報処理装置は、印刷イメージブロックオブジェクトを配置する。
１００４において、情報処理装置は、現在のページを［印刷イメージブロック印刷ページ番号］に与える。
１００５において、情報処理装置は、現在の行を［印刷イメージブロック印刷イメージブロック開始行］に与える。
１００６において、情報処理装置は、次の印刷イメージブロックオブジェクトを取得する。
【００４３】
次に、現在配置決めをしているページが印刷用紙の裏面であった、あるいは裏面になった場合は、表面に配置されている「［印刷順序グループＩＤ］の値がＡのイメージブロック」を参照している「［印刷順序グループＩＤ］の値がＢのイメージブロック」は配置しない（例えばイメージブロック内で関数αを参照している関数βを、関数αの裏面に印刷してしまうことを抑制するため）。よって、表面に配置されている「［印刷順序グループＩＤ］の値がＡのイメージブロック」を参照していない「［印刷順序グループＩＤ］の値がＢのイメージブロック」のみを裏面への配置対象とする。
１００７において、情報処理装置は、表面にある印刷イメージブロックオブジェクトを参照していない印刷イメージオブジェクトを配置する。
１００８において、情報処理装置は、配置できる印刷イメージオブジェクトがあるかの判定を行う。
【００４４】
裏面への配置が終了するか、配置できるものが無くなった場合は、新しい用紙への配置処理に戻り、［印刷順序グループＩＤ］の値がＡの時と同様に残りのイメージブロックの配置決めをする。
１００９において、情報処理装置は、新しい用紙の表面へ遷移する。
１０１０において、情報処理装置は、次の印刷イメージブロックオブジェクトを取得する。
１０１１において、情報処理装置は、印刷イメージブロックオブジェクトを配置する。
１０１２において、情報処理装置は、現在のページを［印刷イメージブロック印刷ページ番号］に与える。
１０１３において、情報処理装置は、現在の行を［印刷イメージブロック印刷イメージブロック開始行］に与える。
１０１４において、情報処理装置は、全ての印刷イメージブロックオブジェクトを配置したかの判定を行う。
【００４５】
次に、１１０１において、情報処理装置は、［印刷順序グループＩＤ］の値がＣであるものをすべて取得する。［印刷順序グループＩＤ］の値がＣのイメージブロックは変更もされておらず、変更があった関数の参照もしていないものである（変更による影響がないイメージブロック）。変更された関数と同じファイルに存在しているものであり、内容の確認は必要ないが、ソースコード全体の構成として関数名を残したものである。先述の通り、［印刷順序グループＩＤ］の値がＣのイメージブロックを参照する可能性は低いため、印刷量を減量するために縮小（４ｉｎ１印刷等）して印刷する。そのために、現在の印刷配置位置から次の印刷配置面に移動し、縮小印刷設定をする。
１１０２において、情報処理装置は、次の面に移動する。
１１０３において、情報処理装置は、縮小印刷設定をする。
１１０４において、情報処理装置は、印刷イメージブロックオブジェクトを配置する。
１１０５において、情報処理装置は、全ての印刷イメージブロックオブジェクトを配置したかの判定を行う。
１１０６において、情報処理装置は、次の印刷イメージブロックオブジェクトを取得する。
【００４６】
印刷レイアウト調整処理では、印刷イメージブロックが実際に印刷されるページを印刷イメージブロック印刷ページ番号列に、印刷イメージブロックが実際に印刷される行を印刷イメージブロック印刷ページ番号列に記憶する。
以上、印刷レイアウトを調整する処理の流れの説明を行った。
次に、図１２を用いて、目次を作成する処理の流れの説明を行う。
【００４７】
図１２は、本発明の実施の形態における目次を作成する処理の流れを示すフローチャートである。
１２０１において、情報処理装置は、目次印刷用イメージファイルを作成する。
１２０２において、情報処理装置は、変更レコードが存在するかの判定を行う。
１２０３において、情報処理装置は、変更レコード取得する。
１２０４において、情報処理装置は、変更レコードから目次作成に必要な情報を取得して作成する。
１２０５において、情報処理装置は、作成した目次を目次印刷用イメージファイルに追加する。
図１４に作成した目次の例を示す。
以上、目次を作成する処理の流れの説明を行った。
【００４８】
上述した通り、ソースコードを用紙に印刷して変更点の確認をする作業者が、変更箇所や影響を受ける箇所を容易に識別できる仕組みを提供することができる。
そのため、作業者は、ソースコードが変更された点や変更によって影響を受ける箇所を確認する作業が軽減されることとなる。
また、影響を受ける箇所の確認をする作業に必要な個所のみの印刷をすることで印刷量の軽減を図ることが可能となる。
また、目次を作成することにより確認すべき箇所の確認漏れの発生を防止することができる。
【００４９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、
種々の変形・変更が可能である。
【００５０】
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００５１】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５２】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５３】
本発明を前記記憶媒体に適用する場合、その記憶媒体（コンピュータ読み取り可能な記憶媒体）には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【符号の説明】
【００５４】
１０１  クライアント端末
２０１  ソースファイル
３０１  プリンタ
４０１  ネットワーク
【図１】
2014123263.tif 000003
【図２】
2014123263.tif 000004
【図３】
2014123263.tif 000005
【図４】
2014123263.tif 000006
【図５】
2014123263.tif 000007
【図６】
2014123263.tif 000008
【図７】
2014123263.tif 000009
【図８】
2014123263.tif 000010
【図９】
2014123263.tif 000011
【図１０】
2014123263.tif 000012
【図１１】
2014123263.tif 000013
【図１２】
2014123263.tif 000014
【図１３】
2014123263.tif 000015
【図１４】
2014123263.tif 000016