人數

2010年6月29日 星期二

系統分析與設計王堯天第5章 需求分析

第5章 需求分析


1.需求分析在系統開發的過程中究竟是扮演何種角色? 需求分析的重要性為何?
【參考答案】:
系統分析在資訊系統開發過程的角色與範疇如圖一所示,對需求分析活動而言,輸入是系統改進目標,產出是企業需求陳述據以提供系統設計的用途。換言之,需求分析是扮演將一個將使用者的需求轉換為設計需求資料的中介者角色。基本上,需求分析是針對使用者的需求進行深度化的分析,其主要的工作項目如下:
(1) 定義需求。
(2) 功能分析。
(3) 追蹤完成需求。
(4) 需求優先次序安排。
(5) 更新專案計畫。
需求分析是進行系統分析過程最重要的步驟之一,亦是決定資訊系統的範疇、系統功能、資源需求與設計的關鍵時機,因此,需求分析的優劣與否直接影響整體資訊系統的品質,因此,它被列為系統分析首要的工作項目。經由需求分析才能夠充分了解使用者的真正需求,需求分析對資訊系統品質具有相當程度的影響,不正確的需求分析經常造成軟體不斷的修改,資訊系統品質不可靠的結果,導致軟體執行時,經常發生錯誤結果或是執行中斷的情形,嚴重時可能延誤交期,甚至對後續軟體的維護作業具有極為不利的影響,即使系統正式作業以後,資訊系統之維護成本或加強的成本亦是超乎預期的高,不正確需求分析將造成額外成本之增加。

2.請問功能性需求與非功能性需求的差異點何在?
【參考答案】:
所謂「功能性需求」(Functional Requirements )是指:「系統在執行過程所提供的功能。」例如一個採購資訊系統須提供採購單的建檔、歷史採購單價的查詢、供應商的供應記錄統計表、採購單的進度追蹤、自動訂購作業等。
其次,所謂「非功能性需求」(Non-functional Requirements)是指:「非功能需求是指描述一些提出系統有關系統之特性、屬性的一些限制條件。」其主要是涵蓋績效、資訊、經濟性、控制、效率與服務等(表一)。其中兩者最大差異是資訊系統的基本功能需求,若屬於例行性業務需求的功能則列入功能需求,反之,即屬於非功能性需求。
表一:非功能需求的類型非功能性需求 主要的項目
績效 績效需求是指一個系統須具備滿足使用者需求的績效
•何者是可接受的產出率
•何者是可接受的反應時間
資訊 資訊需求是只對使用者而言所需之內容、即時性、準確性、格式等
•何者是必要的輸入與輸出
•何者是必要儲存的資料
•資訊要求的即時性
•何者是與外界系統相連接的介面
經濟性 經濟需求是指一個系統可以降低成本或增加利潤的需求
•系統可降低成本的地方?
•成本降低幅度或利潤增加的大小?
•預算的限制是多少?
•發展時程表為何?
控制 控求是指一個系統對於環境的控制需求•對於系統或資訊的擷取(access)之控制
•隱私性需求為何?
•對於一些特殊處理需求的資料重要性
效率 經濟需求是指一個系統以最少的浪費產生輸出的能力•在流程中是否有重複的步驟必須加以消除?
•是否有減少資源的浪費之方法?
服務 服務需求是指一個系統對於提供需求滿足之可靠度、彈性、可擴充性。•誰是使用者及需求的地點為何?
•是否有不同性質的使用者?
•哪些是適合之人性因素?
•系統之訓練設備與訓練教材為何?
•哪些訓練設備與訓練教材需要開發與維護
•是否有哪些可靠與可用之需求?
•系統應如何包裝與分配?
•需要哪些文件?
資料來源: Whitten et al., 2005。

