設計 図(12) 表はいつ(when)書く、何を(what)書く、どうやって(how)書く。 仮説(71)

設計図・表はいつ(when)書くか、何を(what)書くか、どうやって(how)書くか

# いつ・何時(when)
設計者であれば、仕事をはじめたり、計画する最初から設計図・表を書いてもよい。

# 何を(what)
設計図・表
計画書と設計書を兼ねるのであれば、計画言語(programming language)で書くとよい。
字下げ(tab)や空白、などにより、文字でも構造的に書いて図表と同じようにすることができる。

計画言語(programming language) で書いたものをソフトウェアが図表を自動生成してもよい。
図表から計画言語(programming language) を自動生成してもよい。

# 利用事例(use case)図・表
顧客がどのように系(system)を利用するかの事例を記述する。
会社であれば、社長の顔写真を貼っておくと効果的だという経験則がある。

# 設計図・表
ソフトウェアで設計図といえば、状態遷移図・表が真っ先に思い当たる。
状態遷移図から書いて、状態遷移表を自動生成して抜け漏れを探してもよい。
状態遷移表から書いて、状態遷移図を自動生成してもよい。

設計者が最初から書くのであれば、状態遷移表からをお勧めする。

ソフトウェアで設計書といえば、プログラムのソースコード。

設計図・表は、ソースコードよりも抽象的な表現だと嬉しい。

３０年くらい前に、通信ソフトウェアを時系列図(sequence chart)だけで書いていた時に、不具合が取れず、システムの状態を管理しないといけないことに気がついた。

時系列図から状態遷移図を作成するのは、通信規約の専門家であれば難しくない。

OS, DBの専門家でも同様だと推測する。

# 技能
時系列図から状態遷移図・表を書けない人がいるという話を小耳に挟んだ。

一つの時系列図からは、状態遷移図・表はいろいろ思い当たるかもしれない。

３つ以上の時系列図や、１０個以上の異常処理があれば、それなりの状態遷移図・表は書けないものだろうか。

構造設計をしたことがないと無理らしい。

基本技術の水準で設計の手法、仕組み、変化の種類が思いつけば、今回はどの設計にするかを図示できるはずなのだが。

# 連続系
離散系であれば状態遷移図・表だが、連続系だと状態方程式で管理するかもしれない。

状態方程式の構造を図で書くことがある。状態方程式はパラメータの表として管理することもできる。

図は設計の再利用と、変更点の明確化。

簡単な構造のプログラムであれば、想定している設計図は頭の中にあり、いきなりコードを書くこともできる。

想定している設計図が同じものしか使ったことがない人の集まりでは、設計図は出力することなく作業が済むかもしれない。

設計する人だけでなく、ソフトウェアを利用する人の意見を聞くときには、図を使って分析するとよい。

抽象的な図や、具体的な図の両方使うとよいかもしれない。

具体的なことばかり聴いていると、抽象的な次元で矛盾することを言われていることに気がつかず、プログラムがぐだぐだになっていくことがあるかもしれない。

# 状態遷移図・表
状態遷移図と状態遷移表は相互変換が可能である。
UMLの規格化の際にも、図形式か表形式かについては日本からの意見だと記憶している。

# 参考資料
ソースコードは設計書であり、コーディングは設計作業である
https://qiita.com/mdstoy/items/5510f94c9ed981cfbb85

Webページの高速化の為に画像周りでやったこと
https://qiita.com/mitani/items/727dbb1276cc0ba49ec4

# 関連資料
' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真：社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

「何を」よりも「誰を」。１０年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2
## 自己記事一覧
Qiitaの記事に３段階または５段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学 
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

品質一覧 
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

音楽　一覧(0) 
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧 
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ　 ベクタージャパン　
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.
### 文書履歴(document history)
ver. 0.01 初稿 20190215 午後4時
ver. 0.02 みだし追加 20190215 午後５時
ver. 0.03 UML追記 20190215 午後6時
ver. 0.04 表題変更 20190218
ver. 0.05 利用事例 会社であれば、社長の顔写真を貼っておくと効果的だという経験則がある。 追記 20190224
ver. 0.06 参考資料追記 20190526
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.