需求分析的概念
前言
軟體開發的成功要素在於能夠充分了解需求,否則無論多麼好的系統設計或是多麼強的程式設計能力,都無法彌補因需求不夠明確對整體系統開發所造成的危害。
需求分析是一連串的處理過程,處理的精神在於找出使用者的需求,經過萃煉,將需求﹝資料的、功能的以及行為的需求﹞模式化,最後產出乙份需求規格。在過程中,系統開發者扮演的角色,是利用高度的溝通技巧,採各種不同的詢問角度﹝肯定句、疑問句或不斷地重複﹞,將可能是被誤解或是模糊不清的訊息一一加以澄清。由以上對需求分析的定義,衍生出軟體需求分析的五大主要部份,分別為問題的認知、問題的評估及綜合、模式化的過程、需求規格的產生及需求規格的審查。
問題的認知
:需求範圍的產生是來自於專案計畫中所定義的系統規格,系統開發人員﹝即系統分析師﹞必須對專案計畫有充分的了解,為促成系統分析師與使用者之間對系統開發基本問題的共識,可以透過召開專案計畫會議,邀請系統影響所及的相關人員及主管參與,針對系統的目標及效益及系統分析師所提出專案中可能的解決方案充分討論及協調,了解每個人在專案進行中所扮演的角色,凝聚雙方對專案成功的共識。
問題的評估及綜合
:系統分析師在這部分的工作著重於必須清楚地定義所有可觀察到的資料主體,評估資訊的流向及資訊的內容,定義及演化出應有的系統功能,了解系統如何因外來事件的觸發而有的正常響應,進而建立系統之間的介面,並能發掘一些未來系統設計的限制。在評估現有的問題及必須的輸入及輸出的訊息,系統分析師在整理這些相關的資料過程中,已慢慢釐出未來被建置的系統應有的功能架構。
模式化的過程
:主要在描述使用者需要些什麼、當系統完成時能驗證這些需求是否被滿足。系統分析師透過一些系統化的方法,創造出能被系統設計人員充分了解的有關資料流向、控制流向、功能處理、系統行為運作及資料內容的模式,利用這些模式產生的軟體需求規格做為進一步系統設計的基礎。模式化的核心,有賴於定義一致的資料辭典來包含軟體開發中所需的所有資料體的描述,藉由資料辭典做為需求分析溝通的共同語言。而模式化可分為三方面,一是資料模式,二是功能模式,三是行為模式。常用來表示這三方面的分析模式有
erd(entity relationship diagram)
,dfd(data flow diagram)
,cfd(controflow diagram)
,std(state transition diagram)...
等,系統分析的模式必須達成三個主要的目標
: (1)
描述使用者的需求,
(2)建立基本的軟體設計環境,
(3)定義軟體設計完成後驗證需求的方法。
圖一結構化分析模式
資料字典位於圖一的核心
-存放所有輸入及輸出資料物件的敘述。圍繞於圖一核心的三種圖表其中的實體關係圖
(entity-relationship diagram
,erd)
,為描述資料物件之間的關係。
erd同時也用來表示資料模組之間的運作方式。資料物件敘述
(data object description)
說明erd
中資料物件的屬性。
資料流程圖
(data flow diagram
,dfd)
主要有二種目的
: (1)
顯示資料在系統中的流向,
(2)描述處理資料流的功能專案。
dfd在資訊範圍的分析過程中可提供附加資訊並可將其當做是基本的功能模式。在
dfd中每乙個功能的敘述是在功能規格
(process specification
,pspec)
中完成。
狀態轉換圖
(state transition diagram
,std)
顯示系統對外部事件作何種反應。為此,
std顯示系統不同的行為狀態及狀態與狀態間轉換的不同方式。也可把
std當做是基本的行為模式。控制規格
(control specification
,cspec)
則包括軟體控制觀點的其他相關資訊。這些模式分析的產出最終的目的在於讓需求分析的結果愈趨近於可被建置的系統。
需求規格的產生:系統分析師將需求以一種能被成功建置的方式展現給系統開發人員及使用者,透過需求規格的產生,將系統分析師對使用者需求的認知轉化成可閱讀及可被了解的檔案,作為雙方對談及後續開發的基礎,需求規格的可讀性與系統分析師的檔案表達能力有強烈的正相關。基本的需求規格架構涵蓋:
需求規格的審查:應由系統分析師及使用者一起進行需求規格的審查,從巨集觀及微觀的角度來檢視規格書的內容。從巨集觀的角度應確認規格的完整性,一致性及正確性。從微觀的角度應審視規格書中的用字遣詞,是否有尚未發現的潛在問題存在。一旦審查完成,規格書即被雙方簽名確認,雖不排除在規格被確認後仍有需求變更的可能,但須讓使用者了解,每一需求的變更形同軟體範圍的擴張且將導致專案時程的延長及成本的增加,其所帶來的影響是難以預估的。在需求規格確認後,系統開發人員則依據此規格書進行後續系統設計的工作。
需求分析的概念
需求分析的概念 前言 軟體開發的成功要素在於能夠充分了解需求,否則無論多麼好的系統設計或是多麼強的程式設計能力,都無法彌補因需求不夠明確對整體系統開發所造成的危害。需求分析是一連串的處理過程,處理的精神在於找出使用者的需求,經過萃煉,將需求 資料的 功能的以及行為的需求 模式化,最後產出乙份需求規格...
需求分析的介面需求 需求分析
本篇不是為業務分析人員寫的,不會細緻講解需求分析的方方面面,業務分析師可以看徐鋒的 軟體需求最佳實踐 或者王海鵬翻譯的 掌握需求過程 本篇立足於架構師視角,講解需求分析過程中應了解的過程和方法,以及需要特別關注的點。開發者拿到的往往是乙個個的方案,方案來自於需求,那麼開發者拿到的需求是怎麼來的?乙個...
需求分析,分析需求
1.何為需求 我們吧需求兩個漢字拆分開來看 需 需要 求 要求 即需要的要求,表示想要某種東西的堅定願望 這裡插入乙個小故事,某個小男孩在上小學二年級的時候,不經意間接觸到了一種叫psp的神奇玩具,就下定決心回家找家長要,一開始小孩的父親不贊同給小孩買那個東西,後來在小孩的再三請求,甚至為此寫了份保...