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