![](https://blogimg.goo.ne.jp/user_image/51/14/cbf54813aea5c7bffbc1b245f99b2227.png)
Xupper(Advanced)の機能にDLCPという機能があります。
このDLCPという機能は、Data Life Cycle Procedureの略です。
DLCPという機能を作成した目的は、①データ操作の部品化と再利用②データ操作定義の標準化③下流への接続性向上の3つです。
①データに関する操作を部品化
Xupperの画面設計、帳票設計の機能としてデバイス設計やGUI設計という機能がありますが、これらの機能では、画面レイアウト・帳票レイアウトを定義し、レイアウト上に定義されているフィールドに対する編集仕様、チェック仕様、イベント仕様を定義していくことができます。
また、プロセスとエンティティ間でCRUDを定義し、更新仕様タイトルごとにフィールド更新仕様を定義することができるようになっています。
しかし、これらの編集仕様、チェック仕様、イベント仕様、フィールド更新仕様というのは、あくまでテキストで定義することが基本です。
これらの仕様をプロセスに定義するのではなく、データに対する仕様としてデータ側に定義します。
そのことにより、同じ仕様を異なるプロセスで重複して記述する必要性をなくし、同じ共有することにより処理の正規化を実現していきます。②データ操作定義の標準化
また、編集仕様、チェック仕様、イベント仕様、フィールド更新仕様については、テキストで自由に入力することができるようになっています。
エンドユーザさんには平易な日本語で仕様を記述することにより、理解をし易いというメリットがある反面、記述方法が標準化されていないというデメリットも存在します。
そこで、記述内容を形式化し、ウイザード形式で仕様を定義するようにしていきます。
そうするこにより、データ操作定義の標準化を実現していくことを目的としています。
③下流への接続性向上
画面レイアウトやエンティティ関連図の情報をソースに展開するということはこれまでにもいくつかのツールと連携して実施してきましたが、処理部分については手作業で行うということがほとんどでした。
仕様がアナログ(テキスト)で記述されていたため、ほとんど連携することができなかったわけです。
しかし、DLCPを使用して仕様を定義することにより、仕様をデジタル的に表現することが可能となりますので、その内容を下流ツールへ連携させることにより、連続性(ソースコードの生成率)を向上させることが可能となります。
DLCPを定義することにより各工程で以下のような効果も期待できます。
<<開発上流工程>>
エンティティ属性 vs デバイス CRUDマトリクス生成の自動生成
重複かつ不整合データ操作記述の排除
<<開発下流工程>>
様々な形態での下流ツールへの接続が可能
DAPはダイナミックSQLとして接続
BPはDLL、ストアードプロシジャー、DBコンポーネントなどで接続
<<保守工程>>
様々なインパクト分析が可能
変更による波及効果の防止
※コメント投稿者のブログIDはブログ作成者のみに通知されます