第3章 需求分析及功能建模方法
3.1 需求分析概述
3.1.1 需求分析概念
1、 所謂需求分折:就是對待開發的系統要做什么,完成什么功能的全面描述。
2、 需求分析的工作:通過對需求的調查、了解、觀察和分析,通過對原始數據的收集、分類和抽象,并采用有效的技術、工具,對原始資料進行加工整理,描述開發目標、實現的功能及其相互關系等活動的集合;
3、 需求的定義:客戶對一個待開發的系統在實現目標、完成功能、應達到的性能、安全性、可靠性等方面的期望和要求的集合;
4、 需求獲取的困難:
(1) 軟件功能復雜;
(2) 需求的可變性;
5、 需求分析階段的主要任務:分析當前的業務流程,包括體系結構,各職能部門完成的主要任務、關系及其交流的信息。
6、 需求分析的結果通常以模型等建模工具和方法描述系統的信息流、功能結構及完成各功能需要的數據。
7、 功能模型和軟件需求規格說明書是軟件開發的依據,將指導后續的開發工作。
8、 需求分析工作是系統分析員與用戶不斷交互的過程中完成的。
3.1.2 系統分析員的職能
1、 系統分析員的主要要任務:是確定應用信息系統及軟件產品應該達到的各項功能性要求和非功能性要求,即用戶要做什么。
2、 系統分析員應該具備的素質:
(1) 獲取需求的能力;
(2) 管理及溝通能力;
(3) 技術素養;
3.1.3 需求獲取的方法
常用的幾種獲取需求的方法:(1)面談;(2)實地觀察;(3)問卷調查;(4)查閱資源;
3.1.4 需求分析過程
1、 標識問題:
(1) 需求分析的第一步,通過對問題的識別和標識獲得所求解問題及其運行環境的理解;
(2) 標識問題從現行系統的業務流程做起,理解現行系統的業務流程;
(3) 在標識理解需求的同時,還要注意確定系統的人機界面;
2、建立需求模型:
(1) 模型是對現實原形所作的一種抽象,其本質是只關心與研究內容有關的因素,而忽略無關的因素,其目的是把復雜的事物變得簡單,便于認識和分析;
(2) 目前常用的模型方法主要有DFD數據流圖和IDEFO,都屬于結構化分析方法,其特征是抽象和分解;
(3) 首先對應用領域進行全面的分析,發現并找出同類事物的本質,用抽象方法把這類事物的非主要方面剔除,把握住事物的內部規律或本質,就可以找到解決辦法;然后采用自上而下逐步求精的方法對復雜的問題進行分解;
(4) 結構化分析及建模方法的主要優點:
(A) 不過早陷入具體的細節;
(B) 從整體或宏觀入手分析問題;
(C) 通過圖形化的模型對象直觀地表示系統要做什么,完成什么功能;
(D) 圖形化建模方法方便系統分析員理解和描述系統;
(E) 模型對象不涉及太多的技術術語,便于用戶理解;
3、描述需求:
(1) 需求描述的目標:對軟件項目功能性和非功能性的需求全面描述;
(2) 功能性需求:指需要計算機實際解決的問題或實現的具體功能,明確描述系統必須做什么,實現什么功能以及輸入輸出等;
(3) 非功能性需求:軟件項目對實際運行環境的要求;
(4) 需求描述主要由需求模型和需求說明書組成,說明書側重文字說明,內容如下:需求概述;功能需求;信息需求;性能需求;環境需求;其他需求;
(5) 在對需求進行分析過程中,系統分析員要經?紤]的問題:
(A) 描述的需求是完全的嗎?
(B) 需求描述是正確的和一致的嗎?
(C) 描述的這些需求是可行的、實際可操作的嗎?
(D) 描述中的每一條需求都是客戶需要的嗎?
4、確認需求:
1、 評審委員會審核下列內容:功能需求;數據需求;性能;數據管理;其他需求。
3.2 DFD建模方法
3.2.1 DFD方法的基本對象
1、 數據流:具有名字且有流向的數據,用標有名字的箭頭表示。
2、 處理:表示對數據的加工和變換,在圖中用矩形框表示。
3、 數據存儲:表示用數據庫形式存儲的數據,對其存取分別以指向或離開數據存儲的箭頭表示;
4、 數據源及數據終點:表示當前系統的數據來源和去向,其圖形符號以平行四邊形表示。
3.2.2 開發DFD圖
1、 DFD圖采用自頂而下逐步細化的結構化分析方法表示目標系統;
2、 DFD方法應以軟件項目的功能為中心進行抽象和分解,以數據流的變換來分析數據對企業中各類業務活動的影響;
3.2.4 數據字典
1、 數據字典包括以下說明信息:
(1) 源點及終點詞條描述;
(2) 數據流詞條描述;
(3) 數據存儲;
(4) 處理描述;
(5) 數據元素詞條描述。
3.3 IDEF0建模方法
3.3.1 概述
1、 IDEF0的基本思想是結構化分析方法,強調自頂而下有控制地逐步地展開細節,全面地描述系統,且通過建模來理解一個系統。一個模型由圖形文字說明、詞匯表及相互的交叉引用表組成。
2、 IDEF方法的優點:具有模型元素單一、語義豐富、更易于從全局角度分析考察問題,模型容易理解。
3.3.2 IDEF0方法
1、基本元素
(1) 矩形:代表活動,活動名稱標在矩形內,活動編號按要求標在矩形框右下角指定位置;
(2) 箭頭:左邊的輸入箭頭代表完成活動需要的數據、上方的控制箭頭描述了影響活動的執行的事件或約束、右邊的輸出箭頭說明由活動產生的結果及信息、下方進入的機制箭頭表示實施該活動的物理手段或資源。
(3) 輸入輸出箭頭描述活動是什么(what)、控制箭頭描述為何這么做(why)、機制箭頭表示如何做(how)。
2、IDEF0模型
(1) 一個IDEF0模型由一組圖形組成,這些圖形組成一個由父到子的層次結構圖,這組圖形把一個復雜事物按自頂向下逐步細化的方式分解成一個個簡單的或多個組成部分;
3、 建模規則
(1) 矩形框:用動詞為矩形內活動命名,每個矩形要至少有一個控制箭頭和輸出箭頭,可以沒有輸入,但不可以同時沒有輸入和控制。
(2) 箭頭:箭頭代表數據約束,而不是代表流或順序;
(3) 其他:
(A) ICOM碼:只有一端與矩形相連的箭頭叫邊界箭頭,這些箭頭表示父矩形框的輸入、控制和輸出。IDEF0用專門的記號ICOM碼來說明父子圖中的箭頭關系。子圖中每個邊界箭頭的開端分別用字母I、C、O、M來標明是輸入、控制、輸出及機制,再用一個數字表示其在父矩形框中箭頭的相對位置。
(B) 結點號:IDEF0模型是一組有一定層次結構的圖形,通常用結點號來標志圖形或矩形框在層次圖中的位置;
(C) 模型名:每個模型有一個名字,通常用名字代表主題,用子名字表示不同的模型;久峙c子名字間用“/”隔開,如A/B/C,A是主題、B是模型號、C是結點號。
3.3.3 建模過程及步驟
1、 IDEF0建模過程及步驟:
(1) 明確目的,確定范圍:在建模前首先要明確目的和意圖,確定問題域;
(2) 建立內外關系圖A-0圖:根據系統目標、功能建立內外關系圖A-0圖,以確定整個模型的內外關系,確定系統的邊界;
(3) 構造頂層圖:把A-0圖分解成3~6個主要部分得到A0圖,A0圖是模型真正的頂層圖;
(4) 開發IDEF0層次結構圖:對A0圖中的每個矩形框進行分解,就形成了基本的圖形層次結構。在分解時要列出所有的數據項和活動表,分解的次序采用以下原則:
(A) 保持在同一水平上進行分解,均勻的模型深度;
(B) 按困難程序進行選擇;
(5) 寫文字說明;
(6) 檢查確認圖形;
3.4 DFD與IDEF0的比較
1、 DFD與IDEF0共同點:都是結構化分析思想,強調自頂而下逐步求精的方法對現實世界建模,先抓住主要的問題,形成較高層次的抽象,再由粗到細、由表及里地逐步細化,將一個大問題分解成幾個小問題,對這小問題再進行分析求解;
2、 DFD與IDEF0區別:
(1) DFD圖用箭頭(數據流)來描述數據移動的方向、數據處理及處理之間的數據依賴關系。IDEF0圖也用箭頭代表數據流,但在IDEF0中不是強調流或順序,而是強調數據約束。
(2) 從表達形式上看,DFD圖與IDEF0圖都是用箭頭和處理表達一個企業或組織的業務流程。但IDEF0圖的箭頭不僅能夠表示數據流,還可以表示控制流和說明處理或實施方式的一些約束;
(3) 從模型元素的組成上來看,DFD模型由4種元素組成,即外部頂、數據流、數據存儲和處理。而IDEF0模型元素的組成更加簡單,只有2種元素組成,即箭頭和活動;
(4) 從模型規范上來講,IDEF方法更加規范;
IDEF0模型結構清楚,便于理解和溝通。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |