JP2000132385A - Guiアプリケーション開発におけるクラス設計方法 - Google Patents

Guiアプリケーション開発におけるクラス設計方法

Info

Publication number
JP2000132385A
JP2000132385A JP10301280A JP30128098A JP2000132385A JP 2000132385 A JP2000132385 A JP 2000132385A JP 10301280 A JP10301280 A JP 10301280A JP 30128098 A JP30128098 A JP 30128098A JP 2000132385 A JP2000132385 A JP 2000132385A
Authority
JP
Japan
Prior art keywords
gui
module
class
independent
design method
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
JP10301280A
Other languages
English (en)
Inventor
Ryota Minokoshi
亮太 美濃越
Michio Yasuda
道雄 安田
Fujio Imai
藤雄 今井
Hiroshi Ito
弘志 伊藤
Toshihiro Tanaka
俊宏 田中
Tomohiko Ota
智彦 太田
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.)
NTT Comware Corp
Original Assignee
NTT Communicationware 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 NTT Communicationware Corp filed Critical NTT Communicationware Corp
Priority to JP10301280A priority Critical patent/JP2000132385A/ja
Publication of JP2000132385A publication Critical patent/JP2000132385A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】MVCモデルのVモジュールに含まれる各クラ
スを全面的に変更することなく、GUIアプリケーショ
ンの移植や仕様変更などに柔軟に対処することが可能な
GUIアプリケーション開発におけるクラス設計方法の
提供。 【解決手段】MVCモデルを構成するMモジュール1、
Vモジュール2、及びCモジュール3のうち、Mモジュ
ール1及びCモジュール3を既存の形態のまま保つ一
方、Vモジュール2を、GUI画面の仕様を実現する上
でGUIの種類に依存せずに機能する複数のクラス41
〜44をパッケージ化してなるGUI非依存型Vモジュ
ール4と、GUIの種類に依存して機能する複数のクラ
ス51〜54をパッケージ化してなるGUI依存型Vモ
ジュール5とに分割して設定してなる特徴。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、GUIアプリケー
ション開発(GUI:グラフィカル・ユーザ・インタフ
ェース)におけるクラス設計方法に関し、詳しくは、オ
ブジェクト指向論に基づいて、各種OS(オペレーティ
ング・システム)等に適用されるGUIに対応したアプ
リケーション(以下「GUIアプリケーション」とい
う)を開発する際に定義される複数のクラスを、GUI
の種類に応じ効率よく設計するためのGUIアプリケー
ション開発におけるクラス設計方法に係わる。
【0002】
【従来の技術】近年のGUIアプリケーション開発の大
きな課題として、(1)短期間のうちに頻繁に繰り返さ
れるGUIの仕様変更にどう対処していくか、(2)ま
すます複雑化するシステム対象にどう対処していくか、
などといった点が挙げられる。
【0003】これらの課題への解となるGUIアプリケ
ーション開発の手法として、ここ十数年来、オブジェク
ト指向論の適用が試みられるようになったが、このオブ
ジェクト指向論に基づくGUIアプリケーション開発に
おいて、現在、最も頻繁に適用されている手法の一つ
に、「MVCモデル」を用いたものがある。
【0004】図5は、従来のGUIアプリケーション開
発に適用されているMVCモデルの模式図である。
【0005】同図に示すように、MVCモデルは、作成
しようとするGUIアプリケーションを、Mモジュール
1(M:Model,モデル)、Vモジュール2(V:
View,ビュー)、及び、Cモジュール3(C:Co
ntroller,コントローラ)の3種類のモジュー
ルに分割して構成されている。
【0006】これら各モジュールのうち、Mモジュール
1は、作成しようとするGUIアプリケーションを動作
させる上で根幹的な要素を成す複数のクラス11〜14
(実際は任意数)をパッケージ化したモジュールであ
り、これら各クラス11〜14は、具体的には、GUI
の仕様に影響されにくく変更されることの少ないデータ
(即ち、根幹的なデータ)と、この種のデータに対する
操作とを一体化したものをプログラミングしたものであ
る。
【0007】また、Vモジュール2は、実際のGUI画
面を提供するための複数のクラス21〜24(実際は任
意数)をパッケージ化したモジュールであり、これら各
クラス21〜24は、例えば、当該GUI画面の仕様を
実現するボタンやウィンドウなどのGUI部品について
のデータと、この種のデータに対する操作とを一体化し
たものをプログラミングしたものである。
【0008】なお、以上のVモジュール2の各クラス2
1〜24には、それぞれ、特定のGUIに特化したプロ
グラム201〜204が含まれ、これら各プログラム2
01〜204を以って、GUIの種類に応じたGUI画
面が実現されるようになっている。
【0009】そして、Cモジュール3は、Mモジュール
1を構成する各クラス11〜14とVモジュール2を構
成する各クラス21〜24との間で、メッセージの受渡
しを行うための複数のクラス31〜34(実際は任意
数)をパッケージ化したモジュールであり、これら各ク
ラス31〜34は、例えば、GUI画面上においてマウ
スによるクリック操作が行われたときに、Vモジュール
2から与えられる当該クリック操作に関するメッセージ
をMモジュール1の動作に反映させたり、或いは、その
Mモジュール1の動作の結果や変化に関するメッセージ
をVモジュール2に受け渡してGUI画面の表示に反映
させるなどといった手順をプログラミングしたものであ
る。
【0010】ただし、以上のCモジュール3は、設計の
仕方によっては、機能や役割が若干異なる場合もあり、
例えば、上述のクリック操作のような画面操作に関する
メッセージは、Vモジュール2からではなく、Cモジュ
ール3からMモジュール1に直接与えられるように設定
することも可能である。
【0011】
【発明が解決しようとする課題】ところで、以上のMV
Cモデルにおける各モジュールの特質につき考察した場
合、Mモジュール1は、前述もしたように、GUIアプ
リケーションを動作させる上で根幹的な要素を成すもの
であるため、例えば、ある特定のGUIにおいて動作が
保証されたGUIアプリケーションを、他のGUI向け
に移植する場合でも、このMモジュール1については、
何ら変更を加えることなくそのまま転用することができ
る。
【0012】また、Cモジュール3に関しても、これが
単に、Mモジュール1とVモジュール2との間でメッセ
ージの受渡しを行うものに過ぎないため、上述した例の
ように、ある特定のGUIアプリケーションを他のGU
I向けに移植する場合でも、殆ど変更を加えずに転用を
図ることができる(Vモジュール2との間でメッセージ
の受渡しを行う一部のプログラムについては、若干の変
更が必要)。
【0013】これに対し、Vモジュール2は、所要のG
UI画面を提供するための中核的な要素を成し、しか
も、その各クラス21〜24に、特定のGUIに特化し
たプログラム201〜204を含むものであるため、そ
の特定のGUIに対応したGUIアプリケーションを他
のGUI向けに移植する場合には、これら各プログラム
201〜204の内容の全面的な変更が必要となる。
【0014】この異なるGUIにおけるプログラム変更
の問題につき、図面を用いて説明すれば、以下のように
なる。
【0015】図6(a)及び(b)は、第1及び第2の
異なるGUIにそれぞれ対応して作成された同一種類の
GUIアプリケーションにおける各Vモジュールの構造
を示す図である。
【0016】同図において、(a)に示される第1のG
UI用のVモジュール2aには、これを構成する各クラ
ス21a〜24aに、それぞれ、第1のGUIに特化し
たプログラム201a〜204aが含まれ、一方、
(b)に示される第2のGUI用のVモジュール2bに
ついては、各クラス21b〜24bに、それぞれ、第2
のGUIに特化したプログラム201b〜204bが含
まれたものとなっている。
【0017】ここで、第1のGUI用のVモジュール2
aにおける各クラス21a〜24aと、第2のGUI用
のVモジュール2bにおける各クラス21b〜24bと
は、必然的に、対応するプログラム同士(201aと2
01b,202aと202b,203aと203b,2
04aと204b)の内容が大きく相違したものとな
り、同時に、当該プログラムを取り巻く、双方のクラス
(21a〜24a,21b〜24b)内における周辺プ
ログラム同士の内容も、一部ではあるが若干相違したも
のとなる。
【0018】以上のように、各プログラムを取り巻く周
辺プログラム同士の内容まで部分的に相違したものとな
るのは、主に、クラスの構成方法などに関する設計方針
につき一般化された規定が存在しておらず、現状では、
クラス設計に際し、GUIアプリケーションの開発者の
経験や勘に依存しているからである。
【0019】即ち、仮に、第1のGUI用のVモジュー
ル2aの開発者と、第2のGUI用のVモジュール2b
の開発者とが異なり、双方の開発者のもつクラス抽出等
に対する考え方が大きく異なる場合には、自ずと、GU
Iに特化させるべきプログラム(201a〜204a,
201b〜204b)の実質的な内容が、双方のVモジ
ュール2a,2bにつき相違してしまい、これに伴っ
て、対応する周辺プログラムの内容までも相違してしま
うのである。
【0020】このため、特定のGUIに対応したGUI
アプリケーションを他のGUI向けに移植する目的で、
例えば、新たに第3のGUIに特化したプログラムを作
成し、これを、上述の第1又は第2のGUIに特化した
プログラム201a〜204a又は201b〜204b
の領域に単純に当てはめるなどの操作を行っても、これ
により得られるGUIアプリケーションが正常に機能す
ることはなく、この場合において、適正なGUIアプリ
ケーションを得るには、前述の周辺プログラムを、当該
第3のGUIに特化したプログラムに対応するよう、V
モジュールの各クラス全体にわたって修正を行う必要が
ある。
【0021】この修正のための作業は、GUIに特化し
たプログラムの存在数が多いほど、必然的に煩雑なもの
となり、このことが、GUIアプリケーションの生産性
やメンテナンス性を低下させる要因ともなっている。
【0022】なお、以上に示した問題は、特定のGUI
に対応したGUIアプリケーションを他のGUI向けに
移植する場合などに生じるものであるが、こうした状況
以外にも、例えば、GUI自身の仕様変更(GUI画面
等の仕様変更)が行われた場合などにも、Vモジュール
の各クラスに含まれるGUIに特化したプログラムを全
面的に修正する必要がある。
【0023】これでは、短期間のうちに頻繁に繰り返さ
れるGUIの仕様変更に対処しようにも、多くの時間と
労力を要する結果となる。
【0024】また、基本的な問題として、例えば、バー
ジョン・アップを繰り返しつつ長期にわたり一連性をも
って供給されるGUIアプリケーションなどにおいて、
その開発者が途中で変わってしまった場合には、当初の
開発者の設計方針や設計思想が守られなくなって、当該
GUIアプリケーションの品質の低下をまねく可能性も
ある。
【0025】ここにおいて、本発明の解決すべき主要な
目的は次のとおりである。
【0026】即ち、本発明の第1の目的は、MVCモデ
ルのVモジュールに含まれる各クラスを全面的に変更す
ることなく、GUIアプリケーションの移植や仕様変更
などに柔軟に対処することが可能なGUIアプリケーシ
ョン開発におけるクラス設計方法を提供せんとするもの
である。
【0027】本発明の第2の目的は、生産性やメンテナ
ンス性の高いGUIアプリケーションを供給することが
可能なGUIアプリケーション開発におけるクラス設計
方法を提供せんとするものである。
【0028】本発明の第3の目的は、一連性をもって供
給されるGUIアプリケーションの開発者が途中で変わ
った場合においても、当該GUIアプリケーションの品
質を一定に保持することが可能なGUIアプリケーショ
ン開発におけるクラス設計方法を提供せんとするもので
ある。
【0029】本発明の他の目的は、明細書、図面、特に
特許請求の範囲の各請求項の記載から自ずと明らかとな
ろう。
【0030】
【課題を解決するための手段】本発明方法においては、
GUIアプリケーション開発に適用されるMVCモデル
を構成するVモジュールを、GUI画面の仕様を実現す
る上で当該GUIの種類に依存せずに機能する複数のク
ラスをパッケージ化したGUI非依存型Vモジュール
と、当該GUIの種類に依存して機能する複数のクラス
をパッケージ化したGUI依存型Vモジュールとに分割
して設定することにより、当該GUIアプリケーション
の修正を行う必要が生じた際に、所要の修正箇所を、上
述のGUI依存型Vモジュールの領域のみにとどめると
いう特徴を有する。
【0031】さらに、具体的詳細に述べると、当該課題
の解決では、本発明が次に列挙する上位概念から下位概
念にわたる新規な特徴的構成手法を採用することによ
り、前記目的を達成するよう為される。
【0032】即ち、本発明方法の第1の特徴は、オブジ
ェクト指向論に基づくGUIアプリケーションの開発を
MVCモデルを用いて行う際の当該MVCモデルのクラ
ス設計に適用される、GUIアプリケーション開発にお
けるクラス設計方法であって、MVCモデルを構成する
モジュールである、GUIアプリケーションの動作に関
与するMモジュール、GUI画面の仕様に関与するVモ
ジュール、及びMモジュールとVモジュールとの間のメ
ッセージの受渡しに関与するCモジュールのうち、Mモ
ジュール及びCモジュールを既存の形態のまま保つ一
方、Vモジュールを、GUI画面の仕様を実現する上で
GUIの種類に依存せずに機能する複数のクラスをパッ
ケージ化してなるGUI非依存型Vモジュールと、GU
Iの種類に依存して機能する複数のクラスをパッケージ
化してなるGUI依存型Vモジュールとに分割して設定
してなる、GUIアプリケーション開発におけるクラス
設計方法の構成採用にある。
【0033】本発明方法の第2の特徴は、上記本発明方
法の第1の特徴におけるGUI非依存型Vモジュールを
構成する複数のクラスの一部に、VモジュールからCモ
ジュールへのメッセージの受渡しに関与していたプログ
ラムを含ませてなる、GUIアプリケーション開発にお
けるクラス設計方法の構成採用にある。
【0034】本発明方法の第3の特徴は、上記本発明方
法の第2の特徴におけるGUI非依存型Vモジュールを
構成する複数のクラスの一部に、GUI依存型Vモジュ
ールへのメッセージの受渡しに関与するプログラムを含
ませると共に、GUI依存型Vモジュールを構成する複
数のクラスの一部に、GUI非依存型Vモジュールへの
メッセージの受渡しに関与するプログラムを含ませてな
る、GUIアプリケーション開発におけるクラス設計方
法の構成採用にある。
【0035】本発明方法の第4の特徴は、上記本発明方
法の第1、第2又は第3の特徴におけるGUI非依存型
Vモジュールのクラス設計を、複数種類のGUIに共通
の画面構成物に関するクラス群をパッケージ化すること
により行い、GUI依存型Vモジュールのクラス設計
を、複数種類のGUIごとに、画面構成物に対応する個
々のGUIに固有のGUI部品に関するクラス群をパッ
ケージ化することにより行ってなる、GUIアプリケー
ション開発におけるクラス設計方法の構成採用にある。
【0036】本発明方法の第5の特徴は、上記本発明方
法の第1、第2、第3又は第4の特徴におけるGUI非
依存型Vモジュール及びGUI依存型Vモジュールの作
成に際して、複数種類のGUIにそれぞれ対応した複数
種類の既存のVモジュールを準備し、当該複数種類の既
存のVモジュールに共通して存在するクラス群を、GU
I非依存型Vモジュールとして設定すると共に、当該複
数種類の既存のVモジュールに共通しない残余のクラス
群を、複数種類のGUIにそれぞれ対応させるべきGU
I依存型Vモジュールとして設定してなる、GUIアプ
リケーション開発におけるクラス設計方法の構成採用に
ある。
【0037】本発明方法の第6の特徴は、上記本発明方
法の第5の特徴に加え、さらに、GUI非依存型Vモジ
ュールにおけるクラス群に、GUIアプリケーションに
固有のクラスを付加してなる、GUIアプリケーション
開発におけるクラス設計方法の構成採用にある。
【0038】本発明方法の第7の特徴は、上記本発明方
法の第6の特徴におけるGUI非依存型Vモジュールに
おけるクラス群への固有のクラスの付加に際して、オブ
ジェクト指向論で適用される継承の関連を利用してな
る、GUIアプリケーション開発におけるクラス設計方
法の構成採用にある。
【0039】本発明方法の第8の特徴は、上記本発明方
法の第6の特徴におけるGUI非依存型Vモジュールに
おけるクラス群への固有のクラスの付加に際して、オブ
ジェクト指向論で適用される委譲の関連を利用してな
る、GUIアプリケーション開発におけるクラス設計方
法の構成採用にある。
【0040】本発明方法の第9の特徴は、上記本発明方
法の第5、第6、第7又は第8の特徴における既存のV
モジュールとして、市販のものを利用してなる、GUI
アプリケーション開発におけるクラス設計方法の構成採
用にある。
【0041】
【発明の実施の形態】以下、添付図面を参照しつつ、本
発明の実施の形態につき説明する。
【0042】図1は、本発明の一実施形態に係るGUI
アプリケーション開発におけるクラス設計方法を説明す
るためのMVCモデルの模式図である。
【0043】同図に示すように、本実施形態のGUIア
プリケーション開発におけるクラス設計方法では、従来
のMモジュール1及びCモジュール3(図5参照)を既
存の形態のままに保ち、その一方で、従来のVモジュー
ル2(図5参照)を、GUI画面の仕様を実現する上で
GUIの種類に依存せずに機能する複数のクラス41〜
44(実際は任意数)をパッケージ化してなるGUI非
依存型Vモジュール4と、GUIの種類に依存して機能
する複数のクラス51〜54(実際は任意数)をパッケ
ージ化してなるGUI依存型Vモジュール5とに分割し
て設定するようにする。
【0044】ここで、GUI非依存型Vモジュール4に
おける複数のクラス41〜44に対しては、Vモジュー
ル2の各クラス21〜24に含まれるプログラムのう
ち、上述した条件を満足するプログラム、即ち、GUI
の種類に依存せずに機能する当該GUIに特化していな
いプログラムを、対応するクラスごとに割り当てて設定
するようにする。
【0045】これに対し、GUI依存型Vモジュール5
における複数のクラス51〜54に対しては、Vモジュ
ール2の各クラス21〜24に含まれるプログラムのう
ち、上述した条件を満足するプログラム、即ち、GUI
の種類に依存して機能する当該GUIに特化したプログ
ラム501〜504を、対応するクラスごとに割り当て
て設定するようにする。
【0046】なお、従来の技術で述べたように、Cモジ
ュール3は、設計の仕方により、その機能や役割が若干
異なる場合があるが、以下に説明するように、Cモジュ
ール3−GUI非依存型Vモジュール4間、及びGUI
非依存型Vモジュール4−GUI依存型Vモジュール5
間につき、所要のメッセージの受渡しが適正に行われる
ような設定を行いさえすれば、当該Cモジュール3が如
何なるプログラムを実装するものであっても、Vモジュ
ール2のGUI非依存型Vモジュール4及びGUI依存
型Vモジュール5への分割設定を、当該実装プログラム
の違いに左右されることなく一様に行うことができる。
【0047】即ち、Vモジュール2の分割設定に際して
は、GUI非依存型Vモジュール4を構成する各クラス
41〜44の一部に対し、Vモジュール2からCモジュ
ール3へのメッセージの受渡しに関与していた既存のプ
ログラムを含ませると共に、GUI依存型Vモジュール
5へのメッセージの受渡しに関与するプログラムを含ま
せ、さらに、GUI依存型Vモジュール5を構成する各
クラス51〜54の一部に対し、GUI非依存型Vモジ
ュール4へのメッセージの受渡しに関与するプログラム
を含ませるようにする。
【0048】このような設定とすることで、作成しよう
とするGUIアプリケーションを実際に動作させたとき
に、GUI非依存型Vモジュール4とGUI依存型Vモ
ジュール5との間で所要のメッセージの受渡しが行われ
るようになり、同時に、GUI非依存型Vモジュール4
とCモジュール3との間においても、従来と同じ状態
(Vモジュール2とCモジュール3との間でメッセージ
の受渡しが行われる状態)を保ったまま、所要のメッセ
ージの受渡しが行われるようになる。
【0049】なお、従来では、GUIの仕様変更等に応
じてVモジュール2を全面的に修正する場合、Vモジュ
ール2との間でメッセージの受渡しを行うための、Cモ
ジュール3内における一部のプログラムにつき、若干の
変更が必要とされたが、この一実施形態では、上述のよ
うに、GUI非依存型Vモジュール4とCモジュール3
との間のメッセージの受渡しが適正に行われるので、そ
の必要性は一切ない。
【0050】次に、図2は、本発明の一実施形態に係る
GUIアプリケーション開発におけるクラス設計方法を
第1及び第2の異なるGUIに適用した例を示す図であ
る。
【0051】同図に示すように、このクラス設計方法を
第1のGUIに適用した場合、GUI非依存型Vモジュ
ール4とは完全に分離した状態で、第1のGUI用のG
UI依存型Vモジュール5aを構成する各クラス51a
〜54aに対しては、それぞれ、第1のGUIに特化し
たプログラム501a〜504aを設定することが可能
となり、また、第2のGUI用のGUI依存型Vモジュ
ール5bを構成する各クラス51b〜54bに対して
は、それぞれ、第1のGUIに特化したプログラム50
1b〜504bを設定することが可能となる。
【0052】この結果、同一種類のGUIアプリケーシ
ョンを、例えば、移植の手法などを用いて複数種類のG
UIのそれぞれにつき作成しようとする場合において
も、上述の第1及び第2のGUI用のGUI依存型Vモ
ジュール5a及び5bの領域(3種類以上のGUIが存
在する場合にはその相当領域)のみを修正すれば足り、
当該領域に対する僅かなプログラムの追加や変更だけ
で、複数種類のGUIに対応したGUIアプリケーショ
ンを随意に作成することが可能となる。
【0053】次に、図3は、本発明の一実施形態に係る
GUIアプリケーション開発におけるクラス設計方法に
より特定のGUIに対応したクラス設計を行った例を示
す図である。
【0054】同図に示すように、本例においては、ま
ず、GUI非依存型Vモジュール4のクラス設計に際
し、複数種類のGUIの共通の画面構成物に関するクラ
ス群をパッケージ化して、これをVCモジュール6(V
C:View of Components)とし、さ
らに、GUI依存型Vモジュール5(5a,5b)のク
ラス設計に際し、複数種類のGUIごとに、上述の画面
構成物に対応する個々のGUIの固有のGUI部品に関
するクラス群をパッケージ化して、これをVGモジュー
ル7(VG:View of GUI)とする。
【0055】ここで、特定のGUIにおいて作成しよう
とするウィンドウ8に、選択ボタン・フィールド81と
選択肢フィールド82とを設定する場合、VCモジュー
ル6に対しては、複数種類のGUIに共通の選択ボタン
構成物オブジェクトからなるクラス61と、同じく共通
の選択肢構成物オブジェクトからなるクラス62とを設
定するようにし、また、VGモジュール7に対しては、
特定のGUIに固有の選択ボタン部品オブジェクトから
なるクラス71と、同じく固有の選択肢部品オブジェク
トからなるクラス72とを設定するようにする。
【0056】続いて、図4は、本発明の一実施形態に係
るGUIアプリケーション開発におけるクラス設計方法
によりGUIアプリケーションを開発する際の手順の一
例を示す図である。
【0057】同図に示すように、本例にあっては、ま
ず、第1及び第2のGUIにそれぞれ対応した第1及び
第2の既存のVモジュール9a及び9bを準備し(3種
類以上のGUIが存在する場合には相当数のVモジュー
ルを準備し)、次に、これら第1及び第2の既存のVモ
ジュール9a及び9bに共通して存在するクラス群を機
械的に抽出して、これをGUI非依存型Vモジュール4
として設定すると共に、さらに、当該第1及び第2の既
存のVモジュール9a及び9bに共通しない残余のクラ
ス群を機械的に抽出して、これを前述した第1及び第2
のGUI用のGUI依存型Vモジュール5a及び5bと
して設定する。
【0058】ここで、以上のように設定したGUI非依
存型Vモジュール4に、作成しようとするGUIアプリ
ケーションに必須のクラスが存在しない場合には、オブ
ジェクト指向論で適用される継承(インヘリタンス)や
委譲(デリゲーション)などの種々の関連を利用して、
当該GUIアプリケーションに固有のクラスを付加し、
これを、新たなGUI非依存型Vモジュール4aとすれ
ばよい。
【0059】なお、第1及び第2の既存のVモジュール
9a及び9bとしては、市販のものをそのまま利用する
ことができる。
【0060】以上、本発明の実施の形態につき説明した
が、本発明は、必ずしも上述した手法にのみ限定される
ものではなく、本発明にいう目的を達成し、後述する効
果を有する範囲内において、適宜、変更実施することが
可能なものである。
【0061】
【発明の効果】以上説明したように、本発明によれば、
GUIアプリケーション開発に適用されるMVCモデル
を構成するVモジュールを、GUI非依存型Vモジュー
ルとGUI依存型Vモジュールとに分割して設定したこ
とから、当該GUIアプリケーションの修正を行う必要
が生じた際に、GUI依存型Vモジュールの領域に対す
る僅かなプログラムの追加や変更だけで、複数種類のG
UIに対応したGUIアプリケーションを随意に作成す
ることが可能となる。
【0062】この結果、MVCモデルのVモジュールに
含まれる各クラスを全面的に変更することなく、GUI
アプリケーションの移植や仕様変更などに柔軟に対処す
ることが可能になると共に、生産性やメンテナンス性の
高いGUIアプリケーションを供給することが可能にな
り、併せて、一連性をもって供給されるGUIアプリケ
ーションの開発者が途中で変わった場合においても、当
該GUIアプリケーションの品質を一定に保持すること
を可能になる。
【0063】また、本発明に適用されるMVCモデル
は、GUIアプリケーションの開発者に対して、クラス
の抽出条件や判定基準に関する明確な規定を与えうるも
のであり、しかも、その規定は、GUIの画面仕様が決
まり次第、機械的なクラス抽出を可能するものであるこ
とから、本発明に適用されるMVCモデルのGUI非依
存型VモジュールとGUI依存型Vモジュールとからな
る構造は、多くの開発者にも容易に理解され、これに伴
い、作成しようとするGUIアプリケーションの開発期
間も大幅に短縮されるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るGUIアプリケーシ
ョン開発におけるクラス設計方法を説明するためのMV
Cモデルの模式図である。
【図2】本発明の一実施形態に係るGUIアプリケーシ
ョン開発におけるクラス設計方法を第1及び第2の異な
るGUIに適用した例を示す図である。
【図3】本発明の一実施形態に係るGUIアプリケーシ
ョン開発におけるクラス設計方法により特定のGUIに
対応したクラス設計を行った例を示す図である。
【図4】本発明の一実施形態に係るGUIアプリケーシ
ョン開発におけるクラス設計方法によりGUIアプリケ
ーションを開発する際の手順の一例を示す図である。
【図5】従来のGUIアプリケーション開発に適用され
ているMVCモデルの模式図である。
【図6】(a)及び(b)は、第1及び第2の異なるG
UIにそれぞれ対応して作成された同一種類のGUIア
プリケーションにおける各Vモジュールの構造を示す図
である。
【符号の説明】
1…Mモジュール 11〜14…Mモジュールを構成するクラス 2…Vモジュール 2a…第1のGUI用のVモジュール 2b…第2のGUI用のVモジュール 21〜24…Vモジュールを構成するクラス 21a〜24a…第1のGUI用のVモジュールを構成
するクラス 21b〜24b…第2のGUI用のVモジュールを構成
するクラス 201〜204…特定のGUIに特化したプログラム 201a〜204a…第1のGUIに特化したプログラ
ム 201b〜204b…第2のGUIに特化したプログラ
ム 3…Cモジュール 31〜34…Cモジュールを構成するクラス 4,4a…GUI非依存型Vモジュール 41〜44…GUI非依存型Vモジュールを構成するク
ラス 5…GUI依存型Vモジュール 51〜54…GUI依存型Vモジュールを構成するクラ
ス 5a…第1のGUI用のGUI依存型Vモジュール 5b…第2のGUI用のGUI依存型Vモジュール 51a〜54a…第1のGUI用のGUI依存型Vモジ
ュールを構成するクラス 51b〜54b…第2のGUI用のGUI依存型Vモジ
ュールを構成するクラス 501a〜504a…第1のGUIに特化したプログラ
ム 501b〜504b…第2のGUIに特化したプログラ
ム 6…VCモジュール 61…複数種類のGUIに共通の選択ボタン構成物オブ
ジェクトからなるクラス 62…複数種類のGUIに共通の選択肢構成物オブジェ
クトからなるクラス 7…VGモジュール 71…特定のGUIに固有の選択ボタン部品オブジェク
トからなるクラス 72…特定のGUIに固有の選択肢部品オブジェクトか
らなるクラス 8…ウィンドウ 81…選択ボタン・フィールド 82…選択肢フィールド 9a…第1の既存のVモジュール 9b…第2の既存のVモジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安田 道雄 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 (72)発明者 今井 藤雄 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 (72)発明者 伊藤 弘志 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 (72)発明者 田中 俊宏 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 (72)発明者 太田 智彦 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 Fターム(参考) 5B076 DD05 DF08

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】オブジェクト指向論に基づくGUIアプリ
    ケーションの開発をMVCモデルを用いて行う際の当該
    MVCモデルのクラス設計に適用される、GUIアプリ
    ケーション開発におけるクラス設計方法であって、 前記MVCモデルを構成するモジュールである、前記G
    UIアプリケーションの動作に関与するMモジュール、
    GUI画面の仕様に関与するVモジュール、及び前記M
    モジュールと前記Vモジュールとの間のメッセージの受
    渡しに関与するCモジュールのうち、 前記Mモジュール及び前記Cモジュールを既存の形態の
    まま保つ一方、 前記Vモジュールを、前記GUI画面の仕様を実現する
    上でGUIの種類に依存せずに機能する複数のクラスを
    パッケージ化してなるGUI非依存型Vモジュールと、
    前記GUIの種類に依存して機能する複数のクラスをパ
    ッケージ化してなるGUI依存型Vモジュールとに分割
    して設定する、 ことを特徴とするGUIアプリケーション開発における
    クラス設計方法。
  2. 【請求項2】前記GUI非依存型Vモジュールを構成す
    る前記複数のクラスの一部に、前記Vモジュールから前
    記Cモジュールへのメッセージの受渡しに関与していた
    プログラムを含ませる、 ことを特徴とする請求項1に記載のGUIアプリケーシ
    ョン開発におけるクラス設計方法。
  3. 【請求項3】前記GUI非依存型Vモジュールを構成す
    る前記複数のクラスの一部に、前記GUI依存型Vモジ
    ュールへのメッセージの受渡しに関与するプログラムを
    含ませると共に、 前記GUI依存型Vモジュールを構成する前記複数のク
    ラスの一部に、前記GUI非依存型Vモジュールへのメ
    ッセージの受渡しに関与するプログラムを含ませる、 ことを特徴とする請求項2に記載のGUIアプリケーシ
    ョン開発におけるクラス設計方法。
  4. 【請求項4】前記GUI非依存型Vモジュールのクラス
    設計は、 複数種類のGUIに共通の画面構成物に関するクラス群
    をパッケージ化することにより行い、 前記GUI依存型Vモジュールのクラス設計は、 前記複数種類のGUIごとに、前記画面構成物に対応す
    る個々のGUIに固有のGUI部品に関するクラス群を
    パッケージ化することにより行う、 ことを特徴とする請求項1、2又は3に記載のGUIア
    プリケーション開発におけるクラス設計方法。
  5. 【請求項5】前記GUI非依存型Vモジュール及び前記
    GUI依存型Vモジュールの作成に際しては、 前記複数種類のGUIにそれぞれ対応した複数種類の既
    存のVモジュールを準備し、 当該複数種類の既存のVモジュールに共通して存在する
    クラス群を、前記GUI非依存型Vモジュールとして設
    定すると共に、 当該複数種類の既存のVモジュールに共通しない残余の
    クラス群を、前記複数種類のGUIにそれぞれ対応させ
    るべき前記GUI依存型Vモジュールとして設定する、 ことを特徴とする請求項1、2、3又は4に記載のGU
    Iアプリケーション開発におけるクラス設計方法。
  6. 【請求項6】さらに、前記GUI非依存型Vモジュール
    における前記クラス群に、前記GUIアプリケーション
    に固有のクラスを付加する、 ことを特徴とする請求項5に記載のGUIアプリケーシ
    ョン開発におけるクラス設計方法。
  7. 【請求項7】前記GUI非依存型Vモジュールにおける
    前記クラス群への前記固有のクラスの付加に際しては、 前記オブジェクト指向論で適用される継承の関連を利用
    する、 ことを特徴とする請求項6に記載のGUIアプリケーシ
    ョン開発におけるクラス設計方法。
  8. 【請求項8】前記GUI非依存型Vモジュールにおける
    前記クラス群への前記固有のクラスの付加に際しては、 前記オブジェクト指向論で適用される委譲の関連を利用
    する、 ことを特徴とする請求項6に記載のGUIアプリケーシ
    ョン開発におけるクラス設計方法。
  9. 【請求項9】前記既存のVモジュールとしては、 市販のものを利用する、 ことを特徴とする請求項5、6、7又は8に記載のGU
    Iアプリケーション開発におけるクラス設計方法。
JP10301280A 1998-10-22 1998-10-22 Guiアプリケーション開発におけるクラス設計方法 Pending JP2000132385A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10301280A JP2000132385A (ja) 1998-10-22 1998-10-22 Guiアプリケーション開発におけるクラス設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10301280A JP2000132385A (ja) 1998-10-22 1998-10-22 Guiアプリケーション開発におけるクラス設計方法

Publications (1)

Publication Number Publication Date
JP2000132385A true JP2000132385A (ja) 2000-05-12

Family

ID=17894933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10301280A Pending JP2000132385A (ja) 1998-10-22 1998-10-22 Guiアプリケーション開発におけるクラス設計方法

Country Status (1)

Country Link
JP (1) JP2000132385A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1755036A1 (en) 2005-08-19 2007-02-21 Sony Corporation System-independent application state management
JP2012108907A (ja) * 2010-11-18 2012-06-07 Korea Electronics Telecommun ユーザーフィードバック基盤の動的エコシステム再構成方法
CN108334322A (zh) * 2017-12-30 2018-07-27 方正璞华软件(武汉)股份有限公司 一种mvc框架的数据请求方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1755036A1 (en) 2005-08-19 2007-02-21 Sony Corporation System-independent application state management
JP2012108907A (ja) * 2010-11-18 2012-06-07 Korea Electronics Telecommun ユーザーフィードバック基盤の動的エコシステム再構成方法
CN108334322A (zh) * 2017-12-30 2018-07-27 方正璞华软件(武汉)股份有限公司 一种mvc框架的数据请求方法及系统
CN108334322B (zh) * 2017-12-30 2021-07-13 方正璞华软件(武汉)股份有限公司 一种mvc框架的数据请求方法及系统

