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

Table of Contents

セミナー概要

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)

2021/08/16 基本編 第一回「講座の概要について」 「クラウドアプリケーションのためのオブジェクト指向分析設計講座」の全体構成はこちらを参照ください 本講座の内容 基…

2

開発プロセス

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

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

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

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

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

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

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

基本モデル

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

回 タイトル URL

3

基本モデル

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

2021/10/23 基本編 第三回 「基本モデル」 「クラウドアプリケーションのためのオブジェクト指向分析設計講座」の全体構成はこちらを参照ください 本講座の内容 本講座で…

4

静的モデル(1)

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

2021/10/30 基本編 第四回 「静的モデル (1)」 「クラウドアプリケーションのためのオブジェクト指向分析設計講座」の全体構成はこちらを参照ください 本講座の内容 本講…

5

静的モデル(2)

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

2021/11/18 基本編 第五回 「静的モデル (2)」 講座の全体構成はこちらを参照ください. 本講座の内容 静的モデルの後半はオブジェクト指向分析設計で重要なモデル要素であ…

6

動的モデル

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

2021/12/16 基本編 第六回 「動的モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向の動的モデルを状態機械、アクティビティを中心に説明し…

7

協調モデル

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

2022/1/20 基本編 第七回 「協調モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向の協調モデルをコラボレーション、インタラクション、ユ…

8

関数モデル

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

2022/2/20 基本編 第八回 「関数モデル」 講座の全体構成はこちらを参照ください.   本講座の概要 従来オブジェクト指向分析設計における関数は従属的な位置付けでし…

9

物理モデル

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

2022/3/17 基本編 第九回 「物理モデル」 ・講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向モデルの物理的な側面をコンポーネントを中心に説明し…

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

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

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

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

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

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

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

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

作業分野

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

回 タイトル URL

10

作業分野

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

2022/4/21 第10回 「作業分野」 講座の全体構成はこちらを参照ください.   本講座の概要 オブジェクト指向開発のイテレーション内で実行する各作業分野の概要につい…

11

ビジネス・モデリング

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

2022/5/19 第11回 「ビジネス・モデリング」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向開発のイテレーションを構成する最初の作業分野である…

12

要求

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

2022/6/23 第12回 「要求」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向開発の要求モデリングについて説明します。   講演動画 講演資料

13

要求/ユースケース

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

2022/7/21 第13回 「要求/ユースケース」 講座の全体構成はこちらを参照ください.   本講座の概要 オブジェクト指向開発の要求モデリングの核となるユースケースについて…

14

要求/シナリオ

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

2022/8/18 第14回 「要求/シナリオ」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向開発の要求モデリングのユースケースの作成で必要となるシナ…

15

分析

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

2022/9/22 第15回 「分析」 講座の全体構成はこちらを参照ください. 本講座の概要 要求モデルから、分析モデルを作成する作業分野である分析について説明します。今回はユ…

16

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

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

2022/10/22 第16回 「分析/コンポーネント分析」 講座の全体構成はこちらを参照ください. 本講座の概要 分析モデルとして前回はユースケースからシステムの概観を抽出する…

17

分析/イベント駆動

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

2022/11/22 第17回 「分析/イベント駆動」 講座の全体構成はこちらを参照ください. 本講座の概要 分析のアクティビティとして通常のWeb画面からのコマンド投入を起点とし…

18

設計

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

2022/12/23 第18回 「設計」 講座の全体構成はこちらを参照ください. 本講座の概要 設計では分析で作成したプラットフォーム独立の抽象的なモデルから実装の入力となるプ…

19

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

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

2023/1/18 第19回 「設計/アーキテクチャ設計」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」の最初の作業としてアーキテクチャ設計を説明しま…

20

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

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

2023/2/16 第20回 「設計/コンポーネント設計(1)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設…

21

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

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

2023/3/16 第21回 「設計/コンポーネント設計(2)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設…

22

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

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

2023/4/14 第22回 「設計/コンポーネント設計(3)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設…

23

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

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

2023/5/18 第23回 「設計/ドメイン設計(1)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設計、ド…

