JP2002157117A - フレームワーク開発支援装置及びフレームワーク開発支援方法 - Google Patents
フレームワーク開発支援装置及びフレームワーク開発支援方法Info
- Publication number
- JP2002157117A JP2002157117A JP2000354644A JP2000354644A JP2002157117A JP 2002157117 A JP2002157117 A JP 2002157117A JP 2000354644 A JP2000354644 A JP 2000354644A JP 2000354644 A JP2000354644 A JP 2000354644A JP 2002157117 A JP2002157117 A JP 2002157117A
- Authority
- JP
- Japan
- Prior art keywords
- function
- framework
- use case
- model
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
図る。 【解決手段】 オブジェクトモデルを用いて、要求機能
を実行するフレームワークの開発を支援するフレームワ
ーク開発支援装置において、利用者からフレームワーク
に対する要求機能の入力を受け付け、受け付けた要求機
能を分析して、要求機能から変動しない要求機能の部分
をユースケースとして抽出し、要求機能から変動する要
求機能の部分を拡張点として抽出する要求機能編集部3
と、上記要求機能として、ユースケースと拡張点とを格
納する要求機能格納部4と、オブジェクトモデルを編集
するオブジェクトモデル編集部1と、上記オブジェクト
モデルを格納するオブジェクトモデル格納部2と、上記
オブジェクトモデルと上記ユースケースとを対応づける
追跡関係を生成する追跡関係編集部5と、上記追跡関係
を格納する追跡関係格納部6とを備える。
Description
によるソフトウェア開発を支援する装置に関し、より詳
細にはオブジェクト指向フレームワーク(以下、フレー
ムワークと略)の開発を支援する装置に関する。
々なアプリケーションに共通する構造を持った雛型ソフ
トウェアであり、アプリケーション開発者はフレームワ
ークを自分が望むように改造することにより、所望のア
プリケーションを効率良く開発できる。フレームワーク
の技術的基盤に関しては、「デザインパターンプログラ
ミング」(Wolfgang Pree著、トッパン
刊、1996年)、「オブジェクト指向における再利用
のためのデザインパターン」(Eric Gamma他
著、ソフトバンク刊、1995年)に詳しい。フレーム
ワーク技術は、一般的なオブジェクト指向ソフトウェア
開発で利用可能であり、様々な問題領域向けのフレーム
ワークが存在する。
ば、特表平08−505721「オブジェクト指向フレ
ームワーク・システム」、特表平08−508355
「並行フレームワーク・システム」、特表平09−50
6191「グラフィック・エディタ・フレームワーク・
システム」、特開平10−240531「分散型コンピ
ューターシステムフレームワークのためのシステム、方
法及び製品」、特開平11−073321「フレームワ
ークおよびソフトウェア・システムを開発する方法」な
どがある。
には、従来のソフトウェア開発とは異なる側面がある。
まず、従来のソフトウェア開発について説明する。一般
のソフトウェア開発方法論、例えば、「UMLによる統
一ソフトウェア開発プロセス」(Ivar Jacob
son他著、翔泳社刊、2000年)では、開発者は、
まずソフトウェアの要求機能を把握し、それらを実現で
きるように分析設計する。要求機能の把握では、これか
ら開発しようとするソフトウェアの要求機能を固定化
し、それらを「ユースケース」としてモデル化する。分
析設計では、ユースケースを実現できるようにオブジェ
クトモデル(例えば、クラス図など)を作成する。この
ようなソフトウェア開発方法を支援するツールとしては
Rational Roseが有名である。
イズされることが必須なので、フレームワークを開発す
るためには、アプリケーション毎に変動する仕様部分と
アプリケーション間で共通する仕様部分を明確化する必
要がある。前述の「デザインパターンプログラミング」
では、変動する仕様部分を「ホットスポット」、変動し
ない共通仕様部分を「フローズンスポット」と呼んでい
る。即ち、フレームワーク開発ではホットスポットとフ
ローズンスポットを識別して、それらの開発情報を管理
する点が特異であり重要である。ホットスポットとフロ
ーズンスポットの情報管理方法の一例が、特開平11−
237982「ソフトウェア部品開発支援装置」に開示
されている。この特開平11−237982では、クラ
ス図中の属性と操作について、ホットスポットに該当す
るものにキーワード「variant」を付加すること
により情報管理している。
ブジェクトモデル格納部2のデータ構造を図40に示
す。図39において、オブジェクトモデル編集部1p
は、フレームワーク分析設計者101がオブジェクトモ
デルを編集して、それをオブジェクトモデル格納部2p
に格納する機能ブロック、オブジェクトモデル格納部2
pは、オブジェクトモデルを格納する機能ブロック、1
01はフレームワークの分析設計を行う作業者である。
図40において、オブジェクトモデル格納部2pが格納
するクラスは、フレームワーク分析設計者101が作成
したオブジェクトモデルに含まれるクラス201と、ク
ラス201間の関連202と、クラス201をまとめる
オブジェクトモデルパッケージ203である。
ームワーク開発に特有で重要な「フローズンスポットと
ホットスポットに対する要求仕様」が管理されていな
い。なぜなら、一般のオブジェクト開発指向方法論、例
えば、前述の「UMLによる統一ソフトウェア開発プロ
セス」においては、ソフトウェアに対する要求機能をユ
ースケースとして固定化してしまい、変動する要求機能
に関する情報を管理しないからである。なお、UML
Ver1.3では、ユースケース間の関連としてキーワ
ード「extend」を付加して「ユースケースの拡張
関連」を定義しているが、これは要求機能の固定的な拡
張を表しており、「ユースケースの拡張関連」をフレー
ムワーク内の変動するホットスポット記述に適用した従
来技術は無い。
ットスポット管理方法では、分析設計中のクラス図内に
有る属性と操作にホットスポットを関連付けて宣言して
おり、そもそも分析設計作業への入力情報となる要求ホ
ットスポットを管理していない。このように、「フロー
ズンスポットとホットスポットに対する要求仕様」が管
理されていないためにフレームワーク開発において、以
下の問題が発生する。
分が一般論で推測したホットスポット、あるいは実装仕
様にのみ貢献するホットスポットしか組み込めない。こ
れではフレームワークが一般的/抽象化し過ぎて過剰投
資になるか、あるいは本当に必要なホットスポットが作
り込まれない危険がある。
たアプリケーションのソフトウェア境界が不明瞭なまま
フレームワークの分析設計を行っている。これでは、フ
レームワークの分析設計の範囲が場当たり的/試行錯誤
的になってしまう。
情報(例えば、ホットスポットが実際に変更される予想
タイミングなど)が管理できていなので、仮にホットス
ポットがリストアップされても、各ホットスポットの優
先度が不明確なままである。これでは、重要なホットス
ポットが分析設計されなかったり、あるいは重要でない
ホットスポットばかりが分析設計されてしまう危険があ
る。
レームワークが提供するホットスポットを理解するため
に、フレームワークの内部構造を示すオブジェクトモデ
ルを理解する必要がある。これでは、アプリケーション
開発者にとってフレームワークを使用することが困難で
ある。
ットスポットに対する要求仕様を管理して、フレームワ
ーク開発とその利用を効率化することである。
ワーク開発支援装置は、アプリケーションに共通する雛
型ソフトウェアを有するモデルを用いて、利用者が要求
する要求機能を実行するフレームワークの開発を支援す
るフレームワーク開発支援装置において、利用者からフ
レームワークに対する要求機能の入力を受け付け、受け
付けた要求機能を編集する要求機能編集部と、上記要求
機能編集部が編集した要求機能を格納する要求機能格納
部と、上記モデルを編集するモデル編集部と、上記モデ
ル編集部が編集したモデルを格納するモデル格納部と、
上記モデル格納部に格納されたモデルと上記要求機能格
納部に格納された要求機能とを対応づける追跡関係を生
成する追跡関係編集部と、上記追跡関係編集部が生成し
た追跡関係を格納する追跡関係格納部とを備えることを
特徴とする。
能を分析して、要求機能から変動しない要求機能の部分
をユースケースとして抽出し、要求機能から変動する要
求機能の部分を拡張点として抽出し、上記要求機能格納
部は、要求機能として、上記要求機能編集部が抽出した
ユースケースと拡張点とを格納し、上記追跡関係編集部
は、上記モデル格納部に格納されたモデルと上記ユース
ケース格納部に格納されたユースケースとを対応づける
追跡関係を生成することを特徴とする。
受け付け、受け付けた複数の要求機能から、共通する機
能の部分を抽出してユースケースとすること特徴とす
る。
と上記拡張点との対応関係を定義する拡張関係を生成
し、上記要求機能格納部は、上記要求機能編集部が生成
した拡張関係を格納することを特徴とする。
スを含むユースケースパッケージを生成し、上記追跡関
係編集部は、上記モデルと、上記ユースケースパッケー
ジとを対応付ける追跡関係を生成し、上記フレームワー
ク開発支援装置は、さらに、上記ユースケースパッケー
ジを格納する要求機能パッケージ格納部を備える特徴と
する。
と上記拡張点との対応関係を定義する拡張関係を生成
し、上記ユースケースパッケージに含まれる複数のユー
スケースそれぞれに対応づけられる複数の拡張点を、上
記拡張関係に基づいて抽出し、抽出した複数の拡張点を
アプリケーションパッケージとして生成することを特徴
とする。
に、上記拡張点に関する情報を要求ホットスポット情報
として入力を受け付け、受け付けた要求ホットスポット
情報を管理する要求ホットスポット編集部と、上記要求
ホットスポット編集部が管理する要求ホットスポット情
報を格納する要求ホットスポット格納部とを備えること
を特徴とする。
けた要求ホットスポット情報を解析し、解析結果を用い
て拡張点を生成し、生成した拡張点と上記要求機能格納
部に格納されたユースケースとを対応づけて拡張関係を
生成し、生成した拡張点と生成した拡張関係とを上記要
求機能格納部へ格納することを特徴とする。
求機能格納部に格納された拡張点を検索し、上記要求ホ
ットスポット情報によって要求される要求機能を実行す
る拡張点を検出することを特徴とする。
ットスポット情報として、変動する要求機能の詳細と、
拡張点に対応するモデルに関する情報を受け付けること
を特徴とする。
に、上記要求機能格納部に格納されたユースケースに基
づいて、上記モデルを生成するモデル生成スクリプトを
生成するモデル生成スクリプト編集部と、上記モデル生
成スクリプト編集部が生成したモデル生成スクリプトを
格納するモデル生成スクリプト格納部とを備えることを
特徴とする。
に、フレームワークとして利用できるモデル生成スクリ
プトを上記モデル生成部スクリプト格納部から検出し、
検出したモデル生成スクリプトを編集してアプリケーシ
ョンモデルを生成するアプリケーションモデル生成部を
備えることを特徴とする。
法は、アプリケーションに共通する雛型ソフトウェアか
ら構成されるモデルを用いて、利用者が要求する要求機
能を実行するフレームワークの開発を支援するフレーム
ワーク開発支援方法において、フレームワークに対する
要求機能の入力を受け付け、受け付けた要求機能を管理
し、要求機能と、要求機能を実現するモデルとを対応関
係づける追跡関係を生成し、生成した追跡関係を管理す
ることを特徴とする。
に、開発しようとしているフレームワークに対応する要
求機能と、フレームワークに基づいて開発するアプリケ
ーションに対応する要求機能とを分離して管理すること
を特徴とする。
に、フレームワークに要求される機能に関する情報を要
求ホットスポット情報として入力を受け付け、受け付け
た要求ホットスポット情報を管理することを特徴とす
る。
に、上記追跡関係に基づいて、フレームワークに対する
要求機能と対応づけられるモデルを用いて、要求機能を
実行させるモデル生成スクリプトを生成することを特徴
とする。
「フレームワーク」とは、特定問題領域の様々なアプリ
ケーションに共通する構造を持った雛型ソフトウェアと
する。従って、アプリケーション開発者はフレームワー
クを自分が望むように改造することにより所望のアプリ
ケーションを効率良く開発できる。また、「ホットスポ
ット」とは、フレームワークのうち、アプリケーション
毎に変動する仕様部分とし、「フローズンスポット」と
は、フレームワークのうち、アプリケーション間で共通
する仕様部分とする。この明細書内において記載するモ
デル記法は、業界標準であるUML(Unified
Modeling Language)Ver1.3に
準拠している。しかしながら、上記以外の言語を用いて
表すことも可能であり、この発明は、UMLで表したも
のに限られるわけではない。
明する。図1は、この発明の実施の形態1のフレームワ
ーク開発支援装置の一例を示す構成図である。図におい
て、オブジェクトモデル編集部(モデル編集部)1は、
オブジェクトモデルを編集してそれをオブジェクトモデ
ル格納部2に格納する機能ブロック、オブジェクトモデ
ル格納部(モデル格納部)2は、オブジェクトモデルを
格納する機能ブロック、要求機能編集部3は、要求機能
を編集してそれを要求機能格納部4に格納する機能ブロ
ック、要求機能格納部4は、要求機能を格納する機能ブ
ロック、追跡関係編集部5は、要求機能格納部4に格納
されている要求機能とオブジェクトモデル格納部2に格
納されているオブジェクトモデルの間の追跡関係を編集
して追跡関係格納部6に格納する機能ブロック、追跡関
係格納部6は、追跡関係編集部5で編集した追跡関係を
格納する機能ブロック、フレームワーク分析設計者10
1は、フレームワークの分析設計を行う作業者、フレー
ムワーク要求把握者102は、フレームワークに対する
要求を把握して明確化する作業者である。
機能編集部3を用いてフレームワークに対する要求機能
を明確化する。フレームワーク分析設計者101は、要
求機能編集部3を用いてフレームワークに対する要求機
能を参照しつつ、オブジェクトモデル編集部1を用いて
フレームワークのオブジェクトモデルを分析設計する。
また、フレームワーク分析設計者101は、追跡関係編
集部5を用いて要求機能とオブジェクトモデルの間の追
跡関係を設定する。
求機能格納部4と追跡関係格納部6のデータ構造の一例
を示すクラス図である。図において、オブジェクトモデ
ル格納部2が格納するクラスは、フレームワーク分析設
計者101が作成したオブジェクトモデルに含まれるク
ラス201と、クラス201間の関連202と、クラス
201をまとめるオブジェクトモデルパッケージ203
である。
レームワーク要求把握者102が発見したフレームワー
クに対する要求機能に該当するユースケース204と、
ユースケース204と関連する外部の役割に該当するア
クター205と、ユースケース204間の拡張元と拡張
先の関係を示す拡張関係206と、拡張元であるユース
ケース204が持つ拡張点207である。追跡関係格納
部6が格納するクラスは、オブジェクトモデルパッケー
ジ203がどのユースケース204を実現しているかを
辿る追跡関係208である。追跡関係208は、オブジ
ェクトモデルパッケージ203とユースケース204と
の対応関係を定めるものである。なお、「ユースケー
ス」と「アクター」と言う用語は、UMLの定義に準拠
している。
トモデルパッケージ、ユースケース、アクターそれぞれ
の具体的な一例をクラスインスタンス、オブジェクトモ
デルパッケージインスタンス、ユースケースインスタン
ス、アクターインスタンスという。しかしながら、厳密
な区別をしない場合もある。クラス、オブジェクトモデ
ルパッケージ、ユースケース、アクターとして説明する
場合は、それぞれに含まれるインスタンスの集合、ある
いは、それぞれに含まれるインスタンの内、いずれか一
つを示す。
図3から図5を用いて説明する。図3は、要求機能編集
部3が表示する画面例である。図において、301はフ
レームワーク分析設計者101やフレームワーク要求把
握者102が作成したモデルをグラフィカルに表示・編
集できる描画領域、302は要求機能をモデル化するの
に使用するコマンドボタンを格納している要求機能編集
ツール、303はアクター205のインスタンス(アク
ターインスタンス)を追加するためのコマンドボタン、
304はユースケース204のインスタンス(ユースケ
ースインスタンス)を追加するためのコマンドボタン、
305はアクター205とユースケース204の間の更
新関連を追加するコマンドボタン、306はユースケー
ス204のインスタンスに拡張点207のインスタンス
を追加するコマンドボタン、307はユースケース20
4間の拡張関係206を追加するコマンドボタン、30
8は追跡関係編集部5の画面を表示するコマンドボタン
である。
いる内容は、本発明を使ってフレームワーク要求把握者
102がモデル化したサンプルであり、このサンプル
は、一般的なエディタアプリケーションに関する要求機
能を記述したモデルである。401〜403まではアク
ターインスタンス、404〜415まではユースケース
インスタンスである。
示する画面例である。なお、図4の描画領域301に表
示されている内容は本発明を使ってフレームワーク分析
設計者101が分析設計したサンプルであり、このサン
プルは、図3の描画領域301に示された要求機能を実
現すべく記述したモデルである。417はオブジェクト
モデルパッケージインスタンス、418〜421までは
クラスインスタンスである。
例である。図において、309はユースケースを選択し
て表示するツール、310は要求機能格納部4に格納さ
れている全ユースケースを表示するリストボックス、3
11はリストボックス310で選択されているユースケ
ースを描画領域301に追加表示するコマンドボタン、
312はオブジェクトモデルパッケージを選択して表示
するツール、313はオブジェクトモデル格納部2に格
納されている全オブジェクトモデルパッケージを表示す
るリストボックス、314はリストボックス313で選
択されているオブジェクトモデルパッケージを描画領域
301に追加表示するコマンドボタン、315はオブジ
ェクトモデルパッケージとユースケースの間の追跡関係
を編集するための追跡関係編集ツール、316はオブジ
ェクトモデルパッケージとユースケースの間の追跡関係
(対応関係)を追加するためのコマンドボタンである。
いる内容は、本発明を使ってフレームワーク分析設計者
101がユースケースとオブジェクトモデルパッケージ
の間の追跡関係を設定したサンプルであり、このサンプ
ルは、図3の描画領域301に記述されたユースケース
と、図4の描画領域301に記述されたオブジェクトモ
デルパッケージとの間の追跡関係を記述したモデルであ
る。417は図4中の同番号、404〜407までは図
3中の同番号と同じである。
能ブロックの動作を図6から図13を用いて説明する。
図6は、図3中の[アクター追加]ボタン303を作業
者がクリックした際の要求機能編集部3の動作の一例を
示す流れ図である。図において、はじめに、マウスが描
画領域301内で作業者によってクリックされたかを判
定し、NOの場合はYESになるまで一定周期でこの判
定を繰り返す(S0101)。S0101でYESにな
ったら、アクター205をコンストラクトして(S01
02)、作業者がマウスクリックした位置にコンストラ
クトしたアクターインスタンスを表示する(S010
3)。そして、該アクターインスタンスの名前を入力す
るプロンプトを表示して(S0104)、作業者が名前
を入力したか判定し、NOの場合はYESになるまで一
定周期でこの判定を繰り返す(S0105)。S010
5でYESにになったら、作業者が入力した名前を該ア
クターインスタンスに設定して描画領域301に表示す
る(S0106)。最後に、該アクターインスタンスを
要求機能格納部4に格納して(S0107)終了する。
タン304を作業者がクリックした際の要求機能編集部
3の動作の一例を示す流れ図である。図において、はじ
めに、マウスが描画領域301内で作業者によってクリ
ックされたかを判定し、NOの場合はYESになるまで
一定周期でこの判定を繰り返す(S0201)。S02
01でYESになったら、ユースケース204をコンス
トラクトして(S0202)、作業者がマウスクリック
した位置にコンストラクトしたユースケースインスタン
スを表示する(S0203)。そして、該ユースケース
インスタンスの名前を入力するプロンプトを表示して
(S0204)、作業者が名前を入力したか判定し、N
Oの場合はYESになるまで一定周期でこの判定を繰り
返す(S0205)。S0205でYESになったら、
作業者が入力した名前を該ユースケースインスタンスに
設定して描画領域301に表示する(S0206)。最
後に、該ユースケースインスタンスを要求機能格納部4
に格納して(S0207)終了する。
305を作業者がクリックした際の要求機能編集部3の
動作の一例を示す流れ図である。図において、はじめ
に、マウスが描画領域301内のアクターインスタンス
上でダウンされたか(マウスダウンすることを用いて1
つのアクターインスタンスが選択された状態)を判定
し、NOの場合はYESになるまで一定周期でこの判定
を繰り返す(S0301)。S0301でYESになっ
たら、マウスが描画領域301内のユースケースインス
タンス上でアップされたか(上記でマウスダウンされた
状態から初めてマウスアップされたとき)を判定し、N
Oの場合は選択が間違っているので異常操作として終了
する。S0302でYESの場合、マウスダウン時のア
クターインスタンスからマウスアップ時のユースケース
インスタンスに向けて交信関連を表す線グラフィックを
描画領域301上に表示する(S0303)。最後に、
該アクターインスタンスと該ユースケースインスタンス
間との交信関連を要求機能格納部4に格納して(S03
04)終了する。
06を作業者がクリックした際の要求機能編集部3の動
作の一例を示す流れ図である。図において、はじめに、
マウスが描画領域301内のユースケースインスタンス
上でクリックされたかを判定し、NOの場合はYESに
なるまで一定周期でこの判定を繰り返す(S040
1)。S0401でYESになったら、拡張点インスタ
ンスの名前を入力するプロンプトを表示して(S040
2)、作業者が名前を入力したか判定し、NOの場合は
YESになるまで一定周期でこの判定を繰り返す(S0
403)。S0403でYESになったら、拡張点20
7をコンストラクト(S0404)し、入力された名前
をコンストラクトした拡張点インスタンスに設定(S0
405)し、マウスクリックされたユースケースインス
タンス内に拡張点の名前を表示(S0406)する。最
後に、該拡張点インスタンスを要求機能部4に格納して
(S0407)終了する。
ン307を作業者がクリックした際の要求機能編集部3
の動作の一例を示す流れ図である。図において、はじめ
に、マウスが描画領域301内のユースケースインスタ
ンス上でダウンされたかを判定し、NOの場合はYES
になるまで一定周期でこの判定を繰り返す(S050
1)。S0501でYESになったら、マウスが描画領
域301内の別のユースケースインスタンス上でアップ
されたかを判定する(S0502)。S0502がNO
の場合、選択が間違っているので異常操作として終了す
る。S0502がYESの場合、マウスダウン時のユー
スケースインスタンスを拡張先に設定している拡張関係
206のインスタンスを要求機能格納部4から検索し
(S0503)、該当する拡張関係インスタンスは無い
か判定する(S0504)。
のユースケースインスタンスは、既に他のユースケース
から拡張されているので異常操作として終了する。S0
504がYESの場合、マウスアップ時のユースケース
インスタンスに定義されている全ての拡張点インスタン
スの名前を表示して選択を促し(S0505)、拡張点
インスタンスが選択されたかを判定する(S050
6)。
で一定周期でこの判定を繰り返す。S0506がYES
の場合、拡張関係206をコンストラクト(S050
7)し、コンストラクトされた拡張関係インスタンスと
選択された拡張点インスタンスを関連付ける(S050
8)。次に、マウスダウン時のユースケースインスタン
スを該拡張関係インスタンスの拡張先として設定(S0
509)し、更に、マウスアップ時のユースケースイン
スタンスを該拡張関係インスタンスの拡張元として設定
(S0510)する。そして、マウスダウン時のユース
ケースインスタンスからマウスアップ時のユースケース
インスタンスに向けて拡張関係を表す点線矢印グラフィ
ックとラベル“<<extend>>”を表示(S05
11)し、更に、選択された拡張点インスタンスの名前
を拡張関係を表す点線矢印グラフィック上に表示(S0
512)する。最後に、該拡張関係インスタンスを要求
機能格納部4に格納(S0513)し終了する。
ル309の[画面に追加]ボタン311を作業者がクリ
ックした際の追跡関係編集部5の動作の一例を示す流れ
図である。図において、はじめに、リストボックス31
0で作業者によって選択されているユースケースのリス
トを取得する(S0601)。次に、取得したユースケ
ースのリスト中で描画領域301に表示されていないユ
ースケースのみ追加表示(S0602)して終了する。
択ツール312の[画面に追加]ボタン314を作業者
がクリックした際の追跡関係編集部5の動作の一例を示
す流れ図である。図において、はじめに、リストボック
ス313で作業者によって選択されているオブジェクト
モデルパッケージのリストを取得する(S0701)。
次に、取得したオブジェクトモデルパッケージのリスト
中で描画領域301に表示されていないオブジェクトモ
デルパッケージのみ追加表示(S0702)して終了す
る。
ン316を作業者がクリックした際の追跡関係編集部5
の動作の一例を示す流れ図である。図において、はじめ
に、マウスが描画領域301内のオブジェクトモデルパ
ッケージインスタンス上でダウンされたかを判定し(S
0801)、NOの場合はYESになるまで一定周期で
この判定を繰り返す。S0801でYESになったら、
マウスが描画領域301内のユースケースインスタンス
上でアップされたかを判定し(S0802)、NOの場
合は選択が間違っているので異常操作として終了する。
8をコンストラクトする(S0803)。そして、コン
ストラクトされた追跡関係インスタンスとマウスダウン
時のオブジェクトモデルパッケージインスタンスを関連
付けて(S0804)、更に、コンストラクトされた追
跡関係インスタンスとマウスアップ時のユースケースイ
ンスタンスを関連付ける(S0805)。次に、マウス
ダウン時のオブジェクトモデルパッケージインスタンス
からマウスアップ時のユースケースインスタンスに向け
て追跡関係を表す点線矢印グラフィックとラベル“<<
trace>>”を表示する(S0806)。最後に、
該追跡関係インスタンスを追跡関係格納部6に格納(S
0807)して終了する。
のフローズンスポットがユースケース、ホットスポット
が拡張点として明確に定義されて開発支援装置に管理さ
れるので、フレームワーク分析設計者101はそれらを
参照することによりフレームワークのカスタマイズ性を
適切に分析設計することが可能となる。
ームワーク開発支援装置は、開発しようとしているフレ
ームワークに対する要求機能を管理し、その要求機能を
実現しているオブジェクトモデルへの追跡関係を管理す
ることを特徴とする。
図19を用いて説明する。図14は、この発明の実施の
形態2のフレームワーク開発支援装置の一例を示す構成
図である。図において、要求機能パッケージ格納部7
は、要求機能を表すユースケース群をグループ化したパ
ッケージを格納する機能ブロックである。なお、その他
の構成要素は、図1において同じ符号で示した構成要素
と同じである。
データ構造の一例を示すクラス図である。図において、
要求機能パッケージ格納部7が格納するクラスは、ユー
スケースパッケージ209である。なお、その他の構成
要素は、図2において同じ符号で示した構成要素と同じ
である。
を格納する際に、作業者が使用する要求機能機能編集部
3の画面例を図16を用いて説明する。図において、3
17はフレームワーク要求把握者がユースケースをグル
ープ化するユースケースパッケージ209のインスタン
スを追加するコマンドボタンである。なお、その他の構
成要素は、図3において同じ符号で示した構成要素と同
じである。
ている内容は、本発明を使ってフレームワーク要求把握
者102がユースケースをパッケージ化したサンプルで
あり、このサンプルは、図3の描画領域301に記述さ
れたユースケースインスタンス群をユースケースパッケ
ージにグループ化したモデルである。422〜424ま
ではユースケースパッケージインスタンス、その他は図
3と同じである。
能編集部3の動作を図17から図19を用いて説明す
る。図17は、図16中の[パッケージ追加]ボタン3
17を作業者がクリックした際の要求機能編集部3の動
作の一例を示す流れ図である。図において、はじめに、
マウスが描画領域301内で作業者によってクリックさ
れたかを判定し、NOの場合はYESになるまで一定周
期でこの判定を繰り返す(S0901)。S0901で
YESになったら、ユースケースパッケージ209をコ
ンストラクトして(S0902)、作業者がマウスクリ
ック位置にコンストラクトしたユースケースパッケージ
インスタンスを表示する(S0903)。そして、該ユ
ースケースパッケージインスタンスの名前を入力するプ
ロンプトを表示して(S0904)、作業者が名前を入
力したか判定し、NOの場合はYESになるまで一定周
期でこの判定を繰り返す(S0905)。S0905で
YESになったら、作業者が入力した名前を該ユースケ
ースパッケージインスタンスに設定して描画領域301
に表示する(S0906)。最後に、該ユースケースパ
ッケージインスタンスを要求機能パッケージ格納部7に
格納して(S0907)終了する。
作業者がユースケースインスタンスを移動した際の要求
機能編集部3の動作の一例を示す流れ図である。図にお
いて、はじめに、ユースケースインスタンスが移動前に
所属していたユースケースパッケージインスタンスを要
求機能パッケージ格納部7から検索(S1001)す
る。該当するユースケースパッケージインスタンスが見
つかったかを判定(S1002)し、NOの場合はS1
004にジャンプする。S1002がYESの場合、移
動されたユースケースインスタンスと移動前に所属して
いたユースケースパッケージインスタンス間の関連を削
除して要求機能パッケージ格納部7を更新(S100
3)する。次に、移動後のユースケースインスタンスが
ユースケースパッケージインスタンスと描画領域301
上で重なっているか判定(S1004)し、NOの場合
は終了する。S1004がYESの場合、移動されたユ
ースケースインスタンスと移動後に重なるユースケース
パッケージインスタンス間の関連を追加して要求機能パ
ッケージ格納部7を更新(S1005)して終了する。
作業者が要求機能パッケージインスタンスを移動した際
の要求機能編集部3の動作の一例を示す流れ図である。
図において、はじめに、該ユースケースパッケージイン
スタンスに描画領域301上で重なっている全ユースケ
ースインスタンスを重なったまま移動(S1101)さ
せる。次に、移動後のユースケースパッケージインスタ
ンスが他のユースケースインスタンスと描画領域301
上で重なっているか判定(S1102)し、NOの場合
はそのまま終了する。S1102がYESの場合、重な
っているユースケースインスタンスが所属しているユー
スケースパッケージインスタンスを要求機能パッケージ
格納部7から検索(S1103)し、該当するユースケ
ースパッケージインスタンスが見つかったか判定する
(S1104)。S1104がYESの場合、重なった
ユースケースインスタンスは既に他のユースケースパッ
ケージに所属しているのでそのまま終了する。S110
4がNOの場合、移動されたユースケースパッケージイ
ンスタンスと移動後に描画領域301上で重なるユース
ケースインスタンス間の関連を追加して要求機能パッケ
ージ格納部7を更新(S1105)して終了する。
とアプリケーションのソフトウェア境界がユースケース
パッケージにより明確に定義されて開発支援装置に管理
されるので、フレームワーク分析設計者101は、それ
らを参照することによりフレームワーク化対象範囲を正
確に把握して計画的に分析設計することが可能となる。
ームワーク開発支援装置は、開発しようとしているフレ
ームワークに対する要求機能と、フレームワークを利用
して開発される予定のアプリケーションに対する要求機
能をそれぞれ分離して管理することを特徴とする。
図24を用いて説明する。図20は、この発明の実施の
形態3のフレームワーク開発支援装置の一例を示す構成
図である。図において、要求ホットスポット編集部8
は、フレームワーク要求把握者102またはフレームワ
ーク分析設計者101が要求ホットスポットを編集して
要求ホットスポット格納部9に格納する機能ブロック、
要求ホットスポット格納部9は、要求ホットスポットを
格納する機能ブロックである。なお、その他の構成要素
は、図14において同じ符号で示した構成要素と同じで
ある。「要求ホットスポット」とは、フレームワーク対
してカスタマイズする情報をいう。この実施の形態で
は、要求ホットスポットがフレームワーク要求把握者1
02によって定義される例を説明する。
データ構造の一例を示すクラス図である。図において、
要求ホットスポット格納部9が格納するクラスは要求ホ
ットスポット210である。なお、その他の構成要素
は、図15において同じ符号で示した構成要素と同じで
ある。
例を図22を用いて説明する。図において、318は要
求ホットスポットに関する情報を入力するフィールド
群、319は要求機能格納部4に格納されているユース
ケースとその拡張点をペアーにして表示するリストボッ
クス、320は入力フィールド群318で定義された該
ホットスポットを実現しているユースケースとその拡張
点のペアーを表示するリストボックス、321はリスト
ボックス319で選択されているユースケースと拡張点
の候補ペアーを該ホットスポットを実現するユースケー
スと拡張点のペアーとしてリストボックス320に追加
するコマンドボタン、322はリストボックス320で
選択されているユースケースと拡張点のペアーを候補と
してリストボックス319に戻すコマンドボタン、32
3は318と319と320で画面表示している内容を
該ホットスポットの前のホットスポットの内容に変更す
るコマンドボタン、324は318と319と320で
画面表示している内容を該ホットスポットの後のホット
スポットの内容に変更するコマンドボタン、325は3
18と320に入力された情報を要求ホットスポット格
納部9に登録して終了するコマンドボタン、326は3
18と320に入力して変更された情報を登録せずに終
了するキャンセルボタンである。
入力されている内容は、本発明を使ってフレームワーク
要求把握者102が入力したサンプルであり、このサン
プルは、図3の描画領域301に記述されたサンプルと
同様に、一般的なエディタアプリケーションに関するも
のである。図23は、図22の入力フィールド群318
の各フィールドの内容を説明する表である。
をクリックした際の要求ホットスポット編集部8の動作
の一例を図24を用いて説明する。図において、はじめ
に、要求ホットスポット210をコンストラクト(S1
201)し、その該要求ホットスポットインスタンスの
属性に入力フィールド群318の値を代入(S010
2)する。次に、該ホットスポットを実現する拡張点を
指示しているリストボックス320に含まれる拡張点の
インスタンスを要求機能格納部4から検索(S120
3)し、検索された拡張点インスタンスと該要求ホット
スポットインスタンスを関連付ける(S1204)。最
後に、該要求ホットスポットインスタンスを要求ホット
スポット格納部9に格納(S1205)して終了する。
ットに対してフレームワーク要求把握者102とフレー
ムワーク分析設計者101が合意した優先度やその他の
情報と、該要求ホットスポットを実現する拡張点を開発
支援装置に管理するので、フレームワーク分析設計者1
01は、それらを参照することにより、重要な要求ホッ
トスポットから順番に分析設計を行い、また、重要な要
求ホットスポットに対する分析設計が洩れることを防止
することが可能となる。
ームワーク開発支援装置は、フレームワークに対する要
求機能を把握する際に有効となる要求ホットスポットに
関する情報を管理することを特徴とする。
37を用いて説明する。図25は、この発明の実施の形
態4のフレームワーク開発支援装置の一例を示す構成図
である。図において、モデル生成スクリプト編集部10
は、フレームワーク分析設計者101がモデル生成スク
リプトを編集して、モデル生成スクリプト格納部11に
格納する機能ブロック、モデル生成スクリプト格納部1
1は、モデル生成スクリプトを格納する機能ブロック、
アプリケーションモデル生成部12は、アプリケーショ
ン開発者103がフレームワークを利用する際に、デフ
ォルトの初期アプリケーションモデルを生成する機能ブ
ロックである。なお、その他の構成要素は、図20にお
いて同じ符号で示した構成要素と同じである。
1のデータ構造の一例を示すクラス図である。図におい
て、モデル生成スクリプト格納部11が格納するクラス
はモデル生成スクリプト211である。なお、その他の
構成要素は、図21において同じ符号で示した構成要素
と同じである。
7から図34を用いて説明する。図27は、モデル生成
スクリプト編集部10とアプリケーションモデル生成部
12を作業者が呼び出す際に、使用する要求機能編集部
3の画面例である。図において、327は描画領域30
1内でフレームワーク分析設計者101によって選択さ
れているユースケースパッケージ、あるいは、ユースケ
ースに対するスクリプトを編集するための画面(例は図
28)を表示させるためのコマンドボタン、328はア
プリケーションモデル生成部12の実行に係わるコマン
ドボタンを収納しているツールボックス、329は描画
領域301内でアプリケーション開発者103によって
選択されているユースケースパッケージに対してアプリ
ケーションモデル生成部12を実行させるコマンドボタ
ンである。なお、その他の構成要素は、図16において
同じ符号で示した構成要素と同じである。また、描画領
域301内に表示されている内容も、図16と同じであ
る。
ト編集部10の画面例である。図において、図28の3
30は図27のサンプルフレームワークユースケースパ
ッケージインスタンス422を選択中にスクリプト編集
ボタン327をクリックして表示される画面、図29の
331は図27の「対象を新規作成する」ユースケース
インスタンス404を選択中にスクリプト編集ボタン3
27をクリックして表示される画面、図30の332は
図27の「対象を保存する」ユースケースインスタンス
405を選択中にスクリプト編集ボタン327をクリッ
クして表示される画面、図31の333は図27の「対
象を読み込む」ユースケースインスタンス406を選択
中にスクリプト編集ボタン327をクリックして表示さ
れる画面、図32の334は図27の「対象を編集す
る」ユースケースインスタンス407を選択中にスクリ
プト編集ボタン327をクリックして表示される画面で
ある。
はフレームワーク分析設計者101がモデル生成スクリ
プトを編集する領域、336はモデル生成スクリプト編
集領域335の内容をモデル生成スクリプト格納部11
に格納して画面を閉じるコマンドボタン、337はモデ
ル生成スクリプト編集領域335の内容を格納しないで
画面を閉じるキャンセルボタンである。なお、モデル生
成スクリプト編集領域335に表示されている内容は、
アプリケーションモデル生成部12が実行するスクリプ
トのサンプルであり、このサンプルは、図4の描画領域
301に表示されているサンプルフレームワークオブジ
ェクトモデル417からデフォルトの初期アプリケーシ
ョンモデルを生成するスクリプトである。
ージ424を選択中にモデル生成コマンドボタン329
をクリックされることにより、アプリケーションモデル
生成部12が生成してオブジェクトモデル格納部2に格
納した初期アプリケーションオブジェクトモデルをオブ
ジェクトモデル編集部1に表示した画面例である。図に
おいて、425と426と427と428、及び426
から418への継承関係、427から420への継承関
係、428から421への継承関係は、モデル生成スク
リプト格納部11に格納されているスクリプト編集領域
335記述のスクリプト(図29では、サンプル(デフ
ォルト)として格納されているスクリプト)をアプリケ
ーションモデル生成部12が実行して生成したものであ
る。なお、その他の構成要素は、図4において同じ符号
で示した構成要素と同じである。
されたデフォルトの初期アプリケーションモデルをアプ
リケーション開発者103が自分のアプリケーション用
に編集したオブジェクトモデルを表示している画面例で
ある。図において、429は図33の425を名前変更
したオブジェクトモデルパッケージ、430は図33の
426を名前変更したクラス、431は図33の427
を名前変更したクラス、432は図33の428を名前
変更したクラス、433と434はクラス432を参考
にアプリケーション開発者103が追加したクラスであ
る。なお、その他の構成要素は、図33において同じ符
号で示した構成要素と同じである。
能ブロックの動作を図35から図37を用いて説明す
る。図35は、図27のスクリプト編集コマンドボタン
327をフレームワーク分析設計者101がクリックし
た際のモデル生成スクリプト編集部10の動作の一例を
示す流れ図である。図において、はじめに、描画領域3
01内で選択されているユースケースパッケージインス
タンス、あるいは、ユースケースインスタンスを検索
(S1301)し、検索がヒットしたか判定(S130
2)する。S1302がNOの場合は対象がフレームワ
ーク分析設計者101によって指定されていないので、
そのまま終了する。
スクリプト編集部10の画面を表示(S1303)し、
ヒットしたユースケースパッケージインスタンス、ある
いは、ユースケースインスタンスの名前を画面タイトル
に表示(S1304)する。そして、ヒットしたユース
ケースパッケージインスタンス、あるいは、ユースケー
スインスタンスに設定されているモデル生成スクリプト
インスタンスをモデル生成スクリプト格納部11から検
索(S1305)し、検索がヒットしたか判定(S13
06)する。S1306がNOの場合は、表示すべき既
存のスクリプトが無いのでそのまま終了する。S130
6がYESの場合は、ヒットしたモデル生成スクリプト
インスタンスの内容をスクリプト編集領域335に表示
(S1307)して終了する。
36をフレームワーク分析設計者101がクリックした
際のモデル生成スクリプト編集部10の動作の一例を示
す流れ図である。図において、はじめに、スクリプト編
集領域335に表示しているモデル生成スクリプトに該
当するインスタンスをモデル生成スクリプト格納部11
から検索(S1401)して、検索がヒットしたかを判
定(S1402)する。S1402がYESの場合、ヒ
ットしたモデル生成スクリプトインスタンスの内容をス
クリプト編集領域335に表示している内容に置換(S
1403)する。S1402がNOの場合、モデル生成
スクリプト211をコンストラクト(S1404)し、
コンストラクトしたモデル生成スクリプトインスタンス
にスクリプト編集領域335に表示している内容を代入
(S1405)する。最後に、該モデル生成スクリプト
インスタンスをモデル生成スクリプト格納部11に格納
(S14046)して終了する。
マンドボタン329をアプリケーション開発者103が
クリックした際のアプリケーションモデル生成部12の
動作の一例を示す流れ図である。図において、はじめ
に、描画領域301内で選択中のユースケースパッケー
ジインスタンスを要求機能パッケージ格納部7から検索
(S1501)し、検索がヒットしたかを判定(S15
02)する。S1502がNOの場合は、アプリケーシ
ョン開発者103が対象となるユースケースパッケージ
インスタンスを指定していないのでそのまま終了する。
S1502がYESの場合、ヒットした該ユースケース
パッケージインスタンスに所属するユースケースインス
タンス群を要求機能格納部4から検索(S1503)
し、検索がヒットしたか判定(S1504)する。
ョン開発者103が対象となるユースケース群を指定し
ていないので、そのまま終了する。S1504がYES
の場合、ヒットした該ユースケースインスタンス群が拡
張先となっている<<extend>>関係を要求機能
格納部4から検索(S1505)し、検索がヒットした
かを判定(S1506)する。
ョン開発者103が拡張元のユースケースインスタンス
を指定していないので、そのまま終了する。S1506
がYESの場合、アプリケーションモデル生成部12
は、オブジェクトモデルパッケージ203をコンストラ
クトして名前を“具象アプリケーション01オブジェク
トモデル”に設定(S1507)し、それをオブジェク
トモデル格納部2に格納(S1508)する。そして、
該“具象アプリケーション01オブジェクトモデル”パ
ッケージとS1503でヒットした拡張先ユースケース
インスタンス群を関係付ける追跡関係208をコンスト
ラクトして追跡格納部6に格納(S1509)する。
は、S1505でヒットした<<extend>>関係
の拡張元になっているユースケースインスタンス群を要
求機能格納部4から検索(S1510)し、それらが所
属するユースケースパッケージインスタンスを要求機能
パッケージ格納部7から検索(S1511)する。そし
て、拡張元になっている該ユースケースパッケージイン
スタンスが関係するオブジェクトモデルパッケージイン
スタンスを追跡関係格納部6から検索(S1512)
し、検索がヒットしたかを判定(S1513)する。
ャンプする。S1513がYESの場合、S1511で
ヒットした拡張元ユースケースパッケージインスタンス
に設定されているモデル生成スクリプトインスタンスを
モデル生成スクリプト格納部11から検索(S151
4)し、検索がヒットしたかを判定(S1515)す
る。S1515がNOの場合、S1517にジャンプす
る。S1515がYESの場合、該モデル生成スクリプ
トインスタンスの内容を実行して、その結果を“具象ア
プリケーション01オブジェクトモデル”パッケージに
格納(S1516)する。
スケースインスタンスに設定されているモデル生成スク
リプトインスタンスをモデル生成スクリプト格納部11
から検索(S1517)し、検索がヒットしたかを判定
(S1518)する。S1518がNOの場合、S15
20にジャンプする。S1518がYESの場合、該モ
デル生成スクリプトインスタンスの内容を実行して、そ
の結果を“具象アプリケーション01オブジェクトモデ
ル”パッケージに格納(S1519)する。最後に、オ
ブジェクトモデル格納部2に格納されている“具象アプ
リケーション01オブジェクトモデル”インスタンスを
更新(S1520)し終了する。
ースパッケージ424を選択中にモデル生成コマンドボ
タン329をクリックされた際の具体的な動作例を図3
7の流れ図に沿って説明する。はじめに、S1501で
図27の簡易図エディタユースケースパッケージ424
がヒットする。S1503で図27の412と413と
414と415のユースケースインスタンスがヒットす
る。S1505で図27の412から404、413か
ら405、414から406、415から407への<
<extend>>関係がヒットする。S1507〜S
1509により図33の“具象アプリケーション01オ
ブジェクトモデル”パッケージインスタンスが生成され
る。
07のユースケースがヒットする。S1511でサンプ
ルフレームワークユースケースパッケージ422がヒッ
トする。S1512で図5の“サンプルフレームワーク
オブジェクトモデル”パッケージインスタンス417が
ヒットする。S1514で図28の画面330のスクリ
プト編集領域335に記述されているスクリプトがヒッ
トする。
33の426と427と428のクラス及びオーバーラ
イドが指定されている操作と属性、更に、426から4
18への継承関係、427から420への継承関係、4
28から421への継承関係がデフォルトの初期アプリ
ケーションモデルとして生成される。S1517で図2
8の331と332と333と334の各スクリプト編
集領域335に記述されているスクリプトがヒットす
る。S1519で図33の426と427と428のク
ラスでオーバーライドが指定されている操作が追加され
る。最後に、S1520で以上の処理により生成された
初期アプリケーションオブジェクトモデルが格納され
る。
ン開発者103は、自分が開発したい要求機能に該当す
るユースケースを選択するだけでフレームワークを“適
切にカスタマイズされた初期アプリケーションモデル”
を自動的に入手できるので、フレームワークを使ったア
プリケーション開発を効率化することが可能となる。こ
こで“適切にカスタマイズされた初期アプリケーション
モデル”と言っているのは、自動生成される初期アプリ
ケーションモデルに余分なものが入らないと言うことで
ある。
ーション開発者103は、簡易図エディタを開発するた
めに、図27で412から415の4つのユースケース
インスタンスを指定しており、このため、対応する4つ
のモデル生成スクリプトが実行されて図33のアプリケ
ーションモデルが適切に生成される。一方、新規作成/
編集/保存が不要な図ビューアーを開発するアプリケー
ション開発者103は、必要な「図を読み込む」ユース
ケースインスタンス414だけを指定することにより、
対応する1つのモデル生成スクリプトだけが実行され
て、余分で過度に複雑なものではなく、真に必要な部分
だけのアプリケーションモデルを自動的に入手できる。
ームワーク開発支援装置は、フレームワークをカスタマ
イズする方法を管理し、フレームワークのカスタマイズ
を自動化することを特徴とする。
点を拡張関係によって対応付けることによって、フロー
ズンスポットとホットスポットとが明確に定義され、さ
らに、ユースケースとモデルとを追跡関係によって対応
付けるため、フレームワークのカスタマイズ性を適切に
分析・設計することができる。
ンパッケージにより、ソフトウェアの境界が明確にな
り、さらに、フレームワーク化対象範囲を適切に把握し
て、分析・設計することができる。
り、要求されるホットスポットに対応するフレームワー
クを分析・設計することができる。
り、必要なアプリケーションモデルを作成する元になる
フレームワークを入手することができる。
の一例を示す構成図。
部4と追跡関係格納部6のデータ構造の一例を示すクラ
ス図。
図。
例を表す図。
図。
業者がクリックした際の要求機能編集部3の動作の一例
を示す流れ図。
を作業者がクリックした際の要求機能編集部3の動作の
一例を示す流れ図。
業者がクリックした際の要求機能編集部3の動作の一例
を示す流れ図。
者がクリックした際の要求機能編集部3の動作の一例を
示す流れ図。
作業者がクリックした際の要求機能編集部3の動作の一
例を示す流れ図。
[画面に追加]ボタン311を作業者がクリックした際
の追跡関係編集部5の動作の一例を示す流れ図。
12の[画面に追加]ボタン314を作業者がクリック
した際の追跡関係編集部5の動作の一例を示す流れ図。
作業者がクリックした際の追跡関係編集部5の動作の一
例を示す流れ図。
置の一例を示す構成図。
の一例を示すクラス図。
ケースをパッケージ化したサンプルを表す図。
7を作業者がクリックした際の要求機能編集部3の動作
の一例を示す流れ図。
ースケースインスタンスを移動した際の要求機能編集部
3の動作の一例を示す流れ図。
求機能パッケージインスタンスを移動した際の要求機能
編集部3の動作の一例を示す流れ図。
置の一例を示す構成図。
の一例を示すクラス図。
す図。
ールドの内容を説明する表。
ックした際の要求ホットスポット編集部8の動作の一例
を表す図。
置の一例を示す構成図。
構造の一例を示すクラス図。
ケーションモデル生成部12を作業者が呼び出す際に、
使用する要求機能編集部3の画面例を表す図。
を表す図。
を表す図。
を表す図。
を表す図。
を表す図。
を選択中にモデル生成コマンドボタン329をクリック
されることにより、アプリケーションモデル生成部12
が生成してオブジェクトモデル格納部2に格納した初期
アプリケーションオブジェクトモデルをオブジェクトモ
デル編集部1に表示した画面例を表す図。
ォルトの初期アプリケーションモデルをアプリケーショ
ン開発者103が自分のアプリケーション用に編集した
オブジェクトモデルを表示している画面例を表す図。
27をフレームワーク分析設計者101がクリックした
際のモデル生成スクリプト編集部10の動作の一例を示
す流れ図。
ームワーク分析設計者101がクリックした際のモデル
生成スクリプト編集部10の動作の一例を示す流れ図。
をアプリケーション開発者103がクリックした際のア
プリケーションモデル生成部12の動作の一例を示す流
れ図。
をアプリケーション開発者103がクリックした際のア
プリケーションモデル生成部12の動作の一例を示す流
れ図。
の一例を表す図。
部)、2,2p オブジェクトモデル格納部、3 要求
機能編集部、4 要求機能格納部、5 追跡関係編集
部、6 追跡関係格納部、7 要求機能パッケージ格納
部、10 モデル生成スクリプト編集部、11 モデル
生成スクリプト格納部、12 アプリケーションモデル
生成部、101 フレームワーク分析設計者、102
フレームワーク要求把握者、103 開発者、201
クラス、202 関連、203 オブジェクトモデルパ
ッケージ、204 ユースケース、205 アクター、
206拡張関係、207 拡張点、208 追跡関係、
209 ユースケースパッケージ、211 モデル生成
スクリプト、301 描画領域、302 要求機能編集
ツール、303〜308,311,314,316,3
17,321〜325,327,329 コマンドボタ
ン、309 ユースケース選択ツール、310,31
3,319,320 リストボックス、312 オブジ
ェクトモデルパッケージ選択ツール、315 追跡関係
編集ツール、318 フィールド群、326キャンセル
ボタン、328 ツールボックス、401〜403 ア
クターインスタンス、404〜415 ユースケースイ
ンスタンス、417 オブジェクトモデルパッケージイ
ンスタンス、418〜421 クラスインスタンス、4
22〜424 ユースケースパッケージインスタンス。
Claims (16)
- 【請求項1】 アプリケーションに共通する雛型ソフト
ウェアを有するモデルを用いて、利用者が要求する要求
機能を実行するフレームワークの開発を支援するフレー
ムワーク開発支援装置において、 利用者からフレームワークに対する要求機能の入力を受
け付け、受け付けた要求機能を編集する要求機能編集部
と、 上記要求機能編集部が編集した要求機能を格納する要求
機能格納部と、 上記モデルを編集するモデル編集部と、 上記モデル編集部が編集したモデルを格納するモデル格
納部と、 上記モデル格納部に格納されたモデルと上記要求機能格
納部に格納された要求機能とを対応づける追跡関係を生
成する追跡関係編集部と、 上記追跡関係編集部が生成した追跡関係を格納する追跡
関係格納部とを備えることを特徴とするフレームワーク
開発支援装置。 - 【請求項2】 上記要求機能編集部は、受け付けた要求
機能を分析して、要求機能から変動しない要求機能の部
分をユースケースとして抽出し、要求機能から変動する
要求機能の部分を拡張点として抽出し、 上記要求機能格納部は、要求機能として、上記要求機能
編集部が抽出したユースケースと拡張点とを格納し、 上記追跡関係編集部は、上記モデル格納部に格納された
モデルと上記ユースケース格納部に格納されたユースケ
ースとを対応づける追跡関係を生成することを特徴とす
る請求項1記載のフレームワーク開発支援装置。 - 【請求項3】 上記要求機能編集部は、複数の要求機能
を受け付け、受け付けた複数の要求機能から、共通する
機能の部分を抽出してユースケースとすること特徴とす
る請求項2記載のフレームワーク開発支援装置。 - 【請求項4】 上記要求機能編集部は、上記ユースケー
スと上記拡張点との対応関係を定義する拡張関係を生成
し、 上記要求機能格納部は、上記要求機能編集部が生成した
拡張関係を格納することを特徴とする請求項2または3
記載のフレームワーク開発支援装置。 - 【請求項5】 上記要求機能編集部は、複数のユースケ
ースを含むユースケースパッケージを生成し、 上記追跡関係編集部は、上記モデルと、上記ユースケー
スパッケージとを対応付ける追跡関係を生成し、 上記フレームワーク開発支援装置は、さらに、上記ユー
スケースパッケージを格納する要求機能パッケージ格納
部を備える特徴とする請求項2記載のフレームワーク開
発支援装置。 - 【請求項6】 上記要求機能編集部は、上記ユースケー
スと上記拡張点との対応関係を定義する拡張関係を生成
し、上記ユースケースパッケージに含まれる複数のユー
スケースそれぞれに対応づけられる複数の拡張点を、上
記拡張関係に基づいて抽出し、抽出した複数の拡張点を
アプリケーションパッケージとして生成することを特徴
とする請求項5記載のフレームワーク開発支援装置。 - 【請求項7】 上記フレームワーク開発支援装置は、さ
らに、 上記拡張点に関する情報を要求ホットスポット情報とし
て入力を受け付け、受け付けた要求ホットスポット情報
を管理する要求ホットスポット編集部と、 上記要求ホットスポット編集部が管理する要求ホットス
ポット情報を格納する要求ホットスポット格納部とを備
えることを特徴とする請求項2または5記載のフレーム
ワーク開発支援装置。 - 【請求項8】 上記要求ホットスポット編集部は、受け
付けた要求ホットスポット情報を解析し、解析結果を用
いて拡張点を生成し、生成した拡張点と上記要求機能格
納部に格納されたユースケースとを対応づけて拡張関係
を生成し、生成した拡張点と生成した拡張関係とを上記
要求機能格納部へ格納することを特徴とする請求項7記
載のフレームワーク開発支援装置。 - 【請求項9】 上記要求ホットスポット編集部は、上記
要求機能格納部に格納された拡張点を検索し、上記要求
ホットスポット情報によって要求される要求機能を実行
する拡張点を検出することを特徴とする請求項7記載の
フレームワーク開発支援装置。 - 【請求項10】 上記要求ホットスポット編集部は、要
求ホットスポット情報として、変動する要求機能の詳細
と、拡張点に対応するモデルに関する情報を受け付ける
ことを特徴とする請求項7記載のフレームワーク開発支
援装置。 - 【請求項11】 上記フレームワーク開発支援装置は、
さらに、 上記要求機能格納部に格納されたユースケースに基づい
て、上記モデルを生成するモデル生成スクリプトを生成
するモデル生成スクリプト編集部と、 上記モデル生成スクリプト編集部が生成したモデル生成
スクリプトを格納するモデル生成スクリプト格納部とを
備えることを特徴とする請求項2,5,7いずれかに記
載のフレームワーク開発支援装置。 - 【請求項12】 上記フレームワーク開発支援装置は、
さらに、 フレームワークとして利用できるモデル生成スクリプト
を上記モデル生成部スクリプト格納部から検出し、検出
したモデル生成スクリプトを編集してアプリケーション
モデルを生成するアプリケーションモデル生成部を備え
ることを特徴とする請求項11記載のフレームワーク開
発支援装置。 - 【請求項13】 アプリケーションに共通する雛型ソフ
トウェアから構成されるモデルを用いて、利用者が要求
する要求機能を実行するフレームワークの開発を支援す
るフレームワーク開発支援方法において、 フレームワークに対する要求機能の入力を受け付け、 受け付けた要求機能を管理し、 要求機能と、要求機能を実現するモデルとを対応関係づ
ける追跡関係を生成し、 生成した追跡関係を管理することを特徴とするフレーム
ワーク開発支援方法。 - 【請求項14】 上記フレームワーク開発支援方法は、
さらに、 開発しようとしているフレームワークに対応する要求機
能と、フレームワークに基づいて開発するアプリケーシ
ョンに対応する要求機能とを分離して管理することを特
徴とする請求項13記載のフレームワーク開発支援方
法。 - 【請求項15】 上記フレームワーク開発支援方法は、
さらに、 フレームワークに要求される機能に関する情報を要求ホ
ットスポット情報として入力を受け付け、 受け付けた要求ホットスポット情報を管理することを特
徴とする請求項13または14記載のフレームワーク開
発支援方法。 - 【請求項16】 上記フレームワーク開発支援方法は、
さらに、 上記追跡関係に基づいて、フレームワークに対する要求
機能と対応づけられるモデルを用いて、要求機能を実行
させるモデル生成スクリプトを生成することを特徴とす
る請求項13から15いずれかに記載のフレームワーク
開発支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000354644A JP2002157117A (ja) | 2000-11-21 | 2000-11-21 | フレームワーク開発支援装置及びフレームワーク開発支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000354644A JP2002157117A (ja) | 2000-11-21 | 2000-11-21 | フレームワーク開発支援装置及びフレームワーク開発支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002157117A true JP2002157117A (ja) | 2002-05-31 |
Family
ID=18827197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000354644A Pending JP2002157117A (ja) | 2000-11-21 | 2000-11-21 | フレームワーク開発支援装置及びフレームワーク開発支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002157117A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338190A (ja) * | 2005-05-31 | 2006-12-14 | Nec Corp | 実装コード開発システム、及び実装コード開発プログラム |
JP2010521726A (ja) * | 2007-03-16 | 2010-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | カスタマイズされたソフトウェア製品を配布する方法、システム、およびコンピュータ・プログラム |
WO2011108193A1 (ja) * | 2010-03-05 | 2011-09-09 | 日本電気株式会社 | プログラム作成支援装置、プログラム、および、情報システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240510A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | オブジェクト指向設計支援装置 |
JPH11237982A (ja) * | 1998-02-23 | 1999-08-31 | Ricoh Co Ltd | ソフトウェア部品開発支援装置 |
-
2000
- 2000-11-21 JP JP2000354644A patent/JP2002157117A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240510A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | オブジェクト指向設計支援装置 |
JPH11237982A (ja) * | 1998-02-23 | 1999-08-31 | Ricoh Co Ltd | ソフトウェア部品開発支援装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338190A (ja) * | 2005-05-31 | 2006-12-14 | Nec Corp | 実装コード開発システム、及び実装コード開発プログラム |
JP2010521726A (ja) * | 2007-03-16 | 2010-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | カスタマイズされたソフトウェア製品を配布する方法、システム、およびコンピュータ・プログラム |
US8549514B2 (en) | 2007-03-16 | 2013-10-01 | International Business Machines Corporation | Distributing customized software products |
WO2011108193A1 (ja) * | 2010-03-05 | 2011-09-09 | 日本電気株式会社 | プログラム作成支援装置、プログラム、および、情報システム |
JP5626333B2 (ja) * | 2010-03-05 | 2014-11-19 | 日本電気株式会社 | プログラム作成支援装置、プログラム、および、情報システム |
US9116708B2 (en) | 2010-03-05 | 2015-08-25 | Nec Corporation | Program creation support apparatus, program, and information system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7316000B2 (en) | Interactive agent for a topological multi-tier business application composer | |
JP3765949B2 (ja) | オブジェクト指向ソフトウェア開発支援装置および開発支援方法 | |
US7448024B2 (en) | System and method for software application development in a portal environment | |
JP3839468B2 (ja) | 国際データ処理システム | |
US7207031B2 (en) | System and method for utilization of a command structure representation | |
US8170901B2 (en) | Extensible framework for designing workflows | |
US8296665B2 (en) | Developing and executing applications with configurable patterns | |
US7434203B2 (en) | Software logistics for pattern-based applications | |
US20050257198A1 (en) | Testing pattern-based applications | |
US20060074735A1 (en) | Ink-enabled workflow authoring | |
US20050114361A1 (en) | Method and apparatus for integrating data repositories and frameworks | |
US8458648B2 (en) | Graphical modelization of user interfaces for data intensive applications | |
KR100426311B1 (ko) | Ejb 컴포넌트 조립 장치 및 방법 | |
US20050257190A1 (en) | Developing and executing applications with configurable patterns | |
EP1300760A2 (en) | Screen transition diagram editor | |
CN108228161A (zh) | 一种扩展结构化命令行的系统和方法 | |
US20030041311A1 (en) | Topological multi-tier business application composer | |
JP2002157117A (ja) | フレームワーク開発支援装置及びフレームワーク開発支援方法 | |
CN112181483B (zh) | 等离子体控制系统软件开发平台及方法 | |
Åkesson et al. | Jatte: A tunable tree editor for integrated DSLs | |
Myatt | Pro NetBeans IDE 5.5 enterprise edition | |
JP4559955B2 (ja) | 電子帳票部品開発装置、電子帳票部品開発方法、電子帳票部品開発プログラム及び電子帳票部品開発プログラムを格納した記録媒体 | |
Hauptmann et al. | Supporting derivation and customization of user interfaces in software product lines using the example of web applications | |
Obernhuber et al. | Central Frontend for Segment Routing Applications (Folgearbeit) | |
JP7280475B2 (ja) | 情報処理装置及びその制御方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040517 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041018 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110412 |