JP2005018505A - Class extraction method and device - Google Patents

Class extraction method and device Download PDF

Info

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
Application number
JP2003183733A
Other languages
Japanese (ja)
Inventor
Sadahiro Ishikawa
貞裕 石川
Etsuko Mizote
悦子 溝手
Yosuke Miyake
陽介 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003183733A priority Critical patent/JP2005018505A/en
Publication of JP2005018505A publication Critical patent/JP2005018505A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that for the development of business components, a creation unit of objects and methods, or the like is not established, and the generation method is left to a developer, which make it difficult to assure the quality thereof, causing the reduction of development efficiency. <P>SOLUTION: A design is conducted from two aspects of 'access to a database' and 'business requirement' to extract classes properly. More specifically, for an approach from the aspect of access to a database, a level is provided by focusing attention on the parental relation of tables, and an object and a method are extracted according to the level. Thereby, class extraction is performed which is conventionally dependent on designer's skills. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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 Document 1.
[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 Non-Patent Document 2.
[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 Non-Patent Document 3.
[0005]
[Non-patent document 1] "Chapter 3 Work on development process" in "Data-centric system analysis and design" (edit: IRM workshop, publisher: Ohm, supervised: Tokyo International University, Horiuchi Hajime)
[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 design end notifications 6 and 7 at the end of design, When the F layer designer refers to the D layer interface, the access to the method information DB 45 managed by the D layer component design unit 4 is performed every time when the F layer designer refers to the D layer interface. A method for reducing alignment is also described.
[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 method definition unit 42 in FIG. 1, FIG. 4 shows the processing procedure of the D layer interface display unit 43 in FIG. 1, and FIG. 5 shows the processing of the specification generation unit 44 in FIG. It is a flowchart which shows a procedure. The Lv1 method definition unit 421, the Lv2 method definition unit 422, and the Lv3 method definition unit 423 illustrated in FIG. 3 will be described in detail with reference to FIGS. The Lv1 method definition unit 421, the Lv2 method definition unit 422, and the Lv3 method definition unit 423 correspond to the Lv1, 2, 3 method definition unit 42 in FIG. 9 to 13 are examples of screens necessary for realizing the D layer interface extraction process. FIG. 14 shows a result of storing the method information 46 defined in the D layer interface display unit 4 in FIG. 1 in the method information DB 45.
[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 mapping unit 53 in FIG. FIG. 22 shows the processing procedure of the D layer method mapping unit 531, the D layer new method definition unit 532, the F layer internal method definition unit 533, and the P layer addition unit 534 in FIG. 18, respectively, and FIGS. FIG. 25 is a flowchart showing a processing procedure of the P layer screen adding unit 5341 and the P layer processing adding unit 5342, and FIG. 25 is a flowchart showing a processing procedure of the F layer public method defining unit 55 in FIG. The D layer method mapping unit 531 and the P layer screen addition unit 5341 are added to the mapping unit 53 in FIG. 1, and the D layer new method definition unit 532, the F layer internal method definition unit 533, and the P layer process addition unit 5342 are newly created in FIG. It corresponds to each part 52. 26 to 33 are examples of screens necessary for realizing the F layer interface extraction processing. FIG. 34 shows a result of storing the new method information 5a / 5b defined in the new creation unit 52 and the F layer public method definition unit 55 in FIG. 1 in the new method information DB 58. 35 is a result of storing the method mapping information 59 defined in the mapping unit 53 in FIG. 1 in the method mapping information DB 57.
[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 DB design unit 1, a screen / form design unit 2, a business design unit 3, a D layer component design unit 4, and an F layer component design unit 5. Work is done in parallel. These design units are physically connected by a network. In the D layer component design unit 4, the ER diagram 12 that is a product of the DB design unit 1 is input, a D layer interface is defined, and the result is output as a D layer interface specification. The D layer component design unit 4 sends an F layer design notification request 6 to the F layer component design unit 5 when the generation of the D layer interface specification is completed. The F layer component design unit 5 receives the F layer design notification request 6, receives the method information DB 45 that is a product of the D layer component design unit 4, the screen / form list 22 that is the product of the screen / form design unit 2, and the business The use case scenario 32, which is a product of the design unit 3, is input to define a D layer additional interface and an F layer interface, and the results are output as an F layer interface specification and a functional specification. Further, the F layer component design unit 5 sends a D layer new method creation request notification 7 to the D layer component design unit 4 when the generation of the F layer interface specification is completed. The D layer component design unit 4 performs design work for a method that newly becomes a D layer interface based on the D layer new method creation request notification 7. That is, the D layer component design unit 4 and the F layer component design unit 5 perform design work while exchanging design request notifications. The DB design unit 1, the screen / form design unit 2, the business design unit 3, the D layer component design unit 4, and the F layer component design unit 5 each include input / output devices 11, 21, 31, 41, 51.
[0021]
The D layer component design unit 4 includes an input / output device 41, an Lv1,2,3 method definition unit 42, a D layer interface display unit 43, a specification generation unit 44, and a method information DB 45.
[0022]
The D layer interface display unit 43 is a main processing unit of the D layer component design unit 4, and the table information 13 from the ER diagram 12, which is a product of the DB design unit 1, the D layer interface from the method information DB 45, and the D layer The method information to be additionally created is read from the new method creation request notification 7 and a list of D layer interfaces is displayed. The table information 13 includes a table name, a table attribute, a search key, and a column name.
[0023]
The method information DB 45 stores the method information 46. The method information 46 is a method number that uniquely identifies a method, a table level, a table accessed by the method, a table attribute, a joined table name for the table, a key for retrieving the table, and a result of retrieving the table to the method user. It consists of the column name, Japanese method name, and method description to be displayed when returning.
[0024]
The Lv1, 2, 3 method definition unit 42 uses the table information 13 accessed from the ER diagram that is a product of the DB design unit 1 and the method information stored in the method information DB 45 via the input / output device 41, Method information 46 constituting the D layer interface is defined.
[0025]
The specification generation unit 44 generates a D layer interface specification using the method definition information 46 stored in the method information DB 45. The specification generation unit 44 delivers the F layer design request notification 6 to the F layer component design unit 5 when the D layer interface specification creation is completed.
[0026]
The F layer component design unit 5 includes an input / output device 51, a new creation unit 52, a mapping unit 53, a mapping information display unit 54, an F layer public method definition unit 55, a specification generation unit 56, a method mapping information DB 57, and new method information. It consists of DB58.
[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 mapping information DB 57.
[0028]
The method mapping information DB 57 stores method mapping information 59. The method mapping information 59 is a number that uniquely identifies a work unit of a use case scenario, a use case scenario corresponding to the number, a hierarchy level that represents a hierarchical structure of method calls, and a method in a hierarchy in one operation of the use case scenario. Execution order, layer to which the mapped method or process belongs (D / F / P), method number identifying the method, Japanese method name or process name, corresponding F layer public method number, F layer public Japanese method Consists of names.
[0029]
The mapping unit 53 uses the screen list 22 which is the product of the screen / form design unit 2 and the product of the D layer component design unit 4 in the use case scenario stored in the method mapping information DB 57 via the input / output device 51. The existing D layer method definition information stored in a certain method information DB 45 is associated with the method definition information stored in the new method information DB 58 to define the method mapping information 59 and store it in the method mapping information DB 57.
[0030]
The new creation unit 52 uses the table information 13 stored in the ER diagram 12 which is a product of the DB1 design unit 1 via the input / output device 51 to generate the D layer new method information 5a and the F layer internal method information 5b. Define. The D layer new method information 5a includes a method number for uniquely identifying a method, a layer (D / F / P) to which the method or process belongs, a method level, a table accessed by the method, table attributes, and a table joined to the table. Name, attribute of join table, key for searching table, item to be displayed when table search result is returned to method user, Japanese method name or process name, method description or process description. The F layer internal method information 5b includes a method number for uniquely identifying a method, a layer (D / F / P) to which the method or process belongs, a Japanese method name or process name, a method description or process description, a method argument Type and return type of method.
[0031]
The F layer public method definition unit 55 defines the public method information 5 b having the same format as the F layer internal method information 5 b via the input / output device 51.
[0032]
The specification generation unit 56 uses the method mapping information 59 stored in the method mapping information DB 57 to generate a functional specification, and uses the F layer method information 5b stored in the new method information DB 58 to generate an F layer interface specification. Is generated. Also, the specification generation unit 57 sends the information of the new D layer method stored in the new method information DB 58 to the D layer component design unit 4 when the F layer interface specification and functional specification are completed. Delivered as a creation request notification 7.
[0033]
First, the D layer component when the D layer designer gives instructions via the input / output device 41 to (1) D layer interface display, (2) D layer method definition, and (3) D layer interface specification creation. The basic operation of the design unit 4 will be described.
[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 / output device 41, the D layer interface display unit 43 performs the following processing. The D layer interface display unit 43 operates according to the flowchart shown in FIG.
[0043]
In the D layer interface display unit 43, (A) D layer component design is (1) first time, or (2) re-executed after receiving table information change from the DB design unit 1, (3) F layer component design unit The following table information reading process is performed depending on whether the D layer new method creation request notification 6 from 5 is received.
[0044]
(1) First D layer component design:
i) Read the table information 13 from the ER diagram 12 which is a product of the DB design unit 1
ii) Based on the table information 13 read in (1), (a) basic method and (e) free search which are Lv1 methods are automatically set.
iii) The Lv1 method setting information automatically set in i) is stored in the method information DB 45. Here, the content stored in the method information DB is the content of the method information storage table shown in FIG.
[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 / output device 41, and reads only the changed table information.
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 method information DB 45.
[0046]
(3) D layer component design after receiving D layer new method creation request notification 7
i) Read the stored D layer interface from the method information storage DB 45
(B) Display data is created from the method information stored in the method information DB 45 and displayed on the output device 41. FIG. 9 shows a display example. The Lv1 method definition unit 421 in the D layer component design creates all default Lv1 methods.
(2) D layer method definition at each level
The movement is different between the case where the layer D new method creation request notification 7 exists (A1) and the case where it does not exist (A2).
[0047]
(A1) When the D layer new method creation request notification 7 exists,
(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 / output device 41,
a) Definition processing by the Lv1, 2, 3 method definition unit 42
b) Delete one of the D layer new method candidates.
[0048]
a) When performing definition processing by the Lv1, 2, 3 method definition unit 42, the Lv1, 2, 3 method definition unit performs the following processing. The Lv1, 2, 3 method definition unit 42 operates according to the flowchart shown in FIG.
[0049]
○ Definition processing by the Lv1 method definition unit 421
The Lv1 method definition unit 421 operates according to the flowchart shown in FIG.
[0050]
i) The Lv1 method definition unit acquires the set Lv1 method name and method selection information from the D layer interface display unit 43, creates display data, and displays the data on the output device 41. A screen example of the Lv1 method definition unit is shown in FIG.
[0051]
ii) The D layer designer makes a method-necessary change from the input / output device 41 to the Lv1 method selection information displayed on the input / output device 41.
[0052]
iii) Receiving the correction result, the Lv1 method setting information stored in the method information storage DB 45 is changed.
[0053]
○ Definition processing by the Lv2 method definition unit 422
The Lv2 method definition unit 422 operates according to the flowchart shown in FIG. FIG. 12 shows a screen display example of the Lv2 method definition unit.
[0054]
i) The Lv2 method definition unit 422 acquires the selected code table name from the D layer interface display unit 43. In the example of FIG. 12, the “department” table is selected as the code table.
[0055]
ii) The Lv2 method definition unit 422 reads the related table information from the ER diagram 12 as a product of the DB design unit 1 using the code table name as a key, creates display data, and displays it on the input / output device 41. Here, the table information includes a table attribute, a related table list, a search key for each related table, and a column name for each related table. In the example of FIG. 12, an “employee” table is displayed as a candidate table related to the “department” table.
[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 / output device 41.
[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 / output device 41. In the example of FIG. 8, “name”, “affiliation code”, “score”, and “subject name” are displayed as the column list, and “name” is selected.
[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 method information 46 defined by the Lv2 method definition unit 422 is stored in the method information DB 45.
[0062]
○ Setting process by Lv3 method setting unit 423
The Lv3 method setting unit 423 operates according to the flowchart shown in FIG. A screen display example of the Lv3 method definition unit 423 is shown in FIG.
[0063]
i) The Lv3 method setting unit acquires the selected child table name from the D layer interface display unit 43. In the example of FIG. 13, the “attendance history” table is selected as the child table.
[0064]
ii) The Lv3 method definition unit 423 reads the parent table information related to the child table from the ER diagram 12 which is a product of the DB design unit 1, using the child table name as a key, creates display data, and inputs / outputs 41 To display. Here, the table information is a parent table list, each parent table search key, and a column name of each parent table. In the example of FIG. 13, “employee table” and “education subject table” are displayed as parent tables of the “attendance history” table.
[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 / output device 41.
[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 method information 46 defined by the Lv3 method definition unit 423 is stored in the method information DB 45.
[0072]
b) When deleting the D layer new method candidate, the D layer new method selected from the D layer new method creation request notification 7 is selected.
[0073]
(A2) When the D layer new method creation request notification 7 does not exist, definition processing by the Lv1, 2, 3 method definition unit 42 is performed.
[0074]
The D layer designer selects a table to be defined from the Lv1 table list displayed on the D layer interface display unit 43 and calls the method definition unit 42 at the level to be created. When a new Lv2 method is defined, a code table is selected from the Lv1 table list displayed on the D layer interface display unit 43 and the Lv2 method definition unit 422 is called. When a new Lv3 method is defined, a table that is “child” or “parent or child” is selected from the Lv1 table list displayed in the D layer interface display unit 43 and the Lv3 method definition unit 423 is called.
[0075]
(B) The method information stored in the method information storage DB 45 is acquired, display data is created, and displayed on the output device 41. A display example is shown in FIG.
(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 interface display unit 43 and instructs the specification generation unit 44 to create the D layer interface specification. put out. Upon receiving the instruction to create the D layer interface specification, the specification generation unit 44 reads the method definition information from the method information DB 45 and generates the D layer interface specification. In addition, after completing the creation of the D layer interface specification, the specification creation unit 44 creates the F layer design request notification 6 and sends it to the component design unit 5. The specification generation unit 44 operates according to the flowchart shown in FIG.
[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 / output device 51, from the F layer designer, (1) display mapping information, (2) method mapping process (method definition (D layer addition, inside F layer, P layer)), (3) F layer Public Method Definition (4) The basic operation of the F layer component design unit 5 when an instruction to create an F layer interface specification and a functional specification is issued will be described.
[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 / output device 51, the mapping information display unit display unit 54 performs the following processing. The mapping information display unit 54 operates according to the flowchart shown in FIG.
[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 business design unit 2, or (C) the second time or later in the mapping information display unit 54 The use case scenario reading process is performed below.
[0081]
(A) First F layer component design
A use case scenario 32 that is a product of the business design unit 3 is read. A screen example of the mapping information display unit is shown in FIG. In the example of FIG. 26, the use case scenario “Application for education attendance (outside recruitment period, date designation)” is displayed.
[0082]
(B) Redoing D-layer component design after use case scenario change Only the changed part of the use case scenario 32, which is a product of the business design unit 3, is read.
[0083]
(C) D layer component design for the second and subsequent times
The already mapped use case scenario is read from the method mapping information storage DB 57.
[0084]
(2) Display data is created based on the read use case scenario and displayed on the input / output device 51.
(2) Mapping process
(1) The mapping information display unit 54 selects a use case scenario row to be mapped and calls the mapping unit 53. The mapping unit 53 operates according to the flowchart shown in FIG. A display example of the mapping unit is shown in FIG. In the example of FIG. 27, the line “6.3 Check the check items in the subject display line and press the application button when applying” is selected.
[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 information storage DB 45 of the D layer component design unit 4.
[0088]
ii) The D layer method information newly defined by the D layer new method definition unit 532 is read from the new method information DB 58.
[0089]
iii) Select a D layer method to be mapped to the use case scenario from the input / output device 51.
[0090]
iv) Create method mapping information 59 and output it to the mapping unit 53. In the example of FIG. 27, “acquisition of education subject application criteria” and “acquisition of applicant's education history information” methods are mapped to use case scenarios.
[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 information storage DB 45 of the D layer component design unit 4.
[0093]
ii) When there is a change in the Lv1 method, the Lv1 method definition unit 421 is called. The Lv1 method definition unit 421 performs the same operation as the Lv1 method definition unit of the D layer component design unit 4.
[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 method definition section 422 is called. The Lv2 method definition unit 422 uses the Lv2 method definition unit of the D layer component design unit 4.
[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 method definition section 423 is called. The Lv3 method definition unit 423 performs the same operation as the Lv3 method definition unit of the D layer component design unit 4.
[0096]
iii) The Lv1,2,3 method information 5a newly created in ii) is stored in the new method information DB 58. Here, the content stored in the new method information DB 58 is the content of the new method information storage table shown in FIG.
[0097]
iv) Create method mapping information 59 and output it to the mapping unit 53.
[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 / output device 51. In the example of FIG. 30, “Education application impossible determination” is used for the Japanese name of the method, “String” is used for the argument type, “boolean” is the return type, and “Education application is not determined” is described for the method. You are typing. iii) Creation of F layer internal methods includes a) collecting D layer methods, b) performing business processing, and determining which one to create depends on whether the D layer method is selected or not Then, each processing is performed.
[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 method information DB 58.
v) Create method mapping information 59 and output it to the mapping unit 53.
[0103]
(D) P layer addition processing by the P layer addition unit 534
The P layer adding unit 534 operates according to the flowchart shown in FIG.
The P layer addition unit 534 selects whether to map the P layer screen or add the P layer processing to the use case scenario, and depending on the selection, the P layer screen addition unit 5341 and the P layer processing addition unit 5342 Call.
[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 / form design unit 2. In the example of FIG. 31, an “application acceptance screen” and an “education guidance screen” are displayed.
[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 / output device 51 are input. In the example of FIG. 31, “output a message notifying that the required education subject is full” is 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 / output device 51, input the name of the process to be performed in the P layer and the description of the process. In the example of FIG. 32, “Check if it is within the holding period” is input as the process name, and “Check whether it is within the education holding period” is input to the description of the process.
[0111]
ii) The P layer processing information 5b input in i) is stored in the new method information DB 58.
[0112]
iii) Method mapping information 59 is created and output to the mapping unit 53.
[0113]
(3) The method mapping information 59 created in (2) is stored in the method mapping DB 57. Here, the content stored in the method mapping DB 57 is the content of the method mapping information storage table shown in FIG.
[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 method mapping DB 57 are changed.
[0115]
(5) Display data is created based on the method mapping information 59 stored in the method mapping DB 57 and displayed on the output device 51.
[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 method definition unit 55 is called. The F layer public method definition unit operates according to the flowchart shown in FIG.
[0117]
The F layer public method definition unit 55 uses the same screen as the (3) F layer internal method definition unit 533 of (2).
[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 method information DB 58.
[0120]
iii) Regarding the method mapping information 59 in the range corresponding to the selected use case scenario stored in the method mapping information DB 57, the contents of the F layer public method identifier and the F layer public method name are updated.
[0121]
iv) Display data is created based on the method mapping information 59 stored in the method mapping DB 57 and displayed on the output device 51. A display example is shown in FIG.
(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 method information DB 58 and the method mapping information 59 from the method mapping information DB 57. Generate specifications and functional specifications. Further, the specification generation unit 56 generates a D layer new method creation request notification 7 after the specification is completed, and sends it to the D layer component design unit 4.
[0122]
At this time, the data related to the D layer new method stored in the new method information DB 58 is deleted.
[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 method definition unit 422
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.
請求項1で記載のクラス設計方法において、
データベースアクセスコンポーネント設計部では、アクセスするテーブルにレベルを設定し、アプリケーションに必要なオブジェクト候補を抽出することを特徴とするクラス設計方法
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.
請求項2に記載のクラス設計方法において、
データベースのテーブルレベルを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
JP2003183733A 2003-06-27 2003-06-27 Class extraction method and device Pending JP2005018505A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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