勉強会 WS 参考用特別編集

組込み分野のための
UML モデル解説書

製品編

電子オルゴール

本書は、UML モデルカタログに含まれる「電子オルゴール」のUMTP 組込みモデリング部会
2012.5.17 更新

モデルの詳細を記述したものです。モデリングの初心者には教科書や参考書として、モデリングのベテランの方々にはモデルのヒントとして、ぜひともお手元に置いて活用してください。

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

組込み分野のための UML モデル解説書

UMTP は特定非営利活動法人 UML モデリング推進協議会の登録商標です。その他、本書に記載されている会社名、商品名などは、一般に各社の商標または登録商標です。

2

電子オルゴール目次

はじめに .................................................................................................... 4要求仕様 .................................................................................................... 4
モデル一覧 ............................................................................................... 16
エンティティに着目したモデル ..................................................................... 18
分析モデル ............................................................................................. 20

3

組込み分野のための UML モデル解説書

はじめに
電子オルゴールは、携帯音楽プレーヤーのような音楽再生装置で、曲やプレイリスト1を再生できます。
オルゴールや音楽再生装置という身近なものを考えていますので、分かりやすいモデルです。
本モデルでは、曲やプレイリスト、再生パラメータをリストにまとめて管理する方式を表現しています。
これは、データをグルーピングして管理する場合の参考になります。また、ユーザーインターフェースに関しては、設計モデルにデザインパターンを適用したモデルを提示しています。こちらは、小型の画面を持つ機器のユーザーインターフェースの設計に用いることができます。

要求仕様
機械式オルゴールは、シリンダやディスク上のピンが、オルゴールの櫛の歯を弾くことによって音楽を奏でます。本カタログで扱う電子オルゴールは、機械式オルゴールの発音操作をソフトウェア制御します。
これにより、(通常の機械式オルゴールは 1 曲の演奏を行いますが)、複数の曲の再生に対応できるオルゴー
ルとなります。
曲を再生する機器には、携帯音楽プレーヤーがあります。電子オルゴールは、携帯音楽プレーヤーと同様のプレイリストにより複数の曲を再生します。プレイリストについて、携帯音楽プレーヤーとほぼ同様です。反面、携帯音楽プレーヤーは、テンポを変更できませんが(再生速度を変更すると可能ですが、音程も変わってしまいます)、電子オルゴールは、音程を変えずに、テンポを変更できます。これは、オルゴールが楽譜としてシリンダを持っており、それを元に演奏することをソフトウェアで再現しているためです。

機械式オルゴールの解説

シリンダ

櫛

ベッドプレート1

プレイリストは、曲や動画を再生する順番に並べたリスト。携帯音楽プレーヤーや PC の音楽再生ソフトウェアでは、プレイリス
トを使用して、好みの順番で曲や動画を再生することができる。

はじめに

4

電子オルゴール

シリンダ

オルゴールにとっての「楽譜」。櫛を弾くためのピンが打ち込まれている。シリンダが回転することにより櫛を弾くことで発音する。

櫛(くし)

発音するための金属板(「歯」)が並んでいる。歯の長さにより音程が決まる。

ベッドプレート

鋳物でできた土台。櫛が弾かれた際の音をボックスに伝える。

ボックス

通常は木製の箱。ベッドプレートの振動を反響させる共鳴装置として機能する。

ハードウェア仕様
1. 小型の木製の箱である（発音装置との組み合わせでオルゴールを再現できるもの）
2. 駆動
 バッテリで駆動すること
 AC アダプタ接続により駆動すること
3. インターフェース
 小型液晶ディスプレイ
 上/下/左/右/中央の 5 個のキー
 SD-Card
4. 音源方式
 ウェーブテーブル SW シンセ

電子オルゴールの基本的な機能
1. プレイリストに曲を登録し、プレイリスト内の曲を再生していくことができます。
2. 調律2、リヴァーブ3、音量の設定を「曲調」として登録しておくことができます。

2

調律は、音階(ドレミファソラシド)の音の高さ(周波数)の決め方。現在、1 オクターブを 12 等分した 12 平均律が一般的であるが、純正律、ミーントーンなど、色々な方式が存在する。
3
リヴァーブは、音の響き方。英語 reverberation(残響)より。同じ楽器の音でも、コンサートホールの響きや小さな部屋の響きなど、環境により音が異なる。この場合は、演算処理によりコンサートホールや小さな部屋の残響を再現することを示す。

5

組込み分野のための UML モデル解説書

ユースケース
本カタログモデルのユースケースを示します。図 1 はユースケースをカテゴリ分けしたパッケージ、図
2 以降が個々のユースケースになります。

電子オルゴールのユースケースのパッケージ
uc 要求
電子オルゴール
再生

プレイ リスト編集

曲管理
ユーザ
曲調編集

その他

図1

電子オルゴールのユースケース
uc 再生
電子オルゴール
UC01：再生プレイリストを選択する

ユーザ

UC04：再生曲を選択する

UC02：プレイ リ
ストを再生する

UC05：曲を再生
する

図2

要求仕様

6

UC03：プレイ リ
ストの再生を停止する

UC06：曲の再生を停止する

電子オルゴールuc プレイ リスト編集
電子オルゴール
UC07：プレイ リストの一覧を見る

ユーザ

UC11：プレイ リストの曲の一覧を見る

UC08：プレイ リストを登録する

UC09：プレイ リ
ストを削除する

UC12：プレイ リ
ストに曲を登録する

UC13：プレイ リ
ストから曲を削除する

UC10：プレイ リ
ストの名前を変更する

図3

uc 曲管理電子オルゴール
UC14：曲の一覧
を見る

UC15：SDカードの曲の一覧を見る

UC16：SDカード
から曲を登録する

ユーザ

UC17：曲を削除
する

図4

uc 曲調編集
電子オルゴール
UC18：曲調を登録する

UC19：曲調を変更する

UC20：曲調を削除する

ユーザ

UC21：曲調を適用する

図5

uc その他
電子オルゴール
UC22：リピート再生を設定/解除する

UC23：シャッフ
ル再生を設定/解除する

UC24：音量を変更する

UC27：テンポを変更する

UC28：発音を強制停止する

UC25：調律を変更する

ユーザ
UC26：音色を変
更する

図6

7

UC29：電子オル
ゴールをリセットする組込み分野のための UML モデル解説書

ユースケース一覧
パッケージ
再生プレイリスト
編集

曲管理

曲調編集

その他

要求仕様

#

ユースケース名

ユースケース
記述

分析 動的
モデル

PIM 設計動的モデル

UC01

再生プレイリストを選択する

本文

本文

本文

UC02

プレイリストを再生する

本文

本文

本文

UC03

プレイリストの再生を停止する

本文

本文

本文

UC04

再生曲を選択する

付録

付録

記載なし

UC05

曲を再生する

付録

付録

記載なし

UC06

曲の再生を停止する

付録

付録

記載なし

UC07

プレイリストの一覧を見る

付録

付録

記載なし

UC08

プレイリストを登録する

付録

付録

記載なし

UC09

プレイリストを削除する

付録

付録

記載なし

UC10

プレイリストの名前を変更する

付録

付録

記載なし

UC11

プレイリストの曲の一覧を見る

付録

付録

記載なし

UC12

プレイリストに曲を登録する

本文

本文

付録

UC13

プレイリストから曲を削除する

付録

付録

記載なし

UC14

曲の一覧を見る

付録

付録

記載なし

UC15

SD カードの曲の一覧を見る

付録

付録

記載なし

UC16

SD カードから曲を登録する

付録

付録

記載なし

UC17

曲を削除する

付録

付録

記載なし

UC18

曲調を登録する

本文

本文

付録

UC19

曲調を変更する

付録

付録

記載なし

UC20

曲調を削除する

付録

付録

記載なし

UC21

曲調を適用する

付録

付録

記載なし

UC22

リピート再生を設定/解除する

付録

