「結果」と「ステータス」を分けることの利点は何ですか


11

一般的に次の状態を経る自動化されたプロセスがあるとしましょう。スケジュール済み-開始済み-検証中-実行中-完了

その上、これらのプロセスは、エラーまたは明示的なユーザーのキャンセルにより、途中で終了する可能性があります。

私の最初の衝動は、単純にエラーを追加し、可能なステータス値のリストにキャンセルすることですが、結果ステータスから分離する(概念的な)利点について疑問に思っていました(エラーとキャンセルは完了状態とは単に異なる状態)。

回答:


12

プロセスに割り当てる状態は、プログラム(または単に状態を視覚化する場合はユーザー)がこの情報で何をするかを反映する必要があります。プロセスが実行され、エラーが表示されていない限り、プロセスの状態を評価/表示する必要がありますか?次に、ステータスから結果を分離します。プロセスが終了したときにステータスのみが必要な場合は、分離しないでください。

モデリングのためだけに何もモデリングしないでください。要件を確認してください。また、後で必要になる可能性のあるものが不明な場合は、確実にわかっている要件に対して最も小さく、最も単純なソリューションを選択してください。単に「推測」している場合、すべての場合の90%で間違っていると推測されるため、とにかく後でモデルを変更する必要があります。


1

しかし、結果をステータスから分離することの(概念的な)利点については疑問に思っていました(エラーやキャンセルも完了状態とは異なる状態であると主張するかもしれませんが)。

あなたの場合のように、進捗状況を詳細に説明し、(合理的な範囲内で)障害点を特定することには大きな利点があります。混乱は「ステータス」と「状態」という用語に起因すると思います。これらの用語を修飾する必要があります。そのため、たとえば「タスクステータス」はそれほど正確ではないので、「タスク実行ステータス」を使用することもできますが、すでに実行ステップがあるため、これは間違っています。「タスク処理ステータス」という名前と「開始-検証-実行-完了」の値を使用できます。実際、「キャンセル」をリストに追加できます。しかし、「エラーは」のような質問に答えていない:何であるタスクの処理状況は非常によく。「エラー」はCompletedのサブステータスのようです。どうしようか?Completedの名前を変更できます[OK]完了すると、[エラーあり]をリストに追加できます。したがって、タスク処理ステータス値の最終リストは次のとおりです。

  • 開始された、

  • 検証済み、

  • 実行中、

  • キャンセル、

  • 完了しました、

  • エラーありで完了

編集:今、上記のリストはまだいくつかの作業が必要です。最初の4つのアイテムには、「OK」という単語はありません。したがって、「Completed OK」状態に一致する方が良い場合。もう1つは、最初の4つのアイテムに「with error」が含まれていないことです。これはどういう意味ですか?「Executing」が異常終了するとどうなりますか?それは「Executed with Error」の新しい状態を要求しますか?この時点で、さらに入力と分析が必要になる場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.