6月26日に、「要求開発アライアンス 6月定例会」に出て
概念モデリング再入門 ~いまさら人に聞けない人のための基礎講座~
講師:河野 正幸 氏 www.openthology.org
ハッシタグ #redajp
https://redajp.doorkeeper.jp/events/26623
を聞いてきた。その話をメモメモ
概念モデリングやってますか
・概念モデリングは非常に有効な活動
・ぜひ一度やってみてほしいーまず始めてみること
・来週からやってみようかなと思ったら成功
内容
1.スタートするうえでの最低限の基礎知識
2.要領よくモデルを書くために知っておくとよいこと
■1.最低限の基礎知識
UMLで書いた概念モデルの例
(クラス図)
クラスでかく:概念名と属性名
線:関連
概念を表す腺
多重度は重要
ノートでいろいろ書いておく
基本このくらい。UMLにこだわらなくてよい
手順
1.テーマの選定
2.概念の識別
3.属性の定義
1.テーマの選定
・何をテーマに概念モデルを書くのかをまず決める
・テーマの広さによってモデルの目的や詳細度は変えたほうがいい
全体概念モデル:全体像をざっくり
個別詳細モデル:ビジネスユースケース
2.概念の識別
リソース:経営資源に関する概念
パーティー(活動する人たち)、もの、場所、ルールポリシー
イベント:ビジネス上の事象
通常イベント、異動イベント(管理したい状態の変化)
データストア:把握しておくことが必要な情報
口座型、B/S型、P/L型
3.属性の定義
・概念の特性をよく表す
・コードや区分:クラスとして表現
・すべての属性をこの時点で詳細に洗い出す必要はない
・主キーは洗い出しておく
4.関係の定義
・関係と多重度
多重度:ビジネスルール
・種類を明示したい:汎化
・基本的にはアソシエーションと汎化
・集約、複合までは・・・
■2.要領よくモデルを描くために
NG行動
・理論武装してから始めようとする
・正解かどうかにこだわりすぎる
・途中で投げ出す
まず2つの知識
商品(製品、サービス)
パーティ(自社組織、取引先)
・最初からきれいな最終形を描こうとする
3段階くらい描いてみる
1.全体を理解する概念モデル
2.抽象化せずになるべく詳細に表現したモデル
3.抽象化して整理したモデル(最終形)
■概念モデルを要領よく描くコツ
まずイベントを見つけ5W3Hを考えてザクッとモデルを描く
:整理せずにくっつける→1段階目
業務をよく分析してモデルを洗練する→2段階目
似たようなものをまとめる→3段階目
双方向で関連を精査して適切な概念構造を導き出す
多対多になったら注意:間に何かない?
イベントの明細?→マスタとして別概念!
2つの概念間に別の種類の複数の関連がないか?
別の見方、管理の仕方をしたいこともある
概念同士の関連において、ロールを意識してうまく表現する。ただしシンプルに!
ロールを複雑に考えるとハマる。なるべくシンプルに
モノに関連している概念を考える場合、
それがモノの種類を扱っているのか、
現品を扱っているのか
を精査することで正しい理解が得られる
例;新車の注文→車種が重要(今、車なくてもOK)
中古車の注文→車両:その車を注文している
ルール、手順、ポリシー「知識レベル」
オペレーション管理「操作レベル」をわける
「知識レベル」、「操作レベル」ファウラーがアナリシスパターンで
(知識レベル:クラス間?操作レベル:オブジェクト?)
口座型データストアは
うけ払いの記録を概念として取り出す
その増減をもたらした業務イベントとの関連
で表現するとすっきり!
例:商品在庫
受払記録:在庫
イベント:入荷、出荷
→マーチンファウラー:勘定パターン
■最後に
・つべこべ言わずにかけ
数をこなせばうまくなる
・みせる
・業務とDB設計用は分けて(目的は切り分けて)
・ビジネスユースケースで表現するテーマが範囲
ないし、既存モデルがある場合がそこ
・最終形の基準→ER図が描ける
概念モデリング再入門 ~いまさら人に聞けない人のための基礎講座~
講師:河野 正幸 氏 www.openthology.org
ハッシタグ #redajp
https://redajp.doorkeeper.jp/events/26623
を聞いてきた。その話をメモメモ
概念モデリングやってますか
・概念モデリングは非常に有効な活動
・ぜひ一度やってみてほしいーまず始めてみること
・来週からやってみようかなと思ったら成功
内容
1.スタートするうえでの最低限の基礎知識
2.要領よくモデルを書くために知っておくとよいこと
■1.最低限の基礎知識
UMLで書いた概念モデルの例
(クラス図)
クラスでかく:概念名と属性名
線:関連
概念を表す腺
多重度は重要
ノートでいろいろ書いておく
基本このくらい。UMLにこだわらなくてよい
手順
1.テーマの選定
2.概念の識別
3.属性の定義
1.テーマの選定
・何をテーマに概念モデルを書くのかをまず決める
・テーマの広さによってモデルの目的や詳細度は変えたほうがいい
全体概念モデル:全体像をざっくり
個別詳細モデル:ビジネスユースケース
2.概念の識別
リソース:経営資源に関する概念
パーティー(活動する人たち)、もの、場所、ルールポリシー
イベント:ビジネス上の事象
通常イベント、異動イベント(管理したい状態の変化)
データストア:把握しておくことが必要な情報
口座型、B/S型、P/L型
3.属性の定義
・概念の特性をよく表す
・コードや区分:クラスとして表現
・すべての属性をこの時点で詳細に洗い出す必要はない
・主キーは洗い出しておく
4.関係の定義
・関係と多重度
多重度:ビジネスルール
・種類を明示したい:汎化
・基本的にはアソシエーションと汎化
・集約、複合までは・・・
■2.要領よくモデルを描くために
NG行動
・理論武装してから始めようとする
・正解かどうかにこだわりすぎる
・途中で投げ出す
まず2つの知識
商品(製品、サービス)
パーティ(自社組織、取引先)
・最初からきれいな最終形を描こうとする
3段階くらい描いてみる
1.全体を理解する概念モデル
2.抽象化せずになるべく詳細に表現したモデル
3.抽象化して整理したモデル(最終形)
■概念モデルを要領よく描くコツ
まずイベントを見つけ5W3Hを考えてザクッとモデルを描く
:整理せずにくっつける→1段階目
業務をよく分析してモデルを洗練する→2段階目
似たようなものをまとめる→3段階目
双方向で関連を精査して適切な概念構造を導き出す
多対多になったら注意:間に何かない?
イベントの明細?→マスタとして別概念!
2つの概念間に別の種類の複数の関連がないか?
別の見方、管理の仕方をしたいこともある
概念同士の関連において、ロールを意識してうまく表現する。ただしシンプルに!
ロールを複雑に考えるとハマる。なるべくシンプルに
モノに関連している概念を考える場合、
それがモノの種類を扱っているのか、
現品を扱っているのか
を精査することで正しい理解が得られる
例;新車の注文→車種が重要(今、車なくてもOK)
中古車の注文→車両:その車を注文している
ルール、手順、ポリシー「知識レベル」
オペレーション管理「操作レベル」をわける
「知識レベル」、「操作レベル」ファウラーがアナリシスパターンで
(知識レベル:クラス間?操作レベル:オブジェクト?)
口座型データストアは
うけ払いの記録を概念として取り出す
その増減をもたらした業務イベントとの関連
で表現するとすっきり!
例:商品在庫
受払記録:在庫
イベント:入荷、出荷
→マーチンファウラー:勘定パターン
■最後に
・つべこべ言わずにかけ
数をこなせばうまくなる
・みせる
・業務とDB設計用は分けて(目的は切り分けて)
・ビジネスユースケースで表現するテーマが範囲
ないし、既存モデルがある場合がそこ
・最終形の基準→ER図が描ける