26
1 シシシシシシシシシシシシシシシシシ シシシシシシシ シシシシシシシシ シシシシシシ シシシシシシシシシシシ シシシシ 西

シナリオのアニメーション表示による 妥当性確認支援

Embed Size (px)

DESCRIPTION

シナリオのアニメーション表示による 妥当性確認支援. 立命館大学大学院 理工学研究科 ソフトウェア工学研究室 首藤寛樹 大西 淳. 発表内容. 1.研究の背景・目的 2.シナリオ記述言語SLAF 3.ビジュアルな要求とシナリオ情報への変換 4.アニメーション表示による妥当性確認支援 5.まとめと今後の課題. 研究の背景. 要求分析においてシナリオは有効 ー ステイクホルダ間で知識を共有 シナリオの妥当性確認時の問題点 【1】  利用者や顧客にとって,自分たちが直接関わ        るイベントと関わらないイベントが混在するため, - PowerPoint PPT Presentation

Citation preview

Page 1: シナリオのアニメーション表示による 妥当性確認支援

1

シナリオのアニメーション表示による妥当性確認支援

立命館大学大学院 理工学研究科ソフトウェア工学研究室

首藤寛樹 大西 淳

Page 2: シナリオのアニメーション表示による 妥当性確認支援

2

発表内容

1.研究の背景・目的2.シナリオ記述言語SLAF3.ビジュアルな要求とシナリオ情報への変換4.アニメーション表示による妥当性確認支援5.まとめと今後の課題

Page 3: シナリオのアニメーション表示による 妥当性確認支援

3

研究の背景 要求分析においてシナリオは有効

ー ステイクホルダ間で知識を共有 シナリオの妥当性確認時の問題点

【1】 利用者や顧客にとって,自分たちが直接関わ        るイベントと関わらないイベントが混在するため,

理解するのが難しい【2】 利用者や顧客にとって,文章で記述された

シナリオから,システムの動的な振る舞いを 正確に把握するのは難しい シナリオ記述言語(SLAF)

ー 本研究室で開発した制限言語ー SLAFに用意された視点の変換手法により,

       【1】の問題点を解決可能

Page 4: シナリオのアニメーション表示による 妥当性確認支援

4

本研究の目的

問題点【2】文章で記述されたシナリオから,システムの動的な振る舞いを正確に把握するのは難しい

日本語で記述されたシナリオの振る舞いをアニメーション表示することによって,利用者や顧客による妥当性確認を支援する

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

日本語シナリオ アニメーション表示

Page 5: シナリオのアニメーション表示による 妥当性確認支援

5

シナリオ記述言語SLAF

◎ イベント文- 要求フレームモデルに基づいて定義された   格構造に従って記述 ー アクションと格構造を表す深層表現へ変換することで,

   情報の抜けを機械的に発見することができる(例)

投稿者は 論文を 郵便で 送る動作対象格

道具格(任意)

源泉格 目標格DFLOW

アクション

動作対象格

源泉格 目標格道具格

(任意)

DFLOW 論文 投稿者 ー 郵便

Page 6: シナリオのアニメーション表示による 妥当性確認支援

6

SLAFで記述されたシナリオの構成

タイトル 視点(システムを捉える際の立場) イベント文列

ー イベント文ー 時間的順序(順接 ,if-then-else,並行同

期 ,       繰り返し) 事前条件・事後条件(今回は省略)

Page 7: シナリオのアニメーション表示による 妥当性確認支援

7

[ 電話での書籍注文 ][ 利用者 , 会社 ]{利用者は 会社に 電話で 本の名前を 伝える会社は 在庫情報を 確認するif( 在庫がある ) then    利用者は 会社から 電話で 購入可能である旨を 聞く  利用者は 会社に 電話で 配送先を 伝える  利用者は 会社から 電話で 振込先を 聞く  利用者は 銀行に お金を 振り込む  会社は 銀行から 口座情報を 得る    銀行は 指定した金額と 振込み金額を 照合する    if( 振込み金額が正しい ) then        会社は 倉庫に Eメールで 出荷指示を 送る    利用者は 倉庫から トラックで 本を 届けられる    else        利用者は 会社から 電話で 振込みが間違っている旨を 伝えられる    fielse    利用者は 会社から 電話で 在庫がない旨を 聞くfi}

SLAFで書かれたシナリオの例タイトル

視点

イベント文列

Page 8: シナリオのアニメーション表示による 妥当性確認支援

8

ビジュアルな要求とシナリオ情報への変換

01

02

03

020103 ・ ・

ビジュアルな要求

ビジュアルな要求に対応したシナリオ情報(後述)

日本語シナリオ

        ・        ・利用者は会社から電話で・・利用者は会社に電話で・・利用者は会社から電話で・・        ・        ・        ・

Page 9: シナリオのアニメーション表示による 妥当性確認支援

9

ビジュアルな要求

ビジュアルな要求記述言語VRDLー アイコン画像と矢印を用いてフロー要求を定義 ー 実体間のフロー:矢印

   矢印の根元にフロー要求の送り手   矢印の先にフロー要求の受け手   矢印に重ねてデータとデバイス(任意)を配置ー VRDLは要求フレームモデルに基づいている

トラック利用者倉庫本DFLOW

道具格(任意)

目標格源泉格動作

対象格アクショ

アイコン辞書

深層表現への変換が可能

Page 10: シナリオのアニメーション表示による 妥当性確認支援

10

ビジュアルな要求の記述例

銀行

利用者 会社

倉庫

VRDLでの記述例「電話を用いての書籍購入」 複雑な要求の

記述も可能

実体であるアイコンを階層化する.

1)空間による分割

2)時間による分割

複雑な業務を,ある時間的な区切り(シーン)で分割

Page 11: シナリオのアニメーション表示による 妥当性確認支援

11

ビジュアルな要求の生成

イベント文①イベント文②if thenイベント文③elseイベント文④

・・

アイコン座標情報

登場アクタ数から,アイコン座標情報を生成(正多角形の頂点に配置)

イベント文①イベント文②イベント文③イベント文④

・・

イベント文のみ抽出

Page 12: シナリオのアニメーション表示による 妥当性確認支援

12

イベント文①イベント文②イベント文③

ビジュアルな要求の生成

付加履歴

アクション

動作対象格 源泉格 目標格 道具格

アイコン辞書

深層表現

イベント文

ビジュアルな要求

会社は倉庫に出荷指示を電話で伝える

01

01

DFLOW 出荷指示 会社 倉庫 電話

日本語シナリオ

アイコン座標情報

Page 13: シナリオのアニメーション表示による 妥当性確認支援

13

ビジュアルな要求の生成

付加履歴

アクション

動作対象格 源泉格 目標格 道具格

深層表現

イベント文

ビジュアルな要求

利用者は倉庫からトラックで本を届けられる

01

01

DFLOW 本 倉庫 利用者トラック

02

02日本語シナリオ

アイコン辞書 アイコン座標情報

イベント文①イベント文②イベント文③

Page 14: シナリオのアニメーション表示による 妥当性確認支援

14

ビジュアルな要求の生成

付加履歴

アクション

動作対象格 源泉格 目標格 道具格

深層表現

イベント文

ビジュアルな要求

会社は指定した金額と振込み金額を照合する

01

01

02

02

データフローではない

exception日本語シナリオ

アイコン辞書 アイコン座標情報

イベント文①イベント文②イベント文③

Page 15: シナリオのアニメーション表示による 妥当性確認支援

15

01exception

0203

04

シナリオ情報の生成

イベント1( DFLOW )イベント2( RET )if( 在庫がある )thenイベント2( DFLOW )イベント3( DFLOW )elseイベント4( DFLOW )fi

if( 在庫がある )then

else

fi

日本語シナリオ

付加履歴に対し,日本語シナリオ内の時間的順序を当てはめる

Page 16: シナリオのアニメーション表示による 妥当性確認支援

16

ビジュアルな要求とシナリオ情報を用いたアニメーション

01

02

03

020103 ・ ・

ビジュアルな要求

ビジュアルな要求に対応したシナリオ情報

アニメーションシステム

Page 17: シナリオのアニメーション表示による 妥当性確認支援

17

アニメーションシステム

利用者 会社

銀行

倉庫

利用者は会社に電話で配送先を伝える 日本語表示部

アニメーション表示部

Page 18: シナリオのアニメーション表示による 妥当性確認支援

18

利用者は会社に電話で配送先を伝える

アニメーションシステム

利用者 会社

銀行

倉庫

利用者は会社から電話で振込先を聞く

直前のフロー

現在のフロー

Page 19: シナリオのアニメーション表示による 妥当性確認支援

