JP4813906B2 - 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム - Google Patents

画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム Download PDF

Info

Publication number
JP4813906B2
JP4813906B2 JP2006009649A JP2006009649A JP4813906B2 JP 4813906 B2 JP4813906 B2 JP 4813906B2 JP 2006009649 A JP2006009649 A JP 2006009649A JP 2006009649 A JP2006009649 A JP 2006009649A JP 4813906 B2 JP4813906 B2 JP 4813906B2
Authority
JP
Japan
Prior art keywords
program
screen
screen pattern
parts
information
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.)
Expired - Fee Related
Application number
JP2006009649A
Other languages
English (en)
Other versions
JP2007193482A (ja
Inventor
重範 安部
雄一 遠藤
一太郎 茂木
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.)
Fujitsu FIP Corp
Original Assignee
Fujitsu FIP Corp
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 Fujitsu FIP Corp filed Critical Fujitsu FIP Corp
Priority to JP2006009649A priority Critical patent/JP4813906B2/ja
Publication of JP2007193482A publication Critical patent/JP2007193482A/ja
Application granted granted Critical
Publication of JP4813906B2 publication Critical patent/JP4813906B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類する画面パターン分類装置及びその方法と、その画面パターン分類装置の実現のために用いられる画面パターン分類プログラムとに関する。
現在、オープンシステムを構築する中で、プログラム開発は様々な開発言語・開発環境が選択可能であることから、開発のノウハウの再利用がきかず生産性向上・品質確保が困難である。特に、中・大規模システムでは、ベンダー企業とその関連会社の散乱したノウハウによって、標準化のされていないプログラム開発が行われることで、生産性向上・品質確保が図りずらい状況にある。これから、そのような問題を解決するための技術の構築が叫ばれている。
プログラムを開発する場合、ユーザがシステムの基本仕様を作成すると、プログラムの開発メーカは、先ずは、それに基づいてユーザインタフェース仕様書を作成する。続いて、その作成したユーザインタフェース仕様書に基づいて画面をデザインし、それに基づいてユーザと打ち合わせることでシステムの詳細を決定して、システムの表示する画面を最終的に決定する。
そして、プログラムの開発メーカは、このようにしてシステムの表示する画面が決まると、その画面を表示することになる開発対象のプログラムが決められたことになるので、その開発するプログラムを幾つか分割して、それぞれの開発するプログラム部分に対して、プログラム開発のリーダーが適当なプログラマや委託会社(プログラム開発の委託会社)を割り当てていくことでプログラムの開発の入ることになる。
このとき、プログラム開発のリーダーは、プログラマや委託会社がこれまでに経験したプログラム開発から、どのようなプログラムを開発することを得意とするのかということを把握して、それに基づいて、どのプログラマや委託会社にどのプログラム部分を担当させるのかを決めるようにしている。
以下に説明するように、本発明は、このような従来技術に従っていたのではプログラム開発の生産性向上・品質確保が困難であるという事情に鑑みて、ユーザインタフェース仕様書などに基づいてデザインされた複数の画面を処理対象として、それらの画面を複数のグループに分類するという技術を提供することにより、このような従来技術の問題を解決する技術の提供を図るものである。
これまでのところ、複数の画面を複数のグループに分類するという先行技術については開示されていないが、下記の非特許文献1,2には、ソースプログラムの類似度を測定するという発明が開示されている。
「ソフトウェアパターン研究の現在と未来」〔平成17年11月15日検索〕、インターネット<URL:http://www.fuka.info.waseda.ac.jp/~washi/other/washi_sigse141.pdf> 「ソフトウェアシステムの類似度とその計測ツールSMMT」〔平成17年11月15日検索〕、インターネット<URL:http://sel.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/368/368.pdf >
上述したように、プログラムを開発する場合、システムの表示する画面が決まることで、その画面を表示することになる開発対象のプログラムが決まると、その開発するプログラムを幾つかに分割して、それぞれの開発するプログラム部分に対して、適当なプログラマや委託会社を割り当てていくことでプログラムの開発に入ることになる。
このときに、従来技術では、プログラム開発のリーダーの経験と勘によりプログラマや委託会社の割り当てが行われていた。
すなわち、プログラム開発のリーダーは、プログラマや委託会社がこれまでに経験したプログラム開発から、どのようなプログラムを開発することを得意とするのかということを把握して、それに基づいて、どのプログラマや委託会社にどのプログラム部分を担当させるのかを決めるようにしていたのである。
しかしながら、このような従来技術に従っていると、プログラム開発のリーダーのあいまいな判断によりプログラマや委託会社の割り当てが行われることになることから、必ずしも最適なプログラマや委託会社の割り当てが行われるとは限らないという問題がある。
実際には、その開発するプログラム部分については、別のプログラマや委託会社の方が経験が深いことで、より品質の良いプログラムをより短い期間に開発できるものの、そのプログラマや委託会社ではないプログラマや委託会社に開発が割り当てられることにより、そのようなことを実現できないという問題があるのである。
しかも、従来技術では、開発するプログラム部分について、そのプログラム部分のひな型となるプログラムをプログラマや委託会社に提供する手段を有していない。
これから、従来技術では、プログラマや委託会社は、自分に割り当てられたプログラム部分を開発するときに、何もない状態からそのプログラム部分を開発しなければならないという問題もある。
このようなことから、従来技術に従っていると、プログラム開発の生産性向上・品質確保が困難であるという問題がある。
本発明はかかる事情に鑑みてなされたものであって、プログラム開発の生産性向上・品質確保を実現することを可能にする新たな技術の提供を目的とする。
〔1〕本発明の背景
この目的を達成するために、本発明は、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類するという画面パターン分類技術を実現する。
画面パターンはプログラムが表示するものであり、これから、画面パターンをみれば、その画面パターンを表示するプログラムがどのようなプログラム部品を使っているのかが特定可能となる。
このとき特定可能となるプログラム部品には、関数的な処理を行うものもあれば、一覧表示のような関数的な処理を伴わないものもある。また、プログラムがユーザインタフェース層(ユーザとのインタフェース処理を司る部分)、ビジネスロジック層(具体的な業務処理を司る部分)、データアクセスコントロール層(マスタのデータアクセス処理を司る部分)というような階層構造を持つ場合に、このとき特定可能となるプログラム部品には、ユーザインタフェース層に属するものもあるし、ビジネスロジック層に属するものもあるし、データアクセスコントロール層に属するものもあるし、複数の層にまたがって存在するものもある。
いずれにしろ、画面パターンをみれば、その画面パターンを表示するプログラムがどのようなプログラム部品を使っているのかが特定可能である。
一方、プログラマや委託会社がこれまでに携わったプログラム開発から、そのプログラマや委託会社はこのプログラム部品を用いるプログラムの開発には精通しているとか、このプログラム部品を用いるプログラムの開発には携わったことがないというような情報をデータベース化することが可能である。
これから、画面デザインされた複数の画面パターンを複数のグループに分類するという画面パターン分類技術が実現されれば、そのグループに属する画面パターンを表示するプログラム部分がどのようなプログラム部品を持つのかということが分かることになり、これから、そのプログラム部分を担当するプログラマや委託会社として誰が適切であるのかということを自動的に判断することができるようになる。
また、画面デザインされた複数の画面パターンを複数のグループに分類するという画面パターン分類技術が実現されれば、そのグループに属する画面パターンの中から代表となる画面パターンを選択して、その代表の画面パターンを表示するプログラム部分がどのようなプログラム部品を持つのかということが分かることで、そのグループについてのひな型となるプログラムを作成してプログラマや委託会社に提供することができるようになる。
このように、画面デザインされた複数の画面パターンを複数のグループに分類するという画面パターン分類技術が実現されれば、プログラム開発の生産性向上・品質確保を実現することができるようになる。
そこで、本発明は、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類するという画面パターン分類技術の実現を図ったのである。
〔2〕本発明の構成
次に、本発明の画面パターン分類装置の構成について説明する。
本発明の画面パターン分類装置は、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類することを実現するために、(イ)処理対象の各画面パターンについて、その画面パターンから特定可能となるプログラム部品についての情報を取得する取得手段と、(ロ)取得手段の取得したプログラム部品情報に従って処理対象の画面パターン間の距離を測定し、それに基づいて処理対象の画面パターンを複数のグループに分類する分類手段と、(ハ)分類手段の分類した各グループについて、そのグループを代表する画面パターンを決定する決定手段とを備えるように構成する。
この構成を採るときにあって、分類手段の分類した各グループについてのひな型プログラムの提供を可能にすべく、(ニ)取得手段の取得対象となるプログラム部品のコード情報を記憶する記憶手段と、(ホ)記憶手段から決定手段の決定した画面パターンの持つプログラム部品のコード情報を取得して、それらを組み合わせることで、分類手段の分類した各グループについてのひな型プログラムを作成する作成手段とを備えることがある。
そして、この構成を採るときにあって、分類手段の分類した各グループについてのひな型プログラムの提供を可能にすべく、(へ)複数の既存プログラムとそれが持つプログラム部品の情報とを記憶する記憶手段と、(ト)決定手段の決定した画面パターンの持つプログラム部品と、記憶手段に記憶される各既存プログラムの持つプログラム部品との距離を測定して、決定手段の決定した画面パターンを表示するプログラムに最も近い既存プログラムを特定することで、分類手段の分類した各グループについてのひな型プログラムを決定する決定手段とを備えることがある。
ここで、以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてCPUなどの制御手段上で動作することにより本発明を実現することになる。
このように構成される本発明の画面パターン分類装置では、処理対象の各画面パターンについて、その画面パターンから特定可能となるプログラム部品についての情報(例えばそのプログラム部品の有無情報)を取得すると、例えばクラスター分析の手法を使い、取得したプログラム部品情報に従って処理対象の画面パターン間の距離を測定し、それに基づいて処理対象の画面パターンを複数のグループに分類する。そして、その分類した各グループについて、そのグループを代表する画面パターンを決定する。
このようにして、本発明の画面パターン分類装置によれば、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類することができるようになるとともに、分類した各グループについて、そのグループを代表する画面パターンを決定することができるようになる。
本発明によれば、画面デザインされた複数の画面パターンを処理対象として、それらの画面パターンを複数のグループに分類することができるようになる。
これから、各グループに属する画面パターンを表示するプログラム部分がどのようなプログラム部品を持つのかということが分かることになり、これにより、そのプログラム部分を担当するプログラマや委託会社として誰が適切であるのかということを自動的に判断することができるようになる。
そして、本発明によれば、分類した各グループについて、そのグループを代表する画面パターンを決定することができるようになる。
これから、各グループを代表する画面パターンにより、そのグループに属する画面パターンを表示するプログラム部分がどのようなプログラム部品を持つのかということが分かることになり、これにより、そのグループについてのひな型となるプログラムを作成してプログラマや委託会社に提供することができるようになる。
このようにして、本発明によれば、プログラム開発の生産性向上・品質確保を実現することができるようになる。
以下、実施の形態に従って本発明を詳細に説明する。
なお、以下の説明では、説明の便宜上、開発するプログラム部分を担当するプログラマを誰にするのかを決定するという支援処理を行うことで説明するが、このプログラマの決定についてはプログラム開発の委託会社についても含める形で行うことが可能である。
図1に、本発明を具備するプログラム開発支援装置1の装置構成の一例を図示する。ここで、図中に示す2は、本発明を具備するプログラム開発支援装置1の備える入出力端末であり、ユーザ(プログラム開発の管理者やプログラマなど)との対話手段として用いられるものである。
本発明を具備するプログラム開発支援装置1は、ユーザに対してプログラム開発を支援する情報を提供する処理を行うものであって、この支援処理を実現するために、図1に示すように、画面デザイン作成部10と、画面パターン情報記憶部11と、部品一覧記憶部12と、画面部品表作成部13と、画面部品表記憶部14と、画面分類部15と、画面分類情報記憶部16と、プログラマ情報記憶部17と、プログラマ割当部18と、プログラム部品コード記憶部19と、ひな型プログラム作成部20と、ひな型プログラム記憶部21と、支援情報提供部22とを備える。
この画面デザイン作成部10は、開発するプログラムの表示する画面のデザインを作成するために用意されるものであり、入出力端末2を介してユーザと対話することで、開発するプログラムの表示する画面のパターンを作成して、その作成した画面パターン情報を画面パターン情報記憶部11に登録する処理を行う。
すなわち、プログラム開発を行う場合には、具体的なプログラムのコーディングに入る前に、ユーザインタフェース仕様書に基づいて、その開発するプログラムが表示する画面のパターンを作成することになるので、画面デザイン作成部10は、その作成処理を行うのである。
画面パターン情報記憶部11は、画面デザイン作成部10の作成した画面パターン情報を記憶する。
部品一覧記憶部12は、例えば、開発するプログラムの処理する業務毎に、その業務で使用するプログラム部品としてどのようなものがあるのかということを示す情報を記憶する。
例えば、図2に示すように、ある業務“AA”について、(1)ユーザとのインタフェース処理を司るユーザインタフェース層に属するプログラム部品として、文字数チェックのプログラム部品、日付チェックのプログラム部品、電話番号チェックのプログラム部品、入力チェックのプログラム部品、全角半角チェックのプログラム部品、数量チェックのプログラム部品、ラジオボタンチェックのプログラム部品、遷移先画面状態変更のプログラム部品、戻る処理のプログラム部品、未入力チェックのプログラム部品、処理モード変更のプログラム部品、新規追加処理のプログラム部品というようなプログラム部品があり、(2)具体的な業務処理を司るビジネスロジック層のプログラム部品として、DBアクセスエラーチェックのプログラム部品、実行ボタン処理のプログラム部品というようなプログラム部品があり、(3)マスタ(データベースやWebサイトなど)のデータアクセス処理を司るデータアクセスコントロール層のプログラム部品として、ツリービューコントロールのプログラム部品、検索結果件数表示のプログラム部品、申込テーブル更新のプログラム部品、弁護士テーブル更新のプログラム部品、申込テーブル削除のプログラム部品、弁護士テーブル削除のプログラム部品、画面遷移のプログラム部品、申込テーブル検索のプログラム部品というようなプログラム部品があるということを記憶するのである。
本発明を具備するプログラム開発支援装置1は、後述するように、開発するプログラムのこのプログラム部分については、このプログラマがこれまでのプログラム開発の経験から適しているという情報を提供する処理を行うものであることから、どのようなものをプログラム部品として定義するのかということについては、例えば、プログラマがこれまでのプログラム開発で経験したことのある処理や機能を特定できるものという観点から定義することになる。
これから、プログラム部品の粒度を揃える必要もないし、プログラム部品が具体的な処理ではなくて一般的な処理を示していてもよい。また、画面パターン上に見えることで画面パターンから直接特定されるようなプログラム部品ばかりでなくて、画面パターン上に配置されるボタンなどの組み合わせから特定されるようなプログラム部品についても含めるようにする。
例えば、健康保険番号を入力して、その患者の受診履歴の一覧を表示するというような粒度の大きなプログラム部品を定義するようにしてもよいし、消費税計算とか利息計算というような粒度の小さなプログラム部品を定義するようにしてもよい。
また、グリッド表示のプログラム部品やタブ表示のプログラム部品というような一般的な処理を示すようなプログラム部品を定義するようにしてもよい。
また、画面パターン上に見えるユーザインタフェース層に属するプログラム部品ばかりでなくて、ビジネスロジック層やデータアクセスコントロール層やそれらの層にまたがるプログラム部品についても含める形で定義することで、プログラム部品を網羅するようにする。
なお、部品一覧記憶部12に記憶される部品一覧情報については、予め定義しておくのではなくて、画面デザイン作成部10により画面パターン情報が作成された段階で、それらの作成された画面パターンから抽出して、部品一覧記憶部12に登録するようにしてもよい。
画面部品表作成部13は、部品一覧記憶部12から、開発するプログラムの処理する業務の持つプログラム部品の一覧を取得して、画面パターン情報記憶部11に記憶される各画面パターンについて、その画面パターンがそれらのプログラム部品のどれを持ち、それらのプログラム部品のどれを持たないのかいうことを示す情報を作成して、それを画面部品表記憶部14に登録する処理を行う。
画面部品表記憶部14は、画面部品表作成部13の作成した画面部品表情報を記憶する。
例えば、開発するプログラムについて画面デザイン作成部10により11枚の画面パターンが作成されている場合には、図3に示すように、それらの各画面パターンがどのようなプログラム部品を持ち、どのようなプログラム部品を持たないのかいうことを示す画面部品表情報を記憶するのである。
図3に示す例では、画面部品表作成部13が図2に示す22個のプログラム部品の一覧を判断対象とすることを想定しており、これに応じて、各画面パターン1〜11が、
・画面パターン1:(8)/(12)/(21)/(22)のプログラム部品を持つ
・画面パターン2:(9)/(11)/(19)のプログラム部品を持つ
・画面パターン3:(8)/(12)/(21)/(22)のプログラム部品を持つ
・画面パターン4:(9)/(11)のプログラム部品を持つ
・画面パターン5:(1)/(2)/(6)/(8)/(10)/(12)/(14)/
(21)/(22)のプログラム部品を持つ
・画面パターン6:(1)/(2)/(6)/(9)/(14)/(15)のプログラム部 品を持つ
・画面パターン7:(1)/(2)/(6)/(8)/(10)/(12)/(14)/
(21)/(22)のプログラム部品を持つ
・画面パターン8:(9)/(15)のプログラム部品を持つ
・画面パターン9:(1)/(2)/(5)/(6)/(10)/(13)/(14)/
(16)/(22)のプログラム部品を持つ
・画面パターン10:(4)のプログラム部品を持つ
・画面パターン11:(1)/(2)/(3)/(6)/(7)/(9)/(10)/
(11)/(18)/(20)のプログラム部品を持つ
ということを示す情報を記憶する例を示してある。
ここで、この図3に示す例では、画面部品表記憶部14は、そのプログラム部品をいくつ持つのかという画面部品表情報ではなくて、そのプログラム部品を持つのか否かという画面部品表情報を記憶する例を示してある。
本発明を具備するプログラム開発支援装置1は、後述するように、開発するプログラムのこのプログラム部分については、このプログラマがこれまでのプログラム開発の経験から適しているという情報を提供する処理を行うものであることから、画面パターンがそのプログラム部品をいくつ持つのかということについてはそれ程意味のある情報ではない。プログラマがそのプログラム部品を使った経験があるのか否かという情報が意味を持つことから、画面パターンがそのプログラム部品を持つのか否かという情報の方が意味を持つのである。しかし、画面部品表記憶部14は、画面パターンがそのプログラム部品をいくつ持つのかという情報を記憶するようにしてもよい。
画面分類部15は、画面部品表記憶部14に記憶される画面部品表情報を使い、クラスター分析の手法に従って、画面デザイン作成部10により作成された画面パターンを複数のグループに分類して、その分類情報を画面分類情報記憶部16に登録するとともに、各グループを代表する画面パターンを決定して、その決定情報を画面分類情報記憶部16に登録する処理を行う。
画面分類情報記憶部16は、画面分類部15により分類された画面パターンの分類情報と、画面分類部15により決定された各グループを代表する画面パターンの情報とを記憶する。
例えば、画面デザイン作成部10により11枚の画面パターンが作成されているときにあって、画面部品表作成部13により図3に示すような画面部品表情報が作成された場合に、画面分類部15が、画面パターン1,3,5,7を1つのグループとして分類して、その中の画面パターン1を代表の画面パターンとして決定し、画面パターン2,4,6,8を1つのグループとして分類して、その中の画面パターン4を代表の画面パターンとして決定し、画面パターン9,10,11を1つのグループとして分類して、その中の画面パターン9を代表の画面パターンとして決定するときには、図4に示すように、そのことについて記載する情報を記憶するのである。
プログラマ情報記憶部17は、プログラム開発に携わるプログラマ毎に、どのようなプログラム部品を用いるプログラムの開発に携わったのかということを示す情報を記憶する。
例えば、図5に示すように、これまでに携わったプログラム開発の各業務について、どのようなプログラム部品を用いるプログラムの開発に携わったのかということを示す情報を記憶するのである。
プログラマ割当部18は、画面分類情報記憶部16から各画面パターングループを代表する画面パターンの情報を読み出し、画面部品表記憶部14からその画面パターンの持つプログラム部品がどれであるのかという情報を取得して、その取得したプログラム部品の情報とプログラマ情報記憶部17に記憶されるプログラム部品の情報とに従って距離を評価することで、それらの取得したプログラム部品について精通しているプログラマが誰であるのかということを検索することにより、各画面パターングループについて、そのグループに属する画面パターンを表示するプログラムの開発に適したプログラマを支援情報提供部22に通知する処理を行う。
プログラム部品コード記憶部19は、部品一覧記憶部12に記憶されている各プログラム部品の具体的なプログラムコードを記憶する。
ひな型プログラム作成部20は、画面分類情報記憶部16から各画面パターングループを代表する画面パターンの情報を読み出し、画面部品表記憶部14からその画面パターンの持つプログラム部品がどれであるのかという情報を取得して、プログラム部品コード記憶部19に記憶されているプログラム部品のコードを使って、各画面パターングループについて、それらの取得したプログラム部品についてのコードからなるひな型プログラムを作成して、それをひな型プログラム記憶部21に登録する処理を行う。
ひな型プログラム記憶部21は、ひな型プログラム作成部20により作成された各画面パターングループについてのひな型プログラムを記憶する。
支援情報提供部22は、プログラマ割当部18から通知されるプログラマの割当情報をユーザ(プログラム開発の管理者など)に提供し、さらに、ひな型プログラム記憶部21から、そのプログラマがプログラム開発を担当する画面パターングループの指すひな型プログラムを読み出してユーザ(プログラマなど)に提供する処理を行う。
図6に、画面部品表作成部13の実行する処理フローの一例を図示し、図7に、画面分類部15の実行する処理フローの一例を図示する。
次に、これらの処理フローに従って、本発明を具備するプログラム開発支援装置1で実行される本発明の処理について詳細に説明する。
先ず最初に、画面部品表作成部13の実行する処理について説明する。
画面部品表作成部13は、画面デザイン作成部10による画面パターン情報記憶部11への画面パターン情報の登録が完了することで起動されると、図6の処理フローに示すように、先ず最初に、ステップS10で、部品一覧記憶部12から、開発するプログラムの業務に対応付けて記憶されているプログラム部品の一覧を読み出す。
例えば、今回開発するプログラムの業務の種別が“AA”である場合には、図2に示すようなデータ構造を持つ部品一覧記憶部12から、業務種別“AA”に対応付けて記憶されているプログラム部品の一覧を読み出すのである。
続いて、ステップS11で、画面パターン情報記憶部11に記憶されている全ての画面パターンについて処理をしたのか否かを判断して、全ての画面パターンについて処理をしていないことを判断するときには、ステップS12に進んで、未処理の画面パターンを1つ選択して、画面パターン情報記憶部11から、その選択した画面パターンの情報を読み出す。
続いて、ステップS13で、読み出した画面パターンの情報に従って、入出力端末2のディスプレイに、選択した画面パターンを表示する。すなわち、画面デザイン作成部10の作成した画面パターンを表示するのである。
続いて、ステップS14で、表示している画面パターンに対応付けて、ステップS10で読み出したプログラム部品の一覧を表示して、ユーザに対して、表示している画面パターンの持つプログラム部品の入力を指示する。
ここで、このとき表示するプログラム部品の一覧があまりに多くの数のプログラム部品になってしまうと、ユーザの選択の負荷が大きくなってしまうので、そのような場合には、例えば、委託会社毎に予めプログラム部品を絞り込んでおいて表示するというような方法を用いるようにしてもよい。
この入力指示を受けて、ユーザは、表示されているプログラム部品の一覧の中から、表示されている画面パターンの持つプログラム部品がどれであるのかを入力してくる。
これから、続いて、ステップS15で、ユーザからの入力を受け付けることで、表示している画面パターンの持つプログラム部品の情報を取得する。
続いて、ステップS16で、取得した画面パターンの持つプログラム部品の情報を画面部品表記憶部14に登録してから、ステップS11の処理に戻る。
そして、ステップS11〜ステップS15の処理を繰り返していくことで、ステップS11で、画面パターン情報記憶部11に記憶されている全ての画面パターンについて処理をしたことを判断するときには、処理を終了する。
このようにして、画面部品表作成部13は、画面デザイン作成部10により作成された開発するプログラムが表示することになる画面パターンについて、それらの画面パターンがどのようなプログラム部品を持ち、どのようなプログラム部品を持たないのかいうことを示す画面部品表情報を作成して、それを図3に示すようなデータ構造を持つ画面部品表記憶部14に登録するように処理するのである。
次に、画面分類部15の実行する処理について説明する。
画面分類部15は、画面部品表作成部13による画面部品表記憶部14への画面部品表情報の登録が完了することで起動されると、図7の処理フローに示すように、先ず最初に、ステップS20で、各画面パターンの持つプログラム部品の有無情報を使って画面パターン間の平方ユークリッド距離を算出する。
例えば、図3に示す画面パターン2,4,6,8を具体例にして説明するならば、
・画面パターン2:(9)/(11)/(19)のプログラム部品を持つ
・画面パターン4:(9)/(11)のプログラム部品を持つ
・画面パターン6:(1)/(2)/(6)/(9)/(14)/(15)のプログラム部 品を持つ
・画面パターン8:(9)/(15)のプログラム部品を持つ
というプログラム部品の有無情報に従って、画面パターン2,4,6,8間の平方ユークリッド距離(=Σ(xi −xj 2 )を算出することで、図8に示すような平方ユークリッド距離を算出するのである。
続いて、ステップS21で、算出した平方ユークリッド距離を使い、階層クラスター分析の手法に従って樹形図を作成してユーザに提示する。
例えば、図3に示す画面パターン2,4,6,8を具体例にして説明するならば、先ずは、図8に示す算出結果から分かるように、画面パターン2と画面パターン4との間の距離が最小となるので、画面パターン2と画面パターン4とを1つのクラスターとする。
続いて、1つのクラスターとした画面パターン2+4と画面パターン6との間の距離を算出するとともに、1つのクラスターとした画面パターン2+4と画面パターン8との間の距離を算出する。
この算出は、例えば、階層クラスター分析のウォード法を用いる。このウォード法では、クラスターaとクラスターbが併合されてクラスターcが作られたとし、dab ,dxa ,dxbを、その併合前の各クラスター間の距離とするときに、併合後のクラスターcとクラスターx(x≠a,x≠b)との間の距離を、
xc 2 =αa ×dxa 2 +αb ×dxb 2 +βdab 2
ただし、αa =(nx +na )/(nx +nc
αb =(nx +nb )/(nx +nc
β =−nx /(nx +nc
i はクラスターiのデータ個数
という算出式に従って求めるようにしている。
このウォード法を用いることで、1つのクラスターとした画面パターン2+4と画面パターン6との間の距離は、
(2/3)×7+(2/3)×6−(1/3)×1=(25/3)
と算出され、1つのクラスターとした画面パターン2+4と画面パターン8との間の距離は、
(2/3)×3+(2/3)×2−(1/3)×1=3
と算出される。
これから、画面パターン2と画面パターン4とを1つのクラスターとした後の画面パターン間の距離は図9に示すようなものとなる。
続いて、次のクラスターを生成する。図9から分かるように、画面パターン2+4と画面パターン8との間の距離が最小となるので、今度は画面パターン2+4と画面パターン8とを1つのクラスターとする。
続いて、1つのクラスターとした画面パターン2+4+8と画面パターン6との間の距離を、上述したウォード法を用いて算出することで、
(3/4)×(25/3)+(2/4)×4−(1/4)×3=15/2
という距離を算出する。
ステップS21では、このようにして算出したクラスターの構成と距離とに基づいて、図10に示すような樹形図を作成してユーザに提示する。ここで、図10に示す樹形図では、樹形図を見やすいものとするために、算出した平方ユークリッド距離を用いるではなくて、その平方根となるユークリッド距離を用いて描画している。
このようにして、ステップS21で、階層クラスター分析の手法に従って樹形図を作成してユーザに提示すると、続いて、ステップS22で、ユーザから樹形図のスライス位置の情報を入力する。
続いて、ステップS23で、入力したスライス位置で樹形図を分断することで、画面パターンのグループを作成する。
例えば、図10に示す破線で示すスライス位置が入力された場合には、そのスライス位置で樹形図を分断することで、画面パターン1,3,5,7から構成されるグループと、画面パターン2,4,6,8から構成されるグループと、画面パターン9,10,11から構成されるグループという3つのグループを作成するのである。
続いて、ステップS24で、作成した各グループについて、そのグループを構成する画面パターンの中から代表となる画面パターンを選択する。
例えば、ステップS20で算出した図8に示すような平方ユークリッド距離をユークリッド距離に換算して、各グループについて、図11に示すように、そのグループを構成する画面パターンのそれぞれについてそれが持つ距離の合計を算出し、その中で最小の値を示す画面パターンを特定することで、そのグループの代表となる画面パターンを選択する。
図11に示す例では、画面パターン2,4,6,8で構成されるグループを代表する画面パターンとして画面パターン4を選択するのである。そして、同様な選択アルゴリズムに従って、画面パターン1,3,5,7から構成されるグループを代表する画面パターンとして画面パターン1を選択し、画面パターン9,10,11から構成されるグループを代表する画面パターンとして画面パターン9を選択するのである。
続いて、ステップS25で、作成した画面パターンのグループ情報と、選択した代表となる画面パターンの情報とを、図4に示すようなデータ構造を持つ画面分類情報記憶部16に登録して、処理を終了する。
このようにして、画面分類部15は、画面部品表記憶部14に記憶される情報を使い、クラスター分析の手法に従って、画面デザイン作成部10により作成された画面パターンを複数のグループに分類して、その分類情報を画面分類情報記憶部16に登録するとともに、各グループを代表する画面パターンを決定して、その決定情報を画面分類情報記憶部16に登録するように処理するのである。
ここで、図7の処理フローに従う場合、画面分類部15は、ユーザから樹形図のスライス位置の情報を入力することで、画面パターンのグループ数を決定するという構成を採ったが、予め画面パターンのグループ数を設定しておけば、樹形図に従ってそのグループ数を実現できるスライス位置の範囲を自動的に設定できることになるので、ステップS21,22の処理を省略することが可能である。この場合には、画面分類部15は、ユーザと対話することなく、画面デザイン作成部10により作成された画面パターンを複数のグループに分類して、その分類情報を画面分類情報記憶部16に登録するとともに、各グループを代表する画面パターンを決定して、その決定情報を画面分類情報記憶部16に登録することができることになる。
この画面分類情報記憶部16に登録される情報を受けて、プログラマ割当部18は、上述したように、画面分類情報記憶部16から各画面パターングループを代表する画面パターンの情報を読み出し、画面部品表記憶部14からその画面パターンの持つプログラム部品がどれであるのかという情報を取得して、その取得したプログラム部品の情報とプログラマ情報記憶部17に記憶されるプログラム部品の情報とに従って距離を評価することで、それらの取得したプログラム部品について精通しているプログラマで誰であるのかということを検索することにより、各画面パターングループについて、そのグループに属する画面パターンを表示するプログラムの開発に適したプログラマが誰であるのかということを検索して、その検索結果を支援情報提供部22に通知するように処理する。
そして、この画面分類情報記憶部16に登録される情報を受けて、ひな型プログラム作成部20は、画面分類情報記憶部16から各画面パターングループを代表する画面パターンの情報を読み出し、画面部品表記憶部14からその画面パターンの持つプログラム部品がどれであるのかという情報を取得して、プログラム部品コード記憶部19に記憶されているプログラム部品のコードを使って、各画面パターングループについて、それらの取得したプログラム部品についてのコードからなるひな型プログラムを作成して、それをひな型プログラム記憶部21に登録するように処理する。
そして、支援情報提供部22は、プログラマ割当部18から通知されるプログラマの割当情報をユーザ(プログラム開発の管理者など)に提供し、さらに、ひな型プログラム記憶部21から、そのプログラマがプログラム開発を担当する画面パターングループの指すひな型プログラムを読み出してユーザ(プログラマなど)に提供するように処理することになる。
図12に、本発明を具備するプログラム開発支援装置1の装置構成の他の一例を図示する。
この図12に示すプログラム開発支援装置1の装置構成では、図1に示すプログラム開発支援装置1の備えるプログラム部品コード記憶部19に代えて、複数の既存プログラムとそれが持つプログラム部品の情報とを記憶する既存プログラム情報記憶部23を備えるとともに、図1に示すプログラム開発支援装置1の備えるひな型プログラム作成部20に代えて、画面分類部15の決定したグループ代表の画面パターンの持つプログラム部品と、既存プログラム情報記憶部23に記憶される各既存プログラムの持つプログラム部品との距離を測定して、そのグループ代表の画面パターンを表示するプログラムに最も近い既存プログラムを特定することで、画面分類部15の分類した各グループについてのひな型プログラムを決定するひな型プログラム決定部24を備えるという構成を採っている。
図1に示すプログラム開発支援装置1では、画面分類部15の決定したグループ代表の画面パターンの持つプログラム部品のコード情報を組み合わせることでひな型プログラムを作成するのに対して、図12に示すプログラム開発支援装置1では、複数の既存プログラムの中からプログラム部品構成の最も近いものを選択することでひな型プログラムを決定するようにしている。
この点から、図12に示すプログラム開発支援装置1では、図1に示すプログラム開発支援装置1に比べて、プログラム部品構成が必ずしも一致しないひな型プログラムが提供される可能性がある。
しかしながら、図12に示すプログラム開発支援装置1では、実際に使用されたことのある既存プログラムの中から最も適切なものを選択することでひな型プログラムを作成することになることから、細かなパラメータ設定が設定されていることなどにより、ひな型プログラムとして十分利用価値の高いものを提供できるようになる。
図示実施形態例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施形態例では、階層クラスター分析に従って画面パターンを分類するという構成を採ったが、非階層クラスター分析に従って画面パターンを分類するようにしてもよいし、クラスター分析以外の手法に従って画面パターンを分類するようにしてもよい。
また、実施形態例では、画面部品表作成部13がユーザと対話することで、画面パターン情報記憶部11に記憶される各画面パターンについて、その画面パターンがどのようなプログラム部品を持ち、どのようなプログラム部品を持たないのかいうことを示す情報を作成して、それを画面部品表記憶部14に登録するようにしているが、例えば、画面デザイン作成部10が画面パターンを作成するときに画面パターンを構成するコントロール部品に与えた属性情報などを解析することで、この情報の作成処理をユーザとの対話に依らずに自動的に実行することも可能である。
本発明を用いることで、開発するプログラムを担当するプログラマや委託会社として最適なプログラマを割り当てることができるようになる。そして、本発明を用いることで、開発するプログラムのひな型となるプログラムを作成することができるようになる。
これから、本発明によれば、プログラム開発の生産性向上・品質確保を実現することができるようになる。
本発明を具備するプログラム開発支援装置の装置構成の一例を示す図である。 部品一覧記憶部の記憶する情報の一例を示す図である。 画面部品表記憶部の記憶する情報の一例を示す図である。 画面分類情報記憶部の記憶する情報の一例を示す図である。 プログラマ情報記憶部の記憶する情報の一例を示す図である。 画面部品表作成部の実行する処理フローである。 画面分類部の実行する処理フローである。 画面分類部の実行する処理の説明図である。 画面分類部の実行する処理の説明図である。 画面分類部の実行する処理の説明図である。 画面分類部の実行する処理の説明図である。 本発明を具備するプログラム開発支援装置の装置構成の他の一例を示す図である。
符号の説明
1 プログラム開発支援装置
2 入出力端末
10 画面デザイン作成部
11 画面パターン情報記憶部
12 部品一覧記憶部
13 画面部品表作成部
14 画面部品表記憶部
15 画面分類部
16 画面分類情報記憶部
17 プログラマ情報記憶部
18 プログラマ割当部
19 プログラム部品コード記憶部
20 ひな型プログラム作成部
21 ひな型プログラム記憶部
22 支援情報提供部

Claims (5)

  1. 画面デザインされた各プログラムが表示する複数の画面パターンを処理対象として,それらの画面パターンを複数のグループに分類する画面パターン分類装置であって,
    前記画面パターン情報が登録された画面パターン情報記憶手段と
    プログラムの処理する業務毎にその業務で使用する各プログラム部品の情報を記憶する部品一覧記憶手段とを備え
    前記部品一覧記憶手段から開発するプログラムの処理する業務が持つプログラム部品の一覧を取得して,前記画面パターン情報記憶手段の各画面パターンについて各画面パターンがどのプログラム部品を持ち,どのプログラム部品を持たないかを示す各プログラム部品の有無情報を作成して画面部品表記憶手段に登録する画面部品表作成手段と
    前記画面部品表記憶手段に登録された各画面パターンのプログラム部品の有無情報に従って処理対象の画面パターン間の平方ユークリッド距離を測定し測定した距離に基づいて階層クラスター分析の手法を用いて画面パターンを複数のグループに分類する分類手段とを備えることを,
    特徴とする画面パターン分類装置。
  2. 請求項1に記載の画面パターン分類装置において,
    記分類手段の分類した各グループについて,グループを構成する画面パターンのそれぞれについて距離の合計を算出し,その中で最小の値を示す画面パターンをそのグループを代表する画面パターンとして決定する決定手段を備えることを,
    特徴とする画面パターン分類装置。
  3. 請求項2に記載の画面パターン分類装置において,
    各プログラム部品のプログラムコードを記憶するプログラム部品コード記憶手段を備え,
    前記決定手段の決定したグループを代表する画面パターンの持つプログラム部品のコード情報を前記プログラム部品コード記憶手段から取得して,それらを組み合わせることで,前記分類手段の分類した各グループについてのひな型プログラムを作成するひな型プログラム作成手段とを備えることを,
    特徴とする画面パターン分類装置。
  4. 画面デザインされた各プログラムが表示する複数の画面パターンを処理対象として,それらの画面パターンを複数のグループに分類する画面パターン分類装置で実行される画面パターン分類方法であって,
    前記画面パターン分類装置が,前記画面パターン情報が登録された画面パターン情報記憶部と,プログラムの処理する業務毎にその業務で使用する各プログラム部品の情報を記憶する部品一覧記憶部とを備え
    前記部品一覧記憶部から開発するプログラムの処理する業務が持つプログラム部品の一覧を取得し前記画面パターン情報記憶部の各画面パターンについて各画面パターンがどのプログラム部品を持ち,どのプログラム部品を持たないかを示す各プログラム部品の有無情報を含む画面部品表を作成して登録し,
    前記登録された各画面パターンのプログラム部品の有無情報に従って処理対象の画面パターン間の平方ユークリッド距離を測定し,測定した距離に基づいて階層クラスター分析の手法を用いて画面パターンを複数のグループに分類することを,
    特徴とする画面パターン分類方法。
  5. 画面デザインされた各プログラムが表示する複数の画面パターンを処理対象として,それらの画面パターンを複数のグループに分類する画面パターン分類装置の実現のために用いられる画面パターン分類プログラムであって,
    コンピュータを,
    前記画面パターン情報が登録された画面パターン情報記憶手段と,
    プログラムの処理する業務毎にその業務で使用する各プログラム部品の情報を記憶する部品一覧記憶手段と,
    前記部品一覧記憶手段から開発するプログラムの処理する業務が持つプログラム部品の一覧を取得し前記画面パターン情報記憶部の各画面パターンについて各画面パターンがどのプログラム部品を持ち,どのプログラム部品を持たないかを示す各プログラム部品の有無情報を含む画面部品表を作成して登録する手段と
    前記登録された各画面パターンのプログラム部品の有無情報に従って処理対象の画面パターン間の平方ユークリッド距離を測定し,測定した距離に基づいて階層クラスター分析の手法を用いて画面パターンを複数のグループに分類する分類手段と,
    して機能させるための画面パターン分類プログラム。
JP2006009649A 2006-01-18 2006-01-18 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム Expired - Fee Related JP4813906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006009649A JP4813906B2 (ja) 2006-01-18 2006-01-18 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006009649A JP4813906B2 (ja) 2006-01-18 2006-01-18 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム

Publications (2)

Publication Number Publication Date
JP2007193482A JP2007193482A (ja) 2007-08-02
JP4813906B2 true JP4813906B2 (ja) 2011-11-09

Family

ID=38449144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006009649A Expired - Fee Related JP4813906B2 (ja) 2006-01-18 2006-01-18 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム

Country Status (1)

Country Link
JP (1) JP4813906B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4839424B2 (ja) 2008-12-15 2011-12-21 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの解析を支援するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム
JP7212844B2 (ja) * 2019-01-04 2023-01-26 コニカミノルタ株式会社 画像形成装置およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107628A (ja) * 1990-08-28 1992-04-09 Nec Corp ソフトウェア再利用支援システム
JPH05134856A (ja) * 1991-11-13 1993-06-01 Hitachi Ltd プログラム自動生成方式
JPH11184861A (ja) * 1997-12-18 1999-07-09 Hitachi Ltd 類似部品検索方法及び検索装置
JP2001160055A (ja) * 1999-12-02 2001-06-12 Nec Corp 共通部品管理システムおよび共通部品管理用プログラムを記録した記録媒体
JP2001297113A (ja) * 2000-04-14 2001-10-26 Ricoh Co Ltd 部品構成作成編集装置と部品構成作成編集方法と部品構成作成編集処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003186888A (ja) * 2001-12-20 2003-07-04 Just Syst Corp 部品情報分類装置、部品情報検索装置および部品情報検索サーバ

Also Published As

Publication number Publication date
JP2007193482A (ja) 2007-08-02

Similar Documents

Publication Publication Date Title
JP4171757B2 (ja) オントロジー統合支援装置、オントロジー統合支援方法及びオントロジー統合支援プログラム
US8726226B2 (en) Integrated work lists for engineering project change management
US6571247B1 (en) Object oriented technology analysis and design supporting method
US10452366B2 (en) Method and tool for engineering software architectures with its various software artifacts of complex cyber-physical systems of different technical domains
JP7044893B2 (ja) 業務分析方法
KR102397495B1 (ko) 노 코드 애플리케이션 개발 및 운영 시스템과 그 서비스 방법
JP5614843B2 (ja) ソフトウェア設計・運用統合管理システム
JP2019169044A (ja) ソフトウェアロボット定義情報生成システム、ソフトウェアロボット定義情報生成方法、及びプログラム
Lafreniere et al. Characterizing large-scale use of a direct manipulation application in the wild
EP3314409B1 (en) Tracing dependencies between development artifacts in a software development project
CN104461864A (zh) 一种基于Eclipse插件的Java源代码缺陷检测方法及其系统
JP4813906B2 (ja) 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム
Gómez-Martínez et al. Performance assessment of an architecture with adaptative interfaces for people with special needs
CN101710275A (zh) 利用gui工具来编辑工作流逻辑和屏幕的方法和系统
JP4996262B2 (ja) プログラム部品化支援装置
JP7018356B2 (ja) ビジュアルプログラミングツールを用いてプログラムを作成することを支援する装置および方法
JP6981124B2 (ja) システム構築支援装置、システム構築支援方法、及びプログラム
Heinrich et al. Tool support for the comprehensive modeling of quality information within business process models
WO2012017757A1 (ja) クローン検出装置、クローン検出プログラム、及びクローン検出プログラムを記録した記録媒体
JP4635987B2 (ja) フローダイアグラム編集装置、フローダイアグラム編集方法、及びプログラム
JP2005301496A (ja) 業務支援システム
JP2004310317A (ja) 業務支援装置
JP2019101829A (ja) ソフトウェア部品管理システム、計算機および方法
Pribeanu et al. A methodological approach to task-based design of user interfaces
CN100517223C (zh) 用于确定实验设计信息的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110825

R150 Certificate of patent or registration of utility model

Ref document number: 4813906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees