JPIN#4
モデリング
introduction
プログラムを作る上で以下の二つが重要である
・チームで開発する
・長年触る必要がある
そのためにどうしたら他人にも誤解がないように作るかが重要であり、モデリングが必要である
モデリングとは?
膨大な情報量から情報量を減らして整理することをデフォルメという
このようにデフォルメすることをモデリングという
これをすることによって細かなとこまでの正確性は少し落ちるが必要な情報を素早く明確に捉えることができる
相手に伝えるには?
モデリングした場合にはその内容を相手に伝えなければならない
口頭で伝えるのは誤解をうむし、文書で残そうとすると加筆が増えるし整理されないのでわかりにくくなる
さらに素人が文章で全てを伝えるのは難しい
なので図を使って説明することが非常に伝わりやすい
ソフトウェアの業界では図を用いることが多い
ITではUMLという図の書き方をする
これはIT業界では世界共通の伝達方法である
UML
13種類の様々な図を用いて活用する
その図は「構造」と「振る舞い」という2種の図に分かれる
以下にその中でも最低限必要なものをまとめる
構造・・・クラス図、オブジェクト図
振る舞い・・・シーケンス図
オブジェクト図
あるプロジェクトのインスタンス同士の関係を表す図である
書き方を文章で伝えるとこうなる
a:A //クラスAから作られたインスタンスa
上記をひとつの記号としてその記号のインスタンス同士が関係している場合、記号同士を線で繋げる
この線をリンクという
クラス図
クラス同士の関係を表す図である
書き方としては名前、属性、操作を一括りにして図形化して、それぞれを図形に関連がある場合は線で繋ぐ
またクラス同士のインスタンスがどういった関係か数値を使用して表すことを多重化という
以下に例を書く
社員というクラスと会社というクラスがあるとする
社員というクラスには多くの社員(A,B,C,,,etc)といるがそれらが属する会社は一つとしよう
すると社員クラスのインスタンスは1から無限大存在するかもしれない
このように上限(下限)がわからないインスタンス数を✴︎で表す
また社員に対して副業禁止の会社であれば1社しか存在しない
なのでここでそれぞれの多重度は
社員:1..✴︎
会社:1
となる
※上の図では属性や操作は省略している
同じクラス図の中のインスタンス同士の関係を表したい場合は再起関連を使う
再起関連とは以下のような図の書き方をする
参照URL:https://www.ogis-ri.co.jp/otc/hiroba/others/ModelingCafe/02posting.html
上記の図では児童クラスに連絡先と連絡元のインスタンスがあり、ある児童の連絡先には基本的には一つの連絡元しかない
児童の数はここでは上限がないとすると上記の図のような関連性になり、再起関連で表現することができる
シーケンス図
動作を表す
インスタンスとインスタンスがどのように連携しているか時系列に並べたものがシーケンス
インスタンスが生きている間・・・ライフライン
上記参照URL:https://cacoo.com/ja/blog/what-is-sequence-diagram/