計算機軟件工程第三章 需求分析課件_第1頁
計算機軟件工程第三章 需求分析課件_第2頁
計算機軟件工程第三章 需求分析課件_第3頁
計算機軟件工程第三章 需求分析課件_第4頁
計算機軟件工程第三章 需求分析課件_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

SOFTWAREENGINEERING第3章需求分析SOFTWAREENGINEERING§3.1需求分析的任務3.1.1基本任務準確的回答“系統必須做什么”這個問題。僅僅是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。SOFTWAREENGINEERING§3.1需求分析的任務3.1.2具體任務(1)確定對系統的綜合要求

功能需求性能需求可靠性和可用性需求出錯處理需求接口需求約束逆向需求將來可能提出的要求(2)分析系統的數據要求

通常采用建立概念模型的方法—層次方框圖和Warnier圖(3)導出系統的邏輯模型

通常用數據流圖、ER圖、狀態轉換圖、數據字典和主要的處理算法描述這個邏輯模型。SOFTWAREENGINEERING§3.1需求分析的任務3.1.3出發點可行性研究階段的數據流圖3.1.4要點確定系統能“做什么”,不考慮系統“怎么做”。SOFTWAREENGINEERING§3.2分析過程3.2.1步驟(1)沿數據流圖回溯(2)用戶復查(3)細化數據流圖(4)修正開發計劃(5)書寫文檔(6)審查和復審SOFTWAREENGINEERING§3.2分析過程3.2.2文檔(1)系統規格說明:描述目標系統的概貌、功能要求、性能要求、運行要求和將來可能提出的要求。(2)數據要求:數據字典、描繪數據結構的層次的方框圖(3)用戶系統描述:從用戶使用的角度描繪系統,相當于一份初步的用戶手冊。(及早的考慮用戶的需求)(4)修正的開發計劃:修正后的成本估計、資源使用計劃、進度計劃。需求獲取的內容1.用戶需求分類

(1)功能性需求:

定義了系統做什么(描述系統必須支持的功能和過程)

(2)非功能性需求(技術需求):

定義了系統工作時的特性(描述操作環境和性能目標)(1)功能需求

系統做什么?系統何時做什么?系統何時及如何修改或升級?(3)環境需求硬件設備:機型、外設、接口、地點、分布、溫度、濕度、磁場干擾等軟件:操作系統網絡數據庫(5)用戶或人的因素

用戶類型?各種用戶熟練程度?需受何種訓練?用戶理解、使用系統的難度?用戶錯誤操作系統的可能性?(6)文檔需求

需哪些文檔?文檔針對哪些讀者?(7)數據需求

輸入、輸出數據的格式?接收、發送數據的頻率?數據的準確性和精度?數據需保持的時間?(8)資源需求

軟件運行時所需的數據、軟件。軟件開發、維護所需的人力、支撐軟件、開發設備等。(9)安全保密要求需對訪問系統或系統信息加以控制嗎?如何隔離用戶之間的數據?用戶程序如何與其它程序和操作系統隔離?系統備份要求?(11)質量保證

系統的可靠性要求?系統必須監測和隔離錯誤嗎?規定系統平均出錯時間?出錯后,重啟系統允許的時間?系統變化如何反映到設計中?維護是否包括對系統的改進?系統的可移植性?SOFTWAREENGINEERING與用戶溝通獲取需求的方法1訪談:正式的和非正式2面向數據流自頂向下求精

需求分析的目標之一就是把數據量和數據存儲定義到元素級3簡易的應用規格說明技術

