UMLモデリングの本質、児玉 公信 図(13) 技術士(12)

今まで買ってよかった技術書を紹介しよう！
https://qiita.com/official-events/d409f91fc8b9b44cefb4

の企画に参加する記事です。

技術士が書いた本・冊子類（IT業界・製造業向け）200+3
https://qiita.com/kaizen_nagoya/items/774665826e8a91ad4bd7

技術士　設計側としての情報工学・電気・電子と、設計対象としての全分野
https://qiita.com/kaizen_nagoya/items/37be048c2715465787be

人生で影響を受けた本100冊。Youtube(3)
https://qiita.com/kaizen_nagoya/items/16af53acbb147a94172e

Microsoftとの歴史　Cコンパイラを中心に
https://qiita.com/kaizen_nagoya/items/d7c0cc257e99de0573cf
で紹介した技術士（情報工学・総合監理）の小泉浩さんに、 技術士（情報工学）児玉 公信を紹介いただいた。
UMLの本を出されていることを知り、EnterPrise Architectの教材で演習例があり、利用させていただいた。
やってみると、UMLの大事なところを説明していて、外部向けの講習の教科書として利用させていただいた。

# 91. UMLモデリングの本質
第2版 2011/5, 児玉 公信  
<img width="200" alt="41LkPJiQcNL._SX345_BO1,204,203,200_.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/1e3d60f2-b650-6c62-4131-31181ac1d69e.jpeg">
https://www.amazon.co.jp/dp/4822284646/
https://bookmeter.com/books/3268090
https://booklog.jp/item/1/4822284646
>制約に関する姿勢がよい。
UMLが膨大になっているので限定的に用いているとのこと。
事例として酒問屋の在庫管理がある。
　図6.2 リッチピクチャー　がわかりやすい。
CATWOE customer, actor, transformation, weltanschauung, owner, environment
揺さぶり。「後で起こりうる要求変更を想定してモデルを検証し、改良する」
OCLで制約を記述する。
シーケンス図で責務を割り当てる。
航空券の予約の事例もある。
推奨しているのは、
良いモデルをたくさん読むこと
モデルを書いてフィードバックすること
もう一度「モデラーの心」
ps.
あるソフトでUMLの刻時図(timing chart)の機能を入れてほしかった。立ち上がりと立ち下がりが同時に起きるときに、怪しげな現象があるかも。

# UML; Unified Modeling Language
UML 2.5.1 
https://www.omg.org/spec/UML/2.5.1/PDF

14 StateMachines
15 Activities
16 Action
17 Interface
17.8 Sequence Diagrams
17.11 Timing Diagrams
18 Use cases
19 Deployment
20 Information flow

UMLはUnifiedであるから、どんな考え方に基づいても必要となりそうなことを定義していると理解するとわかりやすいかも。

UMLハ、２度国際規格になっている。

ISO/IEC 19501:2005
Information technology — Open Distributed Processing — Unified Modeling Language (UML) Version 1.4.2
https://www.iso.org/standard/32620.html

ISO/IEC 19505-1:2012
Information technology — Object Management Group Unified Modeling Language (OMG UML) — Part 1: Infrastructure
https://www.iso.org/standard/32624.html

## 状態機械(State machine)
計算機だから、状態機械は必須である。
## 時系列図(Sequence diagram)
計算機だから、状態機械は必須である。
その機械（CPU)、ソフトウェアの設計図を渡してもらえなければ、
その機械とのやりとり（Sequence)から推測するしかない場合もある。

## 刻時図(timing diagram)
計算機のような論理回路は、同時入力があると状態が不定になることがあります。
そのため、計算機の設計では、刻時図(timing diagram)は必須かもしれません。

特に、安全系の分析では、よく注力しています。

## その他の図
UMLのその他の図は書いたことがなく、よくわかっていません。
上記３つ以外の図を書く仕事もなく、３つかければ十分かもしれません。

あるいは、一つの図を書くと、別の図を生成するソフトウェアもあります。
例えば、UPPAALでは、状態遷移図を書くと可能な時系列図を生成し、デッドロックが生じないかなどを確認してくれたような気がします。
https://uppaal.org/

ちなみに、電気系では、言語で書いたものが設計で、回路図に落ちたものが実装です。言語は設計の道具で、

状態遷移図からC言語ソースを生成するソフトウェアなどもいろいろあります。

Open Source Executable and Translatable UML Modeling
https://xtuml.org/

いろいろなソフトウェアで、コードから図を生成する機能がまだまだだったりするかもしれません。論理回路では一般的な処理も、プログラミング言語では一般的ではないのかもしれません。

## EA
EnterPrise Architect
https://www.sparxsystems.jp

EnterPrise Architectを購入すると、さまざまな教材が利用できる。
いくつかの書籍の図も、データとして例示があり、それぞれの書籍ごとの操作手順などもついていた。

たしか、この本の資料もあったような気がする。

っていうか、EnterPrise Architectを使ったUMLの講習会で、この本の図を書いたり、書いてある図の展開の仕方を演習したことがなんどかある。合計で受講していただいた方は１００人には到達していない。

児玉 公信さんが、実際にUMLの講習をされていて、１００人以上の方が受講されていると思う。

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

新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説・検証（139）
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8

# 参考資料
プログラミング言語教育のXYZ。Youtube(1) 仮説・検証（52）
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

名古屋Reject会議　2011
https://www.youtube.com/watch?v=&t=489s

[![プログラミング言語教育のXYZ](http://img.youtube.com/vi/He1_tg4px-w/0.jpg)](https://www.youtube.com/watch?v=He1_tg4px-w)
https://qiita.com/kaizen_nagoya/items/8f2746f10f30b575d0a8
開発環境を豊かにする開発事例　過去・現在・未来 
https://qiita.com/kaizen_nagoya/items/d9bf0c2c671fe7f1c749
Microsoftとの歴史　Cコンパイラを中心に 
https://qiita.com/kaizen_nagoya/items/d7c0cc257e99de0573cf
Qiitaエンジニアフェスタ_ブラウザ選手権
https://qiita.com/kaizen_nagoya/items/98c4c7f911aa47465087
Qiitaエンジニアフェスタ_StaticWebApps に参加するまで
https://qiita.com/kaizen_nagoya/items/1a1f53926325d872821f
TOPPERS ソースを積み上げよう
https://qiita.com/kaizen_nagoya/items/65c15aed086f2da0928d
技術書「Rubyソースコード完全解説」 と 「docker で ruby」構築
https://qiita.com/kaizen_nagoya/items/a00fec16fb43e6e9071d

情報工学の専門家に読んで欲しい月刊「技術士」の記事544
https://qiita.com/kaizen_nagoya/items/29ea1465cc228de17ca6

# 92. ラショナル統一プロセス入門 
(Object Technology Series) 1999/12,  [Philippe Kruchten](https://en.wikipedia.org/wiki/Philippe_Kruchten)
<img width="200" alt="21P7HCBW6VL._BO1,204,203,200_.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/38639e8d-d060-54a2-35ac-bf4bcd7226e4.jpeg">
https://www.amazon.co.jp/dp/4894711575/
https://bookmeter.com/books/355840
https://booklog.jp/edit/1/475614554X
>落水模型からの脱却
大型計算機で利用していたような落水模型（ウォータフォールモデル）ではなく、
現場で実際にやっていることに近い事項を記述しているので親しみがもてました。
落水模型では、１回目の設計ではどこまで考慮していないといけないかとか、
２回目は、最初から試験プログラムを書くかどうかとか、
実際に仕事をする上でやるべきことについて迷うことに関する示唆がありません。
本書を読んだときに、現実に近い作業定義(process definition)をしてもよいこと、
現実に近い作業定義が存在することを知りました。
第２版は、第１版を読んだときほどの感激はしませんでしが、着実に普及しているように感じました。

# 参考資料
' @kazuo_reve マネージャ・リーダーの私にとって有益な知見が得られた書籍
https://qiita.com/kazuo_reve/items/6976029e72763ea73245#_reference-df08fb0b4ee7eedaec9d

' @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

## 自己参考(reference)
新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説（139）
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8

プログラマが知っていると良い「公序良俗」
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


第11回 TOPPERS活用アイデア・アプリケーション開発コンテスト
https://qiita.com/kaizen_nagoya/items/91162a9b258a2a06f5e0

ひょっとしたら、この部門への投稿の表題を変えて、コンテストに応募するのも手かも。

TOPPERS のAUTOSARへの貢献(更新中), AUTOSAR(15)
https://qiita.com/kaizen_nagoya/items/d363cf06e2176207b391

AUTOSARとSimulink: Adaptive Platform, Classic Platformとマルチコア対応を含めた共通化を目指して
https://qiita.com/kaizen_nagoya/items/d613b0b14bfd91989a13

TOPPERS の AUTOSAR への貢献 II (改定中)
https://qiita.com/kaizen_nagoya/items/4614c04cfff70a241f77

人生で影響を受けた本100冊。Youtube(3)
https://qiita.com/kaizen_nagoya/items/16af53acbb147a94172e

 今まで書いてよかった技術書を紹介しよう！ 
https://qiita.com/kaizen_nagoya/items/d31b7c158541d345a7ef

 あなたもdocker, 私もdocker 
https://qiita.com/kaizen_nagoya/items/8f2746f10f30b575d0a8

物理記事　上位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

図(0) state, sequence and timing. UML and お絵描き 
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

品質一覧 
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）一覧
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

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) 記事一覧
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

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

官公庁・学校・公的団体（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

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
### 文章履歴(document history)
ver. 0.01 初稿 20210808 
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.