付録

記載なし

UC23

シャッフル再生を設定/解除する

付録

付録

記載なし

UC24

音量を変更する

付録

付録

記載なし

UC25

調律を変更する

付録

付録

記載なし

UC26

音色を変更する

付録

付録

記載なし

UC27

テンポを変更する

付録

付録

記載なし

UC28

発音を強制停止する

付録

付録

記載なし

UC29

電子オルゴールをリセットする

付録

付録

記載なし

8

電子オルゴールユースケース記述
次ページ以降に、主要なユースケース記述を掲載します。その他は「付録：ユースケース記述」を参照してください。共通補足事項は、各ユースケースで省略している共通な事柄です。

共通補足事項■メインフロー、代替フロー、例外フロー
・特に注記の無い限り、ユーザは、フロー内の任意の操作を中断することができる。
・フローを中断した場合、システムの状態は、ユースケース開始時点の状態になる。

■本モデルでのモデル化対象外項目
登録
・
・
・
・

システムに登録できる曲の最大件数システムに登録できるプレイリストの最大件数
プレイリストに登録できる曲の最大件数
プレイリストの名前・ 使用できる文字
・ 名前の長さ
・ 曲調組み合わせの登録最大数
表示・ 同じ名前の曲を複数登録した場合の識別方法① 特にしない② 重複している名前の曲を登録する際に曲名に(1)、(2)、…を付けた名前を別名として与える 例：XXXXXXXX(1)③ 重複している名前の曲を登録する際に曲名に登録した日時を付けた名前を別名として与える 例：XXXXXXXX(10/10 10:10)
・ 曲の名前以外に表示するもの：
・ 曲の長さ(時間)入力
・ 音量の変化の段階指定方法

9

組込み分野のための UML モデル解説書<UC01：再生プレイリストを選択する>■概要
再生するプレイリストを選択し、再生する。

■アクター
ユーザ

■事前条件
・システムに 1 件以上の再生可能プレイリストが格納されていること。

■事後条件
・指定されたプレイリストが再生プレイリストとして指定されていること。
・指定されたプレイリストが再生開始されること。
・プレイリスト再生中であること。

■メインフロー
1. アクターは、システムに、再生プレイリストを指定する。
2. システムは、指定されたプレイリストを再生プレイリストとする。
3. システムは、再生開始位置を初期化する。
4. システムは、再生プレイリストを再生する。
5. UC を終了する。

■代替フロー
1a. 指定プレイリストと同一のプレイリストを再生中の場合
1a1. UC を終了する。
1b. 指定プレイリストとは別のプレイリストを再生中の場合
1b1. システムは現在再生しているプレイリストの再生を停止する。
1b2. メインフロー2.に遷移する。
1c. 曲を再生中の場合
1c1. システムは現在再生している曲の再生を停止する。
1c2. メインフロー2.に遷移する。

■例外フロー
なし

要求仕様

10

電子オルゴール<UC02：プレイリストを再生する>■概要
選択されたプレイリストを再生する。

■アクター
ユーザ

■事前条件
・再生プレイリストが指定されていること。
・プレイリスト再生停止中であること。

■事後条件
・指定されたプレイリストが再生開始されること。
・プレイリスト再生中であること。

■メインフロー
1. アクターは、システムに、再生プレイリストの再生を指示する。
2. システムは、再生プレイリストの再生開始曲より、再生を開始する。
3. UC を終了する。

■代替フローなし■例外フローなし■備考
・プレイリスト再生中の場合、曲の再生が終了すると、次の曲の再生を開始する。

11

組込み分野のための UML モデル解説書<UC03：プレイリストの再生を停止する>■概要
再生中のプレイリストの再生を停止する。

■アクター
ユーザ

■事前条件
・指定されたプレイリストを再生中であること。

■事後条件
・指定されたプレイリストが停止中であること。

■メインフロー
1. アクターは、システムに、再生停止を指示する。
2. システムは、再生プレイリストを再生停止する。
3. システムは、再生開始曲および再生開始位置を保存する。
4. UC を終了する。

