知識情報工学実験「システム設計コース(2011年度)」課題4(グループA・B共通)


課題内容 / 注意事項 / レポート

課題3(グループA・B共通)で出題した「ボウリング問題」のボーナス点加算の仕様の詳細を記します。 この仕様に基づいて、必要な状態機械図を作成してください。 また、クラス図やシーケンス図を修正してください。

課題内容

ボーナス点の加算仕様の詳細

課題3(グループA・B共通)で出題した「ボウリング問題」のボーナス点加算の仕様 (ソフトウェア設計論教材から引用、一部改変):

Frame[n-1] が Frame[n] から通知を受けたとき、 それが Frame[n] の1投目か2投目かを意識しないですませたい。 これを実現するために、Frame オブジェクトに状態を持たせることで上記の仕様を実現する。

たとえば、Frame[n-1] がスペアのとき第1投と第2投とで振る舞いが異なる

これは Frame[n-1] が第1投で notify() を受けたとき、 OneMore 状態から Closed 状態に移ることで実現する。

「ボウリング問題」に関する UML 図

第1〜第9フレームオブジェクト Frame[1]〜Frame[9] (グループAの人は、第1〜第nフレームオブジェクト Frame[1]〜Frame[n-1] , n は任意の数)と、 第10フレームオブジェクト Frame[10] (グループAの人は、最終フレームオブジェクト Frame[n] ) では、 ボーナス点の加算仕様が異なります。 そのことに注意して、各 UML 図を作成してください。

クラス図

ボーナス点の加算の仕様に基づいて、通常フレームと第10フレーム の違いに注意しながら、 クラス図を適宜改変してください。

シーケンス図

課題3(グループA・B共通)で作成したシーケンス図に加えて、 以下の場合のシーケンス図を作成してください。

状態機械図(ステートマシン図)

他のオブジェクトから、ある Frame オブジェクトにメッセージが渡されて、 Frame オブジェクト内部の状態を変える処理をした後に メッセージ送信側のオブジェクトに処理が戻るまでの 状態遷移過程を、以上の仕様とソフトウェア設計論教材を参考にしながら、 状態機械図として、JUDE を用いて作図てください。

注意事項

レポート

本課題では課しません。

ただし、本問題の要求分析過程の思考結果、外部仕様、クラス図など、 最終レポートに記述する項目について、 今のうちに書けるところまで書いてください。


Copyright © 2009, AIDA Shin, All Rights Reserved.
Last Updated Oct 17, 2011 Since Jun 21, 2011.

このサイトは、FreeBSD 7.3-STABLE / Windows 7 上の Mozilla Firefox 3.6.18, また Windows 7 上の Micosoft Internet Explorer 8 で正しく表示されることを確認しています。 ただし、 Google ChromeSleipnirOperaSafari 等 CSS を解釈できる他のブラウザ上での表示確認はしておりません。 また、CSS を解釈できない w3mLynx などでは、 崩れて表示される可能性があります。

なお、このサイトは、W3C XHTML 1.0 規格と CSS 2 規格に適合するように、 以下のアプリケーションを用いて構築しています。 XHTML 1.0, このHTMLは 100点です Valid XHTML 1.0! Valid CSS!