プロジェクト

全般

プロフィール

Design Documents » 履歴 » バージョン 7

みぞ @mizo0203, 2018/10/06 13:02

1 1 みぞ @mizo0203
# 設計資料
2 2 みぞ @mizo0203
3 6 みぞ @mizo0203
## ユースケース図
4
5
{{plantuml(png)
6
  left to right direction
7
8
  actor : ユーザー: as User
9
  actor :Google Home: as G_Home
10
11
12
  package "しりとりアプリ" {
13
    (しりとりを開始する) <|-- (はじめから)
14
    (しりとりを開始する) <|-- (つづきから)
15
    User -- (しりとりアプリを起動する)
16
    (しりとりアプリを起動する) -- G_Home
17
    User -- (はじめから)
18
    User -- (つづきから)
19
    (単語を言う) <|-- (有効な単語を言う)
20
    (単語を言う) <|-- (無効な単語を言う)
21
    (無効な単語を言う) <|-- (既出の単語を言う)
22
    (無効な単語を言う) <|-- ('ん'終わりの単語を言う)
23
    (無効な単語を言う) <|-- (存在しない単語を言う)
24
    User -- (有効な単語を言う)
25
    (有効な単語を言う) -- G_Home
26
    User -- ('ん'終わりの単語を言う)
27
    ('ん'終わりの単語を言う) -- G_Home
28
    User -- (既出の単語を言う)
29
    User -- (存在しない単語を言う)
30
    User -- (しりとりアプリを終了する)
31
    (勝利宣言する) -- G_Home
32
    note "ユーザーが'ん'終わりの単語を言った場合\nユーザーが 60 秒以上経過しても単語を言わなかった場合" as G_Home_Win
33
    (勝利宣言する) .. G_Home_Win
34
    (降参する) -- G_Home
35
    note "Googe Home が'ん'終わりの単語を言った場合" as G_Home_Lose
36
    (降参する) .. G_Home_Lose
37
    (再度、単語を聞き取る) -- G_Home
38
    note "ユーザーが既出の単語を言った場合\nユーザーが存在しない単語を言った場合" as Pardon
39
    (再度、単語を聞き取る) .. Pardon
40
  }
41
}}
42
43 3 みぞ @mizo0203
## シーケンス図
44
45 2 みぞ @mizo0203
{{plantuml(png)
46
  title しりとりアプリ起動/終了シーケンス
47
  hide footbox
48
49
  actor ユーザー as User
50
  participant "Google Home" as G_Home
51
  participant Dialogflow
52
  participant "Google App Engine" as G_App_Engine
53
54 3 みぞ @mizo0203
  User -> G_Home : <<Voice>>\n『しりとりアプリ』を起動して
55 1 みぞ @mizo0203
  activate G_Home
56 3 みぞ @mizo0203
  G_Home -> Dialogflow : <<Event>>\nGoogle Assistant Welcome
57
  activate Dialogflow
58
59
  alt 前回のプレイデータがある
60
    Dialogflow -> G_App_Engine : Google Assistant Welcome
61
    activate G_App_Engine
62
    Dialogflow <-- G_App_Engine : はじめからプレイしますか?\nつづきからプレイしますか?
63
    deactivate G_App_Engine
64
    G_Home <-- Dialogflow : はじめからプレイしますか?\nつづきからプレイしますか?
65
    User <-- G_Home : <<Voice>>\nはじめからプレイしますか?\nつづきからプレイしますか?
66
    alt はじめからプレイする
67
      User -> G_Home : <<Voice>>\nはじめからプレイする
68
      G_Home -> Dialogflow : はじめからプレイする
69
      Dialogflow -> G_App_Engine : はじめからプレイする
70
      activate G_App_Engine
71
      deactivate G_App_Engine
72
    else つづきからプレイする
73
      User -> G_Home : <<Voice>>\nつづきからプレイする
74
      G_Home -> Dialogflow : つづきからプレイする
75
      Dialogflow -> G_App_Engine : つづきからプレイする
76
      activate G_App_Engine
77
      deactivate G_App_Engine
78
    end
79 1 みぞ @mizo0203
  else 前回のプレイデータがない
80 3 みぞ @mizo0203
    Dialogflow -> G_App_Engine : Google Assistant Welcome
81 4 みぞ @mizo0203
    activate G_App_Engine
82 3 みぞ @mizo0203
    deactivate G_App_Engine
83 1 みぞ @mizo0203
  end
84
85 4 みぞ @mizo0203
  ref over User, G_Home, Dialogflow, G_App_Engine
86
    しりとりシーケンス(未作成)
87 1 みぞ @mizo0203
  end ref
88 4 みぞ @mizo0203
89
  User -> G_Home : <<Voice>>\n終了
90 1 みぞ @mizo0203
  G_Home -> Dialogflow : 終了
91 4 みぞ @mizo0203
  Dialogflow -> G_App_Engine : 終了
92
}}
93 3 みぞ @mizo0203
94 6 みぞ @mizo0203
## クラス図
95 7 みぞ @mizo0203
96
{{plantuml(svg)
97
@startuml
98
99
class User {
100
 +id
101
 +words
102
 +last_word
103
 +last_word_end
104
 +count
105
 +date
106
}
107
note left: id = user_id
108
109
class Pin {
110
 +id
111
 +user_id
112
 +date
113
}
114
note left: id = pin_code
115
116
@enduml
117
}}