在需求工程中,需求獲取階段是和用戶交往最多的一段時間, 而絕大部分用戶是不懂得需求分析方法的,他們不知道怎樣全面而又準確無誤地表達自己的需求,因而對于需求分析人員來講,需要掌握很好的方法與技巧,恰當地啟發引導用戶表達自己的需求,以便為項目的成功提供一個很好的基石。
一 需求獲取的2個基本原則
1 深入淺出
對企業的需求調研的要盡可能的全面、細致,調研的需求是個全集,系統真正實現的是個子集。所做的工作可能一時看不到有什么作用,但是這樣做可以對應用領域的業務吃得很透,能夠避免一些不必要的麻煩,如可以保證系統的靈活性等。調研的細致并不等于在分析時都面面俱到地將調研的內容納入到新系統中, 而有可能實現的很少,但其中在向細處擴充時將會很容易。也就是講,當新系統設計出來時,開發人員很清楚新系統與舊系統相符合的程度,還有多大的余地或工作可以做,對用戶提出的一些細致的問題都能夠在系統中找到解決方法。
2 以流程為主線
在與用戶交流的過程中,應該用流程將所有的內容串起來,如單據、信息、組織結構、處理規則等,這樣便于交流溝通,符合用戶的思維習慣。流程的描述既要有宏觀,又要有微觀。即要強調總體的業務流程、全生命周期的業務流程,又要對流程細化,有分支的業務流程。在分析企業流程并進行優化時,要把握幾個方面:
該流程中是否存在不必要的環節? 是否可以將決策的權力下放到作業部門? 流程是否可以簡化? 是否可以省略一些環節? 流程中的每個處理環節是否起到了增值的作用? 哪些流程可以并行處理? 與需求并行可提前做的設計工作有哪些?例如:數據庫概念模型設計?基礎數據字典設計?二 需求調研的五個步驟
第一步:調研用戶領域的組織結構、崗位設置、職責定義,從功能上區分有多少個子系統,劃分系統的大致范圍,明確系統的目標。
第二步: 調研每個子系統所需的工作流程、功能與處理規則,收集單據、報表、帳本等原始資料,分析物流、資金流、信息流三者的關系,以及如何用數據流來表示這三者的關系。
第三步: 對調研的內容事先準備,針對不同管理層次的用戶詢問不同的問題,列出問題清單。將操作層、管理層、決策層的需求既聯系又區分開來,形成一個金字塔,使下層滿足上層的需求。
第四步: 對與用戶溝通的情況及時總結歸納,整理調研結果,找出新的疑點,初步構成需求基線。
第五步: 若基線符合要求,則需求分析完畢。反之返回到第一步或第二或第三步,如此循環多次,直到需要分析使雙方滿意為止。
三 需求獲取的重點
在對具體業務進行調研時需把握的重點有以下幾個:
(1) 平均頻度
業務發生的頻繁程度,即在單位時間(分鐘,天,月,旬,年等)內發生的次數,這個數字可以是一個平均值或統計值。頻度越高,數據量越大,對響應時間、易操作性等要求就越高,在數據存儲時對大頻度的業務或單據也要進行充分的考慮。
(2) 高峰期的頻度
必須保證系統在高峰期的響應時間, 對系統進行測試時要模擬高峰期的業務頻度。
(3) 單據上有哪些數據?每項數據的精度?計算生成方法?取值范圍或限定?
單據上的內容也即單據的屬性,它是進行數據結構設計的最基本的依據,數據的精度是定義數據庫中字段長度的依據,計算生成方法是設計算法的依據,取值范圍與計算生成方法是數據完整性檢測的依據。
(4) 生成每張單據或報表的時間
減輕人員的工作量是采用新系統的一個目的,花費時間最多,處理方法最復雜的地方往往是系統最關鍵的地方,也是用戶將來驗收時最關心的地方。實際上有很多報表由于工作量相當大,用戶沒有足夠的人力與時間來進行處理,這時他便想到了計算機。
(5) 單據或報表的來源,單據聯數,每聯用途,送交單位,送交時間
對來源與去向的追蹤可以調查出各個業務,各個單據,各個報表, 各個部門之間的聯系。
(6) 有哪些特殊情況? 在某個作業環節出錯時通過何種途徑進行彌補?
對于特殊情況的處理,體現了系統靈活性,但這其中也隱含著安全危機。用戶領域中有很多"合理但不合法,不合理也不合法"的特殊情況,它們出現的機會比較少, 用戶往往在調研時遺漏這些問題,需要調研人員挖掘出來,這些特殊情況有時是系統必須處理的。
當在某個作業環節用戶出現失誤時,手工系統有的采用正規的手續進行糾錯,有的則相當隨便,這些情況出現的概率也很小,但分析員可采用窮舉的方法, 假定在每一個環節都出現失誤,逐個環節詢問用戶的處理方法,防止遺漏。這些細節如果不調研清楚,往往會對系統產生深遠的影響。
(7) 將來有何變化?
將來用戶需求的變化是很正常的現象,如果僅僅著眼于現在,而不對將來有所考慮,系統的壽命便不會長久,對用戶的投資是一種浪費,同時也會給開發商增加一些麻煩,故此要"防患于未然",將以后可能的變化考慮在內。
四 需求整理與表達的方法
采用窮舉、歸納、抽象等方法。采用窮舉的方法可以避免遺漏, 可通過列出各種情況的排列組合達到窮舉的目地。采用歸納的方法可以使問題更加條理化, 可通過對各種情況進行綜合分類達到歸納的目地。采用抽象的方法,可以發現問題的實質,抓住問題的主要矛盾,忽略其次要矛盾。
在整理時可以多種手段共用,如組織結構圖、業務流程圖、多叉樹、關系矩陣、文字敘述( 對其他描述手段的一種補充)、表格(單據調查表,帳本調查表,業務調查表,報表調查表等)、圖形等多種手段。
對與需求的描述可以從六方面來描述:
組織結構與崗位定義 業務流程 處理規則 數據項 功能 以及上述5個方面的關系五 需求獲取過程中的注意事項
原文轉自:http://www.anti-gravitydesign.com