您當前的位置:首頁 > 舞蹈

手把手教你寫需求文件

作者:由 MING 發表于 舞蹈時間:2020-01-05

一、需求文件的作用

之前提到過『結構流程圖』是產品的骨架,非常重要,但團隊中很多成員對其實無感的,因為產品本身就是一個故事,僅僅有故事的構思是遠遠不夠的,要想把故事講好,還需要賦予故事更多的細節與血肉,這就是需求文件的作用!

二、好故事的組成要素

童話書裡最吸引眼球的是插圖,而非文字。甚至只看插圖,就能把情節完整的串聯起來。而

原型圖

就是需求文件中的插圖,是產品方案最直接的體現,

故事書中除了插圖,還有對應的描述,以便讀者能夠更好地理解細節。需求文件也是如此,只是需求文件的讀者可以明確劃分為:開發、設計與測試。不同讀者想從中獲取的資訊也有所不同,開發想了解產品的功能邏輯;設計想確定互動與佈局,而測試則想知道具體的測試點。所以需要針對以上三類人群,需求文件要進行三種不同的描述,分別為:

開發注意事項

設計注意事項

測試注意事項

。而實際的操作中,測試注意事項多數會被開發與設計注意事項所涵蓋,所以測試注意事項多數可以不寫。

另外,方案背後的理由解釋也很重要,這樣能夠讓開發、設計、測試對產品方案的理解更加深刻,與產品經理在方案理解上達成最大的公約數。同時在陳述

產品解釋

的過程中,也是產品經理二次檢驗與自我質疑,對於方案的嚴謹性與完善性有很大的益處。

三、需求文件的編寫

3.1 原型圖

原型圖是需求文件中最核心的部分,所有的解釋說明,都以原型圖為基礎而展開,合格的原型圖應該滿足清晰的表達出以下資訊

頁面包含的元件與佈局;

這一點是最基礎,同時也相對簡單,因為只要產品骨架確定下來,透過參考大量的競品,確定頁面內相關的元件與佈局,往往是水到渠成的事情。

元件的展示優先順序;

原型圖中的各個元件一般會透過大小,佈局,顏色深淺的形式來傳達相應的優先順序。一般來說,顏色越深,優先順序越高;元件越大,優先順序越高;元件越靠近頁面的視覺中心,優先順序越高。

展示出元件的不同狀態;

很多元件會因場景的不同,而展示不同的狀態,下面的頁面是某個音訊播放器的主頁,主頁下方是音訊列表,列表中每個音訊透過顏色深淺的方式,區分了『選中』與『未選中』兩種狀態。

手把手教你寫需求文件

展示元件在頁面內的響應結果;

如果元件的響應結果就在本頁展示,則需要將響應結果也展示在原型圖中,如果響應結果是另外一個頁面,則需要透過文字的形式說清楚跳轉關係,下面的案例中,點選『開始睡覺』的按鈕之後,會判斷起床時間距離當前是否超過90分鐘,如果沒超過,則彈出『睡前確認彈窗1』否則彈出『睡前提醒彈窗2』

手把手教你寫需求文件

3.2 開發注意事項

對於開發的同學來說,『開發注意事項』的地位和和原型圖同樣重要,因為原型圖只展示靜態的結果,但背後的觸發條件、觸發時機、動態效果等關鍵資訊無法體現,需要大量的描述將上述資訊說清楚。所以『開發注意事項』需要將以下資訊說明白

元件狀態變化的觸發條件與時機;

由於多數的觸發條件與時機都是抽象不可見的,所以僅參考原型圖,開發無法完成預期的業務邏輯,需要透過文字將背後的邏輯說清楚,以插屏廣告請求與展示為例

手把手教你寫需求文件

原型圖只表明了廣告展示的流程,並沒有涉及廣告請求與展示邏輯,所以需要在『開發注意事項』中新增如下描述

點選上鎖的音訊,進入廣告載入頁面,同時請求廣告,若在8秒內請求到廣告,則進行展示,廣告展示後,『廣告載入提示頁面』消失,使用者可以手動關閉廣告;如果8秒內沒有請求到廣告,則不再請求廣告,『廣告載入提示頁面』消失。

元件的互動結果

雖然多陣列件的互動結果都能透過原型圖表現出來,但也有一些場景需要文字描述的形式才能解釋清楚。

下面的原型圖展示的是某音訊播放器的首頁,點選『右上角』的隨機播放按鈕,會

隨機

播放4首免費的音訊。但

隨機

二字顯然很難透過原型圖表達,所以需要在『開發注意事項』中詳細說明

手把手教你寫需求文件

頁面間的跳轉邏輯;

