軟件需求分析教程精華_第1頁
軟件需求分析教程精華_第2頁
軟件需求分析教程精華_第3頁
軟件需求分析教程精華_第4頁
軟件需求分析教程精華_第5頁
已閱讀5頁,還剩136頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程方法與實踐2/150主要問題主要問題l什么是軟件需求?什么是軟件需求?l軟件需求分析有哪些過程?軟件需求分析有哪些過程?l如何啟動分析過程?如何啟動分析過程?l什么是面向數據的建模?什么是面向數據的建模?l什么是面向數據流的建模?什么是面向數據流的建模?l什么是非形式化建模、半形式化建模和形式化建模?什么是非形式化建模、半形式化建模和形式化建模?l什么是統一建模語言(什么是統一建模語言(UML)?)?l什么是用例建模?什么是用例建模?l什么是領域模型?什么是領域模型?3/150軟件需求分析過程軟件需求分析過程l什么是軟件需求?什么是軟件需求?l軟件需求分析有哪些過程?軟件需求分析有哪些

2、過程?l如何啟動分析過程?如何啟動分析過程?l需求規格文檔有哪些內容?需求規格文檔有哪些內容?l需求分析有哪些技術?需求分析有哪些技術?4/150 一般一般把需求定義為把需求定義為“(正在構建的)系統必須符(正在構建的)系統必須符合的條件或具備的功能或能力合的條件或具備的功能或能力”。電氣和電子工程師。電氣和電子工程師學會使用的定義與此類似。學會使用的定義與此類似。 著名的需求工程設計師著名的需求工程設計師 Merlin Dorfman Merlin Dorfman 和和 Richard H. Thayer Richard H. Thayer 提出了一個包容且更為精練的定提出了一個包容且更為精

3、練的定義,它特指軟件方面義,它特指軟件方面 - - 但不僅僅限于軟件:但不僅僅限于軟件: 1 1、軟件需求可定義為軟件需求可定義為: 用戶需解決某一問題或達用戶需解決某一問題或達到某一目標所需的軟件功能。到某一目標所需的軟件功能。 2 2、系統或系統構件為了滿足合同、規約、標準或其、系統或系統構件為了滿足合同、規約、標準或其他正式實行的文檔而他正式實行的文檔而必須滿足或具備的軟件功能必須滿足或具備的軟件功能。5.1 什么是軟件需求什么是軟件需求5/150需求工程基本任務需求工程基本任務需求工程需求工程需求管理需求管理需求開發需求開發需求獲取需求獲取需求分析需求分析需求規格說明需求規格說明需求驗

4、證需求驗證變更管理變更管理6/150需求分析的基本任務需求分析的基本任務l需求分析的基本任務不是確定系統怎樣完成它的工需求分析的基本任務不是確定系統怎樣完成它的工作,而是作,而是確定系統必須完成哪些工作確定系統必須完成哪些工作,也就是對目,也就是對目標系統提出完整、準確、清晰、具體的要求。并在標系統提出完整、準確、清晰、具體的要求。并在在需求分析階段結束之前,由系統分析員寫出軟件在需求分析階段結束之前,由系統分析員寫出軟件需求規格說明書,以書面形式準確地描述軟件需求。需求規格說明書,以書面形式準確地描述軟件需求。l需求分析的任務需求分析的任務就是借助于當前系統的邏輯模型導就是借助于當前系統的邏

5、輯模型導出目標系統的邏輯模型,解決目標系統的出目標系統的邏輯模型,解決目標系統的 “做什么做什么” 的問題。的問題。7/150需求分析模型需求分析模型系統實現模型系統實現模型目標系統目標系統當前系統當前系統物理模型物理模型邏輯模型邏輯模型邏輯模型邏輯模型物理模型物理模型模型化模型化抽象化抽象化實例化實例化具體化具體化理理解解需需求求表表達達需需求求導導出出做什么做什么怎怎么么做做需求分析的需求分析的主要工作主要工作系統流程圖系統流程圖或高層或高層DFDDFD圖圖DFDDFD圖、圖、STDSTD圖、圖、E-RE-R圖、用例圖、用例圖、圖、類圖、順序圖類圖、順序圖等等8/150目目標標系系統統描述

6、現實系統是如何描述現實系統是如何在物理上實現的。在物理上實現的。描述新系統是如何實描述新系統是如何實施的(包括技術)。施的(包括技術)。 邏輯模型邏輯模型 物理模型物理模型 ( (本質模型、概念模型本質模型、概念模型) () (實施模型、技術模型實施模型、技術模型) )描述重要的業務功能描述重要的業務功能,無論系統是如何實,無論系統是如何實施的。施的。需求分析模型需求分析模型9/150軟件需求曾經讓我們如此狼狽軟件需求曾經讓我們如此狼狽10/150軟件開發的問題分類軟件開發的問題分類1 1、需求規格說明、需求規格說明4 4、軟件和測試、軟件和測試2 2、管理客戶需求、管理客戶需求5 5、項目管

7、理、項目管理3 3、建檔、建檔6 6、編碼、編碼問題的重要性依次降低問題的重要性依次降低ESPITI(ESPITI(歐洲軟件歐洲軟件過程改進培訓倡議)過程改進培訓倡議)所作的一個調查,所作的一個調查,38003800個被調查者認個被調查者認為,軟件開發的主為,軟件開發的主要問題、次要問題要問題、次要問題和不是問題的問題和不是問題的問題如圖。如圖。一半以上的人認為,一半以上的人認為,軟件的二個最大問軟件的二個最大問題是:題是:1 1、需求規格說明、需求規格說明2 2、管理客戶需求、管理客戶需求相對而言,編碼不相對而言,編碼不是問題是問題11/150需求錯誤的代價需求錯誤的代價修復的相對成本修復的