■代替フローなし■例外フロー
なし

要求仕様

12

電子オルゴール<UC12：プレイリストに曲を登録する>■概要
ユーザが電子オルゴールのプレイリストに曲を登録する。

■アクター
ユーザ

■事前条件
・システムに 1 件以上のプレイリストが登録されている。
・システムに 1 曲以上の曲が登録されている。

■事後条件
・アクターが指定したプレイリストに指定した曲が登録されている。

■メインフロー
1. アクターは、システムに、プレイリストに曲を登録することを指示する。
2. アクターは、システムに、プレイリスト、登録する曲、登録する場所(何曲目の前/後)を指示する。
3. システムは、指示通りに曲を登録する。
4. UC を終了する。

■代替フローなし■例外フロー
3a. 指示されたプレイリストが登録されていない場合：
3a1. システムは、アクターへ、指示されたプレイリストが登録されていないので、曲を登録できない旨を通知する。
3a2. UC を終了する。
3b. 指示された曲が登録されていない場合：
3b1. システムは、アクターへ、指示された曲が登録されていないので、曲を登録できない旨を通知する。
3b2. UC を終了する。
3c.指示された登録する場所(何曲目の前/後)が正しくない場合(例：プレイリストは 2 曲なのに、3 曲目の後)：
3c1. システムは、アクターへ、指示された登録する場所が正しくないので、曲を登録できない旨を通知する。
3c2. UC を終了する。

13

組込み分野のための UML モデル解説書

3d. プレイリストに登録できる最大件数の曲が登録されている場合：
3d1. システムは、アクターへ、プレイリストに登録できる最大件数の曲が登録されているので、曲を登録できない旨を通知する。
3d2. UC を終了する。
3e. 指示されたプレイリストが再生中の場合：
3e1. システムは、アクターへ、指示されたプレイリストが再生中なので、曲を登録できない旨を通知する。
3e2. UC を終了する。

■備考
・プレイリストに登録できる曲は、あらかじめ電子オルゴールに登録しておかなければならない。
・同じ曲を同じプレイリストに何回でも登録できる。

要求仕様

14

電子オルゴール<UC18：曲調を登録する>■概要
ユーザが電子オルゴールに曲調を登録する。

■アクター
ユーザ

■事前条件
なし

■事後条件
・システムにアクターが指定した曲調が登録されている。

■メインフロー
1. アクターは、システムに、曲調の登録を指示する。
2. アクターは、システムに、登録する曲調の内容を指示する。
3. システムは、指示された曲調を登録する。
4. UC を終了する。
■代替フローなし■例外フロー
2a. 登録できる最大件数の曲調が登録されている場合：
2a1. システムは、アクターへ、登録できる最大件数の曲調が登録されているので、これ以上登録できない旨を通知する。
2a2. UC を終了する。

3a. 指示された曲調の内容が正しくない場合：
3a1. システムは、アクターへ、指示された曲調の内容が正しくないので、登録できない旨を通知する。
3a2. UC を終了する。

■備考
・曲調は、調律、リヴァーブ、音量の組み合わせとする。
・調律の種類は、「<UC25：調律を変更する>」参照。
・リヴァーブの種類は、ROOM、HALL、PLATE、とする。

15

組込み分野のための UML モデル解説書

モデル一覧
モデル名

概要

機能に着目した
モデルなし

エンティティに着目したモデル

要求仕様の内容をエンティティ中心に分析し、オル
ゴールの部分と曲を順番に再生する音楽再生装置の2 面から考えました。

状態に着目したモデル

なし

メタファを使っ
たモデル

なし

モデル一覧

ポイント

16

オルゴールや音楽再生装置という身近なものを考えていますので、分かりやすいモデルです。
また、応用例も考えやす
いと思います。

エンティティに着目したモデル
モデリングのコンセプト(1) 電子オルゴールをモデリングするにあたり、機械式オルゴールを以下のようにとらえなおしています。
機械式オルゴール

電子オルゴール

