ソフトウェア工学2010 演習2 戻る

問題

以下に示すソフトウェアをモデル化せよ. モデルは最低でも以下を含むこと.
パソコン上の汎用OSで音楽を管理し再生するソフトウェアである. 再生に関しては以下の機能を有している.
  1. 音楽ファイルを本ソフトウェアで管理するために登録することができる. ただし,音楽ファイルがタイトル,アーティスト,再生時間の情報を 保持していない場合,登録ができない. また,タイトル,アーティスト,再生時間の情報を持つ音楽ファイルでも, 既に登録されている音楽ファイルが 同じタイトルとアーティストの情報を持っている場合, 登録ができない. さらに,音楽ファイル自体が破損等しており, 再生が不可能な場合も登録ができない. 尚,登録された順番は本ソフトウェアでは保持されない.
  2. 音楽ファイルを本ソフトウェアで管理から登録を抹消することができる. 音楽ファイル自体が削除されるわけではない.
  3. 音楽のタイトルを示す文字列を用いて, 登録されている音楽ファイルを検索を行うことで, 再生したい音楽の候補を列挙することができる. 検索は部分一致で行うことができる.
  4. 音楽のアーティストを示す文字列を用いて, 登録されている音楽ファイルを検索を行うことで, 再生したい音楽の候補を列挙することができる. 検索は部分一致で行うことができる.
  5. 再生したい音楽の候補は, タイトル,アーティスト,再生時間の情報の対として列挙される.
  6. 再生したい音楽の候補の中から, 一つを選択し,再生することができる. 尚,既にある音楽の再生中において, 別もしくは同一の音楽が再生のために選択された場合, 新たに選択された音楽の先頭から再生を開始する. プレイリスト(後述)が選択された場合も同様である.
  7. 再生を休止することができる. 改めて他の音楽ファイルやプレイリスト(後述)を指定せず, 再度,再生を行うと,休止した箇所から再生を再開する.
  8. 複数の音楽ファイルを一括して再生するためのグループを 名前を付けて作成することができる. 所謂,プレイリストである.
  9. プレイリストを削除することができる. プレイリストに属していた音楽ファイル自体は削除されない.
  10. 存在するプレイリスト群のリストを列挙することができる. 列挙される順序はプレイリストの作成順序に従う. それぞれのプレイリストは, プレイリストの名前とそのリストに属する曲の数と合計再生時間である.
  11. 列挙されたプレイリストから一つのリストを選択することで, そのプレイリストに登録された曲を順番に再生することができる.
  12. プレイリストの指定に基づく再生を休止することができる. 改めて他の音楽ファイルやプレイリストを指定せず, 再度,再生を行うと,休止した箇所から再生を再開する.
  13. 列挙されたプレイリストから一つのリストを選択することで, そのプレイリストに曲を追加登録することができる. 一つのプレイリスト内では, 曲の間に全順序があり,その順序は登録された順番に従う. 尚,登録する曲の選択方法は機能 3.や4.と同様に行う. 一つの曲が複数のプレイリストに登録されても良い.
  14. プレイリスト内の曲のリストを列挙することができる. 曲は再生する順番に列挙され, この順番は明示的に修正しない限り,登録した順番となる.
  15. プレイリスト内の曲のリストから曲を選択し, リストから曲を削除することができる.
  16. プレイリスト内の曲のリストから曲を選択し, リスト中の曲の順序変更することできる.
尚,以下を仮定してかまいません.
  1. 音楽ファイルと再生位置を指定すると, それを再生する(ファイルに従い音を出す)機能はOSが既に提供しているものとする. 再生位置とは,音楽ファイルの先頭から再生する場合は 0, 途中から再生する場合はその位置を示す整数値である.
  2. 音楽ファイルを再生している際にはいつでも, その時点での再生位置をOSに教えてもらうことができる.
  3. 本ソフトウェアは,動作中において, OSの音楽再生機能を占有するものとする. よって,他のアプリケーションが勝手に再生する音楽を切り替えたりすることは 無いものとしてよい.
  4. 本ソフトウェアに登録している音楽ファイルは 他のアプリケーション等によって改編や削除は行われないものとしてよい.
  5. 音楽ファイル自体がタイトルおよびアーティスト, 再生時間の情報を保持するものとする.
上記の仕様で未定義な部分は各自で決めてよいが, どの未定義の部分をどのように決めたかは,考察の文書に記述すること.

注意点

提出物・提出期限・提出法

解答例

[DIR]

本ページトップ | 戻る 更新