Comments
Description
Transcript
プログラミング演習課題
1/3 プログラミング演習課題 (2008 年 5 月 7 日版) 出題者:小坂 洋明 (kosaka@is) UML とオブジェクト指向プログラミング 目的 UML 作図および簡単なシミュレーションプログラムを作成することで、オブジェクト指向開発を(ご く簡単であるが)体験する。 使用言語 Java のみ。どうしても他の言語を使用したい場合は事前に相談すること。 準備 1. Windows 環境を用意する(大学の Sun 端末の rdesktop コマンドでも可) 。 2. 用意した Windows 環境に、UML モデリングツール Jude http://jude.change-vision.com/jude-web/index.html の無償版 Jude/Community をインストールする。 ※大学の Sun 端末の場合 インストール先を各自の Local ドライブ(例えば Z:)にする。 レジストリの書き込みに失敗するが Jude の使用には問題ない(はず) 。 3. Java が編集・コンパイルできる環境を用意する。 ※大学の Sun 端末の場合 利用できるテキストエディタでプログラムを書く。 プログラムのコンパイル・実行は可能(javac コマンドなどが利用可能) 4. UML・オブジェクト指向の基礎知識習得が必要である場合は、以下が参考になる。 (a) 無料のオンラインコンテンツを利用する。 例えば ・アットマーク・アイティ オブジェクト指向入門 http://www.atmarkit.co.jp/channel/oo/oo.html ・アットマーク・アイティ UML 基礎講座 ここから始めるオブジェクト指向 http://www.atmarkit.co.jp/channel/uml/uml.html など 2/3 (b) 参考図書 ・豆蔵セミナー ライブオンテキスト (1)わかるオブジェクト指向 (2)UML モデリング (3)抽象化プログラミング入門 など 解答上の注意点 クラス図など UML の図の作成に当たっては、Jude を使用すること。Jude の使用上に問題点が 発生した場合や、どうしても Jude が使用できない事情がある場合は,出題者に相談すること. 設問に書いていない情報(単価など)は、適当に各自で定義すること。 3/3 課題 K-1 飲料を販売する自動販売機について考える。以下の項目に含まれる内容は、この販売機が最低限満た さなければならない機能を表す。 1. 3 種類の飲料(例えばオレンジジュース、グレープジュース、りんごジュース)を販売する。 2. 客がお金を入れる。 3. 客が買う飲料を 1 つ選ぶ。 4. 選ばれた飲料を客に出す(自販機から客が取り出す)。 5. お釣りがあればお釣りを出す。 以下の設問に全て答えよ。 設問 1 飲料の自動販売機をシステム、販売機と関わり合いのある人間(ユーザ)をアクターとして、ユース ケース図を作成せよ。 設問 2 上の自動販売機と客のやりとりをシミュレーションするのに必要なオブジェクトを考え、オブジェク ト図をつかってそのやりとりを図式化せよ。オブジェクト間に関連があればそれも示すこと。 次に、作成したオブジェクトをもとに必要なクラスを考えよ。それぞれのクラスが持つべき属性と操 作(引数も)を定義すること。クラス、属性、操作や引数の名前は、他人が見てもその意味がよく分か るよう命名すること。以上から、考えたクラスについてクラス図を作成せよ。クラス間に関連があれば それも示すこと。 設問 3 上の自動販売機と客のやりとりを、設問 2 で作成したオブジェクトやクラスをもとにシーケンス図で 示せ。 設問 4 課題 K-1 で作成した UML の図をもとに、上の自動販売機と客のやりとりをシミュレーションするプ ログラムを作成せよ。また、そのやりとりの結果を画面(例えば標準出力を使用)に出力せよ(例えば、 初期状態と、上のやりとりを実行した後の両方について、客が持っている飲料オブジェクトの数、所持 金や販売機の飲料(客が買った種類)の数や売上金額を出力)。 ※課題 K-1 の提出物:設問 1~3 で指定された UML の図が書かれた Jude のファイル 設問 4 で指定されたプログラムのソースコードとコンパイル済みのファイル 以上