クラウドアプリケーションのためのオブジェクト指向分析設計講座 概要

目次

セミナー概要

2006年にAWSの最初のサービスであるS3, EC2が公開されてから15年、クラウドプラットフォーム上でWebアプリケーションや業務アプリケーションを構築することが普通になってきました。

クラウドプラットフォームでは、従来メインフレームやUNIXサーバーなどの上で、大規模アプリケーションを構築するために使用されていたメッセージングなどの各種ミドルウェアが安価に使用できるようになりました。安価に気軽に使用できるようになったということは、これらのミドルウェアを組み込んだ高度なアプリケーションの構築が日常になったということです。

またマルチサーバーを気軽が使用できるようになったことにより、スケーラビリティ(scalability)や弾力性(resilient)といった特性をアプリケーションに組み込むことも容易になっています。さらにBigDataやAI、マイクロサービス、DXといった新しい技術分野が登場し、アプリケーション開発で取り扱わなくてはいけない要素技術の質と量が飛躍的に増大しました。

このような複雑化したアプリケーション開発に対して、要求仕様を定義し適切な分析設計を行うためには、より高い技術力が求められるようになってきたと言えるでしょう。個々の要素技術への理解も重要ですが、それらの技術をつかって、どのようにアプリケショーン全体をまとめあげていくのか。

そのための方法論として、ソフトウェア工学の集大成ともいえる開発方法論であるオブジェクト指向分析設計(OOAD, Object-Oriented Analysis and Design)が有力な候補となります。そして、オブジェクト指向分析設計の土台の上で、クラウド時代の新しい要素技術、応用への対応方法を整備していくことが現実解となるでしょう。

本講座「クラウドアプリケーションのためのオブジェクト指向分析設計講座」では、このような問題意識からクラウド時代のアプリケーション開発に必要なオブジェクト指向分析設計方法論について解説します。

本講座の全体構成

「クラウドアプリケーションのためのオブジェクト指向分析設計講座」は以下の3部構成を予定しています。

  • 第1部 基本編
  • 第2部 クラウドアプリケーション編
  • 第3部 モデル駆動開発編

「第1部 基本編」の概要と今後の予定

第1部ではオブジェクト指向分析設計の基本について解説します。

オブジェクト指向分析設計の重要性は増しているにも関わらず、これを学ぶ機会は大きく減少していると思われます。このため、まずオブジェクト指向分析設計の基本を第1部として用意しました。

HaskellやScalaの登場により関数型プログラミングの重要性が認識され、オブジェクト指向と関数の連携についても重要な論点になってきました。「関数」は今後より重要性が高まってくる並列処理、分散処理に対するキーテクノロジーとなる可能性があります。

このような観点から、従来からのオブジェクト指向分析設計に「関数」の考え方を取り入れていく必要があります。いわば”オブジェクト関数型分析設計(Object-Functional Analysis and Design)”という枠組みに拡張したオブジェクト指向分析設計が必要になってきますが、本講座ではこの点についてもカバーしていく予定です。

第2部では第1部で解説したオブジェクト指向分析設計をベースにクラウドアプリケーションの分析設計について解説する予定です。

第3部ではオブジェクト指向分析設計の理想形であるモデル駆動開発について説明する予定です。

「第1部 基本編」の構成

本講座は以下の5つのセクションで構成されています:

  • 概要:UML/UPの基礎と本講座の位置づけ

  • 基本モデル:ユースケースモデル、クラス図、ステートチャートなどの基本的なUMLモデリング技術

  • 作業分野:UPの作業分野(ビジネスモデリング、要件、分析、設計、実装、テストなど)の整理と解説

  • アプリケーション・アーキテクチャ:クラウドアプリケーションを前提としたソフトウェアアーキテクチャの整理とUML適用の検討

  • ケース・スタディ:プロファイル定義を行い、現実的な規模のアプリケーションを題材にした実践的モデリングの試行

概要

第1回、第2回では講座の概要を説明します。

タイトル URL

1

概論

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (1)

GMOインターネットグループはMaruLaboを応援しています 2021/08/16 基本編 第一回「講&# […]

2

開発プロセス

https://www.marulabo.net/docs/asami02/

本セクションでは、UMLとUnified Process(UP)の基礎的な考え方と、現代のクラウドアプリケーション開発においてこれらをどう再解釈するかの問題意識を提示します。

  • UML/UPの歴史的背景と意義

  • 重量級モデリング技術への批判とその再評価

  • 現代の技術(クラウド、DevOps、関数型)との接続

  • 本講座の目的と全体構成のガイドライン

このセクションは導入としての役割を果たし、全47回の講義の前提理解を助けるためのものです。

基本モデル

第3回から第9回はオブジェクト指向分析設計に用いるオブジェクト・モデルについて説明します。

タイトル URL

3

基本モデル

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (3)

GMOインターネットグループはMaruLaboを応援しています 2021/10/23 基本編 第三回 「基& […]

4

静的モデル(1)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (4)

GMOインターネットグループはMaruLaboを応援しています 2021/10/30 基本編 第四回 「静& […]