8、相對成本需求階段需求階段0.1-0.20.1-0.2設計設計0.50.5維護維護2020驗收測試驗收測試5 5單元測試單元測試2 2編碼編碼1 1“ 需求開發需求開發可能是軟件開發中最困難、最關鍵、最易可能是軟件開發中最困難、最關鍵、最易出錯以及最需要溝通的方面出錯以及最需要溝通的方面 ”12/150需求變化需求變化合理范圍內的變化:合理范圍內的變化:u用戶不了解自己的需求用戶不了解自己的需求u需求本身易變,市場、技術、競爭因素需求本身易變,市場、技術、競爭因素不合理的變化:不合理的變化:u需求文檔質量不高需求文檔質量不高u需求分析技能、技術和管理上的缺陷需求分析技能、技術和管理上的缺陷需求變

9、化的原因:需求變化的原因:u未受控制的需求變更未受控制的需求變更u遺漏需求遺漏需求u用戶交流不夠用戶交流不夠u需求規約質量差需求規約質量差u低效的需求分析低效的需求分析謹記一點,謹記一點,需求是經常變動的需求是經常變動的,只有先做好需求的分析,了解只有先做好需求的分析,了解業務以后的發展趨勢,做好具業務以后的發展趨勢,做好具有拓展性的系統設計,才會給有拓展性的系統設計,才會給系統更大的擴展空間,從而在系統更大的擴展空間,從而在需求發生變化的時候可以更從需求發生變化的時候可以更從容的修改。容的修改。 13/150需求分析的重要性需求分析的重要性l需求的重要性:需求的重要性:u需求是產品的根源,需

10、求工作的優劣對產品影響最大。需求是產品的根源,需求工作的優劣對產品影響最大。u是系統開發的基礎,質量和成敗的關鍵是系統開發的基礎,質量和成敗的關鍵 u國內軟件業的痼疾:人們并不清楚究竟該做什么,但卻一國內軟件業的痼疾:人們并不清楚究竟該做什么,但卻一直忙碌不停地開發。直忙碌不停地開發。l需求分析需求分析是通過問題識別、分析與綜合、制訂規格說明和評是通過問題識別、分析與綜合、制訂規格說明和評審等階段,達到為系統設計提供依據的目標。因此,需求分審等階段,達到為系統設計提供依據的目標。因此,需求分析過程包括:析過程包括:u確定對系統的綜合要求確定對系統的綜合要求u分析系統的數據要求分析系統的數據要求

11、u抽象出并確立目標系統的邏輯模型抽象出并確立目標系統的邏輯模型u編寫需求規格說明書編寫需求規格說明書14/150l 需求分析就是為了實現系統需求,并使最后交付成果與需求需求分析就是為了實現系統需求,并使最后交付成果與需求所要求的目標不產生:所要求的目標不產生:含糊性、不完整性、不可檢驗性、不含糊性、不完整性、不可檢驗性、不一致性、不可追蹤性和不可用性一致性、不可追蹤性和不可用性。l 需求分析面向下階段需求分析面向下階段系統概要設計系統概要設計l 需求分析采用自己的特定方法,達到相應的階段要求需求分析采用自己的特定方法,達到相應的階段要求u采用的方法是盡量地讓用戶和開發團隊都能理解并認同采用的方

12、法是盡量地讓用戶和開發團隊都能理解并認同系統目標和范圍界定的方法系統目標和范圍界定的方法業務業務/ /系統模型、用例和系統模型、用例和USE CASEUSE CASE圖圖u需求分析階段的目標是用計算機的(而不再是用戶)眼需求分析階段的目標是用計算機的(而不再是用戶)眼光和語言,分解需求、定義需求。但是,這個眼光不是光和語言,分解需求、定義需求。但是,這個眼光不是程序設計員程序設計員的眼光,是的眼光,是系統分析師系統分析師的眼光的眼光u經過需求處理后,經過需求處理后,達到需求規范要求達到需求規范要求u分析的方法是一套分析的方法是一套“建模建?!奔夹g技術需求分析的成果需求分析的成果15/150軟件

13、需求的分類軟件需求的分類l功能需求:描述系統預期提供的功能或服務功能需求:描述系統預期提供的功能或服務u對系統應提供的服務對系統應提供的服務u如何對輸入做出反應如何對輸入做出反應u系統在特定條件下的行為系統在特定條件下的行為l非功能需求:指那些不直接與系統具體功能相關非功能需求:指那些不直接與系統具體功能相關的一類需求的一類需求u產品需求產品需求u機構需求機構需求u外部需求外部需求l領域需求:源于系統的應用領域需求領域需求:源于系統的應用領域需求16/150 功能需求功能需求l軟件系統的功能需求描述可以有許多方式:軟件系統的功能需求描述可以有許多方式:u文字描述文字描述u圖表表示圖表表示l功能

14、需求可以以不同的詳細程度反復編寫和細化功能需求可以以不同的詳細程度反復編寫和細化l功能需求描述應該完整而且一致和準確功能需求描述應該完整而且一致和準確u完整性意味著用戶所需的所有的服務應該全部給完整性意味著用戶所需的所有的服務應該全部給出描述出描述u一致性意味著需求描述不能前后矛盾一致性意味著需求描述不能前后矛盾u準確性是指需求不能出現模糊和二義性的地方準確性是指需求不能出現模糊和二義性的地方17/150功能需求描述:出卷系統功能需求描述:出卷系統l教師能夠根據自己的要求手動或自動出一份試卷;教師能夠根據自己的要求手動或自動出一份試卷;l教師可以修改試卷中不合適的題目,并能自動生教師可以修改試

15、卷中不合適的題目,并能自動生成各種樣式的試卷;成各種樣式的試卷;l教師可以對試題中的題目進行更新。教師可以對試題中的題目進行更新。18/150 非功能需求非功能需求l非功能需求主要與系統的總體特征相關,是一些限制非功能需求主要與系統的總體特征相關,是一些限制性要求,是對實際使用環境所做的要求性要求,是對實際使用環境所做的要求u性能要求性能要求u可靠性要求可靠性要求u安全性要求安全性要求u可用性要求可用性要求u移植性要求移植性要求l非功能需求關心的是系統整體特征而不是個別的系統非功能需求關心的是系統整體特征而不是個別的系統的特征,比功能需求對系統更關鍵。的特征,比功能需求對系統更關鍵。l非功能需

16、求卻很難檢驗非功能需求卻很難檢驗l非功能需求與功能需求有時會發生沖突,它們之間存非功能需求與功能需求有時會發生沖突,它們之間存在著相互作用關系在著相互作用關系19/150非功能需求舉例非功能需求舉例l一個一個POS系統所需的存儲因為成本原因有所限制,系統所需的存儲因為成本原因有所限制,而商品的描述和價目表的信息量很大。而商品的描述和價目表的信息量很大。l如果采用遠程服務器,提供商品描述和價目表信如果采用遠程服務器,提供商品描述和價目表信息,那必然需要網絡通信,而這需要網絡技術。息,那必然需要網絡通信,而這需要網絡技術。l當當POS機數量多時必然引起服務器處理瓶頸問題。機數量多時必然引起服務器處

17、理瓶頸問題。20/150 領域需求領域需求l領域需求領域需求反映應用領域的基本問題,直接影響到反映應用領域的基本問題,直接影響到系統的可用性。系統的可用性。l例如:圖書館系統的功能需求基于標準用戶界面例如:圖書館系統的功能需求基于標準用戶界面將一些文檔輸出到本地打印機或網絡打印機上,將一些文檔輸出到本地打印機或網絡打印機上,但因為版權限制,這些文檔打印之后應立即刪除。但因為版權限制,這些文檔打印之后應立即刪除。21/150領域需求示例:短信系統領域需求示例:短信系統l如果短信經過終端無線模塊發送之前必須經過短消息協議如果短信經過終端無線模塊發送之前必須經過短消息協議標準編碼才能發送出去。標準編

18、碼才能發送出去。l要對短信編碼,必須要對由要對短信編碼,必須要對由ESTI制訂的制訂的SMS規范有所了解規范有所了解u技術實現技術實現(含編碼方式含編碼方式)GSM 03.38、GSM 03.40uSMS的的DTE-DCE接口標準接口標準(AT命令集命令集):GSM 07.05l三種方式來發送和接收三種方式來發送和接收SMS信息:信息:uBlock ModeuText Mode:純文本方式,可使用不同的字符集,也可:純文本方式,可使用不同的字符集,也可用于發送中文短消息,主要用于歐美地區。用于發送中文短消息,主要用于歐美地區。uPDU Mode:PDU Mode被所有手機支持,可以使用任被所有

19、手機支持,可以使用任何字符集,這也是手機默認的編碼方式何字符集,這也是手機默認的編碼方式22/1505.2 需求分析過程需求分析過程l需求分析過程需求分析過程主要是理解客戶需要什么、分析要求、評主要是理解客戶需要什么、分析要求、評價可行性、協商合理的方案、無歧義地詳細說明方案、價可行性、協商合理的方案、無歧義地詳細說明方案、確認規格說明、管理需求以至將這些需求轉化為可行系確認規格說明、管理需求以至將這些需求轉化為可行系統統l過程包括:過程包括:u初步溝通初步溝通u導出需求導出需求u分析和精化分析和精化u可行性研究可行性研究u協商與溝通協商與溝通u規格說明規格說明u需求驗證需求驗證u變更管理變更

20、管理23/1505.2.1 初步溝通初步溝通l業務領域的共利益者(如業務管理人員,市場營業務領域的共利益者(如業務管理人員,市場營銷人員,產品管理人員)定義業務用例銷人員,產品管理人員)定義業務用例l確定市場的范圍確定市場的范圍l初略地可行性分析初略地可行性分析l確定項目范圍的工作說明確定項目范圍的工作說明24/1505.2.2 導出需求導出需求l導出需求應理解問題:導出需求應理解問題:u范圍問題:系統的邊界,是客戶和開發者共同關范圍問題:系統的邊界,是客戶和開發者共同關心的部分心的部分u理解問題:確定業務需求、需求沖突、說明有歧理解問題:確定業務需求、需求沖突、說明有歧義和不可測試的需求義和

21、不可測試的需求u易變問題:分清需求穩定部分和易變部分易變問題:分清需求穩定部分和易變部分l收集活動:收集活動:u識別真正的客戶識別真正的客戶/用戶用戶u正確理解客戶的需求正確理解客戶的需求u耐心聽取客戶意見和思考耐心聽取客戶意見和思考u盡量使用符合客戶語言習慣的表達盡量使用符合客戶語言習慣的表達25/1505.2.3 分析和精化分析和精化l開發一個精確的技術模型,用以說明軟件的功能、開發一個精確的技術模型,用以說明軟件的功能、特征和約束。特征和約束。l精化是一個分析建模動作,由一系列建模和求精精化是一個分析建模動作,由一系列建模和求精任務構成任務構成l定義了問題的信息域,功能域和行為域定義了問

22、題的信息域,功能域和行為域26/1505.2.4 可行性研究可行性研究l可行性研究的目的是確定用最小的代價,在盡可可行性研究的目的是確定用最小的代價,在盡可能短的時間內確定問題是否能夠解決能短的時間內確定問題是否能夠解決l可行性研究的輸入是系統的一個框架描述和高層可行性研究的輸入是系統的一個框架描述和高層邏輯模型邏輯模型l輸出是一份需求開發評價報告,對需求工程和系輸出是一份需求開發評價報告,對需求工程和系統開發是否值得做的具體建議和意見統開發是否值得做的具體建議和意見l三個問題:三個問題:u系統是否符合機構的總體要求?系統是否符合機構的總體要求?u系統是否可以在現有的技術條件、預算和時間系統是

23、否可以在現有的技術條件、預算和時間限制內完成?限制內完成?u系統能否把已存在的其他系統集成?系統能否把已存在的其他系統集成?27/150可行性研究的任務可行性研究的任務 l可行性研究的目的就是用最小的代價在盡可能短的時間內確可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。必須記住,可行性研究的目的不是解定問題是否能夠解決。必須記住,可行性研究的目的不是解決問題,而是確定問題是否值得去解決。決問題,而是確定問題是否值得去解決。l一般來說,至少應該從下述四個方面去研究每種解法的可行一般來說,至少應該從下述四個方面去研究每種解法的可行性:性:u技術可行性:使用現有的技術能實現

