06.ソフトウェア仕様

Raspberry Pi で実装するプログラムの仕様についてまとめます。

要件と、機能と、それを実現する処理

ID 要件 機能 処理
要件1 ラジオを聴くことができること
機能1-1 ラジオを聴くことを開始する機能
処理1-1-1 ラジオを周波数を指定してオンする処理
処理1-1-2 マイク入力をヘッドホン出力へループバックする処理
機能1-2 ラジオを聴く周波数を変更する機能
処理1-2-1 ラジオの周波数を変更する処理
機能1-3 ラジオを聴くことを終了する機能
処理1-3-1 ラジオをオフする処理
処理1-3-2 マイク入力をヘッドホン出力へループバックすることを解除する処理
要件2 ラジオを録音することができること
機能2-1 ラジオを録音する機能
処理2-1-1 ラジオを周波数を指定してオンする処理(=処理1-1-1)
処理2-1-2 指定した時間分、マイク入力の音源をmp3ファイルとして保存する処理
処理2-1-3 ラジオをオフする処理(=処理1-3-1)
要件3 ラジオを予約録音することができること
機能3-1 指定した曜日、時刻に、ラジオ録音を開始する機能
処理3-1-1 指定した曜日、時刻に、機能2-1を呼び出す処理

機能競合時の処理

競合ID 競合内容 処理
競合1 機能2-1(録音)中に、機能1-1(リスニング開始)を実施 機能1-1(リスニング開始の処理1-1-1(ラジオオン)は、実施しない。(録音中は、ラジオの状態を変更する処理は、実施しない)
制約2 機能2(録音)中に、機能1-2(周波数変更)を実施 機能1-2(周波数変更)の処理1-2-1(周波数変更)は、実施しない。(録音中は、ラジオの状態を変更する処理は、実施しない)
制約3 機能2(録音)中に、機能1-3(リスニング終了)を実施 機能1-3(リスニング終了)の処理1-3-1(ラジオオフ)は、実施しない。(録音中は、ラジオの状態を変更する処理は、実施しない)
制約4 リスニング中(機能1-1が実施され、機能1-3が実施されていない)に、機能2-1(録音)の処理2-1-3(ラジオオフ)を実施 処理2-1-3(ラジオオフ)は実施しない。(リスニング中は、録音が終わってもラジオをオフにしない)

プログラミング言語

ラジオに関する処理 (処理 1-1-1, 1-2-1, 1-3-1 ) は、Pythonで実装します。
予約実行に関する処理 ( 処理 3-1-1 ) は、cron機能にて実現します。
各種機能を、シェルスクリプトで実装します。

関連ページ

前項目:05.Raspberry Pi のオーディオのセットアップ

次項目:07.ソフトウェア実装