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

セミナー概要

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回 協調モデル
  • 第5回 関数モデル
  • 第6回 ビジネスモデル
  • 第7回 要求モデル
  • 第8回 分析モデル
  • 第9回 設計モデル
  • 第10回 実装
  • 第11回 テスト
  • 第12回 ドメイン・モデル
  • 第13回 アプリケーション・モデル
  • 第14回 ケーススタディ