24、這個系統嗎?技術可行性:使用現有的技術能實現這個系統嗎?u經濟可行性:這個系統的經濟效益能超過它的開發成本嗎?經濟可行性:這個系統的經濟效益能超過它的開發成本嗎?u操作可行性:系統的操作方式在這個用戶組織內行得通嗎?操作可行性:系統的操作方式在這個用戶組織內行得通嗎?u時間可行性:能在預定時間內完成嗎?時間可行性:能在預定時間內完成嗎?l可行性研究最根本的任務是對以后的行動方針提出建議。可行性研究最根本的任務是對以后的行動方針提出建議。28/1505.2.5 協商與溝通協商與溝通l調節沖突和問題調節沖突和問題l需求排序需求排序l識別和分析與每項需求相關的風險、開發工作量、識別和分析與每項需求相

25、關的風險、開發工作量、成本和交付時間成本和交付時間29/1505.2.6 軟件需求規格軟件需求規格l一個規格說明可以是一份寫好的文檔、一套圖形一個規格說明可以是一份寫好的文檔、一套圖形化的模型、一個形式化的數學模型、一組使用場化的模型、一個形式化的數學模型、一組使用場景、一個原型或以上各項的任意組合。景、一個原型或以上各項的任意組合。l軟件需求規格(軟件需求規格(SRS,Software Requirement Specification)是需求分析任務的最終)是需求分析任務的最終“產品產品”,它是客戶、管理者、分析工程師、測試工程師、它是客戶、管理者、分析工程師、測試工程師、維護工程師交流的

26、標準和依據。維護工程師交流的標準和依據。l軟件需求規格描述了系統的數據、功能、行為、軟件需求規格描述了系統的數據、功能、行為、性能需求、設計約束、驗收標準、以及其他與需性能需求、設計約束、驗收標準、以及其他與需求相關的信息。求相關的信息。l分為:分為:用戶需求和系統需求用戶需求和系統需求30/150用戶需求描述示例用戶需求描述示例l2.1 處理銷售:完成一次銷售過程。處理銷售:完成一次銷售過程。l2.1.1 基本流程:(基本流程:(1)顧客攜帶所購商品或服務到收銀)顧客攜帶所購商品或服務到收銀臺通過臺通過POS機付款;(機付款;(2)收銀員開始一次新的銷售)收銀員開始一次新的銷售交易;(交易;

27、(3)收銀員輸入商品條碼;()收銀員輸入商品條碼;(4)系統逐條記)系統逐條記錄銷售的商品,并顯示該商品的描述、價格和累計額;錄銷售的商品,并顯示該商品的描述、價格和累計額;重復(重復(3)(4),直到輸入結束;(),直到輸入結束;(5)系統顯示)系統顯示總額;(總額;(6)收銀員告知顧客總額,并請求付款;()收銀員告知顧客總額,并請求付款;(7)顧客付款,系統處理支付;(顧客付款,系統處理支付;(8)系統記錄完整的銷)系統記錄完整的銷售信息,并將銷售金和支持信息發送到外部的帳務系售信息,并將銷售金和支持信息發送到外部的帳務系統和庫存系統;(統和庫存系統;(9)系統打印票據;()系統打印票據;

28、(10)顧客攜)顧客攜帶商品和票據離開。帶商品和票據離開。l2.1.2 擴展流程:擴展流程:.31/150系統需求系統需求l系統需求是比用戶需求更詳細的需求描述,是系系統需求是比用戶需求更詳細的需求描述,是系統實現的基本依據統實現的基本依據l系統需求描述可能包括許多不同的模型,如對象系統需求描述可能包括許多不同的模型,如對象模型和數據流模型模型和數據流模型32/150軟件需求各組成部分之間的關系軟件需求各組成部分之間的關系33/150軟件需求規格說明的原則軟件需求規格說明的原則34/150需求規格文檔標準需求規格文檔標準1 1 引言引言 1.1 1.1 編寫目的編寫目的 1.2 1.2 項目背

29、景(單位和與其他項目背景(單位和與其他系統的關系)系統的關系) 1.3 1.3 定義(專門術語和縮寫詞)定義(專門術語和縮寫詞)2 2 任務概述任務概述 2.1 2.1 目標目標 2.2 2.2 運行環境運行環境 2.3 2.3 條件限制條件限制3 3 數據描述數據描述 3.1 3.1 靜態數據靜態數據 3.2 3.2 動態數據動態數據 3.3 3.3 數據庫描述數據庫描述 3.4 3.4 數據字典數據字典 3.5 3.5 數據采集數據采集4 功能需求功能需求 4.1 功能劃分功能劃分 4.2 功能描述功能描述5 性能需求性能需求 5.1 數據精確度數據精確度 5.2 時間特性時間特性 5.3

30、 適應性適應性6 運行需求運行需求 5.1 用戶界面用戶界面 5.2 硬件接口硬件接口 5.3 軟件接口軟件接口 5.4 故障處理故障處理7 其他需求其他需求(檢測或驗收標準、可用性、(檢測或驗收標準、可用性、可維護性、可移植性、安全??删S護性、可移植性、安全保密性)密性)35/1505.2.7 需求驗證需求驗證l需求驗證是軟件需求階段的一個重要環節,需求驗證是軟件需求階段的一個重要環節,未經驗證的需未經驗證的需求給項目成功帶來較大的需求風險求給項目成功帶來較大的需求風險l需求驗證對需求文檔和制品進行質量評估,確保需求需求驗證對需求文檔和制品進行質量評估,確保需求說明準確、完整說明準確、完整l

31、包括以下內容:包括以下內容:u正確性正確性u一致性一致性u完整性完整性u可行性可行性u必要性必要性u可檢驗性可檢驗性u需求的可跟蹤性需求的可跟蹤性u最后簽字最后簽字36/150需求變更的原因多種多樣,但管理變更,應確立以需求變更的原因多種多樣,但管理變更,應確立以下原則:下原則:(1 1)認識到變更是不可避免的,為變更指定計劃;)認識到變更是不可避免的,為變更指定計劃;(2 2)確定需求基線;)確定需求基線;(3 3)建立控制變更的唯一渠道)建立控制變更的唯一渠道(4 4)使用變更控制系統來控制變更過程;)使用變更控制系統來控制變更過程;(5 5)分層次地管理變更。)分層次地管理變更。時間緊迫

32、時間緊迫壓縮需求過程壓縮需求過程產品不滿足需求產品不滿足需求變更需求變更需求維護工作量增加維護工作量增加項目資源惡化項目資源惡化需求過程的惡性循環需求過程的惡性循環5.2.8 需求變更管理需求變更管理37/150需求變更管理需求變更管理l需求變更管理是組織、控制和文檔化需求的系統方需求變更管理是組織、控制和文檔化需求的系統方法法l建立建立基線基線以便在客戶和開發人員之間建筑一個約定以便在客戶和開發人員之間建筑一個約定l需求管理從標識開始,建立跟蹤表需求管理從標識開始,建立跟蹤表l需求跟蹤表可以跟蹤需求的特征、來源、依賴、子需求跟蹤表可以跟蹤需求的特征、來源、依賴、子系統和接口等關系系統和接口等

33、關系38/150通用跟蹤表通用跟蹤表需求需求系統系統A01A01 A02A02A03A03A04A04A05A05AmmAmmR01R01R02R02R03R03R04R04RnnRnn39/1505.3 5.3 啟動分析過程啟動分析過程l確定共利益者:直接或間接從正在開發的系統中獲確定共利益者:直接或間接從正在開發的系統中獲益的人。益的人。u例如,例如,POS機系統中的共利益者有:收銀員,售機系統中的共利益者有:收銀員,售貨員,顧客,公司,經理,支付授權服務,帳務貨員,顧客,公司,經理,支付授權服務,帳務系統和庫存系統等系統和庫存系統等l識別視點:從不同的視角看待該系統。識別視點:從不同的視

34、角看待該系統。u比如,收銀員關心準確、快速生成一次銷售,且比如,收銀員關心準確、快速生成一次銷售,且沒有支付錯誤;售貨員關注銷售提成沒有支付錯誤;售貨員關注銷售提成l協同工作:共利益者之間的協作協同工作:共利益者之間的協作l首次提問:集中于客戶和其他共利益、整體目標、首次提問:集中于客戶和其他共利益、整體目標、收益等收益等40/1505.4 非形式化需求分析技術非形式化需求分析技術l會談:會談:u正式會談:提出一些可自由回答的問題正式會談:提出一些可自由回答的問題u非正式會談:提出一些事先準備好的議題非正式會談:提出一些事先準備好的議題l情景分析:需求分析從對場景的評論中得到信息,然情景分析:

35、需求分析從對場景的評論中得到信息,然后再將其以形式化方式表示出來。后再將其以形式化方式表示出來。l使用調查表使用調查表u制定調查表制定調查表u分析分析l建立原型建立原型u界面界面u執行過程執行過程41/150場景分析場景分析l分析員與項目相關人員共同識別出情景,并捕獲分析員與項目相關人員共同識別出情景,并捕獲這些情景的細節。這些情景的細節。l把細節加入到一個綱要的需求描述中時,情景特把細節加入到一個綱要的需求描述中時,情景特別有用別有用l情景是對交互實例片斷的描述,每個情景可能包情景是對交互實例片斷的描述,每個情景可能包含一個或多個交互,它們能在不同的細節層次上含一個或多個交互,它們能在不同的

36、細節層次上提供不同類型的情景信息提供不同類型的情景信息l情景開始于一個框架,在導出過程中,細節被逐情景開始于一個框架,在導出過程中,細節被逐漸增加,直到產生交互的一個完整的描述漸增加,直到產生交互的一個完整的描述42/150情景情景l一個情景可能包括如下內容:一個情景可能包括如下內容:u 在情景開始部分有一個系統狀態描述;在情景開始部分有一個系統狀態描述;u 一個關于標準事件流的描述;一個關于標準事件流的描述;u 一個關于哪兒會出錯,以及如何處理錯誤的一個關于哪兒會出錯,以及如何處理錯誤的描述;描述;u 有關其他可能在同一時間進行的活動的信息;有關其他可能在同一時間進行的活動的信息;u 在情景

37、完成后系統狀態的描述在情景完成后系統狀態的描述43/1505.5 實例分析實例分析5.5.1 出卷系統出卷系統l用戶:用戶:u教師:關注如何出一份合理的試卷,并能根據樣式打印與教師:關注如何出一份合理的試卷,并能根據樣式打印與輸出。輸出。u學生:關注如何通過生成一些模擬試題,并在線學習和檢學生:關注如何通過生成一些模擬試題,并在線學習和檢查學習結果。查學習結果。u題庫維護人員:關注試題的添加、更新和刪除等工作。題庫維護人員:關注試題的添加、更新和刪除等工作。l視點:視點:u教師關注自動出卷、手工出卷、試卷編輯和試卷輸出。教師關注自動出卷、手工出卷、試卷編輯和試卷輸出。u學生關注隨時抽卷、聯系試

38、卷和評價分析。學生關注隨時抽卷、聯系試卷和評價分析。u題庫維護人員關注試題管理。題庫維護人員關注試題管理。44/150出卷系統的功能需求出卷系統的功能需求l自動出卷:系統根據教師的要求自動生成一份合自動出卷:系統根據教師的要求自動生成一份合理的試卷。理的試卷。l手動出卷:教師手動從候選的試題中挑選題目。手動出卷:教師手動從候選的試題中挑選題目。l隨機抽卷:系統隨機抽取試題生產一份試卷。隨機抽卷:系統隨機抽取試題生產一份試卷。l在線練習:學生可以在線做練習和查看答案。在線練習:學生可以在線做練習和查看答案。l在線評價:系統在線評價學生練習的情況。在線評價:系統在線評價學生練習的情況。l試題管理:

