ビジネスルール開発を成功に導く作業の要とは①

k.shiraishi

最近、お客様のビジネスルールをBRMSツールで実装するにあたり、その前段階の設計フェーズでルール整理作業に携わる機会がいくつかありました。その時に印象に残った内容ついて2回にわたり記載します。今回取り上げるのは、語彙(用語)の整理についてです。これはビジネスルール開発の要といってもよい大事な作業です。

 

本ブログで扱う「語彙」と「用語」の違いについて述べておきます。「用語」とは業務で通常使用されるキーワードのことを指します。「語彙」とはビジネスルールのベースとして「用語」にデータ型などの属性を付与したキーワードのことを指します。

 

  • 用語の例)顧客コード
  • 語彙の例)顧客コード (属性:文字列、取りえる値:A1234,A5678,・・・)

(業務)用語を整理するときに大事な点は、ITの要素を盛り込まない(できるだけ取り除く)という点です。既存システムがある場合はなかなか難しい事だと思います。しかし、これは用語整理でよく引き合いにだされる「一つの用語で2つ以上の意味をもつ曖昧な用語」発生の誘因にもなる注意すべき点です。

 

説明のための例として保険商品で使用する用語の一つ「商品コード」を取り上げます。「契約に必要な商品コードは”1”でありそれ以外はエラーとする」というビジネスルールがあったとします。実際の仕様では商品コードに”A”も含まれていなければならないのですが、ビジネスルールの内容には反映されていません。このような現象は次の事情に起因しています。

 

既存システムの「商品コード」フィールド構成が「商品コード1群」+「商品コード2群」となっている為です。この例の場合は、「商品コード=A,,,,/1,,,,」という内容です。既存システムで商品コード2群に”1”をセットする場合には必ず商品コード1群に”A”がセットされていることがシステムの暗黙仕様となっておりこの点が見えていないのです。

 

このように用語の中にITの動作仕様が入ってしまうと、用語を独立して取り扱うことが難しくなってしまいます。ではこの場合はどうするべきか。用語「商品コード」を2つに分割します。もともとシステム仕様はビジネス要件からきているので、ビジネスルールとして表現することができます。「商品コード1群」と「商品コード2群」にわけて、例にあるような制約事項は2つの用語間の相関チェックルールとしてビジネスルールに表現します。「契約に必要な商品コードは商品コード1群がAでかつ商品コード2群が1である」このようにすると、ルール開発の視点でビジネスルールが整理できます。

 

このように用語をできる限り独立した要素に分解して整理したあとで、そのデータ型や取りえる値などの属性を定義した「語彙」として整理します。今回のポイントを3つにまとめると次のようになります。

  • 用語にIT仕様をとりこまない
  • 用語にIT仕様が含まれる場合は、2つ以上の用語に分割できる可能性がある
  • 用語はそれ自体独立して扱えるものでなければならない

最近のBRMS製品には語彙に特定の計算式などを埋め込める機能もあるようですが、基本はこの3つだと思います。次回はビジネスルールに含まれるシーケンシャルロジックの影響について述べる予定です。

 

(エンジニアリング担当:白石)

次のBlog