JP2005018505A - Class extraction method and device - Google Patents
Class extraction method and device Download PDFInfo
- Publication number
- JP2005018505A JP2005018505A JP2003183733A JP2003183733A JP2005018505A JP 2005018505 A JP2005018505 A JP 2005018505A JP 2003183733 A JP2003183733 A JP 2003183733A JP 2003183733 A JP2003183733 A JP 2003183733A JP 2005018505 A JP2005018505 A JP 2005018505A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- unit
- information
- design
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、アプリケーション開発におけるコンポーネント設計フェーズにおいて、機械的にクラスを抽出する技術に関する。
【0002】
【従来の技術】
アプリケーション開発のプロセスは、業務分析(概要定義)、基本設計(詳細定義)、詳細設計(設計、プログラム設計)、コーディング(プログラム作成)、テスト(結合テスト、総合テスト)、運用(導入)という作業工程に分類される。これは、国際規格である「ソフトウェアライフサイクルプロセス規格ISO/IEC12207:1995(JIS X 0160−1996)」に、日本のソフトウェア産業の特性を加味して作成された「1998版 共通フレーム98 SLCP−JCF98」で定義されている。この「1998版 共通フレーム98 SLCP−JCF98」については、非特許文献1に記載されている。
【0003】
また、アプリケーション開発の作業工程のうち、業務分析、コーディング、テストの手順はすでに確立しており、サポートするツールも数多く存在する。しかし、設計工程においては、設計情報を共有するための記法UMLとそのUMLをサポートしたツールは存在するが、特に決まった手順は確立されていない。また現在のアプリケーション開発の設計では、実装する機能をP(Presentation)層、F(Function)層、D(Data)層に分けて考える、三層アーキテクチャの採択が主流になりつつある。P層は画面に関する処理、F層は業務処理、D層は主にデータベースアクセス処理のことである。この「三層アーキテクチャ」については、非特許文献2に記載されている。
【0004】
また、システム開発のための方法論として、DOA(Data Oriented Approach)が現在主流となっている。DOAは、企業情報システム・業務アプリケーションの分野で、発展してきた方法論であり、データ処理中心の業務システムに適している特徴がある。この「DOA(Data Oriented Approach)」については、非特許文献3に記載されている。
【0005】
【非特許文献1】「データ中心システム分析と設計」の「3章 開発プロセスの作業」(編集:IRM研究会、出版社:オーム社、監修:東京国際大学 堀内一)
【非特許文献2】「Microsoft 単語帳:3 層アーキテクチャ 【 = Three Tiered Architecture 】」(http://www.microsoft.com/Japan/Terminology/query.asp?ID=3132&q=Three%20Tiered%20Architecture)
【非特許文献3】「システム開発の体系 JIS X0160・共通フレーム98対応」(編集:日本ユニシス情報技術研究会、出版社:東京電機大学出版局)
【0006】
【発明が解決しようとする課題】
性能、品質という点を考慮して行われるべき設計工程において設計手順が確立されていない。そのため設計成果物は設計者のスキルに依存し、その品質にはばらつきが発生する。設計品質が低いと、問題がある。
・パフォーマンス劣化の原因となるメソッド、実装ミスを起こしやすいメソッドの散在。
・同様の機能を持ったメソッドが複数作成されることによるアプリケーションの肥大化。
【0007】
【課題を解決しようとするための手段】
上記の課題を解決するために、本発明では、設計を「データベースアクセス」「業務要件」という2局面から行う。このことにより、過不足なくクラスを抽出することも可能になる。
【0008】
データベースアクセス面からのアプローチでは、テーブルの親子関係に着目しレベルを設け、レベルに応じたオブジェクトとメソッドを抽出する。これにより、本来ならば設計者のスキルに依存するクラス抽出を半機械的に行うことが可能となる。
【0009】
業務要件からのアプローチでは、業務分析フェーズで情報システムとユーザのやりとりを最小業務単位でまとめたユースケースシナリオに、データアクセスからのアプローチで得たD層インタフェースで各作業が実現可能であるか検証しつつ、新機能の洗い出しを行う。これにより不足分のインタフェース抽出と各コンポーネントのやりとりを整理することができる。
【0010】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。
なお、以後本文中では、以下のように各用語を用いる。
D層に属するデータベースアクセスコンポーネント…D層コンポーネント
D層コンポーネントのインタフェース…D層インタフェース
D層インタフェースを構成するメソッド…D層メソッド
D層コンポーネントの設計者…D層設計者
F層に属する業務コンポーネント…F層コンポーネント
F層コンポーネントのインタフェース…F層インタフェース
F層インタフェースを構成するメソッド…F層メソッド
F層コンポーネントの設計者…F層設計者
またF層メソッドに関しては、F層コンポーネント外から呼び出されるメソッドをF層公開メソッド、F層コンポーネント内で呼び出されるメソッドをF層内部メソッドと呼ぶ。
【0011】
実施例は、アプリケーション開発におけるコンポーネント設計フェーズにおいて、DB設計者が作成するデータベースのテーブル情報、業務設計者が作成する情報システムとユーザのやり取りをまとめたユースケースシナリオ、画面・帳票設計者が作成する画面・帳票一覧表、を用い、D層およびF層のクラスを半機械的に抽出する方法である。
【0012】
D層クラス設計では、まずデータベースのテーブル情報をもとに、テーブル間の関係に着目し、テーブルレベルを設定する。次にそのレベルに応じたオブジェクトとメソッドの抽出基準を設けることにより、設計者のスキルに依存することなくD層コンポーネントのインタフェース抽出を可能にする。
【0013】
F層クラス設計では、データ中心アプローチから得たD層コンポーネントのインタフェースと画面・帳票一覧表を用いてユースケースシナリオの各作業が実現可能であるか検証する。検証した結果をユースケースシナリオと組み合わせて表示することにより、新機能の洗い出しと、F層コンポーネントのインタフェース抽出作業の促進を図ることが可能になる。
【0014】
また同じ実施例を用いて、設計工程をD層コンポーネント設計部4とF層コンポーネント設計部5の2段階に分け、各々設計終了時に設計終了通知6,7を自動送信することによる、開発者間連携の簡易化、またF層設計者がD層インタフェースを参照する際には、毎回D層コンポーネント設計部4が管理するメソッド情報DB45にアクセスすることにより、コンポーネント間インタフェース参照における人為的ミスによる不整合を減らす方法についても説明する。
【0015】
図1は、本発明を含んだアプリケーション開発の上流フェーズにおけるシステム構成図である。図1では本発明のメインである、D層クラスを定義するD層コンポーネント設計部4、F層クラスを定義するF層コンポーネント設計部5がアプリケーション開発の設計フェーズにおいてどのような位置付けであるかを示している。
【0016】
図2は、図1におけるD層設計者から見たD層クラス抽出処理手順を示す基本フローチャートである。以後、図面内で用いる実線は制御の流れを、波線はデータの読み書き関係を示す。図3は図1におけるLv1,2,3メソッド定義部42の処理手順を、図4は図1におけるD層インタフェース表示部43の処理手順を、図5は図1における仕様書生成部44の処理手順を示すフローチャートである。図3に記載のLv1メソッド定義部421、Lv2メソッド定義部422、Lv3メソッド定義部423に関しては、図6〜図8で詳細に説明する。Lv1メソッド定義部421、Lv2メソッド定義部422、Lv3メソッド定義部423は、図1のLv1,2,3メソッド定義部42に相当する。図9〜図13は、D層インタフェース抽出処理を実現するために必要な画面の一例である。図14は、図1におけるD層インタフェース表示部4において定義したメソッド情報46をメソッド情報DB45に格納した結果である。
【0017】
図15は、図1におけるF層設計者から見たF層クラス抽出処理手順を示す基本フローチャートである。図16は図1におけるマッピング情報表示部54の処理手順を、図17は図1における仕様書生成部56の処理手順を、図18は、図1におけるマッピング部53の処理手順を、図19〜図22はそれぞれ図18におけるD層メソッドマッピング部531、D層新規メソッド定義部532、F層内部メソッド定義部533、P層追加部534の処理手順を、図23〜図24は、図22におけるP層画面追加部5341、P層処理追加部5342の処理手順を、図25は、図1におけるF層公開メソッド定義部55の処理手順を示すフローチャートである。D層メソッドマッピング部531、P層画面追加部5341は図1のマッピング部53に、D層新規メソッド定義部532、F層内部メソッド定義部533、P層処理追加部5342は図1の新規作成部52にそれぞれ相当する。図26〜図33は、F層インタフェース抽出処理を実現するために必要な画面の一例である。図34は、図1における新規作成部52、F層公開メソッド定義部55において定義した新規メソッド情報5a/5bを新規メソッド情報DB58に格納した結果である。35は、図1におけるマッピング部53において定義したメソッドマッピング情報59をメソッドマッピング情報DB57に格納した結果である。
【0018】
図36〜図39は、実施例で本発明を説明する「教育申込&資格認定システム」で用いるDBのテーブル例である。
【0019】
図40〜図44は、F層コンポーネントのインタフェース抽出の課程を示す。
【0020】
図1に示すようにアプリケーション開発の設計工程では、DB設計部1、画面・帳票設計部2、業務設計部3、D層コンポーネント設計部4、F層コンポーネント設計部5という各設計部に別れ、並行して作業が行われる。これら設計部はネットワークで物理的に接続されている。D層コンポーネント設計部4では、DB設計部1の成果物であるER図12を入力として、D層インタフェースを定義し、その結果をD層インタフェース仕様書として出力する。またD層コンポーネント設計部4は、D層インタフェース仕様書生成終了時にF層コンポーネント設計部5に対し、F層設計通知依頼6を送付する。F層コンポーネント設計部5はF層設計通知依頼6を受け取り、D層コンポーネント設計部4の成果物であるメソッド情報DB45、画面・帳票設計部2の成果物である画面・帳票一覧表22、業務設計部3の成果物であるユースケースシナリオ32を入力としD層追加インタフェースとF層インタフェースを定義し、その結果をF層インタフェース仕様書、機能仕様書として出力する。またF層コンポーネント設計部5は、F層インタフェース仕様書生成終了時にD層コンポーネント設計部4に対しD層新規メソッド作成依頼通知7を送付する。D層コンポーネント設計部4は、D層新規メソッド作成依頼通知7を元に新規にD層インタフェースとなるメソッドの設計作業を行う。つまりD層コンポーネント設計部4とF層コンポーネント設計部5は相互に設計依頼の通知をやりとりしながら設計作業を行う。DB設計部1、画面・帳票設計部2、業務設計部3、D層コンポーネント設計部4、F層コンポーネント設計部5は、おのおの入出力装置11,21,31,41,51を備える。
【0021】
D層コンポーネント設計部4は、入出力装置41、Lv1,2,3メソッド定義部42、D層インタフェース表示部43、仕様書生成部44、メソッド情報DB45から構成される。
【0022】
D層インタフェース表示部43は、D層コンポーネント設計部4のメイン処理部であり、DB設計部1の成果物であるER図12からテーブル情報13を、メソッド情報DB45からD層インタフェースを、D層新規メソッド作成依頼通知7から追加作成するメソッド情報を読み込み、D層インタフェースの一覧を表示する。テーブル情報13とは、テーブル名、テーブル属性、検索キー、カラム名からなる。
【0023】
メソッド情報DB45は、メソッド情報46を格納する物である。メソッド情報46とは、メソッドを一意に識別するメソッド番号、テーブルレベル、メソッドでアクセスするテーブル、テーブルの属性、テーブルに対する結合テーブル名、テーブルを検索するキー、テーブルを検索した結果をメソッド利用者に返す際に表示するカラム名、日本語メソッド名、メソッド説明からなる。
【0024】
Lv1,2,3メソッド定義部42は、入出力装置41を介し、DB設計部1の成果物であるER図からアクセスするテーブル情報13とメソッド情報DB45に格納されているメソッド情報を用いて、D層インタフェースを構成するメソッド情報46を定義する。
【0025】
仕様書生成部44は、メソッド情報DB45に格納されているメソッド定義情報46を用いて、D層インタフェース仕様書を生成する。また仕様書生成部44は、D層インタフェース仕様書作成終了時に、F層コンポーネント設計部5に対し、F層設計依頼通知6を配信する。
【0026】
F層コンポーネント設計部5は、入出力装置51、新規作成部52、マッピング部53、マッピング情報表示部54、F層公開メソッド定義部55、仕様書生成部56、メソッドマッピング情報DB57、新規メソッド情報DB58から構成される。
【0027】
マッピング情報表示部54は、メソッドマッピング情報DB57に格納されているユースケースシナリオにD層インタフェース、F層インタフェース、P層処理、P層画面をマッピングした結果を表示する。
【0028】
メソッドマッピング情報DB57は、メソッドマッピング情報59を格納するものである。メソッドマッピング情報59とは、ユースケースシナリオの作業単位を一意に識別する番号、その番号に対応するユースケースシナリオ、メソッド呼び出しの階層構造を表す階層レベル、ユースケースシナリオの一作業における階層内のメソッド実行順、マッピング付けされたメソッド又は処理が属する層(D/F/P)、メソッドを識別するメソッド番号、日本語メソッド名または処理名、対応するF層公開メソッド番号、F層公開日本語メソッド名からなる。
【0029】
マッピング部53は、入出力装置51を介しメソッドマッピング情報DB57に格納したユースケースシナリオに、画面・帳票設計部2の成果物である画面一覧表22と、D層コンポーネント設計部4の成果物であるメソッド情報DB45に格納されている既存D層メソッド定義情報、そして新規メソッド情報DB58に格納されているメソッド定義情報を対応付け、メソッドマッピング情報59を定義し、メソッドマッピング情報DB57に格納する。
【0030】
新規作成部52は、入出力装置51を介しDB1設計部1の成果物であるER図12に格納されているテーブル情報13を用いて、D層新規メソッド情報5aおよびF層内部メソッド情報5bを定義する。D層新規メソッド情報5aとは、メソッドを一意に識別するメソッド番号、メソッド又は処理が属する層(D/F/P)、メソッドレベル、メソッドでアクセスするテーブル、テーブルの属性、テーブルに結合するテーブル名、結合テーブルの属性、テーブルを検索するキー、テーブルを検索した結果をメソッド利用者に返す際に表示する項目、日本語メソッド名または処理名、メソッド説明または処理説明からなる。F層内部メソッド情報5bとは、メソッドを一意に識別するメソッド番号、メソッド又は処理が属する層(D/F/P)、日本語メソッド名または処理名、メソッド説明または処理説明、メソッドの引数の型、メソッドの返値の型からなる。
【0031】
F層公開メソッド定義部55は、入出力装置51を介しF層内部メソッド情報5bと同じフォーマットである、公開メソッド情報5bを定義する。
【0032】
仕様書生成部56は、メソッドマッピング情報DB57に格納されているメソッドマッピング情報59を用いて機能仕様書を、新規メソッド情報DB58に格納されているF層メソッド情報5bを用いてF層インタフェース仕様書を生成する。また仕様書生成部57は、F層インタフェース仕様書、機能仕様書作成終了時に、D層コンポーネント設計部4に対し、新規メソッド情報DB58に格納されているD層新規メソッドの情報をD層新規メソッド作成依頼通知7として配信する。
【0033】
まず、入出力装置41を介しD層設計者から(1)D層インタフェース表示、(2)D層メソッド定義、(3)D層インタフェース仕様書作成、という指示が出された場合におけるD層コンポーネント設計部4の基本動作を説明する。
【0034】
D層コンポーネント設計部4では、テーブル間の関係に着目し、Lv1 … 全テーブル、Lv2 … コードテーブルと関連テーブル、Lv3 …子テーブルと親テーブルというレベルを設け、アクセス対象のテーブル候補を洗い出す。
【0035】
その後、レベルに応じた、Lv1 … 基本メソッド、自由検索・Lv2 … 関連テーブルのプライマリキーによる検索・Lv3 … 子テーブルのプライマリキーによる検索、親テーブルのプライマリキーによる検索を定義することにより、以下のものを得る。
(a). 1 テーブルをアクセスするためのメソッド(プライマリキーでのselect, insert, update, delete)
(b). コードテーブルとのjoin アクセスメソッド(名称解決を目的)
(c). 親子関係にあるテーブルのjoin アクセスメソッド(検索結果として、単レコード情報を取得)
(d). 親子関係にある親子情報一括取得メソッド(検索結果として、複数レコード情報を取得)
(e). 自由検索メソッド(where 句の後ろがstring 型の文字列指定)
具体的に(a)〜(e)のメソッドを「教育申込&資格認定システム」を例に説明する。「教育申込&資格認定システム」では(1)XXX技術者として認定されるためには、必須として指定されている教育を受講し、成績が資格基準に達しなければならない。(2)部署別資格保有者数を出力し、各部署に資格保持促進のため、教育受講を呼びかけるという業務要件があげられている。
【0036】
図36に「教育申込&資格認定システム」で用いるDBのテーブル一覧例を示す。
(a)1テーブルをアクセスするための基本メソッド:「教育科目詳細」テーブルの場合、教育センタの科目担当者が、本テーブルにアクセスを行う、科目の状況閲覧(select)、新規科目の登録(insert)、開催日時変更(update)、科目中止(delete)という操作が、基本メソッドとなる。
(b)関連テーブルのプライマリーキーによる検索:「部署」コードテーブルの名称解決を行うため、関連テーブル「社員」とjoinし、所属部署ごと(例えば、開発部)の社員名簿を表示する操作が、コードテーブルとのjoin アクセスメソッドとなる。
【0037】
図37に、コードテーブルとのjoinアクセス例を示す。
(c)子テーブルのプライマリーキーによる検索:「受講履歴」<子テーブル>、「社員」「教育科目詳細」<親テーブル>、そして「教育科目」<親の親のテーブル>を結合し、所員が既に受講した教育の成績を確認する操作が、親子関係にあるテーブルのjoin アクセスメソッドとなる。
【0038】
図38に親子関係にあるテーブルのjoin アクセス例(子テーブルのキーによる検索)を示す。
(d)親テーブルのプライマリーキーによる検索:「受講履歴」<子テーブル>と「社員」「教育科目詳細」<親テーブル>、そして「教育科目」<親の親テーブル>を結合し、所員が自分の所員番号をキーとして、今まで受講した科目の全成績を一覧する操作が、親子関係にある親子情報一括取得メソッドとなる。
【0039】
図39に、親子関係にあるテーブルのjoin アクセス例(親テーブルのキーによる検索)を示す。
【0040】
(c)子テーブルのプライマリーキーによる検索メソッドでは、検索結果が単レコードに識別されるのに対し、(d)親テーブルのプライマリーキーによる検索では、検索結果として複数レコードの情報を取得することができるという違いがある。
【0041】
(e)自由検索:(a)基本メソッドではサポートされないレベルの検索(select)メソッドである。where 句で指定されるデータ抽出条件式を一つの文字列として扱い、引数として渡す。
【0042】
D層設計者はD層コンポーネント設計部4において、図2に示すフローチャートに従いD層クラス設計を行う。
(1)D層インタフェース表示:D層コンポーネント設計部4において、入出力装置41からD層インタフェース表示の指示を受けた場合、D層インタフェース表示部43では以下に示す処理を行う。D層インタフェース表示部43は図4に示すフローチャートに従い動作する。
【0043】
D層インタフェース表示部43において、(A)D層コンポーネント設計が、(1)初めてか、(2)DB設計部1からテーブル情報の変更を受けてのやり直しか、(3)F層コンポーネント設計部5からのD層新規メソッド作成依頼通知6を受けてかにより以下のテーブル情報読み込み処理を行う。
【0044】
(1)初めてのD層コンポーネント設計:
i) DB設計部1の成果物であるER図12から、テーブル情報13を読み込む
ii) (1)で読み込んだテーブル情報13をもとに、Lv1メソッドである(a)基本メソッド、(e)自由検索を自動設定する。
iii) i)で自動設定されたLv1メソッド設定情報をメソッド情報DB45に格納する。ここでメソッド情報DBに格納する内容は図26に示すメソッド情報格納テーブル内容になる。
【0045】
(2)テーブル情報の変更をうけてのD層コンポーネント設計のやり直し
i)D層設計者は入出力装置41から読み込む必要のあるER図12を指示し、変更があったテーブル情報のみを読み込む。
ii)(1)のii)と同様に、i)で読み込んだテーブル情報をもとに、Lv1メソッドを自動設定する。
iii) (1)のiii)と同様に、ii)で内容変更されたLv1メソッド設定情報をメソッド情報DB45に反映する。
【0046】
(3) D層新規メソッド作成依頼通知7をうけてのD層コンポーネント設計
i)メソッド情報格納DB45より、既に格納されているD層インタフェースを読み込む
(B)メソッド情報DB45に格納されているメソッド情報から、表示用データを作成し、出力装置41に表示する。図9に表示例を示す。D層コンポーネント設計におけるLv1メソッド定義部421は、デフォルトLv1メソッドを全て作成する。
(2)各レベルのD層メソッド定義
D層新規メソッド作成依頼通知7が存在する場合(A1)と存在しない場合(A2)で動きが異なる。
【0047】
(A1)D層新規メソッド作成依頼通知7が存在する場合、
(1)F層コンポーネント設計部5の成果物であるD層新規メソッド依頼通知書から、D層新規メソッド情報を読み込み表示する。図10に表示例を示す。
(2)D層設計者は入出力装置41から、D層新規メソッドを選択し、
a)Lv1,2,3メソッド定義部42による定義処理
b)D層新規メソッド候補の削除、のどちらかの処理を行う。
【0048】
a)Lv1,2,3メソッド定義部42による定義処理を行う場合、Lv1,2,3メソッド定義部では以下に示す処理を行う。Lv1,2,3メソッド定義部42は図3に示すフローチャートに従い動作する。
【0049】
○Lv1メソッド定義部421による定義処理
Lv1メソッド定義部421は図6に示すフローチャートに従い動作する。
【0050】
i)Lv1メソッド定義部は、D層インタフェース表示部43から設定済みのLv1メソッド名とメソッド選択情報を取得、表示用データを作成し、出力装置41に表示する。Lv1メソッド定義部の画面例を図11に示す。
【0051】
ii)D層設計者は、入出力装置41に表示されているLv1メソッド選択情報に対して、入出力装置41よりメソッド要不要の変更を行う。
【0052】
iii)修正結果を受け、メソッド情報格納DB45に格納されているLv1メソッド設定情報を変更する。
【0053】
○Lv2メソッド定義部422による定義処理
Lv2メソッド定義部422は図7に示すフローチャートに従い動作する。Lv2メソッド定義部の画面表示例を図12に示す。
【0054】
i)Lv2メソッド定義部422は、D層インタフェース表示部43から選択したコードテーブル名を取得する。図12の例では、コードテーブルとして“部署”テーブルが選択されている。
【0055】
ii)Lv2メソッド定義部422は、コードテーブル名をキーとして関連するテーブル情報をDB設計部1の成果物であるER図12から読み込み、表示用データを作成し、入出力装置41に表示する。ここでテーブル情報とは、テーブル属性、関連するテーブル一覧、各関連テーブルの検索キー、各関連テーブルのカラム名となる。図12の例では、“部署”テーブルに関連するテーブルの候補として、“社員”テーブルが表示されている。
【0056】
iii)D層設計者は、入出力装置41を介し、関連テーブル一覧からコードテーブルに連結する関連テーブルを選択する。
【0057】
iv)選択された関連テーブルの検索キーがLv2メソッドの検索キーに自動設定される。図12の例では、“部署”テーブルに連結するテーブルとして、“社員テーブル”が選択されており、これに伴い“社員”テーブルのキーである、所員番号が、検索キーとして自動設定されている。
【0058】
v)iii)で関連テーブルが選択されたのを受け、カラム一覧に、コードテーブルと選択された関連テーブルのカラム名をすべて表示する。
【0059】
vi)D層設計者は入出力装置41を介し、Lv2メソッドで参照したいカラム目を選択する。図8の例では、カラム一覧として“氏名”“所属コード”“成績”“科目名”が表示されており、“氏名”が選択されている。
【0060】
続いてD層設計者はLv2メソッドの日本語名、およびメソッド説明も入力する。図8の例では、メソッド日本語名に“社員名取得”、メソッド説明に“社員名を取得する”と入力している。
【0061】
vii)Lv2メソッド定義部422で定義したメソッド情報46をメソッド情報DB45に格納する。
【0062】
○Lv3メソッド設定部423による設定処理
Lv3メソッド設定部423は図8に示すフローチャートに従い動作する。Lv3メソッド定義部423の画面表示例を図13に示す。
【0063】
i)Lv3メソッド設定部はD層インタフェース表示部43から選択した子テーブル名を取得する。図13の例では、子テーブルとして、“受講履歴”テーブルが選択されている。
【0064】
ii)Lv3メソッド定義部423は子テーブル名をキーとして、子テーブルに関係する親テーブル情報をDB設計部1の成果物であるER図12から読み込み、表示用データを作成し、入出力装置41に表示する。ここでテーブル情報とは、親テーブル一覧、各親テーブル検索キー、各親テーブルのカラム名となる。図13の例では、“受講履歴”テーブルの親テーブルとして、“社員テーブル”“教育科目テーブル”が表示されている。
【0065】
iii)D層設計者は入出力装置41を介し、親テーブル一覧から子テーブルに連結する親テーブルを選択する。
【0066】
iv)iii)で親テーブルが選択されたのを受け、子テーブルと選択した親テーブルの検索キーがすべて検索キー一覧に検索キー候補として表示される。図13の例では、“受講履歴”テーブルに連結するテーブルとして“社員テーブル”“教育科目”テーブルを選択しており、これに伴い検索キー候補には、“所員番号:科目コード:サブコード”“所員番号”“科目コード”が表示されている。
【0067】
v)またiii)で親テーブルが選択されたのを受け、表示項目一覧に、子テーブルと選択された親テーブルのカラム名を表示する。
【0068】
vi)D層設計者は入出力装置を介し、検索キー一覧の中からLv3メソッドの検索キーに設定するものを検索キー候補一覧から選択する。図13の例では、検索キーとして“所員番号:科目コード:サブコード”を選択している。
【0069】
続いてD層設計者はLv3メソッドで取得したいカラム名をカラム候補一覧から選択する。図13の例では、表示項目一覧として、“氏名”“所属コード”“成績”“科目名”が表示されており、“氏名”“所属コード”“成績”“科目名”が選択されている。
【0070】
さらに、D層設計者は、Lv3メソッドの日本語名、およびメソッド説明も入力する。図13の例では、メソッド日本語名に、“受講済科目取得”、メソッド説明に“受講済の科目を取得する”と入力している。
【0071】
vii)Lv3メソッド定義部423で定義したメソッド情報46をメソッド情報DB45に格納する。
【0072】
b)D層新規メソッド候補の削除を行う場合、D層新規メソッド作成依頼通知7から選択したD層新規メソッドを選択する。
【0073】
(A2)D層新規メソッド作成依頼通知7が存在しない場合、Lv1,2,3メソッド定義部42による定義処理を行う。
【0074】
D層設計者は、D層インタフェース表示部43に表示されているLv1テーブル一覧の中から、定義を行いたいテーブルを選択し、作成したいレベルのメソッド定義部42を呼び出す。Lv2メソッドを新規に定義する場合はD層インタフェース表示部43に表示されているLv1テーブル一覧からコードテーブルを選択しLv2メソッド定義部422を呼び出す。Lv3メソッドを新規に定義する場合はD層インタフェース表示部43に表示されているLv1テーブル一覧から「子」又は「親でもあり子」でもあるテーブルを選択しLv3メソッド定義部423を呼び出す。
【0075】
(B)メソッド情報格納DB45に格納されているメソッド情報を取得、表示用データを作成し、出力装置41に表示する。表示例を図6に示す。
(3)仕様書生成
D層設計者は、D層メソッド定義終了後、D層インタフェース表示部43に表示されているLv1〜Lv3メソッド情報の内容を確認し、仕様書生成部44にD層インタフェース仕様書作成の指示を出す。D層インタフェース仕様書作成の指示を受けた仕様書生成部44は、メソッド情報DB45からメソッド定義情報を読み込み、D層インタフェース仕様書を生成する。また仕様書生成部44は、D層インタフェース仕様書作成終了後、F層設計依頼通知書6を作成し、コンポーネント設計部5に送付する。仕様書生成部44は図5に示すフローチャートに従い動作する。
【0076】
以上説明したようにD層コンポーネント設計部4では、データベースのテーブル情報をもとに、テーブルの結合関係に着目し、アクセス対象のテーブル候補を洗い出すためのレベル付けを行い、そのレベルに応じたオブジェクトとメソッドの抽出基準を設けることにより、設計者のスキルに依存することのないD層コンポーネントのクラス抽出が可能である。
【0077】
次に入出力装置を51を介し、F層設計者から(1)マッピング情報表示・(2)メソッドマッピング処理(メソッド定義(D層追加、F層内部、P層))・(3)F層公開メソッド定義・(4)F層インタフェース仕様書、機能仕様書作成という指示が出された場合におけるF層コンポーネント設計部5の基本動作を説明する。
【0078】
F層コンポーネント設計部5では、以下のことを行う。
(1)D層コンポーネント設計部4が提供する基本機能を用いてユースケースシナリオにマッピングしていくことで、各作業が実現可能であるかを検証する。マッピング課程の例を図40に示す。図40に示すように、D層基本機能マッピング時には不足機能を洗い出すことが出来る。
(2)D層提供の基本機能だけでは補いきれない業務固有のDB検索メソッドをD層追加機能として洗い出す。マッピング課程の例を図41に示す。図41では、図40の時点で不足であった機能のうち、DBアクセスに関するものを、D層新規メソッドとしてとして抽出している。
(3)D層提供機能で得られた結果を加工する処理と複数回のD層アクセスが行われている処理が、F層メソッド候補であると考え、日本語名を付けマッピングする。この際、D層提供機能をまとめF層メソッドに置き換える処理が発生する。つまり、F層メソッドを上位、D層メソッドを下位とする階層構造になる。マッピング課程の例を図42に示す。
(4)DBアクセスを伴わない、入力チェック、入出力編集といった処理は、P層処理としてユースケースシナリオにマッピングする。同時にP層画面のマッピング作業も行う。マッピング課程の例を図43に示す。
(5)最後にユースケースシナリオ上のどの部分をF層の公開メソッドとするかを定義する。マッピング課程の例を図44に示す。
という手順をふみ、F層クラスを抽出する。
【0079】
F層コンポーネント設計部5におけるF層クラス抽出のフローチャートを図15に示す。
(1)マッピング情報表示部54
F層コンポーネント設計部5において、入出力装置51からマッピング情報表示の指示を受けた場合、マッピング情報表示部表示部54では以下に示す処理を行う。マッピング情報表示部54は図16に示すフローチャートに従い動作する。
【0080】
マッピング情報表示部54において(1)F層コンポーネント設計が、(A)初めてか、(B)業務設計部2からユースケースシナリオ情報の変更を受けてのやり直しか、(C)2回目以降かにより以下ユースケースシナリオ読み込み処理を行う。
【0081】
(A)初めてのF層コンポーネント設計
業務設計部3の成果物であるユースケースシナリオ32を読み込む。マッピング情報表示部の画面例を図26に示す。図26の例では、「教育受講申込(募集時期外、日付指定)」というユースケースシナリオが表示されている。
【0082】
(B)ユースケースシナリオの変更をうけてのD層コンポーネント設計のやり直し業務設計部3の成果物であるユースケースシナリオ32の変更部分のみを読み込む。
【0083】
(C)2回目以降のD層コンポーネント設計
メソッドマッピング情報格納DB57より、すでにマッピング済のユースケースシナリオを読み込む。
【0084】
(2)読み込んだユースケースシナリオを元に、表示用データを作成し、入出力装置51に表示する。
(2)マッピング処理
(1)マッピング情報表示部54にて、マッピングを行いたいユースケースシナリオの行を選択し、マッピング部53を呼び出す。マッピング部53は図18に示すフローチャートに従い動作する。マッピング部の表示例を図27に示す。図27の例では、「6.3 申込を行う場合には、科目表示行のチェック項目をチェックし、申込ボタンを押下」という行が選択されている。
【0085】
(2)マッピング部で、(A) D層既存メソッドマッピング処理、(B) D層新規メソッド定義部によるメソッド定義処理、(C) F層内部メソッド定義部によるF層内部メソッド定義処理、(D) P層追加部によるP層追加処理のいずれかの処理を行い、メソッドマッピング情報59を作成する。
【0086】
(A)D層メソッドマッピング部531によるD層既存メソッドマッピング処理
D層メソッドマッピング部531は図19に示すフローチャートに従い動作する。図28にD層メソッドマッピング部の画面例を示す。
【0087】
i)D層コンポーネント設計部4のメソッド情報格納DB45より、すでに作成済みのD層メソッド情報を読み込む。
【0088】
ii)新規メソッド情報DB58よりD層新規メソッド定義部532で新規に定義したD層メソッド情報を読み込む。
【0089】
iii)入出力装置51よりユースケースシナリオにマッピングしたいD層メソッドを選択する。
【0090】
iv)メソッドマッピング情報59を作成し、マッピング部53に出力する。図27の例では、ユースケースシナリオに対し「教育科目申込基準の取得」「申込者の教育履歴情報取得」メソッドがマッピングされている。
【0091】
(B)D層新規メソッド定義部によるメソッド定義処理
D層新規メソッド定義部は図20に示すフローチャートに従い動作する。図29にD層新規メソッド定義部の画面例を示す。
【0092】
i)D層コンポーネント設計部4のメソッド情報格納DB45より、すでに作成済みのD層メソッド情報を読み込む。
【0093】
ii)Lv1メソッドの変更がある場合は、Lv1メソッド定義部421を呼び出す。Lv1メソッド定義部421は、D層コンポーネント設計部4のLv1メソッド定義部と同じ動作をする。
【0094】
Lv2メソッドを新規に定義する場合はD層新規メソッド定義部に表示されているLv1テーブル一覧からコードテーブルを選択しLv2メソッド定義部422を呼び出す。Lv2メソッド定義部422はD層コンポーネント設計部4のLv2メソッド定義部を利用する。
【0095】
Lv3メソッドを新規に定義する場合はD層新規メソッド定義部に表示されているLv1テーブル一覧から子テーブルを選択しLv3メソッド定義部423を呼び出す。Lv3メソッド定義部423はD層コンポーネント設計部4のLv3メソッド定義部と同じ動作をする。
【0096】
iii)ii)で新規に作成したLv1,2,3メソッド情報5aを新規メソッド情報DB58に格納する。ここで新規メソッド情報DB58に格納する内容は新規メソッド情報格納テーブル図34の内容になる。
【0097】
iv)メソッドマッピング情報59を作成し、マッピング部53に出力する。
【0098】
(C)F層内部メソッド定義部533によるF層内部メソッド定義処理
F層内部メソッド定義部533は図21に示すフローチャートに従い動作する。F層内部メソッド定義部の表示例を図30に示す。
【0099】
F層内部メソッド定義部533は、i)マッピング画面上で選択したD層メソッド情報をマッピング画面より読み込む。D層メソッドが選択されていなければ、選択されていないという情報を読み込む。ii)F層内部メソッド定義画面において、メソッドの日本語名、引数の型、返値の型、メソッドの説明を入出力装置51より入力する。図30の例では、メソッドの日本語名に“教育申込不可判定”、引数の型に“String”、返値の型に“boolean”、メソッドの説明に“教育申込の不可を判定する”と入力している。iii)F層内部メソッドの作成は、a)D層メソッドをまとめるもの、b)業務処理を行うもの、があり、どちらを作成するかは、D層メソッドが選択されているか、いないかで判断し、それぞれの処理を行う。
【0100】
a) D層メソッドをまとめるF層内部メソッド(D層メソッドが選択されている)選択したD層メソッドのメソッド階層レベルを1増やし、メソッドマッピング情報格納DBの内容を更新する。
【0101】
b) 業務処理を行うF層内部メソッド
特に何もしない。
【0102】
iv)ii)で作成したメソッド情報5bを新規メソッド情報DB58に格納する。
v)メソッドマッピング情報59を作成し、マッピング部53に出力する。
【0103】
(D)P層追加部534によるP層追加処理
P層追加部534は図22に示すに示すフローチャートに従い動作する。
P層追加部534では、ユースケースシナリオに対して、P層画面をマッピングするか、P層処理を追加するかを選択し、選択に応じてP層画面追加部5341、P層処理追加部5342を呼び出す。
【0104】
a)P層画面追加部5341によるP層画面追加処理
P層画面追加部5341は図23に示すフローチャートに従い動作する。P層画面追加部5341の表示例を図31に示す。
【0105】
i)画面・帳票設計部2の成果物である画面一覧表22より、画面一覧情報を読み込む。図31の例では、「申込受理画面」「教育案内画面」が表示されている。
【0106】
ii)P層画面追加画面において表示されている画面一覧の中から、ユースケースシナリオにマッピングしたい画面を選択する。図31の例では、「教育案内画面」が選択されている。
【0107】
また、入出力装置51より追加した画面に対する補足事項を入力する。図31の例では、“必須教育科目に空きがない場合、満員である旨を知らせるメッセージを出力”と入力している。
【0108】
iii)メソッドマッピング情報59を作成し出力する。
【0109】
b)P層処理追加部5342によるP層処理追加処理
P層処理追加部5342は図24に示すフローチャートに従い動作する。P層処理追加部5342の表示例を図26に示す。
【0110】
i)入出力装置51よりP層で行いたい処理名と処理の説明を入力する。図32の例では処理名に“開催期間内であるかチェック”、処理の説明に“教育開催期間内であるかをチェック”と入力している。
【0111】
ii)i)で入力したP層処理情報5bを新規メソッド情報DB58に格納する。
【0112】
iii)メソッドマッピング情報59を作成し、マッピング部53に出力する。
【0113】
(3)(2)で作成したメソッドマッピング情報59をメソッドマッピングDB57に納する。ここでメソッドマッピングDB57に格納する内容はメソッドマッピング情報格納テーブル図35の内容になる。
【0114】
(4)マッピングしたメソッドの実行順序を変更する場合には、メソッドマッピングDB57に格納されているメソッドマッピング情報59の実行順の内容を変更する。
【0115】
(5)メソッドマッピングDB57に格納されているメソッドマッピング情報59を元に、表示データを作成し、出力装置51に表示する。
【0116】
(3)F層公開メソッド定義
マッピング情報表示部54から、F層公開メソッドとして定義したいユースケースシナリオの範囲をマッピングしたメソッドや画面、処理も含め選択し、F層公開メソッド定義部55を呼び出す。F層公開メソッド定義部は図25に示すフローチャートに従い動作する。
【0117】
F層公開メソッド定義部55は(2)の(3)F層内部メソッド定義部533と同じ画面を利用する。
【0118】
i)メソッドの日本語名、引数の型、返値の型、メソッドの説明を入出力装置より入力する。
【0119】
ii)i)で入力したF層公開メソッド設定情報5bを新規メソッド情報DB58に格納する。
【0120】
iii)メソッドマッピング情報DB57に格納されている選択されたユースケースシナリオに対応する範囲のメソッドマッピング情報59に関して、F層公開メソッド識別子とF層公開メソッド名の内容を更新する。
【0121】
iv)メソッドマッピングDB57に格納されているメソッドマッピング情報59をもとに表示データを作成し、出力装置51に表示する。表示例を図33に示す。
(4)仕様書生成
F層設計者はメソッドマッピング定義終了後、メソッドマッピング情報表示部54に表示されているメソッドマッピング情報の内容を確認し、仕様書生成部56にF層インタフェース仕様書、機能仕様書の作成指示を出す。F層インタフェース仕様書、機能仕様書の作成を受けた仕様書生成部56は新規メソッド情報DB58からメソッド定義情報5a/5bを、メソッドマッピング情報DB57からメソッドマッピング情報59を読み込み、各々からF層インタフェース仕様書、機能仕様書を生成する。また仕様書生成部56は仕様書作成終了後、D層新規メソッド作成依頼通知書7を作成し、D層コンポーネント設計部4に送付する。
【0122】
このときに新規メソッド情報DB58に格納されているD層新規メソッドに関するデータは削除する。
【0123】
仕様書生成部54は図17に示すフローチャートに従い動作する。
【0124】
以上説明したようにF層コンポーネント設計部5では、データ中心アプローチから得たD層コンポーネントのインタフェースと、画面・帳票一覧表を用いてユースケースシナリオの各作業が実現可能であるか検証する。検証した結果をユースケースシナリオと組み合わせて表示することにより、不足機能の洗い出しと、F層コンポーネントのクラス抽出を行うことができる。
【0125】
また、D層コンポーネント設計部、F層コンポーネント設計部では、それぞれ各々設計終了時に設計終了の通知を自動的に送信するしくみを備えている。このしくみにより、D層設計者、F層設計者間の連携の簡易化をはかり、人為的ミスによるコンポーネント間インタフェースの不整合といった問題の回避をはかることができる。
【0126】
【発明の効果】
本発明により次の利点を得る事ができる。
1.本設計手順を利用して開発を行うことで、開発者がとくに意識することなく、三層アーキテクチャを採択したアプリケーション開発を行うことができる。
2.コンポーネント設計の機械化を図ることで、オブジェクト、メソッドの粒度や品質のばらつきを防ぐことができる。
3.DBのテーブル情報からD層クラスをボトムアップ的に定義することで、無駄な機能をもったメソッドの作成を防ぐことができる。
4.D層インタフェースとユースケースシナリオを付き合わせていくことで、不足機能の洗い出しを抜けなく行うことができる。
5.本設計手順、およびツールを利用することで、D層インタフェース仕様書や機能仕様書といった必要な設計成果物を、実際に設計を行いながら作成して行くことができる。
【図面の簡単な説明】
【図1】システム概要図
【図2】D層コンポーネント設計部におけるD層設計者基本フローチャート
【図3】D層コンポーネント設計部におけるLv1,2,3メソッド定義部のフローチャート
【図4】D層コンポーネント設計部におけるD層インタフェース表示部のフローチャート
【図5】D層コンポーネント設計部におけるLv1メソッド定義部のフローチャート
【図6】D層コンポーネント設計部におけるLv2メソッド定義部のフローチャート
【図7】Lv2メソッド定義部422の処理を示すフローチャート
【図8】D層コンポーネント設計部におけるLv3メソッド定義部のフローチャート
【図9】D層コンポーネント設計部におけるD層インタフェース表示部の画面例
【図10】D層コンポーネント設計部における新規D層メソッド定義選択画面の画面例
【図11】D層コンポーネント設計部におけるLv1メソッド定義部の画面例
【図12】D層コンポーネント設計部におけるLv2メソッド定義部の画面例
【図13】D層コンポーネント設計部におけるLv3メソッド定義部の画面例
【図14】D層コンポーネント設計部におけるメソッド情報DBに格納するテーブル例
【図15】F層コンポーネント設計部におけるF層設計者基本フローチャート
【図16】F層コンポーネント設計部におけるマッピング情報表示部フローチャート
【図17】F層コンポーネント設計部における仕様書生成部フローチャート
【図18】F層コンポーネント設計部におけるマッピング部のフローチャート
【図19】F層コンポーネント設計部におけるD層メソッドマッピング部のフローチャート
【図20】F層コンポーネント設計部におけるD層新規メソッド定義部のフローチャート
【図21】F層コンポーネント設計部におけるF層内部メソッド定義部のフローチャート
【図22】F層コンポーネント設計部におけるP層追加部のフローチャート
【図23】F層コンポーネント設計部におけるP層画面追加部のフローチャート
【図24】F層コンポーネント設計部におけるP層処理追加部のフローチャート
【図25】F層コンポーネント設計部におけるF層公開メソッド定義部のフローチャート
【図26】F層コンポーネント設計部におけるマッピング情報表示部の画面例(初期状態)
【図27】F層コンポーネント設計部におけるマッピング部の画面例
【図28】F層コンポーネント設計部におけるD層メソッドマッピング部の画面例
【図29】F層コンポーネント設計部におけるD層新規メソッド定義部の画面例
【図30】F層コンポーネント設計部におけるF層内部メソッド定義部の画面例
【図31】F層コンポーネント設計部におけるP層画面追加部の画面例
【図32】F層コンポーネント設計部におけるP層処理追加部の画面例
【図33】F層コンポーネント設計部におけるマッピング情報表示部の画面例(F層公開メソッド定義後)
【図34】F層コンポーネント設計部における新規メソッド情報DBに格納するテーブル例
【図35】F層コンポーネント設計部におけるメソッドマッピング情報DBに格納するテーブル例
【図36】「教育申込&資格認定システム」で用いるDBのテーブル一覧
【図37】コードテーブルとのjoinアクセス例
【図38】親子関係にあるテーブルのjoinアクセス例(子テーブルのキーによる検索)
【図39】親子関係にあるテーブルのjoinアクセス例(親テーブルのキーによる検索)
【図40】F層コンポーネントのインタフェース抽出の流れ(D層基本機能のマッピング)
【図41】F層コンポーネントのインタフェース抽出の流れ(D層追加機能の洗い出し)
【図42】F層コンポーネントのインタフェース抽出の流れ(F層内部メソッドの洗い出し)
【図43】F層コンポーネントのインタフェース抽出の流れ(P層処理の洗い出し + P層画面のマッピング)
【図44】F層コンポーネントのインタフェース抽出の流れ(F層公開メソッドの定義)
【符号の説明】
1 DB設計部
11 入出力装置
12 ER図
13 テーブル情報
2 画面・帳票設計部
21 入出力装置
22 画面・帳票一覧表
3 業務設計部
31 入出力装置
32 ユースケースシナリオ
4 データベースアクセス(D層)コンポーネント設計部
41 入出力装置
42 Lv1,2,3メソッド定義部
421 Lv1メソッド定義部
422 Lv2メソッド定義部
423 Lv3メソッド定義部
43 D層インタフェース表示部
44 仕様書生成部
45 メソッド情報格納DB
46 メソッド定義情報
5 機能(F層)設計部
51 入出力装置
52 新規作成部
53 マッピング部
54 マッピング情報表示部
55 F層公開メソッド定義部
56 仕様書生成部
57 メソッドマッピング情報格納DB
58 新規メソッド情報格納DB
59 メソッドマッピング情報
5a D層メソッド定義情報
5b F層メソッド定義情報
6 F層設計通知依頼
7 D層新規メソッド作成依頼通知[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for mechanically extracting a class in a component design phase in application development.
[0002]
[Prior art]
The application development process consists of business analysis (summary definition), basic design (detailed definition), detailed design (design, program design), coding (program creation), test (integration test, comprehensive test), operation (introduction) Classified as a process. This is an international standard “Software Lifecycle Process Standard ISO / IEC12207: 1995 (JIS X 0160-1996)”, which was created in consideration of the characteristics of the Japanese software industry. “1998 version common frame 98 SLCP-JCF98” Is defined. This “1998 version common frame 98 SLCP-JCF98” is described in Non-Patent
[0003]
Also, business analysis, coding, and testing procedures have already been established in the application development process, and there are many tools to support it. However, in the design process, there is a notation UML for sharing design information and a tool that supports the UML, but no specific procedure has been established. Further, in the design of current application development, the adoption of a three-layer architecture, in which functions to be implemented are divided into a P (Presentation) layer, an F (Function) layer, and a D (Data) layer, is becoming mainstream. The P layer is processing related to the screen, the F layer is business processing, and the D layer is mainly database access processing. This “three-layer architecture” is described in
[0004]
Also, as a method for system development, DOA (Data Oriented Approach) is currently the mainstream. DOA is a methodology that has been developed in the fields of enterprise information systems and business applications, and is characterized by being suitable for data processing-centric business systems. This “DOA (Data Oriented Approach)” is described in
[0005]
[Non-patent document 1] "
[Non-Patent Document 2] "Microsoft Wordbook: Three-tiered Architecture [= Three Tiered Architecture]"(http://www.microsoft.com/Japan/Terminology/query.asp?ID=3132&q20%%%%%)
[Non-Patent Document 3] "System development system JIS X0160 and common frame 98 compatible" (edit: Nihon Unisys Information Technology Research Association, publisher: Tokyo Denki University Press)
[0006]
[Problems to be solved by the invention]
No design procedure has been established in the design process that should be performed in consideration of performance and quality. For this reason, design deliverables depend on the skill of the designer, and the quality varies. There is a problem if the design quality is low.
-Scattering of methods that cause performance degradation and methods that are prone to implementation errors.
-Application enlargement by creating multiple methods with similar functions.
[0007]
[Means for solving problems]
In order to solve the above problems, in the present invention, design is performed from two aspects of “database access” and “business requirement”. This makes it possible to extract classes without excess or deficiency.
[0008]
In the database access approach, a level is set by focusing on the parent-child relationship of the table, and objects and methods corresponding to the level are extracted. This makes it possible to semi-mechanically perform class extraction that originally depends on the skill of the designer.
[0009]
In the approach from business requirements, in the business analysis phase, verify whether each work can be realized with the D layer interface obtained from the approach from data access to the use case scenario that summarizes the interaction between the information system and the user in the minimum business unit. At the same time, identify new functions. As a result, the interface extraction and the exchange of each component can be organized.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
In the following text, terms will be used as follows.
Database access component belonging to layer D ... layer D component
D layer component interface ... D layer interface
D layer interface methods ... D layer methods
D layer component designer ... D layer designer
Business component belonging to F layer… F layer component
F layer component interface ... F layer interface
Methods that make up the F layer interface: F layer methods
F layer component designer ... F layer designer
Regarding the F layer method, a method called from outside the F layer component is called an F layer public method, and a method called inside the F layer component is called an F layer internal method.
[0011]
In the component design phase in application development, database table information created by the DB designer, use case scenarios that summarize user interaction with the information system created by the business designer, and screen / form designer create This is a method of semi-mechanically extracting the D layer and F layer classes using a screen / form list.
[0012]
In the D layer class design, first, the table level is set by paying attention to the relationship between the tables based on the table information of the database. Next, by providing object and method extraction criteria according to the level, it is possible to extract the interface of the D layer component without depending on the skill of the designer.
[0013]
In the F layer class design, it is verified whether each work of the use case scenario can be realized by using the interface of the D layer component obtained from the data-centric approach and the screen / form list. By displaying the verified result in combination with the use case scenario, it becomes possible to identify new functions and promote the interface extraction operation of the F layer component.
[0014]
In addition, using the same embodiment, the design process is divided into two stages of D layer component design unit 4 and F layer component design unit 5, and by automatically transmitting
[0015]
FIG. 1 is a system configuration diagram in an upstream phase of application development including the present invention. In FIG. 1, the positioning of the D layer component design unit 4 that defines the D layer class and the F layer component design unit 5 that defines the F layer class, which are main components of the present invention, is positioned in the design phase of application development. Show.
[0016]
FIG. 2 is a basic flowchart showing the D layer class extraction processing procedure viewed from the D layer designer in FIG. Hereinafter, the solid line used in the drawing indicates the flow of control, and the wavy line indicates the data read / write relationship. 3 shows the processing procedure of the Lv1,2,3
[0017]
FIG. 15 is a basic flowchart showing the F layer class extraction processing procedure viewed from the F layer designer in FIG. 16 shows the processing procedure of the mapping information display unit 54 in FIG. 1, FIG. 17 shows the processing procedure of the specification generation unit 56 in FIG. 1, FIG. 18 shows the processing procedure of the
[0018]
36 to 39 are DB table examples used in the “education application & qualification system” that explains the present invention in the embodiment.
[0019]
40 to 44 show the process of extracting the interface of the F layer component.
[0020]
As shown in FIG. 1, the application development design process is divided into the following design units: a
[0021]
The D layer component design unit 4 includes an input /
[0022]
The D layer
[0023]
The
[0024]
The Lv1, 2, 3
[0025]
The specification generation unit 44 generates a D layer interface specification using the
[0026]
The F layer component design unit 5 includes an input /
[0027]
The mapping information display unit 54 displays the result of mapping the D layer interface, the F layer interface, the P layer process, and the P layer screen to the use case scenario stored in the method
[0028]
The method
[0029]
The
[0030]
The new creation unit 52 uses the
[0031]
The F layer public
[0032]
The specification generation unit 56 uses the method mapping information 59 stored in the method
[0033]
First, the D layer component when the D layer designer gives instructions via the input /
[0034]
The D layer component design unit 4 pays attention to the relationship between the tables, and provides levels of Lv1... All tables, Lv2... Code table and related table, Lv3.
[0035]
Then, depending on the level, Lv1 ... basic method, free search · Lv2 ... search by primary key of related table · Lv3 ... search by primary key of child table, search by primary key of parent table Get things.
(A). 1 Methods for accessing the table (select, insert, update, delete with primary key)
(B). Join access method with code table (for name resolution)
(C). Join access method for tables in parent-child relationship (single record information is acquired as a search result)
(D). Parent-child information batch acquisition method in parent-child relationship (multi-record information is acquired as a search result)
(E). Free search method (specify a string of string type after the where clause)
Specifically, the methods (a) to (e) will be described using the “education application & qualification system” as an example. In the “Education Application & Qualification Certification System”, (1) In order to be certified as an XXX engineer, students must take education designated as essential and their grades must meet qualification standards. (2) The business requirement is to output the number of qualified persons by department and call on each department to promote qualification.
[0036]
FIG. 36 shows an example of a DB table list used in the “education application & qualification system”.
(A) Basic method for accessing one table: In the case of the “educational subject detail” table, the subject person in the education center accesses this table, browses the status of the subject (select), and registers a new subject ( The operations of insert, date and time change (update), and subject cancellation (delete) are basic methods.
(B) Retrieval of related table by primary key: In order to resolve the name of the “department” code table, the operation of joining the related table “employee” and displaying the employee list for each department (for example, development department) It becomes a join access method to the code table.
[0037]
FIG. 37 shows a join access example with the code table.
(C) Retrieval by primary key of child table: Joining “attendance history” <child table>, “employee” “details of educational subject” <parent table>, and “educational subject” <parent parent table> The operation of confirming the grade of education that has already been taken is the join access method for tables in a parent-child relationship.
[0038]
FIG. 38 shows a join access example (search by key of child table) of a table having a parent-child relationship.
(D) Search by primary key of parent table: “Participation history” <child table>, “employee”, “educational subject details” <parent table>, and “educational subject” <parent table> are combined. The operation of listing all grades of subjects that have been taken so far using the staff number as a key is a parent-child information batch acquisition method having a parent-child relationship.
[0039]
FIG. 39 shows a join access example (search by key of parent table) of a table having a parent-child relationship.
[0040]
(C) In the search method using the primary key of the child table, the search result is identified as a single record. On the other hand, in the search using the primary key of the parent table, information on multiple records may be acquired as the search result. There is a difference that you can.
[0041]
(E) Free search: (a) A search method at a level not supported by the basic method. The data extraction condition expression specified in the where clause is treated as one character string and passed as an argument.
[0042]
The D layer designer performs D layer class design in the D layer component design unit 4 according to the flowchart shown in FIG.
(1) D layer interface display: When the D layer component design unit 4 receives a D layer interface display instruction from the input /
[0043]
In the D layer
[0044]
(1) First D layer component design:
i) Read the
ii) Based on the
iii) The Lv1 method setting information automatically set in i) is stored in the
[0045]
(2) Redo D-layer component design after changing table information
i) The D layer designer instructs the ER diagram 12 that needs to be read from the input /
ii) As in ii) of (1), the Lv1 method is automatically set based on the table information read in i).
iii) As with iii) of (1), the Lv1 method setting information whose contents are changed in ii) is reflected in the
[0046]
(3) D layer component design after receiving D layer new method
i) Read the stored D layer interface from the method
(B) Display data is created from the method information stored in the
(2) D layer method definition at each level
The movement is different between the case where the layer D new method
[0047]
(A1) When the D layer new method
(1) D layer new method information is read and displayed from the D layer new method request notification that is a product of the F layer component design unit 5. FIG. 10 shows a display example.
(2) The D layer designer selects the D layer new method from the input /
a) Definition processing by the Lv1, 2, 3
b) Delete one of the D layer new method candidates.
[0048]
a) When performing definition processing by the Lv1, 2, 3
[0049]
○ Definition processing by the Lv1
The Lv1
[0050]
i) The Lv1 method definition unit acquires the set Lv1 method name and method selection information from the D layer
[0051]
ii) The D layer designer makes a method-necessary change from the input /
[0052]
iii) Receiving the correction result, the Lv1 method setting information stored in the method
[0053]
○ Definition processing by the Lv2
The Lv2
[0054]
i) The Lv2
[0055]
ii) The Lv2
[0056]
iii) The D layer designer selects a related table to be linked to the code table from the related table list via the input /
[0057]
iv) The search key of the selected related table is automatically set as the search key of the Lv2 method. In the example of FIG. 12, “employee table” is selected as a table to be linked to the “department” table, and a staff number, which is a key of the “employee” table, is automatically set as a search key. .
[0058]
v) In response to the selection of the related table in iii), all the column names of the code table and the selected related table are displayed in the column list.
[0059]
vi) The D layer designer selects the column to be referred to by the Lv2 method via the input /
[0060]
Subsequently, the D layer designer also inputs the Japanese name of the Lv2 method and the method description. In the example of FIG. 8, “acquire employee name” is entered as the method Japanese name, and “acquire employee name” is entered as the method description.
[0061]
vii) The
[0062]
○ Setting process by Lv3
The Lv3
[0063]
i) The Lv3 method setting unit acquires the selected child table name from the D layer
[0064]
ii) The Lv3
[0065]
iii) The D layer designer selects a parent table to be linked to the child table from the parent table list via the input /
[0066]
iv) In response to the selection of the parent table in iii), all the search keys of the child table and the selected parent table are displayed as search key candidates in the search key list. In the example of FIG. 13, the “employee table” and “education subject” table are selected as the tables to be linked to the “attendance history” table. As a result, the search key candidate is “staff number: subject code: subcode”. “Staff number” and “Course code” are displayed.
[0067]
v) In response to the selection of the parent table in iii), the column names of the child table and the selected parent table are displayed in the display item list.
[0068]
vi) The D layer designer selects, from the search key candidate list, one to be set as the search key of the Lv3 method from the search key list via the input / output device. In the example of FIG. 13, “Staff number: Subject code: Subcode” is selected as the search key.
[0069]
Subsequently, the D layer designer selects a column name to be acquired by the Lv3 method from the column candidate list. In the example of FIG. 13, “name”, “affiliation code”, “score”, “subject name” are displayed as the display item list, and “name”, “affiliation code”, “score”, “subject name” are selected. .
[0070]
Furthermore, the D layer designer also inputs the Japanese name of the Lv3 method and the method description. In the example of FIG. 13, “Acquired courses” is entered as the method Japanese name, and “Acquired courses are entered” as the method description.
[0071]
vii) The
[0072]
b) When deleting the D layer new method candidate, the D layer new method selected from the D layer new method
[0073]
(A2) When the D layer new method
[0074]
The D layer designer selects a table to be defined from the Lv1 table list displayed on the D layer
[0075]
(B) The method information stored in the method
(3) Specification generation
After completing the D layer method definition, the D layer designer confirms the contents of the Lv1 to Lv3 method information displayed on the D layer
[0076]
As described above, the D layer component design unit 4 pays attention to the connection relation between the tables based on the table information of the database, performs leveling for identifying the table candidates to be accessed, and sets objects corresponding to the levels. By providing the method extraction criteria, it is possible to extract the class of the D layer component without depending on the skill of the designer.
[0077]
Next, through the input /
[0078]
The F layer component design unit 5 performs the following.
(1) Verify whether each work is feasible by mapping to a use case scenario using the basic functions provided by the D layer component design unit 4. An example of the mapping process is shown in FIG. As shown in FIG. 40, deficient functions can be identified during D layer basic function mapping.
(2) A business-specific DB search method that cannot be supplemented only by the basic functions provided by the D layer is identified as a D layer additional function. An example of the mapping process is shown in FIG. In FIG. 41, the functions related to DB access among the functions that were insufficient at the time of FIG. 40 are extracted as the D layer new method.
(3) A process for processing a result obtained by the D layer providing function and a process in which a plurality of D layer accesses are performed are considered to be F layer method candidates and are mapped with a Japanese name. At this time, processing for replacing the D layer providing functions together with the F layer method occurs. In other words, the hierarchical structure is such that the F layer method is higher and the D layer method is lower. An example of the mapping process is shown in FIG.
(4) Processes such as input check and input / output editing that do not involve DB access are mapped to use case scenarios as P-layer processes. At the same time, the P layer screen is mapped. An example of the mapping process is shown in FIG.
(5) Finally, define which part on the use case scenario is the public method of the F layer. An example of the mapping process is shown in FIG.
F layer class is extracted.
[0079]
A flowchart of F layer class extraction in the F layer component design unit 5 is shown in FIG.
(1) Mapping information display section 54
When the F layer component design unit 5 receives a mapping information display instruction from the input /
[0080]
Depending on whether (1) the F layer component design is (A) the first time, (B) the redo after receiving change of use case scenario information from the
[0081]
(A) First F layer component design
A
[0082]
(B) Redoing D-layer component design after use case scenario change Only the changed part of the
[0083]
(C) D layer component design for the second and subsequent times
The already mapped use case scenario is read from the method mapping
[0084]
(2) Display data is created based on the read use case scenario and displayed on the input /
(2) Mapping process
(1) The mapping information display unit 54 selects a use case scenario row to be mapped and calls the
[0085]
(2) In the mapping part, (A) D layer existing method mapping process, (B) Method definition process by D layer new method definition part, (C) F layer internal method definition process by F layer internal method definition part, (D ) One of the P layer addition processes by the P layer addition unit is performed, and the method mapping information 59 is created.
[0086]
(A) D layer existing method mapping process by D layer method mapping unit 531
The D layer method mapping unit 531 operates according to the flowchart shown in FIG. FIG. 28 shows a screen example of the D layer method mapping unit.
[0087]
i) The already created D layer method information is read from the method
[0088]
ii) The D layer method information newly defined by the D layer new method definition unit 532 is read from the new
[0089]
iii) Select a D layer method to be mapped to the use case scenario from the input /
[0090]
iv) Create method mapping information 59 and output it to the
[0091]
(B) Method definition processing by D layer new method definition part
The layer D new method definition unit operates according to the flowchart shown in FIG. FIG. 29 shows a screen example of the D layer new method definition section.
[0092]
i) The already created D layer method information is read from the method
[0093]
ii) When there is a change in the Lv1 method, the Lv1
[0094]
When a new Lv2 method is defined, a code table is selected from the Lv1 table list displayed in the D layer new method definition section, and the Lv2
[0095]
When a new Lv3 method is defined, a child table is selected from the Lv1 table list displayed in the D layer new method definition section, and the Lv3
[0096]
iii) The Lv1,2,3 method information 5a newly created in ii) is stored in the new
[0097]
iv) Create method mapping information 59 and output it to the
[0098]
(C) F layer internal method definition processing by F layer internal method definition unit 533
The F layer internal method definition unit 533 operates according to the flowchart shown in FIG. FIG. 30 shows a display example of the F layer internal method definition section.
[0099]
The F layer internal method definition unit 533 i) reads the D layer method information selected on the mapping screen from the mapping screen. If the D layer method is not selected, the information that it is not selected is read. ii) On the F layer internal method definition screen, input the Japanese name of the method, the argument type, the return value type, and the method description from the input /
[0100]
a) F layer internal method that summarizes D layer methods (D layer method is selected) The method hierarchy level of the selected D layer method is increased by 1, and the contents of the method mapping information storage DB are updated.
[0101]
b) F layer internal method for business processing
Do nothing in particular.
[0102]
iv) The method information 5b created in ii) is stored in the new
v) Create method mapping information 59 and output it to the
[0103]
(D) P layer addition processing by the P
The P
The P
[0104]
a) P layer screen addition processing by the P layer screen addition unit 5341
The P layer screen adding unit 5341 operates according to the flowchart shown in FIG. A display example of the P layer screen addition unit 5341 is shown in FIG.
[0105]
i) The screen list information is read from the screen list 22 which is a product of the screen /
[0106]
ii) From the screen list displayed on the P layer screen addition screen, select a screen to be mapped to the use case scenario. In the example of FIG. 31, the “education guidance screen” is selected.
[0107]
Further, supplementary items for the screen added from the input /
[0108]
iii) Create and output method mapping information 59.
[0109]
b) P layer processing addition processing by the P layer processing addition unit 5342
The P layer processing adding unit 5342 operates according to the flowchart shown in FIG. A display example of the P layer processing addition unit 5342 is shown in FIG.
[0110]
i) From the input /
[0111]
ii) The P layer processing information 5b input in i) is stored in the new
[0112]
iii) Method mapping information 59 is created and output to the
[0113]
(3) The method mapping information 59 created in (2) is stored in the
[0114]
(4) When changing the execution order of the mapped methods, the contents of the execution order of the method mapping information 59 stored in the
[0115]
(5) Display data is created based on the method mapping information 59 stored in the
[0116]
(3) F layer public method definition
From the mapping information display unit 54, a method, a screen, and a process in which the range of the use case scenario to be defined as the F layer public method is mapped are selected, and the F layer public
[0117]
The F layer public
[0118]
i) Input the Japanese name of the method, argument type, return value type, and method description from the input / output device.
[0119]
ii) The F layer public method setting information 5b input in i) is stored in the new
[0120]
iii) Regarding the method mapping information 59 in the range corresponding to the selected use case scenario stored in the method
[0121]
iv) Display data is created based on the method mapping information 59 stored in the
(4) Specification generation
After completing the method mapping definition, the F layer designer confirms the contents of the method mapping information displayed on the method mapping information display unit 54 and instructs the specification generation unit 56 to create the F layer interface specification and functional specification. put out. Upon receipt of the F layer interface specification and the functional specification, the specification generation unit 56 reads the method definition information 5a / 5b from the new
[0122]
At this time, the data related to the D layer new method stored in the new
[0123]
The specification generation unit 54 operates according to the flowchart shown in FIG.
[0124]
As described above, the F layer component design unit 5 verifies whether each work of the use case scenario can be realized by using the interface of the D layer component obtained from the data-centric approach and the screen / form list. By displaying the verified result in combination with the use case scenario, it is possible to identify the insufficient function and extract the class of the F layer component.
[0125]
In addition, each of the D layer component design unit and the F layer component design unit has a mechanism for automatically transmitting a design end notification upon completion of the design. By this mechanism, it is possible to simplify the cooperation between the D layer designer and the F layer designer, and to avoid problems such as inconsistencies in the interface between components due to human error.
[0126]
【The invention's effect】
The following advantages can be obtained by the present invention.
1. By developing using this design procedure, application development that adopts a three-tier architecture can be performed without the developer being particularly conscious.
2. By mechanizing component design, it is possible to prevent variations in the granularity and quality of objects and methods.
3. By defining the D layer class from the DB table information in a bottom-up manner, creation of a method having a useless function can be prevented.
4). By associating the D layer interface with the use case scenario, it is possible to identify missing functions without fail.
5. By using this design procedure and tool, necessary design deliverables such as D layer interface specifications and functional specifications can be created while actually designing.
[Brief description of the drawings]
FIG. 1 System overview diagram
FIG. 2 is a basic flowchart of the D layer designer in the D layer component design unit.
FIG. 3 is a flowchart of the Lv1, 2, 3 method definition unit in the D layer component design unit.
FIG. 4 is a flowchart of the D layer interface display unit in the D layer component design unit.
FIG. 5 is a flowchart of the Lv1 method definition unit in the D layer component design unit.
FIG. 6 is a flowchart of the Lv2 method definition unit in the D layer component design unit.
FIG. 7 is a flowchart showing processing of an Lv2
FIG. 8 is a flowchart of the Lv3 method definition unit in the D layer component design unit.
FIG. 9 is a screen example of a D layer interface display unit in the D layer component design unit;
FIG. 10 is a screen example of a new D layer method definition selection screen in the D layer component design unit.
FIG. 11 is a screen example of the Lv1 method definition section in the D layer component design section.
FIG. 12 is a screen example of the Lv2 method definition unit in the D layer component design unit
FIG. 13 is a screen example of the Lv3 method definition section in the D layer component design section.
FIG. 14 is a table example stored in the method information DB in the D layer component design unit;
FIG. 15 is an F layer designer basic flowchart in the F layer component design unit;
FIG. 16 is a mapping information display unit flowchart in the F layer component design unit;
FIG. 17 is a flowchart of a specification generation unit in the F layer component design unit.
FIG. 18 is a flowchart of a mapping unit in the F layer component design unit.
FIG. 19 is a flowchart of the D layer method mapping unit in the F layer component design unit;
FIG. 20 is a flowchart of the D layer new method definition unit in the F layer component design unit.
FIG. 21 is a flowchart of the F layer internal method definition unit in the F layer component design unit.
FIG. 22 is a flowchart of the P layer addition unit in the F layer component design unit.
FIG. 23 is a flowchart of the P layer screen adding unit in the F layer component design unit.
FIG. 24 is a flowchart of the P layer processing addition unit in the F layer component design unit.
FIG. 25 is a flowchart of the F layer disclosure method definition unit in the F layer component design unit.
FIG. 26 is a screen example of the mapping information display section in the F layer component design section (initial state)
FIG. 27 is a screen example of a mapping unit in the F layer component design unit
FIG. 28 is a screen example of the D layer method mapping unit in the F layer component design unit.
FIG. 29 is a screen example of the D layer new method definition section in the F layer component design section.
FIG. 30 is a screen example of an F layer internal method definition section in the F layer component design section.
FIG. 31 is a screen example of the P layer screen adding unit in the F layer component design unit.
FIG. 32 is a screen example of the P layer processing addition unit in the F layer component design unit
FIG. 33 is a screen example of the mapping information display section in the F layer component design section (after defining the F layer disclosure method).
FIG. 34 is an example of a table stored in a new method information DB in the F layer component design unit.
FIG. 35 is a table example stored in a method mapping information DB in the F layer component design unit;
FIG. 36: List of DB tables used in “Education Application & Qualification System”
FIG. 37: Join access example with code table
FIG. 38: Join access example of a table having a parent-child relationship (search by child table key)
FIG. 39: Join access example of a table having a parent-child relationship (search by key of parent table)
FIG. 40: Flow of interface extraction of F layer component (D layer basic function mapping)
FIG. 41: F layer component interface extraction flow (D layer additional function identification)
FIG. 42: Flow of interface extraction of F layer component (F layer internal method identification)
FIG. 43: Flow of interface extraction of F layer component (Finding P layer processing + Mapping of P layer screen)
Fig. 44 Flow of F layer component interface extraction (definition of F layer public method)
[Explanation of symbols]
1 DB design department
11 Input / output devices
12 ER diagram
13 Table information
2 Screen / Form Design Department
21 I / O devices
22 Screen / Form List
3 Business Design Department
31 I / O devices
32 Use Case Scenario
4 Database Access (D layer) Component Design Department
41 I / O devices
42 Lv1,2,3 method definition part
421 Lv1 method definition part
422 Lv2 method definition part
423 Lv3 method definition part
43 D layer interface display
44 Specification Generation Department
45 Method information storage DB
46 Method definition information
5 Function (F layer) design department
51 I / O devices
52 New Creation Department
53 Mapping part
54 Mapping information display section
55 F layer public method definition part
56 Specification Generation Department
57 Method mapping information storage DB
58 New method information storage DB
59 Method mapping information
5a D layer method definition information
5b F layer method definition information
6 F layer design notification request
7 D layer new method creation request notification
Claims (3)
データベースアクセスコンポーネント設計部と業務コンポーネント設計部の2段階に分け、
前記データベースアクセスコンポーネント設計部および前記業務コンポーネント設計部とを連携させインタフェース抽出を行うことを特徴とするクラス設計方法。During the design phase of application development,
The database access component design department and the business component design department are divided into two stages.
A class design method for extracting an interface by linking the database access component design unit and the business component design unit.
データベースアクセスコンポーネント設計部では、アクセスするテーブルにレベルを設定し、アプリケーションに必要なオブジェクト候補を抽出することを特徴とするクラス設計方法In the class design method according to claim 1,
The database access component design department sets a level in the table to be accessed and extracts object candidates necessary for the application.
データベースのテーブルレベルをjoin前の全テーブル、コードテーブルに着目し、関連テーブルとコードテーブルとのjoin後に作成されるテーブルおよび子テーブルに着目し、親子関係にあるテーブルとのjoin後に作成されるテーブルに設定し、
設定されたテーブルレベルに応じてメソッド抽出基準を設けて、データベースアクセスコンポーネントのインタフェースを抽出することを特徴とするクラス設計方法In the class design method according to claim 2,
Focusing on all table and code table before join in table level of database, focusing on table and child table created after join of related table and code table, table created after join with table in parent-child relationship Set to
A class design method characterized by extracting a database access component interface by providing a method extraction criterion according to a set table level
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003183733A JP2005018505A (en) | 2003-06-27 | 2003-06-27 | Class extraction method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003183733A JP2005018505A (en) | 2003-06-27 | 2003-06-27 | Class extraction method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005018505A true JP2005018505A (en) | 2005-01-20 |
Family
ID=34183697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003183733A Pending JP2005018505A (en) | 2003-06-27 | 2003-06-27 | Class extraction method and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005018505A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532186A (en) * | 2005-03-03 | 2008-08-14 | トムソン グローバル リソーシーズ | Integrated systems, tools and methods for designing automated business process applications |
JPWO2008117510A1 (en) * | 2007-03-23 | 2010-07-15 | 俊彦 中沢 | Record of design process |
-
2003
- 2003-06-27 JP JP2003183733A patent/JP2005018505A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532186A (en) * | 2005-03-03 | 2008-08-14 | トムソン グローバル リソーシーズ | Integrated systems, tools and methods for designing automated business process applications |
JPWO2008117510A1 (en) * | 2007-03-23 | 2010-07-15 | 俊彦 中沢 | Record of design process |
JP4677487B2 (en) * | 2007-03-23 | 2011-04-27 | 俊彦 中沢 | Record of design process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7099887B2 (en) | Hierarchical environments supporting relational schemas | |
US7219104B2 (en) | Data cleansing | |
US8296311B2 (en) | Solution search for software support | |
US7634478B2 (en) | Metadata driven intelligent data navigation | |
CA2639549C (en) | Data mapping design tool | |
JP4594306B2 (en) | Self-describing business object | |
US20220215125A1 (en) | Viewing, selecting, and triggering a data pipeline to derive a collaborative dataset | |
US20090171720A1 (en) | Systems and/or methods for managing transformations in enterprise application integration and/or business processing management environments | |
US20100037127A1 (en) | Apparatuses, systems, and methods to automate a procedural task | |
JP2011503681A (en) | Method and system for analysis of systems for matching data records | |
CA2639548C (en) | Data mapping document design system | |
JP2006528801A (en) | Service management of service-oriented business framework | |
US20110246535A1 (en) | Apparatus and Method for Constructing Data Applications in an Unstructured Data Environment | |
US9922100B2 (en) | Systems and methods for facilitating the development of an application that accesses data | |
US20220269702A1 (en) | Intelligent annotation of entity-relationship data models | |
US20080066079A1 (en) | Context-Exchange Mechanism For Accumulating And Propagating Contextual Information Between Applications | |
CN108304291B (en) | Test input information retrieval apparatus and method | |
US7574329B1 (en) | Object model for decision and issue tracking | |
JP2005018505A (en) | Class extraction method and device | |
JP2006227820A (en) | Program test system and program test method | |
JPH11282666A (en) | Test specification preparing device and storage medium storing test specification preparing program | |
US11947563B1 (en) | Systems and methods for collecting and distributing digital experience information | |
US20230092628A1 (en) | Systems and methods for building products | |
JP5157551B2 (en) | Object linkage system, object linkage method and program | |
TW530228B (en) | Data item automatic generation method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060309 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090529 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090630 |