學會分析典型用戶和典型場景
前一篇文章我談到了需求分析,如何做出能滿足用戶需求的軟件,最首先和最關鍵的是要學會需求分析,那麽我們的用戶在哪裏呢?這篇文章就要來說說典型用戶和典型場景。
在產品開發的過程中,我們經常需要描述一些典型的用戶,以前大家通常是以一些抽象的名詞來表示用戶,如“家用電腦初學者”,“經驗豐富的系統管理員”,現在我們建議用一個“典型用戶”來代表。“典型用戶”可以不是專業出身的程序員,他們有自己的主業,編程只是一個工具,他們的主要目的就是用工具吧事情搞定就行了,他們很喜歡代碼示例,也不特別關心程序效能。怎樣才能定義典型用戶呢?我們首先要定義用戶的角色。正如戲劇中有正面和反面的角色,軟件系統中也有受歡迎的和不受歡迎的典型用戶。如果用戶有不同的安全需求,切記要定義不同的角色來適應這些需求。
那麽當我們有了典型用戶以後,我們還需要決定每個典型用戶的目標:她使用系統需要達到什麽目的。對於每一個目標,列出達到目標所必須經歷的過程,這就是場景,也可以叫故事。但是需要註意的是,有些場景描述了成功的結果,有些場景描述了失敗的結果。用戶和系統有成百上千種可能的交互情況,所以寫場景時要有針對性。那麽我們該如何寫場景呢?首先針對每一個場景,設計一個場景入口;接著描述典型用戶在這個場景中所處的內部和外部環境(內部環境指心理因素等);然後給場景劃分優先級,按優先級排序寫場景。
有了場景以後,就由架構設計師和各個模塊的負責人一起,沿著子系統/模塊的所屬關系把場景劃分開。不同的任務將會把一個場景編織起來,雖然有多個開發者參與這項工作,但是應該有一個開發者對整個場景負責。得到開發任務後,我們就可以創建和分配測試任務。
需求分析工具中,有一種很常用的工具:用例。和典型人物、典型場景的方法類似。用例有這樣一些基本元素:
1.標題:描述這個用例要達到的目標。
2.角色(Actor):和軟件系統交互的角色,例如用戶,其他實體,甚至時間(在描述一些和時間相關的場景時有用)
3.主要成功場景(Main Success Scenario):一系列步驟描述角色是怎樣和系統交互,從而達到目標的。
4.步驟(Step):描述每一步的交互。
5.擴展場景(Extension):描述一些擴展的交互,例如一些意外情況。
學會分析典型用戶和典型場景