3.需求分析的主要工作項目為何?
【參考答案】:
所謂「需求分析」(Requirements Analysis)是指﹕「系統分析師用來確認或淬取系統問題與使用者需求之解答的一種技術」,其中,問題分析是指確認、了解問題之因果關係與限制的一種活動,而使用者需求是指﹕「對於一個資訊系統的需求描述與期望」。因此,需求分析必須詳細規範資訊系統之功能(Functions)、特性(Features)、屬性(Attributes) 與限制(Constraints)等。
圖二是需求分析的工作內容,從界定系統範圍、確認使用者需求、進行系統需求分析工作,直到制定軟體需求規格,需求的改變、控制與追蹤等為止,它涵蓋下列主要工作項目:(Wiegers, 1999;Kramer et al., 1988)
(一)需求發現
所謂「需求發現」(Requirements Discovery)是指:「如何將使用者需求的功能轉換成使用者的需求規格的一種過程。它的工作項目包括:如何確認需求、資訊系統可能遭遇的問題、如何解決問題、或是發掘使用者存在於腦海中不易表達的一些需求等。」因此,需求發現主要是涵蓋需求誘導、分析、規格化與驗證等。通常,從事於系統分析工作者須透過有效的溝通的程序,例如訪談、蒐集制度、表單與報表等資料、觀察、問卷調查等方式,取得使用者真正有用的需求。
(二)需求表達
其次,需求表達(Requirements Representation)的工作是:「將系統的需求利用文件予以表達出來。」一般而言,資訊方面的需求有不同層次的區分,以企業的觀點來說,如何有效的達成企業的總體目標與經營績效,提昇企業之競爭優勢為整體企業層次的需求,但是以使用者的觀點而言,如何處理平日的業務提昇工作效率以及滿足使用者需求的功能,乃是作業層次的需求,如何兼顧各種層次的需求即為需求分析工作的一項重要課題。
(三)需求管理與維護
至於需求分析的另一項工作是需求管理與維護(Requirements Management and Maintenances),需求管理與維護的工作內容是﹕「針對需求的資訊作有系統的規劃、記錄、分類、建檔與維護。」由於需求的來源十分繁瑣與多元化,使用者的需求又不斷的修正與改變,若不實施需求管理可能發生需求資料欠缺、重複與彼此互相矛盾的現象,直接影響需求分析作業的效率與品質。需求管理與維護的工作項目包括:定義基準線、需求變更檢討審查與評估、確認計劃與需求的一致性、改變需求的談判、追蹤需求的改變、更改的記錄與追蹤等,圖三是需求管理的工作項目,包括變更控制、版本控制、需求追蹤與需求狀控的追蹤,而作業標準化、制度化與資訊人員的重視是需求管理之成功關鍵性要素(Weigers, 1997)。

4.請舉一個實例說明需求分析的進行步驟。
【參考答案】:
建置一個電子商務網站的需求分析活動為例加以說明如下:
(一)確認需求
 系統目標客戶要求的規格、品質水準、交期或預算。
 資源限制人力、物料、設備、資金等。
 功能網頁瀏覽、資料查詢、網路購物、客戶抱怨處理、客戶諮詢服務等、資料庫管理等。
 介面需求使用者操作、系統控制、安全控管、美觀性等。
(二)蒐集需求相關資料
建置一個電子商務網站的需求包括:
 電子商務網站硬體需求電腦主機、備援主機、遠端拷貝電腦主機、工作站、周邊設施、安全保護與不斷電系統等。
 電子商務網站軟體需求 應用系統、中介軟體、操作系統、資料庫管理系統等。
 電子商務網站介面需求網頁畫面、功能表、人機介面設備、
 電子商務網站功能需求網頁瀏覽、資料查詢、網路購物、客戶抱怨處理、客戶諮詢服務等、資料庫管理、客戶關係管理等需求。
(三)正式進行需求分析
 環境分析分析產業環境、技術環境、政治與法律環境、社會環境分析。
 現況分析分析競爭者、供應商、銷售通路、售價、產品、營業額等。
 資源需求分析人力、物料、設備、資金需求分析。
 功能需求分析網頁瀏覽、資料查詢、網路購物、客戶抱怨處理、客戶諮詢服務等、資料庫管理、客戶關係管理等需求分析。
 品質需求分析效率、正確性、移植性、再用性、擴充性、驗證性、可靠性、安全性、彈性與維護性等。
 作業流程分析作業為基礎成本分析、附加價值分析、模擬分析等。
(四)需求分析資料彙總
 資料分類編號資料大分類、中分類與小分類。
 需求資料建檔需求資料存放目錄區、資料建檔。
 編輯資料目錄修正需求分析之相關資料。
 需求資料彙總各種需求分析資料的彙總。
(五)檢討與修正
 電子商務網站功能會員資料管理、留言板、網路購物、品質報怨處理、網頁瀏覽或資料查詢等。
 電子商務需求分析過程的問題分析與檢討技術、成本、。
(六)需求資料的維護與管理
 需求文件的維護與管理建置電子商務網站需求文件之更新與管理。
 技術文件的維護與管理技術文件例如手冊、電子檔的之更新與管理。
 雛型建立、維護與管理 雛型系統的建立、維護與管理。

