Software Engineering Lecture 6/16

Software Engineering Lecture 6/16

先週の復習

Multi-user card game をPerl/Tkで作ることを考えてみよう。これを、情報モデル、 状態モデル、そして、システム全体の振る舞いを考えることによってオブジェクト 指向問題分析を行う。



Multi-user card gameの記述

この課題は一人でやっても良いが、4-5人のグループで行うこと。

まず、対象とする問題を具体的に決める。どんなカードゲームにするかを、 300文字程度で記述せよ。

次に、情報モデルを作成する。必要なオブジェクトを抜き出す。

必要なオブジェクトをすべて抜き出し、情報モデルを作成せよ。



Multi-user card gameの状態遷移

マルチユーザゲームの難しい所は、ユーザの参加や脱退である。この部分を表す 状態遷移図をユーザとゲームのサーバそれぞれについて、 記述してみよ。



Multi-user card gameのADFD

実際にカードゲームが始まる時には、それぞれのユーザや、ゲームのサーバ が相互に通信しあって処理を行う。以下の例をADFDで記述してみよ。

  1. 参加するユーザを決定し、ゲームの開始を参加するユーザに通知する
  2. カードをシャッフルし各ユーザに配布する。
  3. 選択したゲームの1ターンを行う
  4. ゲームの終了判定と終了の処理を行う


Multi-user card gameのcard libraryの作成

各ユーザはカードの集合を持っている。このカードの集合をオブジェクトとして 表現し、実装せよ。



Perl/Tkのオブジェクト構造の分析

Perl/Tkのcanvasに関連したオブジェクトを調べ、それに関する情報モデルと オブジェクト通信グラフを作成せよ。



Multi-user card gameのgraphics libraryの作成

Perl/Tk のキャンバスを使って、X-Window上にカードゲームを表示する ためのライブラリを作成せよ。このライブラリの情報モデルをまず作成し 図にしてから作成すること。(参考: /usr/open/lectures/kono/software/card )

その他

来週(6/23)はお休みにします。さ来週までに、今回の課題をすべて提出すること。 今回の課題は、4-5人のグループで行うこと。 課題は、作成した図、作成したプログラム、実行方法をまとめて、HTML で記述し、 WWW にあげること。作成たらメールでURLを以下のサブジェクトで kono@ie.u-ryukyu.ac.jp まで送ること。
Report on Software Engineering Lecture 6/16