ビジネス・モデル
2024年11月21日
浅海智晴
クラウドアプリケーションのための
オブジェクト指向分析設計講座
第41回
ケース・スタディ
SimpleModeling2021
• オブジェクト指向分析設計での共通範囲
• UML/UP
• 本講座で使用するUMLプロファイル
• プロファイル:SimpleModeling2021 (SM2021)
• オブジェクト指向分析設計の基本からの拡張部を明確化
• アジャイル開発
• Communication
• Embrace Change
• Travel Light
• Scaling
• Component-Based Development
• クラウド・アプリケーション
• モデル駆動開発
SM2021
Travel Light
Embrace Change
Cloud
Model-Driven
Scaling
CBD
Testability
Serviceability
• 非機能要件
• Testability
• Serviceability
第1部 基本編の構成(1)
• 概論 [第1回]
• 開発プロセス [第2回]
• 基本モデル [第3回]
• 静的モデル(1) [第4回]
• 静的モデル(2) [第5回]
• 動的モデル [第6回]
• 協調モデル [第7回]
• 関数モデル [第8回]
• 物理モデル [第9回]
• 作業分野 [第10回]
• ビジネス・モデリング [第11回]
• 要求 [第12回]
• 要求/ユースケース [第13回]
• 要求/シナリオ [第14回]
• 分析 [第15回]
• 分析/コンポーネント分析 [第16回]
• 分析/イベント駆動 [第17回]
• 作業分野
• 設計 [第18回]
• 設計/アーキテクチャ設計 [第19回]
• 設計/コンポーネント設計(1) [第20回]
• 設計/コンポーネント設計(2) [第21回]
• 設計/コンポーネント設計(3) [第22回]
• 設計/ドメイン設計(1) [第23回]
• 設計/ドメイン設計(2) [第24回]
• 設計/ドメイン設計(3) [第25回]
• 設計/ドメイン設計(4) [第26回]
• 設計/ドメイン設計(5) [第27回]
• 設計/原理 [第28回]
• 設計/ UX/UI設計 [第29回]
• 実装(1) [第30回]
• 実装(2) [第31回]
• 実装(3) [第32回]
• テスト [第33回]
第1部 基本編の構成(2)
• アプリケーション・アーキテクチャ [第34回]
• Cloud Native CBD [第35回]
• ドメイン・サブシステム [第36回]
• アプリケーション・サブシステム [第37回]
• プレゼンテーション・サブシステム [第38回]
• Cloud Native Component Framework [第39回]
• ケーススタディ[第40回]
• ビジネス・モデル [第41回]
• 要求モデル [第42回]
• 分析モデル [第43回]
• 設計モデル [第44回]
• 実装 [第45回]
• テスト [第46回]
本講座のアプローチ
• オブジェクト指向分析設計の基本を確認
• UML + UP(Unified Process)
• CBD (Component-Based Development)
• 最新技術でアップデート
• クラウド・コンピューティング
• イベント駆動、分散・並列
• ビッグデータ、AI、IoT
• コンテナ
• 関数型
• OFP(Object-Functional Programming), Reactive Streams
• ルール, AI
• DevOps
• アジャイル開発
• DX (Digital Transformation)
第25回 アプリケーション・アーキテクチャ
第2回 開発プロセス
第9回 物理モデル
第11回 ビジネス・モデリング
第2部 クラウド・アプリケーション編
第21回 設計/ドメイン設計
第20回 設計/コンポーネント設計
第2部 クラウド・アプリケーション編
原理 (Principle)
• Agile Software Development [ASD]
• SRP (The Single Responsibility Principle)
• OCP (The Open-Close Principle)
• LSP (The Liskov Substitution Principle)
• …
• GRASP (General Responsibility Assignment Software Patterns or principles)
• Low Coupling
• High Cohesion
• …
• Writing Effective Use Cases [WEUC]
• Scope
• …
パターン (Pattern)
• Design Patterns [DP]
• Observer, Strategy, …
• Domain Driven Design [DDD]
• Ubiquitous Language, Intention-
Revealing Interfaces, …
• Analysis Patterns [AP]
• Party, Quantity, …
• Pattern-Oriented Software
Architecture [POSA]
• Layers, Pipes and Filters, …
• Patterns of Enterprise
Application Architecture [PEAA]
• Unit of Work, Data Transfer Object,
…
• Enterprise Integration Patterns
[EIP]
• Message Bus, Aggregator, …
• Patterns for Effective Use
Cases [PEUC]
• CompleteSingleGoal,
VerbPhraseName, …
• AntiPatterns [AnP]
• Stovepipe System, Analysis
Paralysis, …
内容
• ビジネス・モデル
• プラクティス
• Business Modeling Solo
• アクティビティ
• Make a Business Context
• Make Business Processes
• Make Business UseCases
• Make Business Flows
ケーススタディ
• ブック・カフェPieris Booksの販売システム
• 新刊・古本などの書籍に加えてアクセサリーや日用品などのセ
レクト商品を販売
• もともと新刊・古本の販売も行うブックカフェでしたが、新し
くアクセサリーや日用品のセレクト商品販売を併設することに
した
• セレクト商品は見本品の展示を基本と考えており、見本品に対
してECでオーダをする方式を主に考えている
• 見本品はECサイトでの販売も行う
再掲 第40回 ケーススタディ
開発体制
• 背景
• オブジェクト指向分析設計に興味を持つ関係者がいない環境
• クラウド・アプリケーション開発、アジャイル開発、
• 自分一人でアジャイル開発によるオブジェクト指向開発を進める
• 登場人物
• A(私) : バックエンド開発
• 開発プロセスをマスターして、より大きな規模の開発につなげたい
• Uさん:フロントエンド開発
• 手練れのUIエンジニア。モデリングには興味がなくプログラミング中心で開発を行う
• Bさん:ブック・カフェPieris Booksの店長
• ビジネスでやりたいことは明確にもっているが、ビジネス・モデリング的なアプロー
チには興味がない
再掲 第40回 ケーススタディ
ビジネス・モデル
ビジネス・モデリング (Business Modeling)
• ビジネス・システムをオブジェクト指向の技術でモデル化
• DXスケールのアプローチ
• システム開発におけるビジネス文脈をモデル化
• 要求のモデリングに必要な入力モデル
• Eriksson-Penker Business Extension
• Business Modeling with UML - Business Patterns at Work (1999)
• Business Process Model and Notation (BPMN)
• https://www.bpmn.org/
第11回 ビジネス・モデリング
再掲
作業分野とモデルの関係 第10回 作業分野
再掲
Eriksson-Penker Business Extension
• UMLのビジネス・モデリング向け拡張
• 主なモデル要素
• ビジネス・プロセス (Business Process)
• リソース (Resource)
• ゴール (Goal)
• ビジネス・ルール (Business Rule)
• 関係 (Relationship)
• 汎用メカニズム (General Mechanism)
• 参照ノート (Reference Note)
第11回 ビジネス・モデリング
再掲
ビジネス・モデリング
4つのビュー
第11回 ビジネス・モデリング
再掲
PracticeのActivity
(マイ開発プロセス版)
再掲
第40回 ケーススタディ
PracticeのActivity
(マイ開発プロセス版改)
Business Modeling Solo
• システム開発の文脈となるビジネス・モデルを作成
• ビジネス側と協業してビジネス・モデルを構築することは望め
ない環境で、システム開発に必要なビジネス理解を目的とした
メモ的なモデルを想定
• アクティビティ
• Make a Business Context
• Make Business Processes
• Make Business UseCases
• Make Business Flows
• Demonstrate the System
• Planning Phases
Travel Light
記述方式
• マインドマップ
• 一人開発用のメモ用途なのでマインドマップで記述
• アウトライン・プロセッサでもよい
• UML
• 必要に応じてUMLで詳述
Travel Light
マインドマップによるビジネス・モデル表現
System Context Solo
• システム開発の文脈を定める
• プログラミング主導の開発チームで、システム開発に必要な情
報を整理するためのメモ的なモデルを想定
• アクティビティ
• Make a System Context
• Planning Phases
• 次回に説明予定
Make a Business Context
Make a Business Context
• ビジネス・モデルの文脈を定める
• モデル
• ビジネス・ビジョン宣言
• ビジネス・ゴール
• ビジネス・コンテキスト
ビジョン宣言
• ビジネスの将来像を記述したテキスト文書
• 現在のビジネス文脈
• ビジネス要求
• 可視化できる問題
• 起こりそうなシナリオ
• 計測可能なハイレベルなゴール
• 操作可能な粒度のゴールに分割
第11回 ビジネス・モデリング
再掲
ビジネス・ビジョン宣言
• 記述にプロダクトビジョンテンプレート(エレベーターピッチ)
を使用
• 他のフォーマットでもよい
FOR ターゲット顧客
WHO 利用者
THE 製品名 is a 製品カテゴリ
THAT キーとなるメリット、製品を買う理由
UNLIKE 競合商品
OUR PRODUCT 競合商品との違い
ビジネス・ビジョン
【ブック・カフェPieris Booksの販売システム】
ビジネス・ビジョン
• マインド・マップを用いない場合はテキストとして作成
FOR セレクトショップ販売店
WHO 本を読みながらカフェでのんびりしたい人
THE BCwSG is a ブックカフェ併設のセレクトショップ
THAT カフェの利用者にセレクト商品の紹介と販売を行うことができる
UNLIKE 通常のセレクト・ショップ
OUR PRODUCT ブック・カフェを併設することで商品の販売機会を増やすことができる
ビジネス・ゴール
• ビジネス・システムの目標を定義
• メモ用なのでフリーフォーマットでよいが、数値目標が望まし
い
• より精度を高めたい場合はKGI, KSF, KPIを定義する
• KGI : Key Goal Indicator
• 最終的な数値目標
• KSF : Key Success Factor
• KGIを達成するのに必要な要因
• KPI : Key Performance Indicator
• KGIを達成するために必要な中間目標
ビジネス・ゴール
【ブック・カフェPieris Booksの販売システム】
ビジネス・ゴール
• マインド・マップを用いない場合はテキストとして作成
KGI: セレクト商品販売をビジネスの柱の一つにする
• 売上比率が30%以上
KSF: セレクトショップとECサイトを連動させる
• 商品の確認をセレクトショップ、商品の購入は帰宅後ECサイトで
• ECサイトで気になった商品をセレクトショップで確認
KPI:カフェ顧客のECサイト会員率
ビジネス・コンテキスト
• ビジネス・システムの文脈を定める
• ビジネス・システム
• アクター
• 利用者、外部システム
ビジネス・コンテキストに必要な情報
【ブック・カフェPieris Booksの販売システム】
ビジネス・コンテキスト図
Make Business Processes
ビジネス・プロセス
• ビジネス・プロセス (Business Process)
• 正しく実行された場合に明示的な目標を満たす一連の関連アクティビ
ティの記述。
• 組織を横断したプロセスを記述する
• プロセスを構成する各種モデルを束ねる
第11回 ビジネス・モデリング
再掲
ビジネス・プロセス
• ビジネス・プロセスを記述す
るオブジェクトの種類
• ゴール (goal)
• 情報 (information)
• 人 (people)
• 物理 (physical)
• オブジェクトとの関係
• 入力
• 出力
• 達成 (achieve)
• 制御 (control)
• 提供 (supply)
第11回 ビジネス・モデリング
再掲
ビジネス・プロセス
第11回 ビジネス・モデリング
再掲
ビジネス・プロセス内のモデル
• ビジネス・ユースケース
• ビジネス・プロセス内で実行される物語
• ビジネス・ルール
• ビジネス・プロセスの振る舞いを規制する規則
• ビジネス・フロー
• ビジネス・プロセスを振る舞いを記述したアクティビティ図
第11回 ビジネス・モデリング
再掲
Make Business Processes
• ビジネス・プロセスを使ってビジネス上の仕事の文脈を明確化
• “ビジネス理解を目的としたメモ的なモデル”なので情報整理レ
ベルでよい
• 必要に応じてUMLで詳細化
• 後続作業につながるモデルの抽出
• ビジネス・エンティティ
• ビジネス・イベント
• ビジネス・ルール
ビジネス・プロセス
【ブック・カフェPieris Booksの販売システム】
ビジネス・プロセス
Make Business UseCases
ビジネス・ユースケース
• ビジネス・プロセスを構成する物語をモデル化する
• システム開発のユースケースとの違い
• ビジネス・システムの文脈でのユースケース
• ビジネス・モデリングの目的
• ビジネス・システム全体の分析・設計
• ビジネス・ユースケースの1ステップがユースケース
• システム開発の文脈設定目的のビジネス・モデリング
• システム開発のユースケースに近しいレベルのユースケース
第11回 ビジネス・モデリング
再掲
Make a Business UseCases
• “ビジネス理解を目的としたメモ的なモデル”なので情報整理レ
ベルでよい
• 必要に応じてユースケース記述で詳細化
• 概要を図示する場合はユースケース図(UML)を使用
ビジネス・ユースケース
【ブック・カフェPieris Booksの販売システム】
ビジネス・ユースケース
Make Business Flows
ビジネス・フロー
• アクティビティ図
• ビジネス・プロセス図はアクティビティ図の一種
• プロセスはアクティビティの拡張版
• プロセス(アクティビティ)はサブアクティビティによって構成されて
いる
• 通常のアクティビティ図のようにプロセスの動作を記述することがで
きる
• BPMN (Business Process Model and Notation)を使ってもよい
• ビジネス・プロセス記述言語
• OMGが仕様制定 (https://www.bpmn.org/)
第11回 ビジネス・モデリング
再掲
Make a Business Flows
• “ビジネス理解を目的としたメモ的なモデル”なので情報整理レ
ベルでよい
• 必要に応じてUMLで詳細化
• 以下のビジネス・オブジェクトを抽出することを目的とする
• ビジネス・エンティティ
• ビジネス・イベント
• ビジネス・ルール
【ブック・カフェPieris Booksの販売システム】
ビジネス・フロー
最終形:ビジネス・エンティティ、ビジネス・イベント、ビジネス・ルールを追加
改良 :ビジネス・プロセスとビジネス・ユースケースを構造化
まとめ
• ケーススタディ
• ブック・カフェPieris Booksの販売システム
• ビジネス・モデル
• プラクティス
• Business Modeling Solo
• アクティビティ
• Make a Business Context
• Make Business Processes
• Make Business UseCases
• Make Business Flows
参考文献
• The Unified Modeling Language Reference
Manual, 2nd (Rumbaugh他, 2004)
• The Unified Modeling Language User Guide,
2nd (Booch他, 2004)
• The Unified Software Development Process
(Jacobson他, 1999)
• The Object Constraint Language, 2nd (Warmer
他, 2003)
• UML 2 and the Unified Process: Practical
Object-Oriented Analysis and Design (Arlow
他, 2005)
• OMG Unified Modeling Language Version 2.5
(OMG, 2015)
• 上流工程UMLモデリング (浅海, 2008)
• The Essentials of Modern Software
Engineering: Free the Practices from the
Method Prisons! (Jacobson他, 2019)
• Business Modeling with UML - Business
Patterns at Work (Eriksson他, 1999)
• Agile Project Management: Creating
Innovative Products (Highsmith, 2004)

ビジネス・モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第41回】