版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第第3章章 需求分析需求分析軟件需求分析:軟件需求分析:“做什么?做什么?” 基本任務:基本任務:系統(tǒng)必須做什么系統(tǒng)必須做什么? ? 確定系統(tǒng)必須完成哪些工作,也就是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體對目標系統(tǒng)提出完整、準確、清晰、具體的要求。的要求。 寫軟件需求規(guī)格說明書,以書面形式寫軟件需求規(guī)格說明書,以書面形式準確地描述軟件需求。準確地描述軟件需求。3第第3 3章章 需求分析需求分析F 開發(fā)一個軟件系統(tǒng)前,必須了解用戶的期開發(fā)一個軟件系統(tǒng)前,必須了解用戶的期望和要求望和要求- - 軟件需求軟件需求 - - 需求分析過程需求分析過程F 重要性:重要性:-
2、軟件開發(fā)的基礎(chǔ)和前提軟件開發(fā)的基礎(chǔ)和前提-最終目標軟件系統(tǒng)驗收的標準最終目標軟件系統(tǒng)驗收的標準-避免或者盡早剔除早期的錯誤避免或者盡早剔除早期的錯誤需求分析需求分析2021-12-44需求分析的重要性需求分析的重要性 軟件生命周期中,一個錯誤發(fā)現(xiàn)得越晚,修軟件生命周期中,一個錯誤發(fā)現(xiàn)得越晚,修復錯誤的費用越高復錯誤的費用越高5需求的重要性需求的重要性 Standish-GroupStandish-Group對對350350家公司的家公司的80008000個軟件項目作過一次調(diào)查個軟件項目作過一次調(diào)查 其中,其中,31%31%的項目的結(jié)局是被取消。的項目的結(jié)局是被取消。 引致這些項目失敗的原因是:
3、引致這些項目失敗的原因是: 13.1% 13.1% 不完整的產(chǎn)品要求;不完整的產(chǎn)品要求; 12.4% 12.4% 缺乏用戶的參與;缺乏用戶的參與; 10.6% 10.6% 缺少資源(人力、財力);缺少資源(人力、財力); 9.9% 9.9% 不現(xiàn)實的期望;不現(xiàn)實的期望; 9.3% 9.3% 高層領(lǐng)導支持不足;高層領(lǐng)導支持不足; 8.7% 8.7% 產(chǎn)品要求與指標的改變;產(chǎn)品要求與指標的改變; 8.1% 8.1% 沒有訂計劃;沒有訂計劃; 7.5% 7.5% 不再需耍該開發(fā)中的系統(tǒng)。不再需耍該開發(fā)中的系統(tǒng)。 其中,其中,與產(chǎn)品需求有關(guān)的(與產(chǎn)品需求有關(guān)的(1,2,41,2,4和和6 6項)占了項
4、)占了44.1%44.1%。這些數(shù)。這些數(shù)據(jù)突出地顯示了軟件產(chǎn)品需求在軟件開發(fā)中的重要性。據(jù)突出地顯示了軟件產(chǎn)品需求在軟件開發(fā)中的重要性。6需求分析的重要性需求分析的重要性 在需求過程中會產(chǎn)生很多錯誤在需求過程中會產(chǎn)生很多錯誤 DeMarcoDeMarco在一份研究報告中指出,被檢查出來在一份研究報告中指出,被檢查出來的錯誤的的錯誤的5656產(chǎn)生的根源可以追溯到需求階產(chǎn)生的根源可以追溯到需求階段。段。 AIRMICSAIRMICS所進行的一項調(diào)查發(fā)現(xiàn),在一份美國所進行的一項調(diào)查發(fā)現(xiàn),在一份美國軍方大型管理信息系統(tǒng)的需求規(guī)格說明書軍方大型管理信息系統(tǒng)的需求規(guī)格說明書(SRS)(SRS)中存在著中
5、存在著500500多個錯誤,當然這僅僅是多個錯誤,當然這僅僅是一個軟件項目中的一次調(diào)查。一個軟件項目中的一次調(diào)查。7需求分析的重要性需求分析的重要性 需求錯誤是可以被檢查出來的需求錯誤是可以被檢查出來的 參與需求分析的人參與需求分析的人 系統(tǒng)分析師系統(tǒng)分析師、需求闡釋者、客戶代表、需求闡釋者、客戶代表、用戶代表用戶代表、開發(fā)方領(lǐng)導、項目經(jīng)理、架構(gòu)設(shè)計師、領(lǐng)域?qū)<?、開發(fā)方領(lǐng)導、項目經(jīng)理、架構(gòu)設(shè)計師、領(lǐng)域?qū)<?、財務人員、市場人員、軟件質(zhì)量保證(財務人員、市場人員、軟件質(zhì)量保證(SQA,Software Quality Assure)人員、程序員、測試人)人員、程序員、測試人員、部署人員、技術(shù)文檔編
6、寫人員、培訓人員等。員、部署人員、技術(shù)文檔編寫人員、培訓人員等。 需求分析的場所需求分析的場所 調(diào)研時,在客戶現(xiàn)場調(diào)研時,在客戶現(xiàn)場 編寫軟件需求文檔時,可以在開發(fā)單位編寫軟件需求文檔時,可以在開發(fā)單位 復審相關(guān)的需求文檔時,根據(jù)需要來安排復審相關(guān)的需求文檔時,根據(jù)需要來安排參與需求分析的人有哪些,場所在哪參與需求分析的人有哪些,場所在哪軟件需求分析的困難軟件需求分析的困難(1)(1)客戶說不清楚需求客戶說不清楚需求 有些客戶對需求只有朦朧的感覺,當然說不清楚具有些客戶對需求只有朦朧的感覺,當然說不清楚具體的需求。體的需求。 有些客戶心里非常清楚想要什么,但卻說不明白。有些客戶心里非常清楚想要
7、什么,但卻說不明白。 “不懂裝懂不懂裝懂”或者或者“半懂充內(nèi)行半懂充內(nèi)行”的客戶令人恐懼的客戶令人恐懼。2.1 軟件需求的概念軟件需求的復雜性軟件需求的復雜性(2)(2)需求自身經(jīng)常變動需求自身經(jīng)常變動2.1 軟件需求的概念需求變更原因需求變更原因-客戶方客戶方:對信息系統(tǒng)的了解不夠?qū)π畔⑾到y(tǒng)的了解不夠?qū)I(yè)務需求表達不清對業(yè)務需求表達不清對自身業(yè)務抽象程度不夠?qū)ψ陨順I(yè)務抽象程度不夠?qū)π枨笾匾暢潭炔粔驅(qū)π枨笾匾暢潭炔粔蚺c開發(fā)人員配合不夠與開發(fā)人員配合不夠業(yè)務范圍不斷拓展業(yè)務范圍不斷拓展業(yè)務流程不斷變更業(yè)務流程不斷變更管理模式不斷創(chuàng)新管理模式不斷創(chuàng)新客戶的能力不足,可以進行客戶的能力不足,可以進行
8、適當?shù)呐嘤?,可改善一點。適當?shù)呐嘤?,可改善一點。屬于態(tài)度問題,需要高層領(lǐng)導屬于態(tài)度問題,需要高層領(lǐng)導協(xié)調(diào)。協(xié)調(diào)。不可避免。只能通過合同約不可避免。只能通過合同約束或有限度接受,或通過技束或有限度接受,或通過技術(shù)提高軟件適應能力。術(shù)提高軟件適應能力。 軟件需求的復雜性軟件需求的復雜性(2)(2)需求自身經(jīng)常變動需求自身經(jīng)常變動2.1 軟件需求的概念需求變更原因需求變更原因軟件人員軟件人員:溝通技巧不高溝通技巧不高需求工程技術(shù)不精需求工程技術(shù)不精需求人員知識儲備不夠需求人員知識儲備不夠不了解客戶方的業(yè)務流程不了解客戶方的業(yè)務流程調(diào)研范圍不確定調(diào)研范圍不確定需求不夠細致、明確需求不夠細致、明確項目管
9、理不規(guī)范項目管理不規(guī)范需求描述存在歧義需求描述存在歧義合同對客戶方約束不夠合同對客戶方約束不夠 個人能力或經(jīng)驗不足軟件組織的能力不足13F 困難:困難:- 片面性片面性, 不完全不完全- 模糊性模糊性, 不準確不準確- 不一致性不一致性, 易于發(fā)生變動等等易于發(fā)生變動等等 因此必須使用系統(tǒng)的方法、借助于一系列行之因此必須使用系統(tǒng)的方法、借助于一系列行之 有效的技術(shù)和工具進行需求分析。有效的技術(shù)和工具進行需求分析。 需求分析需求分析需求分析需求分析- 應用系統(tǒng)復雜,龐大應用系統(tǒng)復雜,龐大(1) (1) 必須理解并描述問題的信息域,根據(jù)這條準則必須理解并描述問題的信息域,根據(jù)這條準則應該建立應該建
10、立數(shù)據(jù)模型數(shù)據(jù)模型。(2) (2) 必須定義軟件應完成的功能,這條準則要求建必須定義軟件應完成的功能,這條準則要求建立立功能模型功能模型。(3) (3) 必須描述作為外部事件結(jié)果的軟件行為,這條必須描述作為外部事件結(jié)果的軟件行為,這條準則要求建立準則要求建立行為模型行為模型。(4) (4) 必須對描述信息、功能和行為的模型進行分解必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節(jié)。,用層次的方式展示細節(jié)。準 則:151. 需求分析的任務需求分析的任務1、確定對系統(tǒng)的綜合要求、確定對系統(tǒng)的綜合要求(1)功能需求:系統(tǒng)必須完成的功能功能需求:系統(tǒng)必須完成的功能(2)性能需求:通常包括響
11、應時間,磁盤容量,安全性性能需求:通常包括響應時間,磁盤容量,安全性等需求。等需求。(3)可靠性和可用性需求:系統(tǒng)的可靠性以及用戶可以可靠性和可用性需求:系統(tǒng)的可靠性以及用戶可以使用系統(tǒng)的程度。使用系統(tǒng)的程度。(4)出錯處理需求:說明系統(tǒng)對環(huán)境錯誤應該怎樣響應。出錯處理需求:說明系統(tǒng)對環(huán)境錯誤應該怎樣響應。1. 需求分析的任務需求分析的任務161. 需求分析的任務需求分析的任務(5)接口需求:描述應用系統(tǒng)與它的環(huán)境通信的格式。接口需求:描述應用系統(tǒng)與它的環(huán)境通信的格式。如:用戶接口需求,硬件接口需求,軟件接口需如:用戶接口需求,硬件接口需求,軟件接口需求,通信接口需求。求,通信接口需求。(6)
12、約束:描述設(shè)計或?qū)崿F(xiàn)應用系統(tǒng)時應遵守的限制約束:描述設(shè)計或?qū)崿F(xiàn)應用系統(tǒng)時應遵守的限制條件。條件。(7)逆向需求:說明軟件系統(tǒng)不應該做什么。逆向需求:說明軟件系統(tǒng)不應該做什么。(8)將來可能提出的要求:列出根據(jù)分析得到的將來將來可能提出的要求:列出根據(jù)分析得到的將來可能會提出的要求,易于后期進行擴充和修改??赡軙岢龅囊?,易于后期進行擴充和修改。1. 需求分析的任務需求分析的任務 任何一個軟件系統(tǒng)本質(zhì)上都是任何一個軟件系統(tǒng)本質(zhì)上都是信息處信息處理系統(tǒng)理系統(tǒng),系統(tǒng)必須,系統(tǒng)必須處理的信息處理的信息和系統(tǒng)應該和系統(tǒng)應該產(chǎn)生的信息產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面在很大程度上決定了系統(tǒng)的面貌,對軟
13、件設(shè)計有深遠影響,因此,必須貌,對軟件設(shè)計有深遠影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個重要任務。分析系統(tǒng)的數(shù)據(jù)要求通的一個重要任務。分析系統(tǒng)的數(shù)據(jù)要求通常采用常采用建立數(shù)據(jù)模型建立數(shù)據(jù)模型的方法的方法( (見見3.43.4節(jié)節(jié)) )。2、分析系統(tǒng)的數(shù)據(jù)要求、分析系統(tǒng)的數(shù)據(jù)要求 復雜的數(shù)據(jù)由許多基本的復雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素數(shù)據(jù)元素組成,組成,數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。利用表示數(shù)據(jù)元素之間的邏輯關(guān)系。利用數(shù)據(jù)字典數(shù)據(jù)字典可以全面準確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點是可以全面準確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點是不夠形象直
14、觀。為了提高可理解性,常常利用不夠形象直觀。為了提高可理解性,常常利用圖形圖形工具工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方層次方框圖框圖和和WarnierWarnier圖圖,在本章第,在本章第3.73.7節(jié)中將簡要地介紹節(jié)中將簡要地介紹這兩種圖形工具。這兩種圖形工具。 軟件系統(tǒng)經(jīng)常使用各種長期保存的信息,這些軟件系統(tǒng)經(jīng)常使用各種長期保存的信息,這些信息通常以一定方式組織并存儲在信息通常以一定方式組織并存儲在數(shù)據(jù)庫數(shù)據(jù)庫或文件中或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,簡化修改數(shù)據(jù)的過程,通常需要把,簡
15、化修改數(shù)據(jù)的過程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范數(shù)據(jù)結(jié)構(gòu)規(guī)范化化( (見見3.53.5節(jié)節(jié)) )。 綜合上述兩項分析的結(jié)果可以導出系統(tǒng)綜合上述兩項分析的結(jié)果可以導出系統(tǒng)的的詳細的邏輯模型詳細的邏輯模型,通常用,通常用數(shù)據(jù)流圖數(shù)據(jù)流圖、實體實體- -聯(lián)系圖聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典數(shù)據(jù)字典和和主要的主要的處理算法處理算法描述這個邏輯模型。描述這個邏輯模型。3、導出系統(tǒng)的邏輯模型、導出系統(tǒng)的邏輯模型 根據(jù)在分析過程中獲得的對系統(tǒng)的更深根據(jù)在分析過程中獲得的對系統(tǒng)的更深入更具體的了解,可以比較準確地估計系統(tǒng)入更具體的了解,可以比較準確地估計系統(tǒng)的成本和進度,修正以前制定的開發(fā)計劃。的成本和進度,
16、修正以前制定的開發(fā)計劃。4、修正系統(tǒng)開發(fā)計劃、修正系統(tǒng)開發(fā)計劃 2 2 與用戶溝通的方法與用戶溝通的方法1.訪談訪談正式訪談正式訪談:系統(tǒng)分析員將提出一些事先準備好的:系統(tǒng)分析員將提出一些事先準備好的具體問題。具體問題。非正式訪談非正式訪談:分析員將提出一些用戶可以自由回:分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵被訪問人員說出自己的答的開放性問題,以鼓勵被訪問人員說出自己的想法。想法。調(diào)查表調(diào)查表:當需要調(diào)查大量人員的意見時,向被調(diào):當需要調(diào)查大量人員的意見時,向被調(diào)查人員分發(fā)調(diào)查表是一個十分有效的做法。經(jīng)過查人員分發(fā)調(diào)查表是一個十分有效的做法。經(jīng)過仔細考慮寫出的書面回答可能比被訪
17、問者對問題仔細考慮寫出的書面回答可能比被訪問者對問題的口頭回答更準確。的口頭回答更準確。編號編號提出問題提出問題1 1您在哪個部門工作?您在哪個部門工作?2 2出版業(yè)務流程是什么?出版業(yè)務流程是什么?3 3您每日都處理那些文件、數(shù)據(jù)、報表?您每日都處理那些文件、數(shù)據(jù)、報表?4 4工作中手工處理特別麻煩的事情是什么?工作中手工處理特別麻煩的事情是什么?5 5工作中手工處理什么問題解決不了?影響效率的問題有哪工作中手工處理什么問題解決不了?影響效率的問題有哪些?些?6 6您認為提高工作效率,節(jié)省工作時間,減輕工作強度可采您認為提高工作效率,節(jié)省工作時間,減輕工作強度可采取哪些辦法?取哪些辦法?編號
18、編號提出問題提出問題7 7您的部門需要成本核算和統(tǒng)計的內(nèi)容有哪些?您的部門需要成本核算和統(tǒng)計的內(nèi)容有哪些?8 8您的部門采用計算機管理工作情況如何?您的部門采用計算機管理工作情況如何?9 9如何改進業(yè)務流程使之更合理?如何改進業(yè)務流程使之更合理?1010哪些問題是目前傳統(tǒng)手工方法根本無法解決的?哪些問題是目前傳統(tǒng)手工方法根本無法解決的?1111出版社計算機管理信息系統(tǒng)需要解決什么問題?出版社計算機管理信息系統(tǒng)需要解決什么問題?24 情景分析技術(shù)情景分析技術(shù)就是對用戶運用目標系就是對用戶運用目標系統(tǒng)解決某個具體問題的方法和結(jié)果進行分析。統(tǒng)解決某個具體問題的方法和結(jié)果進行分析。 情景分析的用處:情
19、景分析的用處: 它能在某種程度上演示產(chǎn)品的行為,從而便于它能在某種程度上演示產(chǎn)品的行為,從而便于用戶理解,而且還可能進一步揭示出一些系統(tǒng)分析用戶理解,而且還可能進一步揭示出一些系統(tǒng)分析員目前還不知道的需求。員目前還不知道的需求。 由于情景分析較易為用戶所理解,因此,使用由于情景分析較易為用戶所理解,因此,使用這種技術(shù)能保證用戶在需求分析過程中始終扮演一這種技術(shù)能保證用戶在需求分析過程中始終扮演一個積極主動的角色。個積極主動的角色。 2 2 與用戶溝通的方法與用戶溝通的方法252. 面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精 2 2 與用戶溝通的方法與用戶溝通的方法(1)沿)沿數(shù)據(jù)流圖數(shù)據(jù)流圖
20、回溯:回溯:數(shù)據(jù)流圖數(shù)據(jù)流圖的輸出端是系的輸出端是系統(tǒng)的最終目的。向回確定每個數(shù)據(jù)元素的來統(tǒng)的最終目的。向回確定每個數(shù)據(jù)元素的來源,可加細源,可加細數(shù)據(jù)流圖數(shù)據(jù)流圖及及數(shù)據(jù)字典數(shù)據(jù)字典,并將相關(guān),并將相關(guān)算法記錄在算法記錄在IPO圖圖中。中。 (2)用戶復查:從輸入端開始,分析員借助于)用戶復查:從輸入端開始,分析員借助于數(shù)據(jù)流圖、數(shù)據(jù)字典和數(shù)據(jù)流圖、數(shù)據(jù)字典和IPO圖向用戶解釋輸圖向用戶解釋輸入數(shù)據(jù)是怎樣一步一步轉(zhuǎn)變成輸出數(shù)據(jù)。用入數(shù)據(jù)是怎樣一步一步轉(zhuǎn)變成輸出數(shù)據(jù)。用戶及時糾正和補充分析員的認識。戶及時糾正和補充分析員的認識。26(3)反復進行上述分析過程,分析員越來越深)反復進行上述分析過
21、程,分析員越來越深入地定義系統(tǒng)中的數(shù)據(jù)和系統(tǒng)應該完成的功入地定義系統(tǒng)中的數(shù)據(jù)和系統(tǒng)應該完成的功能。能。 問題的具體分析:問題的具體分析:細化數(shù)據(jù)流圖細化數(shù)據(jù)流圖 加細前后的加細前后的I/O須相同。須相同。 分解到須考慮具體實現(xiàn)的代碼時即可停止分解到須考慮具體實現(xiàn)的代碼時即可停止27不需分解不需分解有補充有補充修正修正無補充修正無補充修正分析追蹤分析追蹤數(shù)據(jù)流圖數(shù)據(jù)流圖用戶復查用戶復查細細 化化數(shù)據(jù)流圖數(shù)據(jù)流圖需要需要分解分解283. 簡易的應用規(guī)格說明技術(shù)簡易的應用規(guī)格說明技術(shù)傳統(tǒng)訪談技術(shù)傳統(tǒng)訪談技術(shù)用戶和開發(fā)者往往會區(qū)分用戶和開發(fā)者往往會區(qū)分“我們和他我們和他們們” 這種方法提倡用戶與開發(fā)者
22、密切合作,這種方法提倡用戶與開發(fā)者密切合作,共同標識問題,提出解決方案的要素,商討共同標識問題,提出解決方案的要素,商討不同的方法并指定基本的需求。不同的方法并指定基本的需求。面向團隊的需求收集法面向團隊的需求收集法 2. 2. 與用戶溝通的方法與用戶溝通的方法29面向團隊的需求收集法面向團隊的需求收集法: (用戶與開發(fā)者配合)(用戶與開發(fā)者配合)1)初步訪談;)初步訪談;2)開發(fā)者和用戶分別寫出)開發(fā)者和用戶分別寫出“產(chǎn)品需求產(chǎn)品需求”;3)開會討論,各自展示需求列表;)開會討論,各自展示需求列表;4)得出一致意見,為需求列表制定小型規(guī)格說明;)得出一致意見,為需求列表制定小型規(guī)格說明;5)
23、根據(jù)會議成果,起草完整的軟件需求規(guī)格說明。)根據(jù)會議成果,起草完整的軟件需求規(guī)格說明。304. 快速建立軟件原型快速建立軟件原型 快速原型就是快速建立起來的旨在演快速原型就是快速建立起來的旨在演示目標系統(tǒng)主要功能的可運行的程序。構(gòu)示目標系統(tǒng)主要功能的可運行的程序。構(gòu)建原型的建原型的要點要點是,是,它應該實現(xiàn)用戶看得見它應該實現(xiàn)用戶看得見的功能的功能(例如,屏幕顯示或打印報表例如,屏幕顯示或打印報表),省略,省略目標系統(tǒng)的目標系統(tǒng)的“隱含隱含”功能功能(例如,修改文件例如,修改文件)。 2. 2. 與用戶溝通的方法與用戶溝通的方法特性特性1 1:快速:快速特性特性2 2:容易修改:容易修改31為
24、了快速地構(gòu)建和修改原型,通常使用下述為了快速地構(gòu)建和修改原型,通常使用下述3種方法和工具:種方法和工具:(1) 第四代技術(shù)第四代技術(shù)(2) 可重用的軟件構(gòu)件可重用的軟件構(gòu)件(3) 形式化規(guī)格說明和原型環(huán)境形式化規(guī)格說明和原型環(huán)境 2. 2. 與用戶溝通的方法與用戶溝通的方法32 結(jié)構(gòu)化分析導出的分析模型包括結(jié)構(gòu)化分析導出的分析模型包括數(shù)據(jù)數(shù)據(jù)模型模型、功能模型功能模型和和行為模型行為模型。該模型以。該模型以“數(shù)據(jù)字典數(shù)據(jù)字典”為核心,描述了軟件使用的為核心,描述了軟件使用的所有數(shù)據(jù)對象,圍繞這個核心的是所有數(shù)據(jù)對象,圍繞這個核心的是“實體實體關(guān)系圖關(guān)系圖”、“數(shù)據(jù)流圖數(shù)據(jù)流圖”和和“狀態(tài)轉(zhuǎn)換狀
25、態(tài)轉(zhuǎn)換圖圖”。具體形式如下圖所示:。具體形式如下圖所示: 3. 3. 分析建模與規(guī)格說明分析建模與規(guī)格說明33 3. 3. 分析建模與規(guī)格說明分析建模與規(guī)格說明34實體關(guān)系圖(實體關(guān)系圖(ERER):):數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)對象及其關(guān)系;數(shù)據(jù)對象及其關(guān)系;數(shù)據(jù)流圖(數(shù)據(jù)流圖(DFDF):):功能建模的基礎(chǔ),描述數(shù)功能建模的基礎(chǔ),描述數(shù)據(jù)怎樣轉(zhuǎn)換以及轉(zhuǎn)換的功能;據(jù)怎樣轉(zhuǎn)換以及轉(zhuǎn)換的功能; 狀態(tài)轉(zhuǎn)換圖(狀態(tài)轉(zhuǎn)換圖(STST):):行為建模的基礎(chǔ),表示行為建模的基礎(chǔ),表示系統(tǒng)的各種行為狀態(tài)以及狀態(tài)間的轉(zhuǎn)換方式。系統(tǒng)的各種行為狀態(tài)以及狀態(tài)間的轉(zhuǎn)換方式。 3. 3. 分析建模與規(guī)
26、格說明分析建模與規(guī)格說明軟件需求規(guī)格說明書軟件需求規(guī)格說明書( (S Software oftware R Requirement equirement S Specification)pecification)是需求分析階段得出的最主要的文是需求分析階段得出的最主要的文檔。是軟件開發(fā)、軟件驗收和管理的根據(jù)。檔。是軟件開發(fā)、軟件驗收和管理的根據(jù)。通常用自然語言完整、準確、具體地描述系統(tǒng)的數(shù)通常用自然語言完整、準確、具體地描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯處理需求、接口需求、約束、逆向需求以求、出錯處理需求、接口需求、約束
27、、逆向需求以及將來可能提出的要求。自然語言的規(guī)格說明具有及將來可能提出的要求。自然語言的規(guī)格說明具有容易書寫、容易理解的優(yōu)點,為大多數(shù)人所歡迎和容易書寫、容易理解的優(yōu)點,為大多數(shù)人所歡迎和采用。采用。 SRSSRS的作用:的作用:開發(fā)者與用戶間事實上的技術(shù)合同書;開發(fā)者開發(fā)者與用戶間事實上的技術(shù)合同書;開發(fā)者下一步設(shè)計和編碼的基礎(chǔ);測試驗收目標系統(tǒng)的依據(jù)。下一步設(shè)計和編碼的基礎(chǔ);測試驗收目標系統(tǒng)的依據(jù)。軟件需求規(guī)格說明書軟件需求規(guī)格說明書(SRS)(SRS)364. 4. 實體實體- -聯(lián)系圖聯(lián)系圖 為了把用戶的數(shù)據(jù)要求清晰明確地表達出為了把用戶的數(shù)據(jù)要求清晰明確地表達出來,系統(tǒng)分析員通常建立
28、一個來,系統(tǒng)分析員通常建立一個概念性的數(shù)據(jù)模型概念性的數(shù)據(jù)模型(也稱為信息模型)。概念性數(shù)據(jù)模型是一種面(也稱為信息模型)。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)向問題的數(shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),和信息建模。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實環(huán)境,且與在軟件系統(tǒng)中的它反映了用戶的現(xiàn)實環(huán)境,且與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。實現(xiàn)方法無關(guān)。最常用的表示概念性數(shù)據(jù)模型的方法,是實體最常用的表示概念性數(shù)據(jù)模型的方法,是實體-聯(lián)系方法(聯(lián)系方法(Entity-Relationship Approach)。)。371.
29、 1. 數(shù)據(jù)對象數(shù)據(jù)對象: :是對軟件必須理解的復合信息的表是對軟件必須理解的復合信息的表示。示。在在ERER圖中用矩形框代表實體。圖中用矩形框代表實體。3. 3. 屬性屬性: :屬性定義了數(shù)據(jù)對象的性質(zhì)。屬性定義了數(shù)據(jù)對象的性質(zhì)。 在在ERER圖中用圖中用橢圓形或圓角矩形表示實體(或聯(lián)系)的屬性橢圓形或圓角矩形表示實體(或聯(lián)系)的屬性2. 2. 聯(lián)系聯(lián)系: :數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為以下三類:系,也稱為關(guān)系。聯(lián)系可分為以下三類:(1 1)一對一聯(lián)系()一對一聯(lián)系(1111)(2 2)一對多聯(lián)系()一對多聯(lián)系(1N1N)
30、(3 3)多對多聯(lián)系()多對多聯(lián)系(MNMN)4. 4. 實體實體- -聯(lián)系圖聯(lián)系圖所謂復合信息是指具有所謂復合信息是指具有一系列不同性質(zhì)或?qū)傩砸幌盗胁煌再|(zhì)或?qū)傩缘氖挛铮虼?,僅有單的事物,因此,僅有單個值的事物個值的事物( (例如寬度例如寬度) )不是數(shù)據(jù)對象。不是數(shù)據(jù)對象。384. 4. 實體實體- -聯(lián)系圖聯(lián)系圖教師教師學生學生課程課程學號學號姓名姓名系系年級年級職務職務性別性別職稱職稱性別性別姓名姓名教工號教工號教教學學成績成績學分學分學時學時課名課名課程號課程號圖圖3.2 某校教學管理某校教學管理ER圖圖MN1N練習練習 設(shè)某汽車運輸公司數(shù)據(jù)庫中有三個實體集。一是設(shè)某汽車運輸公司數(shù)
31、據(jù)庫中有三個實體集。一是“車隊車隊”實體集,屬性有車隊號、車隊名等;二是實體集,屬性有車隊號、車隊名等;二是“車輛車輛”實體集,屬性有牌照號、廠家、出廠日期等;實體集,屬性有牌照號、廠家、出廠日期等;三是三是“司機司機”實體集,屬性有司機編號、姓名、電話實體集,屬性有司機編號、姓名、電話等。等。 設(shè)車隊與司機之間存在設(shè)車隊與司機之間存在“聘用聘用”聯(lián)系,每個車隊聯(lián)系,每個車隊可聘用若干司機,但每個司機只能應聘于一個車隊,可聘用若干司機,但每個司機只能應聘于一個車隊,車隊聘用司機有個聘期;車隊與車輛之間存在車隊聘用司機有個聘期;車隊與車輛之間存在“擁有擁有”聯(lián)系,每個車隊可擁有若干車輛,但每輛車
32、只能屬聯(lián)系,每個車隊可擁有若干車輛,但每輛車只能屬于一個車隊;司機與車輛之間存在著于一個車隊;司機與車輛之間存在著“使用使用”聯(lián)系,聯(lián)系,司機使用車輛有使用日期和公里數(shù)兩個屬性,每個司司機使用車輛有使用日期和公里數(shù)兩個屬性,每個司機可使用多輛汽車,每輛汽車可被多個司機使用。機可使用多輛汽車,每輛汽車可被多個司機使用。 N1公里數(shù)公里數(shù)擁有擁有使用日期使用日期車輛車輛牌照號牌照號廠家廠家出廠日期出廠日期N車隊號車隊號車隊車隊車隊名車隊名聘用聘用聘期聘期司機司機司機編號司機編號姓名姓名電話電話1使用使用MNER圖舉例415 5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化 軟件系統(tǒng)經(jīng)常使用各種長期保存的信息,軟件系統(tǒng)經(jīng)常
33、使用各種長期保存的信息,這些信息通常以一定方式組織并存儲在數(shù)據(jù)庫這些信息通常以一定方式組織并存儲在數(shù)據(jù)庫或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異常或刪除異常,簡化修改數(shù)據(jù)的過程,通常需?;騽h除異常,簡化修改數(shù)據(jù)的過程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。第一范式第一范式(1 NF)(1 NF)數(shù)據(jù)冗余程度最大,第五范數(shù)據(jù)冗余程度最大,第五范式式(5 NF)(5 NF)數(shù)據(jù)冗余程度最小。數(shù)據(jù)冗余程度最小。從實用角度看來,從實用角度看來,在大多數(shù)場合選用第三范在大多數(shù)場合選用第三范式都比較恰當式都比較恰當。42狀態(tài)轉(zhuǎn)換圖通過描述狀態(tài)以及導致系狀態(tài)轉(zhuǎn)
34、換圖通過描述狀態(tài)以及導致系統(tǒng)改變狀態(tài)的事件來表示系統(tǒng)的行為,它統(tǒng)改變狀態(tài)的事件來表示系統(tǒng)的行為,它沒有表示出系統(tǒng)所執(zhí)行的處理,只表示了沒有表示出系統(tǒng)所執(zhí)行的處理,只表示了處理結(jié)果可能的狀態(tài)轉(zhuǎn)換。處理結(jié)果可能的狀態(tài)轉(zhuǎn)換。6. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖436. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 1 1 狀態(tài)狀態(tài) 狀態(tài)是任何可以被觀察到的系統(tǒng)行為狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。 在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。在一張
35、狀態(tài)圖中中間狀態(tài)。在一張狀態(tài)圖中只能有一個只能有一個初初態(tài),而終態(tài)則可以有態(tài),而終態(tài)則可以有0 0至多個至多個。442 2 事件事件 事件是在某個特定時刻發(fā)生的事情,事件是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另一個它是對引起系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象。狀態(tài)的外界事件的抽象。 簡而言之,事件就是引起系統(tǒng)狀態(tài)轉(zhuǎn)簡而言之,事件就是引起系統(tǒng)狀態(tài)轉(zhuǎn)換的控制信息。換的控制信息。6. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖456. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖3. 3. 符號符號 在狀態(tài)圖中,在狀態(tài)圖中,初態(tài)初態(tài)用實心圓表示,終用實心圓表示,終態(tài)用一對同心圓(內(nèi)圓為實心圓)表示。態(tài)
36、用一對同心圓(內(nèi)圓為實心圓)表示。 中間狀態(tài)中間狀態(tài)用圓角矩形表示,可以用兩用圓角矩形表示,可以用兩條水平橫線把它分成上、中、下條水平橫線把它分成上、中、下3 3個部分。個部分。上面部分為狀態(tài)的名稱,上面部分為狀態(tài)的名稱,這部分是必須有的;這部分是必須有的;中間部分為狀態(tài)變量的名中間部分為狀態(tài)變量的名字和值,這部分是可選的;字和值,這部分是可選的;下面部分是活動表,下面部分是活動表,這部分也是可選的。這部分也是可選的?;顒颖淼恼Z法格式:活動表的語法格式:事件名事件名( (參數(shù)表參數(shù)表)/)/動作表達式動作表達式事件名:事件名:可以是任何事件的名稱??梢允侨魏问录拿Q。nentryentry事
37、件:指定進入該狀態(tài)的動作事件:指定進入該狀態(tài)的動作nexitexit事件:指定退出該狀態(tài)的動作事件:指定退出該狀態(tài)的動作ndodo事件:指定在該狀態(tài)下的動作。事件:指定在該狀態(tài)下的動作。動作表達式:動作表達式:描述應做的具體動作。描述應做的具體動作。47 狀態(tài)圖中兩個狀態(tài)之間帶箭頭的連線狀態(tài)圖中兩個狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。狀稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應在表示狀態(tài)轉(zhuǎn)換的箭頭線上標出觸發(fā)下應在表示狀態(tài)轉(zhuǎn)換的箭頭線上標出觸發(fā)轉(zhuǎn)換的事件表達式;如果在箭頭線上未標轉(zhuǎn)換的事件表達式;如果在箭頭
38、線上未標明事件,則表示在源狀態(tài)的內(nèi)部活動執(zhí)行明事件,則表示在源狀態(tài)的內(nèi)部活動執(zhí)行完之后自動觸發(fā)轉(zhuǎn)換。完之后自動觸發(fā)轉(zhuǎn)換。6. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖48事件表達式的語法如下:事件表達式的語法如下:事件說明守衛(wèi)條件動作表達式事件說明守衛(wèi)條件動作表達式事件說明的語法為:事件名事件說明的語法為:事件名( (參數(shù)表參數(shù)表) )。守衛(wèi)條件是一個布爾表達式。如果同時使用事件說守衛(wèi)條件是一個布爾表達式。如果同時使用事件說明和守衛(wèi)條件,則當且僅當事件發(fā)生且布爾表達明和守衛(wèi)條件,則當且僅當事件發(fā)生且布爾表達式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只
39、要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。發(fā)生。動作表達式是一個過程表達式,當狀態(tài)轉(zhuǎn)換開始時動作表達式是一個過程表達式,當狀態(tài)轉(zhuǎn)換開始時執(zhí)行該表達式。執(zhí)行該表達式。6. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖49圖圖3.3 3.3 狀態(tài)圖中使用的主要符號狀態(tài)圖中使用的主要符號6. 6. 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 在任一給定的時刻,一個對象總是處于某一特定的狀態(tài)。一個人可以是新生兒、嬰兒、兒童、少年、青年、中年或老年。一個電梯可以處于上升、下降或停止狀態(tài)。一臺洗衣機可處于浸泡(Soak)、洗滌(Wash)、漂洗(Rinse)、脫水(Spin)或關(guān)機(Off)狀態(tài)。SoakingWa
40、shingRinsingSpinning51例子 為了具體說明怎樣用狀態(tài)圖建立系統(tǒng)的行為了具體說明怎樣用狀態(tài)圖建立系統(tǒng)的行為模型,下面舉一個例子。圖為模型,下面舉一個例子。圖3.43.4是人們非常熟是人們非常熟悉的電話系統(tǒng)的狀態(tài)圖。悉的電話系統(tǒng)的狀態(tài)圖。 圖中表明,沒有人打電話時電話處于閑置圖中表明,沒有人打電話時電話處于閑置狀態(tài);有人拿起聽筒則進入撥號音狀態(tài),到達這狀態(tài);有人拿起聽筒則進入撥號音狀態(tài),到達這個狀態(tài)后,電話的行為是響起撥號音并計時;這個狀態(tài)后,電話的行為是響起撥號音并計時;這時如果拿起聽筒的人改變主意不想打了,他把聽時如果拿起聽筒的人改變主意不想打了,他把聽筒放下筒放下( (掛
41、斷掛斷) ),電話重又回到閑置狀態(tài);如果拿,電話重又回到閑置狀態(tài);如果拿起聽筒很長時間不撥號起聽筒很長時間不撥號( (超時超時) ),則進入超時狀,則進入超時狀態(tài);態(tài);。53 數(shù)據(jù)流圖數(shù)據(jù)流圖是結(jié)構(gòu)化分析的基本工具,體現(xiàn)了自是結(jié)構(gòu)化分析的基本工具,體現(xiàn)了自頂向下逐步求精的分析過程,確定了系統(tǒng)的任務頂向下逐步求精的分析過程,確定了系統(tǒng)的任務流和數(shù)據(jù)流;流和數(shù)據(jù)流; 實體關(guān)系圖實體關(guān)系圖描述了系統(tǒng)的數(shù)據(jù)關(guān)系,從而幫助描述了系統(tǒng)的數(shù)據(jù)關(guān)系,從而幫助開發(fā)人員分析和理解系統(tǒng)數(shù)據(jù)的組成,并為系統(tǒng)開發(fā)人員分析和理解系統(tǒng)數(shù)據(jù)的組成,并為系統(tǒng)設(shè)計階段定義系統(tǒng)數(shù)據(jù)庫的物理結(jié)構(gòu)打下基礎(chǔ);設(shè)計階段定義系統(tǒng)數(shù)據(jù)庫的物理
42、結(jié)構(gòu)打下基礎(chǔ); 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖描述了系統(tǒng)狀態(tài)之間的變化過程,描述了系統(tǒng)狀態(tài)之間的變化過程,它對于實時系統(tǒng)和控制系統(tǒng)尤為重要。它對于實時系統(tǒng)和控制系統(tǒng)尤為重要。 547.7. 其他圖形工具其他圖形工具層次方框圖層次方框圖Warnier圖圖IPO圖圖55 層次方框圖用樹形結(jié)層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)??蛎枥L數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的樹形結(jié)構(gòu)的頂層頂層是一個單是一個單獨的矩形框,它代表完整獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子矩形框代表這個數(shù)據(jù)的子集,最集,最底層底層的各個框代表的各個框代
43、表組成這個數(shù)據(jù)的實際數(shù)據(jù)組成這個數(shù)據(jù)的實際數(shù)據(jù)元 素 ( 不 能 再 分 割 的 元元 素 ( 不 能 再 分 割 的 元素)。素)。層次方框圖層次方框圖產(chǎn)品產(chǎn)品硬件硬件軟件軟件服務服務處理機處理機存儲器存儲器外部設(shè)備外部設(shè)備系統(tǒng)軟件系統(tǒng)軟件應用軟件應用軟件軟件服務軟件服務硬件維修硬件維修培訓培訓編譯程序編譯程序軟件工具軟件工具操作系統(tǒng)操作系統(tǒng)圖圖3.5 層次方框圖的一個例子層次方框圖的一個例子應發(fā)工資應發(fā)工資實發(fā)工資實發(fā)工資基本基本工資工資 獎金獎金扣扣 款款水電水電扣款扣款缺勤缺勤扣款扣款 個 人 所個 人 所得 稅 扣得 稅 扣款款出出勤勤獎獎業(yè)業(yè)績績獎獎其其它它補補貼貼 補補 貼貼國國
44、家家津津貼貼職職務務津津貼貼交交通通補補貼貼部部門門補補貼貼 津津 貼貼 國家國家工資工資58 法國計算機科學家法國計算機科學家Warnier提出了表示信息層提出了表示信息層次結(jié)構(gòu)的另外一種圖形工具。用次結(jié)構(gòu)的另外一種圖形工具。用Warnier圖可以指出圖可以指出一類信息或一個信息量是一類信息或一個信息量是重復出現(xiàn)重復出現(xiàn)的,也可以表示的,也可以表示特定信息在某一類信息中是特定信息在某一類信息中是有條件地出現(xiàn)有條件地出現(xiàn)的。因為的。因為重復和條件約束是說明軟件處理過程的基礎(chǔ),所以重復和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易把很容易把Warnier圖轉(zhuǎn)變成軟件設(shè)計的工具。圖轉(zhuǎn)變成軟件設(shè)計的
45、工具。WarnierWarnier圖圖軟件產(chǎn)品軟件產(chǎn)品軟件工具軟件工具編輯程序(編輯程序(P3)應用軟件應用軟件編譯程序(編譯程序(P2)操作系統(tǒng)(操作系統(tǒng)(P1)系統(tǒng)軟件系統(tǒng)軟件測試驅(qū)動程序(測試驅(qū)動程序(P4)設(shè)計輔助工具(設(shè)計輔助工具(P5)圖圖3.4 Warnier圖的一個例子圖的一個例子2021-12-459例子:層次層次(n1 ,n2):重復重復n1到到n2次次 :二者擇一:二者擇一例:例: 頭條新聞頭條新聞 地區(qū)隊地區(qū)隊 頭版頭版 國內(nèi)新聞國內(nèi)新聞 體育新聞體育新聞 職業(yè)隊職業(yè)隊 本地新聞本地新聞 拳擊拳擊 社論社論(1,1) 經(jīng)營簡訊經(jīng)營簡訊 專欄專欄(1,3) 報紙報紙 社論
46、社論 讀者來信讀者來信(1,3) 副刊副刊 商業(yè)新聞商業(yè)新聞 雇員簡訊雇員簡訊 諷刺漫畫諷刺漫畫(0,1) 一般新聞一般新聞 體育新聞體育新聞 招生招生 副刊副刊 商業(yè)新聞商業(yè)新聞 廣告廣告 招聘招聘 廣告廣告 求助求助細細化化60 IPO IPO圖是輸入處理輸出圖的簡稱,它是美國圖是輸入處理輸出圖的簡稱,它是美國IBMIBM公司發(fā)展完善起來的一種圖形工具,能夠方便地公司發(fā)展完善起來的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。系。IPOIPO圖圖舊的主文件舊的主文件事務文件事務文件1.校驗主記校驗主記錄錄2.校驗事務校驗
47、事務記錄記錄3.更新主記更新主記錄錄有效的主記有效的主記錄錄有效的事務有效的事務記錄記錄更新后的主更新后的主文件文件輸入輸入處理處理輸出輸出圖圖3.7 IPO圖的一個例子圖的一個例子IPO IPO 圖圖 輸入處理輸入處理輸出(輸出(Input Input Process Process Output Output )圖)圖的簡稱。的簡稱。【例例】招聘考試招聘考試成績管理系統(tǒng)成績管理系統(tǒng)的的 IPO IPO 圖圖。62 本書建議使本書建議使用一種改進的用一種改進的IPOIPO圖(也稱為圖(也稱為IPOIPO表表),這種圖中包),這種圖中包含某些附加信息含某些附加信息,在軟件設(shè)計過,在軟件設(shè)計過程
48、中將比原始的程中將比原始的IPOIPO圖更有用。圖更有用。IPO表表系統(tǒng):系統(tǒng):模塊:模塊:編號:編號:作者:作者:日期:日期:被調(diào)用:被調(diào)用:調(diào)用:調(diào)用:輸入:輸入:輸出:輸出:處理:處理:局部數(shù)據(jù)元素:局部數(shù)據(jù)元素:注釋:注釋:圖圖3.8 改進的改進的IPO圖的形式圖的形式8 8 驗證軟件需求驗證軟件需求1 1 從哪些方面驗證軟件需求的正確性從哪些方面驗證軟件需求的正確性(1) (1) 一致性一致性 所有需求必須是一致的,任何一條需求所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。不能和其他需求互相矛盾。(2) (2) 完整性完整性 需求必須是完整的,規(guī)格說明書應該包需求必須是完
49、整的,規(guī)格說明書應該包括用戶需要的每一個功能或性能。括用戶需要的每一個功能或性能。(3) (3) 現(xiàn)實性現(xiàn)實性 指定的需求應該是用現(xiàn)有的硬件技術(shù)和指定的需求應該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)的。對硬件技術(shù)的進步可以軟件技術(shù)基本上可以實現(xiàn)的。對硬件技術(shù)的進步可以做些預測,對軟件技術(shù)的進步則很難做出預測,只能做些預測,對軟件技術(shù)的進步則很難做出預測,只能從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實性。從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實性。(4) (4) 有效性有效性 必須證明需求是正確有效的,確實能解必須證明需求是正確有效的,確實能解決用戶面對的問題。決用戶面對的問題。1. 1. 驗證需求的一致性驗
50、證需求的一致性自然語言書寫需求分析自然語言書寫需求分析形式化的描述軟件需求的方法形式化的描述軟件需求的方法2. 2. 驗證需求的現(xiàn)實性驗證需求的現(xiàn)實性參照以往開發(fā)類似系統(tǒng)的經(jīng)驗,參照以往開發(fā)類似系統(tǒng)的經(jīng)驗,采用仿真或性能模擬技術(shù)采用仿真或性能模擬技術(shù)3. 3. 驗證需求的完整性和有效性驗證需求的完整性和有效性和目標系統(tǒng)的用戶溝通和目標系統(tǒng)的用戶溝通快速建立原型系統(tǒng)快速建立原型系統(tǒng)2 2 驗證軟件需求的方法驗證軟件需求的方法軟件工具應該滿足下列要求:軟件工具應該滿足下列要求:(1) (1) 必須有形式化的語法必須有形式化的語法( (或表或表) ),因此可以用計算,因此可以用計算機自動處理使用這種
51、語法說明的內(nèi)容;機自動處理使用這種語法說明的內(nèi)容;(2) (2) 使用這個軟件工具能夠?qū)С鲈敿毜奈臋n;使用這個軟件工具能夠?qū)С鲈敿毜奈臋n;(3) (3) 必須提供分析必須提供分析( (測試測試) )規(guī)格說明書的不一致性和規(guī)格說明書的不一致性和冗余性的手段,并且應該能夠產(chǎn)生一組報告指明對冗余性的手段,并且應該能夠產(chǎn)生一組報告指明對完整性分析的結(jié)果;完整性分析的結(jié)果;(4) (4) 使用這個軟件工具之后,應該能夠改進通信狀使用這個軟件工具之后,應該能夠改進通信狀況。況。3 3 用于需求分析的軟件工具用于需求分析的軟件工具RSLRSL( (需求陳述語言需求陳述語言) )。RSLRSL中的語句是計算機
52、可以處理的,處理以中的語句是計算機可以處理的,處理以后把從這些語句中得到的信息集中存放在一后把從這些語句中得到的信息集中存放在一個稱為個稱為ASSMASSM(抽象系統(tǒng)語義模型)的數(shù)據(jù)庫(抽象系統(tǒng)語義模型)的數(shù)據(jù)庫中。有一組軟件工具處理中。有一組軟件工具處理ASSMASSM數(shù)據(jù)庫中的信數(shù)據(jù)庫中的信息以產(chǎn)生出用息以產(chǎn)生出用PASCALPASCAL語言書寫的模擬程序,語言書寫的模擬程序,從而可以檢驗需求的一致性、完整性和現(xiàn)實從而可以檢驗需求的一致性、完整性和現(xiàn)實性。性。PSL/PSAPSL/PSA( (問題陳述語言問題陳述語言/ /問題陳述分析程序問題陳述分析程序) )系統(tǒng)這個系統(tǒng)是系統(tǒng)這個系統(tǒng)是C
53、ADSATCADSAT(計算機輔助設(shè)計和(計算機輔助設(shè)計和規(guī)格說明分析工具)的一部分,它的基本結(jié)規(guī)格說明分析工具)的一部分,它的基本結(jié)構(gòu)類似于構(gòu)類似于RSLRSL。其中。其中PSLPSL是用來描述系統(tǒng)的形是用來描述系統(tǒng)的形式語言,式語言,PSAPSA是處理是處理PSLPSL描述的分析程序。用描述的分析程序。用PSLPSL描述的系統(tǒng)屬性放在一個數(shù)據(jù)庫中。一描述的系統(tǒng)屬性放在一個數(shù)據(jù)庫中。一旦建立起數(shù)據(jù)庫之后即可增加信息、刪除信旦建立起數(shù)據(jù)庫之后即可增加信息、刪除信息或修改信息,并且保持信息的一致性。息或修改信息,并且保持信息的一致性。PSAPSA對數(shù)據(jù)庫進行處理以產(chǎn)生各種報告,測對數(shù)據(jù)庫進行處理
54、以產(chǎn)生各種報告,測試不一致性或遺漏,并且生成文檔資料試不一致性或遺漏,并且生成文檔資料。68需求規(guī)格說明書需求規(guī)格說明書封面:封面: 文檔編號文檔編號: 版版 本本 號:號: 文檔名稱:文檔名稱: 項目名稱:項目名稱: 項目負責人:項目負責人: 年年 月月 日日編寫:編寫:核對:核對:審核:審核:批準:批準:開發(fā)單位:開發(fā)單位: 69需求規(guī)格說明書需求規(guī)格說明書內(nèi)容內(nèi)容:系統(tǒng)規(guī)格說明:系統(tǒng)規(guī)格說明: 系統(tǒng)概貌系統(tǒng)概貌 功能要求功能要求 性能要求性能要求 運行要求運行要求 可能增加的要求可能增加的要求 DFD IPO 數(shù)據(jù)要求:數(shù)據(jù)要求: DD Hierarchy 或或 Warnier Diag
55、ram 用戶系統(tǒng)描述用戶系統(tǒng)描述 初步用戶手冊:從用戶的觀點考慮系統(tǒng)初步用戶手冊:從用戶的觀點考慮系統(tǒng) 系統(tǒng)功能、性能系統(tǒng)功能、性能 使用與步驟使用與步驟 等等修正的開發(fā)計劃:修正的開發(fā)計劃: 成本估計成本估計 資源使用計劃資源使用計劃 進度計劃進度計劃Software EngineeringSRS大綱(模板)大綱(模板) 1引引 言言 (1)(1)編寫目的編寫目的( (闡明編寫需求說明書的目的,指明闡明編寫需求說明書的目的,指明讀者對象讀者對象) ) (2) (2)項目背景項目背景( (應包括:項目的委托單位、開發(fā)單應包括:項目的委托單位、開發(fā)單位和主管部門;該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系位和主
56、管部門;該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系) ) (3) (3)定義定義( (列出文檔中所用到的專門術(shù)語的定義和列出文檔中所用到的專門術(shù)語的定義和縮寫詞的原文縮寫詞的原文) ) (4) (4)參考資料參考資料( (可包括:項目經(jīng)核準的計劃任務書可包括:項目經(jīng)核準的計劃任務書、合同或上級機關(guān)的批文;項目開發(fā)計劃;文檔所、合同或上級機關(guān)的批文;項目開發(fā)計劃;文檔所引用的資料、標準和規(guī)范。列出這些資料的作者、引用的資料、標準和規(guī)范。列出這些資料的作者、標題、編號、發(fā)表日期、出版單位或資料來源標題、編號、發(fā)表日期、出版單位或資料來源) )Software EngineeringSRS大綱(模板)大綱(模板)2
57、任務概述任務概述 (1)目標目標 (2)運行環(huán)境運行環(huán)境 (3)條件與限制條件與限制3數(shù)據(jù)描述數(shù)據(jù)描述 (1)靜態(tài)數(shù)據(jù)靜態(tài)數(shù)據(jù) (2)動態(tài)數(shù)據(jù)動態(tài)數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù)包括輸入數(shù)據(jù)和輸出數(shù)據(jù)) (3)數(shù)據(jù)庫描述數(shù)據(jù)庫描述(給出使用數(shù)據(jù)庫的名稱和類型給出使用數(shù)據(jù)庫的名稱和類型) (4)數(shù)據(jù)詞典數(shù)據(jù)詞典 (5)數(shù)據(jù)采集數(shù)據(jù)采集Software EngineeringSRS大綱(模板)大綱(模板)4功能要求功能要求(1)功能劃分功能劃分(2)功能描述功能描述5性能需求性能需求(1)數(shù)據(jù)精確度數(shù)據(jù)精確度 (2)時間特性時間特性(如響應時間、更新處理時間、數(shù)據(jù)如響應時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)換與傳
58、輸時間、運行時間等轉(zhuǎn)換與傳輸時間、運行時間等)(3)適應性適應性(在操作方式、運行環(huán)境、與其他軟件在操作方式、運行環(huán)境、與其他軟件的接口以及開發(fā)計劃等發(fā)生變化時,應具有的適應的接口以及開發(fā)計劃等發(fā)生變化時,應具有的適應能力。能力。Software EngineeringSRS大綱(模板)大綱(模板)6運行需求運行需求 (1)用戶界面用戶界面(如屏幕格式、報表格式、菜單格式、輸如屏幕格式、報表格式、菜單格式、輸入輸出時間等入輸出時間等)(2)硬件接口硬件接口(3)軟件接口軟件接口(4)故障處理故障處理 7其他要求其他要求 如可使用性、安全保密、可維護性、可移植性等。如可使用性、安全保密、可維護性
59、、可移植性等。 8附附 錄錄2021-12-474圖書館系統(tǒng)1一一. .項目說明項目說明 開發(fā)計算機圖書管理系統(tǒng)。主要進行四個方面的管理:圖書的購入、開發(fā)計算機圖書管理系統(tǒng)。主要進行四個方面的管理:圖書的購入、 借閱、歸還及注銷。借閱、歸還及注銷。 1.1.購入新書時需要為該書編制圖書卡片購入新書時需要為該書編制圖書卡片, ,包括分類目錄號、流水號、書名、包括分類目錄號、流水號、書名、 作者、內(nèi)容摘要、價格和購書日期等信息,寫入圖書目錄文件中。作者、內(nèi)容摘要、價格和購書日期等信息,寫入圖書目錄文件中。 2.2.讀者借書時填寫借書單讀者借書時填寫借書單, ,包括讀者號、欲借圖書分類目錄號。系統(tǒng)首
60、先包括讀者號、欲借圖書分類目錄號。系統(tǒng)首先 檢查該讀者號是否有效,若無效,則拒絕借書;否則進一步檢查所借檢查該讀者號是否有效,若無效,則拒絕借書;否則進一步檢查所借 圖書是否超過最大限制數(shù)圖書是否超過最大限制數(shù)(5(5本本) ),若已達到最大限制數(shù),若已達到最大限制數(shù)(5(5本本) ),則拒絕,則拒絕 借書;否則,讀者可以借出該書,登記圖書分類目錄號、讀者號、借借書;否則,讀者可以借出該書,登記圖書分類目錄號、讀者號、借 閱日期等,寫回到借書文件中去。閱日期等,寫回到借書文件中去。 3.3.讀者還書時讀者還書時, ,根據(jù)圖書流水號根據(jù)圖書流水號, ,從借書文件中讀出和該圖書相關(guān)的借閱從借書文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度敬老院食堂餐飲承包協(xié)議
- 二零二五年度土地承包經(jīng)營權(quán)抵押擔保合同樣本3篇
- 二零二五年度情侶戀愛行為規(guī)范協(xié)議2篇
- 二零二五年度互聯(lián)網(wǎng)項目擔保人變更協(xié)議3篇
- 二零二五年度汽車抵押借款合同執(zhí)行標準2篇
- 資產(chǎn)評估課程設(shè)計電腦
- 體育場館布置方案范文(2篇)
- 二零二五年度水利工程設(shè)備安裝施工合同模板6篇
- 房建安全監(jiān)理細則模版(2篇)
- 透明傳輸課程設(shè)計
- GB/T 41837-2022溫泉服務溫泉水質(zhì)要求
- YS/T 79-2006硬質(zhì)合金焊接刀片
- 考研考博-英語-山東師范大學押題密卷附帶答案詳解篇
- 實用性閱讀與交流任務群設(shè)計思路與教學建議
- 中醫(yī)診療器具清洗消毒(醫(yī)院感染防控專家課堂培訓課件)
- 通風設(shè)施標準
- 寵物智能用品項目計劃書【模板范文】
- 藥廠生產(chǎn)車間現(xiàn)場管理-PPT課件
- 軸與孔標準公差表
- 防火門施工方案
- 人教PEP版2022-2023六年級英語上冊期末試卷及答案(含聽力材料)
評論
0/150
提交評論