以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の構成要素を特定し得る。
エンタープライズリソースプランニングプラットフォームのソフトウェアは、顧客のビジネス要件に基づきカスタマイズされ得る。カスタマイズされるソフトウェアは、複数の設定に基づいて開発およびカスタマイズされることもあり、この設定は、複数(例えば数百、数千、および/または同様の)カスタマイズテーブルに格納されることもある。一方、カスタマイズされたソフトウェアが顧客に展開される場合、開発者は、カスタマイズされたソフトウェアに関連するドキュメンテーションを準備しなければならない。ドキュメンテーションは、カスタマイズされたソフトウェア、複数の設定、複数のカスタマイズテーブル、および/または同様のものを記述する情報を含み得る。開発者は、レポートを生成するために様々なソースから情報を引き出さなければならず、これは、面倒で時間のかかるプロセスである。これは、ドキュメンテーション用の情報を検索すること、カスタマイズされたソフトウェアの情報と、複数の設定および/もしくは複数のカスタマイズテーブルに関連する情報とを照合すること、ドキュメンテーションを生成すること、ならびに/または同様のことに関連するコンピューティングリソース(例えば処理リソース、メモリリソース、および/または同様のもの)、ネットワーキングリソース、および/または同様のものを浪費する。
本願明細書に記載される一部の実装は、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する設定プラットフォームを提供する。例として、設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを受信してもよく、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含んでもよい。設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信してもよく、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含んでもよい。設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを受信してもよく、設定データは、タスクに関連する設定を特定するデータを含んでもよい。設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信してもよく、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含んでもよい。設定プラットフォームは、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理してもよく、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定してもよい。設定プラットフォームは、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、1つ以上のアクションを実行してもよい。
設定プラットフォームにおいて、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する。これがひいては、ドキュメンテーション用の情報を検索すること、カスタマイズされたソフトウェアの情報と、複数の設定および/または複数のカスタマイズテーブルに関連する情報とを照合すること、ドキュメンテーションを生成すること、ならびに/または同様のことに、これ以外の場合であれば浪費されるであろうコンピューティングリソース(例えば処理リソース、メモリリソース、および/または同様のもの)、ネットワーキングリソース、および/または同様のものを節約する。さらに設定プラットフォームは、カスタマイズされたエンタープライズリソースプランニングソフトウェアがドキュメンテーションとともに顧客に提供されることを可能にし、顧客はこのドキュメンテーションを利用して、カスタマイズされたエンタープライズリソースプランニングソフトウェアを理解し利用することができる。これは、カスタマイズされたエンタープライズリソースプランニングソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことにこれ以外の場合であれば浪費されるであろうリソースを節約する。
図1A〜図1Hは、本願明細書に記載される例示の1つ以上の実装100の図である。図1Aに示されているように、エンタープライズリソースプランニング(ERP:enterprise resource planning)プラットフォームは、複数のサーバデバイスおよび/もしくはデータ構造により提供されてもよく、またはリソース(例えば処理リソース、メモリリソース、ネットワークリソース、サーバデバイス、および/または同様のもの)を含むクラウドコンピューティング環境により提供されてもよい。クラウドコンピューティング環境は、図2に関連して後述される特徴を含んでもよい。さらに示されているように、ERPプラットフォームは、設定プラットフォームおよび/またはクライアントデバイスに関連してもよい。例として、設定プラットフォームおよび/またはクライアントデバイスは、事業体が、ERPプラットフォームのリソース、ERPプラットフォームにより提供されるソフトウェア、ERPプラットフォームにより提供されるサービス、および/または同様のものを利用するために、ERPプラットフォームにアクセスできるようにしてもよい。一部の実装において、設定プラットフォームは、ERPプラットフォームとは別個であるがそれと通信していてもよく、ERPプラットフォームの中に実装されてもよく、且つ/または同様であってもよい。
図1Aに参照番号105によりさらに示されているように、設定プラットフォームは、ERPプラットフォームにより提供されるソフトウェアに関連する動作データを受信してもよい。一部の実装において、設定プラットフォームは、ERPプラットフォームに関連するデータ構造(例えばデータベース、テーブル、リスト、および/または同様のもの)から動作データを受信または取得してもよい。設定プラットフォームは、動作データを定期的に受信してもよく、動作データを連続的に受信してもよく、動作データをリクエストに基づき受信してもよく、さらに/または同様のことをしてもよい。設定プラットフォームは、設定プラットフォームに関連するデータ構造内に動作データを格納してもよい。
動作データは、ソフトウェアにより実行される1つ以上のタスク、ソフトウェアの機能性、ソフトウェアのバージョン、ソフトウェアのソースコード、および/または同様のものを特定するデータを含んでもよい。タスクは、ワークフロー定義の中で、または独立して(例えば単一ステップとして)実行可能なアクティビティまたはシステムトランザクションを含んでもよい。ソフトウェアにより実行されるタスクは、例として、プロジェクト用の品目を調達すること、プロジェクトのスケジュールを生成すること、プロジェクトのマイルストーン(例えばプロジェクト実行に関わる成果物に対応)を決定すること、プロジェクトのために必要な支払いを判断すること、機器の保守計画または注文を生成すること、品質検査計画を生成すること、キャパシティおよびリソースの利用可能性に関する計画を立てること、販売計画を作成すること、購買注文書を作成すること、ならびに/または同様のことを含んでもよい。
一部の実装において、ERPプラットフォームにより提供されるソフトウェアは、ERPプラットフォームを介して生成されたカスタマイズされた1つ以上のソフトウェアオブジェクト、顧客向けにカスタマイズされた設計アプリケーション、顧客向けにカスタマイズされたプロジェクト管理アプリケーション、顧客向けにカスタマイズされたプロジェクト統括アプリケーション、および/または顧客向けにカスタマイズされたデリバリ閲覧アプリケーションを含んでもよい。設計アプリケーションは、要件データまたは他のユーザ入力に基づきテンプレートを設定し、例としてテンプレートの閲覧およびブラウジングができるようにするユーザインターフェースなどを提供する、アプリケーションを含んでもよい。プロジェクト管理アプリケーションは、プロジェクトの全体的な進捗およびプロジェクトの実行中に発生するかもしれない既存の問題または予期される問題など、プロジェクトのステータスを記述する情報を制御または調整するアプリケーションを含んでもよい。プロジェクト統括アプリケーションは、ERPプロジェクトの統括に関係する様々なタスクを実行して様々なプロジェクトデータセット、クライアント固有情報、プロダクションプラットフォームの種々のアプリケーション、および/または同様のものに対するアクセスを制御するアプリケーションを含んでもよい。デリバリ閲覧アプリケーションは、(例えばERPプロジェクト実行のための提案された設計、プロセス、またはアクティビティフローの承認を指示するために)ユーザが成果物を閲覧して設計オプションを検証できるようにするグラフィカルユーザインターフェースを提供するアプリケーションを含んでもよい。
図1Bに参照番号110により示されているように、設定プラットフォームは、ERPプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信してもよい。一部の実装において、設定プラットフォームは、ERPプラットフォームに関連するデータ構造からカスタマイズテーブルを受信または取得してもよい。設定プラットフォームは、カスタマイズテーブルを定期的に受信してもよく、カスタマイズテーブルを連続的に受信してもよく、カスタマイズテーブルをリクエストに基づき受信してもよく、さらに/または同様のことをしてもよい。設定プラットフォームは、設定プラットフォームに関連するデータ構造内にカスタマイズテーブルを格納してもよい。
一部の実装において、カスタマイズテーブルは、動作データにおいて特定されたタスクに関連するカスタマイズデータ(例えばパラメータまたは値などの設定値)を格納するテーブルを含んでもよい。カスタマイズデータは、ソフトウェアが顧客向けにカスタマイズされる場合に、顧客により、または顧客のために作成され得る。カスタマイズテーブルは、ソフトウェアコードを直接変更することによらずに、カスタマイズテーブルにおいてパラメータを変更すること、値を変更すること、ソフトウェアの標準機能を変更もしくは追加すること、および/または同様のことによってソフトウェアをカスタマイズすることを可能にしてもよい。多数の顧客により利用されるソフトウェアは、顧客の要件および/または目的に特有のパラメータ、値、および/または同様のものを選択することにより特定の顧客向けにカスタマイズされてもよい。実際、数百、数千、および/または同様のカスタマイズテーブルがソフトウェアに関連することもある。
図1Cに参照番号115により示されているように、設定プラットフォームは、ERPプラットフォームにより提供されるソフトウェアに関連する設定データを受信してもよい。一部の実装において、設定プラットフォームは、ERPプラットフォームに関連するデータ構造から設定データを受信または取得してもよい。設定プラットフォームは、設定データを定期的に受信してもよく、設定データを連続的に受信してもよく、設定データをリクエストに基づき受信してもよく、さらに/または同様のことをしてもよい。設定プラットフォームは、設定プラットフォームに関連するデータ構造内に設定データを格納してもよい。
一部の実装において、設定データは、動作データにおいて特定されたタスクに関連する設定を特定するデータを含んでもよい。設定データは、ソフトウェアの設定に関連してもよく、ソフトウェアの各部分が、追加のカスタマイズを必要とすることなくソフトウェアに含められるよう利用可能なソフトウェアの既存機能にマッピングされることを可能にしてもよい。設定データは、顧客の要件および/またはビジネスプロセスに合致するようにソフトウェアを設定するために使用される任意のアクティビティを特定するデータを含んでもよい。例として、設定データは、新しい製造工場の建設を特定するデータ、注文タイプの設定値を変更するデータ、メッセージ出力を設定するデータ、および/または同様のものを含んでもよい。設定データは、ソフトウェアが顧客のビジネスプロセスを実行できるように、ソフトウェアによりサポートされる機能性のリストから特定の機能性を選択すること(例えばデフォルトをセットするのに類似)に関連するデータを含んでもよい(例えば、既存のデータを使用することで顧客のニーズに合致するようにソフトウェアを設定する)。
図1Dに参照番号120により示されているように、設定プラットフォームは、ERPプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信してもよい。一部の実装において、設定プラットフォームは、ERPプラットフォームに関連するデータ構造からテスト結果データを受信または取得してもよい。設定プラットフォームは、テスト結果データを定期的に受信してもよく、テスト結果データを連続的に受信してもよく、テスト結果データをリクエストに基づき受信してもよく、さらに/または同様のことをしてもよい。設定プラットフォームは、設定プラットフォームに関連するデータ構造内にテスト結果データを格納してもよい。
一部の実装において、テスト結果データは、動作データにおいて特定されたタスクのテストに関連するテスト結果を特定するデータを含んでもよい。例として、テスト結果データは、タスクに関連する機能性のテストに関連する結果、ソフトウェアに含まれるカスタマイズされた複数のオブジェクトのテストに関連する結果、ソフトウェアの出力のテストに関連する結果、および/または同様のものを特定するデータを含んでもよい。テスト結果は、ソフトウェア、タスク、および/またはカスタマイズされたオブジェクトが、操作、変更、および/または同様のことをされたかどうかを示してもよく、カスタマイズテーブルの中のカスタマイズを特定してもよく、設定データに基づきソフトウェア、タスク、および/もしくはカスタマイズされたオブジェクトに対して行われた設定を特定してもよく、ならびに/または同様のことをしてもよい。
一部の実装において、テスト結果は、ソフトウェアのデータ駆動型テストに基づき生成されてもよい。データ駆動型テストは、テスト入力および検証可能な出力として、条件テーブルを直接利用するソフトウェアテストの方法論である。テスト環境の設定値および制御は、データ駆動型テストにおいてハードコードされない。例として、ソフトウェアのテスターは、テーブルの行から入力を提供することもあり、同じ行に存在する出力を期待することもある。テーブルは、境界に対応する、または入力空間を分割する値を含んでもよい。一部の実装において、データ駆動型テストは、(例えばソフトウェアのタスクを含む)1つ以上のテストシナリオの実行に基づきソフトウェアをテストすること、ソフトウェアのテストに基づきテスト結果を生成すること、およびテスト結果を期待された結果と比較して出力として比較を提供することを含んでもよい。比較は、ソフトウェア、タスク、および/またはカスタマイズされたオブジェクトが、操作、変更、および/または同様のことをされたかどうかを示してもよく、カスタマイズテーブルの中のカスタマイズを特定してもよく、設定データに基づきソフトウェア、タスク、および/もしくはカスタマイズされたオブジェクトに対して行われた設定を特定してもよく、ならびに/または同様のことをしてもよい。
一部の実装において、動作データ、カスタマイズテーブル、設定データ、および/またはテスト結果データにおいて数百、数千、数百万、および/または同様のデータポイントが提供され得る。このように、設定プラットフォームは、或る期間中に(例えば毎日、毎週、毎月)数千、数百万、数十億、および/または同様のデータポイントを処理することもあり、ひいては「ビッグデータ」能力を提供し得る。
図1Eに参照番号125により示されているように、設定プラットフォームは、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理してもよい。例として、設定プラットフォームは、動作データの中のN個のタスクのセット(例えば図1Eに示されているように第1のタスク(例えばタスク1)から第Nのタスク(例えばタスクN))が設定されたと判断してもよい。一部の実装において、設定プラットフォームは、設定されたタスクのセットを特定するために、機械学習モデルを用いて、動作データおよび設定データを処理してもよい。機械学習モデルは、k平均クラスタリングモデル、平均シフトクラスタリングモデル、ノイズを伴う用途に対する密度に基づいた空間クラスタリング(DBSCAN:density−based spatial clustering of applications with noise)モデル、混合ガウスモデルを使用した期待値最大化クラスタリング、凝集型階層的クラスタリングモデル、および/または同様のものなどのクラスタリングモデルを含んでもよい。機械学習モデルは、設定データに基づき(例えばタスクが設定されたことを設定データが示す場合に)特定のグループ(例えばタスクのセット)にタスクを分類してもよい。
機械学習モデルは、過去のデータ(例えばERPプラットフォームにより提供されるソフトウェアに関連する過去の動作データおよび設定データ)に基づき訓練されてもよい。設定プラットフォームは、過去のデータを訓練セット、検証セット、テストセット、および/または同様のものに分けてもよい。訓練セットは、機械学習モデルを訓練するために利用されてもよい。検証セットは、訓練された機械学習モデルの結果を検証するために利用されてもよい。テストセットは、訓練された機械学習モデルの動作をテストするために利用されてもよい。
一部の実装において、設定プラットフォームは、例として教師なし訓練手順を使用して、且つ過去のデータに基づいて、機械学習モデルを訓練してもよい。例として、設定プラットフォームは、過去のデータを最小特徴セットに削減するために次元削減を実行して、それによって、機械学習モデルを訓練するためのリソース(例えば処理リソース、メモリリソース、および/または同様のもの)を削減してもよく、最小特徴セットに分類手法を適用してもよい。
一部の実装において、設定プラットフォームは、カテゴリカルな結果(例えば、過去の動作データの中のタスクが設定されたかどうか)を判断するために、ロジスティック回帰分類手法を使用してもよい。さらに、または代わりに、設定プラットフォームは、単純ベイズ分類器手法を使用してもよい。この事例において、設定プラットフォームは、バイナリ再帰分割を実行して過去のデータを区分および/または分岐に分けて、区分および/または分岐を使用して結果(例えば、過去の動作データの中のタスクが設定されたかどうか)を判断してもよい。再帰分割を使用することに基づき、設定プラットフォームは、データポイントの手動の線形ソーティングおよび分析に比べてコンピューティングリソースの利用を削減し、それによって、数千、数百万、または数十億のデータポイントを使用して機械学習モデルを訓練できるようにしてもよく、これにより、より少数のデータポイントを使用するよりも正確なモデルがもたらされ得る。
さらに、または代わりに、設定プラットフォームは、訓練セットの中のデータポイントの間の非線形境界を生成するために、サポートベクターマシン(SVM:support vector machine)分類器手法を使用してもよい。この事例において、非線形境界は、テストデータを特定のクラスに分類するために使用される。
さらに、または代わりに、設定プラットフォームは、主題の専門家から機械学習モデルへの入力を受信することを含む教師あり訓練手順を使用して機械学習モデルを訓練してもよく、これにより、教師なし訓練手順と比べて機械学習モデルを訓練するための時間、処理リソースの量、および/または同様のものを削減してもよい。一部の実装において、設定プラットフォームは、ニューラルネットワーク手法、潜在的意味インデキシング手法、および/または同様のものなどの他の1つ以上のモデル訓練手法を使用してもよい。例として、設定プラットフォームは、(例えば2層フィードフォワードニューラルネットワークアーキテクチャ、3層フィードフォワードニューラルネットワークアーキテクチャ、および/または同様のものを使用して)人工ニューラルネットワーク処理手法を実行して、過去のデータのパターンに関してパターン認識を実行してもよい。この事例において、人工ニューラルネットワーク処理手法を使用することは、雑音を伴う、不正確である、または不完全なデータに対してより強固であることと、人間のアナリストまたは複雑性のより低い手法を使用するシステムには検出できないパターンおよび/または傾向を設定プラットフォームが検出できるようにすることとにより、設定プラットフォームによって生成される訓練された機械学習モデルの精度を改善し得る。
一部の実装において、機械学習モデルを訓練するのではなく、設定プラットフォームは別のデバイス(例えばサーバデバイス)から機械学習モデルを受信してもよい。例として、サーバデバイスは、上述されたのと類似した形で機械学習モデルを訓練したことに基づく機械学習モデルを生成してもよく、機械学習モデルを設定プラットフォームに提供してもよい(例えば、設定プラットフォームに機械学習モデルをあらかじめ搭載してもよく、機械学習モデルのリクエストを設定プラットフォームから受信してもよく、さらに/または同様のことをしてもよい)。設定プラットフォームは、特定の特性を備える顧客、ERPプラットフォームの特定のソフトウェア、および/または同様のもののための機械学習モデルを特定するためにルックアップを実行してもよい。例として、設定プラットフォームは、顧客および/またはソフトウェアの1つ以上の特性に基づき、機械学習モデルのルックアップを実行してもよい。言い換えれば、設定プラットフォームは、様々な機械学習モデルを利用して、設定されたタスクのセットを特定することに関係する種々の予測を行い、それによってかかる予測を行う精度を向上させてもよい。
図1Fに参照番号130により示されているように、設定プラットフォームは、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定してもよい。例として、図1Fに示されているように、設定プラットフォームは、第1のタスク(例えばタスク1)とカスタマイズテーブルのうちの1つ以上との間の第1のリンク(例えばリンク1)から、第Nのタスク(例えばタスクN)とカスタマイズテーブルのうちの1つ以上との間の第Nのリンク(例えばリンクN)を決定してもよい。一部の実装において、設定プラットフォームは、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されたことをテスト結果データが示すと、(例えばタスクのセットのうちの)特定のタスクと(例えばカスタマイズテーブルのうちの)特定のカスタマイズテーブルとの間の(例えば複数のリンクのうちの)特定のリンクを決定してもよい。一部の実装において、設定プラットフォームは、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されなかったことを示すと、特定のタスクと特定のカスタマイズテーブルとの間の特定のリンクの確立を防止してもよい。
一部の実装において、設定プラットフォームは、タスクのセットと複数のカスタマイズテーブルとの間の複数のリンクを決定するために、タスクのセット、カスタマイズテーブル、およびテスト結果データを、機械学習モデルを用いて処理してもよい。機械学習モデルは、k平均クラスタリングモデル、平均シフトクラスタリングモデル、DBSCANモデル、混合ガウスモデルを使用した期待値最大化クラスタリング、凝集型階層的クラスタリングモデル、および/または同様のものなどのクラスタリングモデルを含んでもよい。設定プラットフォームは、図1Eに関連して上述したのと類似した形で機械学習モデルを訓練してもよい。
一部の実装において、機械学習モデルを訓練するのではなく、設定プラットフォームは別のデバイス(例えばサーバデバイス)から機械学習モデルを受信してもよい。例として、サーバデバイスは、図1Eに関連して上述されたのと類似した形で機械学習モデルを訓練したことに基づく機械学習モデルを生成してもよく、設定プラットフォームに機械学習モデルを提供してもよい。設定プラットフォームは、特定の特性を備える顧客、ERPプラットフォームの特定のソフトウェア、および/または同様のもののための機械学習モデルを特定するためにルックアップを実行してもよい。例として、設定プラットフォームは、顧客および/またはソフトウェアの1つ以上の特性に基づき、機械学習モデルのルックアップを実行してもよい。言い換えれば、設定プラットフォームは、様々な機械学習モデルを利用して、タスクのセットと複数のカスタマイズテーブルとの間の複数のリンクを決定することに関係する種々の予測を行い、それによってかかる予測を行う精度を向上させてもよい。
図1Gに参照番号135により示されているように、設定プラットフォームは、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、レポートを生成してもよい。レポートは、タスクのセットの中の各タスクの機能、タスクのセットに対して加えられた変更、タスクのセットにさらなる変更が加えられる場合にされるべき検討、複数のリンク、および/または同様のものを特定する情報を含んでもよい。例として、図1Gに示されているように、レポートは、第1のタスク(例えばタスク1)と、設定データの中で特定された特定の設定(例えば設定1)およびカスタマイズテーブルの中で特定された特定のカスタマイズテーブル(例えばテーブル10)とを関連付けてもよく、第2のタスク(例えばタスク2)と、設定データの中で特定された別の特定の設定(例えば設定5)およびカスタマイズテーブルの中で特定された別の特定のカスタマイズテーブル(例えばテーブル13)とを関連付けてもよく、さらに/または同様のことをしてもよい。
一部の実装において、設定プラットフォームは、動作データ、複数のカスタマイズテーブル、設定データ、複数のリンク、および/または同様のものに基づく情報を1つ以上のドキュメントに自動で投入してもよい。レポートは、1つ以上のドキュメントを含んでもよい。あるいは、またはさらに、設定プラットフォームは、特定の位置でソフトウェアに対して行われたカスタマイズ、ソフトウェアにより実行されるタスクの説明、顧客がソフトウェアをさらにカスタマイズすることを望む場合に顧客により考慮されるべき検討事項、および/または同様のものを示す情報を含む、1つ以上のドキュメントを生成してもよく、1つ以上のドキュメントをレポートに結合してもよい。
一部の実装において、設定プラットフォームは、異なる1つ以上のソフトウェアアプリケーション(例えば文書作成アプリケーション、スプレッドシートアプリケーション、および/または同様のもの)に関連する1つ以上のフォーマットでレポートを生成してもよい。設定プラットフォームは、レポートと、ERPプラットフォームにより提供される1つ以上のオブジェクト、特徴、成果物、ソフトウェア、および/または同様のものとを統合してもよい。このようにして、設定プラットフォームは、顧客の他のアプリケーション、システム、および/またはプラットフォームにインポート可能な、顧客が簡単に利用できる形態のレポート(例えばソフトウェアに対して行われたすべての変更およびカスタマイズを説明する)を提供すること、および/または同様のことをしてもよい。
図1Hに参照番号140により示されているように、設定プラットフォームは、レポートに基づき1つ以上のアクションを実行してもよい。一部の実装において、1つ以上のアクションは、設定プラットフォームが、ERPプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスにレポートを提供することを含んでもよい。このように、設定プラットフォームは、カスタマイズされたERPソフトウェアを理解し利用するために顧客が利用できるドキュメンテーションとともに、カスタマイズされたERPソフトウェアを提供する。これは、カスタマイズされたERPソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソースを節約する。
一部の実装において、1つ以上のアクションは、設定プラットフォームが、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するデータ構造にレポートを提供することを含んでもよい。このように、設定プラットフォームは、カスタマイズされたERPソフトウェアを、顧客がカスタマイズされたERPソフトウェアを理解し利用するため、顧客のシステムにインポートするため、および/または同様のことのために利用できるドキュメンテーションとともに提供する。これは、カスタマイズされたERPソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソースを節約する。
一部の実装において、1つ以上のアクションは、設定プラットフォームが、表示のためにレポートをクライアントデバイスに提供することを含んでもよい。このように、設定プラットフォームは、カスタマイズされたERPソフトウェアを理解し利用するために顧客が利用できるドキュメンテーションを表示のために提供する。これは、カスタマイズされたERPソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソースを節約する。
一部の実装において、1つ以上のアクションは、設定プラットフォームが、ERPプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスまたはデータ構造にソフトウェアに関連する動作データを提供することを含んでもよい。このように、設定プラットフォームは、ソフトウェアの設定および/またはカスタマイズを顧客がより包括的に理解できるようにし、動作データとカスタマイズおよび設定との間の関係を顧客がより深く分析できるようにし、さらに/または同様のことをする、ソフトウェアの動作データを提供してもよい。
一部の実装において、1つ以上のアクションは、設定プラットフォームがソフトウェアに関連する設定データをクライアントデバイスまたはデータ構造に提供することを含んでもよい。このように、設定プラットフォームは、ソフトウェアの設定を顧客がより包括的に理解できるようにし、ソフトウェアの設定を顧客がより深く分析できるようにし、さらに/または同様のことをする設定情報を提供してもよい。
一部の実装において、1つ以上のアクションは、設定プラットフォームがタスクのセットにリンクされたカスタマイズテーブルをクライアントデバイスまたはデータ構造に提供することを含んでもよい。このように、設定プラットフォームは、カスタマイズされたERPソフトウェアを理解し利用するために顧客が利用できる情報を提供する。これは、カスタマイズされたERPソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソースを節約する。
このように、ERPソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成するプロセスのいくつかの異なる段階が、プロセスのスピードおよび効率性を改善し、コンピューティングリソース(例えば処理リソース、メモリリソース、および/または同様のもの)を節約し得る。さらに、本願明細書に記載される実装は、コンピュータによる精密なプロセスを使用して、以前は実行されなかったタスクまたは役割を実行する。例として、現在、ERPソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する手法は存在しない。さらに、ERPソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成するプロセスは、カスタマイズされたレポート用の情報を検索すること、カスタマイズされたソフトウェアの情報と、複数の設定および/または複数のカスタマイズテーブルに関連する情報とを照合すること、カスタマイズされたレポートを生成すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソース(例えば処理リソース、メモリリソース、ネットワークリソース、および/または同様のもの)を節約する。
最後に、設定プラットフォームは、ERPソフトウェアを理解し利用するために顧客が利用できるドキュメンテーションとともに、ERPソフトウェアを顧客に提供できるようにする。これは、ERPソフトウェアについての質問を顧客から受けること、質問に対する回答を検索すること、顧客に回答を提供すること、および/または同様のことに、これ以外の場合であれば浪費されるであろうリソースを節約する。
上記で指摘したように、図1A〜図1Hは、単に例として提供されている。他の例は、図1A〜図1Hに関して記載されているものと異なり得る。
図2は、本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境200の図である。図2に示されているように、環境200は、クライアントデバイス210、設定プラットフォーム220、ネットワーク230、およびサーバデバイス240を含んでもよい。環境200のデバイスは、有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせを介して相互に接続してもよい。
クライアントデバイス210は、本願明細書に記載された情報などの情報を受信、生成、格納、処理、および/または提供できる1つ以上のデバイスを含む。例としてクライアントデバイス210は、携帯電話(例えばスマートフォン、無線電話、および/または同様のもの)、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、ゲーム用デバイス、ウェアラブル通信デバイス(例えばスマート腕時計、スマート眼鏡、心拍数モニタ、フィットネストラッカー、スマート衣類、スマートジュエリー、頭部搭載型ディスプレイ、および/または同様のもの)または類似のタイプのデバイスを含んでもよい。一部の実装において、クライアントデバイス210は、設定プラットフォーム220および/またはサーバデバイス240から情報を受信し、且つ/または設定プラットフォーム220および/またはサーバデバイス240に情報を送信してもよい。
設定プラットフォーム220は、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する1つ以上のデバイスを含む。一部の実装において、設定プラットフォーム220は、具体的な必要性に応じて一定のソフトウェアコンポーネントの入れ替えが可能なように、モジュール式で設計されてもよい。よって、設定プラットフォーム220は、様々な用途のために容易且つ/または迅速に再設定され得る。一部の実装において、設定プラットフォーム220は、1つ以上のクライアントデバイス210および/またはサーバデバイス240から情報を受信し、且つ/または1つ以上のクライアントデバイス210および/またはサーバデバイス240へ情報を送信してもよい。
図のように、一部の実装では、設定プラットフォーム220はクラウドコンピューティング環境222においてホスティングされてもよい。特に、本願明細書に記載される実装は設定プラットフォーム220がクラウドコンピューティング環境222においてホスティングされるものとして記載するが、一部の実装では、設定プラットフォーム220はクラウドベースでなくてもよく(すなわちクラウドコンピューティング環境外に実装されてもよい)、または部分的にクラウドベースとされてもよい。
クラウドコンピューティング環境222は、設定プラットフォーム220をホスティングする環境を含む。クラウドコンピューティング環境222は、設定プラットフォーム220をホスティングするシステム(単数または複数)および/またはデバイス(単数または複数)の物理的な位置および設定の知識をエンドユーザに要求しない計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供してもよい。図のように、クラウドコンピューティング環境222は、コンピューティングリソース224のグループを含んでもよい(まとめて「コンピューティングリソース群224」と呼ばれ、個別には「コンピューティングリソース224」と呼ばれる)。
コンピューティングリソース224は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、メインフレームデバイス、またはその他のタイプの計算および/もしくは通信デバイスを含む。一部の実装において、コンピューティングリソース224は、設定プラットフォーム220をホスティングしてもよい。クラウドリソースは、コンピューティングリソース224において実行される演算インスタンス、コンピューティングリソース224内に設けられるストレージデバイス、コンピューティングリソース224により提供されるデータ転送デバイスなどを含んでもよい。一部の実装において、コンピューティングリソース224は、有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせを介して他のコンピューティングリソース群224と通信してもよい。
図2にさらに示されているように、コンピューティングリソース224は、1つ以上のアプリケーション(「APP(application)」)224−1、1つ以上の仮想マシン(「VM(virtual machine)」)224−2、仮想化ストレージ(「VS(virtualized storage)」)224−3、1つ以上のハイパーバイザ(「HYP(hypervisor)」)224−4、および/または同様のものなどのクラウドリソースのグループを含む。
アプリケーション224−1は、クライアントデバイス210および/もしくはサーバデバイス240に提供されても、またはクライアントデバイス210および/もしくはサーバデバイス240によりアクセスされてもよい1つ以上のソフトウェアアプリケーションを含む。アプリケーション224−1は、クライアントデバイス210上でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよい。例として、アプリケーション224−1は、設定プラットフォーム220に関連するソフトウェア、および/またはクラウドコンピューティング環境222を介して提供できる他の任意のソフトウェアを含んでもよい。一部の実装において、1つのアプリケーション224−1は、仮想マシン224−2を介して他の1つ以上のアプリケーション224−1との間で情報を送受信してもよい。
仮想マシン224−2は、物理マシンのようにプログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装を含む。仮想マシン224−2は、用途、および仮想マシン224−2の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかとされ得る。システム仮想マシンは、完全なオペレーティングシステム(「OS(operating system)」)の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン224−2は、ユーザ(例えばクライアントデバイス210および/またはサーバデバイス240のユーザまたは設定プラットフォーム220のオペレータ)の代わりに実行してもよく、データ管理、同期化、または長期データ転送など、クラウドコンピューティング環境222のインフラストラクチャの管理をしてもよい。
仮想化ストレージ224−3は、コンピューティングリソース224のストレージシステムまたはデバイスの中で仮想化手法を使用する1つ以上のストレージシステムおよび/または1つ以上のデバイスを含む。一部の実装において、ストレージシステムの文脈の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含み得る。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化(または分離)を指すことができ、その結果、物理ストレージまたはヘテロジニアス構造と無関係にストレージシステムがアクセスされ得る。この分離は、ストレージシステムの管理者がエンドユーザに対しどのようにストレージを管理するかの点で、柔軟性を管理者に認めることができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される位置との間の依存関係をなくすことができる。これは、ストレージ使用の最適化、サーバコンソリデーション、および/または無停止ファイルマイグレーションの実行を可能にし得る。
ハイパーバイザ224−4は、複数のオペレーティングシステム(例えば「ゲストオペレーティングシステム」)がコンピューティングリソース224などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化手法を提供してもよい。ハイパーバイザ224−4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
ネットワーク230は、1つ以上の有線ネットワークおよび/またはワイヤレスネットワークを含む。例としてネットワーク230は、セルラネットワーク(例えば第5世代(5G:fifth generation)ネットワーク、ロングタームエボリューション(LTE:long−term evolution)ネットワーク、第3世代(3G:third generation)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワークなど)、公衆陸上モバイルネットワーク(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話網(例えば公衆交換電話網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、および/もしくは同様のもの、ならびに/またはこれらもしくはその他のタイプのネットワークの組み合わせを含んでもよい。
サーバデバイス240は、本願明細書に記載された情報などの情報を受信、生成、格納、処理、および/または提供できる1つ以上のデバイスを含む。例としてサーバデバイス240は、上述した事業体に関連する、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、サーバデバイスのグループ、または類似のタイプのデバイスを含んでもよい。一部の実装において、サーバデバイス240は、クライアントデバイス210および/もしくは設定プラットフォーム220から情報を受信し、且つ/またはクライアントデバイス210および/もしくは設定プラットフォーム220に情報を送信してもよい。
図2に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図2に示されたものと比べて、追加のデバイスおよび/もしくはネットワーク、より少数のデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または別様に配置されたデバイスおよび/もしくはネットワークがあってもよい。さらに、図2に示されている2つ以上のデバイスが単一のデバイスの中に実装されてもよく、または図2に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境200のデバイスのセット(例えば1つ以上のデバイス)が、環境200のデバイスの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
図3は、デバイス300の例示のコンポーネントの図である。デバイス300は、クライアントデバイス210、設定プラットフォーム220、コンピューティングリソース224、および/またはサーバデバイス240に対応してもよい。一部の実装において、クライアントデバイス210、設定プラットフォーム220、コンピューティングリソース224、および/またはサーバデバイス240は、1つ以上のデバイス300および/またはデバイス300の1つ以上のコンポーネントを含んでもよい。図3に示されているように、デバイス300は、バス310、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、および通信インターフェース370を含んでもよい。
バス310は、デバイス300のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ320は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ320は、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、アクセラレーテッド処理ユニット(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field−programmable gate array)、特定用途向け集積回路(ASIC:application−specific integrated circuit)、または別のタイプの処理コンポーネントである。一部の実装において、プロセッサ320は、機能を実行するようにプログラムできる1つ以上のプロセッサを含む。メモリ330は、プロセッサ320により使用される情報および/または命令を格納するランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、および/または別のタイプの動的もしくは静的ストレージデバイス(例えばフラッシュメモリ、磁気メモリ、および/または光学メモリ)を含む。
ストレージコンポーネント340は、デバイス300の動作および使用に関係する情報および/またはソフトウェアを格納する。例としてストレージコンポーネント340は、ハードディスク(例えば磁気ディスク、光学ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
入力コンポーネント350は、デバイス300が、ユーザ入力などを介して情報を受信することを可能にするコンポーネント(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を含む。さらに、または代わりに、入力コンポーネント350は、情報を感知するセンサ(例えばグローバルポジショニングシステム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力コンポーネント360は、デバイス300からの出力情報を提供するコンポーネント(例えばディスプレイ、スピーカ、および/または1つ以上の発光ダイオード(LED:light−emitting diode))を含む。
通信インターフェース370は、デバイス300が有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせなどを介して他のデバイスと通信できるようにする、トランシーバのようなコンポーネント(例えばトランシーバならびに/または別々の受信機および送信機)を含む。通信インターフェース370は、デバイス300が、別のデバイスから情報を受信し、且つ/または別のデバイスに情報を提供することを可能にしてもよい。例として、通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi−Fiインターフェース、セルラネットワークインターフェース、および/または同様のものを含んでもよい。
デバイス300は、本願明細書に記載された1つ以上のプロセスを実行してもよい。デバイス300は、メモリ330および/またはストレージコンポーネント340などの非一時的コンピュータ可読媒体により格納されたソフトウェア命令をプロセッサ320が実行するのに基づき当該のプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的メモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイスの中のメモリ空間または複数の物理ストレージデバイスに分散したメモリ空間を含む。
ソフトウェア命令は、メモリ330および/またはストレージコンポーネント340に別のコンピュータ可読媒体から、または通信インターフェース370を介して別のデバイスから読み込まれてもよい。メモリ330および/またはストレージコンポーネント340に格納されたソフトウェア命令は、実行されると本願明細書に記載された1つ以上のプロセスをプロセッサ320に実行させてもよい。さらに、または代わりに、本願明細書に記載の1つ以上のプロセスを実行するために、配線による回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
図3に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス300は、図3に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス300のコンポーネントのセット(例えば1つ以上のコンポーネント)が、デバイス300のコンポーネントの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
図4は、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する例示のプロセス400のフローチャートである。一部の実装において、図4の1つ以上のプロセスブロックは、設定プラットフォーム(例えば設定プラットフォーム220)により実行されてもよい。一部の実装において、図4の1つ以上のプロセスブロックは、クライアントデバイス(例えばクライアントデバイス210)、サーバデバイス(例えばサーバデバイス240)、および/または同様のものなど、設定プラットフォームとは独立した、または設定プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
図4に示されているように、プロセス400は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを受信することを含んでもよく、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含む(ブロック410)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを受信してもよい。一部の実装において、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含んでもよい。
図4にさらに示されているように、プロセス400は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信することを含んでもよく、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含む(ブロック420)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、入力コンポーネント350、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信してもよい。一部の実装において、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含んでもよい。
図4にさらに示されているように、プロセス400は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを受信することを含んでもよく、設定データは、タスクに関連する設定を特定するデータを含む(ブロック430)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを受信してもよい。一部の実装において、設定データは、タスクに関連する設定を特定するデータを含んでもよい。
図4にさらに示されているように、プロセス400は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信することを含んでもよく、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含む(ブロック440)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信してもよい。一部の実装において、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含んでもよい。
図4にさらに示されているように、プロセス400は、タスクのうちのタスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定することを含んでもよい(ブロック450)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、ストレージコンポーネント340、および/または同様のものを使用する)は、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定してもよい。
図4にさらに示されているように、プロセス400は、動作データ、複数のカスタマイズテーブル、設定データ、複数のリンクに基づき、1つ以上のアクションを実行することを含んでもよい(ブロック460)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、ストレージコンポーネント340、通信インターフェース370、および/または同様のものを使用する)は、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、1つ以上のアクションを実行してもよい。
プロセス400は、後述され、且つ/または本願明細書の他の箇所に記載した他の1つ以上のプロセスに関連して記載される、任意の単一の実装または複数実装の任意の組み合わせなど、追加の実装を含んでもよい。
第1の実装において、1つ以上のアクションを実行するとき、設定プラットフォームは、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、レポートを生成してもよい。
第2の実装単体、または第1の実装と組み合わされた第2の実装において、1つ以上のアクションを実行するとき、設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスにレポートを提供してもよく、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するデータ構造にレポートを提供してもよく、または表示のためにレポートをクライアントデバイスに提供してもよい。
第3の実装単体、または第1および第2の実装のうちの1つ以上と組み合わされた第3の実装において、1つ以上のアクションを実行するとき、設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスもしくはデータ構造に動作データを提供してもよく、クライアントデバイスもしくはデータ構造に設定データを提供してもよく、またはクライアントデバイスもしくはデータ構造に複数のカスタマイズテーブルを提供してもよい。
第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを決定するとき、設定プラットフォームは、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されたことを示すと、特定のタスクと特定のカスタマイズテーブルとの間の特定のリンクを決定してもよい。
第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを決定するとき、設定プラットフォームは、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されたことを示すと、特定のタスクと特定のカスタマイズテーブルとの間の特定のリンクを確立してもよく、または、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されなかったことを示すと、特定のタスクと特定のカスタマイズテーブルとの間の特定のリンクの確立を防止してもよい。特定のリンクは、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されたことを示すと、複数のリンクに含まれてもよい。特定のタスクは、タスクのセットに含まれてもよく、特定のカスタマイズテーブルは、複数のカスタマイズテーブルに含まれてもよい。
第6の実装単体、または第1から第5の実装のうちの1つ以上と組み合わされた第6の実装において、設定プラットフォームは、ソフトウェアにより実行されるタスクから、タスクのセットを特定するために、設定データに基づき動作データを処理してもよく、タスクのセットは、設定されたものである。
図4はプロセス400の例示のブロックを示すが、一部の実装ではプロセス400は、図4に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス400のブロックの2つ以上が並列実行されてもよい。
図5は、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する例示のプロセス500のフローチャートである。一部の実装において、図5の1つ以上のプロセスブロックは、設定プラットフォーム(例えば設定プラットフォーム220)により実行されてもよい。一部の実装において、図5の1つ以上のプロセスブロックは、クライアントデバイス(例えばクライアントデバイス210)、サーバデバイス(例えばサーバデバイス240)、および/または同様のものなど、設定プラットフォームとは独立した、または設定プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
図5に示されているように、プロセス500は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを取得することを含んでもよく、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含む(ブロック510)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを取得してもよい。一部の実装において、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含んでもよい。
図5にさらに示されているように、プロセス500は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを取得することを含んでもよく、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含む(ブロック520)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、入力コンポーネント350、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを取得してもよい。一部の実装において、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含んでもよい。
図5にさらに示されているように、プロセス500は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを取得することを含んでもよく、設定データは、タスクに関連する設定を特定するデータを含む(ブロック530)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを取得してもよい。一部の実装において、設定データは、タスクに関連する設定を特定するデータを含んでもよい。
図5にさらに示されているように、プロセス500は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを取得することを含んでもよく、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含む(ブロック540)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを取得してもよい。一部の実装において、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含んでもよい。
図5にさらに示されているように、プロセス500は、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理することを含んでもよい(ブロック550)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、および/または同様のものを使用する)は、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理してもよい。
図5にさらに示されているように、プロセス500は、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定することを含んでもよい(ブロック560)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、ストレージコンポーネント340、および/または同様のものを使用する)は、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定してもよい。
図5にさらに示されているように、プロセス500は、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、レポートを生成することを含んでもよく、レポートは、タスクのセット内の各タスクの機能、タスクのセットに対して加えられた変更、タスクのセットにさらなる変更が加えられる場合にされるべき検討、または複数のリンクのうちの1つ以上を特定する情報を含む(ブロック570)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づき、レポートを生成してもよい。一部の実装において、レポートは、タスクのセットの中の各タスクの機能、タスクのセットに対して加えられた変更、タスクのセットにさらなる変更が加えられる場合にされるべき検討、または複数のリンクのうちの1つ以上を特定する情報を含んでもよい。
図5にさらに示されているように、プロセス500は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスまたはデータ構造にレポートを提供することを含んでもよい(ブロック580)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスまたはデータ構造にレポートを提供してもよい。
プロセス500は、後述され、且つ/または本願明細書の他の箇所に記載した他の1つ以上のプロセスに関連して記載される、任意の単一の実装または複数実装の任意の組み合わせなど、追加の実装を含んでもよい。
第1の実装において、ソフトウェアにより実行されるタスクは、プロジェクトのための品目調達、プロジェクトのスケジュール、プロジェクトのマイルストーン、またはプロジェクトのための必要な支払いのうちの1つ以上を含んでもよい。
第2の実装単体、または第1の実装と組み合わされた第2の実装において、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアは、顧客向けにカスタマイズされた設計アプリケーション、顧客向けにカスタマイズされたプロジェクト管理アプリケーション、顧客向けにカスタマイズされたプロジェクト統括アプリケーション、または顧客向けにカスタマイズされたデリバリ閲覧アプリケーションのうちの1つ以上を含んでもよい。
第3の実装単体、または第1および第2の実装のうちの1つ以上と組み合わされた第3の実装において、設定プラットフォームは、レポートを生成するとき、動作データ、複数のカスタマイズテーブル、設定データ、および複数のリンクに基づく情報を1つ以上のドキュメントに自動で投入してもよい。
第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、設定プラットフォームは、レポートを生成するとき、レポートの、1つ以上のドキュメントであって、特定の位置でソフトウェアに対して行われたカスタマイズ、ソフトウェアにより実行されるタスクの説明、または顧客がソフトウェアをさらにカスタマイズすることを望む場合に顧客により考慮されるべき検討事項のうちの1つ以上を示す情報を含む1つ以上のドキュメントを生成してもよい。
第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、テスト結果データは、機能性についてのタスクのテストに関連する結果を特定するデータを含んでもよい。
第6の実装単体、または第1から第5の実装のうちの1つ以上と組み合わされた第6の実装において、設定データは、タスクの1つ以上に加えられた変更を特定する記録を含んでもよい。
図5はプロセス500の例示のブロックを示すが、一部の実装ではプロセス500は、図5に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス500のブロックの2つ以上が並列実行されてもよい。
図6は、エンタープライズリソースプランニングソフトウェアを設定しソフトウェア設定についてのカスタマイズされたレポートを生成する例示のプロセス600のフローチャートである。一部の実装において、図6の1つ以上のプロセスブロックは、設定プラットフォーム(例えば設定プラットフォーム220)により実行されてもよい。一部の実装において、図6の1つ以上のプロセスブロックは、クライアントデバイス(例えばクライアントデバイス210)、サーバデバイス(例えばサーバデバイス240)、および/または同様のものなど、設定プラットフォームとは独立した、または設定プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
図6に示されているように、プロセス600は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを受信することを含んでもよく、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含む(ブロック610)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する動作データを受信してもよい。一部の実装において、動作データは、ソフトウェアにより実行されるタスクを特定するデータを含んでもよい。
図6にさらに示されているように、プロセス600は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信することを含んでもよく、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含む(ブロック620)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、入力コンポーネント350、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するカスタマイズテーブルを受信してもよい。一部の実装において、カスタマイズテーブルは、タスクに関連するカスタマイズ設定値を格納するテーブルを含んでもよい。
図6にさらに示されているように、プロセス600は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを受信することを含んでもよく、設定データは、タスクに関連する設定を特定するデータを含む(ブロック630)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連する設定データを受信してもよい。一部の実装において、設定データは、タスクに関連する設定を特定するデータを含んでもよい。
図6にさらに示されているように、プロセス600は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信することを含んでもよく、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含む(ブロック640)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、通信インターフェース370、および/または同様のものを使用する)は、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアに関連するテスト結果データを受信してもよい。一部の実装において、テスト結果データは、タスクのテストに関連するテスト結果を特定するデータを含んでもよい。
図6にさらに示されているように、プロセス600は、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理することを含んでもよい(ブロック650)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、および/または同様のものを使用する)は、ソフトウェアにより実行されるタスクから、設定されたタスクのセットを特定するために、設定データに基づき動作データを処理してもよい。
図6にさらに示されているように、プロセス600は、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定することを含んでもよい(ブロック660)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、ストレージコンポーネント340、および/または同様のものを使用する)は、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを、テスト結果データに基づき決定してもよい。
図6にさらに示されているように、プロセス600は、複数のカスタマイズテーブルおよび複数のリンクを特定する情報を少なくとも含むレポートを生成することを含んでもよい(ブロック670)。例として、上述のように、設定プラットフォーム(例えばコンピューティングリソース224、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、複数のカスタマイズテーブルおよび複数のリンクを特定する情報を少なくとも含むレポートを生成してもよい。
プロセス600は、後述され、且つ/または本願明細書の他の箇所に記載した他の1つ以上のプロセスに関連して記載される、任意の単一の実装または複数実装の任意の組み合わせなど、追加の実装を含んでもよい。
第1の実装において、設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスにレポートを提供してもよく、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するデータ構造にレポートを提供してもよく、または表示のためにレポートをクライアントデバイスに提供してもよい。
第2の実装単体、または第1の実装と組み合わされた第2の実装において、設定プラットフォームは、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアの顧客に関連するクライアントデバイスもしくはデータ構造に動作データを提供してもよく、クライアントデバイスもしくはデータ構造に設定データを提供してもよく、またはクライアントデバイスもしくはデータ構造に複数のカスタマイズテーブルを提供してもよい。
第3の実装単体、または第1から第2の実装のうちの1つ以上と組み合わされた第3の実装において、タスクのセットと、カスタマイズテーブルのうちの複数のカスタマイズテーブルとの間の複数のリンクを決定するとき、設定プラットフォームは、テスト結果データが、特定のカスタマイズテーブルの特定のカスタマイズ設定値が特定のタスクに関して変更されたことを示すと、特定のタスクと特定のカスタマイズテーブルとの間の特定のリンクを決定してもよい。特定のリンクは、複数のリンクに含まれてもよく、特定のタスクは、タスクのセットに含まれてもよく、特定のカスタマイズテーブルは、複数のカスタマイズテーブルに含まれてもよい。
第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアは、エンタープライズリソースプランニングプラットフォームにより提供されるカスタマイズされたオブジェクトを含んでもよい。
第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、エンタープライズリソースプランニングプラットフォームにより提供されるソフトウェアは、顧客向けにカスタマイズされた設計アプリケーション、顧客向けにカスタマイズされたプロジェクト管理アプリケーション、顧客向けにカスタマイズされたプロジェクト統括アプリケーション、または顧客向けにカスタマイズされたデリバリ閲覧アプリケーションのうちの1つ以上を含んでもよい。
図6はプロセス600の例示のブロックを示すが、一部の実装ではプロセス600は、図6に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス600のブロックの2つ以上が並列実行されてもよい。
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更および変形が加えられてもよく、または実装の実践から変更および変形が習得される可能性もある。
本願明細書で使用されるとき、「コンポーネント」という用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるものとする。
当然のことながら、本願明細書に記載されたシステムおよび/または方法は、種々の形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび/または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアは、本願明細書の記載に基づくシステムおよび/または方法を実装するよう設計されてもよい。
特徴の特定の組み合わせが特許請求の範囲に記載され且つ/または明細書で開示されるが、これらの組み合わせは様々な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および/または明細書で開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、1つのみのクレームに直接従属するかもしれないが、様々な実装の開示は、クレームセット中の他のすべてのクレームと組み合わせた各従属クレームを含む。
本願明細書で使用されるいずれの構成要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る(aおよびan)」は、1つ以上の項目を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット(set)」という用語は、1つ以上の項目(例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど)を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。1つのみの項目が意図される場合、「1つのみ(only one)」という語句または同様の文言が使用される。さらに、本願明細書で使用されるとき、「有する(has、have、having)」という用語または同様のものは、非限定的な用語であるものとする。さらに、「基づく(based on)」という語句は、別段の記載が明示的にされない限り、「少なくとも部分的に基づく(based,at least in part,on)」を意味するものとする。