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

Post on 30-Dec-2015

62 views 1 download

description

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

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

1

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

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

首藤寛樹 大西 淳

2

発表内容

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

3

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

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

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

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

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

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

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

4

本研究の目的

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

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

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

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

5

シナリオ記述言語SLAF

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

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

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

道具格(任意)

源泉格 目標格DFLOW

アクション

動作対象格

源泉格 目標格道具格

(任意)

DFLOW 論文 投稿者 ー 郵便

6

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

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

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

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

7

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

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

視点

イベント文列

8

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

01

02

03

020103 ・ ・

ビジュアルな要求

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

日本語シナリオ

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

9

ビジュアルな要求

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

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

トラック利用者倉庫本DFLOW

道具格(任意)

目標格源泉格動作

対象格アクショ

アイコン辞書

深層表現への変換が可能

10

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

銀行

利用者 会社

倉庫

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

記述も可能

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

1)空間による分割

2)時間による分割

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

11

ビジュアルな要求の生成

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

・・

アイコン座標情報

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

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

・・

イベント文のみ抽出

12

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

ビジュアルな要求の生成

付加履歴

アクション

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

アイコン辞書

深層表現

イベント文

ビジュアルな要求

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

01

01

DFLOW 出荷指示 会社 倉庫 電話

日本語シナリオ

アイコン座標情報

13

ビジュアルな要求の生成

付加履歴

アクション

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

深層表現

イベント文

ビジュアルな要求

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

01

01

DFLOW 本 倉庫 利用者トラック

02

02日本語シナリオ

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

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

14

ビジュアルな要求の生成

付加履歴

アクション

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

深層表現

イベント文

ビジュアルな要求

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

01

01

02

02

データフローではない

exception日本語シナリオ

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

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

15

01exception

0203

04

シナリオ情報の生成

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

if( 在庫がある )then

else

fi

日本語シナリオ

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

16

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

01

02

03

020103 ・ ・

ビジュアルな要求

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

アニメーションシステム

17

アニメーションシステム

利用者 会社

銀行

倉庫

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

アニメーション表示部

18

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

アニメーションシステム

利用者 会社

銀行

倉庫

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

直前のフロー

現在のフロー

19

アニメーションシステム

利用者 会社

銀行

倉庫

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

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

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

20

アニメーションシステム

デモンストレーション

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

21

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

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

a)  フローの誤り

b)  生起順序の誤り

c)  フロー要求の抜け

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

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

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

22

フローの誤り

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

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

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

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

23

フローの誤り

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

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

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

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

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

24

まとめ

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

解決すべき問題点

解決案

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

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

結果

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

25

今後の課題

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

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

26