系統用例規範中的前置條件是什麼?
系統用例前置條件是系統已知的給定狀態,必須始終為真,才能開始用例執行。例如,用於進行線上支付的用例可能具有以下前置條件:“客戶訂單完成”(對於零售系統)或“提交課程註冊”(對於教育或培訓系統)
前置條件只有在用例中每個可能流開始之前是真的才是有效的。對於一個流必需而對另一個流非必需的東西將不是用例的前置條件。
系前置條件不是什麼?
系前置條件不是呼叫或觸發用例的操作。使用線上支付示例,包含“角色選擇進行線上支付”的前置條件無效。相反,應該在每個用例流的開頭描述啟動或呼叫操作。
系前置條件不是系統外部發生的(對於系統用例而言)。接收文件不是系統的前置條件,除非系統被設計成以電子方式接收文件。前置條件只描述系統已知或檢測到的事物。
系前置條件不是角色腦子裡發生的事情。前置條件不應被稱為“角色希望……”。我還沒有看到一個能夠讀懂思想的IT系統——儘管如果有人建立了一個系統,它肯定會使需求獲取更加容易!這個規則在描述用例流如何被啟動或呼叫時也是正確的——絕不是由參與者的意願或意圖,而是由參與者的動作來啟動。
系小貼士:在寫前置條件時使用現在時態(某事是“是”,而不是“已經”)。單詞前置條件用來描述必須存在的狀態,並避免諸如“...存在”這樣的冗餘術語。前置條件描述了系統必須能夠檢測的狀態,這也意味著它必須固有地存在。在線上支付示例中,重點是狀態(“完成”)和物件(“客戶訂單”)。