① 市場營銷中八種需求狀態的例子
市場營銷管理是一個過程,包括分析、規劃、執行和控制。其管理的對象包含理念、產品和服務。市場營銷管理的基礎是交換,目的是滿足各方需要。 市場營銷管理的主要任務是刺激消費者對產品的需求,但不能局限於此。它還幫助公司在實現其營銷目標的過程中,影響需求水平、需求時間和需求構成。因此,市場營銷管理的任務是刺激、創造、適應及影響消費者的需求。從此意義上說,市場營銷管理的本質是需求管理。 任何市場均可能存在不同的需求狀況,市場營銷管理的任務是通過不同的市場營銷策略來解決不同的需求狀況。 1.負需求(Negative Demand) 負需求是指市場上眾多顧客不喜歡某種產品或服務,如近年來許多老年人為預防各種老年疾病不敢吃甜點心和肥肉,又如有些顧客害怕冒險而不敢乘飛機,或害怕化纖紡織品有毒物質損害身體而不敢購買化纖服裝。市場營銷管理的任務是分析人們為什麼不喜歡這些產品,並針對目標顧客的需求重新設計產品、訂價,作更積極的促銷,或改變顧客對某些產品或服務的信念,諸如宣傳老年人適當吃甜食可促進腦血液循環,乘坐飛機出事的概率比較小等。把負需求變為正需求,稱為改變市場營銷。 2.無需求(No Demand) 無需求是指目標市場顧客對某種產品從來不感興趣或漠不關心,如許多非洲國家居民從不穿鞋子,對鞋子無需求。市場營銷者的任務是創造需求,通過有效的促銷手段,把產品利益同人們的自然需求及興趣結合起來。 3.潛在需求(Latent Demand) 這是指現有的產品或服務不能滿足許多消費者的強烈需求。例如,老年人需要高植物蛋白、 低膽固醇的保健食品,美觀大方的服飾,安全、舒適、服務周到的交通工具等,但許多企業尚未重視老年市場的需求。企業市場營銷的任務是准確地衡量潛在市場需求,開發有效的產品和服務,即開發市場營銷。 4.下降需求(Falling Demand) 這是指目標市場顧客對某些產品或服務的需求出現了下降趨勢,如近年來城市居民對電風扇的需求已飽和,需求相對減少。市場營銷者要了解顧客需求下降的原因,或通過改變產品的特色,採用更有效的溝通方法再刺激需求,即創造性的再營銷,或通過尋求新的目標市場,以扭轉需求下降的格局。 5.不規則需求(Irregular Demand) 許多企業常面臨因季節、月份、周、日、時對產品或服務需求的變化,而造成生產能力和商品的閑置或過度使用。如在公用交通工具方面,在運輸高峰時不夠用,在非高峰時則閑置不用。又如在旅遊旺季時旅館緊張和短缺,在旅遊淡季時,旅館空閑。再如節假日或周末時,商店擁擠,在平時商店顧客稀少。市場營銷的任務是通過靈活的定價、促銷及其他激勵因素來改變需求時間模式,這稱為同步營銷。 6.充分需求(Full Demand) 這是指某種產品或服務目前的需求水平和時間等於期望的需求,但消費者需求會不斷變化, 競爭日益加劇。因此,企業營銷的任務是改進產品質量及不斷估計消費者的滿足程度,維持現時需求,這稱為"維持營銷"。 7.過度需求(Verfull Demand) 是指市場上顧客對某些產品的需求超過了企業供應能力,產品供不應求。比如,由於人口過多或物資短缺,引起交通、能源及住房等產品供不應求。企業營銷管理的任務是減緩營銷,可以通過提高價格、減少促銷和服務等方式使需求減少。企業最好選擇那些利潤較少、要求提供服務不多的目標顧客作為減緩營銷的對象。減緩營銷的目的不是破壞需求,而只是暫緩需求水平。 8.有害需求(Unwholesome Demand) 這是指對消費者身心健康有害的產品或服務,諸如煙、酒、毒品、黃色書刊等。企業營銷管理的任務是通過提價、傳播恐怖及減少可購買的機會或通過立法禁止銷售,稱之為反市場營銷。反市場營銷的目的是採取相應措施來消滅某些有害的需求。 請參考,希望對你有所幫助!
② 怎樣理解營銷學中的需求(demand)
需求管理(Requirement management)是完整管理模式中的一環,同其他特性諸如完整性、一致性等不可分割,彼此相關而成一體。一套需求管理應當是已知系統需求的完整體現,每部分解決方案都是對總體需求一定比例的滿足(甚至是充分滿足),僅僅解決部分需求是沒有意義的。對關鍵需求的疏忽很可能是災難性的,試想一架飛機的安全設計不過關將會帶來什麼樣的後果。不同的需求組合起來,構成了一套完整的需求模型。用戶需求決定了系統設計所要解決的問題,所要帶來的結果。可以說,需求管理指明了系統開發所要做和必須做的每一件事,指明了所有設計應該提供的功能和必然受到的制約。 需求管理的過程,從需求獲取開始貫於整個項目生命周期,力圖實現最終產品同需求的最佳結合。通過對需求管理在項目進程中實施的不同任務進行分析,我們可以看出需求管理所起的作用。 需求管理本就是一個動態的過程,離開了能動的、變化的系統進程而空談需求管理,無異於紙上談兵。 需求管理恰如裁縫的量體裁衣,它直接關繫到最終產品的成型。僅從字面出發,如果一個產品滿足了客戶需求,那它無疑就是成功的。需求管理的過程,從需求分析開始貫穿整個項目始終,力圖實現最終產品同需求性的最佳結合(參見Figure 1)。通過對需求管理在項目進程中實施的不同任務進行分析,我們可以看出需求管理所起的作用。 需求管理能夠確證: ●我們確知客戶的需求是什麼(質量); ●滿足客戶需求的最佳解決辦法(統一性);
③ 營銷方案的主題分析
根據不同的營銷策劃對象(即營銷策劃項目),擬定各自所應圍繞的主題。營銷策劃主題是整個營銷策劃的基石和內核,是營銷策劃的基本准繩。在闡述營銷策劃主題的基礎上,要對策劃的項目情況作一簡要的介紹,包括項目的背景、項目的概況、項目的進展、項目的發展趨勢等。
營銷策劃分析可以是逐項分類分析,也可以作綜合分析,視策劃的具體情況來定。 宏觀環境狀況:
主要包括宏觀經濟形勢、宏觀經濟政策、金融貨幣政策、資本市場走勢、資金市場情況等等。
項目市場狀況:
主要包括現有產品或服務的市場銷售情況和市場需求情況、客戶對新產品或服務的潛在需求、市場佔有份額、市場容量、市場拓展空間等等。
同業市場狀況:
主要包括同業的機構、同業的目標市場、同業的競爭手段、同業的營銷方式、同業進入市場的可能與程度等等。
各種不同的營銷策劃所需的市場分析資料是不完全相同的,要根據營銷策劃需要去搜集,並在營銷策劃中簡要說明。 主要優勢分析:
圍繞營銷策劃主題,將要開展某一方面的市場營銷活動(如市場調查、新產品開發、市場促銷、廣告宣傳等),擁有哪些方面的優勢,主要是自身優勢(即自身的強項)分析,也應考慮外部的一些有利因素。營銷策劃就是要利用好有利因素,發揮出自身優勢。分析優勢應冷靜客觀,既不能「過」,也不能「不及」,要實事求是。
主要劣勢分析:
主要劣勢分析就是分析與將要開展的市場營銷活動相關聯的外部一些不利因素和自身的弱項、短處等。營銷策劃就是要避免和化解這些不利因素,如何彌補自身的不足,錯開自身的弱項。
主要條件分析:
主要條件分析就是分析將要開展的市場營銷活動所需要的條件,包括已具備的條件和尚須創造的條件,逐一列出,逐一分析,以求得資源的最佳利用與組合。
④ 做營銷,你會分析用戶需求嗎
做老闆的人,可以不懂寫文案,但是必然要會分析用戶需求;做營銷的人,要寫好文案,就必須先找准需求。那麼如何分析用戶需求呢?
用戶:
屬性——主要包括用戶性別、年齡、職業、收入、喜好等數據。
場景——在什麼時候、什麼地點、什麼情況下用戶產生需求,以及場景數據。
頻率——用戶需求的周期及數據。
其次是需求排序。根據用戶需求的次數、比例以及用戶反饋的重要性,進行需求排序。
最後是用戶分級。把用戶分為普通用戶,目標用戶,粉絲用戶。其中普通用戶是理論上有需求使用新產品或服務的用戶。目標用戶是在普遍用戶中有明確的用戶屬性、用戶場景和較高使用頻率的用戶群體。粉絲用戶是在目標用戶中,頻繁使用產品並有傳播力的忠實用戶。用戶分級的標準是根據用戶信息及用戶需求頻率、強度。用戶分級是需求分析的必要工作,後面產品設計和運營都需要針對不同用戶開展。
總結:分析用戶,需要需求採集和需求提煉兩個步驟,其中需求採集有4種常用方法,其目的在於發現、驗證需求是否存在和量化用戶需求。需求提煉要對需求進行排序,對用戶分級,確定真實需求和粉絲用戶。
答主:hmc=花名冊=還沒吃=何牧宸=答主的名字,更多營銷理論實戰案例解讀請關注微信公眾號【營銷航班】。
⑤ 論述一下項目市場分析的內容有哪些
市場分析的主要內容有:
(一)商品分類銷售實際分析
(二)地區類別市場動態分析
(三)新產品市場銷售分析
(四)消費者購買類型銷售分析
(五)銷售費用分析
市場分析的主要任務是:分析預測全社會對項目產品的需求量;分析同類產品的市場供給量及競爭對手情況;初步確定生產規模;初步測算項目的經濟效益。
拓展資料:
市場分析是對市場供需變化的各種因素及其動態、趨勢的分析。
市場分析的作用主要表現在兩個方面:
一、是企業正確制定營銷戰略的基礎
企業的營銷戰略決策只有建立在扎實的市場分析的基礎上,只有在對影響需求的外部因素和影響企業購、產、銷的內部因素充分了解和掌握以後,才能減少失誤,提高決策的科學性和正確性,從而將經營風險降到最低限度。
二、是實施營銷戰略計劃的保證
企業在實施營銷戰略計劃的過程中,可以根據市場分析取得的最新信息資料,檢驗和判斷企業的營銷戰略計劃是否需要修改,如何修改以適應新出現的或企業事先未掌握的情況,從而保證營銷戰略計劃的順利實施。
只有利用科學的方法去分析和研究市場,才能為企業的正確決策提供可靠的保障
市場分析可以幫助企業解決重大的經營決策問題,比如說通過市場分析,企業可以知道自己在某個市場有無經營機會或是能否在另一個市場將已經獲得的市場份額擴大。市場分析也可以幫助企業的銷售經理對一些較小的問題做出決定,例如公司是否應該立即對價格進行適當的調整,以適應顧客在節日期間的消費行為;或是公司是否應該增加營業推廣所發放的獎品,以加強促銷工作的力度
⑥ 營銷型網站建設的需求分析包括哪些內容
這個你可以找一個自認為比較滿意的網站作為參考,需求分析最主要是要抓住需求,即你想讓網站有哪些功能,比如:營銷型的網站是否需要商城、是否需要積分商城、優惠券、支付功能等等。先把這種大范圍的需求確定了,在確定小范圍的細節,比如商城要有訂單管理。個人中心。收貨地址等等。之後再確定也頁面風格要求。一般的網站開發公司會幫助整理需求文檔,稍微好點的公司會有項目經理根據客戶要求畫原型,最牛的公司會涉及原型並把很多細節方面比如交互什麼的都給設計出來,技術可以按照這個進行開發。
⑦ 需求分析實例
回答:海底行
神
10月22日 10:37 盡量把客戶所持的假設解釋清楚,特別是那些發生沖突的部分。從字里行間去理解以明確客戶沒有表達清楚但又想加入的特性或特徵。Gause 和Weinberg(1989)提出使用「上下文無關問題」—這是一個高層次的問題,它可以獲取業務問題和可能的解決方案的全部信息。客戶對這些問題的回答諸如「產品要求怎樣的精確度」或「你能幫我解釋一下你為什麼不同意某人的回答嗎?」這些回答可以更直接地認識問題,而這是封閉(close-end)問題所不能做到的。
需求獲取利用了所有可用的信息來源,這些信息描述了問題域或在軟體解決方案中合理的特性。一個研究表明:比起不成功的項目,一個成功的項目在開發者和客戶之間採用了更多的交流方式(Kiel and Carmel 1995)。與單個客戶或潛在的用戶組一起座談,對於業務軟體包或信息管理系統(MIS)的應用來說是一種傳統的需求來源。直接聘請用戶進行獲取需求的過程是為項目獲得支持和買入(buy-in)的一種方式。
盡量理解用戶用於表述他們需求的思維過程。充分研究用戶執行任務時作出決策的過程,並提取出潛在的邏輯關系。流程圖和決策樹是描述這些邏輯決策途徑的好方法。
在需求獲取的過程中,你可能會發現對項目范圍的定義存在誤差,不是太大就是太小。如果范圍太大,你將要收集比真正需要更多的需求,以傳遞足夠的業務和客戶的值,此時獲取過程將會拖延。如果項目范圍太小,那麼客戶將會提出很重要的但又在當前產品范圍之外的需求。當前的范圍太小,以致不能提供一個令人滿意的產品。需求的獲取將導致修改項目的范圍和任務,但作出這樣具有深遠影響的改變,一定要小心謹慎。
正如經常所說的,需求主要是關於系統做什麼,而解決方案如何實現是屬於設計的范圍。這樣說雖然很簡潔,但似乎過於簡單化。需求的獲取應該把重點放在「做什麼」上,但在分析和設計之間還是存在一定的距離。你可以使用假設「怎麼做」來分類並改善你對用戶需求的理解。在需求的獲取過程中,分析模型、屏幕圖形和原型可以使概念表達得更加清楚,然後提供一個尋找錯誤和遺漏的辦法。把你在需求開發階段所形成的模型和屏幕效果看成是方便高效交流的概念性建議,而不應該看成是對設計者選擇的一種限制。
需求獲取討論會中如果參與者過多,就會減慢進度。人數大致控制在5到7人是最好的。這些人包括客戶、系統設計者、開發者和可視化設計者等主要工程角色。相反地,從極少的代表那裡收集信息或者只聽到呼聲最高、最有輿論影響的用戶的聲音,也會造成問題。這將導致忽視特定用戶類的重要的需求,或者其需求不能代表絕大多數用戶的需要。最好的權衡在於選擇一些授權為他們的用戶類發言的產品代表者,他們也被同組用戶類的其它代表所支持。
沒有一個簡單、清楚的信號暗示你什麼時候已完成需求獲取。當客戶和開發者與他們的同事聊天、閱讀工業和商業上的文獻及在早上沐浴時思考時,他們都將對潛在產品產生新的構思。你不可能全面收集需求,但是下列的提示將會暗示你在需求獲取的過程中的返回點。
1. 如果用戶不能想出更多的使用實例,也許你就完成了收集需求的工作。用戶總是按其重要性的順序來確定使用實例的。
2. 如果用戶提出新的使用實例,但你可以從其它使用實例的相關功能需求中獲得這些新的使用實例,這時也許你就完成了收集需求的工作。這些新的使用實例可能是你已獲取的其它使用實例的可選過程。
3. 如果用戶開始重復原先討論過的問題,此時,也許你就完成了收集需求的工作。
4. 如果所提出的新需求比你已確定的需求的優先順序都低時,也許你就完成了收集需求的工作。
5. 如果用戶提出對將來產品的要求,而不是現在我們討論的特定產品,也許你就完成了收集需求的工作。
以上知識大致上討論需求分析應該如何做,實際上對於需求分析的方法有很多很多,已經形成了一定的理論,當然這種理論比較偏向與方法學,而方法學的應用主要還是要靠個人。所以,大家在實際應用的時候,不妨結合自己的實際,有選擇性的採用一些方法,那你就是成功的。
用例在需求分析中的使用
多年來,分析者總是利用情節或經歷來描述用戶和軟體系統的交互方式,從而獲取需求(McGraw and Harbison 1997)。Ivar Jacobson(1992)把這種看法系統地闡述成用例(用例)的方法進行需求獲取和建模。雖然用例來源於面向對象的開發環境,但是它也能應用在具有許多開發方法的項目中,因為用戶並不關心你是怎樣開發你的軟體。而最重要的,用例的觀點和思維過程帶給需求開發的改變比起是否畫正式的用例圖顯得更為重要。注意用戶要利用系統做什麼遠遠強於詢問用戶希望系統為他們做什麼這一傳統方法。
用例的重要功能是用畫用例圖的功能來鑒別和劃分系統功能。它把系統分成角色(actor)和用例(用例)。角色(actor)表示系統用戶能扮演的角色(role)。這些用戶可能是人,可能是其他的計算機一些硬體或者甚至是其它軟體系統,唯一的標準是它們必須要在被劃分進用例的系統部分以外。它們必須能刺激系統部分並接收返回。用例描述了當角色給系統特定的刺激時系統的活動。這些活動被文本描述。它描述了觸發用例的刺激的本質,輸入和輸出到其他活動者,和轉換輸入到輸出的活動。用例文本通常也描述每一個活動在特殊的活動線時可能的錯誤和系統應採取的補救措施。
這樣說可能會非常復雜,其實一個用例描述了系統和一個角色(actor)的交互順序。用例被定義成系統執行的一系列動作,動作執行的結果能被指定角色察覺到。用例可以:
· 用例捕獲某些用戶可見的需求,實現一個具體的用戶目標。
· 用例由角色激活,並提供確切的值給角色。
· 用例可大可小,但它必須是對一個具體的用戶目標實現的完整描述。在UML中,用例表示為一個橢圓。
角色是指用戶在系統中所扮演的角色。其圖形化的表示是一個小人。在某些組織中很可能有許多角色實例(例如有很多個銷售員),但就該系統而言,他們均起著同一種作用,扮演著相同的角色,所以用一個角色表示。一個用戶也可以扮演多種角色。例如,一個高級營銷人員既可以是貿易經理,也可以是普通的營銷人員;一個營銷人員也可以是售貨員。在處理角色時,應考慮其作用,而不是人或工作名稱,這一點是很重要的。
我們使用不帶箭頭的線段將角色與用例連接到一起,表示兩者之間交換信息,稱之為通信聯系。角色觸發用例,並與用例進行信息交換。單個角色可與多個用例聯系;反過來,一個用例可與多個角色聯系。對同一個用例而言,不同角色有著不同的作用:他們可以從用例中取值,也可以參與到用例中。需要注意的是角色在用例圖中是用類似人的圖形來表示,盡管執行的,但角色未必是人。例如,角色也可以是一個外界系統,該外界系統可能需要從當前系統中獲取信息,與當前系統有進行交互。
一個用例可能包括完成某項任務的許多邏輯相關任務和交互順序。因此,一個用例是相關的用法說明的集合,並且一個說明(scenario)是用例的實例。這種關系就像是類和對象的關系。在用例中,一個說明被視為事件的普通過程(normal course),也叫作主過程,基本過程,普通流,或「滿意之路」 (happy path)。在描述普通過程時列出執行者和系統之間相互交互或對話的順序。當這種交互結束時,執行者也達到了預期的目的。
在用例中的其它說明可以描述為可選過程(alternative coruse)。可選過程也可促進成功地完成任務,但它們代表了任務的細節或用於完成任務的途徑的變化部分。在交互序列中,普通過程可以在一些決策點上分解成可選過程,然後再重新匯成一個普通過程。
角色類和角色實例
軟體產品最終是給一些用戶來使用的,而用戶之間的差異是非常大的。造成差異的原因包括了對計算機的認知程度的不同,使用習慣的不同,在軟體目標組織中所處的地位不同,地理位置不同,業務熟練程度不同。
不同的用戶都有自己一系列的功能需求和非功能需求。對電腦熟練程度不同的人可能就會有不同的要求,熟練程度低的用戶可能希望有一個友好的界面,熟練程度高的用戶可能更希望有快捷鍵或宏的操作以提高工作效率。考慮到用戶的差異性,將用戶分類並研究用戶類的行為特徵是非常有必要的。所以在做具體的需求之前,先將用戶分局行為和特點進行分類,對於研究、收集用戶的需求是非常有幫助的。
可以利用一個簡單的表格列出一些原始的分類,然後不斷的完善這個表格。確認你的分類之間沒有交集。並充分描述用戶分類的行為,目的,要求等。在企業分析中,比較常見的分類可能包括,供應商,客戶,部門等。
就像C++中的類和對象一樣,我們把分析出的用戶分類稱為「角色類」,把實際的用戶稱為「角色實例」。在得到用戶分類之後,最重要的就是要選出用戶代表,用戶代表不僅僅是在需求階段中參與項目,還必須對項目的全過程負責。用戶代表能夠代表用戶分類的需求。抓住用戶代表的需求就大致把握住了用戶類的需求。當然,需求分析還是需要在用戶中做大規模的調查的,只是要把重點放在用戶代表上。
確保和用戶直接進行溝通!大家有沒有玩過傳話的游戲,可能看過。一群人排成一列,一句話從排頭挨個向後傳,到最後,那句話已經是面目全非了。所以,一定要保證項目組能夠直接和用戶接觸。
對於和用戶直接溝通這一點,一般的針對特定企業的應用系統當然是不成問題,可是如果是開發行業軟體,和用戶直接溝通就成為一件幾乎是不可能的事情。在這種情況下,一般有幾種解決的辦法:
做大規模的市場調查,針對你的目標市場做市場調查,並根據統計學的理論建立你的數學模型。這部分的工作效果最好,其性質有些象一些游戲公司會發布一些Demo版的游戲。可是對於一般的企業來說,這項工作費時費力,高昂的成本往往使大家知難而退。我的意見是,方法是非常好的,但是可以採用折衷的辦法,例如選取有代表性的企業,為特定企業製作一個較小的版本並收集反饋意見等。這涉及到很多市場營銷的內容,並不是我的專業所長,這里就不多弄斧了。
聘請行業專家,一個行業專家往往可以在項目需求方面發揮極為重要的作用。一個行業專家往往都有大量的行業經驗和行業的人際關系網路。在產品的設計方面,這個行業專家提供很多寶貴的意見。在目前很多的軟體的開發過程中都採用了這種方式。行業專家有兩種:一種是在這個行業中有很深的資歷,但是對軟體技術並不熟悉;第二種是開發過同類軟體的軟體專家,這種人在開發同類軟體過程中已經積累了大量的項目經驗,並且具有軟體開發的知識。這種方式是獲取需求的最好的方式。 分析對比同類軟體,微軟在開發Office、Visual Studio的時候,也是參照了Lotus和Borland的成熟產品。這種方式的特點在於成本很低,比較適合和其他的方式配合使用。但是,要注意自己有沒有觸犯專利法。
需求的沖突
有的時候,雖然已經將用戶分類並選出了用戶代表。但是需求的來源眾多,往往會發生需求之間自相矛盾的事情。需求從四面八方收集來後,人們難以解決沖突,澄清模糊之處以及協調不一致之處。某些人還要對不可避免要發生的范圍問題單獨作出決定。在項目的早期階段,你必須決定誰是需求問題的決策者。如果不清楚誰有權並且有責任來作出決策,或者授權的個人不願意或不能作出決策,那麼決策者的角色將自然而然地落在開發者身上。這是一個非常糟糕的選擇,因為開發者通常沒有足夠多的信息和觀點來作出業務上的決策。
在軟體項目中,誰將對需求作出決策的問題並沒有統一的正確答案。分析員有時聽從呼聲高的或來自最高層人物的最大的需求。即便使用用戶代表這一手段,必須解決來自不同用戶類的相沖突的需求。通常,應盡可能由處於公司底層的人作出決策,因為他們與問題密切相關,並能得到關於這些問題的廣泛信息。
如果不同的用戶類有不一致的需求,那麼必須決策出滿足哪一類用戶的需求更為重要。了解可能使用產品的客戶種類的信息和他們的用法與產品的業務目標的關系如何,將有助於你決定哪一個用戶類所佔份額最大。
當開發者想像中的產品與客戶需求沖突時,通常應該由客戶作出決策。然而,不要陷到「客戶總是對的」的陷阱中去,對他們百依百順。現實中,客戶並不總是對的。客戶總是持有自己的觀點,開發者必須理解並尊重這一觀點。
用例
在具體的需求過程中,有大的用例(業務用例),也有小的用例。主要是由於用例的范圍決定的。用例像是一個黑盒,它沒有包括任何和實現有關或是內部的一些信息。它很容易就被用戶(也包括開發者)所理解(簡單的謂詞短語)。如果用例不足以表達足夠的信息來支持系統的開發,就有必要把用例黑盒打開,審視其內部的結構,找出黑盒內部的Actor和用例。就這樣通過不斷的打開黑盒,分析黑盒,再打開新的黑盒。直到整個系統可以被清晰的了解為止。
為什麼要採用這種分析方法呢?計算機系統除了在與外界系統、人員有一系列的交互,在系統內部也往往存在著復雜的交互。因此,在系統建模時,除了描述系統與外界的交互,同時還要描述系統內部的交互。傳統的MIS系統中,系統與外界的交互較多。典型的,如ATM取款機:存在著大量的用戶與ATM,ATM與其它系統的交互。而電信領域的系統,與外界的交互較少。例如,系統的輸入可能僅僅是從交換機上採集信息,然後由系統進行處理。系統的復雜邏輯包含在系統內部處理的流程上,而非與外部系統的交互。建模主要任務是表達系統內部的交互。
用例圖適於表達交互,之所以上面使用了電信系統,是因為用例最早來自於Ericsson的交換機系統。當時,還是Ericsson雇員的Jacobson初步建立了用例圖的概念,並於1994年提出了OOSE方法,其最大特點是面向用例(Use-Case),並在用例的描述中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,比較適合支持商業工程和需求分析。隨著用例的發展,用例被大量的用於對功能進行描述。每個用例代表了系統與外部ACTOR的交互。可以採取順序圖來表達用例的具體操作程序。ACTOR用於確定系統的邊界。
ACTOR、用例可以從不同的層次來描述信息。採用該原則的原因有:
1. 需求並不是在項目一開始就很明確,往往是隨著項目的推進,逐漸細化。
2. 人的認知往往具有層次的特性。從粗到細、從一般到特殊。採用不同的層次來描述,適於認知的過程。
使用用例開發系統的一般過程
在開發過程的初始階段,可以根據具體的項目特點,制訂開發各個視圖之間的關聯原則,指導規范。在開發的過程中,視圖的組織原則應不斷進行維護、更新。
識別ACTOR來識別系統與外界交互的實體。ACTOR具有特定領域的特徵,例如:交換機(採集系統)、97信息系統等。在系統層次的ACTOR確定了系統的邊界。
識別用例。同ACTOR一樣,用例具有不同層次。對較為概括的USECASE,需要細化。註:系統開發需要一定的規則來確定,如何來分解用例;可能基於原有系統的經驗,或是參考現有資料。
當用例細化到可以被理解的層次。需要基於用例進行下一步的開發。如前面提到的,用例主要用來描述交互。因此,存在交互的實體和交互的細節。交互的實體採用類圖來描述;而交互的細節,採用順序圖來描述。
當系統復雜到一定層次時,類圖和順序圖可能不能足以描述其復雜程度。在該情況下,需要使用狀態圖來輔助闡述。狀態圖和順序圖之間使用事件聯結在一起。它們之間的一致性問題,目前UML和ROSE沒有提供解決方案。相對折衷的方法是使用事件的命名規范強制一致性。
可以說,之前說的所有的東西都是為了能夠導出用例在需求中的作用。用例是從用戶的角度看待系統,而不是基於程序員的角度。這樣的話,用例驅動的系統能夠真正做到以用戶為中心,用戶的任何需求都能夠在系統開發鏈中完整的體現。用戶和程序員間通過用例溝通,避免了牛頭馬嘴的尷尬局面。 從前,系統開發者總是通過情節來獲取需求,是問用戶希望系統為他做什麼。在Jacobson發明了用例的概念之後,需求獲取就變成問用戶要利用系統做什麼。這是立場不同導致的結果。用戶通常並不關心系統是如何實現的(也有少數可愛的技術狂是例外)。對他們來說,更重要的是要達到他的目的。相反的,大部分的程序員的工作習慣就是考慮計算機應該如何實現用戶的要求。所幸的是,用例方法能夠調和雙方的矛盾,因為雖然用例是來源於用戶,服務於用戶,但是它同樣可以用於開發的流程。當系統的開發過程都是基於用例的,用用例獲取需求,用用例設計,用用例編碼,用用例測試的時候。這個開發過程就是用例驅動的。 用例和用例文檔
《軟體需求》一書中提到了幾種方法來確定用例:
· 首先明確執行者和他們的角色,然後確定業務過程,在這一過程中每一個參與者都在為確定用例而努力。
· 確定系統所能反映的外部事件,然後把這些事件與參與的執行者和特定的用例聯系起來。
· 以特定的說明形式表達業務過程或日常行為,從這些說明中獲得用例,並確定參與到用例中的執行者,有可能從現在的功能需求說明中獲得用例。如果有些需求與用例不一致,就應考慮是否真的需要它們。
用例代表了用戶的需求,在你的系統中,應該直接從不同用戶類的代表或至少應從代理那裡收集需求。用例為表達用戶需求提供了一種方法,而這一方法必須與系統的業務需求相一致。分析者和用戶必須檢查每一個用例,在把它們納入需求之前決定其是否在項目所定義的范圍內。基於「用例」方法進行需求獲取的目的在於:描述用戶需要使用系統完成的所有任務。在理論上,用例的結果集將包括所有合理的系統功能。在現實中,你不可能獲得完全包容,但是比起我所知道的其它獲取方法,基於用例的方法可以為你帶來更好的效果。
當使用用例進行需求獲取時,應避免受不成熟的細節的影響。在對切合的客戶任務取得共識之前,用戶能很容易地在一個報表或對話框中列出每一項的精確設計。如果這些細節都作為需求記錄下來,他們會給隨後的設計過程帶來不必要的限制。你可能要周期性地檢查需求獲取,以確保用戶參與者將注意力集中在與今天所討論的話題適合的抽象層上。向他們保證在開發過程中,將會詳盡闡述他們的需求。在一個逐次詳細描述過程中,重復地詳述需求,以確定用戶目標和任務,並作為用例。然後,把任務描述成功能需求,這些功能需求可以使用戶完成其任務,也可以把它們描述成非功能需求,這些非功能需求描述了系統的限制和用戶對質量的期望。雖然最初的屏幕構思有助於描述你對需求的理解,但是你必須細化用戶界面設計。
建立用例文檔。在每一次的需求獲取之後,都會生成很多未整理的需求,你必須將它們組織成用例文檔。使用諸如模板的技術能夠提高你的速度和需求的復用性。一個用例文檔可以使用表格來組織,主要的要素包括了用例標識號、用例名稱、父用例標志號、創建者、創建時間、審核者、修訂記錄、角色、說明、先決條件、請求結果、優先順序、普通過程、可選過程、例外、非功能需求、假設、注釋和問題。
雖然列舉出了這么多的屬性,但是實際中使用的屬性這要看你的團體而定,看項目的大小而定。把大量的時間花在用例的描述上是沒有意義的。用戶需要的是一個軟體系統,並不是一大堆的用例說明。
⑧ 網路營銷怎樣做好用戶需求分析
1、前期市場調研
市場調研本身所包含的項目,其實遠遠不止產品使用回饋這一項。如果要進行一場深度調研,產品性能、使用回饋、故障修復,甚至服務態度等,其實都可以包含在內。而我們調研的目標用戶,也要盡可能體現出差異化,不要只是面向同一個目標用戶群體。
2、收集反饋進行分析
當前期調研反饋全部收集完畢之後,就要匹配於產品或者服務本身去進行改動分析。只是產品本身所承載的能力並不是無限大的。有些用戶反饋可以滿足,有些用戶反饋則不然。
3、產品優化提升
在產品優化方案擬定之後,就要配合最初制定的推廣方案開始針對於產品本身進行優化升級。在此階段,客戶需求即“痛點”,永遠是產品優化的最基礎方向。
⑨ 需求分析怎麼做
10月22日 10:37 盡量把客戶所持的假設解釋清楚,特別是那些發生沖突的部分。從字里行間去理解以明確客戶沒有表達清楚但又想加入的特性或特徵。Gause 和Weinberg(1989)提出使用「上下文無關問題」—這是一個高層次的問題,它可以獲取業務問題和可能的解決方案的全部信息。客戶對這些問題的回答諸如「產品要求怎樣的精確度」或「你能幫我解釋一下你為什麼不同意某人的回答嗎?」這些回答可以更直接地認識問題,而這是封閉(close-end)問題所不能做到的。
需求獲取利用了所有可用的信息來源,這些信息描述了問題域或在軟體解決方案中合理的特性。一個研究表明:比起不成功的項目,一個成功的項目在開發者和客戶之間採用了更多的交流方式(Kiel and Carmel 1995)。與單個客戶或潛在的用戶組一起座談,對於業務軟體包或信息管理系統(MIS)的應用來說是一種傳統的需求來源。直接聘請用戶進行獲取需求的過程是為項目獲得支持和買入(buy-in)的一種方式。
盡量理解用戶用於表述他們需求的思維過程。充分研究用戶執行任務時作出決策的過程,並提取出潛在的邏輯關系。流程圖和決策樹是描述這些邏輯決策途徑的好方法。
在需求獲取的過程中,你可能會發現對項目范圍的定義存在誤差,不是太大就是太小。如果范圍太大,你將要收集比真正需要更多的需求,以傳遞足夠的業務和客戶的值,此時獲取過程將會拖延。如果項目范圍太小,那麼客戶將會提出很重要的但又在當前產品范圍之外的需求。當前的范圍太小,以致不能提供一個令人滿意的產品。需求的獲取將導致修改項目的范圍和任務,但作出這樣具有深遠影響的改變,一定要小心謹慎。
正如經常所說的,需求主要是關於系統做什麼,而解決方案如何實現是屬於設計的范圍。這樣說雖然很簡潔,但似乎過於簡單化。需求的獲取應該把重點放在「做什麼」上,但在分析和設計之間還是存在一定的距離。你可以使用假設「怎麼做」來分類並改善你對用戶需求的理解。在需求的獲取過程中,分析模型、屏幕圖形和原型可以使概念表達得更加清楚,然後提供一個尋找錯誤和遺漏的辦法。把你在需求開發階段所形成的模型和屏幕效果看成是方便高效交流的概念性建議,而不應該看成是對設計者選擇的一種限制。
需求獲取討論會中如果參與者過多,就會減慢進度。人數大致控制在5到7人是最好的。這些人包括客戶、系統設計者、開發者和可視化設計者等主要工程角色。相反地,從極少的代表那裡收集信息或者只聽到呼聲最高、最有輿論影響的用戶的聲音,也會造成問題。這將導致忽視特定用戶類的重要的需求,或者其需求不能代表絕大多數用戶的需要。最好的權衡在於選擇一些授權為他們的用戶類發言的產品代表者,他們也被同組用戶類的其它代表所支持。
沒有一個簡單、清楚的信號暗示你什麼時候已完成需求獲取。當客戶和開發者與他們的同事聊天、閱讀工業和商業上的文獻及在早上沐浴時思考時,他們都將對潛在產品產生新的構思。你不可能全面收集需求,但是下列的提示將會暗示你在需求獲取的過程中的返回點。
1. 如果用戶不能想出更多的使用實例,也許你就完成了收集需求的工作。用戶總是按其重要性的順序來確定使用實例的。
2. 如果用戶提出新的使用實例,但你可以從其它使用實例的相關功能需求中獲得這些新的使用實例,這時也許你就完成了收集需求的工作。這些新的使用實例可能是你已獲取的其它使用實例的可選過程。
3. 如果用戶開始重復原先討論過的問題,此時,也許你就完成了收集需求的工作。
4. 如果所提出的新需求比你已確定的需求的優先順序都低時,也許你就完成了收集需求的工作。
5. 如果用戶提出對將來產品的要求,而不是現在我們討論的特定產品,也許你就完成了收集需求的工作。
以上知識大致上討論需求分析應該如何做,實際上對於需求分析的方法有很多很多,已經形成了一定的理論,當然這種理論比較偏向與方法學,而方法學的應用主要還是要靠個人。所以,大家在實際應用的時候,不妨結合自己的實際,有選擇性的採用一些方法,那你就是成功的。
用例在需求分析中的使用
多年來,分析者總是利用情節或經歷來描述用戶和軟體系統的交互方式,從而獲取需求(McGraw and Harbison 1997)。Ivar Jacobson(1992)把這種看法系統地闡述成用例(用例)的方法進行需求獲取和建模。雖然用例來源於面向對象的開發環境,但是它也能應用在具有許多開發方法的項目中,因為用戶並不關心你是怎樣開發你的軟體。而最重要的,用例的觀點和思維過程帶給需求開發的改變比起是否畫正式的用例圖顯得更為重要。注意用戶要利用系統做什麼遠遠強於詢問用戶希望系統為他們做什麼這一傳統方法。
用例的重要功能是用畫用例圖的功能來鑒別和劃分系統功能。它把系統分成角色(actor)和用例(用例)。角色(actor)表示系統用戶能扮演的角色(role)。這些用戶可能是人,可能是其他的計算機一些硬體或者甚至是其它軟體系統,唯一的標準是它們必須要在被劃分進用例的系統部分以外。它們必須能刺激系統部分並接收返回。用例描述了當角色給系統特定的刺激時系統的活動。這些活動被文本描述。它描述了觸發用例的刺激的本質,輸入和輸出到其他活動者,和轉換輸入到輸出的活動。用例文本通常也描述每一個活動在特殊的活動線時可能的錯誤和系統應採取的補救措施。
這樣說可能會非常復雜,其實一個用例描述了系統和一個角色(actor)的交互順序。用例被定義成系統執行的一系列動作,動作執行的結果能被指定角色察覺到。用例可以:
· 用例捕獲某些用戶可見的需求,實現一個具體的用戶目標。
· 用例由角色激活,並提供確切的值給角色。
· 用例可大可小,但它必須是對一個具體的用戶目標實現的完整描述。在UML中,用例表示為一個橢圓。
角色是指用戶在系統中所扮演的角色。其圖形化的表示是一個小人。在某些組織中很可能有許多角色實例(例如有很多個銷售員),但就該系統而言,他們均起著同一種作用,扮演著相同的角色,所以用一個角色表示。一個用戶也可以扮演多種角色。例如,一個高級營銷人員既可以是貿易經理,也可以是普通的營銷人員;一個營銷人員也可以是售貨員。在處理角色時,應考慮其作用,而不是人或工作名稱,這一點是很重要的。
我們使用不帶箭頭的線段將角色與用例連接到一起,表示兩者之間交換信息,稱之為通信聯系。角色觸發用例,並與用例進行信息交換。單個角色可與多個用例聯系;反過來,一個用例可與多個角色聯系。對同一個用例而言,不同角色有著不同的作用:他們可以從用例中取值,也可以參與到用例中。需要注意的是角色在用例圖中是用類似人的圖形來表示,盡管執行的,但角色未必是人。例如,角色也可以是一個外界系統,該外界系統可能需要從當前系統中獲取信息,與當前系統有進行交互。
一個用例可能包括完成某項任務的許多邏輯相關任務和交互順序。因此,一個用例是相關的用法說明的集合,並且一個說明(scenario)是用例的實例。這種關系就像是類和對象的關系。在用例中,一個說明被視為事件的普通過程(normal course),也叫作主過程,基本過程,普通流,或「滿意之路」 (happy path)。在描述普通過程時列出執行者和系統之間相互交互或對話的順序。當這種交互結束時,執行者也達到了預期的目的。
在用例中的其它說明可以描述為可選過程(alternative coruse)。可選過程也可促進成功地完成任務,但它們代表了任務的細節或用於完成任務的途徑的變化部分。在交互序列中,普通過程可以在一些決策點上分解成可選過程,然後再重新匯成一個普通過程。
角色類和角色實例
軟體產品最終是給一些用戶來使用的,而用戶之間的差異是非常大的。造成差異的原因包括了對計算機的認知程度的不同,使用習慣的不同,在軟體目標組織中所處的地位不同,地理位置不同,業務熟練程度不同。
不同的用戶都有自己一系列的功能需求和非功能需求。對電腦熟練程度不同的人可能就會有不同的要求,熟練程度低的用戶可能希望有一個友好的界面,熟練程度高的用戶可能更希望有快捷鍵或宏的操作以提高工作效率。考慮到用戶的差異性,將用戶分類並研究用戶類的行為特徵是非常有必要的。所以在做具體的需求之前,先將用戶分局行為和特點進行分類,對於研究、收集用戶的需求是非常有幫助的。
可以利用一個簡單的表格列出一些原始的分類,然後不斷的完善這個表格。確認你的分類之間沒有交集。並充分描述用戶分類的行為,目的,要求等。在企業分析中,比較常見的分類可能包括,供應商,客戶,部門等。
就像C++中的類和對象一樣,我們把分析出的用戶分類稱為「角色類」,把實際的用戶稱為「角色實例」。在得到用戶分類之後,最重要的就是要選出用戶代表,用戶代表不僅僅是在需求階段中參與項目,還必須對項目的全過程負責。用戶代表能夠代表用戶分類的需求。抓住用戶代表的需求就大致把握住了用戶類的需求。當然,需求分析還是需要在用戶中做大規模的調查的,只是要把重點放在用戶代表上。
確保和用戶直接進行溝通!大家有沒有玩過傳話的游戲,可能看過。一群人排成一列,一句話從排頭挨個向後傳,到最後,那句話已經是面目全非了。所以,一定要保證項目組能夠直接和用戶接觸。
對於和用戶直接溝通這一點,一般的針對特定企業的應用系統當然是不成問題,可是如果是開發行業軟體,和用戶直接溝通就成為一件幾乎是不可能的事情。在這種情況下,一般有幾種解決的辦法:
做大規模的市場調查,針對你的目標市場做市場調查,並根據統計學的理論建立你的數學模型。這部分的工作效果最好,其性質有些象一些游戲公司會發布一些Demo版的游戲。可是對於一般的企業來說,這項工作費時費力,高昂的成本往往使大家知難而退。我的意見是,方法是非常好的,但是可以採用折衷的辦法,例如選取有代表性的企業,為特定企業製作一個較小的版本並收集反饋意見等。這涉及到很多市場營銷的內容,並不是我的專業所長,這里就不多弄斧了。
聘請行業專家,一個行業專家往往可以在項目需求方面發揮極為重要的作用。一個行業專家往往都有大量的行業經驗和行業的人際關系網路。在產品的設計方面,這個行業專家提供很多寶貴的意見。在目前很多的軟體的開發過程中都採用了這種方式。行業專家有兩種:一種是在這個行業中有很深的資歷,但是對軟體技術並不熟悉;第二種是開發過同類軟體的軟體專家,這種人在開發同類軟體過程中已經積累了大量的項目經驗,並且具有軟體開發的知識。這種方式是獲取需求的最好的方式。 分析對比同類軟體,微軟在開發Office、Visual Studio的時候,也是參照了Lotus和Borland的成熟產品。這種方式的特點在於成本很低,比較適合和其他的方式配合使用。但是,要注意自己有沒有觸犯專利法。
需求的沖突
有的時候,雖然已經將用戶分類並選出了用戶代表。但是需求的來源眾多,往往會發生需求之間自相矛盾的事情。需求從四面八方收集來後,人們難以解決沖突,澄清模糊之處以及協調不一致之處。某些人還要對不可避免要發生的范圍問題單獨作出決定。在項目的早期階段,你必須決定誰是需求問題的決策者。如果不清楚誰有權並且有責任來作出決策,或者授權的個人不願意或不能作出決策,那麼決策者的角色將自然而然地落在開發者身上。這是一個非常糟糕的選擇,因為開發者通常沒有足夠多的信息和觀點來作出業務上的決策。
在軟體項目中,誰將對需求作出決策的問題並沒有統一的正確答案。分析員有時聽從呼聲高的或來自最高層人物的最大的需求。即便使用用戶代表這一手段,必須解決來自不同用戶類的相沖突的需求。通常,應盡可能由處於公司底層的人作出決策,因為他們與問題密切相關,並能得到關於這些問題的廣泛信息。
如果不同的用戶類有不一致的需求,那麼必須決策出滿足哪一類用戶的需求更為重要。了解可能使用產品的客戶種類的信息和他們的用法與產品的業務目標的關系如何,將有助於你決定哪一個用戶類所佔份額最大。
當開發者想像中的產品與客戶需求沖突時,通常應該由客戶作出決策。然而,不要陷到「客戶總是對的」的陷阱中去,對他們百依百順。現實中,客戶並不總是對的。客戶總是持有自己的觀點,開發者必須理解並尊重這一觀點。
用例
在具體的需求過程中,有大的用例(業務用例),也有小的用例。主要是由於用例的范圍決定的。用例像是一個黑盒,它沒有包括任何和實現有關或是內部的一些信息。它很容易就被用戶(也包括開發者)所理解(簡單的謂詞短語)。如果用例不足以表達足夠的信息來支持系統的開發,就有必要把用例黑盒打開,審視其內部的結構,找出黑盒內部的Actor和用例。就這樣通過不斷的打開黑盒,分析黑盒,再打開新的黑盒。直到整個系統可以被清晰的了解為止。
為什麼要採用這種分析方法呢?計算機系統除了在與外界系統、人員有一系列的交互,在系統內部也往往存在著復雜的交互。因此,在系統建模時,除了描述系統與外界的交互,同時還要描述系統內部的交互。傳統的MIS系統中,系統與外界的交互較多。典型的,如ATM取款機:存在著大量的用戶與ATM,ATM與其它系統的交互。而電信領域的系統,與外界的交互較少。例如,系統的輸入可能僅僅是從交換機上採集信息,然後由系統進行處理。系統的復雜邏輯包含在系統內部處理的流程上,而非與外部系統的交互。建模主要任務是表達系統內部的交互。
用例圖適於表達交互,之所以上面使用了電信系統,是因為用例最早來自於Ericsson的交換機系統。當時,還是Ericsson雇員的Jacobson初步建立了用例圖的概念,並於1994年提出了OOSE方法,其最大特點是面向用例(Use-Case),並在用例的描述中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,比較適合支持商業工程和需求分析。隨著用例的發展,用例被大量的用於對功能進行描述。每個用例代表了系統與外部ACTOR的交互。可以採取順序圖來表達用例的具體操作程序。ACTOR用於確定系統的邊界。
ACTOR、用例可以從不同的層次來描述信息。採用該原則的原因有:
1. 需求並不是在項目一開始就很明確,往往是隨著項目的推進,逐漸細化。
2. 人的認知往往具有層次的特性。從粗到細、從一般到特殊。採用不同的層次來描述,適於認知的過程。
使用用例開發系統的一般過程
在開發過程的初始階段,可以根據具體的項目特點,制訂開發各個視圖之間的關聯原則,指導規范。在開發的過程中,視圖的組織原則應不斷進行維護、更新。
識別ACTOR來識別系統與外界交互的實體。ACTOR具有特定領域的特徵,例如:交換機(採集系統)、97信息系統等。在系統層次的ACTOR確定了系統的邊界。
識別用例。同ACTOR一樣,用例具有不同層次。對較為概括的USECASE,需要細化。註:系統開發需要一定的規則來確定,如何來分解用例;可能基於原有系統的經驗,或是參考現有資料。
當用例細化到可以被理解的層次。需要基於用例進行下一步的開發。如前面提到的,用例主要用來描述交互。因此,存在交互的實體和交互的細節。交互的實體採用類圖來描述;而交互的細節,採用順序圖來描述。
當系統復雜到一定層次時,類圖和順序圖可能不能足以描述其復雜程度。在該情況下,需要使用狀態圖來輔助闡述。狀態圖和順序圖之間使用事件聯結在一起。它們之間的一致性問題,目前UML和ROSE沒有提供解決方案。相對折衷的方法是使用事件的命名規范強制一致性。
可以說,之前說的所有的東西都是為了能夠導出用例在需求中的作用。用例是從用戶的角度看待系統,而不是基於程序員的角度。這樣的話,用例驅動的系統能夠真正做到以用戶為中心,用戶的任何需求都能夠在系統開發鏈中完整的體現。用戶和程序員間通過用例溝通,避免了牛頭馬嘴的尷尬局面。 從前,系統開發者總是通過情節來獲取需求,是問用戶希望系統為他做什麼。在Jacobson發明了用例的概念之後,需求獲取就變成問用戶要利用系統做什麼。這是立場不同導致的結果。用戶通常並不關心系統是如何實現的(也有少數可愛的技術狂是例外)。對他們來說,更重要的是要達到他的目的。相反的,大部分的程序員的工作習慣就是考慮計算機應該如何實現用戶的要求。所幸的是,用例方法能夠調和雙方的矛盾,因為雖然用例是來源於用戶,服務於用戶,但是它同樣可以用於開發的流程。當系統的開發過程都是基於用例的,用用例獲取需求,用用例設計,用用例編碼,用用例測試的時候。這個開發過程就是用例驅動的。 用例和用例文檔
《軟體需求》一書中提到了幾種方法來確定用例:
· 首先明確執行者和他們的角色,然後確定業務過程,在這一過程中每一個參與者都在為確定用例而努力。
· 確定系統所能反映的外部事件,然後把這些事件與參與的執行者和特定的用例聯系起來。
· 以特定的說明形式表達業務過程或日常行為,從這些說明中獲得用例,並確定參與到用例中的執行者,有可能從現在的功能需求說明中獲得用例。如果有些需求與用例不一致,就應考慮是否真的需要它們。
用例代表了用戶的需求,在你的系統中,應該直接從不同用戶類的代表或至少應從代理那裡收集需求。用例為表達用戶需求提供了一種方法,而這一方法必須與系統的業務需求相一致。分析者和用戶必須檢查每一個用例,在把它們納入需求之前決定其是否在項目所定義的范圍內。基於「用例」方法進行需求獲取的目的在於:描述用戶需要使用系統完成的所有任務。在理論上,用例的結果集將包括所有合理的系統功能。在現實中,你不可能獲得完全包容,但是比起我所知道的其它獲取方法,基於用例的方法可以為你帶來更好的效果。
當使用用例進行需求獲取時,應避免受不成熟的細節的影響。在對切合的客戶任務取得共識之前,用戶能很容易地在一個報表或對話框中列出每一項的精確設計。如果這些細節都作為需求記錄下來,他們會給隨後的設計過程帶來不必要的限制。你可能要周期性地檢查需求獲取,以確保用戶參與者將注意力集中在與今天所討論的話題適合的抽象層上。向他們保證在開發過程中,將會詳盡闡述他們的需求。在一個逐次詳細描述過程中,重復地詳述需求,以確定用戶目標和任務,並作為用例。然後,把任務描述成功能需求,這些功能需求可以使用戶完成其任務,也可以把它們描述成非功能需求,這些非功能需求描述了系統的限制和用戶對質量的期望。雖然最初的屏幕構思有助於描述你對需求的理解,但是你必須細化用戶界面設計。
建立用例文檔。在每一次的需求獲取之後,都會生成很多未整理的需求,你必須將它們組織成用例文檔。使用諸如模板的技術能夠提高你的速度和需求的復用性。一個用例文檔可以使用表格來組織,主要的要素包括了用例標識號、用例名稱、父用例標志號、創建者、創建時間、審核者、修訂記錄、角色、說明、先決條件、請求結果、優先順序、普通過程、可選過程、例外、非功能需求、假設、注釋和問題。
雖然列舉出了這么多的屬性,但是實際中使用的屬性這要看你的團體而定,看項目的大小而定。把大量的時間花在用例的描述上是沒有意義的。用戶需要的是一個軟體系統,並不是一大堆的用例說明。