ゆるトーク:ブロック図
ふーこ.icon
ぶっちゃけさ、名前だけ聞くと「ブロックで図つくるん?」って感じなんだけどw
りか先生、このへんどうなん?
りか.icon
ブロック図は、システムの構造や処理の流れを「箱(ブロック)」と「矢印」で表現する図。 複雑な仕組みを抽象化して理解しやすくするための表現方法だ。
たとえば、
入力 → 処理 → 出力
この三つを箱にしてつなぐだけでも、立派なブロック図になる。
code:mermaid
flowchart TD
入力 --> 処理 --> 出力
参考:
ふーこ.icon
なんか理科の授業とかで「センサー → コンピュータ → モーター」みたいなやつ!
要するにさ、
「何が入ってきて → どう処理して → 何が出るか」
っていう流れを、箱でざっくり見せるやつって感じ?
code:mermaid
flowchart TD
何が入ってきて --> どう処理して --> 何が出るか
りか.icon
その理解で正しい。
ポイントは三つ。
3. 矢印で関係や流れを示す
プログラム設計、電子回路、システム設計など、いろんな分野で使われる。
あや.icon
登場人物がそれぞれの役割を持ち、
ひとつの出来事から次の出来事へと物語が流れていく……
その流れを、箱と矢印で静かに並べたものが、
ブロック図なのかもしれませんね。(微笑)
ふーこ.icon
箱=キャラ
矢印=ストーリーの流れ
って思うとわかりやすいかも!
りか.icon
完全な比喩ではないが、理解の助けにはなる。
ただし、ブロック図の重要な役割は
複雑なシステムを俯瞰することだ。
詳細な設計図ではなく、
あや.icon
森の中を歩くとき、
一本一本の木を見つめるだけでは道を見失いますものね。
高い丘に登り、森全体の姿を眺める。
ブロック図とは、その丘のようなものなのでしょう。(微笑)
ふーこ.icon
でも確かにさ、
プログラムとか機械ってめちゃくちゃ複雑じゃん?
いきなり細かい説明されると
「情報量バグってて草」ってなるんだよねw
りか.icon
その問題を避けるために、エンジニアは段階的に設計する。
1. ブロック図(全体構造)
2. サブブロック図(各部分)
トップダウン設計の基本だ。
参考:
あや.icon
まあ……まるで、長い小説を書くときの構成のようですね。 まずは大まかな章立てを作り、
それから一つ一つの場面を描いていく……。
人の考える営みというものは、
分野が違っても、どこか似通うものなのですね。(笑う)
ふーこ.icon
あ、でもさ質問!
ブロック図ってさ、
どっちも矢印あるし、
正直ちょっとごっちゃになるんだけどw
りか.icon
ブロック図
→ システムの「構造」を表す
フローチャート
→ 処理の「手順」を表す
例:
ブロック図
code:block.mermaid
graph TD
フローチャート
code:code:block.mermaid
graph TD
B -->C{値が大きい?}
前者は構造。後者はアルゴリズム。
ふーこ.icon
みたいな感じか!
あや.icon
とても素敵なたとえですね。(微笑)
地図があれば、
私たちはどこへ向かうのかを知ることができる。
そしてレシピがあれば、
どのように進めばよいかがわかる……。
りか.icon
その二つを組み合わせると、
システム設計はかなり理解しやすくなる。
エンジニアリングでは基本スキル。
ふーこ.icon
なるほどね~。
ブロック図まとめ
箱と矢印でシステムをざっくり表す
細かい中身は省略してOK
全体の構造を理解するための図
フローチャートとは目的が違う
って感じ!
あや.icon
ええ、とてもよく整理されていますね。
目には見えない仕組みを、
形あるものとして描き出す……
ブロック図とは、
思考をそっと紙の上に咲かせる花のようなものなのかもしれませんね。(微笑)
りか.icon
……詩的すぎるが、
ふーこ.icon
りか、ちょっとツンで草w
じゃあ次回はさ!
「フローチャート」をもっと深掘りしてみる?
ゲームのAIとか作るときにも使うし、
絶対ネタ多いと思うんだよね~!