Ⅰ 如何進行網站系統分析
首先你的有網站的管理權才能進入內部進行分析
要學會使用各種工具
要是啥都不懂建議花錢去找人來做
Ⅱ 網站優化前期該如何做數據分析
數據分析是網站排名後一項非常重要的工作,數據分析是以現有網站的內容為基礎,分析那些內容是用戶點擊比較多以及哪些內容用戶更加受歡迎。從而更多展示用戶喜歡的內容,降低網站的跳出率增加網站黏性。數據分析能從很大程度上促進網站關鍵詞排名。
1、發現問題。
數據分析的前提是發現問題,如果只是盲目的尋找不同是難以發現數據體現的問題的。比如為什麼這個頁面訪問量很大,而另外一個本應該訪問量大的頁面卻沒有訪問。
比如:用戶為什麼不點擊這個欄目,是用戶根本對這個內容不感興趣還是欄目的名稱模糊不清還是欄目放置問題呢?關於網站的各種問題都可以提出然後帶著問題去分析數據。
2、分析pv、uv、ip、跳出率和平均訪問時長
pv、uv、ip是互相關聯的。pv是用戶流量的頁面數,uv是訪問的用戶數(即有多少台機器訪問網站),uv是真實的用戶量,ip是訪問的ip段數量。
(1)通常情況下uv要大於ip,如果出現uv遠遠小於ip有可能網站被刷或者是內容被採集。pv是uv的倍數關系,如果pv跟uv的倍數接近於1,說明大部分用戶只瀏覽一個頁面就走了,這種情況下的網站跳出率也非常高。
而pv:uv多少合適呢?要看同行業的平均數據,比如羊羊吧是一個論壇,pv:uv的比例接近10:1,而如果是企業站,可能3:1或者4:1
(2)跳出率越高說明網站內容質量越差,跳出率的合理值跟行業有關,社區或交流類、圖片、視頻、小說、笑話類的網站跳出率相對更低(羊羊吧跳出率在40%以下)。跳出率的突然升高和降低跟網站最近更新內容或者競價頁面的調整有關系。(比如:研究中心論壇一片娛樂帖子引來大量流量,同時跳出率非常高),降低跳出率的方法是提升內容質量和布局內鏈系統。
(3)平均訪問時長也體現網站的內容質量。時長越長說明網站內容質量越高、內鏈系統越好。訪問時長跟跳出率一樣跟行業和網站類型有關系。美食、旅遊、技術、圖片、小說、視頻、動畫這些行業訪問時長會更長,而企業類的產品站、服務類站點訪問時長會更短。
3、分析來源、地域和搜索引擎
明白網站用戶來源、地域以及來自於哪個搜索引擎可以方便做針對性的優化,並且可以節省大量時間獲取更加精準的用戶。
(1)從來源分析可以評測外鏈和推廣效果,可以選擇效果更好的推廣和外鏈方式,節省時間。
(2)地域分析可以幫我我們做地域關鍵詞,如果用戶大多是北方地區在選擇空間時可以選擇聯通,相反可以選擇電信。並且地域詞可以幫助網站獲取良好排名,得到精準用戶,地域詞比全國詞更好容易做排名。
4、受訪頁面、著陸頁和搜索詞
分析受訪頁面可以看出推廣、外鏈以及內鏈效果,分析搜索詞可以得出現在內容排名效果。受訪頁面和搜索詞結合分析就是推廣、外鏈和內鏈布局的真實效果。著陸頁是剛開始訪問網站進入的頁面,來自於外鏈、推廣和排名入口。
(1)受訪頁面主要來自於外鏈、推廣鏈接、排名頁面和內鏈布局。受訪頁面越高的網頁說明展示次數越多,被用戶看到的概率越大。
(2)著陸頁分數據純碎的體現外鏈、推廣鏈接和排名的效果,如果沒有關鍵詞排名,可以直接評測推廣、外鏈的效果。
(3)搜索詞。對於中大型站點很多長尾詞有了排名SEO依然不知道,這時候可以通過搜索詞得知那些關鍵詞給我們帶來了流量,以及訪問的頁面是哪些,訪問頁的跳出率是多少,是不是應該推廣這個頁面幫助它提升排名。
5、分析頁面點擊圖和頁面上下游
頁面點擊圖直觀形象的展示用戶的點擊習慣,用戶點擊越多的地方顏色越趨向於深紅色,淺一點的地方是綠色。頁面上下游反應的是用戶從一個頁面到另一個頁面的瀏覽軌跡,頁面上下游可以用谷歌分析工具分析。
(1)頁面點擊圖,可以根據頁面點擊圖調整網站首頁布局。顏色越深的內容放置的位置越靠近左上角,顏色越淺的內容位置越靠近右下角。點擊很少或者沒有點擊的內容可以從首頁移除,或者放置在欄目頁。
(2)頁面上下游是體現用戶瀏覽網頁的軌跡,從上下游的數據可以統計布局的內鏈用戶點擊最多的文章是哪一篇,以及哪些頁面的跳出率高。頁面上下游數據最能說明內鏈布局效果。
Ⅲ 北京網站優化,我們該如何去分析一個網站
第一、作為網站優化師我們要監控網站運營狀態。網站分析最基本的應用就是監控網站的運營狀態。收集網站日常產生的各類數據,包括瀏覽量、點擊量、IP數等,並通過統計這些數據生成相應的報表,對網站的運營狀態進行系統的展現。從瀏覽量、點擊量等數據的變化趨勢,以及頁面訪問時長、頁面跳出率等數據,能幫助運營者從各個角度了解網站的狀況是否良好。
第二、需要通過數據去分析提升網站推廣效果。通過網站的數據分析可以進行相關的推廣效果評估,指導網站的推廣方式。 分析網站在各搜索引擎的搜索詞排名和單擊率情況,以及網站在搜索引擎的收錄、排名和展現情況。了解從搜索引擎商業推廣結果頁導人的流量後續表現,進而調整網頁在搜索結果頁上的排名,針對搜索引擎用戶展開營銷活動。
第三、網站優化師必須要了解怎麼去優化一個網站的結構。通過統計的數據對網站布局的合理性及吸引力、頻道間的相關性等情況進行評估,分析網站內/外流量導入/導出的情況,了解合作網站,評估廣告投放的真實效果,分析各個頻道間流量的相互貢獻程度,外析網站用戶的訪問路徑,了解網站建設中的潛在問題。根據搜索的關鍵詞介析,可幫助網站進行內容優化及頁面布局、了解頻道間相關性,幫助改善網站內容,了解外部導入網站帶來的合作價值,分析市場活動的行為指向,了解市場運作及合作方帶來的流量價值。
Ⅳ 如何通過訪問網站分析系統的架構
分析一個網站的技術細節的主要目的是了解其主要的功能是用什麼語言、什麼框架實現的。
主要關注點是:
操作系統的類型、所採用的訪問量統計服務、採用的發布平台、廣告平台、語言框架、聚合功能、頁面文檔信息、網站編碼及操作系統信息、網站託管等等。
Chrome按F12打開開發者工具,然後看Sources。Sources中就是html頁面需要載入的css、js資源。據此可以看出用了哪些框架、庫。
內容組織,可以視為SEO。
1、網站布局
這點不作為重點稍微簡單說說,就是分析對手網站的布局是利用table還是div。筆者建議盡量使用div來布局,因為可以大大減少網頁的代碼,更有利於蜘蛛的抓取提高網站的收錄,如果實在不會用div也沒關系,畢竟有很多網站都是用table,排名也很好。
2、網頁標題
分析對手網站的標題,看看標題里是如何分配關鍵詞的,網站標題能夠合理地分配關鍵詞,能帶來更多的關鍵詞排名,這就要求對網路的分詞及網路抓取標題的規律有一定的了解,網上有很多網路分詞技術的知識文章,這里就不詳談,想了解的朋友可以網路下或是多搜索幾個關鍵詞觀察觀察。另外,標題應該設計得有特色點,獨特的網站標題會讓網路更加喜愛,而且一個具有吸引力的網站標題將會帶來更多的訪問者,先別提你的網站內容如何,一看標題感興趣就會有一種想進去看看的沖動。
3、網頁描述
曾看過有篇文章指出網路因網頁描述中關鍵詞的分布來給予權重,不可否認有這種可能。但筆者覺得網頁描述依然非常重要,第一點是通過觀察發現往往排名靠前的那些網站的描述都是設計得非常精緻的,第二點是描述是除了網頁標題外給用戶的「第二印象」,就顯示在網頁標題的下面,這么寶貴的廣告位置我們為什麼不好好利用呢?因此我們需要分析排名靠前的對手網站,他們的描述如何,描述中關鍵詞出現了多少次,描述的詞句通不通順,還有如何能達到更好的廣告效果。
4、關鍵詞密度
一直以來站長們都在研究什麼樣關鍵詞密度更能獲得好排名,因為密度低排名就不夠好,密度過高就會被K。許多站長都推薦關鍵詞密度保持在2%-8%,筆者建議盡量別超過5%,密度不夠無所謂,可以通過其他方式提升排名,如果網站被K的話那就比排名不上麻煩多了,而且多觀察幾個對手網站你會發現關鍵詞的密度一般都不會超過5%,而超過5%的網站,就算暫時能排名在前面,不用多久就會被網路K下去了。
5、關鍵詞分布
關鍵詞分布也就是關鍵詞出現的位置,我們在瀏覽對手網站首頁的時候要留意他們關鍵詞分布在哪些位置。筆者通過觀察發現,排名靠前網站的關鍵詞出現位置一般都在:網站的頂部,網站的左邊,網站的正文位置,網站的底部。
6、鏈接
網站結構的鏈接方式搞清楚,他們網站內鏈是怎樣的?他們網站權重都是怎麼流向的?他這么鏈接是為了什麼? 比如內容頁都有鏈接到哪些頁面?這些頁面是哪些分類下的?有沒有規律?等你將這個圖整理出來之後,你就看到一點人家的整體架構思路了。
Ⅳ 網站大量seo數據怎麼系統分析
網站的數據分析包含很多方面的分析:比如網站日誌的分析,搜索引擎蜘蛛抓取數據分析,網站的流量統計數據分析等
Ⅵ 分析很重要,可是網站怎麼去分析從哪幾個方面可以分析網站急
你好!很高興回答你的問題。
網站分析,包括受訪頁面、頁面點擊圖、子目錄、轉化路徑及頁面上下游分析。
1)網站受訪頁面分析。訪客對網站各個頁面的訪問情況。通過分析了解訪客最關心或最不關心網站中的哪些內容,從而有針對性地優化網站頁面以及推廣提詞方案。
2)網站頁面點擊圖分析。統計訪客在網頁的滑鼠點擊情況,並通過不同顏色的區域展示出來,通過分析,了解訪客關注點,優化網頁設計。
3)網站子目錄分析。查看網站設置的子目錄的流量數據分析。
4)網站轉化路徑分析。訪客在網站已設定的各個轉化路徑上的訪問情況。通過分析了解轉化路徑中哪個頁面的訪客流失率最大,從而有針對性地改善轉化路徑頁面以提升網站轉化率。
5)網站頁面上下游分析。網站在系統中所設置的特定頁面的流量來源及去向情況監控。通過分析特定頁面的流量來源及去向,從而優化網站頁面路徑以提升網站吸引力。
Ⅶ 怎麼對網站進行優化分析網站優化怎麼做
1:首先診斷網站
看看目前網站屬於什麼性質。大站還是小站,行業站還是流量站等。分析所涉及到的關鍵詞。網頁代碼。制訂出一套優化方案。
2:修改添加關鍵詞
網站沒有流量或排名不夠理想,很大程度上跟設定的關鍵詞有密切的關系。關鍵詞找的不對或不好,網站的內容和主體就不好把握。所以制訂出方案以後,要根據網站的內容和主體修改關鍵詞。
一般來說一個網頁能做的關鍵詞在三個左右,那麼有很多關鍵詞怎麼辦?我們可以把次要的詞分散到頻道或者欄目頁,主頁來優化難度最大的幾個詞。一定要注意不要刻意去堆砌關鍵詞,要做到自然。
3:內容和內連
一直在說內容為王,不知道大家是怎麼理解的?網路在給站長的建議里說的很好:「不要為了搜索引擎去做站,把網站內容做好,做成常青樹。」首先網站要有高質量的內容,引擎都喜歡原創,大量復制的內容它是不感冒滴。
內容做好以後,內連也非常重要。首先是導航盡量使用文字和關鍵詞描文本,最好有麵包削引導(首頁-欄目-內容),在內容中穿插連接,當然連接要適當,一般不要超過三個。每個連接不要都連向同一個頁面。不但有助於蜘蛛爬行,也可以相互傳遞PR值,提升網站的整體。關於網站對網路的優化可以訪問北京網路優化。
4:外部連接
關於外連很多文章都有詳細介紹,如何去增加外連,找有效高質量的連接。在這里我們就不詳細說明了。需要說明的一點是外連是一項長期工作,要一直做下去。還有每個引擎對外連的判斷也不太一樣,以後我們會教大家對各個搜索引擎增加外連的方法。
5:查看效果與改進
上面這些工作都做好以後,相信你的網站已經有了變化。流量加大了,排名提升了。當然這不是一兩天就看到效果的,正常的話應該在一個星期左右。這時候我們要觀察之前工作的效果,登陸網站統計查看數據分析來路、關鍵詞、訪問頁面、離開頁面、停留時間等。有時間真的很無奈,看到有些開了幾年的網站了連一個統計都沒放,悶!網上有很多統計系統,比如51.la、cnzz、雅虎統計、Google統計等。
Ⅷ 如何設計一個合理網站系統
由前台和後台構成,前台是用戶交互界面,後台是支撐各類前台交互的系統
1.概述:做了一個系統之後,交互性,拓展性,靈活性,穩定性,安全性不夠,就得推倒重建,這樣成本增加,效率降低,所以在設計系統時是要本著節約成本,利於操作,具有靈活性,擴展性,安全性,穩定性來設計的
2.需要分需:系統功能分析是根據你的要求來詳細分析的,一般包括頁面設計,欄目管理,模版管理,角色和用戶管理等多個模塊組成
3.系統設計目標:根據系統的功能,設計目標來進行分析,一般包括了可用性,穩定性,安全性,系統集成,數據控制,可擴展性等太多了。
4.系統的模塊分析:因為簡單的企業網站,數據需要分類整理欄目,將內容歸類各個欄目,為了讓客戶使用調用起來更方便,速度更快,更安全。
一般上面所提到的東西,比如欄目管理,角色,分庫儲存
5.系統設計:一般來說會用邏輯層,數據層,表述層,表示層是用戶交互,邏輯層是在表述層和數據層之間的橋梁,數據層就是存信息,這三者都是要有良好的用戶體驗,高效的數據傳輸,有效的數據安全
6.系統資料庫的建立:資料庫儲存所有信息的地方,在設計時考慮擴容性,數據安全性,數據轉移等,因此要嚴格按照資料庫的標准來走,提高穩定性,安全性,減少數據冗餘。
7.系統維護:操作細致,及時做好數據備份,部署到一個穩定好的伺服器上面,如果可以記錄操作數據,隔天查看一下,如果沒有,自己做好工作記錄。
Ⅸ 如何系統分析網站以及seo策劃
網站分析主要兩個。
1.文章的質量
2.外鏈
SEO策劃
1.一定要是實在的。
比如一個月內發多少外鏈。
收錄多少。
PR到多少。
切不可說三個月內排名多少。
2.可執行性
Ⅹ 如何做好網站開發項目需求分析
從廣義上理解:需求分析包括需求的獲取、分析、規格說明、變更、驗證、管理的一系列需求工程。
狹義上理解需求分析指需求的分析、定義過程。
原因
需求分析就是分析軟體用戶的需求是什麼。如果投入大量的人力,物力、財力、時間,開發出的軟體卻沒人要,那所有的投入都是徒勞。如果費了很大的精力,開發一個軟體,最後卻不滿足用戶的要求,從而要重新開發過,這種返工是讓人痛心疾首的(相信大家都有體會)。比如:用戶需要一個for linux的軟體,而你在軟體開發前期忽略了軟體的運行環境,忘了向用戶詢問這個問題,而想當然的認為是開發for windows的軟體。當你千辛萬苦地開發完成向用戶提交時才發現出了問題,那時候你是欲哭無淚了,恨不得找塊豆腐一頭撞死。
需求分析之所以重要,就因為他具有決策性、方向性、策略性的作用,他在軟體開發的過程中具有舉足輕重的地位,大家一定要對需求分析具有足夠的重視。在一個大型軟體系統的開發中,他的作用要遠遠大於程序設計。
任務
簡言之,需求分析的任務就是解決「做什麼"的問題,就是要全面地理解用戶的各項要求,並准確地表達所接受的用戶需求。
過程
需求分析階段的工作,可以分為四個方面:問題識別、分析與綜合、制訂規格說明、評審。
問題識別:就是從系統角度來理解軟體,確定對所開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標准。這些需求包括:功能需求(做什麼)、性能需求(要達到什麼指標)、環境需求(如機型、操作系統等)、可靠性需求(不發生故障的概率)、安全保密需求、用戶界面需求、資源使用需求(軟體運行是所需的內存、CPU等)、軟體成本消耗與開發進度需求、預先估計以後系統可能達到的目標。
分析與綜合: 逐步細化所有的軟體功能,找出系統各元素間的聯系,介面特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最後綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什麼的模型)。
制訂規格說明書: 即編制文檔,描述需求的文檔稱為軟體需求規格說明書。請注意,需求分析階段的成果是需求規格說明書,向下一階段提交。
評審: 對功能的正確性,完整性和清晰性,以及其它需求給予評價。評審通過才可進行下一階段的工作,否則重新進行需求分析。
方法
需求分析的方法有很多,這里只強調原型化方法,其它的方法如:結構化方法、動態分析法等,從來沒用過這些方法在此不討論。
原型化方法是十分重要的,原型就是軟體的一個早期可運行的版本,它實現了目標系統的某些或全部功能。
原型化方法就是盡可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能。但是這個系統可能在可靠性、界面的友好性或其他方面上存在缺陷。建造這樣一個系統的目的是為了考察某一方面的可行性,如演算法的可行性、技術的可行性或考察是否滿足用戶的需求等。如:為了考察是否滿足用戶的要求,可以用某些軟體工具快速的建造一個原型系統,這個系統只是一個界面,然後聽取用戶的意見,改進這個原型。以後的目標系統就在原型系統的基礎上開發。
原型主要有三種類型:探索型、實驗型、進化型。
探索型:目的是要弄清楚對目標系統的要求,確定所希望的特性,並探討多種方案的可行性。
實驗型:用於大規模開發和實現前,考核方案是否合適,規格說明是否可靠。
進化型:目的不在於改進規格說明,而是將系統建造得易於變化,在改進原型的過程中,逐步將原型進化成最終系統。
在使用原型化方法時有兩種不同的策略:廢棄策略、追加策略。
廢棄策略:先建造一個功能簡單而且質量要求不高的模型系統,針對這個系統反復進行修改,形成比較好的思想,據此設計出較完整、准確、一致、可靠的最終系統。系統構造完成後,原來的模型系統就被廢棄不用。探索型和實驗型屬於這種策略。
追加策略:先構造一個功能簡單而且質量要求不高的模型系統,作為最終系統的核心,然後通過不斷地擴充修改,逐步追加新要求,發展成為最終系統。進化型屬於這種策略。
需求分析20條法則
客戶與開發人員交流需要好的方法。下面建議20條法則,客戶和開發人員可以通過評審以下內容並達成共識。如果遇到分歧,將通過協商達成對各自義務的相互理解,以便減少以後的磨擦(如一方要求而另一方不願意或不能夠滿足要求)。
1、 分析人員要使用符合客戶語言習慣的表達
需求討論集中於業務需求和任務,因此要使用術語。客戶應將有關術語(例如:采價、印花商品等采購術語)教給分析人員,而客戶不一定要懂得計算機行業的術語。
2、分析人員要了解客戶的業務及目標
只有分析人員更好地了解客戶的業務,才能使產品更好地滿足需要。這將有助於開發人員設計出真正滿足客戶需要並達到期望的優秀軟體。為幫助開發和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統,那麼開發和分析人員應使用一下舊系統,有利於他們明白系統是怎樣工作的,其流程情況以及可供改進之處。
3、 分析人員必須編寫軟體需求報告
分析人員應將從客戶那裡獲得的所有信息進行整理,以區分業務需求及規范、功能需求、質量目標、解決方法和其他信息。通過這些分析,客戶就能得到一份「需求分析報告」,此份報告使開發人員和客戶之間針對要開發的產品內容達成協議。報告應以一種客戶認為易於翻閱和理解的方式組織編寫。客戶要評審此報告,以確保報告內容准確完整地表達其需求。一份高質量的「需求分析報告」有助於開發人員開發出真正需要的產品。
4、 要求得到需求工作結果的解釋說明
分析人員可能採用了多種圖表作為文字性「需求分析報告」的補充說明,因為工作圖表能很清晰地描述出系統行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難於理解,但是客戶可能對此並不熟悉,因此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發工作的結果,以及怎樣檢查圖表有無錯誤及不一致等。
5、 開發人員要尊重客戶的意見
如果用戶與開發人員之間不能相互理解,那關於需求的討論將會有障礙。共同合作能使大家「兼聽則明」。參與需求開發過程的客戶有權要求開發人員尊重他們並珍惜他們為項目成功所付出的時間,同樣,客戶也應對開發人員為項目成功這一共同目標所做出的努力表示尊重。
6、 開發人員要對需求及產品實施提出建議和解決方案
通常客戶所說的「需求」已經是一種實際可行的實施方案,分析人員應盡力從這些解決方法中了解真正的業務需求,同時還應找出已有系統與當前業務不符之處,以確保產品不會無效或低效;在徹底弄清業務領域內的事情後,分析人員就能提出相當好的改進方法,有經驗且有創造力的分析人員還能提出增加一些用戶沒有發現的很有價值的系統特性。
7、 描述產品使用特性
客戶可以要求分析人員在實現功能需求的同時還注意軟體的易用性,因為這些易用特性或質量屬性能使客戶更准確、高效地完成任務。例如:客戶有時要求產品要「界面友好」或「健壯」或「高效率」,但對於開發人員來講,太主觀了並無實用價值。正確的做法是,分析人員通過詢問和調查了解客戶所要的「友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負面影響,在性能代價和所提出解決方案的預期利益之間做出權衡,以確保做出合理的取捨。
8、 允許重用已有的軟體組件
需求通常有一定靈活性,分析人員可能發現已有的某個軟體組件與客戶描述的需求很相符,在這種情況下,分析人員應提供一些修改需求的選擇以便開發人員能夠降低新系統的開發成本和節省時間,而不必嚴格按原有的需求說明開發。所以說,如果想在產品中使用一些已有的商業常用組件,而它們並不完全適合您所需的特性,這時一定程度上的需求靈活性就顯得極為重要了。
9、 要求對變更的代價提供真實可靠的評估
有不同的選擇。而這時,對需求變更的影響進行評估從而對業務決策提供幫助,是十分必要的。所以,客戶有權利要求開發人員通過分析給出一個真實可信的評估,包括影響、成本和得失等。開發人員不能由於不想實施變更而隨意誇大評估成本。
10、 獲得滿足客戶功能和質量要求的系統
每個人都希望項目成功,但這不僅要求客戶要清晰地告知開發人員關於系統「做什麼」所需的所有信息,而且還要求開發人員能通過交流了解清楚取捨與限制,一定要明確說明您的假設和潛在的期望,否則,開發人員開發出的產品很可能無法讓您滿意。
11、 給分析人員講解您的業務
分析人員要依靠客戶講解業務概念及術語,但客戶不能指望分析人員會成為該領域的專家,而只能讓他們明白您的問題和目標;不要期望分析人員能把握客戶業務的細微潛在之處,他們可能不知道那些對於客戶來說理所當然的「常識」。
12、 抽出時間清楚地說明並完善需求
客戶很忙,但無論如何客戶有必要抽出時間參與「頭腦高峰會議」的討論,接受采訪或其他獲取需求的活動。有些分析人員可能先明白了您的觀點,而過後發現還需要您的講解,這時請耐心對待一些需求和需求的精化工作過程中的反復,因為它是人們交流中很自然的現象,何況這對軟體產品的成功極為重要。
13、 准確而詳細地說明需求
編寫一份清晰、准確的需求文檔是很困難的。由於處理細節問題不但煩人而且耗時,因此很容易留下模糊不清的需求。但是在開發過程中,必須解決這種模糊性和不準確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發人員去正確猜測了。
在需求分析中暫時加上「待定」標志是個方法。用該標志可指明哪些是需要進一步討論、分析或增加信息的地方,有時也可能因為某個特殊需求難以解決或沒有人願意處理它而標註上「待定」。客戶要盡量將每項需求的內容都闡述清楚,以便分析人員能准確地將它們寫進「軟體需求報告」中去。如果客戶一時不能准確表達,通常就要求用原型技術,通過原型開發,客戶可以同開發人員一起反復修改,不斷完善需求定義。
14、 及時作出決定
分析人員會要求客戶作出一些選擇和決定,這些決定包括來自多個用戶提出的處理方法或在質量特性沖突和信息准確度中選擇折衷方案等。有權作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因為開發人員通常只有等客戶做出決定才能行動,而這種等待會延誤項目的進展。
15、 尊重開發人員的需求可行性及成本評估
所有的軟體功能都有其成本。客戶所希望的某些產品特性可能在技術上行不通,或者實現它要付出極高的代價,而某些需求試圖達到在操作環境中不可能達到的性能,或試圖得到一些根本得不到的數據。開發人員會對此作出負面的評價,客戶應該尊重他們的意見。
16、 劃分需求的優先順序
絕大多數項目沒有足夠的時間或資源實現功能性的每個細節。決定哪些特性是必要的,哪些是重要的,是需求開發的主要部分,這只能由客戶負責設定需求優先順序,因為開發者不可能按照客戶的觀點決定需求優先順序;開發人員將為您確定優先順序提供有關每個需求的花費和風險的信息。
在時間和資源限制下,關於所需特性能否完成或完成多少應尊重開發人員的意見。盡管沒有人願意看到自己所希望的需求在項目中未被實現,但畢竟是要面對現實,業務決策有時不得不依據優先順序來縮小項目范圍或延長工期,或增加資源,或在質量上尋找折衷。
17、 評審需求文檔和原型
客戶評審需求文檔,是給分析人員帶來反饋信息的一個機會。如果客戶認為編寫的「需求分析報告」不夠准確,就有必要盡早告知分析人員並為改進提供建議。更好的辦法是先為產品開發一個原型。這樣客戶就能提供更有價值的反饋信息給開發人員,使他們更好地理解您的需求;原型並非是一個實際應用產品,但開發人員能將其轉化、擴充成功能齊全的系統。
18、 需求變更要立即聯系
不斷的需求變更,會給在預定計劃內完成的質量產品帶來嚴重的不利影響。變更是不可避免的,但在開發周期中,變更越在晚期出現,其影響越大;變更不僅會導致代價極高的返工,而且工期將被延誤,特別是在大體結構已完成後又需要增加新特性時。所以,一旦客戶發現需要變更需求時,請立即通知分析人員。
19、 遵照開發小組處理需求變更的過程
為將變更帶來的負面影響減少到最低限度,所有參與者必須遵照項目變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進行分析、綜合考慮,最後做出合適的決策,以確定應將哪些變更引入項目中。
20、 尊重開發人員採用的需求分析過程
軟體開發中最具挑戰性的莫過於收集需求並確定其正確性,分析人員採用的方法有其合理性。也許客戶認為收集需求的過程不太劃算,但請相信花在需求開發上的時間是非常有價值的;如果您理解並支持分析人員為收集、編寫需求文檔和確保其質量所採用的技術,那麼整個過程將會更為順利。
「需求確認」意味著什麼
在「需求分析報告」上簽字確認,通常被認為是客戶同意需求分析的標志行為,然而實際操作中,客戶往往把「簽字」看作是毫無意義的事情。「他們要我在需求文檔的最後一行下面簽名,於是我就簽了,否則這些開發人員不開始編碼。」
這種態度將帶來麻煩,譬如客戶想更改需求或對產品不滿時就會說:「不錯,我是在需求分析報告上簽了字,但我並沒有時間去讀完所有的內容,我是相信你們的,是你們非讓我簽字的。」
同樣問題也會發生在僅把「簽字確認」看作是完成任務的分析人員身上,一旦有需求變更出現,他便指著「需求分析報告」說:「您已經在需求上簽字了,所以這些就是我們所開發的,如果您想要別的什麼,您應早些告訴我們。」
這兩種態度都是不對的。因為不可能在項目的早期就了解所有的需求,而且毫無疑問地需求將會出現變更,在「需求分析報告」上簽字確認是終止需求分析過程的正確方法,所以我們必須明白簽字意味著什麼。
對「需求分析報告」的簽名是建立在一個需求協議的基線上,因此我們對簽名應該這樣理解:「我同意這份需求文檔表述了我們對項目軟體需求的了解,進一步的變更可在此基線上通過項目定義的變更過程來進行。我知道變更可能會使我們重新協商成本、資源和項目階段任務等事宜。」對需求分析達成一定的共識會使雙方易於忍受將來的摩擦,這些摩擦來源於項目的改進和需求的誤差或市場和業務的新要求等。