【Asciidoc】ダイアグラム ー UMLって? ー
今回、いろいろなコード例をと思っていたのですが・・・ふと。。。
「UML」を利用して資料を残しているところはどのくらい在るのだろう。
自分が勤めた会社では読める人も書ける人もいなかった。
(技術力が低かったのか、給与に反映されないので隠していたか。。。)
最近、本屋でも「UML」テーマの本は少なくなった。
もしかして、「PlantUML」っていらない子?
などと冗談を言っていても仕方がない。
「PlantUML」とは。。。
本家のサイトを読んでもらったほうが解りやすい。
「UML」の(日本語だけど日本人向きではない説明ではあるが)基本的な書き方もしっかりと紹介されている。
「UML」をもっとわかりやすく知りたいと言う人には
とか・・・・・・。
最近流行りの「なんとか的思考(指向ではない・・・)」ってやつか?
確実にオブジェクト指向ではないような気がするが・・・
このやり方は解りやすい反面、「物語指向」的な設計を生みやすいような気がする。(注:「物語指向」は自分の造語と思いますので一般的な表現では無いはずです。)
プログラマーが「オブジェクト指向」や「構造化指向」を理解せずに「物語指向」するとスパゲッティが出来上がるのだが。。。。
「ストーリー」 ⇒ 「UML」
でも、うん、このやり方は面白いよね。
で、手抜きして
を「ChatGPT」に「PlantUML記法でユースケース図にして」とお願いしてみた。
@startuml
actor 神
usecase "天と地を創造する" as UC1
usecase "光を創造する" as UC2
usecase "光とやみを分ける" as UC3
usecase "昼と夜を名づける" as UC4
神 --> UC1
神 --> UC2
神 --> UC3
神 --> UC4
@enduml
と出力されて、インクルードして変換すると
こうなります。
さて、本家と言うか英語版。
を「ChatGPT」にお願いしてみたら。
@startuml
left to right direction
actor God as "神 (Elohim)"
rectangle "創造" {
usecase "天と地を創造" as UC1
usecase "光を創造" as UC2
usecase "光と闇を分ける" as UC3
usecase "昼と夜を定義する" as UC4
}
God --> UC1 : 創造する
UC1 --> UC2 : 光を創造する
UC2 --> UC3 : 光と闇を分ける
UC3 --> UC4 : 昼と夜を定義する
@enduml
と出力されて
こうなります。
両方とも「旧約聖書」の冒頭「創世記」、日本語と英語の違いが在るだけで基本意味は同じはずなんだけど。。。
日本語は順番無視の「物語指向」的
英語は順番重視の少し「構造化指向」的
になっている。
この差は面白い。
これは「プログラミング的思考」が日本語と英語で違うということだから。。。
この辺については別記事書こうかな。
今日の教訓
「ChatGPT」は言語によって答えが変化する。
(決して彼は人種差別しないはずだ)
あと、単純な質問では「オブジェクト指向」の作図をしてくれない。
(ついでの翻訳はしてくれる)
さて、今回はこのあたりまで・・・・・・
…ではまた。
当Noteは下記の「AsciiDoc Language Documentation」の文法に従っています。