JP2008537831A - アプリケーションのユーザインターフェースの仕様作成方法および仕様作成システム - Google Patents
アプリケーションのユーザインターフェースの仕様作成方法および仕様作成システム Download PDFInfo
- Publication number
- JP2008537831A JP2008537831A JP2008506464A JP2008506464A JP2008537831A JP 2008537831 A JP2008537831 A JP 2008537831A JP 2008506464 A JP2008506464 A JP 2008506464A JP 2008506464 A JP2008506464 A JP 2008506464A JP 2008537831 A JP2008537831 A JP 2008537831A
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- page
- computer
- implemented 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
アプリケーションの仕様書を作成および/または変更するシステムおよび方法である。仕様書に取り込むべきデータはデータベースに記憶される。このデータは、概念モデルに従ってデータベースに記憶され、この概念モデルにより、仕様書作成アプリケーションは、一連のデータベースクエリを作成することで、仕様書を作成することができる。データがデータベースに記憶されるので、特定のデータ要素に対する変更は一回のみ行うだけでよく、それにより仕様書の維持が簡略化され、仕様書の正確性が増す。
Description
様々な実施形態は、コンピュータにより実装される方法およびシステムに関し、より詳細には、ソフトウェアアプリケーションのユーザインターフェースに関する仕様を作成するためのコンピュータにより実装される方法およびシステムに関する。
ソフトウェアアプリケーションの開発者は一般に、アプリケーションの機能、設定、インターフェース等の仕様を規定する仕様書を書く。次いで、プログラマはこの仕様書を使用して、アプリケーションを実装するコードを記述することができ、そのアプリケーションと相互運用可能なアプリケーションを記述している他の開発者は、この仕様書を使用することができる。
アプリケーションは、多数の(何百もの、ときには何千もの)様々な特徴、機能、設定、および他の関連データを有する場合があるので、アプリケーションの仕様書を書くことは、複雑な作業である場合がある。仕様書を書く者は、この情報全てを追跡し続けなければならない。さらに、仕様書は一般に何回か改訂され、情報の要素(例えば、ラベル、範囲、プロパティ等)が仕様書全体に渡って改訂される必要がある。従って、仕様書を維持することは困難な作業でもあり得る。
説明する様々な実施形態の側面に従うと、アプリケーションの仕様書を作成し維持するためのシステムおよび方法が提供される。一側面において、仕様書に取り込むべきデータはデータベースに記憶される。データは概念モデル(conceptual model)に従ってデータベースに記憶され、その概念モデルにより、仕様書作成アプリケーションは、データベースに対する一連のクエリを作成することで、仕様書を作成することができる。データはデータベースに記憶されるので、特定のデータ要素に対する変更は一回のみ行うだけでよく、それにより仕様書の維持が簡略化され、仕様書の正確性が増す。
別の側面において、アプリケーションの仕様書を作成し維持するためのシステムおよび方法は、仕様書作成におけるワークフローを管理するメカニズムを含む。例えば、どのユーザが仕様書に関する所定の作業の実行権限を有するか、どのユーザが承認を必要とするか、どのユーザがレビューを受けるか等を制御するメカニズムをシステムに含めることができる。
さらに別の側面において、アプリケーションの仕様書を作成し維持するためのシステムおよび方法は、ウェブサービスモデルに組み込むことができ、それにより、複数のユーザが仕様書の作成に取り掛かること、および複数のユーザが外部ネットワークから仕様書にアクセスすることが可能となる。
制限的なものでも排他的なものでもない実施形態について、図面を参照しながら説明する。図面において、明記しない限りは、様々な図で類似した参照番号は類似した部分を指す。
以下において、本明細書の一部を形成する添付図面を参照しながら、諸実施形態についてより詳細に説明する。しかしながら、実施形態は、多数の異なる形態で実装することができ、本明細書で説明する実施形態に限定されるものと解釈すべきではない。むしろ、これらの実施形態は、本開示が綿密かつ完全であって、当業者に本発明の範囲を完全に伝えるために提供されるものである。実施形態は、方法、システムまたは装置として実行することができる。従って、実施形態は、完全なハードウェアによる実装、完全なソフトウェアによる実装、またはソフトウェアおよびハードウェアの態様を組み合わせた実装の形態を取ることができる。従って、以下の詳細な説明を、限定的な意味として理解すべきではない。
様々な実施形態の論理演算処理は、(1)コンピューティングシステム上で実行されるコンピュータにより実装される一連のステップとして、および/または(2)コンピューティングシステム内で相互接続したマシンモジュールとして実装される。実装は、実施形態を実行するコンピューティングシステムのパフォーマンス要件に依存する選択の問題である。従って、本明細書で説明する実施形態を構成する論理演算処理は代替的に、演算、ステップまたはモジュールと呼ばれる。
実施形態は、コンピュータプロセス、(モバイルハンドヘルドデバイスを含む)コンピューティングシステム、またはコンピュータプログラム製品のような製造品として実施することができる。コンピュータプログラム製品は、コンピュータ記憶媒体とすることができ、コンピュータ記憶媒体は、コンピュータシステムにより読み取り可能であって、コンピュータプロセスを実行するための命令から成るコンピュータプログラムを符号化する。コンピュータプログラム製品はまた、コンピューティングシステムにより読み取り可能であって、コンピュータプロセスを実行するための命令から成るコンピュータプログラムを符号化する、キャリア上で伝送される信号であってもよい。
図1は、例示的な実施形態に従う、仕様書の概念モデル100を示している。この実施形態において、モデル100は、1つまたは複数のページ102を有するユーザインターフェース(UI:User Interface)仕様書を表し、各ページは、1つまたは複数の設定104を有する。ページ102は、UI仕様書のページではなく、UI自体におけるページであり、別途状況に応じて、または具体的に明記しない限り、“ページ”という用語は、仕様書のページではなく、UIのページを指すものと意図している。各設定は、ユーザインターフェースコントロール(例えば、テキストボックス)に対応し、ユーザインターフェースコントロールは、機能構成におけるプロパティ、またはモニタリングシステムからの値のいずれかに対応する。この状況で使用される機能は、UIを介してユーザが利用できるアプリケーションの機能または能力である。この状況で使用されるモニタリングシステムの値は、アプリケーションの一側面のランタイム値である。例えば、“モニタリング”値は、アプリケーションにより生成されたイベントに対応する値、またはそのイベントにより定義された値とすることができる。モニタリング値の別の例は、アプリケーションが使用しているCPU帯域の割合とすることができる。
設定104に加えて、ページ102は、ページ間の関連付けを定義する1つまたは複数のタスク106を有する。タスクにより、ユーザは、あるページから別のページに移動することができるという点で、タスクは誘導的なものと言うことができる。さらに、タスクは、より複雑である場合があり、ページ間の移動に加えて、ユーザ入力を要求することもできる。例えば、タスクのセットは、ウィザード(例えば、相対的に複雑な操作を実行したり、ある機能を使用したり、あるいはモジュールまたはドライバを構成したりする際にユーザを誘導するアプリケーション内の対話ユーティリティ等)を実装することができる。タスクはまた、ユーザがUIを介してアプリケーションに実行を求めることができるアクション(例えば、保存、変更のキャンセル、印刷、データ表示の変更等)に対応することができる。
図2は、例示的な実施形態に従う、アプリケーションの仕様書を作成し維持するシステム200を示している。この実施形態において、システム200は、入力インターフェース202、仕様書データベース204、および仕様書ジェネレータ(specification generator)206を備えている。
一実施形態において、入力インターフェース202は、仕様書内に含められるべきデータをユーザが入力できるようにするアプリケーションである。このデータには、アプリケーション内で実装されるべき機能、当該機能に関連付けられた設定、当該機能に関連付けられたページ、ページに関連付けられたタスク、アプリケーションのモニタリング値等が含まれる。1人または複数人のユーザは、入力インターフェース202を使用して、アプリケーションの仕様書にデータを入力/編集することができる。一実施形態において、入力インターフェース202は、例えば、ワシントン州レドモンドを本拠とするMicrosoft社から入手可能なInternet Explorer(登録商標)等のウェブブラウザを使用して実装される。
仕様書データベース204は、アプリケーションの仕様書のデータを記憶するために使用され、そのデータは、入力インターフェース202を介して1人または複数人のユーザにより提供される。この実施形態において、仕様書データベース204は、概念モデル100(図1)に従ってデータを記憶する。例えば、仕様書データベース204は、概念モデル100を実装するリレーショナルデータベースとすることができる。概念モデル100の上記実装の1つについて、図3を参照して、以下で説明する。一実施形態において、仕様書データベース204は、Microsoft社から入手可能なMicrosoft(登録商標) SQL Server(登録商標)を使用して実装される。他の実施形態では、仕様書データベース204は、概念モデル100を実装するように構成されたオブジェクト指向データベースまたは任意の適切なタイプのデータベースとすることができる。
仕様書ジェネレータ206は、ユーザが仕様書データベース204から仕様書のデータを抽出し、その抽出されたデータを含む仕様書を出力できるようにするアプリケーションである。一実施形態において、仕様書ジェネレータ206は、概念モデルを使用して、特定のデータを抽出するための仕様書データベース204のクエリを作成し、所望の仕様書フォーマットに従う仕様書の作成を容易にする。従って、1人または複数人のユーザ(必ずしも仕様書データを入力したユーザである必要はない)は、仕様書ジェネレータ206を使用して、アプリケーションの仕様書を作成することができる。一実施形態において、仕様書ジェネレータ206は、Microsoft社が開発したASP.NETフレームワークを使用して実装された一連のページとして実装される。
システム200は、ワークフロー機能(不図示)も含んでおり、仕様書データベース204へのデータ入力方法および仕様書データベース204からのデータ表示方法を制御することができる。ワークフローデータは、機能に関連付けられた設定や仕様書に正式に機能を取り込むのに必要な承認等を変更するために、どのような権限が必要であるかを定義することができる。いくつかの実施形態では、仕様書データベース204は、ワークフローを定義するメタデータを含み、仕様書データベース204は、そのメタデータを強制する(例えば、データ入力/編集拒否権限、データ表示拒否権限等)。いくつかの実施形態では、権限は、個々のUI設計者/作成者に与えられる。例えば、特定の作成者は、選択された外国語におけるフィールドラベル名を入力/編集する(即ち、英語名を対応する外国語のフィールドラベル名に翻訳する)権限しか有することができない。いくつかの実施形態では、ワークフロー機能は、それが不要もしくは望まれないシステムでは省略される。
図3は、例示的な実施形態に従う、概念モデル100(図1)を実装するために使用されるリレーショナルデータベースのテーブル300を示している。この実施形態において、データベースは、機能テーブル301、ページテーブル302、ページ設定テーブル303、および設定テーブル305を含む。
機能テーブル301は、仕様書のデータが記憶されるべきアプリケーションの機能のリストを含む。この実施形態において、機能テーブル301は、機能の識別子(機能識別子)に関する列、および機能の名前(機能名)に関する列を含む。機能名は、ユーザが容易に読んで理解できる点で、“ユーザフレンドリ”であるのに対し、機能識別子は、機能に対する一意な識別子であって、その一意な識別子は、単語または名前を詳しく示す必要はない。
ページテーブル302は、機能によって構成されるページのリストを含む。この実施形態において、ページテーブル302は、ページの識別子(ページ識別子)に関する列、ページが関係する機能への参照(機能参照)に関する列、ページの名前(ページ名)に関する列、およびページのスクリーンショットへの参照(スクリーンショット参照)に関する列を含む。ページ識別子は、ページに対する一意な識別子である。機能参照列は、機能テーブル301における機能とのリレーションを含む。ページ名は、ページに対する“ユーザフレンドリ”な名前である。スクリーンショット参照は、仕様書に含まれるべきページのスクリーンショットの位置に対するポインタを含む。
ページ設定テーブル303は、各ページに含まれる設定のリストを含む。この実施形態において、ページ設定テーブル303は、設定の識別子(設定識別子)に関する列、設定が関係するページへの参照(ページ参照)に関する列、シーケンス番号に関する列、および設定への参照(設定参照)に関する列を含む。設定識別子は、設定に対する一意な識別子である。ページ参照は、ページテーブル302におけるページとのリレーションを含む。シーケンス番号は、設定がページ上で表示されるべき順番または順序を決定するために使用される。設定参照は、設定テーブル305における設定とのリレーションを含む。
設定テーブル305は、アプリケーションにおける全設定のリストを含む。この実施形態において、設定テーブル305は、設定の識別子(設定識別子)に関する列、設定の名前(設定名)に関する列、フィールドラベルに関する1つまたは複数の列(即ち、仕様書を作成することができる各言語に対応する)、ツールチップに関する1つまたは複数の列(即ち、仕様書を作成することができる各言語に対応する)、設定のコントロールタイプに関する列、設定のデフォルト値に関する列、設定の有効値に関する列、および設定のプロパティに関する列を含む。設定識別子および設定名は、ページ設定テーブル303に関して上述した通りである。フィールドラベルは、UI内の設定の近傍に現れる(特定の言語の)テキストを含む。ツールチップは、マウスが設定上を通るときに現れる(特定の言語の)テキストである。コントロールタイプは、設定値を表すために使用されるUIコントロール(例えば、テキストボックス、ボタン、スライド等)のタイプを含む。デフォルト値は、ユーザが値を入力しない場合の設定値を含む。有効値は、その設定に対して有効な値の範囲またはリスト(例えば、数値範囲や、“yes”または“no”等)を含む。現在値は、機能構成システムにおいて参照される設定値を含む。
概念モデル100を実装するリレーショナルデータベースのテーブルの一部について上述したが、他の実施形態では、より多数のテーブルを使用して、概念モデルを実装することができる。
図3Aは、一実施形態に従う、概念モデル100を実装するのに使用できるリレーショナルデータベースのスキーマ310を示すER図である。このリレーショナルデータベースは、テーブル300(図3)と比べて更なるテーブルを有するが、このデータベースも概念モデルを実装する。この実施形態において、スキーマ310は、仕様書エンティティ312、機能エンティティ314、タスクエンティティ316、ページエンティティ320、および設定エンティティ324を含む。図3AのER図は、完全性のために、各エンティティの属性と、他のエンティティとの間のリレーションとを定義しているが、一実施形態に従うこれらのエンティティについて以下で説明する。これらのエンティティの各々は、“識別子”と示された一意な識別子を有し、この識別子は、必要に応じて他のエンティティにより参照される。
この実施形態において、仕様書エンティティ312は、作成者、日付等のようなUI仕様書に関する一般情報、および機能の一意な識別子に対する参照のリストを記憶するために使用される。この参照のリストは、仕様書が作成されるときに表示されることになる順番で仕様書に含まれる。これを“機能の順序リスト”と表す。
この実施形態において、機能エンティティ314は、アプリケーションの機能に関する情報を記憶するために使用される。機能エンティティの目的は、ユーザインターフェースにおいて、顧客が理解できるように、関連するタスクをグループ化することである。この実施形態において、機能エンティティ314は、“名前”と示された、機能に対するユーザフレンドリな名前を記憶するための属性と、機能を構成するユーザインターフェースタスクの一意な識別子に対する参照のリストとを含む。(ユーザインターフェース内で表示される順番の)この参照のリストを“タスクの順序リスト”と表す。
タスクエンティティ316は、タスクに関する情報を記憶するために使用される。この実施形態において、タスクエンティティ316は、特定のタスクに対して記憶する以下の属性を含む。
(a)“内部名”と示された、(コードにより内部的に使用される)タスクのユーザフレンドリな名前;
(b)“英語ラベル”と示された、タスクをラベル付けしてUI内で表示される英語のテキスト(他の実施形態では、他言語でのラベルに対する属性とすることもできる);および
(c)機能毎に表示されるユーザインターフェースページの一意な識別子に対する参照のリスト。このリストは、ユーザインターフェース内でページが表示される順序を示すように順序付けられる。タスクは少なくとも1つのユーザインターフェースページを有する。タスクが、ユーザインターフェースウィザードを使用することにより実行される場合、ページが順番に顧客に提示されることになり、ページ数、およびページの順序は、このリストにおいて定義される。このリストを“ページの順序リスト”と表す。
(a)“内部名”と示された、(コードにより内部的に使用される)タスクのユーザフレンドリな名前;
(b)“英語ラベル”と示された、タスクをラベル付けしてUI内で表示される英語のテキスト(他の実施形態では、他言語でのラベルに対する属性とすることもできる);および
(c)機能毎に表示されるユーザインターフェースページの一意な識別子に対する参照のリスト。このリストは、ユーザインターフェース内でページが表示される順序を示すように順序付けられる。タスクは少なくとも1つのユーザインターフェースページを有する。タスクが、ユーザインターフェースウィザードを使用することにより実行される場合、ページが順番に顧客に提示されることになり、ページ数、およびページの順序は、このリストにおいて定義される。このリストを“ページの順序リスト”と表す。
ページエンティティ320は、UI仕様書において使用されるページに関する情報を記憶するために使用される。この実施形態において、ページエンティティ320は以下の属性を含む。
(a)“英語名”と示された、UI内で表示されるページをラベル付けする英語のテキスト(他の実施形態では、他言語での名前に対する属性とすることもできる);および
(b)“設定の順序リスト”と示された、ページ上に表示される設定の一意な識別子に対する参照のリスト。このリストは、設定がユーザインターフェースページ上に(一般的には上から下に)表示される順序を定義するように順序付けられる。設定は一般に、ラベルおよびユーザインターフェースコントロールのリストとして表示される。この順序は、タブシーケンスを定義するために使用される順序でもある。タブシーケンスとは、顧客がコンピュータのキーボード上で“Tab”キーを押下する度に、カーソルフォーカスがユーザインターフェースページ上で変化する順序のことである。
(a)“英語名”と示された、UI内で表示されるページをラベル付けする英語のテキスト(他の実施形態では、他言語での名前に対する属性とすることもできる);および
(b)“設定の順序リスト”と示された、ページ上に表示される設定の一意な識別子に対する参照のリスト。このリストは、設定がユーザインターフェースページ上に(一般的には上から下に)表示される順序を定義するように順序付けられる。設定は一般に、ラベルおよびユーザインターフェースコントロールのリストとして表示される。この順序は、タブシーケンスを定義するために使用される順序でもある。タブシーケンスとは、顧客がコンピュータのキーボード上で“Tab”キーを押下する度に、カーソルフォーカスがユーザインターフェースページ上で変化する順序のことである。
設定エンティティ324は、ページ上における個々のユーザインターフェースコントロールを表し、この実施形態においては、記憶される以下の属性を含む。
(a)“内部名”と示された、(コードにより内部的に使用される)設定のユーザフレンドリな名前;
(b)“英語ラベル”と示された、設定をラベル付けしてUI内で表示する英語のテキスト(他の実施形態では、他言語でのラベルとすることもできる);
(c)“型”と示された、設定毎に使用されるデータに対して定義されたデータ型(例えば、ブーリアン、ストリング等);
(d)“デフォルト値”と示された、UIのユーザにより変更可能な設定に対して自動的に入力される値;
(e)“有効値”と示された、設定が有効に有することが可能な値の範囲;
(f)“英語ツールチップ”と示された、ユーザがカーソルを動かして、設定上を通過させたときに現れる英語のテキスト(他の実施形態では、他言語でのツールチップとすることもできる);
(g)“UIコントロールタイプ”と示された、UIコントロール(例えば、ボタン、スライド等)のタイプを示す値;および
(h)“現在値のソース”と示された、設定(例えば、データベース内のテーブルの列名、または構成システム内の変数名)に関連付けられているデータベースシステムに記憶された情報への参照。
(a)“内部名”と示された、(コードにより内部的に使用される)設定のユーザフレンドリな名前;
(b)“英語ラベル”と示された、設定をラベル付けしてUI内で表示する英語のテキスト(他の実施形態では、他言語でのラベルとすることもできる);
(c)“型”と示された、設定毎に使用されるデータに対して定義されたデータ型(例えば、ブーリアン、ストリング等);
(d)“デフォルト値”と示された、UIのユーザにより変更可能な設定に対して自動的に入力される値;
(e)“有効値”と示された、設定が有効に有することが可能な値の範囲;
(f)“英語ツールチップ”と示された、ユーザがカーソルを動かして、設定上を通過させたときに現れる英語のテキスト(他の実施形態では、他言語でのツールチップとすることもできる);
(g)“UIコントロールタイプ”と示された、UIコントロール(例えば、ボタン、スライド等)のタイプを示す値;および
(h)“現在値のソース”と示された、設定(例えば、データベース内のテーブルの列名、または構成システム内の変数名)に関連付けられているデータベースシステムに記憶された情報への参照。
一実施形態に従う、上記のエンティティ間のリレーションについて以下で説明する。仕様書エンティティ312では、仕様書における“機能の順序リスト”属性の各インスタンスは、機能エンティティ314において定義された少なくとも1つの機能“識別子”のインスタンスとリレーションを有さなければならない。即ち、各仕様書は1つまたは複数の機能(即ち、必須の1対多リレーション)を有さなければならない。
機能エンティティ314では、機能における“タスクの順序リスト”属性の各インスタンスを、タスクエンティティ316におけるタスク“識別子”属性の1つまたは複数のインスタンスと関連付けることができる。即ち、各機能は、少なくとも1つのタスクを有さなければならない(即ち、機能が存在しなければならず、機能は、タスクと1対多リレーションを有する)。
タスクエンティティ316では、タスクにおける“ページの順序リスト”属性の各インスタンスは、ページエンティティ320におけるページ“識別子”属性の1つまたは複数のインスタンスと関連付けられなければならない。即ち、タスクは、少なくとも1つのページ(即ち、ページとの必須の1対多リレーション)を有さなければならない。
ページエンティティ320では、ページにおける“設定の順序リスト”属性を、設定エンティティ324における設定“識別子”属性の1つまたは複数のインスタンスと関連付けることができる。即ち、各ページエンティティは、少なくとも1つの設定(即ち、設定との必須の1対多リレーション)を有さなければならない。
当業者であれば、スキーマ310を使用して、テーブル300(図3)のようなテーブルを含むUI仕様書データベースを実装することができよう。例えば、スキーマ310の各エンティティ(エンティティの各インスタンスはテーブルの行の役割を果たし、エンティティの属性はテーブルの列の役割を果たす)に対してテーブルを形成することにより、リレーショナルデータベースを実装することができる。さらに、スキーマ310に対して正規化プロセスを実行して、異なる数のエンティティおよびリレーションを有するが実質的には同一の機能性を有する他の実施形態を生成することができる。
図4は、例示的な実施形態に従う、アプリケーションの仕様書を作成する際の動作フロー400を示している。動作フロー400は、任意の適切なコンピューティング環境において実行することができる。例えば、動作フロー400は、図2のシステム200により実行することができ、従って、動作フロー400の記述は、図2における少なくとも1つのコンポーネントに対して使用することができる。しかしながら、図2のコンポーネントに対する任意の上記使用は、単に説明の目的上示したにすぎず、動作フロー400に関する環境は、図2の実装に限定されるものではないことを理解されたい。
ブロック402において、ユーザは、アプリケーションの仕様書の作成に使用されるデータを入力する。一実施形態において、ユーザは、入力インターフェース202(図2)のようなアプリケーションを使用して、仕様書のデータを入力することができる。この動作の実施例については、図5を参照して、以下でより詳細に説明する。
ブロック404において、入力されたデータはデータベースに記憶される。一実施形態において、入力されたデータは仕様書データベースに記憶される。一実施形態において、仕様書データベースは、概念モデル100(図1)を実装するように構成されたリレーショナルデータベースである。他の実施形態においては、仕様書データベースは、概念モデル100を実装するように構成されたオブジェクト指向データベースである。例えば、一実施形態において、仕様書データベースは、図2に関連して上述したように、仕様書データベース204を使用して実装される。
ブロック406において、データベースに記憶されたデータを使用して、仕様書が作成される。一実施形態において、ユーザは、仕様書ジェネレータ206(図2)のようなアプリケーションを使用して、仕様書の作成を要求することができる。この動作の実施例については、図6を参照して、以下でより詳細に説明する。
図5は、一実施例に従う、アプリケーションの仕様書の新規機能に関するデータを入力する際の動作フロー500を示している。例えば、動作フロー500を使用して、ブロック402(図4)の一実施例を実装することができる。動作フロー500は、任意の適切なコンピューティング環境において実行することができる。例えば、動作フロー500は、図2のシステム200により実行することができ、従って、動作フロー500の記述は、図2における少なくとも1つのコンポーネントに対して使用することができる。しかしながら、図2のコンポーネントに対する任意の上記使用は、単に説明の目的上示したにすぎず、動作フロー500に関する環境は、図2の実装に限定されるものではないことを理解されたい。
ブロック502において、仕様書により作成されるべきアプリケーションの新規機能に関するデータが受信される。一実施例において、例えば、ユーザは、入力インターフェース202(図2)のようなアプリケーションを使用して、新規機能を入力することにより、仕様書において新規機能を作成することができる。アプリケーションは、機能の名前、およびその機能に関連付けられた1つまたは複数のページを入力するよう、ユーザに促すことができる。図3に関連して前述したように、各ページは、仕様書の一部となるスクリーンショットを有することができる。一実施例において、ユーザは、機能に関連付けられた1つまたは複数のページの各々に対して、スクリーンショットを入力することができる。
ブロック504において、機能に関連付けられた1つまたは複数のページに対して入力されるべき1つまたは複数の設定に関するデータが受信される。一実施例において、ユーザは、例えば、前述の入力インターフェース202のようなアプリケーションを使用して、設定データを入力することができる。図3に関連して前述したように、設定は、識別子、名前、1つまたは複数のフィールドラベル、コントロールタイプ、デフォルト値、有効値の範囲、およびプロパティを有することができる。各設定に対して、その設定を作成するユーザは、上記の属性に関するデータを入力する。
ブロック506において、機能に関連付けられた1つまたは複数のページに入力されるべき1つまたは複数のタスクに関するデータが受信される。一実施例において、ユーザは、例えば、前述の入力インターフェース202のようなアプリケーションを使用して、タスクデータを入力することができる。図1に関連して前述したように、タスクは、ページ間の関連付け(例えば、ナビゲーション関係、ウィザード等)およびアクション(例えば、保存、変更のキャンセル、印刷、データ表示の変更等)を定義するために使用される。
動作フロー500は、仕様書内に新規機能を作成するための動作を記述しているが、そのフローは、仕様書内に既に含まれている機能のデータを変更することに実質的には類似している。基本的に、ブロック502、504、506、および508における単語“作成”および“入力”を“編集”で置き換えることにより、機能に関連付けられたデータを変更する動作フローを記述することができる。
図6は、一実施例に従う、アプリケーションの仕様書を作成する際の動作フロー600を示している。例えば、動作フロー600を使用して、ブロック406(図4)の一実施例を実装することができる。動作フロー600は、任意の適切なコンピューティング環境において実行することができる。例えば、動作フロー600は、図2のシステム200により実行することができ、従って、動作フロー600の記述は、図2における少なくとも1つのコンポーネントに対して使用することができる。しかしながら、図2のコンポーネントに対する任意の上記使用は、単に説明の目的上示したにすぎず、動作フロー600に関する環境は、図2の実装に限定されるものではないことを理解されたい。
ブロック602において、仕様書の一部を作成するために、データベースクエリが作成される。一実施例において、ユーザは、仕様書ジェネレータ206(図2)のようなアプリケーションを使用して、仕様書を作成または出力することができる。仕様書ジェネレータ206は、クエリを作成し、そのクエリを仕様書データベース204(図2)のような仕様書データベースに送信する。一実施例において、ユーザが出力権限を有する一部分または複数の部分のみを出力することができるように、アプリケーションを構成することができる。
ブロック604において、クエリから生ずるデータが仕様書データベースから受信される。一実施例において、前述の仕様書ジェネレータ206は、クエリから生ずるデータを受信する。
ブロック606において、仕様書に取り込むために受信されたデータがフォーマットされる。一実施例において、前述の仕様書ジェネレータ206が、受信されたデータをフォーマットする。例えば、一実施例において、フォーマットは、機能の名前を、その機能に関連付けられたページのヘッダとして表示すること、ヘッダの後にページのスクリーンショットを表示すること、および、次いで設定および他の関連データ(例えば、タスク、権限、承認等)のリストを続いて表示することを含む。他の実施例では、異なるフォーマットを使用することができることは言うまでもない。
ブロック608において、出力または作成すべき仕様書の部分がまだあるか否かが判定される。一実施例において、前述の仕様書ジェネレータ206が、出力すべき部分がまだあるか否かを判定する。例えば、仕様書全体が作成されることになる場合、仕様書ジェネレータ206は、仕様書の全ての部分がフォーマットされたか否かを判定する。
ブロック608において、フォーマットされるべき部分がまだあると判定された場合、動作フローはブロック602に戻る。しかしながら、ブロック608において、フォーマットされるべき部分がもうないと判定された場合、動作フローはブロック610に進み、ブロック610において、フォーマットされた部分が結合されて文書内に出力される。その後、文書をユーザへ表示したり、印刷したりすること等ができる。一部分の例を図7に示す。この例において、この部分は、アプリケーションにおけるUIのページ700の仕様を規定する。この例示的なページ700は、図3に関連して上述したような、スクリーンショット702、設定のリスト704、および関連データを含む。仕様書の他の部分は、アプリケーションにおけるUIの他のページの仕様を規定する。
図8は、例示的な実施形態に従う、アプリケーションの仕様書を作成し維持するウェブサービスベースのシステム800を示している。この実施形態において、システム800は、クライアント802と、サーバ804と、概念モデル100を実装する仕様書データベース204とを含む。これらは、図2に関連して前述した通りである。
一実施形態において、クライアント802は、サービスを呼び出すことができるブラウザである。このサービスは、サーバ804により提供され、仕様書データベース204内に仕様書のデータを入力したり、仕様書データベース204内の仕様書のデータを変更したりして、仕様書データベース204に記憶されたデータを使用することにより、仕様書または仕様書の一部を出力または作成する。これらのサービスは、サーバ804内で入力インターフェース202および仕様書ジェネレータ206として表されている。一実施形態において、これらのサービスは、Microsoft社が開発したASP.NETフレームワークに従うページとして実装される。この実施形態により、ユーザらは、異なる場所にいても、仕様書に同時にアクセスすること、および仕様書の作成に同時に取り掛かることができる。
例示的な動作環境
図9は、実施形態を実装することができる適切なコンピューティングシステム環境900の例を示している。コンピューティングシステム環境900は、適切なコンピューティング環境の一例にすぎず、実施形態の使用範囲または機能性に関する何らかの限定を意味するよう意図するものではない。コンピューティング環境900は、例示的な動作環境900において示されたコンポーネントの任意の1つまたは組合せに関して何らかの依存関係または要件を有するものと解釈すべきではない。
図9は、実施形態を実装することができる適切なコンピューティングシステム環境900の例を示している。コンピューティングシステム環境900は、適切なコンピューティング環境の一例にすぎず、実施形態の使用範囲または機能性に関する何らかの限定を意味するよう意図するものではない。コンピューティング環境900は、例示的な動作環境900において示されたコンポーネントの任意の1つまたは組合せに関して何らかの依存関係または要件を有するものと解釈すべきではない。
実施形態は、多数の他の汎用もしくは専用コンピューティングシステム環境またはコンピューティングシステム構成を用いて動作可能である。実施形態とともに使用するのに適した周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムまたはデバイスを含む分散コンピューティング環境等が含まれるが、これらに限定されるものではない。
実施形態は、プログラムモジュールのようなコンピュータが実行しているコンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。通信ネットワークを介して接続されたリモート処理ユニットがタスクを実行する分散コンピューティング環境において、実施形態を実行することもできる。分散コンピューティング環境において、プログラムモジュールは、メモリ記憶デバイスを含むローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の両方に配置させることができる。
図9を参照すると、様々な実施形態を実装するための例示的なシステムは、コンピュータ910の形態をとる汎用コンピューティングデバイスを含む。コンピュータ910のコンポーネントには、処理ユニット920と、システムメモリ930と、システムメモリ等の様々なシステムコンポーネントを処理ユニット920に接続するシステムバス921とを含めることができるが、これらに限定されるものではない。システムバス921は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバス等、いくつかのタイプのバス構造のいずれかとすることができる。例えば、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、および、メザニンバスとしても知られているPCI(Peripheral Component Interconnect)バスが含まれるが、これらに限定されるものではない。
コンピュータ910は通常、様々なコンピュータ読み取り可能な媒体を備える。コンピュータ読み取り可能な媒体は、コンピュータ910がアクセスできる任意の利用可能な媒体とすることができ、コンピュータ読み取り可能な媒体には、揮発性媒体および不揮発性媒体、取り外し可能な媒体および取り外し不可能な媒体の両方が含まれる。例えば、コンピュータ読み取り可能な媒体には、コンピュータ記憶媒体および通信媒体を含めることができるが、これらに限定されるものではない。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の情報を記憶するための任意の方法または技術を用いて実装された、揮発性媒体および不揮発性媒体、取り外し可能な媒体および取り外し不可能な媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、もしくはその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気記憶デバイスが含まれ、または、所望の情報を記憶するのに使用できコンピュータ910がアクセスできるその他の任意の媒体が含まれるが、これらに限定されるものではない。通信媒体は通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他の搬送機構等の被変調データ信号に組み入れるものであり、通信媒体には、任意の情報伝達媒体が含まれる。「被変調データ信号」という用語は、信号内の情報が符号化される形で1つまたは複数の特性が設定または変更される信号を意味する。例えば、通信媒体には、有線ネットワークや直接配線接続等の有線媒体と、音響、RF、赤外線、およびその他の無線媒体等の無線媒体とが含まれる。これらの任意の組合せも、コンピュータ読み取り可能な媒体の範囲に含まれるべきである。
システムメモリ930には、読み取り専用メモリ(ROM)931やランダムアクセスメモリ(RAM)932等、揮発性メモリおよび/または不揮発性メモリの形態をとるコンピュータ記憶媒体が含まれる。ROM931には通常、起動中等にコンピュータ910内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(Basic Input/Output System)933が記憶されている。RAM932には通常、処理ユニット920がすぐにアクセスすることができ、かつ/または、処理ユニット920が現在処理している、データおよび/またはプログラムモジュールが含まれる。例えば、図9には、オペレーティングシステム934、アプリケーションプログラム935、その他のプログラムモジュール936、およびプログラムデータ937が示されているが、これらに限定されるものではない。
コンピュータ910は、その他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。一例として、図9には、取り外し不可能な不揮発性磁気媒体に対して読み書きするハードディスクドライブ941と、取り外し可能な不揮発性磁気ディスク952に対して読み書きする磁気ディスクドライブ951と、CD ROMやその他の光媒体等の取り外し可能な不揮発性光ディスク956に対して読み書きする光ディスクドライブ955が示されている。この例示的な動作環境において使用できるその他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれるが、これらに限定されるものではない。ハードディスクドライブ941は通常、インターフェース940等の取り外し不可能なメモリインターフェースを介してシステムバス921に接続され、磁気ディスクドライブ951および光ディスクドライブ955は通常、インターフェース950等の取り外し可能なメモリインターフェースを介してシステムバス921に接続される。
図9に示して上述したドライブ群、およびそれらに関連するコンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、およびその他のデータの記憶領域をコンピュータ910に提供する。例えば図9には、ハードディスクドライブ941が、オペレーティングシステム944、アプリケーションプログラム945、その他のプログラムモジュール946、およびプログラムデータ947を記憶しているものとして示されている。これらのコンポーネントは、オペレーティングシステム934、アプリケーションプログラム935、その他のプログラムモジュール936、およびプログラムデータ937と同一とすることもできるし、または、異なるものとすることもできることに留意されたい。図9では、オペレーティングシステム944、アプリケーションプログラム945、その他のプログラムモジュール946、およびプログラムデータ947が少なくとも異なるコピーであることを示すために、それらには異なる番号を付している。ユーザは、キーボード962、および、通常マウス、トラックボール、タッチパッド等を指すポインティングデバイス961等の入力デバイスを介して、コンピュータ910にコマンドおよび情報を入力することができる。その他の入力デバイス(不図示)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ等を含めることができる。これらおよびその他の入力デバイスは、システムバスに接続されたユーザ入力インターフェース960を介して、処理ユニット920に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)等、その他のインターフェースおよびバス構造を介して接続されてもよい。モニタ991または他のタイプのディスプレイデバイスも、ビデオインターフェース990等のインターフェースを介して、システムバス921に接続される。コンピュータは、モニタに加えて、スピーカ997やプリンタ996等、その他の出力周辺デバイスも備えることができ、これらは、出力周辺インターフェース995を介して接続することができる。
コンピュータ910は、リモートコンピュータ980等の1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク環境において動作することができる。リモートコンピュータ980は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、図9には、メモリ記憶デバイス981しか示されていないが、通常は、コンピュータ910に関して上述した要素の多くまたは全てを備える。図9に示す論理接続には、ローカルエリアネットワーク(LAN)971およびワイドエリアネットワーク(WAN)973が含まれるが、その他のネットワークも含めることができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットにおいては一般的である。
LANネットワーキング環境において使用される場合、コンピュータ910は、ネットワークインターフェースまたはネットワークアダプタ970を介してLAN971に接続される。WANネットワーキング環境において使用される場合、コンピュータ910は通常、インターネット等のWAN973を介した通信を確立するためのモデム972またはその他の手段を備える。モデム972は、内蔵型でも外付け型でもよく、ユーザ入力インターフェース960、またはその他の適切な機構を介して、システムバス921に接続することができる。ネットワーク環境では、コンピュータ910と関連させて示したプログラムモジュールまたはその一部を、リモートメモリ記憶デバイスに記憶することができる。例えば、図9には、リモートアプリケーションプログラム985がメモリデバイス981に存在するものとして示されているが、これに限定されるものではない。図示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段も使用できることを理解されたい。
諸実施形態について構造的特徴および/または方法論的ステップに対して特定の言語により説明したが、特許請求の範囲で定義する本発明は、必ずしも説明した特定の特徴またはステップに限定されないことを理解されたい。むしろ、特定の特徴およびステップは、特許請求の範囲に記載の発明を実装する具体的な形態として開示されている。本発明の趣旨および範囲から逸脱することなく多数の実施形態が可能であるので、本発明は、特許請求の範囲に記載の発明に属するものである。
Claims (20)
- アプリケーションの仕様書を提供するコンピュータにより実装される方法であって、
前記仕様書内で使用するための、ユーザにより入力されたデータを受信するステップと、
データベースに前記データを記憶するステップと、
前記データベースにアクセスして、前記データベースからのアクセスされたデータを使用することにより、前記仕様書の少なくとも一部を作成するステップと
を備えることを特徴とするコンピュータにより実装される方法。 - 前記データベースからのアクセスされた前記データをフォーマットするステップ
をさらに備えることを特徴とする請求項1に記載のコンピュータにより実装される方法。 - 前記入力されたデータは、ユーザインターフェース(UI)のページに関連付けられたデータを含むことを特徴とする請求項1に記載のコンピュータにより実装される方法。
- 前記入力されたデータは、前記ページに対する設定を含むことを特徴とする請求項3に記載のコンピュータにより実装される方法。
- 前記入力されたデータは、前記ページに関連付けられたタスクを含むことを特徴とする請求項3に記載のコンピュータにより実装される方法。
- 前記入力されたデータは、前記ページに関連付けられたワークフローデータを含むことを特徴とする請求項3に記載のコンピュータにより実装される方法。
- 前記ワークフローデータは、前記仕様書の変更に対して付与される権限に関するデータを含むことを特徴とする請求項6に記載のコンピュータにより実装される方法。
- 前記ワークフローデータは、前記仕様書の一部の承認に関するデータを含むことを特徴とする請求項6に記載のコンピュータにより実装される方法。
- 前記データベースは、前記仕様書内の全ページに対して定義された設定テーブルと、該設定テーブルとのリレーションを有するページ設定テーブルとを含むリレーショナルデータベースを備えたことを特徴とする請求項1に記載のコンピュータにより実装される方法。
- 前記方法は、ウェブサービスモデルを使用して実装されることを特徴とする請求項1に記載のコンピュータにより実装される方法。
- 請求項1に記載の方法を実装する動作を実行する命令を記憶したコンピュータ読み取り可能な媒体。
- アプリケーションの仕様書を作成するシステムであって、
前記仕様書内で使用するための、ユーザにより入力されたデータを受信する入力インターフェースと、
前記入力されたデータを記憶する仕様書データベースと、
前記仕様書データベースからのアクセスされたデータを使用することにより、前記仕様書の少なくとも一部を作成する仕様書ジェネレータと
を備えたことを特徴とするシステム。 - 前記仕様書ジェネレータは、前記データベースからのアクセスされた前記データをさらにフォーマットすることを特徴とする請求項12に記載のシステム。
- 前記入力されたデータは、ユーザインターフェース(UI)のページに関連付けられたデータを含むことを特徴とする請求項12に記載のシステム。
- 前記入力されたデータは、前記ページに関連付けられた1つまたは複数の設定、タスク、またはワークフローデータを含むことを特徴とする請求項14に記載のシステム。
- 前記仕様書データベースは、前記仕様書内の全ページに対して定義された設定テーブルと、該設定テーブルとのリレーションを有するページ設定テーブルとを含むリレーショナルデータベースを備えたことを特徴とする請求項12に記載のシステム。
- 請求項12に記載のシステムを実装する動作を実行する命令を記憶したコンピュータ読み取り可能な媒体。
- アプリケーションの仕様書を作成するシステムであって、
前記仕様書内で使用するための、ユーザにより入力されたデータを受信する手段と、
前記データを記憶する手段であって、該記憶する手段はデータベースを備える、記憶する手段と、
前記データベースにアクセスして、前記データベースからのアクセスされたデータを使用することにより、前記仕様書の少なくとも一部を作成する手段と
を備えたことを特徴とするシステム。 - 前記入力されたデータは、ページに関連付けられた1つまたは複数の設定、タスク、またはワークフローデータを含むことを特徴とする請求項18に記載のシステム。
- 前記データベースは、前記仕様書内の全ページに対して定義された設定テーブルと、該設定テーブルとのリレーションを有するページ設定テーブルとを含むリレーショナルデータベースを備えたことを特徴とする請求項18に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/104,922 US7596577B2 (en) | 2005-04-12 | 2005-04-12 | Methods and systems for specifying a user interface for an application |
PCT/US2006/009244 WO2006112987A2 (en) | 2005-04-12 | 2006-03-15 | Methods and systems for specifying a user interface for an application |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008537831A true JP2008537831A (ja) | 2008-09-25 |
Family
ID=37084297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008506464A Pending JP2008537831A (ja) | 2005-04-12 | 2006-03-15 | アプリケーションのユーザインターフェースの仕様作成方法および仕様作成システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7596577B2 (ja) |
EP (1) | EP1872260A4 (ja) |
JP (1) | JP2008537831A (ja) |
KR (1) | KR20070121660A (ja) |
CN (1) | CN101379482B (ja) |
WO (1) | WO2006112987A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9892107B2 (en) | 2013-07-31 | 2018-02-13 | International Business Machines Corporation | Associating mentioned items between documents |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241610A (ja) * | 2006-03-08 | 2007-09-20 | Toshiba Corp | ソフトウェア部品管理装置、ソフトウェア部品管理方法、およびソフトウェア部品 |
US8146110B2 (en) | 2007-12-10 | 2012-03-27 | Microsoft Corporation | Service platform for in-context results |
US20090228804A1 (en) * | 2008-03-05 | 2009-09-10 | Microsoft Corporation | Service Preview And Access From an Application Page |
CN101719132B (zh) * | 2009-12-25 | 2012-12-19 | 金蝶软件(中国)有限公司 | 一种页签生成装置和应用系统 |
CN102033930A (zh) * | 2010-12-17 | 2011-04-27 | 北京世纪互联工程技术服务有限公司 | 分布式内存数据库系统 |
US10262006B2 (en) | 2016-04-29 | 2019-04-16 | Microsoft Technology Licensing, Llc | Contextually triggered entry point |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202863A (ja) * | 1992-12-28 | 1994-07-22 | Hitachi Ltd | Guiアプリケーションプログラムの設計支援システム |
JPH07271569A (ja) * | 1994-03-31 | 1995-10-20 | Hitachi Software Eng Co Ltd | プログラム仕様書作成システム |
JP2004265326A (ja) * | 2003-03-04 | 2004-09-24 | Fujitsu Ltd | テスト支援プログラムおよびテスト支援方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721912A (en) * | 1994-08-05 | 1998-02-24 | Data Integration Solutions Corp. | Graphical user interface for creating database integration specifications |
CA2214972C (en) * | 1995-02-22 | 2000-07-18 | Agust Sverrir Egilsson | Graphical environment for managing and developing applications |
US5870545A (en) * | 1996-12-05 | 1999-02-09 | Hewlett-Packard Company | System and method for performing flexible workflow process compensation in a distributed workflow management system |
US6029173A (en) * | 1997-11-26 | 2000-02-22 | Navigation Technologies Corporation | Method and system for representation and use of shape information in geographic databases |
US6268850B1 (en) * | 1997-12-22 | 2001-07-31 | Sun Microsystems, Inc. | User interface for the specification of lock groups |
US6141660A (en) * | 1998-07-16 | 2000-10-31 | International Business Machines Corporation | Command line interface for creating business objects for accessing a hierarchical database |
US6295513B1 (en) * | 1999-03-16 | 2001-09-25 | Eagle Engineering Of America, Inc. | Network-based system for the manufacture of parts with a virtual collaborative environment for design, developement, and fabricator selection |
JP2002140221A (ja) * | 2000-11-02 | 2002-05-17 | Canon Inc | 情報処理装置、情報処理方法、及び、記憶媒体 |
US7155439B2 (en) * | 2001-09-20 | 2006-12-26 | Wellogix, Inc. | Modular and customizable process and system for capturing field documentation data in a complex project workflow system |
US7051036B2 (en) * | 2001-12-03 | 2006-05-23 | Kraft Foods Holdings, Inc. | Computer-implemented system and method for project development |
US7076729B2 (en) * | 2002-05-09 | 2006-07-11 | International Business Machines Corporation | Graphical specification of XML to XML transformation rules |
US9448860B2 (en) * | 2003-03-21 | 2016-09-20 | Oracle America, Inc. | Method and architecture for providing data-change alerts to external applications via a push service |
US8302111B2 (en) * | 2003-11-24 | 2012-10-30 | Time Warner Cable Inc. | Methods and apparatus for hardware registration in a network device |
JP2005196291A (ja) * | 2003-12-26 | 2005-07-21 | Fujitsu Ltd | ユーザインタフェースアプリケーション開発プログラム、および開発装置 |
-
2005
- 2005-04-12 US US11/104,922 patent/US7596577B2/en not_active Expired - Fee Related
-
2006
- 2006-03-15 WO PCT/US2006/009244 patent/WO2006112987A2/en active Application Filing
- 2006-03-15 JP JP2008506464A patent/JP2008537831A/ja active Pending
- 2006-03-15 EP EP06738318A patent/EP1872260A4/en not_active Withdrawn
- 2006-03-15 KR KR1020077020685A patent/KR20070121660A/ko not_active Application Discontinuation
- 2006-03-15 CN CN2006800084532A patent/CN101379482B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202863A (ja) * | 1992-12-28 | 1994-07-22 | Hitachi Ltd | Guiアプリケーションプログラムの設計支援システム |
JPH07271569A (ja) * | 1994-03-31 | 1995-10-20 | Hitachi Software Eng Co Ltd | プログラム仕様書作成システム |
JP2004265326A (ja) * | 2003-03-04 | 2004-09-24 | Fujitsu Ltd | テスト支援プログラムおよびテスト支援方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9892107B2 (en) | 2013-07-31 | 2018-02-13 | International Business Machines Corporation | Associating mentioned items between documents |
Also Published As
Publication number | Publication date |
---|---|
US7596577B2 (en) | 2009-09-29 |
KR20070121660A (ko) | 2007-12-27 |
CN101379482B (zh) | 2011-05-04 |
WO2006112987A3 (en) | 2008-02-14 |
US20060230068A1 (en) | 2006-10-12 |
WO2006112987A2 (en) | 2006-10-26 |
EP1872260A2 (en) | 2008-01-02 |
EP1872260A4 (en) | 2008-12-17 |
CN101379482A (zh) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7912826B2 (en) | Apparatus, computer program product, and method for supporting construction of ontologies | |
US7305656B2 (en) | Content management framework for use with a system for application development | |
US7185317B2 (en) | Logical data modeling and integrated application framework | |
AU2005225130B2 (en) | Management and use of data in a computer-generated document | |
US7818277B2 (en) | Methods and apparatus for business rules authoring and operation employing a customizable vocabulary | |
US7814101B2 (en) | Term database extension for label system | |
US20070005634A1 (en) | Templates in a schema editor | |
US20100235725A1 (en) | Selective display of elements of a schema set | |
KR101213798B1 (ko) | 복합 데이터 액세스 | |
JP2008537831A (ja) | アプリケーションのユーザインターフェースの仕様作成方法および仕様作成システム | |
JP4343206B2 (ja) | 構造化文書検索支援装置およびプログラム | |
US20080288861A1 (en) | Generating a word-processing document from database content | |
US11010360B2 (en) | Extending tags for information resources | |
US20090265372A1 (en) | Management of Document Attributes in a Document Managing System | |
US20060206808A1 (en) | System, method, and computer program product for transformation of markup-language objects | |
EP2208147A2 (en) | Generic model editing framework | |
WO2005098663A1 (ja) | 情報管理装置 | |
US20090083300A1 (en) | Document processing device and document processing method | |
WO2007081017A1 (ja) | 文書処理装置 | |
US20100218139A1 (en) | Search-friendly templates | |
US20080263018A1 (en) | Method and System for Mapping Business Objects to Relational Database Tables | |
US20080005662A1 (en) | Server Device and Name Space Issuing Method | |
US20080005085A1 (en) | Server Device and Search Method | |
JP2007265250A (ja) | 識別子発行システム、プログラムおよび識別子発行方法 | |
JP7438769B2 (ja) | 文章構造描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120406 |