Skip to content

Latest commit

 

History

History
208 lines (137 loc) · 11.7 KB

tut_uml_modeling_bs01.adoc

File metadata and controls

208 lines (137 loc) · 11.7 KB

準備

このチュートリアルでは、モデリングツールとして {astah} Professional を、実装にはRubyを使います。 最初に、演習に必要な環境を用意しましょう。

モデリングツールを用意する

このチュートリアルで使用するモデリングツール {astah} Professional を用意しましょう。

購入前に試用したい場合は、次のページを参照してください。

購入する場合は、次のページを参照して、自分に合ったライセンスを選択してください。

最適なライセンスを見つける

https://astah.change-vision.com/ja/shopping/price.html

いずれかの方法で、 {astah} Professional を入手できたら、次のページを参照して、自分に合ったライセンスを登録してください。

実装環境を用意する

このチュートリアルでは、実装に Ruby を使います。執筆時点では {ruby-version} を使いました。

Ruby は、Windows、Mac、Linuxで動作するオープンソースの言語プログラミング言語です。 インストール方法は利用環境によって異なります。 詳しくは、Rubyの公式サイトの説明や、関連するウェブサイトの記事を参考にしてください。

このチュートリアルでは、Rubyの高度な機能、規模の大きなライブラリやフレームワークは使いません。 ですが、Rubyについて多少の知識は必要になるでしょう。 Rubyになじみがない人は、公式サイトにある次のようなページを参考にするとよいでしょう。

演習用のプロジェクトを用意する

業務やシステムを分析(あるいは設計)するときにUMLのモデル図を使う場合、モデリングの対象のいくつかの側面について、それぞれに向いた図を作成することが一般的です。

複数の図で表すのは、大きな問題ならば分割して小さな問題として捉えるほうが整理しやすいからです。 たとえば、システム全体の構造と、その内部のある構成要素の内部の構造を別の図に分けることができるでしょう。 また、関心事によって表すもの(モデルに残すものや削るもの)が変わるからです。 たとえば、あるシステムを設計するのに、構造を表すためにクラス図を使い、振舞いを表すのにシーケンス図やステートマシン図使うといったことです。

{astah} でも、モデリングの対象に関連した複数の図をまとめて扱えるよう、ひとまとまりのファイルに保存します。{astah} では、この複数の図のまとまりのことを「プロジェクト」と呼んでいます。

{astah} のプロジェクトを作成する

それでは、演習用に {astah} のプロジェクトを用意しましょう。

  1. {astah} を起動する。

  2. 「ファイル」メニューから「プロジェクトの新規作成」を選択する( 新しいプロジェクトを作成する )。

{three-quarters-width}
Figure 1. 新しいプロジェクトを作成する
  1. 「no_title」という名前で新しいプロジェクトが作成される( 新しいプロジェクトが作成された )。

{three-quarters-width}
Figure 2. 新しいプロジェクトが作成された

作成したプロジェクトを保存する

新規プロジェクトを作成したら、最初に保存しておき、それからモデルの作成に入るようにするとよいでしょう。

  1. 「ファイル」メニューから「プロジェクトを保存」を選択する( 新しいプロジェクトを保存する )。

{three-quarters-width}
Figure 3. 新しいプロジェクトを保存する
  1. 「保存」ダイアログが開くので、プロジェクトの保存場所と保存するファイル名を指定する。

{three-quarters-width}
Figure 4. ダイアログを操作してプロジェクトを保存する場所とプロジェクトファイル名を指定する
  1. 保存すると、プロジェクトファイルにつけた名前が「構造ツリー」に反映される( プロジェクトファイル名が、プロジェクト名に反映された )。

{three-quarters-width}
Figure 5. プロジェクトファイル名が、プロジェクト名に反映された
Note

{astah} のプロジェクトの作り方についての詳しい説明は、機能ガイドの「プロジェクトの作成と利用」を参考にしてください。

{astah} 機能ガイド プロジェクトの作成と利用

https://astah.change-vision.com/ja/manual/278-project-file.html

ボウリングのスコアのつけ方

ボウリング場では、だいぶ前(1980年代の終りくらい)から、スコアを自動計算してディスプレイに表示するシステムが使われるようになっています。 自動化される前は、受付でスコアシートをもらって、自分たちでスコアを計算し、手書きでスコアをつけていました( 手でスコアを記入している様子 )。

{half-width}
Figure 6. 手でスコアを記入している様子

