PSS の学習画面の状態遷移図は確か2年ほど前に作ったことがあったんですが,それは
- テキストベースであり,作るのに膨大な手間がかかった
- 見づらい&分かりづらい(特殊な記号多数)
- 保守性ゼロ
- 抽象化レベルの違う複数の状態が混在していた(つーか処理を全て図にしていた)
だったりして,ここ1年くらい見てませんでした.
が,ここにきて自分の中でのUML熱が上がってきたので勢いで書いてみました.
前回の図はそもそも「和英入力モード(タイピングモード)」のみを対象にしていましたが,今回は全部のモードを対象にし,しかもかなりすっきりとしたものとなりました.
UML2.0で書ければきっちりと条件文も書けたんですが,まぁそれはそれ.ガードだけで十分分かりやすい図が仕上がったかと.
そして,できあがった図を元に,PSS 自体をリファクタリング.ある意味プロセス重視で書いたので,
- 細かいオブジェクト同士の関係
- モードによる細かい動作の違い
が不明確ではありますが,書き始めれば爆発するのは目に見えているのであえて抽象度の高い部分のみを対象とした.