シリンダ：

曲：機械式オルゴールのシリンダを抽象化している。

櫛
ベッドプレートボックス

音源：機械式オルゴールの櫛、ベッドプレート、ボックスに対応している。

シリンダを曲、櫛などを音源ととらえ、曲と音源が協調して、曲を再生します。
1: 再生する():曲:クライアント
3: 曲データを取得する()

2: 再生する():音源

4: 音を出力する()

繰り返して、曲を再生する。

(2) 「電子オルゴール」を一般的な「曲を順番に再生する音楽再生装置」として捉えます。
(2a) プレイリストは曲を順番に再生するので、プレイリストは曲を集約します。
バッハ :プレイ リスト

G 線上のアリア :曲

プレリュード :曲

ポロネーズ :曲

1番目

2番目

3番目

(2b) 一般的に音楽再生装置のメニューはフォルダのような階層があり、プレイリストを選択します(フォルダはフォルダまたはプレイリストを集約します)。電子オルゴールには階層はなく、フォルダはプレイリストを集約します。
ジャンル :フォルダ「プレイ リスト」 :フォルダ

バッハ :プレイ リスト

お気に入り :プレイ リスト

一般的なもの。電子オルゴールでは使用しない

アルバム :プレイ リスト

フォスター :プレイ リスト

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

(2c) 電子オルゴールのすべての曲を管理するものが必要で、全曲目録とします。
:全曲目録

G 線上のア リア :曲
プレリュード :曲
ポロネーズ :曲
夢路より :曲
ケンタッキーの我が家 :曲(2d) プレイリストと全曲目録は、曲を集約し、再生する責務を持つことが共通しています。共通部分を再生目録として汎化させます。
再生目録

プレイ リスト全曲目録

以上をまとめた、電子オルゴールの主要なクラスを次に示します。
フォルダ

再生目録

プレイ リスト

曲

全曲目録

音源

19

分析モデル
前述の電子オルゴールの主要なクラスに、ユースケースの実行に必要なユーザーインターフェース、曲調、曲調マネージャー、外部メディアを追加し、分析モデルを作成しました。また、クラス数が増えたため、ユーザーインターフェース、曲、曲調、デバイスのパッケージに分割しました。

静的モデル
本電子オルゴールは、液晶ディスプレイを用いたユーザーインターフェースやデバイスの制御など抽象度の異なる部分から成り立ちます。抽象度をそろえて扱うため、以下の 3 層のレイヤー構造を全体構造としました。


ユーザーインターフェース層：仕様変更が起きやすいユーザとのインターフェースを司ります。



アプリケーション層：アプリケーション固有の機能を提供します。



デバイス層：アプリケーション固有ではないデバイスに関連する部分になります。

アプリケーション層は前述の音楽再生装置の主要なクラスに相当する部分を曲パッケージ、曲調に関連する部分を曲調パッケージに分割しました。これは、曲を連続して再生するという音楽再生装置として主要な部分と音の味付けのように要求仕様により内容が大きく変動する部分(曲調)に分割し、主要な部分(曲)の(再)利用を可能にするためです。
ユーザーインターフェース層とデバイス層は、そのままユーザーインターフェースパッケージとデバイ
スパッケージとしました。前述の音楽再生装置の主要なクラスのうち、音源はハードウェアに依存する部分なので、デバイスパッケージに置くことにします。

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

電子オルゴールの全体構造
class 00全体構造
ユーザーイ ンターフェース

ユーザーイ ンターフェース

ユーザーインターフェース
1

ユーザーインターフェース
1

ユーザーイン 0..1
ターフェース

ユーザーインターフェース1

曲

曲調「プレイリスト」
フォルダ
1

再生中の
再生目録 0..1
再生目録

フォルダ

曲終了の
通知先
0..1

1..*
全曲
目録 1

0..*
プレイ リスト

曲調マネージャー

全曲目録

全曲目録

1

曲調マネージ ャー

曲

0..1

所属先
1

再生中
の曲

構成員
0..*
{ordered}{bag}