ボウリングの規則とスコアのつけ方について、公益財団法人「全日本ボウリング協会」の「ボウリング競技規則」を参考に、まとめてみました。

公益財団法人「全日本ボウリング協会」のボウリング競技規則

https://jbc-iwate.com/service/message/201012101.pdf

ボウリングスコアに使う記号

ボウリングスコアに使う記号と意味を ボウリングスコアに使う記号と意味 に示します。

Table 1. ボウリングスコアに使う記号と意味
記号 名称 意味
{thumbnail}

ストライク

1投目で10本全てを倒した場合。ストライクをだしたフレームの得点は、次の2投分を加算する。2回続いたら3フレーム目の1投目までを加算する。スコア欄は、それまでは空欄にしておく。ストライクが続くことを「ダブル」「トリプル(ターキー)」と呼ぶ。

{thumbnail}

スペア

1投目で残ったピンを、2投目で全部倒した場合。次の1投分を加算する。スコア欄は、それまでは空欄にしておく。

{thumbnail}

ミス

フレームの2投目でピンを1本も倒せなかった場合。2投目でガターに落ちても「G」の記号は使わずにこの記号を使う。そのフレームの得点は、1投目で倒したピン数になる。なお、1つのフレームで 2 回投球し、10本のピンを全部倒すことができなかった場合をエラーという。

{thumbnail}

ガター

1投目でレーンの両脇にある溝(ガター)にボールが落ちた場合。2投目はガターに落ちた場合も「ミス」として扱う。

{thumbnail}

スプリット

1投目で1番ピン(ヘッドピンともいう)と他のいくつかのピンが倒れ、2 本以上のピンが次のような状態に残った場合。スプリットの場合は、1投目のピン数を○で囲む。 (残っているピンの中間のピンが少なくとも1本倒れたとき。例えば7と9あるいは3と10。残っているピンのすぐ前のピンが少なくとも1本倒れたとき。例えば5と6。)

{thumbnail}

ファウル

ファウルラインを越えて投球されたという記号。1投目でファウルした場合、ピンを倒しても1投目のピン数は0になる。2投目は全ピンを立て直す。2投目でファウルした場合、ピンを倒しても2投目のピン数は0になる。第10フレームの3投目がファウルの場合、ピンを倒しても3投目のピン数は0になる。

クラッシックスコアリング

古くから使われていて、広く普及しているスコア計算方式です。

クラッシックスコアリングにおけるスコア計算の規定
  • ボウリングの1ゲームは、10 個のフレームをもって構成する。

  • 競技者は、ストライクの場合を除き、それぞれのフレームで 2 回ずつ投球する。

    • ただし、第10フレームがストライクまたはスペアの場合、サービスフレームが追加される。

    • ストライクの場合は、サービスフレームで2回投球できる。

    • スペアの場合は、サービスフレームで1回投球できる。

  • ゲームの成績は、10個のフレームの合計点によってこれを表す。

    • 適正な投球によって倒されたピンの数をもって計算する。

    • 適正に投球されたボールとは、競技者の持っているボールが、手から放れファウルラインを越えたものをいう。

{full-width}
Figure 7. スコアの例(クラッシクスコアリングの場合)

カレントフレームスコアリング

2018年アジア競技大会で採用された新しいスコア計算方式です。

クラッシックスコアリングと異なる点
  • 1投目によって10ピンすべてを倒した場合はストライクとなる。ストライクのとき、そのフレームの得点は30となる。

  • 続けて2回ストライクの場合は、それぞれのストライクの得点は30となる。

  • 1投目の後、残ったピンを2投目によって全部倒した場合は、スペアとなる。スペアのとき、そのフレームの得点は、1投目のピン数に10を加えた数となる。

  • 第10フレームでストライクあるいはスペアをとった場合も、3投目はない。

{full-width}
Figure 8. スコアの例(カレントフレームスコアリングの場合)
【豆知識】ボウリングの名前の由来
「ボウリングをすること」などを意味する「bowl」という英語は、ラテン語で「泡」や「瘤」を意味する「bulla」に由来する。一方、同じ綴りで食器や容器(ボウル)を意味する「bowl」や「球」を意味する「ball」は、ゲルマン語に由来し、本質的に異なる。
— Wikipedia
Note

ボーリングのハンディキャップは、参加者が普段プレーしているときのアベレージ(平均スコア)を基に、力量に応じて設定するそうです。 このチュートリアルでは、ハンディキャップは取り扱わないでおきます。