




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