プログラミング演習課題

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 で指定されたプログラムのソースコードとコンパイル済みのファイル
以上