クラウドアプリケーションのためのオブジェクト指向分析設計講座 概要
セミナー概要
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部 基本編」の構成
第1部 基本編は以下の内容を予定しています。
目次をクリックすると講演ビデオと講演資料等が掲載されている詳細ページに飛ぶことができます。お試しください。
- 第1回 概論
- 第2回 開発プロセス
- 第3回 基本モデル
- 第4回 静的モデル(1)
- 第5回 静的モデル(2)
- 第6回 動的モデル
- 第7回 協調モデル
- 第8回 関数モデル
- 第9回 物理モデル
- 第10回 作業分野
- 第11回 ビジネス・モデリング
- 第12回 要求
- 第13回 要求/ユースケース
- 第14回 要求/シナリオ
- 第15回 分析
- 第16回 分析/コンポーネント分析
- 第17回 分析/イベント駆動
- 第18回 設計
- 第19回 設計/アーキテクチャ設計
- 第20回 設計/コンポーネント設計(1)
- 第21回 設計/コンポーネント設計(2)
- 第22回 設計/コンポーネント設計(3)
- 第23回 設計/ドメイン設計(1)
- 第24回 設計/ドメイン設計(2)
- 第25回 設計/ドメイン設計(3)
- 第26回 設計/ドメイン設計(4)
- 第27回 設計/ドメイン設計(5)
- 第28回 設計/原則
- 第29回 設計/UX/UI設計
- 第30回 実装(1)
- 第31回 実装(2)
- 第32回 実装(3)
- 第33回 テスト
- 第34回 アプリケーション・アーキテクチャ
- 第35回 アプリケーション・アーキテクチャ/Cloud Native CBC
- 第36回 アプリケーション・アーキテクチャ/ドメイン・サブシステム
- 第37回 アプリケーション・アーキテクチャ/アプリケーション・サブシステム
- 第38回 アプリケーション・アーキテクチャ/プレゼンテーション・サブシステム
- 第39回 アプリケーション・アーキテクチャ/Cloud Native Component Framework
- 第40回 ケース・スタディ
- 第41回 ケース・スタディ/ビジネス・モデル
- 第42回 ケース・スタディ/要求モデル
- 第43回 ケース・スタディ/要求モデル/BDD
- 第44回 ケース・スタディ/分析モデル
- 第45回 ケース・スタディ/設計モデル
- 第46回 ケース・スタディ/実装
- 第47回 ケース・スタディ/テスト