在一張Axure畫板中,通常只展示一個頁面的邏輯,如果該頁面中某些元件的互動結果是跳轉到其他頁面,建議使用文字將涉及的跳轉邏輯表達清楚。

元件與頁面的動態過程;

雖然Axure也能實現一些動態效果,但製作成本較高,動態表達也很單一,透過文字描述的形式,很容易將邏輯說明白。

下圖案例中,點選自定義按鈕,底部會出現自定義計時器面板,僅靠原型圖,開發同學無法得知『計時器面板』的出現效果,直接展示?還是淡入淡出?所以需要在『開發注意事項』中新增如下描述

點選『自定義』按鈕,『計時器面板』自下向上彈出

手把手教你寫需求文件

必要的流程圖

所謂一圖勝千言,上面提到的4個開發注意事項如果能用流程圖表達,則建議儘量使用流程圖,這樣不僅邏輯清晰,而且簡練明快,如下圖展示的是某個睡眠鬧鐘首頁

手把手教你寫需求文件

若用文字描述上面的邏輯,會吧啦吧啦寫出下面一段

點選首頁的『開始睡眠按鈕』,判斷右上角的『起床提醒開關』的狀態,若為關閉,直接彈出『睡前狀態彈窗』,若為開啟,則判斷提醒時間距當前時間是否大於90分鐘,若大於90分鐘,則彈出『睡眠狀態彈窗』,否則彈出『睡前確認彈窗』。

上述文字不僅表達囉嗦,而且很容易將人弄糊塗,若用流程圖,則會變的清晰很多

手把手教你寫需求文件

3.3 設計注意事項

對於設計同學,重要的資訊包含『頁面佈局』『元件展示優先順序』『元件的不同狀態』與『互動/展示動畫』,這些資訊絕大多數都可以透過原型圖直接表現,所以相較於『開發注意事項』,『設計注意事項』要簡單很多,僅僅起到輔助說明的作用

元件優先順序

在原型圖中,雖然會透過大小與顏色等不同因素區分不同元件的優先順序,但這些因素組合起來,依然會令人困惑,顏色深、形狀小的元件與顏色淺但形狀大的元件,哪個優先順序更高?所以仍需要文字說明。在下面的原型圖中,需要在『設計注意事項』中新增如下描述

頁面元件展示優先順序:開始睡覺按鈕 > 起床提醒卡片 = 就寢提醒卡片

手把手教你寫需求文件

元件的不同狀態

如果元件存在不同狀態,除了要在原型圖中進行展示,也要在『設計注意事項』中再次強調,例如之前提到的音訊圖示分為選中狀態與未選中狀態。

展示/互動動畫

如前面所說,原型圖很難展示動態效果,所以如果牽扯到一些複雜的動畫效果,也需要額外說明,這裡不再詳述。

3.4 產品解釋

產品解釋主要說明方案背後的原因,透過闡述產品方案的內因,能夠讓開發與設計更好地理解產品,使得產品、開發與設計能在方案認知上取得最大的公約數。從而減少溝通成本,提高整個團隊的運作效率。

這裡繼續以插屏廣告的請求與展示為例。

手把手教你寫需求文件

如果對於不熟悉業務的開發與設計,可能會對『廣告載入提示』頁面充滿疑惑,點選上鎖的音訊icon之後,直接彈出一個toast提示豈不是更簡單有效?為何要多此一舉?

所以這裡需要使用

產品解釋

因為在插屏廣告政策中,不允許插屏廣告出現前後是同一個頁面,所以需要額外新增一個『廣告載入提示』頁面,使得廣告展示前使用者看到的是『廣告載入提示頁面』,廣告關閉後,使用者看到的是『首頁』

有了上述文字解釋,開發與設計在執行的時候,會減少困惑,避免了不必要的溝通或撕逼。

四。 完整示例

這是某睡眠鬧鐘軟體的首頁需求文件,包含了『原型圖』『流程圖』『開發注意事項』『設計注意事項』『產品解釋』僅供大家參考,也歡迎大家吐槽

手把手教你寫需求文件

五。 其他

最後給大家推薦一些設計元件的說明與工具,原型圖作為需求文件中最重要的組成部分,是對設計師最直觀的產品表達,在正式開始著手原型圖,強烈建議熟悉並使用標準的元件原型,具體連結如下

谷歌設計元件說明

蘋果設計元件說明

阿里設計元件說明

谷歌設計元件下載(Axure9版本) 阿里設計元件下載(Axure版本)

同時也強烈推薦將原型圖/需求文件上傳至統一的協作平臺中,例如

藍湖 藍湖Axure外掛

更多精彩,請關注公眾號:MING的大航海

標簽: 元件  原型  頁面  注意事項  展示