39、管理人員維護題庫中的試題。試題管理:管理人員維護題庫中的試題。l試卷編輯:更新試題。試卷編輯:更新試題。l試卷輸出:根據某個樣式輸出試卷。試卷輸出:根據某個樣式輸出試卷。45/1505.5.2 POS機系統機系統l收銀員:能夠準確、快速地輸入,而且沒有支付錯誤,因為收銀員:能夠準確、快速地輸入,而且沒有支付錯誤,因為如果少收貨款,將從其薪水眾扣除。如果少收貨款,將從其薪水眾扣除。l售貨員:自動更新銷售提成。售貨員:自動更新銷售提成。l顧客:希望以最小代價完成購買活動并得到快速服務。便捷、顧客:希望以最小代價完成購買活動并得到快速服務。便捷、清晰地看到所輸入的商品項目和價格。得到購買憑證,以便清

40、晰地看到所輸入的商品項目和價格。得到購買憑證,以便退貨。退貨。l公司:希望準確地記錄交易,滿足顧客要求。確保記錄了支公司:希望準確地記錄交易,滿足顧客要求。確保記錄了支付授權服務的支付票據。有一定的容錯性。能夠自動、快速付授權服務的支付票據。有一定的容錯性。能夠自動、快速地更新記帳和庫存信息。地更新記帳和庫存信息。l經理:能夠快速執行超控操作,并易于更正收銀員的不當操經理:能夠快速執行超控操作,并易于更正收銀員的不當操作。作。l支持授權服務:依據正確的通信格式進行授權服務。支持授權服務:依據正確的通信格式進行授權服務。l庫存系統:正確的方式更新庫存信息。庫存系統:正確的方式更新庫存信息。l記賬

41、系統:能夠準確地記錄每次銷售支付信息。記賬系統:能夠準確地記錄每次銷售支付信息。46/150POS機系統主要功能需求機系統主要功能需求l處理銷售:收銀員完成一次銷售記錄,并出具票處理銷售:收銀員完成一次銷售記錄,并出具票據和更新庫存系統和帳務系統。據和更新庫存系統和帳務系統。l處理支付:完成一次銷售對應的支付,包括現金處理支付:完成一次銷售對應的支付,包括現金支付,信用卡支付和支票支付。支付,信用卡支付和支票支付。l處理退貨:根據顧客請求完成商品退貨處理。處理退貨:根據顧客請求完成商品退貨處理。l辦理會員卡:注冊、注銷和更新會員記錄。辦理會員卡:注冊、注銷和更新會員記錄。47/1505.5.3

42、 圖書館系統圖書館系統l圖書館系統的共利益者與視點有:圖書館系統的共利益者與視點有:u圖書流通管理:負責圖書借還工作。圖書流通管理:負責圖書借還工作。u用戶:希望快速得到借書,還書服務,能夠續用戶:希望快速得到借書,還書服務,能夠續借、預約圖書,以及查詢個人和圖書信息。借、預約圖書,以及查詢個人和圖書信息。u編目管理員:負責圖書的管理、用戶管理和處編目管理員:負責圖書的管理、用戶管理和處理罰金等。理罰金等。48/150圖書館系統的主要功能需求圖書館系統的主要功能需求l圖書借出:管理員完成一次借書過程。圖書借出:管理員完成一次借書過程。l圖書歸還:管理員完成一次還書過程。圖書歸還:管理員完成一次

43、還書過程。l圖書預約:用戶查詢要借的圖書,若不能借,可預約圖書預約:用戶查詢要借的圖書,若不能借,可預約該圖書。該圖書。l圖書續借:用戶可以將圖書的歸還日期延長一段時間。圖書續借:用戶可以將圖書的歸還日期延長一段時間。l圖書管理:添加新書。更新圖書館信息,銷毀圖書。圖書管理:添加新書。更新圖書館信息,銷毀圖書。l用戶管理:注冊新用戶,更新用戶信息,注銷用戶。用戶管理:注冊新用戶,更新用戶信息,注銷用戶。l處理罰金:用戶繳納罰金吼,系統將罰金數額清零。處理罰金:用戶繳納罰金吼,系統將罰金數額清零。49/1505.5.4 短信系統短信系統l本系統共利益者和視點有:本系統共利益者和視點有:u收發人員

44、:負責發送短信給用戶或接受用戶的短信。收發人員:負責發送短信給用戶或接受用戶的短信。u用戶管理:添加用戶,更新用戶信息,刪除用戶。用戶管理:添加用戶,更新用戶信息,刪除用戶。l本系統主要功能需求有:本系統主要功能需求有:u短信發送:填寫發送內容,選擇發送用戶,并指明是否短信發送:填寫發送內容,選擇發送用戶,并指明是否要回執,然后發送短信。(通過無線終端或短信網關)要回執,然后發送短信。(通過無線終端或短信網關)u短信接收:從無線終端或短信網關讀取短信內容,并顯短信接收:從無線終端或短信網關讀取短信內容,并顯示查看。示查看。u用戶管理:添加新用戶,更新用戶信息,刪除用戶。用戶管理:添加新用戶,更

45、新用戶信息,刪除用戶。50/1505.5.5 ATM系統系統l銀行客戶銀行客戶:接受系統服務;接受系統服務;l銀行的代表銀行的代表:銀行間自動柜員機有互惠協議;銀行間自動柜員機有互惠協議;l支行管理者支行管理者:從該系統中獲得管理信息;從該系統中獲得管理信息;l支行柜臺職員支行柜臺職員:負責系統日常運轉和處理客戶意見;負責系統日常運轉和處理客戶意見;l數據庫管理者數據庫管理者:負責系統和客戶數據庫集成;負責系統和客戶數據庫集成;l銀行信息安全管理者銀行信息安全管理者:負責保證系統信息安全;負責保證系統信息安全;l銀行市場開發部銀行市場開發部:將該系統視為銀行市場開拓手段;將該系統視為銀行市場開

