???? 在日常工作中爵憎,都會接觸到一個個的需求艘蹋,通過需求分析针炉。我們通過建立一套解決方案去滿足需求的實(shí)現(xiàn)洛搀。再去細(xì)化的話,就是將這套解決方案拆分為一個個的功能點(diǎn)译打。在這里耗拓,我們要討論的就是對功能點(diǎn)進(jìn)行分解,更好的去將其表述出來奏司。
?????? 為了把功能點(diǎn)盡可能的表述清除乔询,其實(shí)很多PM都會有自己的一套思維方式,下面韵洋,我對自己的思維方式進(jìn)行的總結(jié)竿刁。首先,在確定了功能點(diǎn)后搪缨,我就會從最頂層的界面層出發(fā)食拜, 然后是用戶操作層,接著是數(shù)據(jù)層副编,這樣由淺到深的去將一個功能點(diǎn)逐步的拆解负甸。
下面,我會羅列出自己在撰寫功能點(diǎn)的時候,對功能點(diǎn)說明進(jìn)行遍歷的問題:
首先是界面層:
????? 說到界面層惑惶,最基本的就是先想到控件類型煮盼,這里展開一個題外話,就是很多人都會去問產(chǎn)品需不需要懂技術(shù)带污,其實(shí),這個問題香到,用最基本的控件概念來回答
的話鱼冀,就是:在App端或者是
?????? Web端的產(chǎn)品,每個控件其實(shí)都會一個技術(shù)術(shù)語悠就,如TextView千绪、Webview,在進(jìn)行設(shè)計(jì)的時候梗脾,能夠?qū)?shí)現(xiàn)所需的控件有一定的概念的話荸型,到達(dá)這
????? 種程度的話,其實(shí)就挺OK的了炸茧。畢竟瑞妇,懂技術(shù),更多是可以在進(jìn)行方案的設(shè)計(jì)時梭冠,判斷其可行性及預(yù)見實(shí)現(xiàn)出來后的具體效果辕狰。
??????? 嗯,我們再把話題扯回來控漠,在決定使用的控件類型后蔓倍,界面會涉及到的就是控件尺寸、形狀盐捷、字體大小偶翅、顏色、文案(視乎控件類型有所不同)碉渡、響應(yīng)動畫
?????? (這個里面包含動效這個大boss聚谁,這里就不展開說明了)、位置(功能點(diǎn)處于產(chǎn)品的什么模塊爆价、什么位置)垦巴、引導(dǎo)文案(即引導(dǎo)用戶更好的完成操作的,包括新
?????? 手引導(dǎo)铭段,也可以歸類到引導(dǎo)文案中)骤宣、限制條件(例如手機(jī)號碼輸入框只能輸入數(shù)字)。
????? 然后就是序愚,用戶操作層憔披,即用戶是怎樣對當(dāng)前的界面進(jìn)行操作,及操作的反饋有哪些:
1、進(jìn)行操作的用戶有哪些?這個的話芬膝,前臺不會有很大的區(qū)分望门,基本都是大眾用戶(當(dāng)然,電商類會有買家和賣家的區(qū)分)锰霜。對于后臺類產(chǎn)品來說筹误,這個維度更多是用來思考 有哪些角色,對該功能點(diǎn)是否有訪問及操作的權(quán)限癣缅。
2厨剪、操作的對象是什么?比如設(shè)計(jì)注冊表單時,里面的輸入框就是操作的對象友存。
3祷膳、怎樣對 對象進(jìn)行操作?這里可以細(xì)分為操作方式、操作行為屡立。操作方式是指點(diǎn)擊直晨、雙擊or SthElse、這個就比較簡單膨俐,就是操作方式的說明勇皇。但是,對于處于可觸摸屏幕的產(chǎn)品來說吟策,就會有思考的點(diǎn)就是儒士,手勢操作及日常操作的取舍。操作行為的話檩坚,舉例來說着撩,就是該對象是可點(diǎn)擊的,則用戶是正常的去點(diǎn)擊一下匾委,還是不斷的不點(diǎn)奔潰不罷休~最經(jīng)典的例子就是 Web端對按鈕不斷的重復(fù)點(diǎn)擊這種用戶行為~
3拖叙、操作的反饋是哪些?在這點(diǎn)上,主要是正常流程及異常流程下的不同反饋赂乐,反饋的產(chǎn)生形式各種各樣薯鳍,比如彈窗、警示語挨措、頁面切換等等挖滤,這里就不窮舉了,具體問題具體分析即可浅役。
4斩松、操作是否可逆? 最常用的可逆操作就是后臺的管理功能,凍結(jié)賬號or解凍賬號
5觉既、操作對功能點(diǎn)對應(yīng)模塊的影響?在這里惧盹,我們策劃的是功能點(diǎn)乳幸,在保證功能點(diǎn)的邏輯齊全外,也要考慮到該功能的操作對當(dāng)前模塊的其他功能點(diǎn)是否有影響~
6钧椰、操作對功能點(diǎn)對應(yīng)模塊及其他模塊之間的影響? 比如策劃電商產(chǎn)品的支付功能時粹断,用戶完成支付后,用戶中心的站內(nèi)信模塊嫡霞,會通知用戶支付結(jié)果瓶埋。
7、操作對功能點(diǎn)對不同版本之間的影響? 這點(diǎn)的話秒际,更多是成熟類的產(chǎn)品才會存在的問題悬赏。最經(jīng)典的場景就是,上線新功能代替舊功能時娄徊,舊版本的處理問題,這個可以去查看具體的數(shù)據(jù)盾戴,進(jìn)行取舍來解決寄锐。
?????? 最后,就是產(chǎn)品比較底層的數(shù)據(jù)層了尖啡,這里我們會區(qū)分兩種維度去梳理橄仆,后臺從前臺獲取的信息,系統(tǒng)會如何去處理衅斩。然后就是前臺從后臺讀取的數(shù)據(jù)盆顾,系統(tǒng)會對數(shù)據(jù)進(jìn)行怎樣的處理:
A、從前臺獲取的信息
1畏梆、獲取的維度分兩種:用戶輸入您宪、前臺上報,如果是用戶輸入的方式奠涌,就要思考這些數(shù)據(jù)是否進(jìn)行存儲?例如宪巨,歷史輸入數(shù)據(jù)的存儲,如果是要存儲的話溜畅,存儲的方式是什么?另一方面捏卓,前臺上報的方式,更多是行為數(shù)據(jù)及運(yùn)營數(shù)據(jù)的統(tǒng)計(jì)
2慈格、數(shù)據(jù)的傳輸怠晴,就要去思考這些數(shù)據(jù)是不是敏感數(shù)據(jù),是否需要進(jìn)行加密處理?具體的傳輸方式是即時傳輸浴捆、定時傳輸還是分段傳輸呢?這個就需要PM和技術(shù)大大去商量了
3蒜田、數(shù)據(jù)的存儲,這個會分兩種:本地存儲汤功、后臺存儲物邑,本地存儲的話,最多的場景就是輸入歷史的本地存儲,后臺存儲的話色解,就不展開說明了~
B茂嗓、前臺讀取的數(shù)據(jù)
1、要顯示的數(shù)據(jù)科阎,讀取的來源在哪里?是數(shù)據(jù)庫述吸,還是其他模塊傳遞過來的數(shù)據(jù)?
2、如果是需要進(jìn)行數(shù)據(jù)的傳輸锣笨,這些數(shù)據(jù)是不是敏感數(shù)據(jù)蝌矛,是否需要進(jìn)行加密處理?
3、數(shù)據(jù)是否需要緩存错英,這個也是和技術(shù)大大商量即可~
4入撒、讀取的數(shù)據(jù)是否需要顯示?如果是需要顯示,是直接顯示即可椭岩,還是要通過處理才去顯示?比如某些敏感信息在前臺進(jìn)行顯示時茅逮,一般會進(jìn)行字符串轉(zhuǎn)換之后,才進(jìn)行顯示判哥。如果是讀取的數(shù)據(jù)不需要顯示献雅,那是需要傳遞到什么地方嗎?
?????? 寫到這里,就從界面塌计、操作挺身、數(shù)據(jù)這三種維度來對應(yīng)說明了思考的思路。其實(shí)锌仅,文章一路寫下來章钾,更多是響應(yīng)了一句話:產(chǎn)品在理需求的時候,更多是從最頂層出發(fā)技扼,逐漸向底層去分析伍玖,而開發(fā)大大更多是,從底層開始構(gòu)造剿吻,根據(jù)需求文檔窍箍,一步步的往頂層去實(shí)現(xiàn)。
???? 這次主要從產(chǎn)品最基本的功能點(diǎn)入手丽旅,說明了如何去拆解