JP2022106521A - システム要件編集装置、システム要件編集方法、及びプログラム - Google Patents

システム要件編集装置、システム要件編集方法、及びプログラム Download PDF

Info

Publication number
JP2022106521A
JP2022106521A JP2021001575A JP2021001575A JP2022106521A JP 2022106521 A JP2022106521 A JP 2022106521A JP 2021001575 A JP2021001575 A JP 2021001575A JP 2021001575 A JP2021001575 A JP 2021001575A JP 2022106521 A JP2022106521 A JP 2022106521A
Authority
JP
Japan
Prior art keywords
view
requirement data
requirement
update
entity
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.)
Pending
Application number
JP2021001575A
Other languages
English (en)
Inventor
拓也 桑原
Takuya Kuwabara
貴之 黒田
Takayuki Kuroda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2021001575A priority Critical patent/JP2022106521A/ja
Priority to US17/563,284 priority patent/US20220215014A1/en
Publication of JP2022106521A publication Critical patent/JP2022106521A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Figure 2022106521000001
【課題】ユーザがシステム要件を容易に編集できるようにすること。
【解決手段】システム要件編集装置(100A)は、システム要件を表現するグラフである要件データが登録される要件データ管理部(121)と、要件データを入力すると共に、要件データを、要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、観点モデルを用いて要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力するビュー生成部(122)と、要件データを入力すると共に、更新前ビューが更新された後のビューである更新後ビューを入力し、更新後ビューの内容を要件データに反映する要件データ更新部(123)と、を備える。
【選択図】図38

Description

本開示は、システム要件編集装置、システム要件編集方法、及びプログラムに関する。
コンピュータシステム、IoT(Internet of Things)システム、ICT(Information and Communication Technology)システムなどの構成を表す抽象的なシステム要件を、具体的なシステム構成に変換する技術がある。
例えば、特許文献1には、設計者が、システムの構成要素に相当するノードと、2つのノード間の関係を定義するエッジと、で構成されるグラフ様のシステム要件を編集し、システム構成導出装置が、設計者により編集されたシステム要件を、具体化規則を用いて、具体的なシステム構成に変換する技術が開示されている。
国際公開第2019/216082号
上述したように、特許文献1に開示された技術によれば、ユーザ(設計者)がシステム要件を編集する。
しかし、ユーザが編集するシステム要件は、ノード及びエッジで構成されるグラフ様のシステム要件であり、かつ、当該システム要件に含まれる全ての構成要素に相当するノードとその間の機能的な依存関係に相当するエッジが、一つのグラフに統合されている。
そのため、ユーザは、規模の大きいシステム要件や複雑な構造のシステム要件を、全てのノード及びエッジをそのままの態様で編集する場合には、システム要件の実態の認識が困難になるため、システム要件の編集ミスや考慮漏れなどを招くおそれがある。
そこで本開示の目的は、上述した課題を解決し、ユーザがシステム要件を容易に編集できるシステム要件編集装置、システム要件編集方法、及びプログラムを提供することにある。
一態様によるシステム要件編集装置は、
システム要件を表現するグラフである要件データが登録される要件データ管理部と、
前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力するビュー生成部と、
前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映する要件データ更新部と、を備える。
一態様によるシステム要件編集方法は、
システム要件編集装置が行うシステム要件編集方法であって、
システム要件を表現するグラフである要件データを登録するステップと、
前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力するステップと、
前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映するステップと、を含む。
一態様によるプログラムは、
コンピュータに、
システム要件を表現するグラフである要件データを登録する手順と、
前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力する手順と、
前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映する手順と、
を実行させる。
上述の態様によれば、ユーザがシステム要件を容易に編集できるシステム要件編集装置、システム要件編集方法、及びプログラムを提供できるという効果が得られる。
実施の形態1に係るシステム要件編集装置の構成例を示すブロック図である。 実施の形態1に係るシステム要件編集装置のユーザインタフェースの例を示す図である。 実施の形態1に係るシステム要件編集装置の概略的な動作の流れの例を説明するフローチャートである。 ノード変換マッピングの例を説明する図である。 エッジ変換マッピングの例を説明する図である。 ノード変換マッピングのプロパティの例を説明する図である。 観点モデルの読み込み時の動作の流れの例を説明するフローチャートである。 ノード変換マッピングの生成型tに対応する抽象型 stub(t)の例を説明する図である。 エッジ変換マッピングの生成型tに対応する抽象型 stub(t)の例を説明する図である。 抽象型 stub(t)の特例を説明する図である。 抽象型 stub(t)の特例を説明する図である。 ノード変換マッピングに対応する構造生成パターンの例を説明する図である。 エッジ変換マッピングに対応する構造生成パターンの例を説明する図である。 ノード変換マッピングが持つ、プロパティのマッピング情報の取り扱いの例を説明する図である。 ノード変換マッピング、及びそのノード変換マッピングの生成型tに対応する抽象型 stub(t)の例を説明する図である。 ノード変換マッピング、そのノード変換マッピングの生成型tに対応する抽象型 stub(t)、及びそのノード変換マッピングに対応する構造生成パターンの組み合わせの例を説明する図である。 エッジ変換マッピング、そのエッジ変換マッピングの生成型tに対応する抽象型 stub(t)、及びそのエッジ変換マッピングに対応する構造生成パターンの組み合わせの例を説明する図である。 実施の形態1に係るビュー生成部による順方向変換動作の流れの例を説明するフローチャートである。 実施の形態1に係るビュー生成部による順方向変換動作の流れの例を説明するフローチャートである。 図18に示されるステップS301,S302の動作の具体例を説明する図である。 図18に示されるステップS303~S306の動作の具体例を説明する図である。 図18に示されるステップS304~S306の動作の具体例を説明する図である。 図19に示されるステップS308~S311の動作の具体例を説明する図である。 図19に示されるステップS308~S311の動作の具体例を説明する図である。 図18及び図19に示される順方向変換動作が終了した後のビュー及びマッピングテーブルの例を説明する図である。 実施の形態1に係る要件データ更新部による逆方向変換動作の流れの例を説明するフローチャートである。 実施の形態1に係る要件データ更新部による逆方向変換動作の流れの例を説明するフローチャートである。 図26に示されるステップS401の動作の具体例を説明する図である。 図26に示されるステップS402の動作の具体例を説明する図である。 図26に示されるステップS403の動作の具体例を説明する図である。 図26に示されるステップS404,S405の動作の具体例を説明する図である。 図26に示されるステップS404,S405の動作の具体例を説明する図である。 図27に示されるステップS407,S408の動作の具体例を説明する図である。 図27に示されるステップS407,S408,S410の動作の具体例を説明する図である。 図27に示されるステップS410の動作の具体例を説明する図である。 図27に示されるステップS411の動作の具体例を説明する図である。 図27に示されるステップS411の動作の具体例を説明する図である。 実施の形態2に係るシステム要件編集装置の構成例を示すブロック図である。 実施の形態3に係るシステム要件編集装置のハードウェア構成例を示すブロック図である。
以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<実施の形態1>
<実施の形態1の構成>
まず、図1を参照して、本実施の形態1に係るシステム要件編集装置100の構成例について説明する。図1に示されるように、本実施の形態1に係るシステム要件編集装置100は、要件データ管理部101、ビュー生成部102、及び、要件データ更新部103を備えている。なお、本実施の形態1に係るシステム要件編集装置100の外部には、観点モデル読込部201、観点モデルDB(Data Base)202、型情報DB203、及び具体化パターンDB204が設けられているものとする。
要件データ管理部101は、要件データが登録される。要件データは、システム要件を表現するグラフであり、システムの構成要素に相当するノードと、2つのノード間の関係を定義するエッジと、を含むエンティティによって構成される。
ビュー生成部102は、要件データ管理部101から、要件データを入力すると共に、観点モデルDB202から、観点モデルを入力する。観点モデルは、要件データを、要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである。言い換えれば、観点モデルは、要件データ内の部分構造をエンティティに変換する変換方法を規定するモデルである。ビュー生成部102は、例えば、後述するユーザインタフェースを用いて、端末900を使用するユーザに観点モデルのリストを表示して、リスト表示された複数の観点モデルの中から所望の観点モデルを選択させ、ユーザにより選択された所望の観点モデル(以下、「選択観点モデル(selected aspect model)」と称する)を観点モデルDB202から入力する。
また、ビュー生成部102は、選択観点モデルを用いて、要件データからビューを生成する。ビューは、選択観点モデルを用いて、要件データを変換して得られるグラフである。また、ビュー生成部102は、生成されたビューを、更新前ビューとして、端末900に出力する。
要件データ更新部103は、要件データ管理部101から、要件データを入力すると共に、端末900から、ユーザにより更新前ビューが更新された更新後ビューを入力する。そして、要件データ更新部103は、更新後ビューの内容を要件データに反映する。言い換えれば、要件データ更新部103は、更新後ビューを要件データに変換する。
<実施の形態1のユーザインタフェース>
続いて、図2を参照して、本実施の形態1に係るシステム要件編集装置100のユーザインタフェース110の例について説明する。図2に示されるユーザインタフェース110は、システム要件編集装置100と端末900との間で情報やデータをやり取りするために使用されるものであり、要件編集画面111、編集内容保存ボタン112、及び観点モデル選択インタフェース113を含む。
観点モデル選択インタフェース113には、観点モデルのリストが、例えば、ドロップダウン方式で表示される。ユーザは、リスト表示された観点モデルの中から、使用する観点モデルを選択可能である。ユーザにより観点モデルが選択されると、ビュー生成部102は、選択観点モデルを用いて、要件データからビューを生成する。生成されたビューは、更新前ビューとして、要件編集画面111に表示される。
要件編集画面111では、ユーザは、更新前ビューの閲覧が可能であると共に、更新前ビューの編集が可能である。具体的には、ユーザは、更新前ビューの編集として、ノード/エッジの追加及び削除が可能であると共に、ノード/エッジに付随するプロパティの編集が可能である。
編集内容保存ボタン112は、要件編集画面111で編集された編集内容を保存するためのボタン(ソフトウェア・ボタン)である。ユーザは、更新前ビューの編集が完了すると、編集内容保存ボタン112をクリックする。すると、要件データ更新部103は、ユーザにより編集されたビューを更新後ビューとして入力し、更新後ビューの内容を要件データに反映する。
<実施の形態1の概略的な動作>
続いて図3を参照して、本実施の形態1に係るシステム要件編集装置100の概略的な動作の流れの例について説明する。
図3に示されるように、まず、ビュー生成部102は、要件データ管理部101から、要件データを入力すると共に、観点モデルDB202から、ユーザが選択した所望の観点モデル(即ち、上述した「選択観点モデル」)を入力する(ステップS101)。
次に、ビュー生成部102は、選択観点モデルを用いて、要件データを変換して得られるビューを生成し、生成されたビューを、更新前ビューとして、端末900に出力する(ステップS102)。
要件データ更新部103は、要件データ管理部101から、要件データを入力すると共に、端末900から、ユーザにより更新前ビューが更新された更新後ビューを入力する(ステップS103)。
その後、要件データ更新部103は、更新後ビューの内容を要件データに反映する(ステップS104)。
以下、本実施の形態1に係るシステム要件編集装置100について、詳細に説明する。
<観点モデル>
まず、観点モデルDB202に予め用意されている複数の観点モデルについて説明する。
当該個々の観点モデルとは、上述したように、要件データを、要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである。言い換えれば、観点モデルとは、要件データを、どのように変換して表示するか、という情報を示すモデルである。
観点モデルは、「アプリ配備」、「NW(Network)導通」、「サービス間連携」などの目的に合わせて人手で生成され、観点モデルDB202に予め登録される。なお、観点モデルは、観点モデルDB202への登録後も、必要に応じて、カスタマイズされても良い。
ビュー生成のために参照される観点モデル(即ち、上述した「選択観点モデル」)は、ユーザに選択される。このとき、ビュー生成部102は、図2に示されるようなユーザインタフェース110を用いて、観点モデルDB202に登録されている複数の観点モデルのリストを表示し、リスト表示された観点モデルの中からユーザに観点モデル(選択観点モデル)を選択させても良い。ユーザにより選択された観点モデルは、観点モデルDB202からビュー生成部102に入力として与えられる。
係る複数の観点モデルのうち、ある観点モデルは、ノード変換マッピング及びエッジ変換マッピングを含む。ノード変換マッピング及びエッジ変換マッピングは、いずれも要件データ内の部分構造を、ノード又はエッジであるエンティティに変換するものである。
このうち、ノード変換マッピングは、要件データ内の部分構造をノードに変換するものである。図4を参照して、ノード変換マッピングの一例である“AppContainer”マッピングの例について説明する。図4の例では、要件データ内の、矢印の左側の部分構造(以下、適宜、変換構造と称す)が、“AppContainer”マッピングによって、ノード“AppContainer”に変換される。なお、ノード変換マッピングは、“target”として指定されるノードが、ただ1つ存在することが条件となる。また、ノード変換マッピングによって、“target”と同じID(Identity)を持つノードが1つ生成されることになる。
また、エッジ変換マッピングは、要件データ内の部分構造をエッジに変換するものである。図5を参照して、エッジ変換マッピングの一例である“join”マッピングの例について説明する。図5の例では、要件データに含まれる、矢印の左側の変換構造が、“join”マッピングによって、エッジ
Figure 2022106521000002
に変換される。なお、エッジ変換マッピングは、“start”,“end”で指定されるノードが1つずつ存在することが条件となる。また、エッジ変換マッピングによって、“start”で指定されるノードから、“end”で指定されるノードへのエッジが張られることになる。
以後、マッピングの結果として生成される型をマッピングの生成型と称す。図4の例では、ノード“AppContainer”が生成型となり、図5の例では、エッジ
Figure 2022106521000003
が生成型となる。これらの生成型は、ビューにエンティティとして追加されることになる。
また、マッピングは、要件データ内のエンティティに付随するプロパティと、ビュー内のエンティティに付随するプロパティと、の対応関係を示す、プロパティのマッピング情報を持つことができる。図6を参照して、“AppContainer”マッピングのプロパティの例について説明する。要件データ内の、矢印の左側のエンティティに付随されるプロパティと、ビュー内の、矢印の右側のエンティティに付随されるプロパティと、は1対1で対応している。図6の例では、矢印の左側のノード“Container”のプロパティである“IPAddress”と、矢印の右側のノード“AppContainer”のプロパティである“IPAddress”と、が1対1で対応している。また、矢印の左側のノード“App”のプロパティである“port”と、矢印の右側のノード“AppContainer”のプロパティである“port”と、が1対1で対応している。
<観点モデルの読み込み時の動作>
続いて、観点モデルの読み込み時の動作について説明する。
まず、図7を参照して、観点モデルの読み込み時の動作の流れの例を説明する。
図7に示されるように、まず、観点モデル読込部201は、人手で生成された観点モデルを読み込み(ステップS201)、読み込まれた観点モデルに含まれるノード変換マッピング及びエッジ変換マッピングの各マッピングを、観点モデルDB202に追加する(ステップS202)。
次に、観点モデル読込部201は、各マッピングの生成型tに対応する「抽象型 stub(t)」を、型情報DB203に追加する(ステップS203)。
その後、観点モデル読込部201は、各マッピングに対応する「構造生成パターン」を、具体化パターンDB204に追加する(ステップS204)。なお、「構造生成パターン」は、不図示のシステム構成導出装置が使用する。具体的には、不図示のシステム構成導出装置は、システム要件編集装置100により編集されたシステム要件を、「構造生成パターン」を用いて、具体的なシステム構成に変換する。
続いて、型情報DB203に追加される「抽象型 stub(t)」について説明する。
まず、図8を参照して、“AppContainer”マッピングの生成型tに対応する「抽象型 stub(t)」の例について説明する。図8の例では、“AppContainer”マッピングの生成型tは、ノード“AppContainer”となる。この生成型tに対応する抽象型 stub(t)は、ノード型の抽象型 stub(AppContainer)となる。
次に、図9を参照して、“join”マッピングの生成型tに対応する「抽象型 stub(t)」の例について説明する。図9の例では、“join”マッピングの生成型tは、エッジ
Figure 2022106521000004
となる。この生成型tに対応する抽象型 stub(t)は、エッジ型の抽象型 stub(join)となる。
続いて、図10及び図11を参照して、「抽象型 stub(t)」の特例について説明する。
図4などの“AppContainer”マッピング及び図5などの“join”マッピングは、変換前後のエンティティ同士が1対1の対応関係となる1対1マッピングではなかった。
これに対して、図10の“Service”マッピング及び図11の“join”マッピングは、1対1マッピングとなっている。
1対1マッピングの場合は、観点モデル読込部201は、抽象型 stub(t)を型情報DB203に追加せず、対応する元々の生成型torigを用い、「stub(t):=torig」と定義しても良い。図10の例では、抽象型 stub(t)は、stub(Service) := App と定義され、図11の例では、stub(join) := os と定義されている。この場合、観点モデル読込部201は、「stub(t):=torig」を型情報DB203に追加する操作は行わない。ただし、同じ生成型に対して、別のマッピングが定義されていた場合は、観点モデル読込部201は、上記の定義を行うことも不可とする。
続いて、具体化パターンDB204に追加される「構造生成パターン」について説明する。
まず、図12を参照して、“AppContainer”マッピングに対応する構造生成パターンの例について説明する。図12に示されるように、“AppContainer”マッピングの変換方向を逆向きにしたパターンに相当するstub(AppContainer)解決パターンが、構造生成パターンとなる。
次に、図13を参照して、“join”マッピングに対応する構造生成パターンの例について説明する。図13に示されるように、“join”マッピングの変換方向を逆向きにしたパターンに相当するstub(join)解決パターンが、構造生成パターンとなる。
続いて、図14を参照して、マッピングが持つ、プロパティのマッピング情報の取り扱いの例について説明する。図14の例では、“AppContainer”マッピングは、図6に示される、プロパティのマッピング情報を持っている。“AppContainer”マッピングに対応する構造生成パターンは、図12に示される、stub(AppContainer)解決パターンと同様のパターンとなる。そのため、観点モデル読込部201は、“AppContainer”マッピングが持つ、プロパティのマッピング情報を、stub(AppContainer)解決パターンの「制約」に移す。このとき、観点モデル読込部201は、マッピングを表す矢印(→)を、等号(==)に変換する。また、観点モデル読込部201は、無意味な制約を排除する。図14の例では、“{1}.IPAddress == {1}.IPAddress”という制約が排除されている。
続いて、図15~図17を参照して、マッピング、そのマッピングの生成型tに対応する「抽象型 stub(t)」、及びそのマッピングに対応する「構造生成パターン」の組み合わせの例について説明する。
図15は、1対1マッピングの例を示している。図15の例では、“App”マッピングが1対1マッピングになっている。そのため、観点モデル読込部201は、「stub(App) := App」を定義するが、これを抽象型 stub(t)として型情報DB203に追加することはしない。また、観点モデル読込部201は、抽象型 stub(t)を追加しないため、構造生成パターンを具体化パターンDB204に追加することもしない。
図16は、1つの生成型に複数のマッピングが存在する例を示している。図16の例では、生成型であるノード“Base”に対して、“Base”マッピング(1)及び“Base”マッピング(2)という2つのマッピングが存在している。そのため、観点モデル読込部201は、ノード“Base”に対応する抽象型 stub(Base」を、型情報DB203に追加する。また、観点モデル読込部201は、“Base”マッピング(1)に対応するstub(Base)解決パターン1、及び、“Base”マッピング(2)に対応するstub(Base)解決パターン2を、それぞれ、構造生成パターンとして、具体化パターンDB204に追加する。
図17は、あるノードの親クラスのノードを含むマッピングの例を示している。図16の例では、“join”マッピングに含まれるノード“Field”が、ノード“Building”及びノード“Cloud”の親クラスに相当する。観点モデル読込部201は、“join”マッピングの生成型に対応する抽象型 stub(join)を、型情報DB203に追加する。また、観点モデル読込部201は、“join”マッピングに対応するstub(join)解決パターンを、構造生成パターンとして、具体化パターンDB204に追加する。
<順方向変換>
続いて、ビュー生成部102による、要件データをビュー(更新前ビュー)へ変換する変換動作について説明する。以下、この変換を順方向変換と適宜称す。
まず、図18及び図19を参照して、ビュー生成部102による順方向変換動作の流れの例を説明する。ここでは、ユーザにより観点モデルが既に選択されているものとする。
図18及び図19に示されるように、まず、ビュー生成部102は、要件データ管理部101から要件データ tALLを入力する(ステップS301)。
次に、ビュー生成部102は、空のビューv及び空のマッピングテーブルTを生成する(ステップS302)。マッピングテーブルTとは、要件データ tALL内のエンティティがマッピング元の列に示され、要件データ tALL内のエンティティに対応するビュー内のエンティティが同じ行のマッピング先の列に示されるテーブルである。
次に、ビュー生成部102は、ユーザにより選択された観点モデルの中から、以下のステップS304~S306を未実施のノード変換マッピングを1つ選択する(ステップS303)。そして、ビュー生成部102は、ステップS303で選択されたノード変換マッピングについて、以下のステップS304~S306を実施する。
即ち、ビュー生成部102は、ステップS301で入力された要件データ tALLの中から、ステップS303で選択されたノード変換マッピングの変換構造(ノード変換マッピングの矢印の左側の構造)にマッチする構造tを全て抽出する。そして、ビュー生成部102は、抽出された全ての構造tにそれぞれ対応するノードCtを生成し、生成されたノードCtをビューvに追加する(ステップS304)。例えば、構造tが、あるノード変換マッピングの矢印の左側の変換構造に一致するならば、そのノード変換マッピングの矢印の右側のノードが、構造tに対応するノードCtとなる。
次に、ビュー生成部102は、ステップS304で変換構造にマッチした全ての構造t毎に、その構造tに含まれるエンティティeの中から、targetのノードとなるエンティティeを選択する。そして、ビュー生成部102は、選択されたエンティティeを、マッピングテーブルTのマッピング元の列に追加する(ステップS305)。
次に、ビュー生成部102は、ステップS305でマッピングテーブルTのマッピング元の列に追加されたエンティティe毎に、そのエンティティeを含む構造tに対応し、ステップS304で生成されたノード Ct を、マッピングテーブルTのマッピング先の列で、かつ、そのエンティティeと同じ行に、追加する(ステップS306)。
次に、ビュー生成部102は、ユーザにより選択された観点モデルの中に、ステップS304~S306を未実施のノード変換マッピングが存在するか否かを判断する(ステップS307)。ステップS304~S306を未実施のノード変換マッピングが存在する場合は(ステップS307のYES)、ステップS303に戻る。
一方、ステップS304~S306を未実施のノード変換マッピングが存在しない場合は(ステップS307のNO)、次に、ビュー生成部102は、ユーザにより選択された観点モデルの中から、以下のステップS309~S311を未実施のエッジ変換マッピングを1つ選択する(ステップS308)。そして、ビュー生成部102は、ステップS308で選択されたエッジ変換マッピングについて、以下のステップS309~S311を実施する。
即ち、ビュー生成部102は、ステップS301で入力された要件データ tALLの中から、ステップS308で選択されたエッジ変換マッピングの変換構造(エッジ変換マッピングの矢印の左側の構造)にマッチする構造tを全て抽出する。そして、ビュー生成部102は、抽出された全ての構造tにそれぞれ対応するエッジ
Figure 2022106521000005
を生成し、生成されたエッジ
Figure 2022106521000006
をビューvに追加する(ステップS309)。例えば、構造tが、あるエッジ変換マッピングの矢印の左側の変換構造に一致するならば、そのエッジ変換マッピングの矢印の右側のエッジが、構造tに対応するエッジ
Figure 2022106521000007
となる。
次に、ビュー生成部102は、ステップS309で変換構造にマッチした全ての構造t毎に、その構造tに含まれるエンティティeを、マッピングテーブルTのマッピング元の列に追加する(ステップS310)。
次に、ビュー生成部102は、ステップS310でマッピングテーブルTのマッピング元の列に追加されたエンティティe毎に、そのエンティティeを含む構造tに対応し、ステップS304で生成されたエッジ
Figure 2022106521000008
を、マッピングテーブルTのマッピング先の列で、かつ、そのエンティティeと同じ行に、追加する(ステップS311)。
次に、ビュー生成部102は、ユーザにより選択された観点モデルの中に、ステップS309~S311を未実施のエッジ変換マッピングが存在するか否かを判断する(ステップS312)。ステップS309~S311を未実施のエッジ変換マッピングが存在する場合は(ステップS312のYES)、ステップS308に戻る。
一方、ステップS309~S311を未実施のノード変換マッピングが存在しない場合は(ステップS312のNO)、その後、ビュー生成部102は、ビューv及びマッピングテーブルTを確定し、確定されたビューvを更新前ビューv0として、端末900に出力する(ステップS313)。
続いて、図20~図25を参照して、図18及び図19に示される順方向変換動作の具体例について説明する。
まず、図20を参照して、図18に示されるステップS301,S302の動作の具体例について説明する。
ステップS301において、ビュー生成部102は、要件データ管理部101から、例えば、図20に示されるような要件データ tALLを入力する。
また、ステップS302において、ビュー生成部102は、図20に示されるような空のビューv及び空のマッピングテーブルTを生成する。
次に、図21及び図22を参照して、図18に示されるステップS303~S306の動作の具体例について説明する。
ステップS303において、ビュー生成部102は、ユーザにより選択された観点モデルの中から、ステップS304~S306を未実施のノード変換マッピングを1つ選択する。図21の例では、要件データtALL内のノード“App1”が、ステップS303で選択されたノード変換マッピングの変換構造にマッチしている。要件データtALL内のノード“APP1”は、ノード変換マッピングの変換構造におけるtargetのノードとなる。
そのため、ステップS304において、ビュー生成部102は、要件データtALL内のノード“App1”に対応するノード“App1”を生成し、生成されたノード“App1”をビューvに追加する。このとき、ビュー生成部102は、ビューv内のノード“App1”のIDを、要件データtALL内のtargetのノード“App1”のID(ここでは、“App1”)と同じにする。また、ビュー生成部102は、ノード変換マッピングが持つ、プロパティのマッピング情報に基づいて、要件データtALL内のノード“App1”のプロパティ(ここでは、“port:80”)を、ビューv内のノード“App1”のプロパティに設定する。
また、ステップS305において、ビュー生成部102は、要件データtALL内のtargetのノード“App1”を、エンティティeとして、マッピングテーブルTのマッピング元の列に追加する。
また、ステップS306において、ビュー生成部102は、要件データtALL内のノード“App1”に対応する、ビューv内のノード“App1”を、マッピングテーブルTのマッピング先の列で、かつ、要件データtALL内のノード“App1”であるエンティティeと同じ行に、追加する。
図22は、観点モデルに含まれる全てのノード変換マッピングについて、ステップS304~S306を実施した後のビューv及びマッピングテーブルTの例を示している。
次に、図23及び図24を参照して、図19に示されるステップS308~S311の動作の具体例について説明する。
ステップS308において、ビュー生成部102は、ユーザにより選択された観点モデルの中から、ステップS309~S311を未実施のエッジ変換マッピングを1つ選択する。図23の例では、要件データtALL内の構造C101が、ステップS308で選択されたエッジ変換マッピングの変換構造にマッチしている。
そのため、ステップS309において、ビュー生成部102は、要件データtALL内の構造C101に対応するエッジ
Figure 2022106521000009
を生成し、生成されたエッジ
Figure 2022106521000010
をビューvに追加する。このとき、エッジ変換マッピングが、プロパティのマッピング情報を持っていれば、図21で説明したものと同様に、プロパティの処理を行う。
また、ステップS310において、ビュー生成部102は、要件データtALL内の構造C101に含まれるエンティティeを、マッピングテーブルTのマッピング元の列に追加する。
また、ステップS311において、ビュー生成部102は、要件データtALL内の構造C101に含まれる各エンティティeに対応する、ビューv内のエッジ
Figure 2022106521000011
を、マッピングテーブルTのマッピング先の列で、かつ、要件データtALL内の構造C101に含まれる各エンティティeと同じ行に、追加する。
図23とは別の例である図24の例について説明する。図24の例では、要件データ tALL内の構造C102が、ステップS308で選択されたエッジ変換マッピングの変換構造にマッチしている。
そのため、ステップS309において、ビュー生成部102は、要件データtALL内の構造C101に対応するエッジ
Figure 2022106521000012
を生成し、生成されたエッジ
Figure 2022106521000013
をビューvに追加する。
また、ステップS310において、ビュー生成部102は、要件データtALL内の構造C102に含まれるエンティティeを、マッピングテーブルTのマッピング元の列に追加する。
また、ステップS311において、ビュー生成部102は、構造C102に含まれる各エンティティeに対応する、ビューv内のエッジ
Figure 2022106521000014
を、マッピングテーブルTのマッピング先の列で、かつ、要件データtALL内の構造C102に含まれる各エンティティeと同じ行に、追加する。
なお、図24に示されるマッピングテーブルTにおいて、要件データtALL内の構造C102に含まれるエンティティ
Figure 2022106521000015
のマッピング先のエッジ
Figure 2022106521000016
は、既に追加されていたものである。
図25は、図18及び図19に示される順方向変換動作が終了した後のビューv及びマッピングテーブルTの例を示している。図25に示されるビューvは、更新前ビューv0として、端末900に出力される。
<逆方向変換>
続いて、要件データ更新部103による、ビュー(更新後ビュー)を要件データへ変換する変換動作について説明する。以下、この変換を逆方向変換と適宜称す。
まず、図26及び図27を参照して、要件データ更新部103による順方向変換動作の流れの例を説明する。
図26及び図27に示されるように、まず、要件データ更新部103は、端末900から、ユーザにより更新された更新後ビューv1を入力すると共に、要件データ管理部101から、要件データ tALLを入力する(ステップS401)。
次に、要件データ更新部103は、要件データ tALLの順方向変換を実施し、更新前ビューv0及びマッピングテーブルTを取得する(ステップS402)。なお、要件データ tALLの順方向変換は、ビュー生成部102でも既に実施されている。そのため、ステップS402は、ビュー生成部102から更新前ビューv0及びマッピングテーブルTを取得する動作に置き換えても良い。
次に、要件データ更新部103は、更新前ビューv0と更新後ビューv1とを比較し、更新前ビューv0に対して行われた全ての追加操作( ADD e1:t1, ADD e2:t2, ...)及び全ての削除操作( DEL e1:t1, DEL e2:t2, ...)を計算する(ステップS403)。なお、追加操作は、更新前ビューv0にエンティティeを追加する操作であり、削除操作は、更新前ビューv0からエンティティeを削除する操作である。
次に、要件データ更新部103は、ステップS403で計算された追加操作の中から、以下のステップS405を未実施の追加操作を1つ選択する(ステップS404)。そして、要件データ更新部103は、ステップS404で選択された追加操作について、以下のステップS405を実施する。
即ち、要件データ更新部103は、ステップS404で選択された追加操作により追加されたエンティティeに対応する部分構造t(e)に含まれる全てのエンティティe’を、要件データ tALL に追加する(ステップS405)。例えば、エンティティeが、あるマッピングの矢印の右側のエンティティであるならば、そのマッピングの矢印の左側の構造が、エンティティeに対応する部分構造t(e)となる。言い換えれば、エンティティeが、ある構造生成パターンの矢印の左側のエンティティであるならば、その構造生成パターンの矢印の右側の構造が、エンティティeに対応する部分構造t(e)となる。
次に、要件データ更新部103は、ステップS403で計算された追加操作の中に、ステップS405を未実施の追加操作が存在するか否かを判断する(ステップS406)。ステップS405を未実施の追加操作が存在する場合は(ステップS406のYES)、ステップS404に戻る。
一方、ステップS405を未実施の追加操作が存在しない場合は(ステップS406のNO)、次に、要件データ更新部103は、ステップS403で計算された削除操作の中から、以下のステップS408を未実施の削除操作を1つ選択する(ステップS407)。そして、要件データ更新部103は、ステップS407で選択された削除操作について、以下のステップS408を実施する。
即ち、要件データ更新部103は、ステップS407で選択された削除操作により削除されたエンティティeに対応する部分構造t(e)に含まれる全てのエンティティe’を、マッピングテーブルTのマッピング元の列において確認する。例えば、エンティティeが、あるマッピングの矢印の右側のエンティティであるならば、そのマッピングの矢印の左側の構造が、エンティティeに対応する部分構造t(e)となる。言い換えれば、エンティティeが、ある構造生成パターンの矢印の左側のエンティティであるならば、その構造生成パターンの矢印の右側の構造が、エンティティeに対応する部分構造t(e)となる。そして、要件データ更新部103は、確認された全てのエンティティe’毎に、マッピングテーブルTのマッピング先の列で、かつ、そのエンティティe’と同じ行から、エンティティeを削除する(ステップS408)。
次に、要件データ更新部103は、ステップS403で計算された削除操作の中に、ステップS408を未実施の削除操作が存在するか否かを判断する(ステップS409)。ステップS408を未実施の削除操作が存在する場合は(ステップS409のYES)、ステップS407に戻る。
一方、ステップS408を未実施の削除操作が存在しない場合は(ステップS409のNO)、次に、要件データ更新部103は、マッピングテーブルTのマッピング先の列が空になったエンティティe’を確認する。そして、要件データ更新部103は、確認された全てのエンティティe’を、要件データ tALLから削除する(ステップS410)。
次に、要件データ更新部103は、マッピングテーブルTを参照し、更新後ビューv1のプロパティ設定を要件データtALLに反映する(ステップS411)。
その後、ビュー生成部102は、要件データtALLを確定し、確定された要件データtALLを更新後の要件データtALLとして、要件データ管理部101に出力する(ステップ412)。
続いて、図28~図37を参照して、図26及び図27に示される逆方向変換動作の具体例について説明する。
まず、図28を参照して、図26に示されるステップS401の動作の具体例について説明する。
ステップS401において、要件データ更新部103は、要件データ管理部101から、例えば、図28に示されるような要件データ tALLを入力する。
さらに、要件データ更新部103は、端末900から、例えば、図28に示されるような更新後ビューv1を入力する。この更新後ビューv1においては、更新前ビューv0に対して、以下の操作が行われている。
・ノード“App1”,“App2”を削除
・エッジ
Figure 2022106521000017
を削除
・ノード“App6”を追加
・エッジ
Figure 2022106521000018
を追加
・portプロパティを更新
次に、図29を参照して、図26に示されるステップS402の動作の具体例について説明する。
ステップS402において、要件データ更新部103は、要件データ tALLの順方向変換を実施する。その結果、要件データ更新部103は、例えば、図29に示されるような更新前ビューv0及びマッピングテーブルTを得る。
次に、図30を参照して、図26に示されるステップS403の動作の具体例について説明する。
ステップS403において、要件データ更新部103は、例えば、図30に示されるような更新前ビューv0と更新後ビューv1とを比較する。そして、要件データ更新部103は、その比較結果に基づいて、更新前ビューv0に対して行われた全ての追加操作( ADD e1:t1, ADD e2:t2, ...)及び全ての削除操作( DEL e1:t1, DEL e2:t2, ...)を計算する。その結果、要件データ更新部103は、例えば、図30に示されるような追加操作及び削除操作を得る。
次に、図31及び図32を参照して、図26に示されるステップS404,S405の動作の具体例について説明する。
ステップS404において、要件データ更新部103は、ステップS403で計算された追加操作の中から、ステップS405を未実施の追加操作を選択する。図31の例では、以下の追加操作を選択している。
・ノード“App6”を追加
この場合、続くステップS405において、要件データ更新部103は、ノード“App6”に対応する部分構造t(e)に含まれるエンティティe’であるノード“App6”を、要件データ tALL に追加する。
このとき、要件データ更新部103は、マッピングが持つ、プロパティのマッピング情報に基づいて、要件データ tALLに追加したノード“App6”にプロパティ(ここでは、port: 2030)を設定する。
その後、ステップS404に再度戻ったとする。この場合、ステップS404において、要件データ更新部103は、ステップS403で計算された追加操作の中から、ステップS405を未実施の別の追加操作を選択する。図32の例では、以下の追加操作を選択している。
・エッジ
Figure 2022106521000019
を追加
この場合、続くステップS404において、要件データ更新部103は、エッジ
Figure 2022106521000020
に対応する部分構造t(e)に含まれるエンティティe’であるエッジ
Figure 2022106521000021
を、要件データ tALL に追加する。
次に、図33及び図34を参照して、図27に示されるステップS407,S408の動作の具体例について説明する。
ステップS407において、要件データ更新部103は、ステップS403で計算された削除操作の中から、ステップS408を未実施の削除操作を1つ選択する。
また、ステップS408において、要件データ更新部103は、ステップS407で選択された削除操作により削除されたエンティティeに対応する部分構造t(e)に含まれる全てのエンティティe’を、マッピングテーブルTのマッピング元の列において確認する。そして、要件データ更新部103は、確認された全てのエンティティe’毎に、マッピングテーブルTのマッピング先の列で、かつ、そのエンティティe’と同じ行から、エンティティeを削除する。
図34は、ステップS403で計算された全ての削除操作について、ステップS408を実施した後、即ち、該当する全てのエンティティeを削除した後のマッピングテーブルTの例を示し、図33は、該当する全てのエンティティeを削除する前のマッピングテーブルTの例を示している。
次に、図34及び図35を参照して、図27に示されるステップS410の動作の具体例について説明する。
ステップS410において、要件データ更新部103は、マッピングテーブルTのマッピング先の列が空になったエンティティe’を確認する。
例えば、図34の例では、以下のエンティティe’は、マッピングテーブルTのマッピング先の列が空になっている。
・ノード“App1”
・ノード“App2”
・ノード“Server1”
・エッジ
Figure 2022106521000022
・エッジ
Figure 2022106521000023
・エッジ
Figure 2022106521000024
・エッジ
Figure 2022106521000025
そのため、要件データ更新部103は、図35に示されるように、マッピング先の列が空になった全てのエンティティe’を、要件データ tALLから削除する。
なお、図35において、エンティティ(エッジ)
Figure 2022106521000026
は、ノードの削除に連動して削除されている。
次に、図36及び図37を参照して、図27に示されるステップS411の動作の具体例について説明する。
ステップS411において、要件データ更新部103は、マッピングテーブルTを参照する。図34に示されるマッピングテーブルTから、マッピング先の列が空になったエンティティe’を削除すると、図36のようになる。要件データ更新部103は、図36に示されるマッピングテーブルTを参照した結果、更新後ビューv1内の各エンティティが、要件データtALL内のどのエンティティに対応するか判断できる。そのため、図37に示されるように、要件データ更新部103は、更新後ビューv1内のエンティティのプロパティを、要件データtALL内の対応するエンティティのプロパティに設定する。なお、図31で説明したステップS405において、要件データtALL内のノード“App6”については、既にプロパティの設定がなされている。そのため、要件データtALL内のノード“App6”については、ステップS411でのプロパティの設定は不要である。
<実施の形態1の効果>
上述したように本実施の形態1によれば、要件データ管理部101は、システム要件を表現するグラフである要件データが登録される。ビュー生成部102は、要件データを入力すると共に、要件データを、要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力する。そして、ビュー生成部102は、観点モデルを用いて要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力する。要件データ更新部103は、要件データを入力すると共に、更新前ビューが更新された後のビューである更新後ビューを入力し、更新後ビューの内容を要件データに反映する。
そのため、ユーザは、システム要件を特定の観点で見たビューを、参照及び編集することにより、システム要件を編集できる。これにより、ユーザは、システム要件を容易に編集できる。その結果、システム要件の編集に要する人的コストを大幅に低減できる。
<実施の形態2>
続いて、図38を参照して、本実施の形態2に係るシステム要件編集装置100Aの構成例について説明する。図38に示されるように、本実施の形態2に係るシステム要件編集装置100Aは、要件データ管理部121、ビュー生成部122、及び、要件データ更新部123を備えている。
要件データ管理部121は、システム要件を表現するグラフである要件データが登録される。要件データ管理部121は、要件データ管理部101に対応する。
ビュー生成部122は、要件データを入力すると共に、要件データを、要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力する。そして、ビュー生成部122は、観点モデルを用いて要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力する。ビュー生成部122は、ビュー生成部102に対応する。
要件データ更新部123は、要件データを入力すると共に、更新前ビューが更新された後のビューである更新後ビューを入力し、更新後ビューの内容を要件データに反映する。要件データ更新部123は、要件データ更新部103に対応する。
そのため、ユーザは、システム要件を特定の観点で見たビューを、参照及び編集することにより、システム要件を編集できる。これにより、ユーザは、システム要件を容易に編集できる。
なお、要件データ更新部123は、更新前ビューを取得し、更新前ビューと更新後ビューとを比較することにより、更新前ビューに対して行われた操作のうちエンティティを追加する追加操作を計算しても良い。そして、要件データ更新部123は、追加操作により更新前ビューに追加されたエンティティに対応するエンティティを、要件データに追加しても良い。
また、要件データ更新部123は、要件データ内のエンティティが第1列に示され、要件データ内のエンティティに対応する更新前ビュー内のエンティティが同じ行の第2列に示されるテーブルであるマッピングテーブルをさらに取得しても良い。また、要件データ更新部123は、更新前ビューと更新後ビューとを比較することにより、更新前ビューに対して行われた操作のうちエンティティを削除する削除操作を計算しても良い。そして、要件データ更新部123は、削除操作により更新前ビューから削除されたエンティティをマッピングテーブルの第2列から削除し、第1列に示されるエンティティのうち、同じ行の第2列が空になったエンティティを、要件データから削除しても良い。
また、要件データ更新部123は、更新後ビュー内のエンティティに設定されたプロパティを、要件データ内の対応するエンティティのプロパティに設定しても良い。
また、ビュー生成部122は、少なくとも1つの観点モデルからなるリストをユーザに提示し、観点モデルのリストの中からユーザにより選択された観点モデルを入力しても良い。
また、観点モデルは、要件データ内の部分構造をエンティティに変換する変換方法を規定するモデルであっても良い。
また、要件データは、元々の要件データに含まれない種類のエンティティである特殊エンティティを含んでも良い。また、ビュー生成部122は、観点モデルを入力とし、特殊エンティティの意味を解釈するのに必要なモデルデータを出力しても良い。
<実施の形態3>
続いて、図39を参照して、本実施の形態3に係るシステム要件編集装置100Bのハードウェア構成例について説明する。図39に示されるように、本実施の形態3に係るシステム要件編集装置100Bは、プロセッサ130及びメモリ131を備えている。
プロセッサ130は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であっても良い。プロセッサ130は、複数のプロセッサを含んでも良い。
メモリ131は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ131は、プロセッサ130から離れて配置されたストレージを含んでも良い。この場合、プロセッサ130は、図示されていないI(Input)/O(Output)インタフェースを介してメモリ131にアクセスしても良い。
上述した実施形態1,2に係るシステム要件編集装置100,100Aは、図39に示されるハードウェア構成を有することができる。上述したシステム要件編集装置100,100Aにおけるビュー生成部102,122及び要件データ更新部103,123は、プロセッサ130がメモリ131に記憶されたプログラムを読み込んで実行することにより実現されても良い。また上述したシステム要件編集装置100,100Aにおける要件データ管理部101,121は、メモリ131により実現されても良い。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Compact Disc-ROM)、CD-R(CD-Recordable)、CD-R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本開示を説明したが、本開示は上述した実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
100,100A、100B システム要件編集装置
101,121 要件データ管理部
102,122 ビュー生成部
103,123 要件データ更新部
110 ユーザインタフェース
111 要件編集画面
112 編集内容保存ボタン
113 観点モデル選択インタフェース
130 プロセッサ
131 メモリ
201 観点モデル読込部
202 観点モデルDB
203 型情報DB
204 具体化パターンDB
900 端末

