




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章 軟件需求獲取與結(jié)構(gòu)化分析方法 需求獲取與需求分析階段的任務(wù)需求獲取與需求分析階段的任務(wù) 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法 系統(tǒng)需求規(guī)格說明系統(tǒng)需求規(guī)格說明 需求評審需求評審 需求管理需求管理3.1 需求獲取與需求分析階段的任務(wù) 需求獲取的任務(wù)和原則需求獲取的任務(wù)和原則 需求獲取的過程需求獲取的過程 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)需求獲取的任務(wù)和原則需求獲取的任務(wù)和原則 需求獲取的主要任務(wù)是與客戶或用戶需求獲取的主要任務(wù)是與客戶或用戶溝通溝通,了解,了解系統(tǒng)或產(chǎn)品的目標(biāo)是什么?客戶或用戶想要實(shí)現(xiàn)系統(tǒng)或產(chǎn)品的目標(biāo)是什么?客戶或用戶想要實(shí)現(xiàn)什么?系統(tǒng)和產(chǎn)品如何滿足業(yè)務(wù)的要求,最終系
2、什么?系統(tǒng)和產(chǎn)品如何滿足業(yè)務(wù)的要求,最終系統(tǒng)或產(chǎn)品如何用于日常工作?統(tǒng)或產(chǎn)品如何用于日常工作? 獲取并理解用戶的需求是軟件工程師所面對的獲取并理解用戶的需求是軟件工程師所面對的最最困難困難的任務(wù)之一的任務(wù)之一。 需求獲取的任務(wù)和原則需求獲取的任務(wù)和原則 導(dǎo)出需求變得如此困難的原因歸為以下幾導(dǎo)出需求變得如此困難的原因歸為以下幾個(gè)方面的問題:個(gè)方面的問題:系統(tǒng)的目標(biāo)或范圍問題;系統(tǒng)的目標(biāo)或范圍問題;需求不準(zhǔn)確性問題需求不準(zhǔn)確性問題 ;需求的易變問題需求的易變問題 ; 需求獲取除了需要有專業(yè)的系統(tǒng)分析師,還需要需求獲取除了需要有專業(yè)的系統(tǒng)分析師,還需要通過有效的通過有效的客戶開發(fā)者的合作客戶開發(fā)者的
3、合作才能成功。才能成功。 需求獲取的任務(wù)和原則需求獲取的任務(wù)和原則1. 需求獲取的任務(wù)需求獲取的任務(wù)(1) (1) 發(fā)現(xiàn)和分析問題發(fā)現(xiàn)和分析問題,并分析問題的原因,并分析問題的原因/ /結(jié)果關(guān)結(jié)果關(guān)系。系。(2) (2) 與用戶進(jìn)行各種方式的交流,并使用調(diào)查研究與用戶進(jìn)行各種方式的交流,并使用調(diào)查研究方法方法收集信息收集信息。(3) (3) 按照三個(gè)成分觀察問題的不同側(cè)面:即按照三個(gè)成分觀察問題的不同側(cè)面:即數(shù)據(jù)、數(shù)據(jù)、過程和接口過程和接口。(4) (4) 將獲取的需求將獲取的需求文檔化文檔化,形式有,形式有用例、決策表、用例、決策表、需求表需求表等。等。需求獲取的任務(wù)和原則需求獲取的任務(wù)和原
4、則2. 需求獲取應(yīng)遵循的原則需求獲取應(yīng)遵循的原則(1) (1) 深入淺出的原則深入淺出的原則。就是說,需求獲取要盡可能。就是說,需求獲取要盡可能全面、細(xì)致。獲取的全面、細(xì)致。獲取的需求是個(gè)全集需求是個(gè)全集,目標(biāo)系統(tǒng)真,目標(biāo)系統(tǒng)真正正實(shí)現(xiàn)的是個(gè)子集實(shí)現(xiàn)的是個(gè)子集。(2) (2) 以流程為主線的原則以流程為主線的原則。在與用戶交流的過程中,。在與用戶交流的過程中,應(yīng)該應(yīng)該用流程將所有的內(nèi)容串起來用流程將所有的內(nèi)容串起來。如信息、組織。如信息、組織結(jié)構(gòu)、處理規(guī)則等。這樣便于交流溝通。流程的結(jié)構(gòu)、處理規(guī)則等。這樣便于交流溝通。流程的描述既有宏觀描述,也有微觀描述。描述既有宏觀描述,也有微觀描述。軟件需
5、求分析階段的任務(wù)軟件需求分析階段的任務(wù) 可以把軟件需求分析階段的工作分為可以把軟件需求分析階段的工作分為4 4個(gè)步驟,即個(gè)步驟,即獲取需求獲取需求、分析需求分析需求、定義需求定義需求和和驗(yàn)證需求驗(yàn)證需求,如,如圖所示。圖所示。 軟件需求分析階段的工作步驟軟件需求分析階段的工作步驟 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)1. 需求獲取需求獲取 通過啟發(fā)、引導(dǎo)從客戶(或用戶)那里得到的原始通過啟發(fā)、引導(dǎo)從客戶(或用戶)那里得到的原始需求是他們的業(yè)務(wù)要求(需求是他們的業(yè)務(wù)要求(needs),簡稱為),簡稱為N。 這是分析之前獲取的需求,其中可能存在一些實(shí)際這是分析之前獲取的需求,其中可能存在一
6、些實(shí)際問題,這些問題只有通過分析才能得到解決,直接問題,這些問題只有通過分析才能得到解決,直接把獲取的需求作為軟件設(shè)計(jì)階段的依據(jù)將會導(dǎo)致嚴(yán)把獲取的需求作為軟件設(shè)計(jì)階段的依據(jù)將會導(dǎo)致嚴(yán)重的后果。重的后果。 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)2. 需求分析需求分析 認(rèn)真研究獲取的需求,必須考慮以下幾方面:認(rèn)真研究獲取的需求,必須考慮以下幾方面: (1) 完整性完整性:每項(xiàng)獲取的需求都應(yīng)給出清楚的描述,:每項(xiàng)獲取的需求都應(yīng)給出清楚的描述,使得軟件開發(fā)工作能夠取得設(shè)計(jì)和實(shí)現(xiàn)該功能所使得軟件開發(fā)工作能夠取得設(shè)計(jì)和實(shí)現(xiàn)該功能所需要的全部必要信息。需要的全部必要信息。 (2) 正確性正確性:獲取的
7、每項(xiàng)需求必須是準(zhǔn)確無誤的,:獲取的每項(xiàng)需求必須是準(zhǔn)確無誤的,并且需求描述無歧義性。并且需求描述無歧義性。 (3) 合理性合理性:各項(xiàng)需求之間、軟件需求與系統(tǒng)需求:各項(xiàng)需求之間、軟件需求與系統(tǒng)需求之間應(yīng)是協(xié)調(diào)一致的,不應(yīng)存在矛盾和沖突。之間應(yīng)是協(xié)調(diào)一致的,不應(yīng)存在矛盾和沖突。 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)2. 需求分析需求分析 (4) 可行性可行性:包括技術(shù)可行性:包括技術(shù)可行性 、經(jīng)濟(jì)可行性、經(jīng)濟(jì)可行性 、社、社會可行性會可行性 。 (5) 充分性充分性:獲取的需求是否全面、周到。:獲取的需求是否全面、周到。 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)2. 需求分析需求分析
8、由于分析的過程會對獲取的需求做部分調(diào)整,也即由于分析的過程會對獲取的需求做部分調(diào)整,也即從獲取的需求從獲取的需求N中去掉了一些中去掉了一些a,又補(bǔ)充了一些,又補(bǔ)充了一些c,從而得到的是分析的需求從而得到的是分析的需求R1(b+c)。)。 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)3. 需求定義需求定義 將已經(jīng)過分析的需求清晰、全面、系統(tǒng)、準(zhǔn)確地將已經(jīng)過分析的需求清晰、全面、系統(tǒng)、準(zhǔn)確地描述成為正式的文檔,這一步定義需求的工作就描述成為正式的文檔,這一步定義需求的工作就是編寫需求規(guī)格說明。是編寫需求規(guī)格說明。 軟件需求分析階段的任務(wù)軟件需求分析階段的任務(wù)4. 需求驗(yàn)證需求驗(yàn)證 為了確保已定義的
9、需求(需求規(guī)格說明)準(zhǔn)確無為了確保已定義的需求(需求規(guī)格說明)準(zhǔn)確無誤,并能為客戶(或用戶)理解和接受,需要對誤,并能為客戶(或用戶)理解和接受,需要對其進(jìn)行嚴(yán)格的評審。其進(jìn)行嚴(yán)格的評審。 需求獲取的過程需求獲取的過程1. 開發(fā)高層的業(yè)務(wù)模型開發(fā)高層的業(yè)務(wù)模型2. 定義項(xiàng)目范圍和高層需求定義項(xiàng)目范圍和高層需求3. 識別用戶類和用戶代表識別用戶類和用戶代表系統(tǒng)的不同用戶之間在很多方面存在差異,例如:系統(tǒng)的不同用戶之間在很多方面存在差異,例如:(1) (1) 使用產(chǎn)品的頻率;使用產(chǎn)品的頻率;(2) (2) 用戶在應(yīng)用領(lǐng)域的經(jīng)驗(yàn)和使用計(jì)算機(jī)系統(tǒng)的技用戶在應(yīng)用領(lǐng)域的經(jīng)驗(yàn)和使用計(jì)算機(jī)系統(tǒng)的技能;能;(3
10、) (3) 所用到的產(chǎn)品功能;所用到的產(chǎn)品功能;(4) (4) 為支持業(yè)務(wù)過程所進(jìn)行的工作;為支持業(yè)務(wù)過程所進(jìn)行的工作;(5) (5) 訪問權(quán)限和安全級別訪問權(quán)限和安全級別 需求獲取的過程需求獲取的過程4. 獲取具體的需求獲取具體的需求 確定了項(xiàng)目范圍和高層需求,并確定了用戶類及用戶代表確定了項(xiàng)目范圍和高層需求,并確定了用戶類及用戶代表后,就需要獲取更具體、完整和詳細(xì)的需求。具體需求的后,就需要獲取更具體、完整和詳細(xì)的需求。具體需求的來源可以來自以下幾種典型的來源可以來自以下幾種典型的途徑途徑。 (1) (1) 與用戶進(jìn)行交流。與用戶進(jìn)行交流。 (2) (2) 現(xiàn)有產(chǎn)品或競爭產(chǎn)品的描述文檔?,F(xiàn)
11、有產(chǎn)品或競爭產(chǎn)品的描述文檔。 (3) (3) 系統(tǒng)需求規(guī)格說明。系統(tǒng)需求規(guī)格說明。 (4) (4) 當(dāng)前系統(tǒng)的問題報(bào)告和改進(jìn)要求。當(dāng)前系統(tǒng)的問題報(bào)告和改進(jìn)要求。 (5) (5) 市場調(diào)查和用戶問卷調(diào)查。市場調(diào)查和用戶問卷調(diào)查。 (6) (6) 觀察用戶如何工作。觀察用戶如何工作。 需求獲取的過程需求獲取的過程5. 確定目標(biāo)系統(tǒng)的業(yè)務(wù)工作流確定目標(biāo)系統(tǒng)的業(yè)務(wù)工作流 具體到當(dāng)前待開發(fā)的應(yīng)用系統(tǒng),確定系統(tǒng)的業(yè)務(wù)工作流和具體到當(dāng)前待開發(fā)的應(yīng)用系統(tǒng),確定系統(tǒng)的業(yè)務(wù)工作流和主要的業(yè)務(wù)規(guī)則,采取需求調(diào)研的方法獲取所需的信息。主要的業(yè)務(wù)規(guī)則,采取需求調(diào)研的方法獲取所需的信息。例如,針對信息系統(tǒng)的需求調(diào)研方法如
12、下:例如,針對信息系統(tǒng)的需求調(diào)研方法如下: (1) (1) 調(diào)研用戶的組織結(jié)構(gòu)、崗位設(shè)置、職責(zé)定義,從功能調(diào)研用戶的組織結(jié)構(gòu)、崗位設(shè)置、職責(zé)定義,從功能上區(qū)分有多少個(gè)子系統(tǒng),劃分系統(tǒng)的大致范圍,明確系統(tǒng)上區(qū)分有多少個(gè)子系統(tǒng),劃分系統(tǒng)的大致范圍,明確系統(tǒng)的目標(biāo)。的目標(biāo)。 (2) (2) 調(diào)研每個(gè)子系統(tǒng)的工作流程、功能與處理規(guī)則,收集調(diào)研每個(gè)子系統(tǒng)的工作流程、功能與處理規(guī)則,收集原始信息資料,用數(shù)據(jù)流來表示物流、資金流、信息流三原始信息資料,用數(shù)據(jù)流來表示物流、資金流、信息流三者的關(guān)系。者的關(guān)系。 (3) (3) 對調(diào)研內(nèi)容事先準(zhǔn)備,針對不同管理層次的用戶詢問對調(diào)研內(nèi)容事先準(zhǔn)備,針對不同管理層次的
13、用戶詢問不同的問題,列出問題清單。將操作層、管理層、決策層不同的問題,列出問題清單。將操作層、管理層、決策層的需求既聯(lián)系又區(qū)分開來,形成一個(gè)需求的層次。的需求既聯(lián)系又區(qū)分開來,形成一個(gè)需求的層次。 需求獲取的過程需求獲取的過程6. 需求整理與總結(jié)需求整理與總結(jié)必須對上面步驟取得的需求資料進(jìn)行整理和總結(jié),必須對上面步驟取得的需求資料進(jìn)行整理和總結(jié),確定對軟件系統(tǒng)的綜合要求,即軟件的需求。確定對軟件系統(tǒng)的綜合要求,即軟件的需求。并提出這些需求實(shí)現(xiàn)條件,以及需求應(yīng)達(dá)到的標(biāo)并提出這些需求實(shí)現(xiàn)條件,以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn)。準(zhǔn)。這些需求包括功能需求、性能需求、環(huán)境需求、這些需求包括功能需求、性能需求、環(huán)境需
14、求、可靠性需求、安全保密要求、用戶界面需求、資可靠性需求、安全保密要求、用戶界面需求、資源使用需求、軟件成本消耗與開發(fā)進(jìn)度需求等。源使用需求、軟件成本消耗與開發(fā)進(jìn)度需求等。3.2 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法傳統(tǒng)的分析建模方法稱為結(jié)構(gòu)化分析傳統(tǒng)的分析建模方法稱為結(jié)構(gòu)化分析(structured analysis,SA)方法。)方法。最有代表性的是一種面向數(shù)據(jù)流進(jìn)行需求分析的最有代表性的是一種面向數(shù)據(jù)流進(jìn)行需求分析的方法,最初于方法,最初于20世紀(jì)世紀(jì)70年代由年代由D.Ross提出,后提出,后來又經(jīng)過擴(kuò)充,形成了今天的結(jié)構(gòu)化分析方法的來又經(jīng)過擴(kuò)充,形成了今天的結(jié)構(gòu)化分析方法的框
15、架??蚣堋?3.2 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化分析模型結(jié)構(gòu)化分析模型 結(jié)構(gòu)化分析方法是一種建模技術(shù),它建立的分析結(jié)構(gòu)化分析方法是一種建模技術(shù),它建立的分析模型如圖所示。模型如圖所示。3.2.1 功能建模 概念概念 功能建模的思想就是用抽象模型的概念,按照軟功能建模的思想就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。功能模型用為止。功能模型用數(shù)據(jù)流圖數(shù)據(jù)流圖來描述。來描述。3.2.1 功能建模 數(shù)據(jù)流圖的基本圖形符號數(shù)據(jù)流圖的基本圖形符號 或 加
16、工。對輸入數(shù)據(jù)進(jìn)行變換以產(chǎn)生輸出數(shù)據(jù),其中要注明加工的名字。 或 外部實(shí)體,即數(shù)據(jù)輸入源(Source)或數(shù)據(jù)輸出匯點(diǎn)(Sink)。其中要注明數(shù)據(jù)源或數(shù)據(jù)匯點(diǎn)的名字。 或 數(shù)據(jù)存儲。要用名詞或名詞性短語為數(shù)據(jù)存儲命名。 數(shù)據(jù)流。描述被加工數(shù)據(jù)及傳遞方向。箭頭旁邊要注明數(shù)據(jù)流的名字,可用名詞或名詞性短語命名。 3.2.1 功能建模 多個(gè)數(shù)據(jù)流之間的關(guān)系多個(gè)數(shù)據(jù)流之間的關(guān)系 3.2.1 功能建模 環(huán)境圖環(huán)境圖環(huán)境圖(環(huán)境圖(context diagram)也稱為)也稱為頂層數(shù)據(jù)流頂層數(shù)據(jù)流圖圖(或(或0層數(shù)據(jù)流圖層數(shù)據(jù)流圖),它僅包括一個(gè)數(shù)據(jù)處理),它僅包括一個(gè)數(shù)據(jù)處理過程,也就是要開發(fā)的目標(biāo)系統(tǒng)
17、。過程,也就是要開發(fā)的目標(biāo)系統(tǒng)。環(huán)境圖的作用是確定系統(tǒng)在其環(huán)境中的位置,通環(huán)境圖的作用是確定系統(tǒng)在其環(huán)境中的位置,通過確定系統(tǒng)的輸入和輸出與外部實(shí)體的關(guān)系確定過確定系統(tǒng)的輸入和輸出與外部實(shí)體的關(guān)系確定其邊界。其邊界。3.2.1 功能建模 典型的環(huán)境圖典型的環(huán)境圖3.2.1 功能建模 招生系統(tǒng)需求描述招生系統(tǒng)需求描述學(xué)校首先公布招生條件,考生根據(jù)自己的條件報(bào)學(xué)校首先公布招生條件,考生根據(jù)自己的條件報(bào)名,之后系統(tǒng)進(jìn)行資格審查,并給出資格審查信名,之后系統(tǒng)進(jìn)行資格審查,并給出資格審查信息;息;對于資格審查合格的考生可以參加答卷,系統(tǒng)根對于資格審查合格的考生可以參加答卷,系統(tǒng)根據(jù)學(xué)校提供的試題及答案進(jìn)
18、行自動(dòng)判卷,并給出據(jù)學(xué)校提供的試題及答案進(jìn)行自動(dòng)判卷,并給出分?jǐn)?shù)及答題信息,供考生查詢;分?jǐn)?shù)及答題信息,供考生查詢;最后系統(tǒng)根據(jù)學(xué)校的錄取分?jǐn)?shù)線進(jìn)行錄取,并將最后系統(tǒng)根據(jù)學(xué)校的錄取分?jǐn)?shù)線進(jìn)行錄取,并將錄取信息發(fā)送給考生。錄取信息發(fā)送給考生。 3.2.1 功能建模 招生系統(tǒng)的環(huán)境圖招生系統(tǒng)的環(huán)境圖 3.2.1 功能建模 數(shù)據(jù)流圖的分層數(shù)據(jù)流圖的分層對于稍微復(fù)雜一些的實(shí)際問題,在數(shù)據(jù)流圖上常對于稍微復(fù)雜一些的實(shí)際問題,在數(shù)據(jù)流圖上常常出現(xiàn)十幾個(gè)甚至幾十個(gè)加工,這樣的數(shù)據(jù)流圖常出現(xiàn)十幾個(gè)甚至幾十個(gè)加工,這樣的數(shù)據(jù)流圖看起來不直觀,不易理解,分層的數(shù)據(jù)流圖能很看起來不直觀,不易理解,分層的數(shù)據(jù)流圖能很
19、好地解決這一問題。好地解決這一問題。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。易理解整個(gè)系統(tǒng)。 3.2.1 功能建模 招生系統(tǒng)的分層數(shù)據(jù)流圖招生系統(tǒng)的分層數(shù)據(jù)流圖 3.2.1 功能建模 數(shù)據(jù)流圖的分層示意圖數(shù)據(jù)流圖的分層示意圖 3.2.1 功能建模 實(shí)例研究實(shí)例研究 銀行儲蓄系統(tǒng)的業(yè)務(wù)流程:銀行儲蓄系統(tǒng)的業(yè)務(wù)流程:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng);儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng);如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話如果是存款則系
20、統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期號碼)、身份證號碼、存款類型、存款日期、到期日期、利率、密碼(可選)等信息,并印出存單給日期、利率、密碼(可選)等信息,并印出存單給儲戶;儲戶;如果是取款而且開戶時(shí)留有密碼,則系統(tǒng)首先核對如果是取款而且開戶時(shí)留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)儲戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲戶。計(jì)算利息并印出利息清單給儲戶。要求畫出分層的數(shù)據(jù)流圖,并細(xì)化到要求畫出分層的數(shù)據(jù)流圖,并細(xì)化到2層數(shù)據(jù)流圖。層數(shù)據(jù)流圖。3.2.1 功能建模 (1) 識別外部實(shí)體及輸入輸出數(shù)據(jù)
21、流。識別外部實(shí)體及輸入輸出數(shù)據(jù)流。外部實(shí)體外部實(shí)體:儲戶、業(yè)務(wù)員。:儲戶、業(yè)務(wù)員。輸入數(shù)據(jù)輸入數(shù)據(jù):如果需要儲戶輸入密碼,儲戶才直接:如果需要儲戶輸入密碼,儲戶才直接與系統(tǒng)進(jìn)行交互。儲戶填寫的存款或取款信息通與系統(tǒng)進(jìn)行交互。儲戶填寫的存款或取款信息通過業(yè)務(wù)員鍵入系統(tǒng),可以將存款及取款信息抽象過業(yè)務(wù)員鍵入系統(tǒng),可以將存款及取款信息抽象為事務(wù)。為事務(wù)。輸出數(shù)據(jù)輸出數(shù)據(jù):存款單,利息清單。:存款單,利息清單。 3.2.1 功能建模 (2) 畫出環(huán)境圖(頂層數(shù)據(jù)流圖)畫出環(huán)境圖(頂層數(shù)據(jù)流圖) 業(yè)務(wù) 員 銀行儲蓄 系統(tǒng) 事務(wù) 存款單 儲 戶 利息清單 儲 戶 密碼 3.2.1 功能建模 (3) 畫出一
22、層數(shù)據(jù)流圖畫出一層數(shù)據(jù)流圖 3.2.1 功能建模 (4) 畫出二層數(shù)據(jù)流圖畫出二層數(shù)據(jù)流圖 對一層圖中的對一層圖中的“處理存款處理存款”及及“處理取款處理取款”進(jìn)行進(jìn)行進(jìn)一步分解,得到二層數(shù)據(jù)流圖,即進(jìn)一步分解,得到二層數(shù)據(jù)流圖,即處理存款的處理存款的數(shù)據(jù)流圖數(shù)據(jù)流圖和和處理取款的數(shù)據(jù)流圖處理取款的數(shù)據(jù)流圖。 存款業(yè)務(wù) 2.1 記錄存款 信息 2.2 打印存款單 存款信息 存款單 存款信息 處理存款的數(shù)據(jù)流圖處理存款的數(shù)據(jù)流圖3.2.1 功能建模 (4) 畫出二層數(shù)據(jù)流圖畫出二層數(shù)據(jù)流圖處理取款的數(shù)據(jù)流圖處理取款的數(shù)據(jù)流圖練習(xí):完成下列需求功能建模 機(jī)票預(yù)定系統(tǒng)簡要需求機(jī)票預(yù)定系統(tǒng)簡要需求 各
23、個(gè)旅行社旅行社把預(yù)定機(jī)票的旅客信息旅客信息(姓名、性別、工作單位、身份證號碼(護(hù)照號碼)、旅行時(shí)間、旅行始發(fā)地和目的地,航班艙位要求等)輸入輸入到系統(tǒng)中,系統(tǒng)為旅客安安排排航班。 當(dāng)旅客交付了交付了預(yù)訂金預(yù)訂金后,系統(tǒng)打印打印出取票通知取票通知和帳單帳單給旅客。 旅客在飛機(jī)起飛前一天憑取票通知和帳單交款取票交款取票,系統(tǒng)核對無誤即打印打印出機(jī)票機(jī)票給旅客。 此外航空公司為隨時(shí)掌握各個(gè)航班飛機(jī)的乘載情況乘載情況,需要定期進(jìn)行查詢統(tǒng)計(jì)查詢統(tǒng)計(jì),以便適當(dāng)調(diào)整。3.2.2 數(shù)據(jù)建模 在結(jié)構(gòu)化分析方法中,使用實(shí)體在結(jié)構(gòu)化分析方法中,使用實(shí)體關(guān)系建模技術(shù)關(guān)系建模技術(shù)來建立數(shù)據(jù)模型。來建立數(shù)據(jù)模型。 這種技
24、術(shù)是在較高的抽象層次(概念層)上對數(shù)這種技術(shù)是在較高的抽象層次(概念層)上對數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行建模的流行技術(shù)。據(jù)庫結(jié)構(gòu)進(jìn)行建模的流行技術(shù)。 實(shí)體實(shí)體關(guān)系模型表示為可視化的實(shí)體關(guān)系模型表示為可視化的實(shí)體關(guān)系圖關(guān)系圖(entity-relationship diagramentity-relationship diagram,ERDERD),也稱),也稱為為ERER圖。圖。 ERER圖中僅包含圖中僅包含3 3種相互關(guān)聯(lián)的元素:種相互關(guān)聯(lián)的元素:數(shù)據(jù)對象數(shù)據(jù)對象(實(shí)(實(shí)體)、描述數(shù)據(jù)對象的體)、描述數(shù)據(jù)對象的屬性屬性及數(shù)據(jù)對象彼此間相及數(shù)據(jù)對象彼此間相互連接的互連接的關(guān)系關(guān)系。 3.2.2 數(shù)據(jù)建模 數(shù)
25、據(jù)對象數(shù)據(jù)對象數(shù)據(jù)對象是目標(biāo)系統(tǒng)所需要的復(fù)合信息的表示,數(shù)據(jù)對象是目標(biāo)系統(tǒng)所需要的復(fù)合信息的表示,所謂復(fù)合信息是具有若干不同屬性的信息。在所謂復(fù)合信息是具有若干不同屬性的信息。在ERER圖中用矩形表示數(shù)據(jù)對象。圖中用矩形表示數(shù)據(jù)對象。在實(shí)際問題中,數(shù)據(jù)對象(實(shí)體)可以是外部實(shí)在實(shí)際問題中,數(shù)據(jù)對象(實(shí)體)可以是外部實(shí)體、事物、角色、行為或事件、組織單位、地點(diǎn)體、事物、角色、行為或事件、組織單位、地點(diǎn)或結(jié)構(gòu)等?;蚪Y(jié)構(gòu)等。 3.2.2 數(shù)據(jù)建模 屬性屬性屬性定義數(shù)據(jù)對象的特征,如數(shù)據(jù)對象屬性定義數(shù)據(jù)對象的特征,如數(shù)據(jù)對象學(xué)生學(xué)生的學(xué)號、姓名、的學(xué)號、姓名、性別、專業(yè)等,性別、專業(yè)等,課程課程的課程
26、編號、課程名稱、學(xué)分等。的課程編號、課程名稱、學(xué)分等。在在ERER圖中用橢圓或圓角矩形表示屬性,并用無向邊將屬性圖中用橢圓或圓角矩形表示屬性,并用無向邊將屬性與相關(guān)的數(shù)據(jù)對象連接在一起。與相關(guān)的數(shù)據(jù)對象連接在一起。 3.2.2 數(shù)據(jù)建模 關(guān)系關(guān)系不同數(shù)據(jù)對象的實(shí)例之間是有關(guān)聯(lián)關(guān)系的,在不同數(shù)據(jù)對象的實(shí)例之間是有關(guān)聯(lián)關(guān)系的,在ERER圖上用圖上用無向邊無向邊表示。表示。 在無向邊的兩端應(yīng)標(biāo)識出關(guān)聯(lián)實(shí)例的數(shù)量,也稱在無向邊的兩端應(yīng)標(biāo)識出關(guān)聯(lián)實(shí)例的數(shù)量,也稱為關(guān)聯(lián)的為關(guān)聯(lián)的重?cái)?shù)重?cái)?shù)。從關(guān)聯(lián)重?cái)?shù)的角度可以將關(guān)聯(lián)分為種。從關(guān)聯(lián)重?cái)?shù)的角度可以將關(guān)聯(lián)分為種。(1) (1) 一對一(一對一(1:11:1)關(guān)聯(lián)
27、)關(guān)聯(lián)(2) (2) 一對多(一對多(1:m1:m)關(guān)聯(lián))關(guān)聯(lián)(3) (3) 多對多(多對多(m:nm:n)關(guān)聯(lián))關(guān)聯(lián)實(shí)例關(guān)聯(lián)還有實(shí)例關(guān)聯(lián)還有“必須必須”和和“可選可選”之分。之分。 3.2.2 數(shù)據(jù)建模 關(guān)聯(lián)數(shù)量的表示關(guān)聯(lián)數(shù)量的表示在在ERER圖中用圓圈表示所關(guān)聯(lián)的實(shí)例是可選的,隱含圖中用圓圈表示所關(guān)聯(lián)的實(shí)例是可選的,隱含表示表示“0 0”,沒有出現(xiàn)圓圈就意味著是必須的。出現(xiàn),沒有出現(xiàn)圓圈就意味著是必須的。出現(xiàn)在連線上的短豎線可以看成是在連線上的短豎線可以看成是“1 1”。 3.2.2 數(shù)據(jù)建模 關(guān)聯(lián)關(guān)系舉例關(guān)聯(lián)關(guān)系舉例3.2.2 數(shù)據(jù)建模 關(guān)系的屬性關(guān)系的屬性關(guān)系本身也可能有屬性,這在多對
28、多的關(guān)系中尤關(guān)系本身也可能有屬性,這在多對多的關(guān)系中尤其常見,如學(xué)生和課程之間的關(guān)系可起名為其常見,如學(xué)生和課程之間的關(guān)系可起名為“選選課課”,其,其屬性屬性應(yīng)該有應(yīng)該有學(xué)期學(xué)期、成績成績等。等。關(guān)系屬性的表示關(guān)系屬性的表示:在表示關(guān)系的無向邊上再加一:在表示關(guān)系的無向邊上再加一個(gè)菱形框,并在菱形框中標(biāo)明關(guān)系的名字,關(guān)系個(gè)菱形框,并在菱形框中標(biāo)明關(guān)系的名字,關(guān)系的屬性同樣用橢圓形或圓角矩形表示,并用無向的屬性同樣用橢圓形或圓角矩形表示,并用無向邊將關(guān)系與其屬性連接起來。邊將關(guān)系與其屬性連接起來。 3.2.2 數(shù)據(jù)建模 關(guān)系的屬性關(guān)系的屬性3.2.2 數(shù)據(jù)建模 銀行儲銀行儲蓄系統(tǒng)蓄系統(tǒng)的的ERE
29、R圖圖3.2.3 行為建模 狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。狀態(tài)圖中使用的主要符號如圖所示。狀態(tài)圖中使用的主要符號如圖所示。3.2.3 行為建模 狀態(tài)狀態(tài)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式,狀態(tài)規(guī)定了系統(tǒng)狀態(tài)代表系統(tǒng)的一種行為模式,狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。對事件的響應(yīng)方式。 狀態(tài)可能有:狀態(tài)可能有:初態(tài)初態(tài)(初始狀態(tài))、(初始狀態(tài))、終態(tài)終態(tài)(最終狀(最終狀態(tài))和態(tài))和中間
30、態(tài)中間態(tài)。在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有多個(gè),也可以沒有。有多個(gè),也可以沒有。 3.2.3 行為建模 狀態(tài)的表示:狀態(tài)的表示:初態(tài)用初態(tài)用實(shí)心圓實(shí)心圓表示,終態(tài)用表示,終態(tài)用牛眼牛眼圖形圖形表示,中間態(tài)用表示,中間態(tài)用圓角矩形圓角矩形表示。表示。3.2.3 行為建模 狀態(tài)轉(zhuǎn)換狀態(tài)轉(zhuǎn)換狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換。換。 狀態(tài)的變遷通常是由事件觸發(fā)的,在這種情況下狀態(tài)的變遷通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標(biāo)出觸發(fā)轉(zhuǎn)換的事應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標(biāo)出觸發(fā)轉(zhuǎn)換的
31、事件表達(dá)式。件表達(dá)式。如果在箭頭線上未標(biāo)明事件,則表示在源狀態(tài)的如果在箭頭線上未標(biāo)明事件,則表示在源狀態(tài)的內(nèi)部活動(dòng)執(zhí)行完之后自動(dòng)觸發(fā)轉(zhuǎn)換。內(nèi)部活動(dòng)執(zhí)行完之后自動(dòng)觸發(fā)轉(zhuǎn)換。 3.2.3 行為建模 狀態(tài)轉(zhuǎn)換狀態(tài)轉(zhuǎn)換下圖為計(jì)算機(jī)應(yīng)用軟件的啟動(dòng)過程,在這個(gè)過程下圖為計(jì)算機(jī)應(yīng)用軟件的啟動(dòng)過程,在這個(gè)過程中沒有外部事件觸發(fā),每個(gè)狀態(tài)下的活動(dòng)完成時(shí),中沒有外部事件觸發(fā),每個(gè)狀態(tài)下的活動(dòng)完成時(shí),狀態(tài)發(fā)生轉(zhuǎn)換。狀態(tài)發(fā)生轉(zhuǎn)換。 3.2.3 行為建模 事件事件事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對引起系統(tǒng)做動(dòng)作事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對引起系統(tǒng)做動(dòng)作或從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外部事件的抽象。事件表或
32、從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外部事件的抽象。事件表達(dá)式的語法如下:達(dá)式的語法如下: 事件說明(守衛(wèi)條件)事件說明(守衛(wèi)條件)/ /動(dòng)作表達(dá)式動(dòng)作表達(dá)式(1) (1) 事件說明事件說明的語法如下:的語法如下: 事件名(參數(shù)表)事件名(參數(shù)表)(2) (2) 守衛(wèi)條件守衛(wèi)條件是一個(gè)布爾表達(dá)式。如果同時(shí)使用守衛(wèi)條件和事是一個(gè)布爾表達(dá)式。如果同時(shí)使用守衛(wèi)條件和事件說明,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式成立時(shí),狀態(tài)轉(zhuǎn)件說明,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式成立時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真,狀態(tài)轉(zhuǎn)換就發(fā)生。件為真,狀態(tài)
33、轉(zhuǎn)換就發(fā)生。(3) (3) 動(dòng)作表達(dá)式動(dòng)作表達(dá)式是一個(gè)過程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開始時(shí)執(zhí)行該是一個(gè)過程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開始時(shí)執(zhí)行該表達(dá)式。表達(dá)式。3.2.3 行為建模 存款過程的狀態(tài)圖存款過程的狀態(tài)圖( (考慮新開戶考慮新開戶 ) )3.2.3 行為建模 取款過程的狀態(tài)圖取款過程的狀態(tài)圖3.2.4 數(shù)據(jù)字典 數(shù)據(jù)字典以詞條方式定義在數(shù)據(jù)模型、功能模型數(shù)據(jù)字典以詞條方式定義在數(shù)據(jù)模型、功能模型和行為模型中出現(xiàn)的數(shù)據(jù)對象及控制信息的特性,和行為模型中出現(xiàn)的數(shù)據(jù)對象及控制信息的特性,給出它們的準(zhǔn)確定義,包括數(shù)據(jù)流、加工、數(shù)據(jù)給出它們的準(zhǔn)確定義,包括數(shù)據(jù)流、加工、數(shù)據(jù)文件、數(shù)據(jù)元素,以及數(shù)據(jù)源點(diǎn)、數(shù)據(jù)匯
34、點(diǎn)等。文件、數(shù)據(jù)元素,以及數(shù)據(jù)源點(diǎn)、數(shù)據(jù)匯點(diǎn)等。 數(shù)據(jù)字典成為把數(shù)據(jù)字典成為把3 3種分析模型黏合在一起的種分析模型黏合在一起的“黏合黏合劑劑”,是分析模型的,是分析模型的“核心核心”。 3.2.4 數(shù)據(jù)字典 詞條描述詞條描述對于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素均加對于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素均加以定義;以定義;其內(nèi)容包括圖形元素的名字,圖形元素的別名或其內(nèi)容包括圖形元素的名字,圖形元素的別名或編號,圖形元素類別(如加工、數(shù)據(jù)流、數(shù)據(jù)文編號,圖形元素類別(如加工、數(shù)據(jù)流、數(shù)據(jù)文件、數(shù)據(jù)元素、數(shù)據(jù)源點(diǎn)或數(shù)據(jù)匯點(diǎn)等)、描述、件、數(shù)據(jù)元素、數(shù)據(jù)源點(diǎn)或數(shù)據(jù)匯點(diǎn)等)、描述、定義、位置等。定義
35、、位置等。 3.2.4 數(shù)據(jù)字典 數(shù)據(jù)流詞條數(shù)據(jù)流詞條數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑,數(shù)據(jù)流詞數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑,數(shù)據(jù)流詞條應(yīng)包括以下幾項(xiàng)內(nèi)容。條應(yīng)包括以下幾項(xiàng)內(nèi)容。數(shù)據(jù)流名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。數(shù)據(jù)流名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。簡述:簡要介紹它產(chǎn)生的原因和結(jié)果。簡述:簡要介紹它產(chǎn)生的原因和結(jié)果。組成:數(shù)據(jù)流的數(shù)據(jù)結(jié)構(gòu)。組成:數(shù)據(jù)流的數(shù)據(jù)結(jié)構(gòu)。來源:數(shù)據(jù)流來自哪個(gè)加工或作為哪個(gè)數(shù)據(jù)源的外部實(shí)體。來源:數(shù)據(jù)流來自哪個(gè)加工或作為哪個(gè)數(shù)據(jù)源的外部實(shí)體。去向:數(shù)據(jù)流流向哪個(gè)加工或作為哪個(gè)數(shù)據(jù)匯點(diǎn)的外部實(shí)體。去向:數(shù)據(jù)流流向哪個(gè)加工或作為哪個(gè)數(shù)據(jù)匯點(diǎn)的
36、外部實(shí)體。流通量:單位時(shí)間數(shù)據(jù)的流通量。流通量:單位時(shí)間數(shù)據(jù)的流通量。峰值:流通量的極限值。峰值:流通量的極限值。3.2.4 數(shù)據(jù)字典 數(shù)據(jù)元素詞條數(shù)據(jù)元素詞條數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)元素是數(shù)據(jù)處理中最小的、不可再分的單位,它直接反映元素是數(shù)據(jù)處理中最小的、不可再分的單位,它直接反映事物的某一特征。事物的某一特征。 類型:數(shù)據(jù)元素分為數(shù)字型與文字型。數(shù)字型又分為離類型:數(shù)據(jù)元素分為數(shù)字型與文字型。數(shù)字型又分為離散值和連續(xù)值,文字的類型用編碼類型和長度區(qū)分。散值和連續(xù)值,文字的類型用編碼類型和長度區(qū)分。 取值范圍:離散值
37、的取值或是枚舉的(如取值范圍:離散值的取值或是枚舉的(如3 3,1717,2121),),或是介于上下界的一組數(shù)(如或是介于上下界的一組數(shù)(如2.1002.100);連續(xù)值一般是有);連續(xù)值一般是有取值范圍的實(shí)數(shù)集(如取值范圍的實(shí)數(shù)集(如0.0.100.00.0.100.0)。對于文字型,文字)。對于文字型,文字的取值需加以定義。的取值需加以定義。 相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)。相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)。 3.2.4 數(shù)據(jù)字典 數(shù)據(jù)存儲文件詞條數(shù)據(jù)存儲文件詞條數(shù)據(jù)存儲文件是數(shù)據(jù)保存的地方。一個(gè)數(shù)據(jù)存儲文件詞條數(shù)據(jù)存儲文件是數(shù)據(jù)保存的地方。一個(gè)數(shù)據(jù)存儲文件詞條應(yīng)有以下幾項(xiàng)內(nèi)容。應(yīng)有以下幾項(xiàng)內(nèi)容。 文
38、件名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。文件名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。 簡述:簡要介紹存放的是什么數(shù)據(jù)。簡述:簡要介紹存放的是什么數(shù)據(jù)。 組成:文件的數(shù)據(jù)結(jié)構(gòu)。組成:文件的數(shù)據(jù)結(jié)構(gòu)。 輸入:從哪些加工獲取數(shù)據(jù)。輸入:從哪些加工獲取數(shù)據(jù)。 輸出:由哪些加工使用數(shù)據(jù)。輸出:由哪些加工使用數(shù)據(jù)。 存取方式:分為順序、直接、關(guān)鍵碼等不同存取方式。存取方式:分為順序、直接、關(guān)鍵碼等不同存取方式。 存取頻率:單位時(shí)間的存取次數(shù)。存取頻率:單位時(shí)間的存取次數(shù)。3.2.4 數(shù)據(jù)字典 加工詞條加工詞條加工可以使用諸如判定表、判定樹、結(jié)構(gòu)化語言加工可以使用諸如判定表、判定樹、結(jié)構(gòu)化語言等形式表
39、達(dá),主要描述如下。等形式表達(dá),主要描述如下。 加工名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。加工名:要求與數(shù)據(jù)流圖中該圖形元素的名字一致。 編號:用以反映該加工的層次和父子關(guān)系。編號:用以反映該加工的層次和父子關(guān)系。 簡述:加工邏輯及功能簡述。簡述:加工邏輯及功能簡述。 輸入:加工的輸入數(shù)據(jù)流。輸入:加工的輸入數(shù)據(jù)流。 輸出:加工的輸出數(shù)據(jù)流。輸出:加工的輸出數(shù)據(jù)流。 加工邏輯:簡述加工程序和加工順序。加工邏輯:簡述加工程序和加工順序。3.2.4 數(shù)據(jù)字典 數(shù)據(jù)源點(diǎn)及數(shù)據(jù)匯點(diǎn)詞條數(shù)據(jù)源點(diǎn)及數(shù)據(jù)匯點(diǎn)詞條對于一個(gè)數(shù)據(jù)處理系統(tǒng)來說,數(shù)據(jù)源點(diǎn)和數(shù)據(jù)匯對于一個(gè)數(shù)據(jù)處理系統(tǒng)來說,數(shù)據(jù)源點(diǎn)和數(shù)據(jù)匯點(diǎn)應(yīng)比較少
40、。點(diǎn)應(yīng)比較少。 名稱:要求與數(shù)據(jù)流圖中該外部實(shí)體的名字一致。名稱:要求與數(shù)據(jù)流圖中該外部實(shí)體的名字一致。 簡述:簡要描述是什么外部實(shí)體。簡述:簡要描述是什么外部實(shí)體。 有關(guān)數(shù)據(jù)流:該實(shí)體與系統(tǒng)交互時(shí)涉及哪些數(shù)據(jù)流。有關(guān)數(shù)據(jù)流:該實(shí)體與系統(tǒng)交互時(shí)涉及哪些數(shù)據(jù)流。 數(shù)目:該實(shí)體與系統(tǒng)交互的次數(shù)。數(shù)目:該實(shí)體與系統(tǒng)交互的次數(shù)。3.2.4 數(shù)據(jù)字典數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)描述在數(shù)據(jù)字典的編制中,分析員最常用的描述數(shù)在數(shù)據(jù)字典的編制中,分析員最常用的描述數(shù)據(jù)結(jié)構(gòu)的方式有定義式、據(jù)結(jié)構(gòu)的方式有定義式、WarnierWarnier圖等。圖等。定義式。在數(shù)據(jù)流圖中,數(shù)據(jù)流和數(shù)據(jù)文件都定義式。在數(shù)據(jù)流圖中,數(shù)據(jù)流和
41、數(shù)據(jù)文件都具有一定的數(shù)據(jù)結(jié)構(gòu),因此,必須以一種清晰、具有一定的數(shù)據(jù)結(jié)構(gòu),因此,必須以一種清晰、準(zhǔn)確、無二義性的方式來描述數(shù)據(jù)結(jié)構(gòu)。準(zhǔn)確、無二義性的方式來描述數(shù)據(jù)結(jié)構(gòu)。 WarnierWarnier圖。圖。WarnierWarnier圖是表示數(shù)據(jù)結(jié)構(gòu)的另一圖是表示數(shù)據(jù)結(jié)構(gòu)的另一種圖形工具,它用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。種圖形工具,它用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。3.2.4 數(shù)據(jù)字典 定義式中的符號定義式中的符號3.2.4 數(shù)據(jù)字典 定義式舉例:存折定義式舉例:存折3.2.4 數(shù)據(jù)字典 存折的定義格式存折的定義格式存折戶名所號賬號開戶日性質(zhì)(印密)存折戶名所號賬號開戶日性質(zhì)(印密) 11存取行存取行50
42、50所號所號“001001”.“999999” 戶名戶名22字母字母2424賬號賬號“0000000000100000000001”.“9999999999999999999999” 開戶日年月日開戶日年月日性質(zhì)性質(zhì)“1 1”.“6 6” 印密(印密(“0 0”| |“000001000001”.“999999999999”) 存取行日期(摘要)支出存入余額操作復(fù)核存取行日期(摘要)支出存入余額操作復(fù)核日期年月日日期年月日年年“00010001”.“99999999”月月“0101”.“1212”日日“0101”.“3131”3.2.4 數(shù)據(jù)字典 存折的定義格式存折的定義格式摘要摘要11字母字
43、母44支出金額支出金額 存入金額存入金額余額金額余額金額金額金額“0000000.010000000.01”.“9999999.999999999.99”操作操作“0000100001”.“9999999999”復(fù)核復(fù)核“0000100001”.“9999999999”字母字母 “a a”.“z z”| |“A A”.“Z Z” 3.2.4 數(shù)據(jù)字典 WarnierWarnier圖圖舉例:存折舉例:存折 3.2.5 加工規(guī)格說明 在對數(shù)據(jù)流圖的分解中,位于層次樹最低層的加工在對數(shù)據(jù)流圖的分解中,位于層次樹最低層的加工也稱為也稱為基本加工基本加工或或原子加工原子加工,對于每一個(gè)基本加工,對于每一
44、個(gè)基本加工都需要進(jìn)一步說明,這稱為都需要進(jìn)一步說明,這稱為加工規(guī)格說明加工規(guī)格說明。 在編寫基本加工的規(guī)格說明時(shí),主要目的是要表達(dá)在編寫基本加工的規(guī)格說明時(shí),主要目的是要表達(dá)“做什么做什么”,而不是,而不是“怎樣做怎樣做”。3.2.5 加工規(guī)格說明 加工規(guī)格說明應(yīng)滿足如下的要求加工規(guī)格說明應(yīng)滿足如下的要求:(1) (1) 對數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)加對數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)加工規(guī)格說明。工規(guī)格說明。(2) (2) 加工規(guī)格說明必須描述基本加工如何把輸入數(shù)加工規(guī)格說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。(3) (3
45、) 加工規(guī)格說明必須描述實(shí)現(xiàn)加工的策略而不是加工規(guī)格說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。實(shí)現(xiàn)加工的細(xì)節(jié)。(4) (4) 加工規(guī)格說明中包含的信息應(yīng)是充足的,完備加工規(guī)格說明中包含的信息應(yīng)是充足的,完備的,有用的,沒有重復(fù)的多余信息。的,有用的,沒有重復(fù)的多余信息。 3.2.5 加工規(guī)格說明決策表決策表決策表由決策表由4 4個(gè)部分組成:個(gè)部分組成:左上部分是左上部分是條件茬條件茬,在此區(qū)域列出了各種可能的單個(gè)條,在此區(qū)域列出了各種可能的單個(gè)條件;件;左下部分是左下部分是動(dòng)作茬動(dòng)作茬,在此區(qū)域列出了可能采取的單個(gè)動(dòng),在此區(qū)域列出了可能采取的單個(gè)動(dòng)作;作;右上部分是右上部分是條件項(xiàng)條件項(xiàng)
46、,在此區(qū)域列出了針對各種條件的每,在此區(qū)域列出了針對各種條件的每一組條件取值的組合;一組條件取值的組合;右下部分是右下部分是動(dòng)作項(xiàng)動(dòng)作項(xiàng),這些動(dòng)作項(xiàng)與條件項(xiàng)緊密相關(guān),它,這些動(dòng)作項(xiàng)與條件項(xiàng)緊密相關(guān),它指出了在條件項(xiàng)的各組取值的組合情況下應(yīng)采取的動(dòng)作。指出了在條件項(xiàng)的各組取值的組合情況下應(yīng)采取的動(dòng)作。3.2.5 加工規(guī)格說明 決策表舉例決策表舉例商店業(yè)務(wù)處理系統(tǒng)中商店業(yè)務(wù)處理系統(tǒng)中“檢查訂貨單檢查訂貨單” 的決策表。的決策表。3.2.5 加工規(guī)格說明 決策表的改進(jìn)決策表的改進(jìn) 如果表中有兩條或更多的處理規(guī)則具有相同的動(dòng)作,并且如果表中有兩條或更多的處理規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間存在著某
47、種關(guān)系,就可設(shè)法將它們合并。其條件項(xiàng)之間存在著某種關(guān)系,就可設(shè)法將它們合并。 3.2.5 加工規(guī)格說明 建立決策表的步驟建立決策表的步驟(1) (1) 列出與一個(gè)具體過程(或模塊)有關(guān)的所有處理。列出與一個(gè)具體過程(或模塊)有關(guān)的所有處理。(2) (2) 列出過程執(zhí)行期間的所有條件(或所有判斷)。列出過程執(zhí)行期間的所有條件(或所有判斷)。(3) (3) 將特定條件取值組合與特定的處理相匹配,消去不可能將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合。發(fā)生的條件取值組合。(4) (4) 將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對于某一條件將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對于某一
48、條件取值組合將有什么動(dòng)作。取值組合將有什么動(dòng)作。3.2.5 加工規(guī)格說明 決策樹決策樹決策樹(決策樹(decision treedecision tree)也是用來表達(dá)加工邏輯的一種)也是用來表達(dá)加工邏輯的一種工具,有時(shí)侯它比決策表更直觀。工具,有時(shí)侯它比決策表更直觀。檢查訂貨單的決策樹檢查訂貨單的決策樹 3.3 系統(tǒng)需求規(guī)格說明 需求分析階段的重要任務(wù)之一是根據(jù)分析的結(jié)果需求分析階段的重要任務(wù)之一是根據(jù)分析的結(jié)果編寫需求規(guī)格說明,經(jīng)過嚴(yán)格評審并得到用戶確編寫需求規(guī)格說明,經(jīng)過嚴(yán)格評審并得到用戶確認(rèn)之后,作為這個(gè)階段的最終成果。認(rèn)之后,作為這個(gè)階段的最終成果。 按照國家標(biāo)準(zhǔn)按照國家標(biāo)準(zhǔn)GB/T
49、 8567GB/T 856720062006計(jì)算機(jī)軟件文檔計(jì)算機(jī)軟件文檔編制規(guī)范編制規(guī)范,涉及需求規(guī)格說明的文檔有,涉及需求規(guī)格說明的文檔有“軟件軟件需求規(guī)格說明(需求規(guī)格說明(SRSSRS)”、“數(shù)據(jù)需求說明數(shù)據(jù)需求說明(DRDDRD)”等。等。3.3 系統(tǒng)需求規(guī)格說明1. 引言 4. 系統(tǒng)特性 1.1 目的 4.1 說明和優(yōu)先級 1.2 文檔約定 4.2 激勵(lì)響應(yīng)序列 1.3 預(yù)期的讀者和閱讀建議 4.3 功能需求 1.4 產(chǎn)品范圍 5. 非功能需求 1.5 參考文獻(xiàn) 5.1 性能需求 2. 綜合描述 5.2 安全設(shè)施需求 2.1 產(chǎn)品的前景 5.3 安全性需求 2.2 產(chǎn)品的功能 5.4
50、 軟件質(zhì)量屬性 2.3 用戶類和特征 5.5 業(yè)務(wù)規(guī)則 2.4 運(yùn)行環(huán)境 5.6 用戶文檔 2.5 設(shè)計(jì)和實(shí)現(xiàn)上的限制 6. 其他需求 2.6 假設(shè)和依賴 3. 外部接口需求 附錄 3.1 用戶界面 3.2 硬件接口 3.3 軟件接口 注: 本模板由 IEEE 8301998 3.4 通信接口 標(biāo)準(zhǔn)改寫并擴(kuò)充而成 需求規(guī)格說明書一般結(jié)構(gòu)需求規(guī)格說明書一般結(jié)構(gòu)3.3 系統(tǒng)需求規(guī)格說明 應(yīng)該包括在應(yīng)該包括在SRS 中的內(nèi)容中的內(nèi)容 - 功能:功能:軟件應(yīng)該提供什么功能?軟件應(yīng)該提供什么功能? - 外部接口:外部接口:軟件如何與人、系統(tǒng)硬件和其他系統(tǒng)軟件如何與人、系統(tǒng)硬件和其他系統(tǒng)等進(jìn)行相互等進(jìn)行相
51、互 作用?作用? - 性能:性能:軟件系統(tǒng)在運(yùn)行速度、可用性、響應(yīng)時(shí)間、軟件系統(tǒng)在運(yùn)行速度、可用性、響應(yīng)時(shí)間、恢復(fù)時(shí)間恢復(fù)時(shí)間 等方面有什么要求?等方面有什么要求? - 特性:特性:軟件系統(tǒng)在可移植性、可維護(hù)性、安全性軟件系統(tǒng)在可移植性、可維護(hù)性、安全性等方面有什等方面有什 么考慮?么考慮? - 設(shè)計(jì)約束:設(shè)計(jì)約束:是否存在必要的標(biāo)準(zhǔn)、開發(fā)語言、數(shù)是否存在必要的標(biāo)準(zhǔn)、開發(fā)語言、數(shù)據(jù)庫、資源據(jù)庫、資源 限制、運(yùn)行環(huán)境等因素的影響和策略?限制、運(yùn)行環(huán)境等因素的影響和策略? 3.3 系統(tǒng)需求規(guī)格說明 不不應(yīng)該包括在應(yīng)該包括在SRS 中的內(nèi)容中的內(nèi)容 - 項(xiàng)目開發(fā)計(jì)劃項(xiàng)目開發(fā)計(jì)劃 諸如成本、人員、進(jìn)度
52、、工具、方法等諸如成本、人員、進(jìn)度、工具、方法等 - 產(chǎn)品保證計(jì)劃產(chǎn)品保證計(jì)劃 諸如配置管理、驗(yàn)證與測試、諸如配置管理、驗(yàn)證與測試、 質(zhì)質(zhì)量保證等量保證等 - 軟件設(shè)計(jì)細(xì)節(jié)軟件設(shè)計(jì)細(xì)節(jié) 需求通常用于表達(dá)需求通常用于表達(dá)“做什么做什么”, 而不而不描述描述“如何做如何做”。 3.3 質(zhì)量要求 正確性正確性 - 需求規(guī)格說明對系統(tǒng)功能、行為、性能等的描述必須與用戶需求規(guī)格說明對系統(tǒng)功能、行為、性能等的描述必須與用戶 的期望相吻合,代表了用戶的真正需求。的期望相吻合,代表了用戶的真正需求。 審查需求的正確性應(yīng)該考慮的問題審查需求的正確性應(yīng)該考慮的問題 - 用戶參與需求過程的程度如何?用戶參與需求過程
53、的程度如何? - 每一個(gè)需求描述是否準(zhǔn)確地反映了用戶的需要?每一個(gè)需求描述是否準(zhǔn)確地反映了用戶的需要? - 系統(tǒng)用戶是否已經(jīng)認(rèn)真考慮了每一項(xiàng)描述?系統(tǒng)用戶是否已經(jīng)認(rèn)真考慮了每一項(xiàng)描述? - 需求可以追溯到來源嗎?需求可以追溯到來源嗎? 舉例:下面的需求描述正確嗎?舉例:下面的需求描述正確嗎? - 在用戶每次存錢的時(shí)候系統(tǒng)將進(jìn)行信用檢查。在用戶每次存錢的時(shí)候系統(tǒng)將進(jìn)行信用檢查。 3.3 質(zhì)量要求 無二義性無二義性 - 需求規(guī)格說明中的描述對于所有人都只能有一種明確統(tǒng)一的需求規(guī)格說明中的描述對于所有人都只能有一種明確統(tǒng)一的 解釋。解釋。 審查需求的無二義性應(yīng)該考慮的問題審查需求的無二義性應(yīng)該考慮的
54、問題 - 需求規(guī)格說明是否有術(shù)語詞匯表?需求規(guī)格說明是否有術(shù)語詞匯表? - 具有多重含義或未知含義的術(shù)語是否已經(jīng)定義?具有多重含義或未知含義的術(shù)語是否已經(jīng)定義?- - 需求描述是否可量化和可驗(yàn)證?需求描述是否可量化和可驗(yàn)證? - 每一項(xiàng)需求都有測試準(zhǔn)則嗎?每一項(xiàng)需求都有測試準(zhǔn)則嗎? 舉例:下面的需求描述是無歧義的嗎?舉例:下面的需求描述是無歧義的嗎? - 如果用戶試圖透支,系統(tǒng)將采取適當(dāng)?shù)男袆?dòng)。如果用戶試圖透支,系統(tǒng)將采取適當(dāng)?shù)男袆?dòng)。 3.3 質(zhì)量要求 審查需求的完整性應(yīng)該考慮的問題(續(xù))審查需求的完整性應(yīng)該考慮的問題(續(xù)) -所描述的功能是否可以映射到業(yè)務(wù)過程中?所描述的功能是否可以映射到業(yè)
55、務(wù)過程中? - 文檔中是否存在待確定的需求引用?文檔中是否存在待確定的需求引用? - 文檔中是否存在未定義的術(shù)語和引用?文檔中是否存在未定義的術(shù)語和引用? - 文檔的各個(gè)部分都完整嗎?文檔的各個(gè)部分都完整嗎? - 需求包括非功能屬性的說明嗎?需求包括非功能屬性的說明嗎? 是否考慮了軟件性能?是否考慮了軟件性能? 是否考慮了安全性要求?是否考慮了安全性要求? 是否考慮了可靠性?是否考慮了可靠性? 是否考慮了系統(tǒng)容量問題?是否考慮了系統(tǒng)容量問題? 37 3.3 質(zhì)量要求 可驗(yàn)證性可驗(yàn)證性 - 需求規(guī)格說明中描述的需求都可以運(yùn)用一些可行的手段對其需求規(guī)格說明中描述的需求都可以運(yùn)用一些可行的手段對其
56、進(jìn)行驗(yàn)證和確認(rèn)。進(jìn)行驗(yàn)證和確認(rèn)。 審查需求的可驗(yàn)證性應(yīng)該考慮的問題審查需求的可驗(yàn)證性應(yīng)該考慮的問題 - 在需求文檔中是否存在不可驗(yàn)證的陳述,諸如在需求文檔中是否存在不可驗(yàn)證的陳述,諸如“用戶界面用戶界面友友 好好”、“容易容易”、“簡單簡單”、“快速快速”、“健壯健壯”、“最最新技術(shù)新技術(shù)”等?等? - 所有描述都是具體的和可測量的嗎?所有描述都是具體的和可測量的嗎? 舉例:下面的兩個(gè)需求描述中哪一個(gè)難以驗(yàn)證?舉例:下面的兩個(gè)需求描述中哪一個(gè)難以驗(yàn)證? - 系統(tǒng)將在系統(tǒng)將在 20 秒內(nèi)響應(yīng)所有有效的請求。秒內(nèi)響應(yīng)所有有效的請求。 - 如果用戶試圖透支,系統(tǒng)將采取適當(dāng)?shù)男袆?dòng)。如果用戶試圖透支,系
57、統(tǒng)將采取適當(dāng)?shù)男袆?dòng)。 3.3 質(zhì)量要求 一致性一致性 - 需求規(guī)格說明對各種需求的描述不能存在矛盾,如術(shù)語使用需求規(guī)格說明對各種需求的描述不能存在矛盾,如術(shù)語使用 沖沖突、功能和行為特性方面的矛盾以及時(shí)序上的不一致等。突、功能和行為特性方面的矛盾以及時(shí)序上的不一致等。 審查需求的一致性應(yīng)該考慮的問題審查需求的一致性應(yīng)該考慮的問題 - 文檔的組織形式是否易于一致?文檔的組織形式是否易于一致? - 不同功能的描述之間是否存在矛盾?不同功能的描述之間是否存在矛盾? - 是否存在有矛盾的需求描述或術(shù)語?是否存在有矛盾的需求描述或術(shù)語? - 文檔中是否存在時(shí)序上的不一致?文檔中是否存在時(shí)序上的不一致?
58、舉例:下面的兩個(gè)需求描述是否有矛盾?舉例:下面的兩個(gè)需求描述是否有矛盾? - 系統(tǒng)允許立即使用所存的資金。系統(tǒng)允許立即使用所存的資金。 - 只有在手工驗(yàn)證所存資金后,系統(tǒng)才能允許使用。只有在手工驗(yàn)證所存資金后,系統(tǒng)才能允許使用。 3.3 質(zhì)量要求 可修改性可修改性 - 需求規(guī)格說明的格式和組織方式應(yīng)保證后續(xù)的修改能夠比較需求規(guī)格說明的格式和組織方式應(yīng)保證后續(xù)的修改能夠比較容易和協(xié)調(diào)一致。容易和協(xié)調(diào)一致。 審查需求的可修改性應(yīng)該考慮的問題審查需求的可修改性應(yīng)該考慮的問題 - 是否存在明顯的需求交叉引用?是否存在明顯的需求交叉引用? - 是否有內(nèi)容列表和索引?是否有內(nèi)容列表和索引? - 是否存在冗
59、余的需求,即同一個(gè)需求的描述出現(xiàn)在文檔的不是否存在冗余的需求,即同一個(gè)需求的描述出現(xiàn)在文檔的不 同地方?如果存在,它們是交叉引用嗎?同地方?如果存在,它們是交叉引用嗎? 3.3 質(zhì)量要求 可跟蹤性可跟蹤性 - 每一項(xiàng)需求都能與其對應(yīng)的來源、設(shè)計(jì)、源代碼和測試用例每一項(xiàng)需求都能與其對應(yīng)的來源、設(shè)計(jì)、源代碼和測試用例 聯(lián)系起來。聯(lián)系起來。 可跟蹤性的兩種形式可跟蹤性的兩種形式 - 每一項(xiàng)需求都可以在早期的文檔中追溯到其來源,例如備忘每一項(xiàng)需求都可以在早期的文檔中追溯到其來源,例如備忘 錄、法規(guī)、會議記錄等;錄、法規(guī)、會議記錄等; - 每一項(xiàng)需求都有唯一的名稱或索引號,與后期實(shí)現(xiàn)對應(yīng)。每一項(xiàng)需求都有唯一的名稱或索引號,與后期實(shí)現(xiàn)對應(yīng)。- 系統(tǒng)將在系統(tǒng)將在 20 秒內(nèi)響應(yīng)所有有效的請求。秒內(nèi)響應(yīng)所有有效的請求。 來自與用戶的面談,備忘錄編號來自與用戶的面談,備忘錄編號 #1234 舉例:下面的需求描述記錄了早期的文檔來源。舉例:下面的需求描述記錄了早期的文檔來源。 練習(xí)題( )在需求分析過程中,分析員要從用戶那里解決的最重要)在需求分析過程中,分析員要從用戶那里解決的最重要的問題是明確軟件做什么。的問題是明確軟件做什么。 A. 真真 B. 假假 2. ( )軟件需求規(guī)格說明書在軟件開發(fā)中具有重要的作用,它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昭通一中教研聯(lián)盟2024-2025學(xué)年高一上學(xué)期期中質(zhì)量檢測地理試題(A卷)(含答案)
- 江蘇省連云港市海州區(qū)2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 水處理技術(shù)開發(fā)合同
- 人工智能金融風(fēng)險(xiǎn)評估與控制手冊
- 生物學(xué)基因工程研究熱點(diǎn)練習(xí)題集編選
- 股份制公司運(yùn)營指南
- 航空模型制造安全責(zé)任協(xié)議
- 高分子化學(xué)材料性質(zhì)題庫
- 語言學(xué)語言應(yīng)用知識問答
- 高中英語閱讀技巧課:如何快速找到文章主旨與細(xì)節(jié)教案
- 概算審核服務(wù)投標(biāo)方案(技術(shù)方案)
- 《帝國的崩裂:細(xì)說五代十國史》隨筆
- 2025屆陜西省普通高中學(xué)業(yè)水平選擇性考試 政治試卷(含答案 )
- Unit+4+Sports+Getting+Started 高中英語上外版必修第二冊
- 綜合實(shí)踐活動(dòng)小學(xué)-玩紙課件
- 英語閱讀課教案5篇
- 1.1作品鑒賞一杯美酒教學(xué)設(shè)計(jì)高中音樂人音版必修音樂鑒賞
- 人音版 音樂六年級上冊京腔京韻 教學(xué)設(shè)計(jì)
- 2024年江西省南昌市部分學(xué)校中考一模數(shù)學(xué)試題附答案解析
- 第6章-視覺傳感器及其應(yīng)用
- 軟件模塊化設(shè)計(jì)與開發(fā)標(biāo)準(zhǔn)與規(guī)范
評論
0/150
提交評論