19

アニメーションシステム

利用者 会社

銀行

倉庫

会社は指定した金額と振込み金額を照合する

イベント文がフロー要求でない場合

アニメーション表示を網掛け表示し,イベント文の内容がデータフローに関係していないことを強調

Page 20: シナリオのアニメーション表示による 妥当性確認支援

20

アニメーションシステム

デモンストレーション

日本語表現に関する制約事項 *アニメーションシステム上に表示される日本語イベント文は,   深層表現から生成した文章が使われるため,意味的には   変わらないが,表現方法が変化するケースがある

Page 21: シナリオのアニメーション表示による 妥当性確認支援

21

アニメーション表示による妥当性確認支援

日本語シナリオのアニメーション表示により,フロー要求に起こりうる,以下に示す三種類の誤りの発見を導くことができる.

a)  フローの誤り

b)  生起順序の誤り

c)  フロー要求の抜け

データの送り手と受け手のどちらか,あるいは両方が誤って記述されること

シナリオが本来記述されるべきフロー要求の生起順序を満たしていないこと

シナリオ内に本来記述されているべきフロー要求が記述されていないこと

Page 22: シナリオのアニメーション表示による 妥当性確認支援

22

フローの誤り

[ 電話での書籍注文 ][ 利用者 , 会社 ]{利用者は 会社に 電話で 本の名前を 伝える会社は 在庫情報を 確認するif( 在庫がある ) then    利用者は 会社から 電話で 購入可能である旨を 聞く  利用者は 会社に 電話で 配送先を 伝える  利用者は 会社に 電話で 振込先を 伝える  利用者は 銀行に お金を 振り込む  会社は 銀行から 口座情報を 得る    銀行は 指定した金額と 振込み金額を 照合する    if( 振込み金額が正しい ) then        会社は 倉庫に Eメールで 出荷指示を 送る    利用者は 倉庫から トラックで 本を 届けられる    else        利用者は 会社から 電話で       振込みが間違っている旨を 伝えられる    fielse    利用者は 会社から 電話で 在庫がない旨を 聞くfi}

シナリオはアクタ間の相互作用を表している

→連続するフローが重なった場合や,  突然フローが発生した場合,フロー方向の  記述ミスが発生している可能性がある

誤りを混入した日本語シナリオ

Page 23: シナリオのアニメーション表示による 妥当性確認支援

23

フローの誤り

[ 電話での書籍注文 ][ 利用者 , 会社 ]{利用者は 会社に 電話で 本の名前を 伝える会社は 在庫情報を 確認するif( 在庫がある ) then    利用者は 会社から 電話で 購入可能である旨を 聞く  利用者は 会社に 電話で 配送先を 伝える  利用者は 会社に 電話で 振込先を 伝える  利用者は 銀行に お金を 振り込む  会社は 銀行から 口座情報を 得る    銀行は 指定した金額と 振込み金額を 照合する    if( 振込み金額が正しい ) then        会社は 倉庫に Eメールで 出荷指示を 送る    利用者は 倉庫から トラックで 本を 届けられる    else        利用者は 会社から 電話で       振込みが間違っている旨を 伝えられる    fielse    利用者は 会社から 電話で 在庫がない旨を 聞くfi}

シナリオはアクタ間の相互作用を表している

→連続するフローが重なった場合や,  突然フローが発生した場合,フロー方向の  記述ミスが発生している可能性がある

利用者は会社から電話で振込先を聞く

誤りを混入した日本語シナリオ

Page 24: シナリオのアニメーション表示による 妥当性確認支援

24

まとめ

文章で記述されたシナリオから,システムの動的な振る舞いを正確に把握するのは難しい

解決すべき問題点

解決案

日本語シナリオをアニメーション表示させることによって,フロー方向やフロー間の時間的順序を可視化する.

文章で記述されたシナリオから,システムの動的な振る舞いを正確に把握するのは難しい

結果

利用者や顧客にとってフロー要求に特化したシナリオの妥当性確認が容易になった.

Page 25: シナリオのアニメーション表示による 妥当性確認支援

25

今後の課題

本手法の有効性を確認するための  評価実験を行う

現段階のアニメーションシステムで表現可能な 要求はフロー要求のみであり,フロー要求以外の 要求のアニメーション化を実現する

Page 26: シナリオのアニメーション表示による 妥当性確認支援

26