2.6.2 業務ルールとプログラムの関係

SEWB+/CONSTRUCTIONを使ったアプリケーション開発の準備として,データ項目それぞれに特有の処理を抽出し,業務ルールとして辞書に登録します。業務ルールを効果的にアプリケーション開発に利用してもらうために,あらかじめ,辞書の業務ルールとプログラムの関係を理解しておきましょう。辞書の業務ルールがアプリケーション開発に利用され,プログラムに反映されるまでの流れを図2-14に示します。

図2-14 業務ルールがプログラムに反映されるまで

[図データ]

SEWB+/CONSTRUCTIONを使って作成するアプリケーションで業務ルールをどのように利用するのかは,テンプレート作成者がテンプレートに記述します。このため,SEWB+/CONSTRUCTIONから効果的に利用できる業務ルールを設計し,業務ルール辞書に登録するには,テンプレート作成者と辞書の作成者がコミュニケーションをとりながら作業することが大切です。業務ルールの設計やテンプレートの作成を始める前に,プロジェクト独自の基準を決定してドキュメントにまとめ,これに基づいて作業することをお勧めします。基準の決め方については,「(1) 業務ルールの基準を決める」を参照してください。

<この項の構成>
(1) 業務ルールの基準を決める
(2) 業務ルールの設計,登録
(3) SEWB+/CONSTRUCTIONからの業務ルールの利用

(1) 業務ルールの基準を決める

業務ルールの設計およびテンプレートの作成に当たり,あらかじめ次の2点についてプロジェクト独自の基準を決定します。

  1. どのような処理を業務ルールにするか
  2. 業務ルールをアプリケーションにどのように適用させるのか

この結果をドキュメントにまとめ,これに基づいて,業務ルールを設計し,テンプレートを作成することをお勧めします。このほか,ルールスクリプトの記述についてもあらかじめ統一が必要な事項があります。詳細は,「2.6.3 ルールスクリプトの記述」を参照してください。

(a) どのような処理を業務ルールにするか

まず,データ分析で抽出された各データ項目の制約条件や,業務設計から求められた業務の規則,制度などを基に,どのような処理を業務ルールとして辞書に登録するかを検討します。このとき,テンプレート作成者の,アプリケーションを作成する立場から,どのような処理を業務ルールとして用意してほしいか,という意見も重要になります。

データ項目を中心に,データ項目に関するどのような処理を業務ルールにすればよいのかを決定します。業務ルールとする処理の例を次に示します。

[図データ]

(b) 業務ルールをアプリケーションにどのように適用させるか

業務ルールの適用条件と,テンプレートの@@rule文の抽出条件の指定基準を決めます。

業務ルールの適用条件とは,アプリケーションに業務ルールを適用する条件を指定するものです。辞書の作成者は,「データ項目がどのような条件(処理の入力なのか,出力なのか)にあるときに,この業務ルールをアプリケーションに適用させるのか」という観点で指定します。

SEWB+/CONSTRUCTIONから業務ルールを使用する場合,この適用条件が指定されていることが前提になります。テンプレート作成者は,テンプレートの@@rule文の抽出条件に,「データ定義に含まれるデータ項目が,ある条件(アプリケーションの入力または出力)にあるとき,条件に一致する業務ルールを抽出する」ということを指定します。

このため,業務ルールをSEWB+/CONSTRUCTIONから適切に利用するためには,辞書の作成者およびテンプレート作成者それぞれが,統一した基準に従って適用条件や抽出条件を扱う必要があります。

この基準を決定するまでの手順を次に示します。

  1. 業務ルールを機能(処理内容)別に分類する
  2. 分類ごとに,アプリケーション中でデータ項目がどのような条件にあるときに,業務ルールを適用させるのかを検討する
  3. 検討した適用のしかたに従って,業務ルールおよびテンプレートの両面から,指定基準を決定する
    • その分類の業務ルールを作成するときの,データ項目の適用条件「入力」,「出力」および「-(指定しない)」の指定方法
    • その分類の業務ルールをアプリケーションに適用するときの,テンプレートに記述する@@rule文の抽出条件(WITH USAGE句)の指定方法

1.~3.の過程では,必要に応じて分類の詳細化や統合を行います。実際に業務ルールを設計,登録するときには,その業務ルールが含まれる分類の基準に従って適用条件を指定してください。

(2) 業務ルールの設計,登録

業務ルールについてのプロジェクトの基準に従って,業務ルールを設計,登録します。データ項目の登録の手順と同様に,まず,ドメインの業務ルールを登録し,そのあとにドメインにグルーピングされた下位のデータ項目の業務ルールを登録していきます。また,必要に応じて同一項目用業務ルールを登録します。

なお,通常の業務ルールは必ずデータ項目と関連づけて登録します。したがって,業務ルール辞書を整備するには,使用するデータ項目,それらの継承関係,結合関係が整えられていることが前提となります。

(3) SEWB+/CONSTRUCTIONからの業務ルールの利用

次に,業務ルールがSEWB+/CONSTRUCTIONから利用される流れを説明します。

業務ルールを使う仕組みの詳細は,マニュアル「SEWB+/CONSTRUCTION アプリケーション開発ガイド」を参照してください。

(a) テンプレートの記述

テンプレート作成者によって,業務ルールをアプリケーションにどのように利用するかが,テンプレートに記述されます。

(b) データ定義

データ定義では,アプリケーションで使用するファイル,データベース,およびクライアントとサーバ間の通信のインタフェースが定義されます。データ定義では,レコード定義が参照されます。

(c) プログラム定義

プログラム定義では,プログラマが使用するテンプレートやデータ定義を選び,それらに定義されている情報を基に,ソースプログラム生成に必要な情報を定義していきます。

  1. プログラマは,まず,作成するアプリケーションに使用するデータ定義を指定します。データ定義の使用は,テンプレートの@@interface文で宣言されています。
  2. 選択したテンプレートに@@rule文が書いてある場合には,1.で指定したデータ定義のレコード定義と@@rule文のWITH USAGE句に指定した抽出条件に従って,アプリケーションに適用できる業務ルールの候補が抽出され,一覧に表示されます。プログラマは,この候補の中から,ソースプログラムに展開させたい業務ルールを選択します。このとき,プログラマは,業務ルール名とコメントの情報を手がかりにして業務ルールを選択します。したがって,辞書の作成者が業務ルールを登録するときには,プログラマに対しても,わかりやすく検索しやすい業務ルール名,コメントを定義するようにしましょう。

なお,プログラム定義情報をリポジトリにチェックインすると,選択した業務ルールとプログラム定義のドキュメントの間に,自動的に関連(関連種別「辞書参照」)が付けられます。

(d) ソースプログラムの生成

プログラム定義からソースプログラムを生成すると,プログラム定義で選ばれた業務ルールのルールスクリプトがソースプログラムの中に展開されます。