Similar Documents

Publication Publication Date Title
US5872956A (en) Design methodology for device drivers supporting various operating systems network protocols and adapter hardware
US7913223B2 (en) Method and system for development and use of a user-interface for operations, administration, maintenance and provisioning of a telecommunications system
CN102087594B (zh) 扩展点和插件的管理方法和装置
US20140282398A1 (en) Platform for developing and distributing mobile applications
CN113703749A (zh) 一种基于可视化编程技术的信息系统及其构建方法
WO2015048206A1 (en) Rendering interpreter for visualizing data provided from restricted environment container
EP1811447A1 (en) Declarative adaptation of software entities stored in an object repository
JPH08241188A (ja) オブジェクト指向開発環境を処理するデータ処理システム及び方法
US6115039A (en) Processes and apparatuses for creating non-native displays on a computer
KR100330535B1 (ko) 사용자 스테이션과 애플리케이션 프로그램 사이의 통신을 위한 개선된 프리젠테이션 방법 및 시스템
US20070028212A1 (en) Extending expression-based syntax for creating object instances
JPH10320182A (ja) コンピュータ・プログラムを導入し、構成するための方法および、コンピュータ・プログラム製品
CN111610972B (zh) 页面生成方法、装置、设备及存储介质
CN110858356A (zh) 基于微服务架构的制造执行系统
CA2498724A1 (en) System and method for interactive wireless applications with conditional ui controls and screen navigation
CN105843638A (zh) 一种Spring旧版本框架的升级改造方法
US10999369B2 (en) Network topology templates for internal states of management and control planes
US7187380B2 (en) Telecommunications graphical service program
CN116506295A (zh) 一种容器化虚拟网元服务功能链构建方法、装置、设备和介质
CN109240684A (zh) 一种页面业务逻辑实现方法及系统
US20070245296A1 (en) Code management in a distributed software development environment
JP4167643B2 (ja) 業務システムの運用方法、運用管理システムおよび運用プログラム
JP2000132385A (ja) Guiアプリケーション開発におけるクラス設計方法
KR102492788B1 (ko) 소프트웨어 정의 센터에서 그룹 네트워크 구축 장치 및 방법
CN110493143A (zh) 动态调整消息发布频率的方法、系统、装置及介质