5

静的モデル(2)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (5)

GMOインターネットグループはMaruLaboを応援しています 2021/11/18 基本編 第五回 「静& […]

6

動的モデル

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (6)

GMOインターネットグループはMaruLaboを応援しています 2021/12/16 基本編 第六回 「動& […]

7

協調モデル

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (7) 協調モデル

GMOインターネットグループはMaruLaboを応援しています 2022/1/20 基本編 第七回 「協&# […]

8

関数モデル

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (8) 関数モデル

GMOインターネットグループはMaruLaboを応援しています 2022/2/20 基本編 第八回 「関&# […]

9

物理モデル

クラウドアプリケーションのためのオブジェクト指向分析設計講座 — 基本編 (9) 物理モデル

GMOインターネットグループはMaruLaboを応援しています 2022/3/17 基本編 第九回 「物&# […]

UMLが提供する構造・振る舞い・相互作用の3つの視点に基づいた基本モデリング技法を解説します。

  • ユースケース図(機能要求の明確化)

  • クラス図(構造モデルの基盤)

  • オブジェクト図(インスタンス関係の明示)

  • シーケンス図、コミュニケーション図(動的相互作用の記述)

  • ステートチャート図、アクティビティ図(振る舞いの可視化)

このセクションでは、記法の学習よりも、設計の意図をどのように表現するかに重点が置かれています。現場で「どの図を、どの粒度で、どのタイミングで使うか」の指針が中心となります。

UMLの定義するモデルを一通り取り上げた上で、関数モデルを追加しています。

作業分野

第10回から第33回はオブジェクト指向分析設計の開発を遂行する各作業分野について説明します。

タイトル URL

10

作業分野

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (10) — 作業分野

GMOインターネットグループはMaruLaboを応援しています 2022/4/21 第10回 「作業分野」 […]

11

ビジネス・モデリング

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (11) — ビジネス・モデリング

GMOインターネットグループはMaruLaboを応援しています 2022/5/19 第11回 「ビジネス・& […]

12

要求

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (12) — 要求

GMOインターネットグループはMaruLaboを応援しています 2022/6/23 第12回 「要求」 講座 […]

13

要求/ユースケース

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (13) — 要求/ユースケース

GMOインターネットグループはMaruLaboを応援しています 2022/7/21 第13回 「要求/ユース […]

14

要求/シナリオ

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (14) — 要求/シナリオ

GMOインターネットグループはMaruLaboを応援しています 2022/8/18 第14回 「要求/シナリ […]

15

分析

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (15) — 分析

GMOインターネットグループはMaruLaboを応援しています 2022/9/22 第15回 「分析」 講座 […]

16

分析/コンポーネント分析

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (16) — 分析/コンポーネント分析

GMOインターネットグループはMaruLaboを応援しています 2022/10/22 第16回 「分析/コン&#12509 […]

17

分析/イベント駆動

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (17) — 分析/イベント駆動

GMOインターネットグループはMaruLaboを応援しています 2022/11/22 第17回 「分析/イベ&#12531 […]

18

設計

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (18) — 設計

GMOインターネットグループはMaruLaboを応援しています 2022/12/23 第18回 「設計」 講&#24231 […]

19

設計/アーキテクチャ設計

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (19) — 設計/アーキテクチャ設計

GMOインターネットグループはMaruLaboを応援しています 2023/1/18 第19回 「設計/アーキ […]

20

設計/コンポーネント設計(1)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (20) — 設計/コンポーネント設計(1)

GMOインターネットグループはMaruLaboを応援しています 2023/2/16 第20回 「設計/コンポ […]

21

設計/コンポーネント設計(2)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (21) — 設計/コンポーネント設計(2)

GMOインターネットグループはMaruLaboを応援しています 2023/3/16 第21回 「設計/コンポ […]

22

設計/コンポーネント設計(3)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (22) — 設計/コンポーネント設計(3)

GMOインターネットグループはMaruLaboを応援しています 2023/4/14 第22回 「設計/コンポ […]

23

設計/ドメイン設計(1)

クラウドアプリケーションのためのオブジェクト指向分析設計講座 (23) — 設計/ドメイン設計(1)

GMOインターネットグループはMaruLaboを応援しています 2023/5/18 第23回 「設計/ドメイ […]

24

設計/ドメイン設計(2)

設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】

GMOインターネットグループはMaruLaboを応援しています 2023/6/16 第24回 「設計/ドメイ […]

25

設計/ドメイン設計(3)

設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】

GMOインターネットグループはMaruLaboを応援しています 2023/7/14 第25回 「設計/ドメイ […]

26

設計/ドメイン設計(4)

設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】

GMOインターネットグループはMaruLaboを応援しています 2023/8/18 第26回 「設計/ドメイ […]

27

設計/ドメイン設計(5)

設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】

GMOインターネットグループはMaruLaboを応援しています 2023/9/14 第27回 「設計/ドメイ […]

28

設計/原理

設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】

GMOインターネットグループはMaruLaboを応援しています 2023/10/19 第28回 「設計/原理&#12301 […]

29