曲 0..*

1 曲調マネー
ジャー

1
0..*

曲データ 0..1
の供給元

曲調

曲調

1

0..*

デバイ ス
曲の供給元

1

外部メディア

曲データ
の使用者

0..1

再生
装置

1

制御
対象

音源
1

制御対象
1

図7

曲パッケージは、曲やプレイリストなど、曲を連続して再生するという音楽再生装置として主要な部分になります。Ordered と bag については後述します。
ユーザーインターフェースパッケージはユーザとのインターフェースを司ります。
曲調パッケージは、本カタログの要求仕様の曲調を実現する部分です。要求仕様により内容が大きく変動する部分です。
デバイスパッケージは、電子オルゴールのデバイスをまとめたものです。
各クラスについては後述します。

21

「曲」パッケージのクラス構造
class 曲
ユーザーイ ンターフェース
ユーザーイ ンターフェース

ユーザーインターフェース
1

ユーザーインターフェース

1「プレイリスト」フォルダ

1

0..1

ユーザーインターフェースフォルダ
プレイリストの最大件数 {readOnly}
プレイリストが最大件数未満か()
プレイリストの一覧を取得する()
プレイリストの名前を変更する(何番目のプレイリスト, 名前)
プレイリストを削除する(何番目のプレイリスト)
プレイリストを取得する(何番目のプレイリスト)
プレイリストを登録する(名前)
工場出荷状態に戻す()
1
再生中の
再生目録

再生目録
シャッフル
リピート

曲
ファイル名
曲データ
再生開始位置
再生中
名前

0..1

シャッフル再生を解除する()
シャッフル再生を設定する()
リピート再生を解除する()
リピート再生を設定する()
完全停止する()
完全停止中か()曲の一覧を取得する()

曲終了の
通知先

再生中
完全停止する()の曲
完全停止中か()0..1 曲データを取得する()再生する()
再生の準備を行う(曲終了の通知先)
再生を停止する()構成員 再生開始位置を初期化する()
再生中か()
0..*
削除する(){ordered} 生成する(ファイル名){bag}
名前を取得する()

0..1

曲を削除する(何番目の曲)
曲を取得する(何番目の曲)
曲終了を通知する()所属先再生する()

再生を停止する()
再生中か()
再生中の曲を設定する(何番目の曲)最初の曲を再生中の曲に設定する()
発音を強制停止する()

1..*

曲データ
の供給元
全曲目録

0..*
プレイ リスト
曲の最大件数 {readOnly}
名前曲が最大件数未満か()曲を削除する(何番目の曲)
曲を登録する(曲, 順序)再生する()
削除する()
生成する(名前)
名前を取得する()
名前を変更する(名前)

0..1

曲

0..*

1

全曲目録
曲の最大件数 {readOnly}
外部メディアから曲を登録する(何番目の曲)
外部メディアの曲の一覧を取得する()曲が最大件数未満か()曲を削除する(何番目の曲)
工場出荷状態に戻す()
再生する()
全曲目録

1

デバイ ス
曲の供給元
外部メディア1

曲データの使用者 0..1

再生
装置 1

音源

図8

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

