memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

「次回から入力を省略」は難しい

今日のソフトウェア開発演習は「Gmailなどの認証画面で良く見かけるログイン状態を保持する機能をもったログイン画面を作成しなさい」の1問のみでした。補足しますと、ログイン後の画面を作るのは面倒なので、ログイン状態になっても他画面への遷移はしない(ログイン画面のまま)とします。チェックボックスを押さなければIDとパスワードは保存されませんので空欄になります。チェックボックスを押してログイン状態がCookieに保存されればIDとパスワードがログイン画面に表示される。。。という感じになります。

実際に作ってみるとわかると思いますが、いつも使っているはずのこの機能を実現するのは意外と大変です。担当学生が20名くらいいますが、2時間で完成できたのは数名だけ。。。Webプログラミングをはじめたばかりの方はぜひ挑戦してみてください。

(ヒント↓)


ディシジョンテーブルを作成します。詳細は以下のような感じです。

JSPに対する入力情報は、ID・パスワード・チェックボックスの状態、そしてCookieに保存されたID・パスワードの5つになります。これらの情報をもとにログインページに表示するID・パスワード・チェックボックスの出力情報とCookieに保存するID・パスワードを整理します。

もう少し書きますと、入力情報が5つありますのでこれを5ビットの情報と考えます。演習では大変なのでIDとパスワード(Cookieも)は対であるとしました。片方が空ということがないということです。この前提条件を付加することで3ビットになり組み合わせ数は8になります。8ケースに対して入力と出力を整理すればディシジョンテーブルが完成します。

わかりにくいと思いますが、参考まで私が作ったディシジョンテーブルを以下に示します。

もっと楽な方法がありそうですが、Webプログラミングの演習用には良い問題だと考えています。