注文サポートソフト kinokoの 設計と実装 chai(SING,B2)@Z203生活向上委員会 親:いまいずみさん kinoko開発の動機 ・木の子に出前を取るのは非常に面倒 --誰かが注文を集計するために聞いて廻らなけれ ばならない --その後電話 --それを毎回(多い時は週に3,4回) ・注文をするときに部屋にいないとならない --注文する時に部屋にいないと、頼むことはできな い --少し遅れるだけで残念なことになる kinokoの概要 ・木の子への注文する手間を自動化 ・kinokoサーバは、クライアントの要求に応じてオー ダーを保存 ・定時になるとそれを集計し、まとめて「木の子」及び 注文者にメールを送信(マスターがメールを読んでく れる) ・サーバは、毎日変更されるメニューを更新し日替わり メニューなどに対応する ソフトとしての流れ Client kinoko-system @sfc.wide.ad.jp Server 注文をメールで 送信 ②③cronで定期的に実行 ① ④これもcronで実行 ・サービスの停止 ・集計作業の後、メールを送 ・サーバのサービス開始 ・メニュー更新 信する --集計、注文の作業のためサー --クライアントからの要求を受 ・ファイルのお掃除 ビスを締め切る --「木の子」とML宛にメール け付ける を送信・サーバの再起動 ① 14:00 ② 19:00 ③ 19:10 0:00 ④ 13:50 13:59 通信前のサーバの動き 起動 member-listからの注文可能者リストを読み込む メニューファイルを読み込みリストに格納 メインループ accept( );で待機 fork( ); 通信の様子(1回目) Server Client connected!! name (ex.chai) I know you <or> I don’t know you hello 「This is first time」(今回は未注文) Come on メニューリスト 選択 させる 01.(週替)メゴチのフライ:ご飯盛り bye リストと 照合 注文済 か確認 通信の様子(2回目以降) Server Client connected!! リストと 照合 name (ex.chai) I know you hello ユーザーに選 択肢を与える 1.keep 2.cancel 3.reorder 「You ordered.」 (今回は注文済) 注文済 か確認 それぞれ 対応 通信の様子(2回目以降) Server Client connected!! リストと 照合 name (ex.chai) I know you hello ユーザーに選 択肢を与える 1.keep 2.cancel 選択 3.reorder させる 「You ordered.」 (今回は注文済) Come on メニューリスト 01.(週替)メゴチのフライ:ご飯盛り bye 注文済 か確認 clientの仕様 ・ユーザーへのインターフェイスのみを実装している ・メニューの選択は、送られてきたメニューリストを元に cursesの画面で行ってもらう ・木の子によくある「もしこれが無かったら」という部分 を考慮(文章の追加) ・キャンセル、変更、中止ももちろん可能 実証実験 昨日の風景 課題 認証 Webインターフェイス Windowsの人のためのインターフェイスも用意 SFCのためのインターフェイス 開発環境 ・FreeBSD5.2.1 ・gcc3
© Copyright 2024 ExpyDoc