@k2works/claude-code-booster 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/.claude/skills/operating-docs/SKILL.md +19 -0
- package/lib/assets/CLAUDE.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +11 -6
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +12 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +6 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +44 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +44 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +4 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +10 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +44 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +44 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +2 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +6 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +6 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +44 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +4 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +16 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +4 -0
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +6 -0
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +8 -0
- package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +16 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +2 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +2 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +2 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +2 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +2 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +2 -0
- package/lib/assets/docs/article/grokkingfp/java/part-1.md +2 -0
- package/lib/assets/docs/article/grokkingfp/java/part-2.md +8 -0
- package/lib/assets/docs/article/grokkingfp/java/part-6.md +4 -0
- package/lib/assets/docs/article/grokkingfp/python/part-1.md +6 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +2 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +2 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-4.md +2 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-1.md +2 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-3.md +2 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-6.md +2 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +2 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +2 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +2 -0
- package/lib/assets/docs/design/index.md +5 -0
- package/lib/assets/docs/index.md +3 -3
- package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +17 -15
- package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +2 -0
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2 -0
- package/lib/assets/docs/reference/images/.gitkeep +0 -0
- package/lib/assets/docs/reference/images/Ansoff.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BMC.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BrandValue.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/BusinessActivitiy.svg +4 -0
- package/lib/assets/docs/reference/images/HRM.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/OrganizationElemnts.svg +4 -0
- package/lib/assets/docs/reference/images/PPM.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/ProductMix.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/SWOT.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/VRIO.drawio.svg +4 -0
- package/lib/assets/docs/reference/images/ValueChain.drawio.svg +4 -0
- package/lib/assets/docs/reference/index.md +11 -5
- package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +8 -8
- package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +12 -12
- package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +15 -15
- package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273/343/202/254/343/202/244/343/203/211.md +2 -0
- package/lib/assets/docs/reference//343/203/255/343/202/270/343/202/253/343/203/253/343/202/267/343/203/263/343/202/255/343/203/263/343/202/260.md +1367 -0
- package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -0
- package/lib/assets/docs/reference//350/250/200/350/252/236/345/210/245/351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +2 -0
- package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1391 -0
- package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +12 -12
- package/lib/assets/docs/template/index.md +10 -9
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +4 -2
- package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -0
- package/lib/assets/mkdocs.yml +33 -29
- package/package.json +1 -1
|
@@ -979,10 +979,16 @@ rectangle "Level 4: 慣習的" #LightCoral {
|
|
|
979
979
|
### 発見 2: スライス操作のイディオムは 3 系統に分かれる
|
|
980
980
|
|
|
981
981
|
1. **take/drop 系**: Haskell, Clojure, Elixir, Scala, Java (Vavr), Ruby
|
|
982
|
+
|
|
983
|
+
|
|
982
984
|
- 関数型言語の伝統的なスタイル。意図が明確
|
|
983
985
|
2. **インデックス記法系**: Python `[:]`, Rust `[..]`
|
|
986
|
+
|
|
987
|
+
|
|
984
988
|
- 最も簡潔。Python のスライス記法は特に強力
|
|
985
989
|
3. **メソッドチェーン系**: TypeScript `.slice()`, C# `.Skip().Take()`
|
|
990
|
+
|
|
991
|
+
|
|
986
992
|
- OOP スタイルとの親和性が高い
|
|
987
993
|
|
|
988
994
|
### 発見 3: replan パターンの共通構造
|
|
@@ -623,12 +623,20 @@ rectangle "Level 4: nil ベース + 言語機能" #LightCoral {
|
|
|
623
623
|
### 発見 2: 合成構文は 4 系統に分類できる
|
|
624
624
|
|
|
625
625
|
1. **内包表記系**: Scala (for), Haskell (do), C# (LINQ), Clojure (when-let)
|
|
626
|
+
|
|
627
|
+
|
|
626
628
|
- ネストが平坦化され、最も可読性が高い
|
|
627
629
|
2. **演算子系**: Rust (`?`)
|
|
630
|
+
|
|
631
|
+
|
|
628
632
|
- 最も簡潔で、通常のコードに自然に溶け込む
|
|
629
633
|
3. **パイプ系**: F# (`|>`), Elixir (`with`), TypeScript (`pipe`)
|
|
634
|
+
|
|
635
|
+
|
|
630
636
|
- データの流れが明確
|
|
631
637
|
4. **flatMap チェーン系**: Java, Python, Ruby
|
|
638
|
+
|
|
639
|
+
|
|
632
640
|
- 糖衣構文がなく、ネストが深くなりやすい
|
|
633
641
|
|
|
634
642
|
### 発見 3: Option は Part II の flatMap の延長線上にある
|
|
@@ -177,6 +177,8 @@
|
|
|
177
177
|
|
|
178
178
|
1. 全 11 言語の part-2.md の第 3 章部分を読み込む
|
|
179
179
|
2. 不変データ構造の実現方法を 4 カテゴリに分類
|
|
180
|
+
|
|
181
|
+
|
|
180
182
|
- 言語組み込み(Haskell, Clojure, Elixir, F#)
|
|
181
183
|
- デフォルト不変(Rust)
|
|
182
184
|
- case class / record(Scala, Java 16+, C# 9+)
|
|
@@ -217,6 +219,8 @@
|
|
|
217
219
|
1. 全 11 言語の part-2.md の第 4 章部分を読み込む
|
|
218
220
|
2. map/filter/fold の共通概念を解説
|
|
219
221
|
3. パイプライン記法の違いを比較
|
|
222
|
+
|
|
223
|
+
|
|
220
224
|
- Elixir/F# パイプ演算子 `|>`
|
|
221
225
|
- Haskell 関数合成 `.` / `$`
|
|
222
226
|
- Clojure スレッディングマクロ `->` / `->>`
|
|
@@ -258,6 +262,8 @@
|
|
|
258
262
|
1. 全 11 言語の part-2.md の第 5 章部分を読み込む
|
|
259
263
|
2. flatMap/bind の共通概念(コンテキスト付き計算の連鎖)を解説
|
|
260
264
|
3. 糖衣構文の比較
|
|
265
|
+
|
|
266
|
+
|
|
261
267
|
- Scala for 内包表記
|
|
262
268
|
- Haskell do 記法
|
|
263
269
|
- C# LINQ クエリ式
|
|
@@ -317,6 +323,8 @@
|
|
|
317
323
|
1. 全 11 言語の part-3.md の第 6 章部分を読み込む
|
|
318
324
|
2. Option/Maybe の共通概念(null の型安全な代替)を解説
|
|
319
325
|
3. 実装方式を 3 カテゴリに分類
|
|
326
|
+
|
|
327
|
+
|
|
320
328
|
- 言語組み込み: Haskell Maybe, Rust Option, F# Option
|
|
321
329
|
- 標準ライブラリ: Scala Option, Java Optional
|
|
322
330
|
- サードパーティ: fp-ts Option, returns Maybe, dry-monads Maybe, LanguageExt Option, Vavr Option
|
|
@@ -390,6 +398,8 @@
|
|
|
390
398
|
|
|
391
399
|
1. 全 11 言語の part-4.md の第 8 章部分を読み込む
|
|
392
400
|
2. IO の抽象化を 4 レベルに分類
|
|
401
|
+
|
|
402
|
+
|
|
393
403
|
- Level 4: 言語組み込み IO モナド(Haskell)
|
|
394
404
|
- Level 3: ライブラリ IO 型(Scala cats-effect, C# LanguageExt Eff)
|
|
395
405
|
- Level 2: 軽量 IO コンテナ(Python returns IO, TypeScript fp-ts Task, Ruby dry Task)
|
|
@@ -430,6 +440,8 @@
|
|
|
430
440
|
1. 全 11 言語の part-4.md の第 9 章部分を読み込む
|
|
431
441
|
2. 遅延評価とストリームの共通概念を解説
|
|
432
442
|
3. ストリーム処理の実装アプローチを比較
|
|
443
|
+
|
|
444
|
+
|
|
433
445
|
- 専用ライブラリ: Scala fs2, Haskell conduit
|
|
434
446
|
- 言語組み込み: Elixir Stream, Rust Iterator, Python ジェネレータ, Ruby Enumerator::Lazy
|
|
435
447
|
- ライブラリ拡張: TypeScript AsyncIterable, Java Vavr Stream, C# StreamT, F# Seq
|
|
@@ -479,6 +491,8 @@
|
|
|
479
491
|
|
|
480
492
|
1. 全 11 言語の part-5.md を読み込む(最大ボリューム)
|
|
481
493
|
2. 並行処理モデルを 5 カテゴリに分類
|
|
494
|
+
|
|
495
|
+
|
|
482
496
|
- Actor モデル: Elixir OTP/GenServer
|
|
483
497
|
- STM(Software Transactional Memory): Haskell STM, Clojure ref
|
|
484
498
|
- Fiber / 軽量スレッド: Scala Fiber, Java Virtual Thread
|
|
@@ -521,6 +535,8 @@
|
|
|
521
535
|
1. 全 11 言語の part-6.md の第 11 章部分を読み込む
|
|
522
536
|
2. TravelGuide アプリの共通アーキテクチャを抽出
|
|
523
537
|
3. DI(依存性注入)の関数型アプローチを比較
|
|
538
|
+
|
|
539
|
+
|
|
524
540
|
- Reader モナド: Scala, TypeScript
|
|
525
541
|
- 型クラス / trait: Haskell, Rust
|
|
526
542
|
- Protocol / ビヘイビア: Python, Elixir
|
|
@@ -628,21 +628,29 @@ List<String> inside = radiuses.flatMap(r ->
|
|
|
628
628
|
### 学んだこと
|
|
629
629
|
|
|
630
630
|
1. **イミュータブルなデータ操作**
|
|
631
|
+
|
|
632
|
+
|
|
631
633
|
- Vavr の `List` は不変
|
|
632
634
|
- `take`, `drop`, `append`, `appendAll` で新しいリストを作成
|
|
633
635
|
- 元のデータは変更されない
|
|
634
636
|
|
|
635
637
|
2. **高階関数**
|
|
638
|
+
|
|
639
|
+
|
|
636
640
|
- `map`: 各要素を変換
|
|
637
641
|
- `filter`: 条件に合う要素を抽出
|
|
638
642
|
- `foldLeft`: 畳み込み
|
|
639
643
|
- `sortBy`: ソート基準を関数で指定
|
|
640
644
|
|
|
641
645
|
3. **関数を返す関数**
|
|
646
|
+
|
|
647
|
+
|
|
642
648
|
- `Predicate<T>` を返すことで再利用可能なフィルタを作成
|
|
643
649
|
- 部分適用のような効果を得られる
|
|
644
650
|
|
|
645
651
|
4. **flatMap**
|
|
652
|
+
|
|
653
|
+
|
|
646
654
|
- ネストしたリストを平坦化
|
|
647
655
|
- `map` + `flatten` の組み合わせ
|
|
648
656
|
- リストサイズが増減する変換に対応
|
|
@@ -416,6 +416,8 @@ public static int guideScore(Guide guide) {
|
|
|
416
416
|
```
|
|
417
417
|
|
|
418
418
|
重要なポイント:
|
|
419
|
+
|
|
420
|
+
|
|
419
421
|
- **オーバーフロー防止**: `long` を使用して大きな数値の合計を安全に計算
|
|
420
422
|
- **上限値の設定**: 各スコア成分に最大値を設定してスコアを 0-100 の範囲に
|
|
421
423
|
|
|
@@ -1165,6 +1167,8 @@ p5 --> p6
|
|
|
1165
1167
|
### 問題 1: DataAccess の拡張
|
|
1166
1168
|
|
|
1167
1169
|
以下の要件で `DataAccess` を拡張してください:
|
|
1170
|
+
|
|
1171
|
+
|
|
1168
1172
|
- 新しいメソッド `findHotelsNearLocation` を追加
|
|
1169
1173
|
- 戻り値は `IO<List<Hotel>>`
|
|
1170
1174
|
|
|
@@ -146,6 +146,8 @@ class ShoppingCartBad:
|
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
このコードの問題:
|
|
149
|
+
|
|
150
|
+
|
|
149
151
|
1. `get_items()` が内部リストへの参照を返すため、外部から変更可能
|
|
150
152
|
2. `_book_added` フラグと実際のアイテムの整合性が崩れる可能性がある
|
|
151
153
|
|
|
@@ -162,6 +164,8 @@ discount = get_discount_percentage(items) # 5
|
|
|
162
164
|
```
|
|
163
165
|
|
|
164
166
|
この純粋関数版の利点:
|
|
167
|
+
|
|
168
|
+
|
|
165
169
|
- 状態を持たない
|
|
166
170
|
- 同じ入力には常に同じ出力
|
|
167
171
|
- テストが容易
|
|
@@ -181,6 +185,8 @@ def get_tip_percentage(names: list[str]) -> int:
|
|
|
181
185
|
```
|
|
182
186
|
|
|
183
187
|
この関数は:
|
|
188
|
+
|
|
189
|
+
|
|
184
190
|
- 6人以上のグループ → 20% のチップ
|
|
185
191
|
- 1-5人のグループ → 10% のチップ
|
|
186
192
|
- 0人(空リスト) → 0% のチップ
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
| :--- | :--- | :--- |
|
|
19
19
|
| データモデル設計 | 概念・論理データモデル、テーブル定義、ER 図を整理 | 未作成 |
|
|
20
20
|
| ドメインモデル設計 | コンテキスト、集約、エンティティ、値オブジェクトを整理 | 未作成 |
|
|
21
|
+
|
|
22
|
+
### UI/UX設計
|
|
23
|
+
|
|
24
|
+
| ドキュメント | 概要 | 状況 |
|
|
25
|
+
| :--- | :--- | :--- |
|
|
21
26
|
| UI 設計 | 画面設計、画面遷移図、コンポーネント設計を整理 | 未作成 |
|
|
22
27
|
|
|
23
28
|
### 品質・運用
|
package/lib/assets/docs/index.md
CHANGED
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
| [運用](./operation/index.md) | 環境構築、デプロイ、運用手順の整理 | `index.md` を整備済み |
|
|
23
23
|
| [レビュー](./review/index.md) | 分析・開発レビュー結果の記録 | `index.md` を整備済み |
|
|
24
24
|
| [ADR](./adr/index.md) | Architecture Decision Records の管理 | `index.md` を整備済み |
|
|
25
|
-
| [
|
|
26
|
-
| [リファレンス](./reference/index.md) | 開発ガイドラインやベストプラクティス |
|
|
27
|
-
| [テンプレート](./template/index.md) | 各種ドキュメントの作成テンプレート |
|
|
25
|
+
| [記事](./article/index.md) | 学習用の記事シリーズ一覧 | `index.md` を整備済み |
|
|
26
|
+
| [リファレンス](./reference/index.md) | 開発ガイドラインやベストプラクティス | 28 件のドキュメントを配置 |
|
|
27
|
+
| [テンプレート](./template/index.md) | 各種ドキュメントの作成テンプレート | 16 件のテンプレートを配置 |
|
|
28
28
|
|
|
29
29
|
## 補足
|
|
30
30
|
|
|
@@ -490,6 +490,8 @@ start build/jacocoHtml/index.html # Windows
|
|
|
490
490
|
### VS Code
|
|
491
491
|
|
|
492
492
|
必要な拡張機能:
|
|
493
|
+
|
|
494
|
+
|
|
493
495
|
- Extension Pack for Java
|
|
494
496
|
- Gradle for Java
|
|
495
497
|
- Test Runner for Java
|
|
@@ -543,36 +545,36 @@ public void method() { }
|
|
|
543
545
|
|
|
544
546
|
1. **コミットは小さく頻繁に**
|
|
545
547
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
+
- 機能単位でコミット
|
|
549
|
+
- テストが通る状態でコミット
|
|
548
550
|
|
|
549
551
|
2. **テストファースト**
|
|
550
552
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
+
- 実装前にテストを書く
|
|
554
|
+
- テストが失敗することを確認してから実装
|
|
553
555
|
|
|
554
556
|
3. **継続的な品質チェック**
|
|
555
557
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
558
|
+
- コミット前に `./gradlew qualityCheck` を実行
|
|
559
|
+
- カバレッジ 80% 以上を目標
|
|
560
|
+
- 循環複雑度を 7 以下に維持
|
|
559
561
|
|
|
560
562
|
4. **自動化の活用**
|
|
561
563
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
+
- `./gradlew test --continuous` を常に起動
|
|
565
|
+
- IDE の自動テスト機能を活用
|
|
564
566
|
|
|
565
567
|
5. **リファクタリングの習慣**
|
|
566
568
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
569
|
+
- テストが通ったらリファクタリング
|
|
570
|
+
- 重複コードの排除
|
|
571
|
+
- 意図が明確なコード
|
|
570
572
|
|
|
571
573
|
6. **複雑度の管理**
|
|
572
574
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
575
|
+
- メソッドの循環複雑度は 7 以下を維持
|
|
576
|
+
- 複雑なロジックは小さなメソッドに分割
|
|
577
|
+
- 早期リターンやガード節を活用して複雑度を削減
|
|
576
578
|
|
|
577
579
|
## まとめ
|
|
578
580
|
|
|
@@ -312,6 +312,8 @@ SONAR_TOKEN=<YOUR_TOKEN>
|
|
|
312
312
|
|
|
313
313
|
1. SonarQube でプロジェクトを作成してください。Project Key が `sonarqube.config.json` の `projectKey` と一致しているか確認してください。
|
|
314
314
|
2. 次のどちらかで権限を付与してください。
|
|
315
|
+
|
|
316
|
+
|
|
315
317
|
- 付与方法 A: 管理者でログイン > Administration > Security > Users で対象ユーザーに `Execute Analysis` を付与
|
|
316
318
|
- 付与方法 B: プロジェクト画面 > Project Settings > Permissions で `Execute Analysis` を付与
|
|
317
319
|
|
|
File without changes
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- Do not edit this file with editors other than diagrams.net -->
|
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="791px" height="571px" viewBox="-0.5 -0.5 791 571" content="<mxfile host="drawio-plugin" modified="2024-12-02T00:58:20.541Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" etag="oISimQxLag5xBQ0J7frg" version="22.1.22" type="embed"><diagram id="23iRSUPoRavnBvh4doch" name="Page-1">7ZlLe6MgFIZ/DXsBr8toTGczm+li1kykiU+N5FHSpP31c1A0UpkmTpOZ3jatfiDI93IOSBBNNoebim3X30XGC0Sc7IDoHBGC3QjDP6U8agVj0iqrKs+0dhRu8yeuRUeruzzjtVFRClHIfGuKS1GWfCkNjVWV2JvV7kRh9rplKz4SbpesGKs/80yuWzUkwVH/xvPVuusZ+1Fb8ost71eV2JW6P0Towl3gedoWb1jXlh5ovWaZ2A8kmiKaVELI9mpzSHihzO1sa59b/KG0f++Kl/KcBzSWB1bs9NBRGqIZRfEcpR6KKAp1m7V87Nyp9/mmYCXcxft1Lvntli1V0R5mA2hruSngDsPlXV4UiShE1TxIFyRJQniVuJaVuOeDktQJZp4quROlHOg0oonngz4emH6vB15JfhhIeqA3XGy4rB6hSlfqa9P1rIz07f5I2He1th7QdbuKTM+qVd/00Vm40ObajQ7HRr9gay1ZJXVYOFf2kUz1kRLTR+KNfOyrGD763ut9xNQyY30U+Sh2mqnrI3AGpm4copCoi5mDYndkNoxVmnOVFfmqhOslOMPBtlg5kkNOmOmCTZ5l6vG44nX+xH4VHZ2tyEvZjMmLkTdXbe2kqFt8eISpFA3jIdNOAmiaOnEnQQynQsSOCXHMEFsZXiAUbARP8hoEx1pU+RM4wwrt/7tKQqbtfU4aGB9ENuPJC87r3n7AUsjKFVg2pTtbyvOedcYKCImSSR6rpa0e0e7HedYEiN5sLqRTcRILvsBiKHH+Cp+lee+MqLwsLuzaU26AZm3AzlEUfr6UG509V3TwBWOYV8ux2LLfMJZJc4eXRqoojFEaoChC8UxVDpvVVClA1PvC+Sz0PewZudWG15rJL4HX+XgptNtNOuem1JdWxLON9E7EyefcTvbz6+zkFv7D5EYss1+RcVE0a6BBymqUMFEkP10qm0Cvy2XUzGU2mtZP40uEILbQbJBB9lQLEwRf8AEgehMhTmVInx1v4DFD614/vADD4M0uR68+JcLYcrxBr3a8YTuQG++1Tx7RvfVgmJjRgskU/9/xBrYEw3gDAVDjRoQMBxGoNhnvPsNdG2pgLlK2yMS2neJFqFoOLY4bxTHe/oOq+QtB+oX3JF7XwNsn2St8UMHt8TeW9kjk+EsWTX8D</diagram></mxfile>" style="background-color: rgb(244, 241, 222);"><defs/><rect fill="#F4F1DE" width="100%" height="100%" x="0" y="0"/><g><path d="M 150 103 L 150 80 L 790 80 L 790 103" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 150 103 L 150 570 L 790 570 L 790 103" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><path d="M 150 103 L 790 103" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 638px; height: 1px; padding-top: 92px; margin-left: 151px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">製品</div></div></div></foreignObject><text x="470" y="95" fill="#393C56" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">製品</text></switch></g><path d="M 470 105 L 470 105 L 790 105 L 790 105" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 470 105 L 470 570 L 790 570 L 790 105" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><rect x="570" y="110" width="120" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 130px; margin-left: 630px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">新規市場</div></div></div></foreignObject><text x="630" y="137" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">新規市場</text></switch></g><path d="M 23 150 L 0 150 L 0 570 L 23 570" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 23 150 L 790 150 L 790 570 L 23 570" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><path d="M 23 150 L 23 570" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)rotate(-90 11.5 360)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 418px; height: 1px; padding-top: 360px; margin-left: -197px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">市場</div></div></div></foreignObject><text x="12" y="364" fill="#393C56" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">市場</text></switch></g><path d="M 20 150 L 20 150 L 790 150 L 790 150" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 20 150 L 20 350 L 790 350 L 790 150" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><rect x="20" y="220" width="120" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 80px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">既存市場</div></div></div></foreignObject><text x="80" y="247" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">既存市場</text></switch></g><rect x="535" y="220" width="190" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 630px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">新製品開発戦略</div></div></div></foreignObject><text x="630" y="247" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">新製品開発戦略</text></switch></g><path d="M 20 350 L 20 350 L 790 350 L 790 350" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 20 350 L 20 570 L 790 570 L 790 350" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><rect x="20" y="430" width="120" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 450px; margin-left: 80px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">新規市場</div></div></div></foreignObject><text x="80" y="457" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">新規市場</text></switch></g><rect x="555" y="430" width="140" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 450px; margin-left: 625px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">多角化戦略</div></div></div></foreignObject><text x="625" y="457" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">多角化戦略</text></switch></g><rect x="350" y="0" width="240" height="80" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 40px; margin-left: 470px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 54px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">成長戦略</div></div></div></foreignObject><text x="470" y="56" fill="#393C56" font-family="Helvetica" font-size="54px" text-anchor="middle">成長戦略</text></switch></g><path d="M 150 105 L 150 105 L 480 105 L 480 105" fill="#f2cc8f" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="all"/><path d="M 150 105 L 150 570 L 480 570 L 480 105" fill="none" stroke="#e07a5f" stroke-miterlimit="10" pointer-events="none"/><rect x="250" y="110" width="120" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 130px; margin-left: 310px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">既存製品</div></div></div></foreignObject><text x="310" y="137" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">既存製品</text></switch></g><rect x="225" y="220" width="170" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 310px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">市場浸透戦略</div></div></div></foreignObject><text x="310" y="247" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">市場浸透戦略</text></switch></g><rect x="224" y="435" width="190" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 455px; margin-left: 319px;"><div data-drawio-colors="color: #393C56; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(57, 60, 86); line-height: 1.2; pointer-events: all; white-space: nowrap;">新市場開拓戦略</div></div></div></foreignObject><text x="319" y="462" fill="#393C56" font-family="Helvetica" font-size="24px" text-anchor="middle">新市場開拓戦略</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- Do not edit this file with editors other than diagrams.net -->
|
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2253px" height="1601px" viewBox="-0.5 -0.5 2253 1601" content="<mxfile modified="2022-06-10T01:00:51.630Z" host="Electron" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/18.0.6 Chrome/100.0.4896.143 Electron/18.2.3 Safari/537.36" etag="ueATvqIBimKH7usmp3bl" version="18.0.6" type="device"><diagram id="07fea595-8f29-1299-0266-81d95cde20df" name="Page-1">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</diagram></mxfile>"><defs/><g><rect x="1" y="1" width="2250" height="1598" fill="#e8edf0" stroke="none" pointer-events="all"/><rect x="1331" y="189" width="420" height="450" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 224px; margin-left: 1361px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div style="font-size: 26px"><font style="font-size: 26px">Customer Relationships</font></div><div><br /></div><div>What type of relationship does each of our Customer</div><div>Segments expect us to establish and maintain with them?</div><div>Which ones have we established?</div><div>How are they integrated with the rest of our business model?</div><div>How costly are they?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Examples</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Personal assistance</font></div><div style="font-size: 10px"><font style="font-size: 10px">Dedicated Personal Assistance</font></div><div style="font-size: 10px"><font style="font-size: 10px">Self-Service</font></div><div style="font-size: 10px"><font style="font-size: 10px">Automated Services</font></div><div style="font-size: 10px"><font style="font-size: 10px">Communities</font></div><div style="font-size: 10px"><font style="font-size: 10px">Co-creation</font></div></div></div></div></foreignObject><text x="1361" y="236" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Customer Relationships...</text></switch></g><rect x="71" y="189" width="420" height="900" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 224px; margin-left: 101px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font><font style="font-size: 26px">Key Partners</font><br /></font><font style="font-size: 12px"><br style="font-size: 12px" /><font style="font-size: 12px">Who are our Key Partners?<br style="font-size: 12px" />Who are our Key Suppliers?<br style="font-size: 12px" />Which Key Resources are we acquiring from partners?<br style="font-size: 12px" /></font><br style="font-size: 12px" /></font><div style="font-size: 10px"><font style="font-size: 10px"><b>Motivations for partnerships</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Optimization and economy</font></div><div style="font-size: 10px"><font style="font-size: 10px">Reduction of risk and uncertainty</font></div><div style="font-size: 10px"><font style="font-size: 10px">Acquisition of particular resources and activities</font></div><div style="font-size: 12px"><br style="font-size: 12px" /></div></div></div></div></foreignObject><text x="101" y="236" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Key Partners...</text></switch></g><rect x="491" y="189" width="420" height="450" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 224px; margin-left: 521px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font><font style="font-size: 26px">Key Activities</font><br style="font-size: 12px" /></font><font><br style="font-size: 12px" /><div>What Key Activities do our Value Propositions require?</div><div>Our Distribution Channels?</div><div>Customer Relationships?</div><div>Revenue streams?</div><div><br /></div></font><div style="font-size: 10px"><div><b>Categories</b></div><div>Production</div><div>Problem Solving</div><div>Platform/Network</div></div><div><br /></div></div></div></div></foreignObject><text x="521" y="236" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Key Activities...</text></switch></g><rect x="491" y="639" width="420" height="450" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 674px; margin-left: 521px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div><font style="font-size: 26px">Key Resources</font></div><div><br /></div><div>What Key Resources do our Value Propositions require?</div><div>Our Distribution Channels? Customer Relationships?</div><div>Revenue Streams?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Types of resources</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Physical</font></div><div style="font-size: 10px"><font style="font-size: 10px">Intellectual (brand patents, copyrights, data)</font></div><div style="font-size: 10px"><font style="font-size: 10px">Human</font></div><div style="font-size: 10px"><font style="font-size: 10px">Financial</font></div></div></div></div></foreignObject><text x="521" y="686" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Key Resources...</text></switch></g><rect x="911" y="189" width="420" height="900" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 224px; margin-left: 941px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div style="font-size: 26px"><font style="font-size: 26px">Value Propositions</font></div><div><br /></div><div>What value do we deliver to the customer?</div><div>Which one of our customer’s problems are we helping to solve?</div><div>What bundles of products and services are we offering to each Customer Segment?</div><div>Which customer needs are we satisfying?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Characteristics</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Newness</font></div><div style="font-size: 10px"><font style="font-size: 10px">Performance</font></div><div style="font-size: 10px"><font style="font-size: 10px">Customization</font></div><div style="font-size: 10px"><font style="font-size: 10px">“Getting the Job Done”</font></div><div style="font-size: 10px"><font style="font-size: 10px">Design</font></div><div style="font-size: 10px"><font style="font-size: 10px">Brand/Status</font></div><div style="font-size: 10px"><font style="font-size: 10px">Price</font></div><div style="font-size: 10px"><font style="font-size: 10px">Cost Reduction</font></div><div style="font-size: 10px"><font style="font-size: 10px">Risk Reduction</font></div><div style="font-size: 10px"><font style="font-size: 10px">Accessibility</font></div><div style="font-size: 10px"><font style="font-size: 10px">Convenience/Usability</font></div><div style="font-size: 10px"><br /></div></div></div></div></foreignObject><text x="941" y="236" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Value Propositions...</text></switch></g><rect x="1751" y="189" width="420" height="900" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 224px; margin-left: 1781px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div><font style="font-size: 26px">Customer Segments</font></div><div><br /></div><div>For whom are we creating value?</div><div>Who are our most important customers?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px">Mass Market</font></div><div style="font-size: 10px"><font style="font-size: 10px">Niche Market</font></div><div style="font-size: 10px"><font style="font-size: 10px">Segmented</font></div><div style="font-size: 10px"><font style="font-size: 10px">Diversified</font></div><div style="font-size: 10px"><font style="font-size: 10px">Multi-sided Platform</font></div></div></div></div></foreignObject><text x="1781" y="236" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Customer Segments...</text></switch></g><rect x="1331" y="639" width="420" height="450" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 674px; margin-left: 1361px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div><font style="font-size: 26px">Channels</font></div><div><br /></div><div>Through which Channels do our Customer Segments</div><div>want to be reached?</div><div>How are we reaching them now?</div><div>How are our Channels integrated?</div><div>Which ones work best?</div><div>Which ones are most cost-efficient?</div><div>How are we integrating them with customer routines?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Channel phases</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">1. Awareness</font></div><div style="font-size: 10px"><font style="font-size: 10px"> How do we raise awareness about our company’s products and services?</font></div><div style="font-size: 10px"><font style="font-size: 10px">2. Evaluation</font></div><div style="font-size: 10px"><font style="font-size: 10px"> How do we help customers evaluate our organization’s Value Proposition?</font></div><div style="font-size: 10px"><font style="font-size: 10px">3. Purchase</font></div><div style="font-size: 10px"><font style="font-size: 10px"> How do we allow customers to purchase specific products and services?</font></div><div style="font-size: 10px"><font style="font-size: 10px">4. Delivery</font></div><div style="font-size: 10px"><font style="font-size: 10px"> How do we deliver a Value Proposition to customers?</font></div><div style="font-size: 10px"><font style="font-size: 10px">5. After sales</font></div><div style="font-size: 10px"><font style="font-size: 10px"> How do we provide post-purchase customer support?</font></div><div style="font-size: 10px"><br /></div></div></div></div></foreignObject><text x="1361" y="686" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Channels...</text></switch></g><rect x="71" y="1089" width="1050" height="330" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 992px; height: 1px; padding-top: 1124px; margin-left: 101px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div style="font-size: 26px"><font style="font-size: 26px">Cost Structure</font></div><div><br /></div><div>What are the most important costs inherent in our business model?</div><div>Which Key Resources are most expensive?</div><div>Which Key Activities are most expensive?</div><div><br /></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Is your business more</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Cost Driven (leanest cost structure, low price value proposition, maximum automation, extensive outsourcing)</font></div><div style="font-size: 10px"><font style="font-size: 10px">Value Driven ( focused on value creation, premium value proposition)</font></div><div style="font-size: 10px"><font style="font-size: 10px"><br /></font></div><div style="font-size: 10px"><font style="font-size: 10px"><b>Sample characteristics</b></font></div><div style="font-size: 10px"><font style="font-size: 10px">Fixed Costs (salaries, rents, utilities)</font></div><div style="font-size: 10px"><font style="font-size: 10px">Variable costs</font></div><div style="font-size: 10px"><font style="font-size: 10px">Economies of scale</font></div><div style="font-size: 10px"><font style="font-size: 10px">Economies of scope</font></div></div></div></div></foreignObject><text x="101" y="1136" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Cost Structure...</text></switch></g><rect x="1121" y="1089" width="1050" height="330" fill="#ffffff" stroke="#e8edf0" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 992px; height: 1px; padding-top: 1124px; margin-left: 1151px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div style="font-size: 26px"><font style="font-size: 26px">Revenue Streams</font></div><div><br /></div><div>For what value are our customers really willing to pay?</div><div>For what do they currently pay?</div><div>How are they currently paying?</div><div>How would they prefer to pay?</div><div>How much does each Revenue Stream contribute to overall revenues?</div></div></div></div></foreignObject><text x="1151" y="1136" fill="#2F5B7C" font-family="Helvetica" font-size="12px">Revenue Streams...</text></switch></g><rect x="71" y="79" width="780" height="70" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 82px; margin-left: 73px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 60px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: nowrap;">The Business Model Canvas<br /></div></div></div></foreignObject><text x="73" y="142" fill="#2F5B7C" font-family="Helvetica" font-size="60px">The Business Model Canvas
</text></switch></g><path d="M 871 229 L 875.29 237 L 891 221" fill="none" stroke="#2f5b7c" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 1301.59 213.38 L 1305.31 210.39 L 1303.18 207.54 L 1299.84 209.99 L 1301.38 205.03 L 1298.05 204 L 1296.31 209.26 L 1294.58 204 L 1291.24 205.03 L 1292.77 210 L 1289.31 207.5 L 1287.18 210.35 L 1291.03 213.39 L 1281 213.39 L 1281 244 L 1312 244 L 1312 213.38 L 1301.59 213.38 Z M 1294.41 240.42 L 1284.27 240.42 L 1284.27 225.45 L 1294.41 225.45 L 1294.41 240.42 Z M 1294.41 221.87 L 1284.27 221.87 L 1284.27 217.02 L 1294.41 217.02 L 1294.41 221.87 Z M 1309.09 240.42 L 1298.06 240.42 L 1298.06 225.45 L 1309.09 225.45 L 1309.09 240.42 Z M 1309.09 221.87 L 1298.06 221.87 L 1298.06 217.02 L 1309.09 217.02 L 1309.09 221.87 Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><path d="M 1690.44 231.18 C 1686 226.82 1686 219.74 1690.44 215.37 C 1694.87 211 1702.07 211 1706.5 215.37 C 1709.37 212.54 1713.55 211.44 1717.47 212.47 C 1721.39 213.51 1724.46 216.52 1725.51 220.38 C 1726.56 224.24 1725.44 228.36 1722.57 231.18 L 1706.5 247 Z Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><rect x="1475.5" y="1255" width="120" height="50" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 1258px; margin-left: 1478px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 10px"><b>Dynamic pricing</b></div><div style="font-size: 10px">Negotiation( bargaining)</div><div style="font-size: 10px">Yield Management</div><div style="font-size: 10px">Real-time-Market</div></div></div></div></foreignObject><text x="1478" y="1268" fill="#2F5B7C" font-family="Helvetica" font-size="10px">Dynamic pricing...</text></switch></g><rect x="1296.5" y="1255" width="150" height="60" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 1258px; margin-left: 1299px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 10px"><b>Fixed pricing</b></div><div style="font-size: 10px">List Price</div><div style="font-size: 10px">Product feature dependent</div><div style="font-size: 10px">Customer segment dependent</div><div style="font-size: 10px">Volume dependent</div></div></div></div></foreignObject><text x="1299" y="1268" fill="#2F5B7C" font-family="Helvetica" font-size="10px">Fixed pricing...</text></switch></g><rect x="1151" y="1255" width="130" height="100" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 1258px; margin-left: 1153px;"><div data-drawio-colors="color: #2F5B7C; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(47, 91, 124); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 10px"><b>Types</b></div><div style="font-size: 10px">Asset sale</div><div style="font-size: 10px">Usage fee</div><div style="font-size: 10px">Subscription Fees</div><div style="font-size: 10px">Lending/Renting/Leasing</div><div style="font-size: 10px">Licensing</div><div style="font-size: 10px">Brokerage fees</div><div style="font-size: 10px">Advertising</div></div></div></div></foreignObject><text x="1153" y="1268" fill="#2F5B7C" font-family="Helvetica" font-size="10px">Types...</text></switch></g><path d="M 841 709 L 841 663.19 C 841.11 662.05 842.33 660.99 844.32 660.33 C 846.35 659.49 849.35 659 852.5 659.01 C 855.87 659.08 858.95 659.71 860.78 660.7 C 862.34 661.37 863.18 662.22 863.15 663.08 L 863.15 688.42 L 876.92 676.31 L 876.92 688.58 L 891 676.26 L 891 709 Z M 860.57 700.96 L 866.16 700.96 L 866.16 695.3 L 860.57 695.3 Z M 870.32 700.96 L 875.92 700.96 L 875.92 695.3 L 870.32 695.3 Z M 880.24 700.96 L 885.83 700.96 L 885.83 695.3 L 880.24 695.3 Z M 860.36 662.61 C 860.16 662.04 859.3 661.52 857.93 661.13 C 856.41 660.73 854.45 660.52 852.45 660.54 C 850.88 660.53 849.34 660.66 848.01 660.91 C 846.69 661.15 845.63 661.5 844.96 661.92 C 843.87 662.51 843.83 663.18 844.85 663.77 C 845.78 664.41 847.59 664.89 849.81 665.09 C 851.84 665.29 854.04 665.23 855.93 664.94 C 857.45 664.71 858.69 664.34 859.46 663.88 C 860.14 663.49 860.45 663.05 860.36 662.61 Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><path d="M 1723.91 685.22 L 1723.4 677.73 C 1723.31 676.65 1722.4 675.81 1721.29 675.81 L 1700.71 675.81 C 1699.6 675.81 1698.69 676.65 1698.59 677.73 L 1698.1 685.22 L 1723.91 685.22 Z M 1728.24 692.9 C 1728.24 691.36 1727 690.11 1725.47 690.11 C 1723.93 690.11 1722.68 691.36 1722.68 692.9 C 1722.68 694.43 1723.93 695.67 1725.47 695.67 C 1727 695.67 1728.24 694.43 1728.24 692.9 M 1720.13 697.06 L 1720.13 690.05 C 1720.13 689.36 1719.56 688.79 1718.86 688.79 L 1703.09 688.79 C 1702.41 688.79 1701.84 689.36 1701.84 690.05 L 1701.84 697.06 L 1720.13 697.06 Z M 1696.53 695.68 C 1698.06 695.68 1699.31 694.44 1699.31 692.9 C 1699.31 691.37 1698.06 690.11 1696.53 690.11 C 1695 690.11 1693.75 691.37 1693.75 692.9 C 1693.75 694.43 1695 695.68 1696.53 695.68 M 1721.29 673.84 C 1723.42 673.84 1725.18 675.5 1725.35 677.59 L 1725.87 685.3 L 1731 688.4 L 1730.98 701.43 L 1728.69 701.43 L 1728.71 705.69 C 1728.71 707.53 1727.22 709 1725.38 709 C 1723.55 709 1722.07 707.53 1722.07 705.69 L 1722.07 701.43 L 1699.93 701.43 L 1699.94 705.69 C 1699.94 707.53 1698.45 709 1696.61 709 C 1694.79 709 1693.3 707.53 1693.3 705.69 L 1693.3 701.43 L 1691.02 701.43 L 1691 688.4 L 1696.13 685.3 L 1696.65 677.59 C 1696.81 675.5 1698.56 673.84 1700.71 673.84 L 1721.29 673.84 Z M 1727.32 659 C 1729.34 659 1730.98 660.64 1730.98 662.65 L 1730.98 686.3 L 1727.61 684.23 L 1727.17 677.33 C 1726.87 674.35 1724.34 672.02 1721.29 672.02 L 1700.7 672.02 C 1697.64 672.02 1695.13 674.35 1694.83 677.33 L 1694.39 684.23 L 1691 686.3 L 1691.01 662.65 C 1691.01 660.64 1692.65 659 1694.67 659 L 1727.32 659 Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><image x="1054.5" y="1108.5" width="58" height="58" xlink:href="https://cdn4.iconfinder.com/data/icons/evil-icons-user-interface/64/price-128.png" preserveAspectRatio="none"/><path d="M 2119.16 1145.19 C 2118.61 1144.11 2117.61 1143.29 2116.06 1143.29 C 2115.03 1143.29 2113.76 1143.83 2113.12 1145.2 C 2113.62 1146.27 2114.8 1147.1 2116.12 1147.1 C 2117.65 1147.1 2118.75 1146.1 2119.16 1145.19 Z M 2145 1155.85 L 2145 1158.66 L 2128.22 1175.5 L 2108.29 1155.49 L 2108.29 1136.42 L 2106 1136.42 L 2106 1151.64 L 2077.5 1151.64 L 2077.5 1100.5 L 2120.76 1100.5 L 2120.76 1135.87 L 2125.04 1135.87 Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><path d="M 2120.76 1135.87 L 2108.29 1135.87 L 2108.29 1136.42 L 2106 1136.42 L 2106 1133.59 L 2120.76 1133.59 Z M 2119.16 1145.19 C 2118.61 1144.11 2117.61 1143.29 2116.06 1143.29 C 2115.03 1143.29 2113.76 1143.83 2113.12 1145.2 C 2112.64 1144.18 2112.58 1142.6 2113.93 1141.28 C 2115.21 1140.14 2117.12 1140.19 2118.38 1141.31 C 2119.4 1142.28 2119.79 1143.82 2119.16 1145.19 Z M 2106 1151.64 L 2077.5 1151.64 L 2077.5 1148.82 L 2106 1148.82 Z M 2128.22 1175.5 L 2108.29 1155.49 L 2108.29 1152.68 L 2128.22 1172.67 L 2145 1155.85 L 2145 1158.66 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="2077.5" y="1100.5" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 2093.72 1106.96 L 2086.35 1114.34 L 2081.74 1109.72 L 2084.05 1107.43 L 2086.4 1109.8 L 2091.48 1104.71 Z M 2115.84 1112.67 L 2096.71 1112.67 L 2096.71 1109.12 L 2115.84 1109.12 Z M 2093.73 1120.5 L 2086.35 1127.9 L 2081.74 1123.28 L 2084.03 1120.98 L 2086.4 1123.35 L 2091.49 1118.25 Z M 2096.71 1126.41 L 2096.71 1122.85 L 2115.84 1122.85 L 2115.84 1126.41 Z M 2096.71 1140.17 L 2096.71 1136.62 L 2106 1136.62 L 2106 1140.17 Z M 2086.35 1141.45 L 2081.74 1136.83 L 2084.05 1134.54 L 2086.4 1136.89 L 2091.49 1131.8 L 2093.73 1134.05 Z" fill="#ffffff" stroke="none" pointer-events="all"/><path d="M 443.5 224.84 C 444.21 226.44 445.22 227.63 446.42 228.6 C 448.42 230.19 450.55 230.91 452.77 230.99 L 459.58 230.99 C 463.07 230.83 465.6 229.2 467.33 227.18 C 469.77 224.43 471 219.21 468.29 214.87 C 466.56 212.17 463.59 210.11 459.52 210 L 452.7 210 C 450.67 210 448.06 210.97 446.59 212.19 C 444.98 213.51 444.16 214.8 443.57 215.98 L 448.66 215.98 C 449.61 215.05 450.88 214.26 452.87 214.18 L 459.5 214.18 C 461.31 214.28 463.01 214.89 464.44 216.82 C 466.04 219.21 465.89 222.04 464.34 224.17 C 463.21 225.56 461.77 226.65 459.5 226.76 L 452.98 226.76 C 450.95 226.76 449.47 225.72 448.59 224.84 Z M 454.36 222.68 C 455.52 222.68 456.43 221.64 456.43 220.51 C 456.43 219.22 455.37 218.19 454.33 218.19 L 426.28 218.19 C 425.34 218.19 424.25 219.24 424.25 220.46 C 424.25 221.79 425.34 222.68 426.31 222.68 Z M 437.12 224.99 C 436.32 226.69 435.12 228.28 433.18 229.47 C 431.56 230.42 429.79 231 427.65 230.99 L 421.15 230.99 C 417.7 230.99 413.62 228.98 411.74 224.92 C 410.63 222.2 410 219.08 412.35 214.95 C 414.3 211.73 417.95 210 420.87 210 L 428.12 210 C 430.22 210.13 432.19 210.83 434.01 212.2 C 435.47 213.35 436.44 214.6 437.11 215.98 L 432.04 215.98 C 430.95 214.85 429.24 214.16 427.7 214.18 L 421.25 214.18 C 419.85 214.18 417.63 214.88 416.18 216.99 C 414.27 220.04 415.41 222.67 415.95 223.64 C 417.32 225.9 419.3 226.64 421.18 226.76 L 428.06 226.76 C 429.71 226.65 430.98 225.98 432.03 224.99 Z" fill="#2f5b7c" stroke="none" pointer-events="all"/><path d="M 2131.5 233.89 C 2125.47 233.89 2120.1 228.85 2120.1 221.13 C 2120.1 215.14 2124.64 209 2131.29 209 C 2137.78 209 2142.53 214.94 2142.53 221.42 C 2142.53 228.91 2136.93 233.89 2131.5 233.89 Z M 2108.5 259 C 2109.02 253.48 2109.72 245.94 2111.04 242.13 C 2111.65 240.4 2112.54 239.16 2113.97 238.12 C 2114.9 237.43 2118.2 235.61 2118.81 235.31 C 2119.87 234.76 2120.96 234.47 2121.9 235.31 C 2127.5 240.26 2135.24 240.11 2140.92 235.33 C 2141.58 234.65 2142.62 234.83 2143.31 235.1 C 2144.4 235.52 2147.88 237.57 2148.54 237.99 C 2150.46 239.25 2151.5 240.93 2152.27 244.09 C 2153.25 248.36 2153.83 253.79 2154.5 259 Z" fill="#2f5b7c" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 2100.5 238.89 C 2094.47 238.89 2089.1 233.85 2089.1 226.13 C 2089.1 220.14 2093.64 214 2100.29 214 C 2106.78 214 2111.53 219.94 2111.53 226.42 C 2111.53 233.91 2105.93 238.89 2100.5 238.89 Z M 2077.5 264 C 2078.02 258.48 2078.72 250.94 2080.04 247.13 C 2080.65 245.4 2081.54 244.16 2082.97 243.12 C 2083.9 242.43 2087.2 240.61 2087.81 240.31 C 2088.87 239.76 2089.96 239.47 2090.9 240.31 C 2096.5 245.26 2104.24 245.11 2109.92 240.33 C 2110.58 239.65 2111.62 239.83 2112.31 240.1 C 2113.4 240.52 2116.88 242.57 2117.54 242.99 C 2119.46 244.25 2120.5 245.93 2121.27 249.09 C 2122.25 253.36 2122.83 258.79 2123.5 264 Z" fill="#2f5b7c" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" font-size="12px"><text x="112.5" y="1466.5">www.businessmodelgeneration.com</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" font-size="12px"><text x="1416" y="1464">This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. </text><text x="1416" y="1478">To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ </text><text x="1416" y="1492">or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.</text></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
|