バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
前回、「仕様書は大きい事から書いていく」ことを理解した太郎くん。
今回は実際の手段(仕様)の話に進む。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
物理構成(外部)

さて、仕様書に於いての手段の話だったかな。

そうそう。
とりあえず、
やってもらいたいことを片っ端から書いていけばいいのかな?

それで伝わるなら良いけど。
試しにどんな感じか言ってみて。

- ユニットがA/Dでアクセス開度を読み取る。
- ユニットがECUへD/Cでアクセル開度を指示する。
- アクセル開度は2系統ある。
- GPSから得た車速を読み取る。
- 車速と目標車速からPID制御でアクセル開度を決定する
そして…!。

ストップ!ストップ!

え?
何か間違っていた?

間違っているかどうかすらも分からなかった。

えー。

まず、今回の開発対象は何?

さっき言った「ユニット」ってのがそれに該当するね。

そして、物理的な位置関係はどうなってるの?
- ユニット
- アクセル
- ECU
- GPS

えーっと、
アクセルからユニットに入って、ユニットからECUへ。
GPSの車速が電圧で取得できるんで、それもユニットへ。
ユニットから改めてアクセル開度相当の電圧をECUへ。
って感じかな?

絵に書くとこんな感じであってる?


そうそう!
なんだ。
ちゃんと伝わってるじゃないか。

相当いろいろ察したぞ。
行間読むとかそういうレベルを完全に超えた何かだった。

でも伝わったでしょ?

委託先に対しても同じである保証は無いぞ?

その場合は、
質問してもらえれば良いかなーって。

それが炎上の火種になるんだよ。

えー!
最終的には伝わるから良いと思うんだけど?

時間は有限だし、
そこで変に手間をかけると
ホントに手間をかけなきゃいけないところが疎かになるよ。

うーん、
言われてみればそうかも。

当然、完璧を求めているわけではない。
しかし、
ドキュメント伝わり易さというのは、
ちょっとの工夫で大きく差がでる。
ここの工夫は費用対効果がとても大きいんだ。
つまり、全員が幸せになれる。

まぁ、ここは
とりあえずフクさんの書いてくれた絵を有難く頂戴して・・・。

・・・。

ダメ?

次からはちゃんと書いてね。

オッケー。

まぁこういう絵のことを物理構成って言ったりする。

あー、「物理的にこうな感じで繋がってるよ」ってこと?

そうそう。
結局は話の大きい方から書いていくという原則は変わらないんだ。

なるほど。

じゃー、
次はここの部品の説明ってことになるのかな?

複数の部品が開発対象になっている場合はそうすべきだね。
今回はアクセル、GPS、ECUは開発対象外って認識であってる?

うん。開発対象は「ユニット」てところだね。

だったら、
この「ユニット」ってのを徐々に詳細化して行けば良いよ。
折角だから名前つけてしまうか。

うーん、
アクセルペタルの制御を代替するから、APコントローラかな?
ちょっと安直すぎかな?

変に凝るよりも安直な方が分かり易いかもね。

じゃーこいつは「APコントローラ」で!

次はAPコントローラの中のソフトウェアの話になっても良いのかな?
物理構成(内部)

うーん、
APコントローラの装置内部の回路構成ってどうするつもりになってるの?

マイコンがあって、A/Dで電圧取って、D/Aで電圧出力している程度かな?
もしかして回路図とかもいる感じ?

仕様書の位置づけしだいかな?

回路図はハードウェア担当がやるんで、
僕はソフトウェア担当って役割分担になってるけど。

じゃー回路図はハードウェア担当に任せるとして、
マイコンからみたA/D、D/Aってどんな繋がりになってるの?

A/Dはマイコン内蔵のA/D使ってるね。
あ、D/AはSPI接続の外付けD/Aみたいだ!

じゃあ、そこも書いておかないと。

こんどは頑張って僕が書いたよ。
どう?


現状としてはOKなんじゃないかな?
情報が増えたら追記していく感じだね。

うん。

まぁ、
物理構成は一旦ここまでとするか。

次こそソフトウェアかな?

そうだね。まぁこれも、

全体構成だね?

(おー。成長を感じる)

そして次回に続く!

(なぜお前が仕切る)
まとめ

まとめだよ
- 仕様も大きい話から書いていく。
- まずは物理構成の開発対象の外側も含んだ構成。
- 次に開発対象の内部の構成。
バックナンバーはこちら
コメント