IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特許7421137情報処理装置、情報処理方法およびプログラム
<>
  • 特許-情報処理装置、情報処理方法およびプログラム 図1
  • 特許-情報処理装置、情報処理方法およびプログラム 図2
  • 特許-情報処理装置、情報処理方法およびプログラム 図3
  • 特許-情報処理装置、情報処理方法およびプログラム 図4
  • 特許-情報処理装置、情報処理方法およびプログラム 図5
  • 特許-情報処理装置、情報処理方法およびプログラム 図6
  • 特許-情報処理装置、情報処理方法およびプログラム 図7
  • 特許-情報処理装置、情報処理方法およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06F 8/34 20180101AFI20240117BHJP
【FI】
G06F8/34
【請求項の数】 12
(21)【出願番号】P 2022033405
(22)【出願日】2022-03-04
(65)【公開番号】P2023128799
(43)【公開日】2023-09-14
【審査請求日】2022-05-06
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】中野 翔太
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2013-218507(JP,A)
【文献】国際公開第2010/136763(WO,A1)
【文献】特表2020-504347(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/34
(57)【特許請求の範囲】
【請求項1】
フローチャートを構成する各処理対応する各表示アイテム配置された前記フローチャートを表示するように制御する表示制御手段と、
前記各処理で使用する変数のうち、変更す変更元変数名の指示を受け付ける第1の受付手段と、
前記表示制御手段は、前記フローチャートの内、前記第1の受付手段で受け付けた変更元変数名が使用されている表示アイテムを識別表示するように制御することを特徴とする情報処理装置。
【請求項2】
前記第1の受付手段で変数名を変更する指示を受け付けた変更元変数名の変更後の変数名の入力を受け付ける第2の受付手段と、
前記第1の受付手段で受け付けた変更元変数名を前記第2の受付手段で受け付けた変更後の変数名にした前記各処理に対応するソースコードを出力する出力手段を有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、複数の種別の表示アイテムを配置可能であり、
特定の種別の表示アイテムに対応する処理としてユーザ操作に応じて変数名と処理内容を設定する設定手段を有することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記第1の受付手段で指示を受け付けられる変更元変数名として指定できる変数は、前記設定手段で設定された変数名の変数とすることを特徴とする請求項に記載の情報処理装置。
【請求項5】
前記第1の受付手段は、前記変更元変数名の候補を選択肢として表示し、前記選択肢からの選択を受け付けることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項6】
前記第1の受付手段は、前記フローチャートに含まれる複数の表示アイテムに対応する処理で使用する変数の変数名を検索して前記候補を抽出することを特徴とする請求項に記載の情報処理装置。
【請求項7】
前記フローチャートは、シングルページアプリケーションのスクリプトを生成するためのフローチャートであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項8】
前記第1の受付手段により複数の変更元変数名の指示を受け付けた場合、
前記表示制御手段は、前記指示を受け付けた複数の変更元変数名の表示アイテムをそれぞれ識別して表示制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記表示制御手段は、前記識別表示される表示アイテムを選択するか否かのアイコンを表示し、
前記出力手段は、前記アイコンにより選択された表示アイテムで使用する変更元変数名の変数を前記変更後の変数名に変更して、前記各処理に対応するソースコードを出力することを特徴とする請求項に記載の情報処理装置。
【請求項10】
前記出力手段は、前記アイコンにより選択されない表示アイテムで使用する変更元変数名の変数は、変数名を変更せずに、前記各処理に対応するソースコードを出力することを特徴とする請求項に記載の情報処理装置。
【請求項11】
フローチャートを構成する各処理対応する各表示アイテム配置された前記フローチャートを表示するように制御する第1の表示制御ステップと、
前記各処理で使用する変数のうち、変更す変更元変数名の指示を受け付ける第1の受付ステップと、
前記第1の表示制御ステップで表示された前記フローチャートの内、前記第1の受付ステップで受け付けた変更元変数名が使用されている表示アイテムを識別表示するように制御する第2の表示制御ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至10のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、開発中のアプリケーションソフトウェアのリファクタリングを実行する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
アプリケーション開発時に命名した変数名やメソッド名、パラメータ名など(以後、変数名と略)がわかりにくい名前の場合、ソースコードやフローチャートで処理の流れを追う際の可読性がわるくなり、後のデバッグ時や機能追加時にソースコードの解読が難解になる。デバッグ時や機能追加時にプログラムの改変の際に余計な工数がかかる。わかりにくい変数名はわかりやすい名前に修正することが望まれている。
【0003】
しかし、処理の複数の部分において変数が参照されている場合、すべての個所を把握しまとめて更新する必要がある。
【0004】
特許文献1には、ソースプログラムから解析対象の変数名と抽出範囲を指定し、解析対象の変数名の使用箇所を抽出、抽出された使用箇所から、指定された範囲内で使用されている他変数名を抽出、出力することが開示されている。この処理により、指定した変数名の変更と合わせて変更が必要な他の変数があった場合、変数に関する抜けの判定、間違いを発見・防止し、合わせて変更が必要な他の変数名の抽出ができることが記載されている。
【0005】
また、統合開発環境ソフト(たとえば、Eclipse Foundationから入手可能なEclipse Frameworkなど)のリファクタリングの名前変更機能を使えば、複数の部分で参照されている変数名があっても、まとめて変更することが可能である。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2002-132544号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のEclipse Frameworkなどのリファクタリングの機能はソースコードに内包されている変数名をまとめて変更することはできる。また、特許文献1もソースプログラム形式になっている場合は有効である。
【0008】
しかしながら、フローチャートで形成されたプログラムの場合、フローチャートなどの流れ図内で、変数名を変更しようとする変数の影響がおよぶ部分がわからないという課題が生じる。
【0009】
本発明は、チャート内で変数名を変更しようとする変数の影響がおよぶ部分を特定することを目的とする。
【課題を解決するための手段】
【0010】
フローチャートを構成する各処理対応する各表示アイテム配置された前記フローチャートを表示するように制御する表示制御手段と、
前記各処理で使用する変数のうち、変更す変更元変数名の指示を受け付ける第1の受付手段と、
前記表示制御手段は、前記フローチャートの内、前記第1の受付手段で受け付けた変更元変数名が使用されている表示アイテムを識別表示するように制御することを特徴とする。
【発明の効果】
【0011】
本発明によれば、チャート内で変数名を変更しようとする変数の影響がおよぶ部分を特定することができる。
【図面の簡単な説明】
【0012】
図1】本実施形態に係るシステム構成図である。
図2】本実施形態に係るプログラム開発装置、実行サーバ、データベースサーバ、クライアント装置として適用可能なハードウェア構成の一例を示すブロック図である。
図3】アプリケーション生成処理のフローチャートである。
図4】リポジトリ定義の一例を示す模式図である。
図5】変数名変更処理のフローチャートである。
図6】ステップ内変数表示処理のフローチャートである。
図7】アクション作成処理における画面表示例である。
図8】変数名変更処理における画面表示例である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0014】
図1は、本発明に係る情報処理装置(開発者がWebアプリケーション生成のために操作するプログラム開発装置)、実行サーバ、データベースサーバ、クライアント装置の構成の一例を示すシステム(情報処理システム)構成図である。
【0015】
情報処理装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、プログラムなどのアプリケーションソフトウェア(以下、単にアプリケーションと称する)の生成を行う。具体的には、情報処理装置101は、Webアプリケーションを開発する開発者によりリポジトリ定義として、アプリケーション定義、入出力定義、データモデル定義、ビジネスプロセス定義、データベース定義の各定義を設定し、これらの定義を用いて、Webアプリケーションを生成する。これら、アプリケーション定義、入出力定義、データモデル定義、ビジネスプロセス定義、データベース定義の定義は、Webアプリケーション開発ツールを介して、開発者によって事前に入力設定、または配置されてもよい。
【0016】
この実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとするが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。
【0017】
実行サーバ102は、情報処理装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。
【0018】
データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、情報処理装置101や、実行サーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
【0019】
クライアント装置104は、実行サーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、クライアント装置104は、携帯端末などの情報処理装置であってもよいこととする。
【0020】
なお、情報処理装置101、実行サーバ102、データベースサーバ103、および、クライアント装置104の何れかを、クラウドなどのインターネット上に配置してもよい。
【0021】
図2は、本発明に係る情報処理装置101、実行サーバ102、データベースサーバ103、クライアント装置104として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0022】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0023】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0024】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0025】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【0026】
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0027】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0028】
出力コントローラ206は、出力部210を表示制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【0029】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0030】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0031】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0032】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0033】
図3は、Webアプリケーション生成のフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、情報処理装置101のCPU201が実行する。
【0034】
情報処理装置101は、ディレクトリ構造を用いて、リポジトリ定義の各定義(アプリケーション定義、入出力定義、データモデル定義、ビジネスプロセス定義、データベース定義)をファイルとして管理する。なお、本実施形態においては、ディレクトリ構造を用いて、リポジトリ定義の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。
【0035】
ステップS301において、情報処理装置101は、リポジトリ定義からアプリケーション定義を取得する。リポジトリ定義の例を図4を参照して説明する。
【0036】
図4は、アプリケーション開発時に利用するリポジトリ定義の一例である。
【0037】
リポジトリ定義は、情報処理装置101の外部メモリ211に記憶されており、図4のようにディレクトリ構造でファイルとして管理されている。これらリポジトリ定義からアプリケーションを生成する。
【0038】
アプリケーション定義401は、プログラム開発アプリケーションにおいて開発するアプリケーションごとに保持される定義であって、そのアプリケーションで使用する設定、データ等を定義した情報である。具体的には、アプリケーションを生成する際に使用する入出力定義や、アプリケーション定義そのものの識別コード、アプリケーション名を定義可能である。
【0039】
データモデル定義402は、スキーマ情報として定義される定義である。各データモデル定義は、識別コードと名前を保持する。データモデル定義には複数のデータ項目が定義されている。具体的には、各種データ項目の項目コード、項目名、そのデータ項目で使用する桁数やデータタイプ(文字、数値、日付等のデータの型)、記憶するデータとしてnullを許可するか否かの許可設定等が定義されている。
【0040】
入出力定義403は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを含む定義情報である。入出力画面は通常複数の画面を有するため、図4の場合、入出力定義403のように4画面から形成されているアプリケーションを定義している。
【0041】
ビジネスプロセス定義404は、アプリケーションで動作するビジネスロジックを定義した情報である。例えば、ビジネスロジックごと操作タイプ(ビジネスプロセスへの入力データの変数格納、データモデルコードが保有する機能コードの内容を呼び出す、等)、データモデルコード、機能を示す機能コード等を含む。
【0042】
データベース定義405は、情報処理装置により生成されたプログラム(アプリケーション)がアクセスするサーバの設定を記憶した定義である。具体的には、アクセスするデータベースを保持しているサーバの識別コード、サーバ名、接続先URL、データベース名、データベースへの接続に必要となるユーザ名およびパスワード等が定義されている。
【0043】
UI定義406は、SPA(シングルページアプリケーション)を生成する際に必要な画面定義及びアクション定義である。SPAは、最初に必要なコードをまとめて実行サーバ102からクライアント装置104に送信するため、UI定義には、SPAでの画面の設計情報(入出力定義に該当)と画面遷移情報などが定義されている。そのため、UI定義には、画面情報とボタン押下など(アクション)による画面遷移順、クライアント装置104で可能な簡単な処理内容などの情報が定義されている。後述するフローチャート形式で生成されるプログラムは、UI定義で定義されている処理で実行されるプログラムである。
【0044】
なお、本願発明の実施例では、UI定義とUI画面上のアクションの処理(UIのボタン押下時の処理)を定義するフローチャート形式のプログラムにおける、変数名の変更処理として説明するが、UI画面上のアクションの処理のプログラムに限定されず、一般のフローチャート形式で生成されるプログラムであれば本願発明は適応可能である。
【0045】
以上で図4の説明を終わり、図3のフローチャートの説明に戻る。
【0046】
図3のステップS302において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義のデータモデル定義402をRAM202に読み込む。
【0047】
ステップS303において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義の入出力定義403をRAM202に読み込む。
【0048】
ステップS304において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義のビジネスプロセス定義404をRAM202に読み込む。
【0049】
ステップS305において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義のデータベース定義405をRAM202に読み込む。
【0050】
ステップS306において、情報処理装置101は、SPA用のUI画面を生成する処理(UI定義作成処理)を行う。SPA用のUI画面は、ステップS303で取得した入出力定義403からSPA用の画面定義を生成しても良いし、別にSPA用のUI画面をユーザから受け付けて生成しても良い。UI画面には、ユーザからの入力を受け付ける入力項目や、サーバから取得したデータ及びクライアントで演算される値を表示する出力項目、UI画面よりアクションを開始するボタンなどが配置されている。UI定義のリポジトリの例が406である。なお、UI画面が複数ある場合は、入出力定義403のようにリポジトリは複数のファイルから形成されても良い。
【0051】
ステップS307において、情報処理装置101は、SPAのUI画面に設定されているボタンなどのアクションによる処理の設定をユーザから受け付ける。設定されたアクションデータは、UI定義406に格納される。ボタンなどのアクションによる処理の具体例としては、データの取得、クライアントでできる演算の結果を出力項目に表示する処理、あるいは画面を遷移させ、異なるUI画面で表示(たとえば、帳票一覧表示画面から帳票詳細表示画面への画面遷移を表示)する処理などがある。
【0052】
ステップS307のボタンなどのアクションによる処理(以下、アクション処理)は、本実施例では、フローチャート形式で生成されるものとする。図7(a)、(b)を参照してフローチャート形式のプログラムを生成する手順を説明する。
【0053】
図7(a)、(b)は、アクション処理をフローチャート形式で生成する際の表示例である。
【0054】
図7(a)はフローチャートを形成するアクションエディタの初期画面(フローチャート形成前)の表示例である。
【0055】
図7(b)は、フローチャートエディタ部718に一連の処理として複数の処理ステップ(特定の処理が対応づけられた表示アイテム)を配置した後の図である。ユーザは、処理アイテムリスト714から処理アイテム715、716など様々な種別の処理に対応する表示アイテムである処理アイテムを、ドラッグ・アンド・ドロップなどによりフローチャートエディタ部718に処理ステップとして配置可能である。フローチャートエディタ部718に配置された複数の処理ステップは一連の処理を表すフローチャートとして表示される。後述する処理によってエディタ部718に表示されたフローチャートが示す処理を実行するプログラム(アプリケーション)が生成される。
【0056】
フローチャートエディタ部718の中のフローチャートは、UI画面のボタンが押下されると実行される処理で、図7(b)の場合は、最初に処理アイテム716「対象条件データ処理」がドラッグ・アンド・ドロップされた結果である処理ステップ719が配置されている。処理ステップ719は全件検索を行う処理を示している。全件検索するデータの取得先や取得するコラムなどは、処理ステップのプロパティ欄717に表示されるパラメータの入力により設定される(不図示)。なお、「全件検索」や「スクリプト1」などのフローチャートのラベルもプロパティ欄717で設定される。なお、フローチャートエディタ部718内の処理を示すステップ(表示アイテムとしての処理ステップ)は、処理ステップとし、図3図5図6のフローチャートの各ステップとは区別して記載する。
【0057】
フローチャートエディタ部718に配置された2つ目、3つ目の処理ステップである「スクリプト1」、「スクリプト2」は、処理アイテム715(「スクリプト」)がドラッグ・アンド・ドロップされて配置されたものである。処理アイテム715(「スクリプト」)をフローチャートエディタ部718に配置すると、プロパティ欄717に「JavaScript(登録商標)」のソースコードの入力を受け付けるエリア712が表示される。図7(b)は、処理ステップ711(3つ目の処理ステップ)の「スクリプト2」が選択されている状態であり、エリア712には、「スクリプト2」にユーザが登録したスクリプトが表示されている。エリア712には、変数713の名前(“ver02”)を使ったスクリプトのソースコードがユーザにより入力されている。変数713の名前(ver02)は、ユーザにより直接入力されてもよいし、エディタのサジェスト機能でユーザにより選択入力されてもよい。以上のように、S307において、ユーザによるUI画面のボタン押下後のアクション処理の定義を受け付ける。
【0058】
なお、変数713のようにユーザが設定した変数名でない変数名(たとえば、グローバル変数やデータモデルで予め設定されている変数名など)は、次のステップS308で処理する変数名変更処理からは除外する。グローバル変数やデータモデルで設定されている変数名などはプログラム生成で統一的に管理されている変数であり、開発者によって自由に変数名を変えると整合が取れなくなる可能性がある。ステップS308で処理する変数名変更は、ユーザが主にスクリプト内やデータ入出力値として一時的に命名した、フローチャート内で設定している変数名を管理・変更することを目的としている。図3のフローチャートの説明に戻る。
【0059】
ステップS308において、情報処理装置101は、ステップS307でユーザから受け付けたフローチャートの処理から変数名(変更元変数名)を変更する処理を行う。変数名を変更する理由としては、フローチャート内で変数名を統一させたり、異なる変数を同じ変数名で使用していたりする箇所がないかを把握するためである。詳細は図5を参照して後述する。
【0060】
ステップS309において、情報処理装置101は、RAM202に読み込んだリポジトリ定義の各定義・各ファイルから情報を取得し、ソースコードを生成する。
【0061】
なお、生成されたソースコードにはプログラミング言語が記載されたファイルに加え、HTML、JSP、JavaScript(登録商標)等のWebアプリケーションやWebサービスの提供に利用されるファイルも含まれる。
【0062】
ステップS310において、情報処理装置101は、ステップS309にて生成したソースコードを実行サーバ102に配置(デプロイ)する。これにより、実行サーバ102上でWebアプリケーション又はWebサービスが動作するようになる。
【0063】
以上で、図3の説明を終了する。
【0064】
図5は、変数名変更の処理のフローチャートの一例を示す図であり、前述した図3のS308の詳細処理である。なお、以下のフローチャートの各ステップは、情報処理装置101のCPU201が実行する。
【0065】
ステップS501において、情報処理装置101は、フローチャート内の各処理ステップに含まれているユーザにより指定された変数が使われている処理ステップを表示する処理を実行する。詳細を図6を参照して説明する。
【0066】
図6は、処理ステップ内変数表示の処理のフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、情報処理装置101のCPU201が実行する。
【0067】
ステップS601において、情報処理装置101は、アクションエディタを表示する。
【0068】
ステップS602において、情報処理装置101は、アクションエディタにおいて、ボタンなどのアクションによる処理(フローチャート)を表示するアクションの選択を受け付ける。アクションの選択受付には、図示しないアクションリストからプルダウンなどでユーザにより選ばれてもよいし、リスト表示されたアクションリストからラジオボタンなどでユーザにより選択されてもよい。アクションの選択を受け付けると、そのアクションのフローチャートを図8(a)のように表示する。
【0069】
ステップS603において、情報処理装置101は、ステップS602で選択を受け付けたフローチャートの各処理ステップのプロパティ情報を取得する。取得した各処理ステップの情報を解析し、変数名を抽出する。なお、前述したようにグローバル変数やデータモデルで設定されている変数名は、開発者は通常変更すべきでないため、このプルダウンで表示される変数名にはグローバル変数やデータモデルで設定されている変数名などは除外しても良い。
【0070】
ステップS604において、情報処理装置101は、ユーザから、フローチャート内で表示する変数の選択を受け付ける処理を行う。この処理は、変更元変数名の指示の受付を行う処理である。図8(a)と図8(b)を参照して説明する。
【0071】
図8(a)は、ステップS602で選択されたフローチャートが表示されている例である。
【0072】
定義名721は、アクションにつけられた定義名であり、フローチャートエディタ部718には、定義名721で定義されたアクションのフローチャートが表示されている。
【0073】
ステップS604の処理では、情報処理装置101は、変数選択受付処理として、変数名選択欄723を持つダイアログボックス722を表示する。表示された変数名選択欄723が操作されると、ステップS603により取得した変数名から、このフローチャート内で使用されている変数名を一覧としてプルダウンの選択肢として表示する。
【0074】
ステップS604でユーザにより変数が選択された例を図8(b)で示す。
【0075】
図8(b)は、ステップS604でユーザにより変数が選択された後の例である。
【0076】
例えば、変数名表示欄733に示す上側の欄には、ステップS604でユーザにより選択された変数名である「ver01」が表示される。下の欄にはステップS604でユーザにより選択された変数名である「ver02」という変数が選択されている。これらの変数名がフローチャートの何処で使われているかを示す処理を以下で説明する。図8(b)の検索ボタン731が押下されると、フローチャート内の変数の検索を開始する。図6のフローチャートの説明に戻る。
【0077】
図6のステップS605において、情報処理装置101は、フローチャートの処理ステップの数だけステップS605からステップS612の処理を繰り返す。
【0078】
ステップS606において、情報処理装置101は、該当の処理ステップのプロパティ情報を取得する。
【0079】
ステップS607において、情報処理装置101は、ステップS606で取得したプロパティ情報内に、ステップS604で選択された変数名(変数名表示欄733に表示された変数名)があるかを判断する。選択された変数名がある場合は、ステップS608へと処理を遷移し、変数名がない場合はステップS612へと処理を進めて、ステップS606の処理へと戻る。
【0080】
ステップS608において、情報処理装置101は、該当する処理ステップをRAM202へと記憶する。
【0081】
ステップS609において、情報処理装置101は、該当する処理ステップを他の処理ステップと識別可能に表示(識別表示)するため、強調表示する。強調表示した場合の表示例を図8(b)に示す。図8(b)の736や738はS609で行われる強調表示の表示例である。詳細は後述する。
【0082】
ステップS610において、情報処理装置101は、選択された変数名が複数かどうかを判断する。選択された変数名が複数ある場合(たとえば、図8(b)のように、“ver01”と“ver02”の2つがある場合など)は、ステップS611へと処理を遷移し、選択された変数名が複数ない場合は、ステップS612へと処理を進めて、ステップS606の処理へと戻る。
【0083】
ステップS611において、情報処理装置101は、選択された変数名の変数が含まれている処理ステップに、含まれている変数名を示すタグを付与する。ステップS611の処理が終わると、ステップS612へと処理を遷移し、処理ステップの数だけステップS606の処理から繰り返す。なお、S610の処理を行わずに、変数名が複数であるか否かにかかわらずS611の処理を行ってもよい。全処理ステップでステップS606~S612を繰り返すと、図6のフローチャートを終了し、図5のフローチャートへと処理を戻す。
【0084】
ステップS604~S612の処理の結果の表示例を図8(b)を参照して説明する。
【0085】
図8(b)の変数名表示欄733で選択されている変数“ver01”と“ver02”が存在するフローチャット上の処理ステップは処理ステップ737と処理ステップ739である。そのため、処理ステップ737は直前や直後の処理ステップのように、選択された変数名の変数が含まれない処理ステップよりも強調して表示する。図示の例では、強調枠736のように周りを異なる色で表示させて識別可能にしている。処理ステップ739も同様に、強調枠738によって強調表示している。また、図示の例では、変数名表示欄733に表示されたように「ver01」と「ver02」の2つ(複数)の変数が選択されているため、強調表示されている処理ステップに対してタグ734を表示している。タグ734には、それぞれの処理ステップに含まれている(すなわち、検索でヒットした)選択された変数名が表示される。これによって、複数の変数がある場合でもひと目でわかるようにしている。また、強調枠736の色でも複数の変数が識別できるように、強調枠736の色を、選択された変数名のそれぞれに対して対応付けられたマーカ色735としている。マーカー色735は、選択された変数名にそれぞれ一意に対応付けられた互いに異なる色である。
【0086】
図6のステップ内変数表示処理を終了すると、続いて、図5のステップS502において、情報処理装置101は、変更する変数名(選択された変数)の変更後の変数名の入力を受け付ける。この処理は、変更後の変数名の入力を受け付ける処理である。具体的には、図8(b)の置き換え変数名欄740への文字列の入力操作を受け付ける。図示の例は、置き換え変数名欄740に「stock_temp」という文字列が入力された例であり、ユーザによって変更前の変数名が「ver01」である変数の変更後の変数名を「stock_temp」にする指示を受け付けた状態である。同様に、変更前の変数名が「ver01」である変数の変更後の変数名も受け付け可能である。
【0087】
ステップS503において、情報処理装置101は、変数名を変更する候補の処理ステップにチェックボックスを配置する。具体的には、選択された変数名(変数名表示欄733に表示された変数名)の変数を含む処理ステップの全てにチェックボックスを表示するう。図8(b)の例では処理ステップ737と処理ステップ739内部の右上にそれぞれチェックボックスを表示している。
【0088】
ステップS504において、情報処理装置101は、ステップS503で表示されたチェックボックスに対するチェック操作を受け付ける。チェックを付ける操作は、選択された変数名(変数名表示欄733に表示された変数名)を、置き換え変数名欄740に入力された変数名に変更する対象となる処理ステップをユーザが指示(選択)する操作である。デフォルトでは、変数名を変更する処理ボックスのチェックボックスは全てONとする。これにより、変数名の変更のし忘れを防ぐことが可能となる。チェックが外された処理ステップに含まれる変数については、選択された変数名(変数名表示欄733に表示された変数名)であっても変数名を変更しない(置き換え変数名欄740に入力された変数名に置き換えない)。
【0089】
なお、ステップS503の処理とステップS504の処理は、開発途中で同じ変数名を異なる複数の変数に対して使用している不整合の発見や、同じ変数名でよい変数を別々の変数として使用している変数名の分かり難さを解消するために設けている。そのため、リファクタリングの場合は、ステップS503の処理とステップS504の処理は省く。リファクタリングの場合は、既に機能しているプログラムの変数名を変更するだけでよく、変数名がある処理ステップの変数名を変更したりしなかったりすると不整合が生じる可能性があるためである。
【0090】
ステップS505において、情報処理装置101は、変数名変更の実行指示を受け付ける。具体的には、図8(b)の置き換えボタン732の押下を実行指示として受け付ける。実行指示があった場合はS506に進み、実行指示が無い場合はS506の処理には進まない。。
【0091】
ステップS506において、情報処理装置101は、ステップS608でRAM202に記憶されている処理ステップの数だけ、ステップS507とステップS508の処理を繰り返す。なお、ステップS608でRAM202に記憶されている処理ステップであっても、S504でチェックボックスへのチェックが外されていた処理ステップに関してはS507の処理を行うことなく(変数名を変更することなく)スキップし、次の処理ステップに関する処理を行う。
【0092】
ステップS507において、情報処理装置101は、RAM202に記憶されている処理ステップの中の変数名を変更する変数の名前を変更する。画面の例では、図8の(b)の変数名表示欄733に表示された「ver01」という変数名を「stock_temp」という変数名に変更する。この処理により、開発時に仮につけた「ver01」という変数名ではなく、「stock_temp」という変数名から、この変数が在庫データの一時保存変数であることを容易に認識することが可能となる。従って、後日、新たに機能追加やデバッグをする際に、別の開発者でも変数の意味からプログラムの意味をフローチャート上で把握することができるようになるという効果が生じる。
【0093】
ステップS508において、情報処理装置101は、ステップS608でRAM202に記憶されている処理ステップの数だけステップS507へと処理を戻し、記憶されている処理ステップの数だけ、ステップS507の処理を実行すると、図5の変数名変更処理を終える。図5の変数名変更処理(すなわち、図4のS308の変数名変更処理)によって変更された変数名を用いて、前述のS309、S310が実行される。これによって、ユーザによって変更すべき変数名として選択された変数名を、変更後の変数名にしたソースコードであって、S307のアクション作成でユーザに作成されたフローチャート(図8(b)に表示されたフローチャート)が表す処理のソースコードが生成される。
【0094】
以上のように、本願発明により、フローチャート内で変数名を変更しようとする変数の影響がおよぶ部分を特定することが可能となる。
【0095】
なお、変数名が変更される影響を把握したいチャートであれば、フローチャートに限定されず、たとえばシーケンスチャートやステートチャートなどプログラム生成時に使用する図(チャート)でも応用可能である。
【0096】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0097】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0098】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0099】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0100】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0101】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0102】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0103】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0104】
101 プログラム開発装置(情報処理装置)
102 実行サーバ
103 データベースサーバ
104 クライアント装置
105 ネットワーク

図1
図2
図3
図4
図5
図6
図7
図8