曲パッケージは、曲やプレイリストなど、曲を連続して再生するという音楽再生装置として主要な部分になります。
曲は、電子オルゴールの楽曲そのものです。デバイスパッケージの音源と共同で 1 曲毎の再生を行います。曲は、(対応するファイルからデータを読み出し)音源にデータを供給します。後述の動的モデルに、曲の状態遷移を記載しました。参照してください。
プレイリストは、曲を再生する順番に並べたものです。曲を順番に再生する責務を負います。一般的にプレイリストと呼ばれているものや音楽再生装置のアルバムも該当します。
フォルダは、プレイリストの集まりです。メニューでプレイリストの表示(選択)や、登録・削除などのプ
レイリストの管理を行います。本カタログの要求仕様では、「プレイリスト」を表示(選択)するフォルダだ
けですが、「ジャンル」や「アーティスト」、「アルバム」などのフォルダなども実現できます。また、フォルダが自身も集約するように変更すると、フォルダを階層化する拡張が実現できます。
全曲目録は、電子オルゴールのすべての曲を持ち、(外部メディアからの)局の登録・削除などの曲の管理を行います。また、1 個の曲を選択/再生する責務も持ちます。
再生目録は、プレイリストと全曲目録の上位概念です。曲を集約し管理する責務と曲を順番に再生する責務を持ちます(リピート再生やシャッフル再生も含みます)。
全曲目録と曲の集約関係に付いている「ordered」は、順序付けがあることを示し、全曲目録は順番に並んだ曲を管理しています。また、「bag」は多重集合を示し、同じ要素を複数持つことができます。全曲目
録を特化したプレイリストは同じ曲を複数回持つことができるので、bag を付加しています。
ユーザーインターフェースは、この再生目録と「再生中の再生目録」という関連端名で関連を持ちます。
この関連は、ユースケース<UC02：プレイリストを再生する>の実行中には、プレイリストと関連し、ユースケース<UC05：曲を再生する>の実行中には、全曲目録と関連します。このように、上位概念の再生目録によって、どちらでも同じように扱うことができます。

23

「曲調」パッケージのクラス構造
class 曲調
ユーザーイ ンターフェース
ユーザーイ ンターフェース

ユーザーインターフェース

曲調マネージャー

1

1

曲調マネージ ャー
曲調の最大件数 {readOnly}
テンポを変更する(テンポ)
音色を変更する(音色)音量を設定する(音量)曲調が最大件数未満か()
曲調を削除する(何番目の曲調)曲調を適用する(何番目の曲調)
曲調を登録する(調律, リヴァーブ種別, 音量)
曲調を変更する(何番目の曲調, 調律, リヴァーブ種別, 音量)
工場出荷状態に戻す()
調律を設定する(調律)
発音を強制停止する()
曲調マネージャー

1

1
0..*
曲調
リヴァーブ種別
音量
調律
削除する()
生成する()
適用する()
変更する(調律, リヴァーブ種別, 音量)
曲調

0..*

デバイ ス
制御
制御
対象 1 対象

1

音源

図9

曲調パッケージは、本カタログの要求仕様の曲調を実現する部分です。要求仕様により内容が大きく変動する部分です。
曲調は、音量や調律など(曲調)のパラメータ群です。パラメータ値を保持する責務と適用(その値に変更)する責務を負います。
曲調マネージャーは、登録・削除などの曲調の管理を行います。また、テンポや音色の変更も行います。

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

「ユーザーインターフェース」パッケージのクラス構造
class ユーザーイ ンターフェース
ユーザーイ ンターフェース

ユーザーインターフェース
1

シャッフル再生を解除する()
シャッフル再生を設定する()
テンポを変更する(テンポ)
プレイリストから曲を削除する(何番目のプレイリスト, 何番目の曲)
プレイリストに曲を登録する(何番目のプレイリスト, 何番目の曲, 順序)
プレイリストの一覧を見る()
プレイリストの曲の一覧を見る(何番目のプレイリスト)
プレイリストの再生を停止する()
プレイリストの名前を変更する(何番目のプレイリスト, 名前)
プレイリストを再生する()
プレイリストを削除する(何番目のプレイリスト)
プレイリストを登録する(名前)リセットする()
リピート再生を解除する()
リピート再生を設定する()
ユーザーインターフェース
音色を変更する(音色)音量を変更する(音量)1
外部メディアから曲を登録する(何番目の曲)
外部メディアの曲の一覧を見る()
曲の再生を停止する()
曲を再生する()
曲調を削除する(何番目の曲調)曲調を適用する(何番目の曲調)
曲調を登録する(調律, リヴァーブ種別, 音量)
曲調を変更する(何番目の曲調, 調律, リヴァーブ種別, 音量)
再生プレイリストが指定されているか()
再生プレイリストを選択する(何番目のプレイリスト)
再生曲が指定されているか()
再生曲を選択する(何番目の曲)
再生中の再生目録を設定する(再生目録)
調律を変更する(調律)電子オルゴールから曲を削除する(何番目の曲)
電子オルゴールの曲の一覧を見る()
発音を強制停止する()
ユーザーインターフェース

0..1

ユーザーインターフェース1

エ ンティティ「プレイリスト」
フォルダ
フォルダ

曲調

1

再生中の
再生目録

0..1

全曲目録

再生目録

全曲目録

1

曲調マネージャー1

曲調マネージャー

図10

ユーザーインターフェースパッケージは、ユーザとのインターフェースを司ります。
ユーザーインターフェースは、ユーザとのインターフェースを司ります。ユーザからの指示を曲パッケージや曲調パッケージへ伝え、曲パッケージや曲調パッケージからのレスポンスをユーザへ伝えます。
電子オルゴールは、ハードウェア仕様にありますように、キーが 5 個で、タッチパネルではない小型液
晶ディスプレイです。ですから、リッチな UI ではなく、簡素な UI となります。簡素な UI であれば、設計で詳細化すれば十分と考えられますので、分析レベルでは、必要な操作のリストアップだけ行うこととし、これ以上は設計で検討します。

25

「デバイス」パッケージのクラス構造
class デバイ ス
曲調

曲調マネージャー1

エ ンティティ

1

曲調マネー
ジャー

0..*

再生目録

全曲目録

1

曲の供給元

1

曲データの供給元

0..1

曲

曲データの
使用者

0..1

再生
装置 1

外部メディア曲の一覧を取得する()曲をコピーする(番目)
使用可能か()

曲調

曲

全曲目録

曲調

0..*

音源
テンポ
リヴァーブ種別
音量
調律
テンポを変更する(テンポ)
リヴァーブ種別を設定する(リヴァーブ種別)
音を出力する()
音色を変更する(音色)音量を設定する(音量)再生する()
再生の準備を行う(曲)再生を停止する()
調律を設定する(調律)

0..*

制御
対象
1

制御対象
1

図11

デバイスパッケージは、電子オルゴールのデバイスをまとめたものです。
音源は、音を出す責務を持ちます。曲パッケージの曲と共同で 1 曲毎の再生を行います。曲からデータを供給してもらい、電子オルゴールの楽曲の音を出します。
外部メディアは、電子オルゴールに楽曲を入れるために用いるメディアです。実際には、SD カード(など)になります。

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved

電子オルゴールの初期状態のオブジェクトを示します。この時点では、曲やプレイリスト、曲調が登録されていないため、それらのオブジェクトが存在しません。

初期状態のオブジェクト
object 10初期状態のオブジェクト:ユーザーインターフェース「プレイリスト」フォルダ :
フォルダ

:全曲目録

:外部メディア

:曲調マネージャー

:音源

図12

曲の登録(UC16)、プレイリストの登録(UC08)、プレイリストへの曲の登録(UC12)を行った後のオブジ
ェクトを示します。なお、追加された曲やプレイリストとそれらに関連するオブジェクトのみを図示します。

曲とプレイリストを追加した場合のオブジェクト
object 11曲とプレイ リストを追加した場合のオブジ ェクト「プレイ リスト」フォルダ :フォルダ:全曲目録

バッハ :プレイ リスト

Ｇ線上のア リア :曲

プレリュード :曲

ポロネーズ :曲
お気に入り :プレイ リスト
夢路より :曲

ケンタッキーの我が家 :曲

フォスター :プレイ リスト

金髪のジ ェニー :曲

図13

27

組込み分野のための UML モデル解説書
勉強会 WS 用特別編集版「電子オルゴール」
初版発行 ２０１３年（平成２５年）12 月 6 日
発行者 UMTP, Japan
編 著 組込みモデリング部会
印刷
UMTP, Japan
東京都渋谷区代々木 1 丁目 22 番 1 号
http://www.umtp-japan.org/

Copyright(c)2012 consortium for UML based Modeling Technologies Promotion All Rights Reserved