46、拓手段;l硬件和軟件工程師硬件和軟件工程師:負責硬件和軟件維護及升級。負責硬件和軟件維護及升級。51/150ATM系統主要功能需求系統主要功能需求l存款:從存款:從ATM機上存錢到指定賬戶上。機上存錢到指定賬戶上。l取款:從指定賬戶上取一定數量的貨幣。取款:從指定賬戶上取一定數量的貨幣。l轉賬:從一個賬戶取出一定數量的貨幣,然后轉轉賬:從一個賬戶取出一定數量的貨幣,然后轉存到另一個賬號上。存到另一個賬號上。l查詢余額:察看指定賬戶的余額。查詢余額:察看指定賬戶的余額。l修改密碼:修改賬戶密碼。修改密碼:修改賬戶密碼。52/15053/150需求分析通信途徑需求分析通信途徑54/150l系統分析

47、(詳細業務調查)系統分析(詳細業務調查)1 1、原則:、原則: 1 1)自頂向下;)自頂向下; 2 2)用戶參與;)用戶參與; 3 3)工程化;)工程化; 4 4)全面與重點相結合;)全面與重點相結合; 5 5)友善的工作方式。)友善的工作方式。2 2、調查范圍、調查范圍 1 1)組織機構與功能業務;)組織機構與功能業務; 2 2)數據和數據流程;)數據和數據流程; 3 3)業務流程;)業務流程; 4 4)決策方式及過程;)決策方式及過程; 5 5)可用資源與限制條件)可用資源與限制條件 6 6)現存問題及改進。)現存問題及改進。3 3、調查方法、調查方法 1 1)召開調查會;)召開調查會;

48、2 2)訪問;)訪問; 3 3)發調查表;)發調查表; 4 4)參加業務實踐。)參加業務實踐。55/150某出版社系統調查表某出版社系統調查表編號提出問題1 1您在哪個部門工作?2出版業務流程是什么?3您每日都處理那些文件、數據、報表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的問題有哪些?6您認為提高工作效率,節省工作時間,減輕工作強度可采取哪些辦法?7您的部門需要成本核算和統計的內容有哪些?8您的部門采用計算機管理工作情況如何?9如何改進業務流程使之更合理?10哪些問題是目前傳統手工方法根本無法解決的?11出版社計算機管理信息系統需要解決什么問題?56

49、/150組織結構與功能分析組織結構與功能分析l組織結構圖組織結構圖u是一張反映組織內部之間隸屬關系的樹狀結構圖。是一張反映組織內部之間隸屬關系的樹狀結構圖。l組織業務關系圖組織業務關系圖57/150業務流程分析業務流程分析l需求:組織的某些部分不能完整地反映該部分所包含的所有需求:組織的某些部分不能完整地反映該部分所包含的所有業務,所以要改變業務,所以要改變u隨著生產的發展,生產規模的擴大和管理水平的提高,組隨著生產的發展,生產規模的擴大和管理水平的提高,組織的某些部分業務范圍越來越大,功能也越來越細,由原織的某些部分業務范圍越來越大,功能也越來越細,由原來單一的業務派生出許多業務。來單一的業

50、務派生出許多業務。u這些業務在同一組織中由不同的業務人員分管,其工作性這些業務在同一組織中由不同的業務人員分管,其工作性質已經逐步有了變化。質已經逐步有了變化。u這些變化將引起組織本身的變化,裂變出一個新的、專業這些變化將引起組織本身的變化,裂變出一個新的、專業化的組織,由它來完成某一類特定的業務功能?;慕M織,由它來完成某一類特定的業務功能。l以功能為準繩來設計和考慮系統,系統將會對組織結構的變以功能為準繩來設計和考慮系統,系統將會對組織結構的變化有一定的獨立性?;幸欢ǖ莫毩⑿?。l以業務功能分析為基礎,獲得一張業務功能表以業務功能分析為基礎,獲得一張業務功能表所以:系統必須所以:系統必須以

51、業務為中心,以業務為中心,業務功能與組織結構保持相業務功能與組織結構保持相對的對的獨立性獨立性從組織結構直接轉變為系統功能結構是初級從組織結構直接轉變為系統功能結構是初級系統分析師的系統分析師的第二個常犯的錯誤第二個常犯的錯誤58/150l業務功能圖業務功能圖銷售系統管理銷售系統管理銷售計銷售計劃管理劃管理成品庫成品庫管理管理銷售合銷售合同管理同管理銷售核銷售核算管理算管理市場市場預測預測銷銷售售歷歷史史資資料料管管理理編編制制年年度度銷銷售售大大綱綱編編制制銷銷售售計計劃劃合合同同有有效效性性審審查查合合同同執執行行情情況況分分析析合合同同登登記記和和變變更更銷銷售售利利潤潤核核算算銷銷售售

52、統統計計分分析析出出入入庫庫管管理理庫庫存存統統計計市市場場預預測測市市場場分分析析59/150建立業務流程圖建立業務流程圖業務流程圖表示系統的操作業務流程圖表示系統的操作控制和數據流。業務流程圖控制和數據流。業務流程圖包括:包括:a a指明數據存在的數據符號,指明數據存在的數據符號,這些數據符號也可指明該數這些數據符號也可指明該數據所使用的媒體;據所使用的媒體; b b定義要執行的邏輯路徑以定義要執行的邏輯路徑以及指明對數據執行的操作的及指明對數據執行的操作的處理符號;處理符號;c c指明各處理和(或)數據指明各處理和(或)數據媒體間數據流的流線符號;媒體間數據流的流線符號;d d便于讀、寫

