JP3716091B2 - 要求仕様モデル・他形式モデル変換装置及び方法 - Google Patents
要求仕様モデル・他形式モデル変換装置及び方法 Download PDFInfo
- Publication number
- JP3716091B2 JP3716091B2 JP03836198A JP3836198A JP3716091B2 JP 3716091 B2 JP3716091 B2 JP 3716091B2 JP 03836198 A JP03836198 A JP 03836198A JP 3836198 A JP3836198 A JP 3836198A JP 3716091 B2 JP3716091 B2 JP 3716091B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- character
- scenario
- model
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、システム開発対象業務を構成する構成要素に関する構成要素情報と、構成要素内、または、構成要素間の手続の起動連鎖を記録した手続連鎖情報を保持するシナリオとによって定義された要求仕様モデルを他の形式のモデルに変換する要求仕様モデル・他形式モデル変換装置及びその変換方法に関する。
【0002】
【従来の技術】
システム開発における要求仕様定義のための技術として、例えば、特開平9−81611号公報に記載されるように、対象業務を構成する要素であるキャラクターを定義し、キャラクターに持たせるデータや手続きを使って実世界の業務をシーンと呼ばれるシナリオの断片的な具体例として入力していくことで要求仕様を定義していく技術がある。ここでいうキャラクターとは、要求仕様中に出てくる「人」や具体的な「物」、その他概念的な「抽象物」である。キャラクターは、その名称、そのイメージを表現する表示図形情報、保持する内部データ情報と内部手続情報を持っている。キャラクターが保持する内部データ情報を属性といい、キャラクターが保持する内部手続情報をメッセージと言う。また、シナリオとは、要求仕様の断片的な具体例である。シナリオは、シーン及びそのシナリオに登場するキャラクタに関する情報を構成要素として持つ。シーンとは、キャラクター間の内部手続きの起動連鎖のことである。
【0003】
要求仕様定義技術で定義した要求仕様モデルファイルを、他形式のモデルファイルを扱うプログラムで利用できるように変換する技術として、要求仕様モデル・他形式モデル変換技術がある。要求仕様モデル・他形式モデル変換技術とは、上述したような要求仕様定義プログラムにより定義した要求仕様モデルのファイルを、別のプログラムが入力するための他の形式のモデルファイルのデータ形式に合せて変換し、そのプログラムが入力して編集し、表示装置に表示できるようにする技術である。近年、これらの技術を適用したソフトウェア製品が実現されつつある。
【0004】
【発明が解決しようとする課題】
上述したような従来の要求仕様モデル・他形式モデル変換装置では、要求仕様モデルを構成するキャラクター及びシナリオが全て他形式モデルの要素として変換されていた。そのため、要求仕様モデルから他形式モデルへ変換した後、不必要な他の形式モデルの要素を削除しなければならないといった問題があった。
【0005】
本発明の目的は、要求仕様モデルから他形式モデルに変換する時に、必要な他形式モデルの要素のみを生成することのできる要求仕様モデル・他形式モデル変換装置を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明による要求仕様モデル・他形式モデル変換装置及び変換方法は、システム開発対象業務を構成する構成要素が保持する名称、データ名称及び手続き名称を記録した構成要素情報と、構成要素間の手続きの起動連鎖を記録した手続き起動連鎖情報、または構成要素内の手続きの起動連鎖を記録した手続き起動連鎖情報を保持するシナリオとによって定義された要求仕様モデルを他の形式のモデルに変換する要求仕様モデル・他形式モデル変換装置及び変換方法において、コンピュータ読み取り可能な記憶装置に格納され、要求仕様モデルからなる要求仕様モデルファイルを要求仕様モデルファイル入力手段から読み込む。要求仕様モデルファイル入力手段が入力した要求仕様モデルファイルから得られる構成要素情報、構成要素が他形式モデルの要素となるか否かの判断材料となる構成要素種別を構成要素情報記憶手段に記憶する。また、要求仕様モデルファイル入力手段が入力した要求仕様モデルファイルから得られるシナリオをシナリオ情報記憶手段に記憶する。構成要素情報解析・生成手段は、構成要素情報記憶手段に格納された構成要素情報を基に、構成要素種別から構成要素が他形式モデルの要素となるか否かを判断し、他形式モデルの要素を生成する。シナリオ情報解析・生成手段は、シナリオ情報記憶手段に格納されたシナリオを基に、他形式モデルの要素を生成する。構成要素情報解析・生成手段、及びシナリオ解析・生成手段により生成された他形式モデルの要素は、他形式モデルファイル出力手段により統合され、コンピュータ書込み可能な記憶装置に格納される。
【0007】
本発明による要求仕様モデル・他形式モデル変換装置は、他の観点によれば、コンピュータ読み取り可能な記憶装置に格納された要求仕様モデルファイルを読み込む要求仕様モデルファイル入力手段と、要求仕様モデルファイル入力手段より受け取ったキャラクター情報である、キャラクターを識別するキャラクター識別子、キャラクターの状態を表す値を格納する属性及びキャラクターの実行可能な動作を表すメッセージなどを記憶し、かつキャラクターが他形式モデルの要素となるか否かの判断材料となるキャラクター種別を記憶するキャラクター情報記憶手段と、要求仕様モデルファイル入力手段より受け取ったシナリオ情報である、シナリオを識別するシナリオ識別子、シナリオに登場するキャラクターを示すキャラクター識別子及びシナリオを構成するシーンなどを記憶するシナリオ情報記憶手段と、キャラクター情報記憶手段より取り出したキャラクター情報を基に、キャラクター種別からキャラクターが他形式モデルの要素となるか否かを判断し、他形式モデルの要素を生成するキャラクター情報解析・生成手段と、シナリオ情報記憶手段より取り出したシナリオ情報を基に、他形式モデルの要素を生成するシナリオ情報解析・生成手段と、キャラクター情報解析・生成手段及びシナリオ情報解析・生成手段より受け取った他形式モデルの要素を統合し、コンピュータ書込み可能な記憶装置に格納する他形式モデルファイル出力手段を備えることを特徴とする。
【0008】
【発明の実施の形態】
図1は、本実施の形態において要求仕様モデル変換処理を行う電子計算機の構成図である。本実施例では、要求仕様モデルを、オブジェクト指向モデル化技法であるUML(Unified Modeling Language)が扱う形式であるUMLモデルに変換する。分析・設計手法である。UMLに関する技術としては、例えば、Terry Quatrani, "Visual Modeling with Rational Rose", ISBN:0-201-31016-3に記載された技術が知られている。
【0009】
UMLは、クラスやクラス間の関係を表現するクラス図、オブジェクト間の手続きであるシーンを時系列的な流れとして表現するシーケンス図、及びシステムの外部インタフェースを表現するユースケース図などの図によりモデルを表現する。UMLモデルの構成要素には、開発対象システムを構成する要素であるオブジェクトやオブジェクトの集合であるクラスの他に、例えば、ユーザや既存システムなどのシステム外部にあり、システムと情報交換を行うアクターや、アクターに対してシステムが何を行うかを示すためのものであるユースケースなどといったものがある。
【0010】
図1において、処理装置102は、パーソナルコンピュータ、あるいはワークステーションなどの計算機である。処理装置102の主記憶装置又は処理装置102に接続される外部記憶装置上には、キャラクター情報を構成する要素であるキャラクターを識別するキャラクター名称、キャラクターの状態を表す値を格納する属性、及びキャラクターの実行可能な動作を表すメッセージを記憶し、かつキャラクターが他形式モデルの要素となるか否かの判断材料となるキャラクター種別を記憶するキャラクター情報記憶部105、シナリオ情報を構成する要素であるシナリオを識別するシナリオ識別子、シナリオに登場するキャラクターを示すキャラクター識別子、及びシナリオを構成するシーンを記憶するシナリオ情報記憶部106、キャラクター情報解析・生成部107が生成したクラス情報を記憶するクラス図情報記憶部109、キャラクター情報解析・生成部107が生成したアクター情報、シナリオ情報解析・生成部108が生成したユースケース情報及び関連情報を記憶するユースケース図情報記憶部110、及びシナリオ情報解析・生成部108が生成したシーケンス図情報を記憶するシーケンス図情報一覧記憶部111の各記憶部が設けられる。
【0011】
処理装置102は、その機能として、コンピュータ読み取り可能な入力記憶装置101に格納された要求仕様モデルファイルを読み込む要求仕様モデルファイル入力部104、キャラクター情報記憶部105より取り出したキャラクター情報を基に、キャラクター種別からキャラクターがUMLモデルの要素であるクラスとなるかアクターとなるかを判断し、UMLモデルのクラス情報又はアクター情報を生成するキャラクター情報解析・生成部107、シナリオ情報記憶部106より取り出したシナリオ情報を基に、UMLモデルのシーケンス図を生成するかまたはユースケース及び関連を生成するかを判断し、シーケンス図情報又はユースケース情報及び関連情報を生成するシナリオ情報解析・生成部108、及びクラス図情報記憶部109、ユースケース図情報記憶部110、及びシーケンス図情報一覧記憶部111より受け取ったUMLモデルの要素を統合し、コンピュータ書込み可能な出力記憶装置103に格納するUMLモデルファイル出力部112の各処理部を有する。これらの処理部は、具体的には、処理装置102の主記憶装置、又は処理装置102に接続される外部記憶装置上に格納され、本実施の形態における要求仕様モデル・他形式モデル変換プログラムを構成するプログラムモジュールであり、処理装置102によって実行されることによりその機能が実現される。
【0012】
図2は、外部プログラムである要求仕様モデル作成プログラム201、処理装置101により実行される要求仕様モデル・他形式モデル変換プログラム202、及び外部プログラムであるUMLモデル入力プログラム203を接続し、要求仕様モデルファイル生成からUMLモデルファイル生成までを行う手順を示した図である。要求仕様モデル作成プログラム201は、要求仕様モデルファイルを生成するためのプログラムである。入力記憶装置101には、要求仕様モデル作成プログラム201が作成した要求仕様モデルファイルが格納される。要求仕様モデル・他形式モデル変換プログラム202は、入力記憶装置101に格納された要求仕様モデルファイルをUMLモデルファイルに変換し、出力記憶装置103に格納する。出力記憶装置103に格納されたUMLモデルファイルは、別の外部プログラムであるUMLモデル入力プログラム202が入力する。
【0013】
図3に、入力記憶装置101に格納された要求仕様モデルファイルの詳細を示す。
【0014】
要求仕様モデルファイル1901は、開発対象業務の構成要素であるキャラクターの情報を保持するキャラクター情報1902及び対象業務の具体例であるシナリオの情報を保持するシナリオ情報から構成される。
【0015】
キャラクター情報1902は、識別子であるキャラクター名称1903、キャラクター種別1904、キャラクターの内部データを表わす属性1905、及びキャラクターの内部手続きであるメッセージ1908を有している。属性1905は、識別子である属性名称1906及びデータ値を表わす属性値1907から構成される。メッセージ1908は、識別子であるメッセージ名称1910から構成される。
【0016】
シナリオ情報1911は、識別子であるシナリオ名称1912、シナリオを構成するキャラクターの一覧を表わすシナリオ内キャラクター情報一覧1913、及びシナリオ内でのキャラクター間の手続きの起動連鎖を表わすシーン情報1916から構成される。シナリオ内キャラクター情報一覧1913は、キャラクター名称1914及びシナリオ上での配置位置を示す座標1915の対のリストである。シーン情報1916は、メッセージ送信により手続きの起動を要求するところのキャラクターを表わすメッセージ送信キャラクター名称1917、メッセージを受け取り手続きの起動を行なうところのキャラクターを表わすメッセージ受信キャラクター名称1918及び起動される手続きを表わすメッセージ名称1919から構成される。
【0017】
図4に、キャラクター情報記憶部105に格納されるキャラクター情報301の詳細を示す。キャラクター情報記憶部105には、キャラクター情報301が格納される。キャラクター情報301は、キャラクターの識別子であるキャラクター名称302、キャラクターが開発対象システム構成要素であるかそうでないかを示すためのキャラクター種別303、0個以上の属性304、及び0個以上のメッセージ307から構成される。属性304は、識別子である属性名称305及び属性値306から構成される。メッセージ307は、識別子であるメッセージ名称308から構成される。属性名称305は、1つのキャラクター情報において一意である。また、メッセージ名称308も、1つのキャラクター情報において一意である。
【0018】
本実施の形態では、キャラクターが開発対象システム構成要素であるか否かの区別は、特別な文字列がキャラクター種別303に格納されているか否で行う。本実施の形態では、文字列“Actor”を特別な文字列として用いることとする。
【0019】
図5に、シナリオ情報記憶部106に格納されるシナリオ情報401の詳細を示す。シナリオ情報401は、シナリオの識別子であるシナリオ名称402、シナリオを構成するキャラクターの一覧を示すシナリオ内キャラクター情報一覧403、及びシナリオを構成するシーンを表す0個以上のシーン情報406から構成される。
【0020】
シナリオ内キャラクター情報一覧403には、キャラクター名称404及び座標405が格納される。キャラクター名称404は、キャラクター情報記憶部106に格納されたキャラクター情報のうち同一名称のものを指し示す。要求仕様モデル作成プログラム201及びシナリオ情報解析・生成部108などにおいてキャラクター名称404が指し示すキャラクター情報を取得する場合は、キャラクター情報記憶部106を逐次参照し、キャラクター名称404とキャラクター名称302が同一であるか否かをチェックしていき、キャラクター情報301を取得する。
【0021】
シーン情報406には、メッセージ送信元のキャラクターを表すメッセージ送信キャラクター名称407、メッセージ受信先を表すメッセージ受信キャラクター名称408、及び送信されたメッセージを表すメッセージ名称409が格納される。メッセージ送信キャラクター名称407及びメッセージ受信キャラクター名称408もまた、キャラクター情報記憶部106に格納されたキャラクター情報のうち同一名称のものを指し示す。メッセージ名称409は、受信キャラクター名称408が指し示すキャラクター情報の中のメッセージのうち同一名称のものを指し示す。
【0022】
なお、シナリオ名称402は、シナリオ情報記憶部106に格納された全てのシナリオ情報401において一意である。
【0023】
図6は、シナリオ情報401とキャラクター情報301の関係を具体例を用いて示した関連図である。
【0024】
販売管理システムのシナリオ情報401には、シナリオ名称402として「販売管理システム」が格納されている。シナリオ内キャラクター情報一覧403には、キャラクター名称404として「業務担当」及び「顧客データベース」が格納されている。キャラクター名称404「業務担当」は、座標(10,20)に、キャラクター名称404「顧客データベース」は、座標(20,20)にそれぞれ位置する。シーン情報406には、メッセージ送信キャラクター名称407として「業務担当」、メッセージ受信キャラクター名称408として「顧客データベース」、及びメッセージ名称409として「顧客検索」が格納されている。
【0025】
キャラクター情報301aには、キャラクター名称302aとして「業務担当」、キャラクター種別303aとして「Actor」、及びメッセージ307aが格納されている。メッセージ307aには、メッセージ名称308aとして「検索結果出力」が格納されている。もう一つのキャラクター情報301bには、キャラクター名称302bとして「顧客データベース」、キャラクター種別303bとして「非アクター」、及びメッセージ307bが格納されている。メッセージ307bには、メッセージ名称308bとして「顧客検索」が格納されている。
【0026】
シナリオ内キャラクター情報一覧403に格納されたキャラクター名称404「業務担当」及びメッセージ送信キャラクター名称407は、キャラクター名称302a「業務担当」を格納するキャラクター情報301aを指し示す。同様に、キャラクター名称404「顧客データベース」及びメッセージ受信キャラクター名称408「顧客データベース」はキャラクター名称302bを指し示す。また、メッセージ名称409「顧客検索」は、メッセージ307bを指し示す。
【0027】
図7は、クラス図情報記憶部109の詳細図である。クラス図情報記憶部109には、キャラクター情報から生成して得られたクラス情報601が格納される。クラス情報601は、クラスを識別するためのクラス名称602、クラスの状態を表すための0個以上の属性603、及び0個以上のメッセージ606から構成される。属性603は、属性名称604及び属性値605から構成される。メッセージ606は、メッセージ名称607から構成される。
【0028】
図8は、ユースケース図情報記憶部110の詳細図である。ユースケース図情報記憶部110には、キャラクター情報から生成して得られたアクター情報701、シナリオ情報から生成して得られたユースケース情報711、及び関連情報708が格納される。
【0029】
アクター情報701は、アクターを識別するためのアクター名称702、アクターの状態を表す0個以上の属性703、及び0個以上のメッセージ706から構成される。属性703は、属性名称704及び属性値705から構成される。メッセージ706は、メッセージ名称707から構成される。
【0030】
ユースケース情報711は、識別子であるユースケース名称712及びユースケースが持つところのシーケンス図を表すシーケンス図情報713から構成される。
【0031】
関連情報708は、アクターとユースケースの関連を表すためのもので、関連するアクター名称709及び関連するユースケース名称710から構成される。
【0032】
図9は、シーケンス図情報一覧記憶部111の詳細図である。シーケンス図情報一覧記憶部111はシナリオ情報解析・生成部108が生成したシーケンス図情報(但しユースケース情報711に含まれるシーケンス図情報は除く)を格納するためのもので、0個以上のシーケンス図情報801が格納される。
【0033】
図10に、図8のシーケンス図情報713及び図9のシーケンス図情報801の詳細を示す。シーケンス図情報記憶部111に格納されるシーケンス図情報801とユースケース情報711に格納されるシーケンス図情報713の構成は同じである。シーケンス図情報713、801は、シーケンス名称901及び0個以上のシーン情報902から構成される。シーン情報902は、メッセージ送信オブジェクト名称903、メッセージ受信オブジェクト名称904、及びメッセージ名称905から構成される。
【0034】
なお、本実施の形態では、ユースケース名称712とシーケンス図情報713に格納されたシーケンス名称とを同じ名称にしている。これは、UMLモデル入力プログラム202においてユースケースとシーケンス図の対応関係がより明確にするためである。
【0035】
図11及び図12は、シーケンス図情報713とアクター情報701、クラス情報601との関係、関連情報708とアクター情報701、ユースケース情報711との関係を具体例を用いて示す図である。
【0036】
図11においてシーケンス図情報713のシーケンス名称901には、「販売管理システム」が格納される。シーン情報902には、メッセージ送信オブジェクト名称903として「業務担当」、メッセージ受信オブジェクト名称904として「顧客データベース」、メッセージ名称905として「顧客検索」が格納される。アクター情報701には、アクター名称702として「業務担当」が格納される。メッセージ706には、メッセージ名称707として「検索結果出力」が格納される。クラス情報601には、クラス名称602として「顧客データベース」が格納され、メッセージ606には、メッセージ名称607として「顧客検索」が格納される。
【0037】
メッセージ送信オブジェクト名称903「業務担当」は、同一名称のアクター情報701を指し示す。メッセージ受信オブジェクト名称904「顧客データベース」は、クラス情報601を指し示す。メッセージ905「顧客検索」は、メッセージ606を指し示す。
【0038】
図12において関連情報708中の関連するアクター名称709「業務担当」は、アクター情報701「業務担当」を指し示す。また、関連するユースケース名称710「販売管理システム」は、ユースケース情報711「販売管理システム」を指し示す。ユースケース情報711のユースケース名称712「販売管理システム」とシーケンス図情報713のシーケンス名称901「販売管理システム」は同一である。
【0039】
以下、本実施の形態における要求仕様モデルファイルからUMLモデルファイルへの変換処理(要求仕様モデル変換処理)について説明する。
【0040】
図13は、処理装置102における要求仕様モデル変換処理の流れを示すフローチャートである。
【0041】
まず、要求仕様モデルファイル入力部104は、入力記憶装置101に格納された要求仕様モデルファイル1901を入力し、要求仕様モデルファイル1901からキャラクター情報1902を抽出し、キャラクター情報記憶部105にキャラクター情報301として格納する。同様に、要求仕様モデルファイル1901から抽出されるシナリオ情報1911は、シナリオ情報記憶部106にシナリオ情報401として格納される(ステップ1201)。
【0042】
次に、キャラクター情報解析・生成部107は、キャラクター情報記憶部105に格納されたキャラクター情報301を参照し、クラス情報601、またはアクター情報701のいずれかを生成する。クラス情報601を生成した場合、キャラクター情報解析・生成部107は、生成したクラス情報601をクラス図情報記憶部109に格納する。一方、アクター情報701を生成した場合、キャラクター情報解析・生成部107は、生成したアクター情報701をユースケース図情報記憶部110に格納する(ステップ1202)。
【0043】
次に、シナリオ情報解析・生成部108は、シナリオ情報記憶部106に格納されたシナリオ情報401を元に、シーケンス図情報801の生成してシーケンス図情報一覧記憶部111への格納するか、あるいは、ユースケース情報711及び関連情報708を生成してユースケース図情報記憶部110へ格納する。このステップでは、シーケンス図情報801とユースケース情報711のいずれか一方が生成される(ステップ1203)。
【0044】
次に、UMLモデルファイル出力部112は、クラス図情報記憶部109に格納されたクラス情報109、ユースケース図情報記憶部110に格納されたアクター情報701、ユースケース情報711、及び関連情報708、並びに、シーケンス図情報一覧記憶部111に格納されたシーケンス図情報801を統合してUMLモデルファイルを生成し、出力記憶装置103に出力する(ステップ1204)。
【0045】
図14は、ステップ1202の詳細なフローチャートである。
【0046】
ステップ1202では、まず、キャラクター情報記憶部105に格納されたキャラクター情報301を逐次取得するため、キャラクター情報取得位置ポインタをキャラクター情報記憶部105の先頭位置に設定する(ステップ1301)。
【0047】
次に、キャラクター情報解析・生成部107は、キャラクター情報取得位置ポインタで示されるキャラクター情報記憶部105の記憶位置にキャラクター情報301があるかどうかを調べる(ステップ1302)。キャラクター情報が無ければ、キャラクター情報解析・生成部107は、ステップ1202の処理を終了する。キャラクター情報がある場合は、キャラクター情報解析・生成部107は、そのキャラクター情報301を取得する(ステップ1303)。
【0048】
次に、キャラクター情報解析・生成部107はキャラクター情報301のキャラクター種別303を参照し、文字列“Actor”の有無を調べる(ステップ1304)。文字列“Actor”がある場合、キャラクター情報解析・生成部107は、キャラクター情報301を元にアクター情報701を生成し、ユースケース図情報記憶部110に格納する。具体的には、キャラクター情報解析・生成部107は、キャラクター情報記憶部105に格納されたキャラクター情報301からキャラクター名称302を取得し、アクター名称702として格納する。キャラクター情報301から属性名称305及び属性値306を取得し、アクター情報701の属性名称704及び属性値705として格納する。また、キャラクター情報301からメッセージ名称308を取得し、アクター情報701のメッセージ名称707として格納する(ステップ1305)。
【0049】
ステップ1304で文字列”Actor”がないと判断した場合、キャラクター情報解析・生成部107は、キャラクター情報301を元にクラス情報601を生成し、クラス図情報記憶部109に格納する。すなわち、キャラクター情報解析・生成部107は、キャラクター情報記憶部105に格納されたキャラクター情報301からキャラクター名称302を取得し、クラス名称602として格納する。キャラクター情報301から属性名称305及び属性値306を取得し、クラス情報601の属性名称604及び属性値605として格納する。キャラクター情報301からメッセージ名称308を取得し、クラス情報601のメッセージ名称607として格納する(ステップ1306)。
【0050】
クラス情報601又はアクター情報701を生成したら、キャラクター情報解析・生成部107は、次のキャラクター情報301を取得するため、キャラクター情報取得位置ポインタをキャラクター情報1個分進める(ステップ1307)。そして、キャラクター情報解析・生成部107は、ステップ1302、ステップ1303、ステップ1304、ステップ1305またはステップ1306、及びステップ1307を、全てのキャラクター情報を取得するまで繰り返す。
【0051】
図15は、ステップ1203の詳細なフローチャートである。
【0052】
ステップ1203でシナリオ情報解析・生成部108は、まず、シナリオ情報記憶部106に格納されたシナリオ情報401を逐次取得するため、シナリオ情報取得位置ポインタにシナリオ情報記憶部106の先頭位置を設定する(ステップ1401)。
【0053】
次に、シナリオ情報解析・生成部108は、シナリオ情報取得位置ポインタで示されるシナリオ情報記憶部106の記憶位置にシナリオ情報401があるかどうかを調べ、シナリオ情報401がなければステップ1203の処理を終了する(ステップ1402)。シナリオ情報401があれば、シナリオ情報解析・生成部108は、そのシナリオ情報401を取得する(ステップ1403)。
【0054】
次に、シナリオ情報解析・生成部108は、シナリオ情報401を元にシーケンス図情報801を生成してシーケンス図情報一覧記憶部111へ格納するか、または、ユースケース情報711を生成してユースケース図情報記憶部110へ格納する(ステップ1404)。
【0055】
続いて、シナリオ情報解析・生成部108は、シナリオ情報取得位置ポインタをシナリオ情報1個分進める(ステップ1405)。その後、シナリオ情報解析・生成部108は、ステップ1402、1403、1404、及び1405の処理を、シナリオ情報記憶部106に格納された全てのシナリオ情報を参照し終えるまで行う。
【0056】
図16は、ステップ1404の詳細なフローチャートである。
【0057】
ステップ1404でシナリオ情報解析・生成部108は、まず、シナリオ情報401中のシナリオ内キャラクター情報一覧403に格納された全てのキャラクター名称を取得するため、キャラクター名称取得位置ポインタに、そのシナリオ情報401内のシナリオ内キャラクター情報一覧403の先頭位置を設定する(ステップ1501)。
【0058】
シナリオ情報解析・生成部108は、キャラクター名称取得位置ポインタで示される位置にキャラクター名称404があるかどうかを調べる(ステップ1502)。キャラクター名称404がある場合、シナリオ情報解析・生成部108は、キャラクター名称404を取得する(ステップ1503)。
【0059】
次に、シナリオ情報解析・生成部108は、キャラクター情報記憶部105を先頭から逐次参照し、キャラクター名称404と同一名称のキャラクター情報301を取得する(ステップ1504)。
【0060】
続いて、シナリオ情報解析・生成部108は、キャラクター情報301中のキャラクター種別303を調べ、文字列“Actor”の有無を調べる(ステップ1505)。
【0061】
文字列“Actor”がある場合、シナリオ情報解析・生成部108は、ユースケース情報711を生成し、ユースケース図情報記憶部110に格納する。この処理において、シナリオ情報解析・生成部108は、シナリオ情報記憶部106に格納されたシナリオ情報401からシナリオ名称を402取得し、ユースケース名称712としてユースケース情報711に格納する。そして、次のようにしてシナリオ情報401からシーケンス図情報713を生成し、ユースケース情報711に格納する。まず、シナリオ情報解析・生成部108は、シナリオ名称402をシーケンス名称901として格納する。シナリオ情報401の各シーン情報406からメッセージ送信キャラクター名称407、メッセージ受信キャラクター名称408、及びメッセージ名称409を取得し、それぞれメッセージ送信オブジェクト名称903、メッセージ受信オブジェクト名称904及びメッセージ名称905として格納してシーン情報902を生成する(ステップ1507)。この後、シナリオ情報解析・生成部108は、関連情報708を生成する(ステップ1508)。
【0062】
ステップ1505で文字列“Actor”がみつからなかった場合、シナリオ情報解析・生成部108は、次のキャラクター名称404を取得するためキャラクター名称取得位置ポインタを進める(ステップ1506)。
【0063】
シナリオ情報解析・生成部108は、ステップ1502以降の処理をシナリオ内キャラクター情報一覧に格納された全てのキャラクター名称404を参照し終えるか、またはキャラクター名称404が指し示すキャラクター情報301のうち、キャラクター種別303に文字列“Actor”を持つものを見つけるまで行う。
【0064】
ステップ1502においてキャラクター名称取得位置ポインタで示される位置にキャラクター名称404がない場合、すなわち、全てのキャラクター名称404について、文字列“Actor”がなかったとき、シナリオ情報解析・生成部108は、シーケンス図情報801を生成し、シーケンス図情報一覧記憶部111に格納する。この処理でシナリオ情報解析・生成部108は、シナリオ名称402をシーケンス名称901として格納する。そして、シナリオ情報401の各シーン情報406からメッセージ送信キャラクター名称407、メッセージ受信キャラクター名称408、及びメッセージ名称409を取得し、それぞれメッセージ送信オブジェクト名称903、メッセージ受信オブジェクト名称904及びメッセージ名称905として格納してシーン情報902を生成する(ステップ1509)。
【0065】
図17は、ステップ1508における関連情報の生成処理の詳細なフローチャートである。
【0066】
シナリオ情報解析・生成部108は、1個のシナリオ情報401中のシナリオ内キャラクター情報一覧403に格納された全てのキャラクター名称404を取得するため、キャラクター名称取得位置ポインタに、シナリオ内キャラクター情報一覧403の先頭位置を設定する(ステップ1601)。
【0067】
次に、シナリオ情報解析・生成部108は、キャラクター取得位置にキャラクター名称があるかどうかを調べ、キャラクター名称がなければこの処理を終了する(ステップ1602)。
【0068】
キャラクター名称があれば、シナリオ情報解析・生成部108は、シナリオ内キャラクター情報一覧403に格納されたキャラクター名称404を取得する(ステップ1603)。そして、シナリオ情報解析・生成部108は、キャラクター情報記憶部105を先頭から逐次参照し、取得したキャラクター名称404と同一名称のキャラクター情報301を取得する(ステップ1603)。
【0069】
次に、シナリオ情報解析・生成部108は、取得したキャラクター情報が持つキャラクター種別303に文字列“Actor”があるかどうかを調べる(ステップ1605)。文字列“Actor”がある場合、シナリオ情報解析・生成部108は、キャラクター名称302を関連するアクター名称709として、シナリオ名称402を関連するユースケース名称710として関連情報708を生成し、ユースケース図情報記憶部110に格納する(ステップ1606)。ステップ1605においてキャラクター種別303に文字列“Actor”がなかった場合、ステップ1606の処理は、スキップされる。
【0070】
次のキャラクター名称をシナリオ内キャラクター情報一覧から取得するため、キャラクター名称取得位置ポインタを進める(ステップ1607)。以後、ステップ1602以降の処理が、シナリオ内キャラクター情報一覧に格納された全てのキャラクター名称を参照し終えるまで繰り返される。
【0071】
図18は、要求仕様作成プログラム201で作成した要求仕様モデルの具体例である。
【0072】
キャラクターの一覧1701は、要求仕様モデルに属する全てのキャラクターを表示するためのものである。この例では、要求仕様モデルには、キャラクター業務担当1702及びキャラクター顧客データベース1703が属している。業務担当1702の詳細な情報は1704に表示される。また、顧客データベース1703の詳細な情報は1705に表示される。
【0073】
シナリオ販売管理システム1706には、キャラクター業務担当1702及びキャラクター1703「顧客データベース」が登場する。1702及び1703は、シナリオ販売管理システム1706を構成するシーンである。シーン1707において、キャラクター1702「業務担当」からキャラクター1703「顧客データベース」に対してメッセージ「顧客検索」が渡される。同様に、シーン1708において、キャラクター1703「顧客データベース」からキャラクター1702「業務担当」に対してメッセージ「検索結果出力」が渡される。
【0074】
図19は、図18に示す要求仕様モデルを、処理装置102により変換して得たUMLモデルである。
【0075】
キャラクター1703「顧客データベース」は、キャラクター種別に“Actor”を持たないためクラス1802に変換される。クラスは、クラス図1801に配置される。
【0076】
キャラクター1702「業務担当」はキャラクター種別に文字列“Actor”を持つため、アクター1804に変換され、ユースケース図1803に配置される。
【0077】
シナリオ販売管理システム1706には、キャラクター種別に“Actor”を持つキャラクター1702である「業務担当」が登場するため、ユースケース1805に変換され、ユースケース図1803に配置される。ユースケース1805はシーケンス図1806を持つ。
【0078】
以上説明した実施の形態によれば、要求仕様モデルを他の形式のモデルに変換する際に、キャラクターやシナリオが他の形式モデル要素の生成対象であるかどうかを判定し、モデル要素の生成をおこなうので、要求仕様モデルから他形式モデルに変換する時に、変換される他の形式モデルにおいて必要のない要素を生成することがなく、必要な他形式モデルの要素のみを生成することのできる。このため、変換処理後に、生成された他の形式モデルにおいて不必要なの要素を削除するといった手間を省くことができる。
【0079】
【発明の効果】
以上説明したように、本発明によれば、要求仕様モデルから他形式モデルへの変換時に、変換後のモデルで必要となる要素のみを生成することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態において要求仕様モデル変換処理を行うためのシステムの概略構成図である。
【図2】要求仕様モデル・他形式モデル変換プログラムと外部プログラムの連携を示す概略図である。
【図3】入力記憶装置に格納された要求仕様モデルファイルの詳細図である。
【図4】キャラクター情報記憶部の詳細図である。
【図5】シナリオ情報記憶部の詳細図である。
【図6】シナリオ情報とキャラクター情報の関係を示す関連図である。
【図7】クラス図情報記憶部の詳細図である。
【図8】ユースケース図情報記憶部の詳細図である。
【図9】シーケンス図情報一覧記憶部の詳細図である。
【図10】シーケンス図情報の詳細図である。
【図11】シーケンス図情報とクラス情報及びアクター情報との関係を示した情報関連図である。
【図12】関連情報と、アクター情報及びユースケース情報との間の関係を示した情報関連図である。
【図13】要求仕様モデル変換処理の概要を示すフローチャートである。
【図14】クラス情報/アクター情報生成処理の詳細なフローチャートである。
【図15】シーケンス図情報、またはユースケース情報及び関連情報生成処理の詳細なフローチャートである。
【図16】シーケンス図情報、またはユースケース情報及び関連情報生成の詳細なフローチャートである。
【図17】関連情報生成処理の詳細なフローチャートである。
【図18】要求仕様モデル作成プログラムで作成した要求仕様モデルの説明図である。
【図19】要求仕様モデル変換処理により変換して得られたUMLモデルの説明図である。
【符号の説明】
101…入力記憶装置
102…処理装置
103…出力記憶装置
104…要求仕様モデルファイル入力部
105…キャラクター情報記憶部
106…シナリオ情報記憶部
107…キャラクター情報解析・生成部
108…シナリオ情報解析・生成部
109…クラス図情報記憶部
110…ユースケース図情報記憶部
111…シーケンス図情報記憶部
112…UMLモデルファイル出力部
Claims (2)
- システム開発対象業務を構成する構成要素が保持し、前記システム開発対象業務の構成要素であるキャラクターのキャラクター名称、メッセージ名称およびシナリオ名称を記録した構成要素情報と、上記構成要素間の手続きの起動連鎖を記録した手続き起動連鎖情報、または上記構成要素内の手続きの起動連鎖を記録した手続き起動連鎖情報を保持するシナリオとによって定義された要求仕様モデルを他の形式のモデルに変換する要求仕様モデル・他形式モデル変換装置において、
コンピュータ読み取り可能な記憶装置に格納され、上記要求仕様モデルからなる要求仕様モデルファイルを読み込む要求仕様モデルファイル入力手段と、
上記要求仕様モデルファイル入力手段が入力した上記要求仕様モデルファイルから得られる上記構成要素情報を記憶し、かつ構成要素が他形式モデルの要素となるか否かの判断材料となる構成要素種別を記憶する構成要素情報記憶手段と、
上記要求仕様モデルファイル入力手段が入力した上記要求仕様モデルファイルから得られるシナリオを記憶するシナリオ情報記憶手段と、
上記構成要素情報記憶手段に格納された上記構成要素情報を基に、上記構成要素種別から上記構成要素が他形式モデルの要素となるか否かを判断し、他形式モデルの要素を生成する構成要素情報解析・生成手段と、
上記シナリオ情報記憶手段に格納された上記シナリオを基に、他形式モデルの要素を生成するシナリオ情報解析・生成手段と、
上記構成要素情報解析・生成手段及び上記シナリオ解析・生成手段より受け取った上記他形式モデルの要素を統合し、コンピュータ書込み可能な記憶装置に格納する他形式モデルファイル出力手段とを備えることを特徴とする要求仕様モデル・他形式モデル変換装置。 - システム開発対象業務を構成する構成要素が保持し、前記システム開発対象業務の構成要素であるキャラクターのキャラクター名称、メッセージ名称およびシナリオ名称を記録した構成要素情報と、上記構成要素間の手続きの起動連鎖を記録した手続き起動連鎖情報、または上記構成要素内の手続きの起動連鎖を記録した手続き起動連鎖情報を保持するシナリオとによって定義された要求仕様モデルを、他の形式のモデルに変換する要求仕様モデル・他形式モデル変換方法において、
コンピュータ読み取り可能な記憶装置に格納され、上記要求仕様モデルを保持する要求仕様モデルファイルを読み込み、
構成要素種別から構成要素が他形式モデルの要素他形式モデルの要素となるか否かを判断して他形式モデルの要素を生成し、
上記シナリオを構成する構成要素の構成要素種別からシナリオが他形式モデルの要素となるか否かを判断して他形式モデルの要素を生成し、
上記構成要素情報から生成した他形式モデルの要素及び上記シナリオを基に生成した他形式モデルの要素を統合してコンピュータ書込み可能な記憶装置に格納することを特徴とする要求仕様モデル・他形式モデル変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03836198A JP3716091B2 (ja) | 1998-02-20 | 1998-02-20 | 要求仕様モデル・他形式モデル変換装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03836198A JP3716091B2 (ja) | 1998-02-20 | 1998-02-20 | 要求仕様モデル・他形式モデル変換装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11237979A JPH11237979A (ja) | 1999-08-31 |
JP3716091B2 true JP3716091B2 (ja) | 2005-11-16 |
Family
ID=12523155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03836198A Expired - Fee Related JP3716091B2 (ja) | 1998-02-20 | 1998-02-20 | 要求仕様モデル・他形式モデル変換装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3716091B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3555107B2 (ja) | 1999-11-24 | 2004-08-18 | ソニー株式会社 | 脚式移動ロボット及び脚式移動ロボットの動作制御方法 |
DE10015114A1 (de) * | 2000-03-28 | 2001-10-04 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Modellierung eines mechatronischen Systems in einem Kraftfahrzeug |
JP5544064B2 (ja) * | 2007-04-20 | 2014-07-09 | 株式会社明電舎 | ソフトウェア開発支援システム、開発支援方法およびプログラム |
KR100940127B1 (ko) | 2008-04-25 | 2010-02-03 | 비티에스테크놀로지스(주) | 요구사항 모델에서 자연어로의 번역방법 |
-
1998
- 1998-02-20 JP JP03836198A patent/JP3716091B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11237979A (ja) | 1999-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101528853B1 (ko) | Api 서비스 방법과 api 매쉬업 생성 방법, 장치 및기록매체 | |
JP2001318812A (ja) | 性能評価モデル生成装置および性能評価モデル生成方法 | |
CN110674083A (zh) | 工作流迁移方法、装置、设备及计算机可读存储介质 | |
Gogolla et al. | Towards an integrated graph based semantics for UML | |
JPH09223007A (ja) | 入力シートシステム | |
JP3716091B2 (ja) | 要求仕様モデル・他形式モデル変換装置及び方法 | |
CN111949915A (zh) | 一种遥感产品生产流程的可视化定制方法及*** | |
CN115328997B (zh) | 数据同步方法、***、设备及存储介质 | |
KR101687970B1 (ko) | 3d모델 뷰어에서 조선용 캐드의 접속/통신 장치 및 그 방법 | |
JPH06149555A (ja) | データフロー図作成方法 | |
US20050122336A1 (en) | Information processing system, information processor for information registration, information processor for information retrieval, information processing method for information registration, and information processing method for information retrieval, program, and recording medium | |
CN112463141B (zh) | 一种基于bpmn的微服务工作流部署方法 | |
JP2003150762A (ja) | プロジェクト情報連携方法およびシステム | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
KR100428710B1 (ko) | 모델링 객체 조립을 통한 모델링 시스템 및 그 방법 | |
JP2000056956A (ja) | 要求仕様モデル・他形式モデル変換装置及び方法 | |
JP5379526B2 (ja) | Webサービステスト支援装置及びプログラム | |
JP2720768B2 (ja) | プログラムカストマイズ装置 | |
JP2001188673A (ja) | ソフトウェア再利用支援装置 | |
JP2006127277A (ja) | オブジェクト処理方法および装置並びにプログラム、オブジェクト管理方法および装置並びにプログラム | |
CN117909358A (zh) | 一种数据分析方法、装置、存储介质及电子设备 | |
KR20020046444A (ko) | 분산 협력으로 개발된 프로그램 분석을 위한 순차다이어그램 생성 방법 | |
JP2012185533A (ja) | 仕様作成支援装置および方法 | |
CN114358309A (zh) | 分布式机器学习模型训练方法、装置、设备及存储介质 | |
JPH09311800A (ja) | データ自動変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050411 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050701 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050829 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080902 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |