Quantcast
Channel: IT勉強宴会blog
Viewing all articles
Browse latest Browse all 87

//subconjunctival65.rssing.com/chan-57980914/article57-live.html

$
0
0
2019年11月16日に名古屋で3回目のIT勉強宴会を開催します。

それに当たって新しい試みを行います。前回のモデリングライブは渡辺幸三さんにモデルを書いていただいて、それを皆が実装するという手順でした。ところが実装する方にはご自分が理解しやすいモデルの書き方(ノーテーション)があるので、渡辺さんのモデルをわざわざ書き直してから実装されていました。

IT勉強宴会のメーリングリストで渡辺さんが三要素分析法でモデルを投稿したところある方が「モデル見たいのですが、IDEF1コンバータはまだ?」と依頼されました。それに対して渡辺さんが「この図での関連線の表現をIDEF1Xに置き換えるのは簡単です。」と答えて変換手順まで示してくれました。
     この図での表記 IDEF1Xでの表記

親子関係 +――――∈  ――――●

参照関係 +――――…  ――――●

親子関係と参照関係が区別されないのは厳しいのですが、読み分けは簡単ですよね。
このやり取りをみていて昔、渡辺さんに誘われてある有名人と飲みに行ったとき「渡辺さんの本はすごく勉強になるのですが、UMLに慣れているので余白にUMLで書き直して読んでいるのです」と言われたことを思い出しました。

そこで、何名かの方に無理を言って同じ要件を様々なノーテーションで書いて頂きました。本当にありがとうございました。ノーテーションだけを変換すれば良い程度に軽く考えていたのですが、皆さん本物の技術者ですので自分なりの解釈でバラッバラ(笑)
そこで多少の解説をすることにしました。
まずデータモデリングをほとんどご存じない方は、この記事がわかりやすいです
若手プログラマー必読!5分で理解できるER図の書き方5ステップ
エンティティ、カーディナリティなど基本的な用語が学べます。若手の皆さん、早くこちらの世界にお越しください!

010_WCR_XTEA

IT勉強宴会の常連さんなら知らない方はいらっしゃらないと思いますが、渡辺幸三さんが一人で開発しオープンソースとして無償公開されているXTEA Modelerで書かれたモデルです。定義ファイルも公開して頂きました。リンクからModelerをインストールして、011_WCR_XTEA.xeadを開いてください。
XTEA Modelerは私自身も業務で難しい要件の時は使っていますが多様ですごく使い易いです。開くと、このようにそっけない画面になります。
ここで、①②③④の順でクリックしてもらうとモデルが開きます。

この関連の線は実はテーブル定義のKEYの配置によって自動的に引かれています。例えば会場のPKEY(主キー)は「開催年+会場行番」になっています。そのためW杯開催エンティティと親子関係だとわかります。

三要素分析法は親子と参照を明確に区別して設計するところが特徴です。見やすいように線の連結場所を変更することも出来ます。

020_WCR_IE

IE(Information Engineering)は、ジェームズ・マーチン氏が考案した表記法です。匿名希望のH氏に描いてもらいました。面白いポイントが随所にあります。まずはドメインを「ランキング」「大会」「ルール」に分けて設計されていること。ルールを別出しにすることで、複数回の大会で大会ごとのルールまで管理出来るようにされています。この感覚は見習うべきだと感じました。

プール戦(予選)とトーナメント戦(決勝)を一つの「試合」エンティティとしてまとめながらもサブセット分割することで、「プール」エンティティ、「トーナメント参加資格」エンティティと緩い関連を持たせているところが面白いです。そしてコメントを書くことで誰が読んでも分かるようになっていること。プロの仕事ですね。
定義ファイルも公開して頂きました。無料のastah Viewerをインストールしてから021_WCR_IE3.astaを開いてください。

030_WCR_UML

同じく匿名希望のH氏にUMLに変換して頂きました。IEと全く同じモデルですが違いはPKEY(主キー)やFKEY(外部キー)を一切示していない事。オブジェクトキーで関連を付けることを前提にしているためですが、好きなように線が引けてしまいますから私には読めません。定義ファイル031_WCR_UMLも公開して頂きました。

040_WCR_TH

株式会社プライドの三輪一郎さんに、椿正明さんと故穂鷹良介先生が考案されたTH(椿穂鷹)モデルでモデリングして頂きました。THモデルは今は株式会社データ総研が有償コンサルツールとして使っている手法です。実はプライドとデータ総研は旧株式会社日本システテミクスから生まれた兄弟会社なのです。
モデルは、左に今回のモデル、右にTHモデルの文法解説を書いてもらいましたので印刷してじっくりと読んでください。面白いのは、まず予選と決勝を「試合分類k」を導入してサブタイプとして表現していることでしょう
そしてその直下に実際の試合結果を入れるエンティティを置いてます。THモデルの特徴は時間軸およびデータの集約をモデルを書く「場所」で表現することです。今回は月次集計などがありませんのでわかりにくかも知れませんが、サンプルには書いてくれています。

そういえば、昔ブログでTHモデルの解説を書き、椿さんにレビューしてもらったとき何度修正しても納得してもらえなかったことを思い出しました。結局私が軽い気持ちで「ER図」と書いてしまったことに憤慨されていたのでした。ERはピーター・チェン氏が考案した作図法ですが、奇しくも同じ学会でTHモデルも発表されていたのです。
定義ファイルは、VISIO Viewerをインストールしてから041_WCR_TH.vsdを開いてください。

050_WCR_TM

システムズ・デザイン株式会社の鳥谷部聡さんに、佐藤正美さんが考案されたTMで表現してもらいました。昔は「T字形ER手法」と呼ばれていたのですが、構文論と意味論を明確に分離するようになり「TM」となったようです。
TMの特徴は、構文的に正しい(L-真)と意味的に正しい(F-真)を意識しながら創る事です。今回は「時間かずさくっと作って下さい」とお願いしましたがやはりプロの技術者さんなのでF-真まで考慮したモデルにしてくれました。

TMにはTER-MINEというツールがあるのですが、無償のViewerが公開されていませんので、頑張ってEXCELで書いてくれました。051_WCR_TM01.xlsx

060_WCR_IDEF1X

IDEF1Xは米国のNIST(国立標準技術研究所)が定めたある意味世界標準です。株式会社小規模事業所 還暦越えSEさんに書いて頂きました。
仕事でテンバっている中で書いてくれました。この複合主キーの持ち方は独特です。自チームと相手チームが部品表のような持たせ方になっています。

<個人的考察>

010_XTEAは個人メンバーまで管理出来ますし、ツールでDDL出力なども出来ますので個人的には一番おもしろいと思いました。ただ、関連が複雑ですのでツールによっては実装は厳しいかも知れません。
比較的分かりやすいので020_IEでしょうか。ただルールについてはデータモデル上では何も表せていませんので「これってデータモデル?」という感覚も持つ人も居るでしょう。
ご自分に理解しやすい表記法で要件理解してみて下さい。

以上

Viewing all articles
Browse latest Browse all 87

Trending Articles