Claims (9)

  1. システム要件を表現するグラフである要件データが登録される要件データ管理部と、
    前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力するビュー生成部と、
    前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映する要件データ更新部と、を備える、
    システム要件編集装置。
  2. 前記要件データ更新部は、
    前記更新前ビューを取得し、
    前記更新前ビューと前記更新後ビューとを比較することにより、前記更新前ビューに対して行われた操作のうちエンティティを追加する追加操作を計算し、
    前記追加操作により前記更新前ビューに追加されたエンティティに対応するエンティティを、前記要件データに追加する、
    請求項1に記載のシステム要件編集装置。
  3. 前記要件データ更新部は、
    前記要件データ内のエンティティが第1列に示され、前記要件データ内のエンティティに対応する前記更新前ビュー内のエンティティが同じ行の第2列に示されるテーブルであるマッピングテーブルを取得し、
    前記更新前ビューと前記更新後ビューとを比較することにより、前記更新前ビューに対して行われた操作のうちエンティティを削除する削除操作を計算し、
    前記削除操作により前記更新前ビューから削除されたエンティティを前記マッピングテーブルの前記第2列から削除し、
    前記第1列に示されるエンティティのうち、同じ行の前記第2列が空になったエンティティを、前記要件データから削除する、
    請求項2に記載のシステム要件編集装置。
  4. 前記要件データ更新部は、
    前記更新後ビュー内のエンティティに設定されたプロパティを、前記要件データ内の対応するエンティティのプロパティに設定する、
    請求項1から3のいずれか1項に記載のシステム要件編集装置。
  5. 前記ビュー生成部は、
    少なくとも1つの前記観点モデルからなるリストをユーザに提示し、
    前記観点モデルのリストの中からユーザにより選択された観点モデルを入力する、
    請求項1から4のいずれか1項に記載のシステム要件編集装置。
  6. 前記観点モデルは、前記要件データ内の部分構造をエンティティに変換する変換方法を規定するモデルである、
    請求項1から5のいずれか1項に記載のシステム要件編集装置。
  7. 前記要件データは、元々の要件データに含まれない種類のエンティティである特殊エンティティを含み、
    前記ビュー生成部は、前記観点モデルを入力とし、前記特殊エンティティの意味を解釈するのに必要なモデルデータを出力する、
    請求項1から6のいずれか1項に記載のシステム要件編集装置。
  8. システム要件編集装置が行うシステム要件編集方法であって、
    システム要件を表現するグラフである要件データを登録するステップと、
    前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力するステップと、
    前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映するステップと、を含む、
    システム要件編集方法。
  9. コンピュータに、
    システム要件を表現するグラフである要件データを登録する手順と、
    前記要件データを入力すると共に、前記要件データを、前記要件データが表現するシステム要件の別表現を与えるグラフに変換する変換方法を規定するモデルである観点モデルを入力し、前記観点モデルを用いて前記要件データを変換して得られたグラフであるビューを生成し、生成されたビューを更新前ビューとして出力する手順と、
    前記要件データを入力すると共に、前記更新前ビューが更新された後のビューである更新後ビューを入力し、前記更新後ビューの内容を前記要件データに反映する手順と、
    を実行させるためのプログラム。
JP2021001575A 2021-01-07 2021-01-07 システム要件編集装置、システム要件編集方法、及びプログラム Pending JP2022106521A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021001575A JP2022106521A (ja) 2021-01-07 2021-01-07 システム要件編集装置、システム要件編集方法、及びプログラム
US17/563,284 US20220215014A1 (en) 2021-01-07 2021-12-28 System requirement editing device, system requirement editing method, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021001575A JP2022106521A (ja) 2021-01-07 2021-01-07 システム要件編集装置、システム要件編集方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2022106521A true JP2022106521A (ja) 2022-07-20

Family

ID=82218684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021001575A Pending JP2022106521A (ja) 2021-01-07 2021-01-07 システム要件編集装置、システム要件編集方法、及びプログラム

Country Status (2)

Country Link
US (1) US20220215014A1 (ja)
JP (1) JP2022106521A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519009A (zh) * 2023-10-31 2024-02-06 北京龙软科技股份有限公司 一种基于web方式的组态编辑系统和进行组态编辑的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627656B1 (en) * 2005-05-16 2009-12-01 Cisco Technology, Inc. Providing configuration information to an endpoint
US7644377B1 (en) * 2007-01-31 2010-01-05 Hewlett-Packard Development Company, L.P. Generating a configuration of a system that satisfies constraints contained in models
JP5159713B2 (ja) * 2009-06-30 2013-03-13 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
US20130198750A1 (en) * 2012-01-30 2013-08-01 Xerox Corporation Wizard-based system for business process specification
US20140007070A1 (en) * 2012-06-29 2014-01-02 International Business Machines Corporation Managing Software Product Lifecycle Across Multiple Operating System Platforms
US8949793B1 (en) * 2012-12-20 2015-02-03 Emc Corporation Test bed design from customer system configurations using machine learning techniques
WO2016111679A1 (en) * 2015-01-06 2016-07-14 Hewlett Packard Enterprise Development Lp Supporting interoperability in cloud environments
US10691418B1 (en) * 2019-01-22 2020-06-23 Sap Se Process modeling on small resource constraint devices
US20230092348A1 (en) * 2021-09-22 2023-03-23 Rockwell Automation Technologies, Inc. Safety automation builder - integrator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519009A (zh) * 2023-10-31 2024-02-06 北京龙软科技股份有限公司 一种基于web方式的组态编辑系统和进行组态编辑的方法

Also Published As

Publication number Publication date
US20220215014A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
CN107832045B (zh) 跨编程语言接口转换的方法和装置
WO2020119485A1 (zh) 一种页面显示方法、装置、设备及存储介质
Preidel et al. Seamless integration of common data environment access into BIM authoring applications: The BIM integration framework
CN111079047B (zh) 一种面向web的页面构建系统
CN107729003A (zh) 代码的自动生成方法、装置及电子设备
CN111273907A (zh) 一种页面处理方法及相关设备
CN110705237B (zh) 文档的自动生成方法、数据处理设备及存储介质
CN113076096B (zh) 一种桌面应用程序开发方法、装置、设备及存储介质
CN109614565B (zh) 网页生成方法与装置
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
CN108595397A (zh) 一种自动生成报告的方法
CN112612452A (zh) 一种api平台实现方法、装置、设备及存储介质
WO2023130933A1 (zh) 模型处理方法、代码获得方法、装置以及电子设备
US10657219B2 (en) Collaborative editing of manufacturing drawings
CN113760276A (zh) 一种生成页面代码的方法和装置
CN112860247A (zh) 一种模型组件的自定义生成方法、装置、设备及介质
JP2022106521A (ja) システム要件編集装置、システム要件編集方法、及びプログラム
CN117077650B (zh) 基于动态模板配置的文档生成系统、方法、设备及介质
CN114489762A (zh) 一种多版本应用的实现方法、系统及电子设备
WO2018058612A1 (zh) 配置方法及系统
CN110989999A (zh) 代码生成方法、装置、电子设备及介质
CN114692055A (zh) 表单处理方法、装置、存储介质与电子设备
CN113806327A (zh) 一种数据库设计方法、装置及相关设备
CN112394930A (zh) 自动构建前端界面的方法、电子设备及介质
CN113535221A (zh) 应用版本管理的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231204