24

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

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

2023/6/16 第24回 「設計/ドメイン設計(2)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設計、ド…

25

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

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

2023/7/14 第25回 「設計/ドメイン設計(3)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設計、ド…

26

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

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

2023/8/18 第26回 「設計/ドメイン設計(4)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設計、ド…

27

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

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

2023/9/14 第27回 「設計/ドメイン設計(5)」 講座の全体構成はこちらを参照ください. 本講座の概要 作業分野「設計」についてアーキテクチャ設計、コンポーネント設計、ド…

28

設計/原理

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

2023/10/19 第28回 「設計/原理」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向モデリングの原理としてSOLIDやGRASPなどが知られています。 5回…

29

設計/UX/UI

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

2023/11/16 第29回 「設計/ UX/UI」 講座の全体構成はこちらを参照ください. 本講座の概要 OOAD(Object-Oriented Analysis & Design)の観点から、OOADにおけるUI設計…

30

実装(1)

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

2023/12/27 第30回 「実装(1)」 講座の全体構成はこちらを参照ください. 本講座の概要 今回から3回の予定で作業分野「実装」について説明します。 今回はCBD(Component-Ba…

31

実装(2)

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

2024/1/19 第31回 「実装(2)」 講座の全体構成はこちらを参照ください. 本講座の概要 実装2回目の今回は設計モデルとして作成したScalaプログラムを整理して、実装への展…

32

実装(3)

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

2024/2/16 第32回 「実装(3)」 講座の全体構成はこちらを参照ください. 本講座の概要 実装3回目の今回はCI/CDパイプラインの具体例、マイクロサービス、UI、ドキュメント…

33

テスト

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

2024/3/16 第33回 「テスト」 講座の全体構成はこちらを参照ください. 本講座の概要 オブジェクト指向分析設計におけるテストについて説明します。伝統的なテストの枠組…

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

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

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

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

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

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

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

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

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

回 タイトル URL

34

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

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

2024/4/18 第34回 「アプリケーション・アーキテクチャ」 講座の全体構成はこちらを参照ください. 本講座の概要 今回からクラウド・アプリケーションのアプリケーション・…

35

Cloud Native CBD

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

2024/5/23 第35回 「Cloud Native CBD」 講座の全体構成はこちらを参照ください. 本講座の概要 前回Cloud Native CBDの概要について説明しましたが、今回はCloud Native C…

36

ドメイン・サブシステム

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

2024/6/23 第36回 「ドメイン・サブシステム」 講座の全体構成はこちらを参照ください. 本講座の概要 ラウド・アプリケーションのアプリケーション・アーキテクチャのドメ…

37

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

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

2024/7/25 第37回 「アプリケーション・サブシステム」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーションのアプリケーション・アーキテク…

38

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

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

2024/8/22 第38回 「プレゼンテーション・サブシステム」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーションのアプリケーション・アーキテ…

39

Cloud Native Component Framework

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

2024/9/20 第39回 「Cloud Native Comonent Framework」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーションを構成するコンポーネントをサ…

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

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

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

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

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

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

ケース・スタディ

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

回 タイトル URL

40

ケース・スタディ

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

2024/10/22 第40回 「ケーススタディ」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法についてケー…

41

ビジネス・モデル

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

2024/11/21 第41回 「ケーススタディ/ビジネス・モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築…

42

要求モデル

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

2024/12/21 第42回 「ケーススタディ/要求モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法…

43

要求モデル/BDD

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

2025/1/30 第43回 「ケーススタディ/要求モデル/BDD」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方…

44

分析モデル

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

2025/2/21 第44回 「ケーススタディ/分析モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法に…

45

設計モデル

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

2025/3/26 第45回 「ケーススタディ/設計モデル」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法に…

46

実装

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

2025/4/17 第46回 「ケーススタディ/実装」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法について…

47

テスト

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

2025/4/30 第47回 「ケーススタディ/テスト」 講座の全体構成はこちらを参照ください. 本講座の概要 クラウド・アプリケーション開発のための開発方法論の構築方法につい…

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

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

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

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

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

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