設計/UX/UI

設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第29回】

GMOインターネットグループはMaruLaboを応援しています 2023/11/16 第29回 「設計/ UX/UI」 講 […]

30

実装(1)

実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】

GMOインターネットグループはMaruLaboを応援しています 2023/12/27 第30回 「実装(1)」 講&#24 […]

31

実装(2)

実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】

GMOインターネットグループはMaruLaboを応援しています 2024/1/19 第31回 「実装(2)」 講&#242 […]

32

実装(3)

実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】

GMOインターネットグループはMaruLaboを応援しています 2024/2/16 第32回 「実装(3)」 講&#242 […]

33

テスト

テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】

GMOインターネットグループはMaruLaboを応援しています 2024/3/16 第33回 「テスト」 & […]

UPにおける各作業分野(discipline)を取り上げ、モデリングの位置づけを整理します。

  • ビジネスモデリング:業務領域とシステム境界の明確化

  • 要求定義:ユースケースとアクターの整理

  • 分析:概念モデルと責任の割り当て

  • 設計:アーキテクチャ層、設計パターンの適用

  • 実装・テスト:コードとの接続、テスト駆動の観点からの設計補助

このセクションでは、ウォーターフォール的な硬直した工程モデルではなく、反復型・進化型開発に対応する柔軟なプロセス適用が重視されます。

アプリケーション・アーキテクチャ

第34回から第39回はアプリケーション・アーキテクチャについて説明します。

タイトル URL

34

アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】

GMOインターネットグループはMaruLaboを応援しています 2024/4/18 第34回 「アプリケー& […]

35

Cloud Native CBD

Cloud Native CBC 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第35回】

GMOインターネットグループはMaruLaboを応援しています 2024/5/23 第35回 「Cloud Native CBD」 講座 […]

36

ドメイン・サブシステム

ドメイン・サブシステム 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第36回】

GMOインターネットグループはMaruLaboを応援しています 2024/6/23 第36回 「ドメイン・& […]

37

アプリケーション・サブシステム

アプリケーション・サブシステム 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第37回】

GMOインターネットグループはMaruLaboを応援しています 2024/7/25 第37回 「アプリケー& […]

38

プレゼンテーション・サブシステム

39

Cloud Native Component Framework

Cloud Native Component Framework【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第39回】

GMOインターネットグループはMaruLaboを応援しています 2024/9/20 第39回 「Cloud Native Comonent Framework」 & […]

現代のアプリケーション開発(特にクラウドベース)において、どのようなアーキテクチャ構成が一般的かを確認し、それに応じたモデリング方針を提案します。

  • レイヤードアーキテクチャ、クリーンアーキテクチャ、DDDなどの構造との関係

  • クラウドネイティブ環境(マイクロサービス、CI/CD、IaCなど)での構成要素

  • DevOpsやSREとの接続に必要な視点(運用・監視・回復性など)

  • 関数型パラダイムとの整合(状態管理、不可変性、関心の分離)

UMLによるモデリングの「対象」が変化していることを踏まえ、モデリングの適用レベルや粒度の再設計が検討されています。

ケース・スタディ

第40回から第47回はケース・スタディとして、実際のアプリケーションを想定したモデル構築を取り上げます。

タイトル URL

40

ケース・スタディ

ケーススタディ【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第40回】

GMOインターネットグループはMaruLaboを応援しています 2024/10/22 第40回 「ケーススタ […]

41

ビジネス・モデル

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

GMOインターネットグループはMaruLaboを応援しています 2024/11/21 第41回 「ケーススタ […]

42

要求モデル

ケーススタディ/要求モデル【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第42回】

GMOインターネットグループはMaruLaboを応援しています 2024/12/21 第42回 「ケース&# […]

43

要求モデル/BDD

ケーススタディ/要求モデル/BDD【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第43回】

GMOインターネットグループはMaruLaboを応援しています 2025/1/30 第43回 「ケーススタ& […]

44

分析モデル

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

GMOインターネットグループはMaruLaboを応援しています 2025/2/21 第44回 「ケーススタ& […]

45

設計モデル

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

GMOインターネットグループはMaruLaboを応援しています 2025/3/26 第45回 「ケーススタ& […]

46

実装

ケーススタディ/実装【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第46回】

GMOインターネットグループはMaruLaboを応援しています 2025/4/17 第46回 「ケーススタ& […]

47

テスト

ケーススタディ/テスト【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第47回】

GMOインターネットグループはMaruLaboを応援しています 2025/4/30 第47回 「ケーススタ& […]

実際のシステムを想定したモデル構築を通して、理論的な技術が現実にどう適用できるかを検証します。

  • 想定システムの要件分析から始まり、各モデルの構築を段階的に実施

  • プロファイルの定義:全モデルを使用せず、目的に合った図表を選定

  • モデルの整合性とスコープ管理の具体例

  • 実装へのブリッジとしての設計モデルの役割を確認

ここでは「必要十分なモデルとは何か」「スリム化された設計技法で何が残るのか」が具体的に検討され、UML/UPの再構成の現実性と限界に迫っています。