web需求定義涉及到展示和交互兩個部分,展示是打開一個頁面時呈現出來的頁面效果,交互是用戶通過鼠標,鍵盤,觸摸或其他外設操作之后系統給出響應的過程。
對於頁面的展示要從下面幾個角度來確認需求。
一. 界面展示,需要確認展示的邏輯
1)展示邏輯通常要考慮不同的角色進入頁面時候的顯示是否一致,如果不一致,則要明確不同角色進來后顯示內容的異同
2)對於有隱藏內容的控件,必須確認隱藏的內容,例如菜單,tab
3)對於每一個顯示單元要確認顯示數據的邏輯,例如“最熱文章”,必須要確認這個最熱文章是如何定義的,是按點擊的還是按轉貼的,還是其他邏輯,另外還要注意這個最熱是否有隱含的時間范圍
4)對於顯示區域臨界條件的確認,要確認數據不足時如何展示,數據字段過長時如何展示
二. 交互需求確認
什么是交互呢? 頁面展示出來,用戶通過鼠標,鍵盤,觸摸或其他外設操作之后系統給出響應的過程就是交互。
對於傳統的web最常見的交互是填寫表單和鼠標點擊。
我們可以先考慮表單需求的確認。 可以把表單性需求的確認分為三個階段 1) 表單填寫 2)表單的提交 3)表單提交后的響應
先來看表單填寫需要確認的需求:
1. 對於輸入性控件必須確認輸入框是否必填,輸入框是否需要格式校驗,是否有最大長度限制,是否有相等性校驗。
2. 對於選擇性控件,也要明確是否有最多選擇數,最少選擇數,是否可以不填等邊界條件
3. 另外要注意是否有鍵盤操作便捷的需求,例如按回車或Ctrl+回車提交,按tab鍵要到下一個表單元素
4. 是否需要在進入界面時自動focus到某一控件上
5. 當用戶將焦點移向下一個控件時是否需要做交互判斷(最典型的是注冊用戶填寫用戶名后自動校驗用戶名是否存在)
上面5點前兩點是邊界條件的確認,第3,4是便捷性需求的確認,第5點是用戶友好性的確認
表單填寫完畢用戶就可以提交表單了,提交表單有異步和同步兩種方式,最好給產品經理確認提交的方式,另外還要評估表單提交是否涉及到耗時的操作,如果操作很耗時,應該要求產品經理給出應對用戶等待焦慮的方案。
最后需要明確表單提交之后需要明確后端處理的業務邏輯,和處理成功或者失敗之后的提示或頁面跳轉。
除了表單之外最常見的交互是鼠標點擊,例如點擊刪除鏈接,刪除一條記錄,這時候要確認點擊前需要客戶端如何響應,點擊服務器收到成功響應后如何顯示,失敗時如何顯示。
對於一個系統來說添加或者修改一個功能點,往往會影響其他功能點,在做需求確認時還要明確當前操作會影響到地方,影響是什么樣子的,如果因為性能原因使用了緩存,要給產品同事明確緩存時間。
總結:
技術人員在確認需求是要考慮界面效果,要考慮顯示邏輯,也要考慮后台的業務邏輯,以及當前需求點操作邏輯對其他地方的影響。
必須在確認需求階段就充分考慮好界面顯示的邊界條件,用戶輸入的校驗條件,用戶交互的顯示邏輯,有錯誤發生時的處理。
業務邏輯中一定要考慮到當前用戶是否分了角色,操作的對象是誰,這個需求是否有時間范圍,操作是否有其他的前提條件,是否影響到其他地方。