特許第6626339号(P6626339)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

6626339システム設計支援装置、システム設計支援方法及びシステム設計支援プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6626339
(24)【登録日】2019年12月6日
(45)【発行日】2019年12月25日
(54)【発明の名称】システム設計支援装置、システム設計支援方法及びシステム設計支援プログラム
(51)【国際特許分類】
   G06F 8/34 20180101AFI20191216BHJP
【FI】
   G06F8/34
【請求項の数】15
【全頁数】22
(21)【出願番号】特願2015-245357(P2015-245357)
(22)【出願日】2015年12月16日
(65)【公開番号】特開2017-111615(P2017-111615A)
(43)【公開日】2017年6月22日
【審査請求日】2018年11月27日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(72)【発明者】
【氏名】稲富 慶智
(72)【発明者】
【氏名】吉内 英也
【審査官】 北元 健太
(56)【参考文献】
【文献】 特開平10−247106(JP,A)
【文献】 特開2009−295021(JP,A)
【文献】 特開2014−32447(JP,A)
【文献】 米国特許出願公開第2005/0010899(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00 − 8/77
(57)【特許請求の範囲】
【請求項1】
システム設計支援装置であって、
記憶部と、
アプリケーションロジックと
を備え、
前記記憶部は、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶し、
前記アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
を実行するシステム設計支援装置。
【請求項2】
請求項1に記載されたシステム設計支援装置において、
入出力情報クラスID、入出力クラス情報、イベントIDを登録することができるイベント入出力情報クラス管理テーブル
を備え、
前記アプリケーションロジックが、前記テーブル作成処理において、前記イベント入出力情報クラス管理テーブルに、入出力情報クラスIDを自動で採番して登録し、入力装置により定められたイベント入出力クラス情報を登録し、前記イベント管理テーブルで自動採番されたイベントIDを登録し、
前記アプリケーションロジックが、前記イベント入出力情報クラス管理テーブルのイベント入出力クラス情報、前記イベント管理テーブルの送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により、各ライフラインに関するイベントの処理順序を記述して構造情報を生成する、構造情報コード自動生成処理を、さらに実行することを特徴とするシステム設計支援装置。
【請求項3】
請求項2に記載されたシステム設計支援装置において、
前記アプリケーションロジックは、入力装置を通して前記テキスト情報が編集された場合、編集後テキスト情報を基に、前記イベント管理テーブルを変更し、前記イベント入出力情報クラス管理テーブルのイベント入出力クラス情報、前記イベント管理テーブルの送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により、各ライフラインに関するイベントの処理順序を記述して構造情報を変更する、ことを特徴とするシステム設計支援装置。
【請求項4】
請求項2に記載されたシステム設計支援装置において、
各イベントのプログラムを表すイベント名を記述した処理コードと、
入出力データID、入出力データ情報、入出力情報クラスIDを登録するイベント入出力データ管理テーブル
を備え、
前記アプリケーションロジックが、前記テーブル作成処理において、前記イベント入出力データ管理テーブルに、入出力データIDを自動採番して登録し、入力装置により定められたイベント入出力データ情報を登録し、前記イベント入出力情報クラス管理テーブルの入出力情報クラスIDを登録し、
前記アプリケーションロジックが、(1)前記イベント管理テーブルの各イベントに対応して予め定められたイベント名を含む処理コードを生成し、及び、(2)前記イベント入出力情報クラス管理テーブルのイベント入出力クラス情報と、前記イベント入出力データ管理テーブルのイベント入出力データ情報により、顧客情報に関するデータトランスファーオブジェクト(DTO)を生成する、処理コード実装処理を、さらに実行することを特徴とするシステム設計支援装置。
【請求項5】
請求項1に記載されたシステム設計支援装置において、
前記アプリケーションロジックが、
編集後テキスト情報のイベント情報に対応して、前記シーケンス図のイベントを描画し、
編集後テキスト情報の実行期間情報に対応して、前記シーケンス図の機能の実行期間を描画する、
ことを特徴とするシステム設計支援装置。
【請求項6】
請求項5に記載されたシステム設計支援装置において、
入出力情報クラスID、入出力クラス情報、イベントIDを登録することができるイベント入出力情報クラス管理テーブルと、
入出力データID、入出力データ情報、入出力情報クラスIDを登録するイベント入出力データ管理テーブル、
を備え、
前記アプリケーションロジックが、
前記イベント管理テーブルに、編集後テキスト情報のイベント情報をイベント名に追加登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして追加登録し、自動採番したシーケンス図IDを登録し、
前記イベント入出力データ管理テーブルに、入出力データIDを自動で採番して登録し、入力装置を通して予め定められたイベント入出力データ情報を登録し、前記イベント入出力情報クラス管理テーブルの入出力情報クラスIDを登録する、ことを特徴とするシステム設計支援装置。
【請求項7】
請求項6に記載されたシステム設計支援装置において、
前記アプリケーションロジックが、構造情報を、前記イベント管理テーブルの送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により、各ライフラインに関するイベントの処理順序を記述して、構造情報を編集後構造情報に修正する、ことを特徴とするシステム設計支援装置。
【請求項8】
請求項1に記載されたシステム設計支援装置において、
前記アプリケーションロジックが、
入力装置を通して構造情報が編集された編集後構造情報を前記記憶部に登録し、
編集後構造情報に含まれるイベント名をイベント管理テーブルに追加登録し、
イベント管理テーブルに追加登録されたイベント名に対応して編集後テキスト情報を生成し、
編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、ことを特徴とするシステム設計支援装置。
【請求項9】
請求項1に記載されたシステム設計支援装置において、
入出力情報クラスID、入出力クラス情報、イベントIDを登録することができるイベント入出力情報クラス管理テーブルと、
入出力データID、入出力データ情報、入出力情報クラスIDを登録するイベント入出力データ管理テーブル、
を備え、
前記アプリケーションロジックが、
入力装置を通してDTOが編集された編集後DTOを前記記憶部に登録し、
編集後DTOにより、前記イベント入出力データ管理テーブルに、入出力データIDを自動で採番して登録し、編集後DTOで編集されたイベント入出力データ情報を追加登録し、前記イベント入出力情報クラス管理テーブルの入出力情報クラスIDを登録する、ことを特徴とするシステム設計支援装置。
【請求項10】
システム設計支援方法であって、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶部に保持し、
アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
を実行するシステム設計支援方法。
【請求項11】
請求項10に記載されたシステム設計支援方法において、
入出力情報クラスID、入出力クラス情報、イベントIDを登録することができるイベント入出力情報クラス管理テーブル
を、前記記憶部にさらに保持し、
前記アプリケーションロジックが、前記テーブル作成処理において、前記イベント入出力情報クラス管理テーブルに、入出力情報クラスIDを自動で採番して登録し、入力装置により定められたイベント入出力クラス情報を登録し、前記イベント管理テーブルで自動採番されたイベントIDを登録し、
前記アプリケーションロジックが、前記イベント入出力情報クラス管理テーブルのイベント入出力クラス情報、前記イベント管理テーブルの送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により、各ライフラインに関するイベントの処理順序を記述して構造情報を生成する、構造情報コード自動生成処理を、さらに実行することを特徴とするシステム設計支援方法。
【請求項12】
請求項11に記載されたシステム設計支援方法において、
前記アプリケーションロジックは、入力装置を通して前記テキスト情報が編集された場合、編集後テキスト情報を基に、前記イベント管理テーブルを変更し、前記イベント入出力情報クラス管理テーブルのイベント入出力クラス情報、前記イベント管理テーブルの送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により、各ライフラインに関するイベントの処理順序を記述して構造情報を変更する、ことを特徴とするシステム設計支援方法。
【請求項13】
請求項10に記載されたシステム設計支援方法において、
前記アプリケーションロジックが、
入力装置を通して構造情報が編集された編集後構造情報を前記記憶部に登録し、
編集後構造情報に含まれるイベント名をイベント管理テーブルに追加登録し、
イベント管理テーブルに追加登録されたイベント名に対応して編集後テキスト情報を生成し、
編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、
ことを特徴とするシステム設計支援方法。
【請求項14】
請求項10に記載されたシステム設計支援方法において、
入出力情報クラスID、入出力クラス情報、イベントIDを登録することができるイベント入出力情報クラス管理テーブルと、
入出力データID、入出力データ情報、入出力情報クラスIDを登録するイベント入出力データ管理テーブル、
を、前記記憶部にさらに保持し、
前記アプリケーションロジックが、
入力装置を通してDTOが編集された編集後DTOを前記記憶部に登録し、
編集後DTOにより、前記イベント入出力データ管理テーブルに、入出力データIDを自動で採番して登録し、編集後DTOで編集されたイベント入出力データ情報を追加登録し、前記イベント入出力情報クラス管理テーブルの入出力情報クラスIDを登録する、
ことを特徴とするシステム設計支援方法。
【請求項15】
システム設計支援装置におけるシステム設計支援プログラムであって、
前記システム設計支援装置は、
記憶部と、
アプリケーションロジックと
を備え、
前記記憶部は、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶し、
前記アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
前記アプリケーションロジックに実行させるためのシステム設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム設計支援装置、システム設計支援方法及びシステム設計支援プログラムに係わり、特に、上流設計情報であるシーケンス図と下流工程の実装されたプログラム構造の同期を支援するためのシステム設計支援装置システム設計支援方法及びシステム設計支援プログラムに関する。
【背景技術】
【0002】
定型フォーマットの仕様書から業務プログラムを自動生成する技術は多数検討されている。本技術の代表的な背景技術として、特許文献1が挙げられる。特許文献1では、プログラム設計ドキュメントを解析して設計情報を抽出し、設計情報の雛型ソースコードを用いてソースコードを自動生成する。また、特許文献1には、自動生成したソースコードを修正した場合、修正後のソースコードと自動生成したソースコードの差分を抽出し、設計情報に影響のある差分を用いて、プログラム設計書を更新する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−041707号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
大規模システム開発においては、上流設計の漏れ・曖昧さを排除し、システム全体の動きを可視化するためにシーケンス図を設計することが重要視されている。しかし従来では、その規模の大きさや煩雑さ等からシーケンス図が一度作成され下流工程に移行した後の、メンテナンスを怠る場合が想定された。そのため下流工程時に発生したシステムの動きに関わるような変更があった際に実装されたプログラム構造が変更されてもシーケンス図は更新されず、下流工程においてシステム全体の動きの可視化が困難になる場合がありうる。
そこでシステム上流設計情報のシーケンス図と下流工程の実装されたプログラム構造の同期を支援する技術が必要である。
【0005】
以上の点を鑑み、本発明では、定型フォーマットの仕様としてシーケンス図を採用しシーケンス図とプログラム間の整合性を双方向で保持することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の解決手段によると、
システム設計支援装置であって、
記憶部と、
アプリケーションロジックと
を備え、
前記記憶部は、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶し、
前記アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
を実行するシステム設計支援装置が提供される。
【0007】
本発明の第2の解決手段によると、
システム設計支援方法であって、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶部に保持し、
アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
を実行するシステム設計支援方法が提供される。
【0008】
本発明の第3の解決手段によると、
システム設計支援装置におけるシステム設計支援プログラムであって、
前記システム設計支援装置は、
記憶部と、
アプリケーションロジックと
を備え、
前記記憶部は、
シーケンス図のタイトル、ライフライン情報、実行期間情報、ライフライン間を繋ぐイベント情報を含む、シーケンス図のテキスト情報と、
前記テキスト情報を描画したシーケンス図と、
顧客情報と、各ライフラインに関するイベントの処理順序を記述した構造情報と、
イベントID、イベント名、送信側ライフラインID・受信側ライフラインID、シーケンス図IDを登録するイベント管理テーブルと、
を記憶し、
前記アプリケーションロジックが、予め作成された前記シーケンス図の前記テキスト情報に基づき、ライフライン情報によりライフラインを描画し、イベント情報により各イベントを描画し、実行期間情報により機能の実行期間を描画することで前記シーケンス図を作成し、表示装置又は出力装置に前記シーケンス図を出力する、シーケンス図描画処理と、
前記アプリケーションロジックが、前記テキスト情報に基づき、前記イベント管理テーブルに、イベントIDを自動採番して登録し、前記テキスト情報のイベント情報をイベント名に登録し、ライフライン情報に対し予め定められたライフラインIDを送信側ライフラインID及び受信側ライフラインIDとして登録し、自動採番したシーケンス図IDを登録する、テーブル作成処理と、
前記アプリケーションロジックが、入力装置を通して前記テキスト情報が編集された編集後テキスト情報を前記記憶部に登録し、編集後テキスト情報を基に編集後シーケンス図を作成し、表示装置又は出力装置に出力する、仕様変更要求処理と、
をコンピュータに実行させるためのシステム設計支援プログラムが提供される。
【発明の効果】
【0009】
本発明によると、定型フォーマットの仕様としてシーケンス図を採用しシーケンス図とプログラム間の整合性を双方向で保持することができる。
【図面の簡単な説明】
【0010】
図1】システム上流設計支援装置の物理構成図である。
図2】シーケンス図を描画するために記述するテキスト情報の記述例を示す説明図である。
図3図2のテキスト情報をシーケンス図として描画した記述例を示した説明図である。
図4】(A)シーケンス図の構造情報を実装した構造情報コードの記述例を示す説明図である。(B)図4(A)をシステム仕様変更に対応して修正した記述例を示す説明図である。
図5】処理ロジックを実装する処理コードの記述例を示す説明図である。
図6】(A)DTO(Data Transfer Object)の記述例を示す説明図である。(B)図6(A)をシステム仕様変更に対応して修正した記述例を示す説明図である。
図7図2を仕様変更に対応して修正した記述例を示す説明図である。
図8図7のテキスト情報をシーケンス図として描画した記述例を示した説明図である。
図9】シーケンス図を管理するシーケンス図管理テーブルを示す説明図である。
図10】シーケンス図内の設計情報であるライフラインを管理するライフライン管理テーブルを示す説明図である。
図11(A)】イベントの入出力情報クラスを管理するイベント入出力情報クラス管理テーブルを示す説明図である。
図11(B)】図11(A)をシステム仕様変更に対応して修正した記述例を示す説明図である。
図12】イベントの入出力情報クラスを管理するイベント入出力情報クラス管理テーブルを示す説明図である。
図13】(A)イベントの入出力情報データを管理するイベント入出力情報データ管理テーブルを示す説明図である。(B)図13(A)をシステム仕様変更に対応して修正した記述例を示す説明図である。
図14】上流設計においてシーケンス図作成から始まり、上流設計支援装置を用いたシーケンス図又は、構造情報コードの自動修正の流れを説明した説明図である。
図15図14の「シーケンス図変更」と「構造情報コード自動修整」に関して詳細化を行った説明図である。
図16図14の「構造情報コード変更」と「シーケンス図自動修整」に関して詳細化を行った説明図である。
図17図14の「処理コード変更」と「シーケンス図付加情報自動修整」に関して詳細化を行った説明図である。
【発明を実施するための形態】
【0011】
1.概要

本実施例では、例えば、開発するプログラムをシーケンス図の構造情報を実装する構造情報コードと、処理ロジックを実装する処理コードに分離することにより処理ロジック実装後のシーケンス図変更に伴う構造情報変更を処理ロジックに影響を与えることなく、プログラムに修正を実施することを実現する。また、プログラムの構造情報コードを直接修正した場合も、修正部分を読み取りシーケンス図に修正を実施することを実現する。さらには、処理コードの変更も、自動的にシーケンス図に反映させることを実現させる。
本実施例により、上流設計から下流工程まで一貫した設計情報が担保される。そのため、下流工程において発生した仕様変更等を上流設計者がシステム全体にどのような影響を及ぼすか容易に把握することが可能になる。
【0012】
2.システム設計支援装置
図1は、システム上流設計支援装置の物理構成図を示す。システム上流設計支援装置では、入力I/F(インタフェース)107と出力I/F108、CPU109、HDD(ハードディスク)110、メモリ111がデータバス120によって接続され、各々の通信をデータバス120を経由して行う。入力I/F107はマウス、キーボードなどの入力装置105と接続している。また、出力I/F108はディスプレイなどの表示装置106と接続している。メモリ111にはシステム上流設計支援を行うアプリケーションロジック119、採用した定型フォーマットのシーケンス図を管理するシーケンス図管理テーブル112、シーケンス図内の設計情報であるイベントを管理するイベント管理テーブル113、シーケンス図内の設計情報であるライフラインを管理するライフライン管理テーブル114、イベントの入出力情報クラスを管理するイベント入出力情報クラス管理テーブル115、イベントの入出力情報データを管理するイベント入出力情報データ管理テーブル116が記憶されている。なお、参照番号112〜116で示した各テーブルはデータ量に応じてHDD110に格納する場合がある。
シーケンス図101についてのテキスト情報117及び描画データ(シーケンス図と呼ぶ場合がある。)、プログラム102に関する構造情報コード103及び処理コード104は、入力装置105及び/又は表示装置(出力装置)106で入力及び/又は出力され、あるいは、アプリケーションロジック119により作成又は登録され、メモリ111内に記憶される。
なお、ライフラインとは、例えば、後述するように、エンドユーザ、フロントアプリ、各処理、外部システム等を表す。
【0013】
図2は、本実施例ではシーケンス図を作図するためにテキスト情報を記述し、その情報をシーケンス図として描画させる方式を採用しており、その記述例を示した図である。
具体的には以下のような記述を設計者等が入力装置105を通して手動で記述することで、シーケンス図をアプリケーションロジック119が自動でシーケンス図を描画する。
・201:スタートを定義
・202:「title」シーケンス図のタイトルを定義
・203:「actor,control,participant」シーケンス図の縦軸(ライフライン)を定義
・205,206,208,210,212,213,215,217,218,220,221,223,225,226,228,229:「activate,deactivate」定義した機能の実行期間を定義
・204,207,209,211,214,216,219,222,224,227:「−>,−>>」左記の記号で定義したライフラインを繋ぐことで発生させる、イベントを定義。
・230:エンドを定義
【0014】
図3のシーケンス図は、本実施例で採用した定型フォーマットであるシーケンス図の記述例を示す図である。本実施例では、通信事業者の主業務の一つである新規申込業務を例に取って、図2のテキスト情報に基づき、図3のシーケンス図に表現している。新規申込業務とは、エンドユーザが携帯電話の契約サービスなどを新規で利用申込した際に、申込時に必要な「氏名」「住所」「生年月日」などのエンドユーザの入力情報に基づいてサービスの利用開始手続きを行い、エンドユーザの受付完了を知らせる業務処理を指している。一般的な新規申込業務は以下のような処理を経て遂行される。
1.新規申込画面入力(エンドユーザが申込画面等にて入力して発生するイベント)
2.新規申込通知(フロントアプリ(AP)が、新規申込画面入力から入力された情報を元にシステム内の同期処理機能を呼び出すイベント)
3.新規申込処理(同期処理機能が、新規申込通知から呼び出される同期処理を実行する機能)
4.新規申込(同期処理機能が、新規申込業務を処理するにあたって非同期処理機能を呼び出すイベント)
5.受付番号払出(同期処理機能が、払い出した受付番号をフロントAPに通知するイベント)
6.受付番号表示(フロントAPが、エンドユーザに同期処理機能が払い出した受付番号を画面等に表示させるイベント)
7.ID払出(非同期処理機能が、申込毎にIDを払いだす機能)
8.加入登録(非同期処理機能が、申込内容をデータベースに登録を行う機能)
9.加入登録通知(非同期処理機能が、外部システム等に加入登録が発生したことを通知するイベント)
10.登録結果通知(外部システム等が、加入登録通知を受け付けたことを通知するイベント)
【0015】
図4(A)の構造情報コードは、新規申込処理310のアプリケーションロジック119が構造情報を自動で抽出して、生成した記述例を示す説明図である。
構造情報とは、例えば、顧客情報と、各ライフライン毎のイベントの処理順序を記述したものである。
図4(B)は、図4(A)に本実施例においてシステム開発中に仕様変更があり加入審査412,411,413の記述をアプリケーションロジック119が自動で加えた記述例である。
【0016】
図5の処理コードは、加入登録機能314に設計者が入力装置105を通して手動で設定した情報をアプリケーションロジック119が抽出して生成した記述例を示す図である。処理ロジックを実装する雛形プログラムとなっている。
処理コードとは、例えば、各イベント毎のプログラムを表すイベント名を記述したものである。
【0017】
図6(A)は、設計者が入力装置105を通して手動で登録したイベント入出力情報クラス管理テーブル1201,イベント入出力データ管理テーブル1301に従ってアプリケーションロジック119が自動で生成したDTO(Data Transfer Object)の記述例を示した説明図である。
図6(B)は、図6(A)に本実施例においてシステム開発中に仕様変更があり生年月日611,612,614の記述をアプリケーションロジック119が自動で加えた記述例である。
【0018】
図7は、本実施例において図3にシステム開発中に加入審査701が加わるという、仕様変更があった場合のシーケンス図の記述例を示した図である。加入審査701が加える仕様変更に合わせて、加入審査通知703、外部システムの処理704審査結果通知705も加えられている。
【0019】
図8は、本実施例において図2にシステム開発中に加入審査に関する参照番号802〜804のシーケンスが加わるという、仕様変更があった場合のシーケンス図の記述例を示した図である。
【0020】
図9は、図2図8で定義したシーケンス図のテキスト情報を管理しているテーブルである。シーケンス図管理テーブル901は、シーケンス図ID902、シーケンス図名903を登録できる。シーケンス図ID901はアプリケーションロジック119で自動採番されて登録される。シーケンス図名903は、title202に設計者が定義した値をアプリケーションロジック119が自動で登録する。
【0021】
図10は、図2図8で定義したライフラインの情報を管理しているテーブルである。ライフライン管理テーブル1001は、ライフラインID1002、ライフライン名1003〜1008、ライフライン順序1009、シーケンス図ID1010を登録できる。ライフラインID1002はアプリケーションロジック119で自動採番されて登録される。ライフライン名1003〜1008は参照番号203で「actor,control,participant」に設計者が定義した値が登録される。ライフライン順序1009は、図2図8上でアプリケーションロジック119が自動で参照番号203の行数をカウントしてその数値が自動で登録される。ライフライン管理テーブル1001に登録されているシーケンス図ID1010は、アプリケーションロジック119が自動で登録されているライフラインが定義されているシーケンス図を識別するために登録される。
【0022】
図11(A)は、図2図8で定義したイベントの情報を管理しているテーブルである。イベント管理テーブル1101はイベントID1102、イベント名1103〜1112、イベント名(物理名)1113〜1117、イベント順序1118、送信側ライフラインID・受信側ライフラインID1119、シーケンス図ID1120を登録できる。イベントID1102はアプリケーションロジック119が自動で登録する。イベント名1103〜1112は参照番号204,207,209,211,214,216,219,222,224,227で「−>,−>>」に設計者が定義した値が登録される。イベント名(物理名)は設計者が入力装置105を通してイベントの付加情報として任意に登録できる。イベント順序1118は、アプリケーションロジック119が自動でイベント名1103〜1112が「@startuml」201から数えて「@enduml」230までで、何番目に記述されているかをカウントして登録される。送信側ライフラインID・受信側ライフラインID1119は、アプリケーションロジック119が自動で参照番号204,207,209,211,214,216,219,222,224,227に記述されている矢印の向き先によって登録される。(矢印の先端が受信側、矢印の後端が送信側)
イベント管理テーブル1101に登録されているシーケンス図ID1120はアプリケーションロジック119が自動で、登録されているイベントが定義されているシーケンス図を識別するために登録される。
図11(B)は、本実施例において、システム開発中に仕様変更があり、図11(A)に参照番号1121,1126,1127,1128,1129のイベントをアプリケーションロジック119が自動で登録し、参照番号1122〜1124の情報を設計者が入力装置105を通して手動で登録した記述例である。
【0023】
図12は、図2図8で定義したイベントに対して付加情報として、そのイベントの入出力情報を定義するクラス登録できるテーブルである。イベント入出力情報クラス管理テーブル1201は、入出力情報クラスID1202、入出力種別1203、クラス名1204、型名1205、クラス名(物理名)1206、イベントID1208を登録することができる。入出力情報クラスID1202はアプリケーションロジック119が自動採番して登録する。入出力種別1203は設定するレコードが対象のイベントの入力なのか、出力なのかを設計者が入力装置105を通して登録する。クラス名1204は設定するレコードの入出力情報クラスの論理名を設計者が入力装置105を通して登録する。型名1205はクラス名(物理名)の型名としてアプリケーションロジック119が自動で登録する。クラス名(物理名)1206は設定するレコードの入出力情報クラスの物理名を設計者が入力装置105を通して登録する。イベント入出力情報クラス管理テーブル1201に登録されているイベントID1208は、登録されているイベント入出力情報クラスが定義している対象のイベントを識別するためにアプリケーションロジック119が自動で登録する。
【0024】
図13(A)は、図12で定義したイベント入出力情報クラスに対して定義するデータを付加情報として管理するテーブルである。イベント入出力データ管理テーブル1301は、入出力データID1302,1303、データ名1304,1305、データ名(物理名)1306,1307、入出力情報クラスID1315、型名1308,1309を登録することができる。入出力データID1302,1303は、アプリケーションロジック119が自動採番して登録する。データ名1304,1305は設定するレコードのデータの論理名を設計者が入力装置105を通して登録する。データ名(物理名)1306,1307は設定するレコードのデータ名の物理名を設計者が入力装置105を通して登録する。型名1308,1309は設定するレコードのデータ名(物理名)1306,1307の型を設計者が入力装置105を通して登録する。イベント入出力データ管理テーブル1301に登録されている入出力情報クラスID1315は、登録されているイベント入出力データが定義している対象のイベント入出力情報クラスを識別するためにアプリケーションロジック119が自動で登録する。
図13(B)は、本実施例において、システム開発中に仕様変更がありの図13(A)に1311,1316をアプリケーションロジック119が自動で登録し、参照番号1312,1313,1314の情報を設計者が入力装置105を通して手動で登録した記述例である。
【0025】
3.処理

図14は、システム上流設計支援装置がシーケンス図作成1401から始まり、構造情報コード自動生成1402、処理コード実装1403、仕様変更要求1404において、シーケンス図変更1405、構造情報コード変更1407、処理コード変更1409のいずれかが発生した場合でも自動的に、その変更に応じて設計と実装が同期することができることを示したフロー図である。
【0026】
[シーケンス図作成1401]
シーケンス図作成1401では、設計者が入力装置105を通して手動で図2を作成しメモリ111に登録する。次にデータバス120を通して図2を入力にアプリケーションロジック119が自動で表示装置106を通して図3を描画する。
以下にアプリケーションロジック119が自動で図2を基に、どのように図3を描画しているのかの詳細な説明を記述する。
【0027】
A.シーケンス図描画ロジック
A−(1).ライフライン描画ロジック
参照番号203の情報を基にライフライン301〜306をアプリケーションロジック119が自動で表示装置106を通して描画する。
A−(2).イベント描画ロジック
それぞれ、204→307,207→308,209→309,211→310,214→311,216→312,219→313,222→314,224→315,227→316に対応して、アプリケーションロジック119が自動で表示装置106を通して各イベントを描画する。
A−(3).機能の実行期間描画ロジック
それぞれ、205,218→317、206,217→318、210,212→319、208,215→320、213,229→321、220,221→322、223,226→323、225,228→324に対応して、アプリケーションロジック119が自動で表示装置106を通して各々のactivate(起動)とdeactive(終了)を描画する。
【0028】
以下に図3を描画した際に、図2に基づくテーブル901,1001,1101,1201,1301の作成方法を記述する。
B.テーブル作成ロジック
B−(1).(図9)シーケンス図管理テーブル901:シーケンス図ID902をアプリケーションロジック119が自動で採番して登録する。参照番号202の情報をシーケンス図名903に、アプリケーションロジック119が自動で登録する。
B−(2).(図10)ライフライン管理テーブル1001:ライフラインID1002をアプリケーションロジック119が自動で採番して登録する。参照番号203の情報をライフライン名1003〜1008にアプリケーションロジック119が自動で登録する。参照番号203の行数をアプリケーションロジック119が自動でカウントして、その値をアプリケーションロジック119が自動でライフライン順序1009に登録する。アプリケーションロジック119が自動でB−(1)で採番された参照番号902をシーケンス図ID1010に登録する。
B−(3).(図11)イベント管理テーブル1101:イベントID1102をアプリケーションロジック119が自動で採番して登録する。イベント名は、204→1103,207→1104,209→1105,211→1106,214→1107,216→1108,219→1109,222→1110,224→1111,227→1112に対応して、アプリケーションロジック119が自動で登録する。イベント名1113,1114,1115,1116,1117は設計者が入力装置105を通して手動で登録する。201〜230までの行数をアプリケーションロジック119が自動でカウントして、かつ204,207,209,211,214,216,219,222,224,227の行数が若い順に順序を付けてイベント順序1118にアプリケーションロジック119が自動で登録する。参照番号204,207,209,211,214,216,219,222,224,227はすべて、「ライフライン名 > ライフライン名」「ライフライン名 >> ライフライン名」という形式で表現されている。送信側ライフラインID及び受信側ライフラインID1119には、ライフライン名をキーに図10のライフラインID1002に登録されているIDを(矢印の先端が受信側、矢印の後端が送信側)アプリケーションロジック119が自動で登録する。アプリケーションロジック119が自動でB−(1)で採番された図10のシーケンス図ID902をシーケンス図ID1130に登録する。
B−(4).(図12)イベント入出力情報クラス管理テーブル1201:入出力情報クラスID1202をアプリケーションロジック119が自動で採番して登録する。参照番号1203〜1206の情報は設計者が入力装置105を通して手動で登録する。アプリケーションロジック119が自動でB−(3)で採番された図11のイベントID1102によりイベントID1207をイベントID1208に登録する。
B−(5).(図13)イベント入出力データ管理テーブル:入出力データID1302,1303をアプリケーションロジック119が自動で採番して登録する。参照番号1304〜1307,1308,1309の各情報は設計者が入力装置105を通して手動で登録する。アプリケーションロジック119が自動でB−(4)で採番された図12の入出力情報クラスID1202を入出力情報クラスID1315に登録する。
【0029】
[構造情報コード自動生成1402]
登録されたテーブルを基に構造情報を生成するロジックの詳細を以下に説明する。
アプリケーションロジック119が自動で403を埋め込み、図12に基づき(ここでは、顧客情報)、1204→401,1203→402,1205→404,1206→405にそれぞれ対応し、また、図11の例えば、送信側ライフラインIDと受信側ライフラインIDが同一IDであるイベント情報により各ライフラインに関するイベント情報に基づき(ここでは、非同期処理に関する情報であるID払出と加入登録)、1109→406,1116→407,1117→408,1110→409,1117→410にそれぞれに対応して、図4(A)の構造情報を表示装置106を通して生成する。
【0030】
[処理コード実装1403]
処理コード実装1403では、アプリケーションロジック119が自動で図11の各イベント名(ここでは、参照番号1115)の情報を基に参照番号502を記述し、参照番号501を固定で埋め込み図5の処理コードを生成し表示装置106を通して生成する。またアプリケーションロジック119が自動で参照番号601,604,608を固定で埋め込み、図12に基づき、1205→602に対応し、図13に基づき、1304→603,1308→605,1306→606,1309→609,1307→610に対応して図6(A)のDTOを表示装置106を通して生成する。
【0031】
[仕様変更要求1404]
仕様変更要求1404では、システム開発工程において、シーケンス図変更1405、構造情報コード変更1407、処理コード変更1409の3パターンの仕様変更要求があった場合の分岐を示している。この3パターンの仕様変更要求を設計者がアプリケーションロジック119に入力装置105通して入力することで、それぞれに応じて対応する設計内容と実装内容をアプリケーションロジック119は自動的に同期することができる。
【0032】
図15は、図14の「シーケンス図変更」と「構造情報コード自動修整」に関して詳細化を行った説明図である。
ステップ1405,1406に関しての詳細な説明を図15を用いて以下に説明する。
ステップ1501では設計者が入力装置105を通して図2のテキスト情報を編集して、図8のテキスト情報をメモリ111に登録する。
次にステップ1502ではデータバス120を通してアプリケーションロジック119が自動で図8を入力に自動で表示装置106通して図7のシーケンス図を描画する。
図2から図8に編集した際の変更箇所は、参照番号802〜804,807,808である。参照番号802〜804,807,808以外の描画ロジックは前述で述べた「A.シーケンス図描画ロジック」と同様なので割愛する。参照番号802〜804,807,808に関しての描画ロジックの詳細を以下に記述する。
【0033】
C.シーケンス図描画ロジック(図8に関する)
C−(1).イベント描画ロジック
802→701,807→703,808→705に対応して、アプリケーションロジック119が自動で表示装置106を通して描画する。
C−(2).機能の実行期間描画ロジック
それぞれ、803,804→702、805,806→704に対応して、アプリケーションロジック119が自動で表示装置106を通して描画する。
【0034】
以下に図8を描画した際にテーブル1120,1316の作成方法を記述する。

D. テーブル作成ロジック(図8に関する)
D−(1).(図11)イベント管理テーブル1120:イベントID1121をアプリケーションロジック119が自動で採番して登録する。イベント名は802→1122,807→1123,808→1124に対応して、アプリケーションロジック119が自動で登録する。イベント名1125は設計者が入力装置105を通して手動で登録する。801〜805までの行数をアプリケーションロジック119が自動でカウントして、かつ802,807〜817の行数が若い順に順序を付けてイベント順序1126にアプリケーションロジック119が自動で登録する。802,807〜817はすべて、「ライフライン名 > ライフライン名」「ライフライン名 >> ライフライン名」という形式で表現されている。送信側ライフラインID1127,受信側ライフラインID1128には、ライフライン名をキーに図10のライフラインID1002に登録されているIDを(矢印の先端が受信側、矢印の後端が送信側)アプリケーションロジック119が自動で登録する。アプリケーションロジック119が自動でB−(1)で採番された図9のシーケンス図ID902をシーケンス図ID1131に登録する。
D−(2).(図13)イベント入出力データ管理テーブル:入出力データID1311をアプリケーションロジック119が自動で採番して登録する。参照番号1312,1313,1314の各情報は設計者が入力装置105を通して手動で登録する。アプリケーションロジック119が自動でB−(4)で採番された図12の入出力情報クラスID1202を入出力情報クラスID1316に登録する。
【0035】
ステップ1503では、図8の801〜805と図2の201〜230を1行ずつアプリケーションロジック119が自動で比較することで差分が802,803,805,806の行であることを抽出する。
【0036】
ステップ1504では、アプリケーションロジック119が自動で図4(A)を図4(B)に修正する。修正ロジックの詳細を以下に記述する。図4(A)に、1125→411,1122→412,1125→413に対応してアプリケーションロジック119が自動で表示装置106を通して修正し生成する。
【0037】
図16は、図14の「構造情報コード変更」と「シーケンス図自動修整」に関して詳細化を行った説明図である。
ステップ1407,1408に関しての詳細な説明を図16を用いて以下に説明する。
ステップ1601では設計者が入力装置105を通して図4(A)を編集して、図4(B)を生成する。
ステップ1602では、設計者が入力装置105を通して図4(B)をメモリ111に登録する。
ステップ1603では、図4(B)の構造情報に基づき、411→1125,412→1122,413→1125に対応してアプリケーションロジック119が自動で、図11(B)のイベント管理テーブルを登録する。また図11(B)のイベント管理テーブルのイベント名等のイベント情報に基づき、1122→802に対応してアプリケーションロジック119が自動で記述し設計者が入力装置105を通して803〜804,807,808を記述して図8のテキスト情報を生成する。
ステップ1604では、図8の801〜805と図2の201〜230を1行ずつアプリケーションロジック119が自動で比較することで差分が802,803,805,806の行であることを抽出する。
ステップ1605では、アプリケーションロジック119が自動で図8の編集後のテキスト情報を入力に図7のシーケンス図を表示装置106を通して描画する。(描画ロジックは「C.シーケンス図描画ロジック(図8に関する)」と同様)
【0038】
図17は、図14の「処理コード変更」と「シーケンス図付加情報自動修整」に関して詳細化を行った説明図である。
ステップ1409,1410に関しての詳細な説明を図17を用いて以下に説明する。
ステップ1701では設計者が入力装置105を通して図6(A)を編集して、図6(B)を生成する。
ステップ1702では設計者が入力装置105を通して図6(B)をメモリ111に登録する。
ステップ1703では、図6(B)のDTOに基づき、611→1312,613→1314,614→1313に対応してアプリケーションロジック119が自動でイベント入出力データ管理テーブル1310に登録する。
【0039】
4.付記

本実施例が開示するシステム設計支援装置、システム設計支援方法及びシステム設計支援プログラムは、とりわけ大規模システム開発において上流設計から下流工程まで一貫した設計情報が担保することができ、ひいては上流設計者の作業効率を向上することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0040】
本発明のシステム設計支援方法又はシステム設計支援装置・システムは、その各手順をコンピュータに実行させるためのシステム設計支援プログラム、システム設計支援プログラムを記録したコンピュータ読み取り可能な記録媒体、システム設計支援プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【符号の説明】
【0041】
101:定型フォーマットして採用したシーケンス図
105:入力装置
106:表示装置
107:入力インタフェース
108:出力インタフェース
109:CPU
110:ハードディスク(HDD)
111:メモリ
901:シーケンス図管理テーブル
1001:ライフライン管理テーブル
1101:イベント管理テーブル
1201:イベント入出力情報クラス管理テーブル
1301:イベント入出力情報データ管理テーブル

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11(A)】
図11(B)】
図12
図13
図14
図15
図16
図17