2014.01.20 · 技術と道具

OOAD講座:第2回「システムを分析する3つの側面」

オブジェクト指向分析・設計の第2回です。
今回は、少し根本的な話から始めましょう。

抽象と具象

そもそも、ITシステムを作るとはどういうことでしょうか。

プログラミングをするとか、サーバを立てるとか、色々とやることはあります。いま、話をしている分析とか設計もありますね。
ただ、これは単なる作業の列挙なので、もっと大括りに考えてみましょう。

ITシステムとは、基本的には現実社会で人間がやることを、ITに代わりにやらせるものです。Amazonがやっていることは現実社会では書店がやっていることですし(最近のAmazonはそれだけではないのですが・・・)、Google(の検索エンジン)は図書館の司書ですかね。

単にITが代替しているだけではなく、ITならではのメリットを使って、インターネットで距離を飛び越えたり、コンピュータは人間ほどには疲れず、費用がかからないので24時間営業をやったりということをしています。もちろん、定型的なことの処理スピードは人間をはるかに上回ります。

ただ、現実社会をITで単純にシミュレートしているのか?というと、そういうわけでもありません。書店員は営業中でも昼ご飯のことを考えているでしょうし、書店のお客さんも目的はトイレを使いたいだけかもしれません。
つまり、書店において、書店の登場人物が、本の売買のためにやるべきことに限定して、ITとしてシミュレートすれば、それで良いのです。

ITシステムを作ることとは、現実社会という具象を、いったん抽象化して分析し、今度はコンピュータの中に別の形で具象化することと言えます。
抽象化して分析する際、現実社会を抽象化したAs-Is(現状)から、To-Be(理想)に組み替えることが一般的です。ここに、ITシステムを作る価値があります。
To-Beにどのような味付けを加えるかが、ビジネスの鍵を握ることになるからです。

システムを分析する3つの側面

どうやら、ITシステムを作るには現実社会を分析する方法が必要になりそうです。
オブジェクト指向では、責務側面、静的側面、動的側面の3つの側面から分析を行います。

第1回でオブジェクトとクラスについて書きましたが、これは静的側面の分析です。
また、社会の営みをオブジェクト間のコラボレーションで分析するとも書きましたが、これは動的側面の分析です。

現実社会では、数多のオブジェクトが様々な理由でコラボレーションを繰り広げているわけですが、ITシステムを作る際には何らかのコンテキスト(文脈)があり、その範囲内で必要なだけオブジェクトとそのコラボレーションがあれば良いわけです。それが責務側面の分析です。

別の言い方で3つの側面を表現すると、

静的側面: 役者
動的側面: 脚本
責務側面: 物語の主題

となります。

まとめ

今回はシステムを分析するとはどういうことかについて書いてきました。
次回は、「ブログ」をテーマにして、実際に分析をしてみましょう。

2014/01/20 18:12
← OOAD講座:第1回「オブジェクト指向分析とは」
OOAD講座:第3回「ブログシステムを分析する(責務側面・静… →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。