53、系統流程圖的便于讀、寫系統流程圖的特殊符號。特殊符號。 業務處理單位業務處理單位業務處理業務處理/ /功能描述功能描述表格報表制作表格報表制作數據文件存檔數據文件存檔收集處理數據收集處理數據信息傳遞過程信息傳遞過程60/150業務流程圖業務流程圖示示例例銀行文件銀行文件處理系統處理系統客戶財務客戶財務報表報表分期貸分期貸款程序款程序帳戶核對帳戶核對處理處理存款處理存款處理分期貸款分期貸款處理處理貸款分析貸款分析報告報告客戶票據客戶票據存款文存款文件修改件修改文件修文件修改核對改核對帳戶核帳戶核對程序對程序分期貸款分期貸款文件修改文件修改存款存款程序程序61/150需求分析過程舉例需求分析過程舉

54、例學學生生學學生生購購書書申申請請購購書書單單發發票票領領書書單單書書107107劉劉教務科教務科206206王王會計室會計室206206李李出納員出納員303303趙趙教材教材學生購買教材的具體模型學生購買教材的具體模型(1) (1) 通過對現實環境的調查,獲當前系統的具體模通過對現實環境的調查,獲當前系統的具體模型型( (物理模型物理模型) )62/150需求分析過程舉例需求分析過程舉例 (2) (2) 去掉具體模型中的非本質因素,去掉具體模型中的非本質因素,抽象抽象出當出當前系統的邏輯模型前系統的邏輯模型學生購買教材的邏輯模型學生購買教材的邏輯模型學學生生學學生生購購書書申申請請購購書書

55、單單發發票票領領書書單單書書審查審查有效性有效性開發票開發票開領開領書單書單發書發書63/150需求分析過程示意需求分析過程示意 (3) (3) 分析當前系統與目標系統的差別,建立分析當前系統與目標系統的差別,建立目標系統的邏輯模型目標系統的邏輯模型 計算機售書系統的邏輯模型計算機售書系統的邏輯模型學學生生學學生生購書單購書單發票發票領書單領書單審查并審查并開發票開發票開領開領書單書單無效書單無效書單64/150小結l需求分析也稱為需求工程,是一個非常重要而有很復雜的,需求分析也稱為需求工程,是一個非常重要而有很復雜的,需要交替進行,反復迭代的過程。需要交替進行,反復迭代的過程。l軟件需求分為

56、功能需求和非功能需求。功能需求描述系統所軟件需求分為功能需求和非功能需求。功能需求描述系統所預期提供的服務,而非功能需求描述與系統不直接相關的一預期提供的服務,而非功能需求描述與系統不直接相關的一些需求。些需求。l領域需求是一種特有的功能需求,反應應用領域的基本問題。領域需求是一種特有的功能需求,反應應用領域的基本問題。l軟件需求規格說明文檔描述了系統的數據、功能、行為、性軟件需求規格說明文檔描述了系統的數據、功能、行為、性能需求、設計約束、驗收標準以及其他于需求相關的信息,能需求、設計約束、驗收標準以及其他于需求相關的信息,它有可能成為客戶與開發商之間的合同。它有可能成為客戶與開發商之間的合

57、同。l需求分析過程通過執行初步溝通、需求導出、分析與精化、需求分析過程通過執行初步溝通、需求導出、分析與精化、可行性研究、協商和溝通、規格說明、驗證和變更管理八個可行性研究、協商和溝通、規格說明、驗證和變更管理八個不同的活動來完成。不同的活動來完成。l非形式技術主要包括會談、調查表和場景技術,用于獲取用非形式技術主要包括會談、調查表和場景技術,用于獲取用戶需求和系統需求。戶需求和系統需求。作業,作業,P525,9,1065/150第第6章章 結構化分析建模結構化分析建模l分析模型元素分析模型元素l結構化需求分析結構化需求分析l面向數據的建模方法面向數據的建模方法l案例分析案例分析66/150軟

58、軟件件開開發發方方法法67/150結構化分析建模結構化分析建模l需求分析的任務就是準確地指出需求分析的任務就是準確地指出“軟件目標產品必須做什么軟件目標產品必須做什么”l需求分析的一個重要過程就是需求建模的過程需求分析的一個重要過程就是需求建模的過程l結構化分析方法結構化分析方法是一種傳統的系統建模技術,其過程是創建描是一種傳統的系統建模技術,其過程是創建描述信息內容和數據流模型,依據功能和行為對系統進行劃分,述信息內容和數據流模型,依據功能和行為對系統進行劃分,并描述過必須建立的系統要素。并描述過必須建立的系統要素。l結構化分析結構化分析:使用數據流程圖、數據字典、結構化英語、判定:使用數據

59、流程圖、數據字典、結構化英語、判定表和判定樹等工具,來建立一種新的、稱為結構化說明書的目表和判定樹等工具,來建立一種新的、稱為結構化說明書的目標文檔需求規格說明書。標文檔需求規格說明書。l結構化體現在將軟件系統抽象為一系列的邏輯加工單元結構化體現在將軟件系統抽象為一系列的邏輯加工單元, ,各單元各單元之間以之間以數據流數據流發生關聯。發生關聯。l該方法的要點是:面對數據流的分解和抽象;把復雜問題自頂該方法的要點是:面對數據流的分解和抽象;把復雜問題自頂向下逐層分解向下逐層分解68/1506.1 分析模型分析模型l分析模型的目的是為基于計算機系統提供必須的分析模型的目的是為基于計算機系統提供必須

60、的信息、功能和行為域的說明信息、功能和行為域的說明l模型是對系統某個方面的抽象,拋棄了具體細節,模型是對系統某個方面的抽象,拋棄了具體細節,對系統中最突出的特征作簡化對系統中最突出的特征作簡化69/1506.1.1 分析模型元素分析模型元素l使用不同的表現模型來描述分析模型使用不同的表現模型來描述分析模型l分析模型元素:分析模型元素:u基于場景的元素基于場景的元素u基于過程的活動序列的元素基于過程的活動序列的元素u基于類的元素基于類的元素u行為元素行為元素u面向信息流的元素面向信息流的元素u基于數據的元素基于數據的元素70/1506.1.2 分析模式分析模式l分析模式分析模式:在軟件開發領域,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論