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.ソフトウェア実装