提倡用戶與開發者密切合作,共同標識問題,提出解決方案,商討不同方案并制定基本需求4快速建立軟件原型系統數據字典數據流圖E-R圖狀態變遷圖加工規約控制規約數據對象描述分析模型的結構SOFTWAREENGINEERING§3.4實體-聯系圖3.3.1常用的表示概念性數據模型的方法:實體—聯系法(Entity-RelationshipApproach)數據對象屬性聯系SOFTWAREENGINEERING§3.5范式用范式(NormalForms)定義消除數據冗余的程度。第一范式:每個屬性都是原子級的,不含內部結構第二范式:滿足第一范式條件,且每個非關鍵字屬性都由整個關鍵字決定第三范式:符合第二范式,且每個非關鍵字屬性僅由整個關鍵字決定SOFTWAREENGINEERING§3.5范式說明:(1)范式級別越高,存儲同樣數據就需要分解成更多張表,因此“存儲自身”的過程也就越復雜。(2)隨著范式級別的提高,數據的存儲結構與基于問題域的結構間的匹配程度也隨之下降,因此,在需求變化時數據的穩定性較差。(3)范式級別提高,則需要訪問的表增多,因此性能(速度)下降。從實用角度看,在大多數場合選用第三范式都比較恰當。例題-軟考2009下午某集團公司下有多家連鎖超市,公司需要建立一個數據庫管理系統以方便管理其業務運作活動。1.商場需要記錄的信息包括商場編號、商場名稱,地址和聯系電話。2.每個商場含有不同的部門,部門需要記錄的信息包括部門編號,部門名稱、位置分布和聯系電話3.每個部門雇傭多名員工進行日常業務管理,每名員工只能隸屬于一個部門。員工信息包括,員工編號,員工姓名,崗位、電話號碼和工資4.每個部門的員工中有一名是經理,每個經理只能管理一個部門,系統需要記錄每個經理的任職時間SOFTWAREENGINEERINGSOFTWAREENGINEERING狀態圖中使用的主要符號3.狀態轉換圖(STD)描述軟件狀態變遷符號表示矩形---系統狀態箭頭---狀態轉變方向規則表達式---事件/觸發行為狀態1狀態2事件/觸發行為閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙音do:響忙音掛斷電話掛斷電話拿起話筒超時無效號碼有效號碼超時數字數字占線已接通受話人回話受話人掛斷電話信息播完SOFTWAREENGINEERING作業:用狀態轉換圖描繪下述行為復印機的工作過程大致如下:未接到復印命令時處于閑置狀態,一旦接到復印命令則進入復印狀態,完成一個復印命令規定的工作后又回到閑置狀態,等待下一個復印命令;如果執行復印命令時發現沒紙,則進入缺紙狀態,發出警告,等待裝紙,裝滿紙后,進入閑置狀態,準備接收復印命令;如果復印時發生卡紙故障,則進入卡紙狀態,發出警告等待維修人員來排除故障,故障排除后回到閑置狀態。SOFTWAREENGINEERING§3.7圖形工具3.7.1層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構,下面各層的矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)。SOFTWAREENGINEERING例題某計算機公司的產品由硬件、軟件和服務三類產品組成。硬件又包括處理機、存儲器和外部設備等。軟件產品又分為系統軟件和應用軟件,系統軟件又進一步分為操作系統、編譯程序和軟件工具等。服務包括軟件服務、硬件維護和培訓等。SOFTWAREENGINEERING層次方框圖SOFTWAREENGINEERING§3.7圖形工具3.7.2Warnier圖用Warnier圖可以表明信息的邏輯組織,它可以指出一類信息或一個信息是重復出現的,也可以表示特定信息在某一類信息中是有條件出現的。SOFTWAREENGINEERINGWarnier圖SOFTWAREENGINEERING§3.7.3圖形工具3.4.3IPO圖IPO圖是輸入、處理、輸出圖的簡稱。-IBM在需求分析階段可以使用IPO圖簡略地描述系統的主要算法(即數據流圖中各個處理的基本算法)SOFTWAREENGINEERING

IPO圖的一個例子SOFTWAREENGINEERING改進的IPO圖的形式SOFTWAREENGINEERING§3.8驗證軟件需求3.8.1從哪些方面嚴整軟件需求的正確性(1)一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾;(2)完整性:需求必須是完整的,規格說明書應該包括用戶需要的每一個功能和性能;(3)現實性:指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的;(4)有效性:必須證明需求是正確有效的,確實能解決用戶面對的問題。SOFTWAREENGINEERING§3.5驗證軟件需求3.5.2驗證軟件需求的方法(1)驗證需求的一致性:形式化的描述軟件需求的方法。當軟件需求規格說明書是用形式化的需求陳述語言書寫的時候,可以用軟件工具驗證需求的一致性。(2)驗證需求的現實性:參照以往開發類似系統的經驗,必要時采用仿真或性能模擬技術。(3)驗證需求的完整性和有效性使用原型系統

溫馨提示

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

評論

0/150

提交評論