オブジェクト指向分析

オブジェクト指向分析では、分析者はシステム要求が記述された日本語要求文から日本語解析知識、UMLなどのオブジェクト指向分析技法、問題領域に関する知識に基づいて、クラス、関連、属性、ロールなどを抽出し、オブジェクト図やユースケースやイベントトレース図などへの展開を行います。現在、多くのシステム開発において、オブジェクト指向分析が注目され、活用されています。

自然語仕様からのオブジェクト指向分析CAMEO

CAMEOでは、意味解析システムSAGEを用いて要求文書を意味解析し、そこに含まれる語の語意あるいはその上位概念に基づくルールや、特定の語意を持つ語と特定の深層格で接続している語に対するルールなどを用いてオブジェクト指向分析を行い以下の図に示すような設計図を自動的に作成できます。


CAMEO実行画面

CAMEO実行画面

クリックすると、拡大画像が新しいウィンドウに表示されます。


左下の文章を意味解析後、オブジェクト指向分析ツールcameoが内蔵した分析知識に従って、右のシーケンス図や左上のクラス図を生成する。ここでは、プログラム内にオブジェクト指向分析の知識として、「教師や医者や作家や会社員などといった人の役割はクラスとして設計する」などのルールが蓄えられている。このような知識をプログラミングする場合、従来の形態素解析をベースにしたシステムでは、入力した文の各語が人の役割を表すものであるかを検査するために、「教師」や「医者」や「作家」や「会社員」などの人の役割をすべて列挙する必要があり、結果としてルールの数が非常に多くなり、維持管理も難しくなるという問題がありました。

一方、意味解析された結果を入力すると各語には語意が付いているので、これらが上位概念として“444df2; 職業,肩書,役割で限定した人間”を持つかどうかをEDRの概念体系辞書で検査するだけで、その語が人の役割を表わす語かどうかを判断するこができます。言い換えれば、無数のルールが1つのルールと概念体系辞書に置き換わっているのです。これは、自然語文を入力して何らかの知的処理を行うプログラムの簡略化という点で非常に大きな意味を持ちます。

Cameoによる自動オブジェクト指向分析およびその分析図のsomeによる自動レイアウトの様子を以下に示す。


someによる自動レイアウトの様子.mp4