5.請說明需求分析的方法論的應用程序,運用該方法論的優點何在?
【參考答案】:
一個整合性需求分析方論之應用程序,它主要有七個實施步驟(圖四),從決定需求、現狀分析、差異分析、整體分析、細部分析、雛型製作、評估與修正,一直到製作需求規格與簡報為止。實施整合性需求分析方論的第一個步驟是決定需求,主要是將使用者的需求以具體量化數據、透明化與公開化的方式呈現出來,因此,必須定義需求類型與內涵,並依據需求之重要性與必要程度決定滿足需求之優先順序。步驟二是現狀分析,主要是分析現狀例如目前的問題、功能、人力、資源分配情形,建議利用腦力激盪法或品質管理七大工具(例如直方圖、要因分析圖、管制圖、…等)分析現狀的問題,做為深入分析發生的原因及解決問題的依據。步驟三是差異分析,主要是進行度量工作並測量現狀與目標需求之差異,排定滿足需求之優先性。步驟四是整體分析,主要是決定系統架構、功能、資源需求、品質、績效與成本等。步驟四是細部分析,主要是決定系統細部結構、模組、運作機制、介面、資料庫或處理程序等。步驟五是雛型製作,主要是製作一個雛型檢驗與測試構思的需求是否滿足使用者需求,避免失敗的風險以及後續爭議事件之發生(Kramer et al., 1998)。步驟六是評估與修正,主要是針對使用需求與需求規格進行評估,如有必要時可以進行需求之修正工作。步驟七是製作需求規格與簡報,主要工作是完成需求規格的製作、向高階主管簡報、請使用單位確認,做為後續資訊系統開發之依據。如上所云,需求分析是一個重複式的進行程序,需求演化(Evolution)的情形是一直是重複的發生,因此,需求分析必須經過一段時間的醞釀,彼此互相溝通、妥協、談判與學習過程,才能達到一個使用者滿意的需求分析的結果。
此一方法論的最大特色是整體性的構思、系統化的實施過程、細部需求規範與不斷的修正,使需求分析工作達到高水準的境界。茲將此一方法論之優點敘述如下:(1)以系統化的方式完成需求分析工作,(2)適用於各種資訊系統特性進行需求分析工作,具有良好的泛用性,(3)利用雛型來驗證需求是否滿足使用者需求以確保達成使用者需求之達成,使需求分析結果具有良好的品質水準,(4)採取漸進的方式來完成需求分析工作,使風險降低至最低程度而且具有良好的彈性。

6.請比較一些主要的需求分析方法並說明適用對象。
【參考答案】:
決定使用者需求之主要方法
需求分析方法 適合對象與
時機 工作重點項目 重點原則 輔助工具 產出文件
現行文件審查 •建立制度化
•流程分析 •資料過濾
•分類與建檔 •分類
•標準化 •影印設備
•攝影器材 •表格與文件
訪談 •深入問題核心 •與使用者互動 •建立人際關係網路 •面談前之準備表格 •面談紀錄
觀察 •實際現象分析 •欲了解細部運作情形 •觀察方法 •觀察記錄 •觀察紀錄
問卷 •簡單與標準化問題
•蒐集資料範圍廣泛 •問卷題目設計 •問卷統計與分析 •統計軟體 •問卷統計分析表
電話訪談 •簡單與標準化問題 •電話訪談技巧
•電話訪談記錄 •秉持誠懇態度
•從對方立場出發 •錄音機
•電話訪談記錄
聯合需求分析法 •大型且複雜資訊系統
•須多人參予
•長期使用MIS •會議召開
•重點
•公開化與透明化 •群體決策支援系統 •聯合需求分析會議記錄
雛型法 •小型資訊系統
•系統的需求不確定 •系統塑模 •漸近式需求之蒐集工作 •雛型工具 •建立雛型軟體系統
資料庫分析法 •分析現有資訊系統 •資料庫內容分析 •主要資料庫分析 •反向工程軟體 •資料庫結構

7.請問需求分析過程中,經常遭遇的問題為何?請問如何解決上述的問題?
【參考答案】:
根據Hsia et al.(1993)的研究,需求分析的過程中經常存在下列問題﹕(1)不易發掘使用者之需求,(2)使用者的需求不斷的改變,(3)採用不當的需求分析方法,(4)過度倚賴需求分析工具,(5)需求分析的專業訓練不足,(6)需求分析的時程過緊,(7)需求分析人員缺乏自信心,(8)使用者與系統分析師之間溝通的障礙,與(9)需求不一致性(Lamsweerde et al., 1995)等。
為了解決上述諸多問題,在需求分析的初步階段,首先須特別重視使用者的問題點與需求內容,敏銳的觀察力、問題的意識、存懷疑之心、大破沙鍋問到底、不斷的詢問等皆是相當重要的工作需求(Guida and Lamperti, 2000),其次是針對使用者的需求進行分析,從問題點切入與進行創意思考活動,據以發現一些潛在需求的具體做法包括:蒐集完整的資訊、進行較長時間的觀察活動、凡是屬於一些重要的需求,須經過統計分析的程序或是利用雛型法加以驗證(Luqi, 1989)或徵求不同主管的意見做詳細的驗證工作。因此,需求分析的過程建議利用科學方法進行比較、歸納、分析與綜合的活動以確保資訊的正確性與有用性。基於上述需求,建議進行需求分析時,採取下列的改進措施﹕
(一) 溝通方面﹕系統分析師平時必須加強與使用者的人際關係與建立良好的溝通管道。
(二) 技術方面﹕採用一套完整的需求分析方法論的步驟,建立一套完整的需求文件資料庫,作為需求演化之追蹤與控制的依據。
(三) 需求表達方面﹕儘可能採用自然語言表示資訊系統的需求或是予以視覺化強化需求之表達。
(四) 教育訓練方面﹕儘可能模擬與使用者訪談的情境,並加強需求分析的能力之訓練。
(五) 輔助工具方面﹕建立系統需求資料庫,並利用一些智慧型輔助工具例如詞彙或文法檢查器、以知識為基礎之檢查器、事件追蹤器、模擬器或是模式檢查器等(Robinson and Pawlowski, 1999),紀錄、偵測、追蹤、分析或是學習一些衝突或矛盾的需求作為系統需求分析控制與修正的依據。

沒有留言: