




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程2025/1/312第3章需求分析為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提和關(guān)鍵,不論設(shè)計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會給用戶帶來失望,給開發(fā)者帶來煩惱。傳統(tǒng)的軟件工程方法學(xué)采用結(jié)構(gòu)化分析(StructuredAnalysis,SA)技術(shù)完成需求分析工作。2025/1/3133.1需求分析的任務(wù)3.2與用戶溝通獲取需求的方法3.3分析建模與規(guī)格說明3.4實體—聯(lián)系圖3.5數(shù)據(jù)規(guī)范化3.6狀態(tài)轉(zhuǎn)換圖3.7其它圖形工具3.8驗證軟件需求3.9小結(jié)2025/1/314概述需求分析是發(fā)現(xiàn)、求精、建模、規(guī)格說明和復(fù)審的過程。為發(fā)現(xiàn)真正的需求,首先應(yīng)該從宏觀角度調(diào)查、分析用戶所面臨的問題,即需求分析的第一步是盡可能準確地了解用戶當前的情況和需要解決的問題。分析員對用戶提出的初步要求應(yīng)該反復(fù)求精多次細化,才能充分理解用戶的需求,得出對目標系統(tǒng)的完整、準確和具體的要求。
2025/1/315為了更好理解問題,常常采用建立模型的方法。模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。模型由一組圖形符號和組織這些符號的規(guī)則組成。結(jié)構(gòu)化分析就是一種建立模型的活動,通常建立數(shù)據(jù)模型、功能模型和行為模型等三種模型。除了用分析模型表示軟件需求之外,還要寫出準確的軟件需求規(guī)格說明。模型既是軟件設(shè)計的基礎(chǔ),也是編寫軟件規(guī)格說明的基礎(chǔ)。2025/1/316在分析軟件需求和編寫軟件規(guī)格說明的過程中,軟件開發(fā)者和軟件用戶都起著關(guān)鍵的、必不可少的作用。用戶與開發(fā)者之間需要通信、溝通的內(nèi)容非常多,在雙方交流信息的過程中很容易出現(xiàn)誤解或遺漏,也可能存在二義性。不僅在整個需求分析過程中應(yīng)該采用行之有效的通信技術(shù),集中精力過細工作,對需求分析的結(jié)果(分析模型和規(guī)格說明)必須嚴格審查。2025/1/317盡管目前存在許多不同的結(jié)構(gòu)化分析方法,但是,所有這些分析方法都遵守下述準則。必須理解和表示問題的信息域,根據(jù)這條準則應(yīng)該建立數(shù)據(jù)模型。必須定義軟件應(yīng)完成的功能,這條準則要求建立功能模型。必須表示作為外部事件結(jié)果的軟件行為,這條準則要求建立行為模型。必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節(jié)。分析過程應(yīng)該從要素信息移向?qū)崿F(xiàn)細節(jié)。
業(yè)務(wù)
技術(shù)邏輯
物理要素
細節(jié)2025/1/3183.1需求分析的任務(wù)系統(tǒng)的綜合要求功能需求性能需求可靠性和可用性需求出錯處理需求接口需求約束逆向需求將來可能提出的要求2025/1/319需求分析的任務(wù)(2)系統(tǒng)的數(shù)據(jù)要求任何軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng)建立數(shù)據(jù)模型(E-R圖)數(shù)據(jù)字典層次方框圖Warnier圖2025/1/3110需求分析的任務(wù)(3)系統(tǒng)的邏輯模型數(shù)據(jù)流圖、E-R圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、算法描述修正系統(tǒng)的開發(fā)計劃2025/1/31113.2與用戶溝通獲取需求的方法軟件需求分析總是從兩方或多方之間的通信開始。用戶面臨的問題需要用基于計算機的方案來解決;開發(fā)者應(yīng)該對用戶的需求作出反應(yīng),給用戶提供幫助。這樣就產(chǎn)生了相互通信的需求。從開始通信到真正相互理解的道路通常是充滿坎坷的。良好的通信技術(shù)有助于加快理解的過程。訪談訪談(或稱為會談)是最早開始運用的獲取(不是分析)用戶需求的技術(shù),也是迄今為止仍然廣泛使用的主要的需求分析技術(shù)。
用戶不懂技術(shù);開發(fā)者不懂業(yè)務(wù);溝通需要橋梁。2025/1/3112(簡單)用例分析訪談簡易應(yīng)用規(guī)格說明技術(shù)(頭腦風(fēng)暴)原型化正式非正式(休閑聊天、面對面)領(lǐng)域分析、了解背景、學(xué)習(xí)術(shù)語觀察領(lǐng)域?qū)<翌I(lǐng)域書籍現(xiàn)有軟件及其文檔其它任何材料,如網(wǎng)站等2025/1/3113訪談有兩種基本形式,分別是正式的和非正式的訪談。在正式的訪談中,系統(tǒng)分析員將提出一些事先準備好的具體問題,例如,詢問客戶公司銷售的商品種類、雇用的銷售人員數(shù)目以及信息反饋時間應(yīng)該多快等。在非正式的訪談中,將提出一些可以自由回答的開放性問題,以鼓勵被訪問的人員表達自己的想法,例如,詢問用戶為什么對目前正在使用的系統(tǒng)感到不滿意。2025/1/3114訪談當需要調(diào)查大量人員的意見時,向被調(diào)查的人員分發(fā)調(diào)查表是一個十分有效的做法。在對用戶進行訪談的過程中使用情景分析技術(shù)往往非常有效。所謂情景分析就是對用戶運用目標系統(tǒng)解決某個具體問題的方法和結(jié)果進行分析。2025/1/3115面向數(shù)據(jù)流自頂向下求精數(shù)據(jù)決定了需要的處理和算法,是需求分析的出發(fā)點。結(jié)構(gòu)化分析方法——面向數(shù)據(jù)流的自頂向下的逐步求精進行需求分析的方法。高層數(shù)據(jù)流圖從輸出端回溯并逐步細節(jié)化2025/1/3116面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精過程2025/1/3117提倡用戶與開發(fā)者密切合作,共同標識問題,提出解決方案的要素,商討不同的方法并指定基本的需求。簡易的應(yīng)用規(guī)格說明技術(shù)已經(jīng)成為信息系統(tǒng)界使用的主流技術(shù)。
簡易應(yīng)用規(guī)格說明方法基本準則:簡易的應(yīng)用規(guī)格說明技術(shù)2025/1/3118簡易的應(yīng)用規(guī)格說明技術(shù)在中立地點舉行由開發(fā)者和用戶雙方出席的會議。制定準備會議和參加會議的規(guī)則。提出一個議事日程,這個日程應(yīng)該足夠正式,以便能夠涵蓋所有要點;同時這個日程又應(yīng)該足夠非正式,以便鼓勵自由思維。由一個“協(xié)調(diào)人”來主持會議。使用一種“定義機制”(例如,工作表、圖表等)。目標是標識問題、提出解決方案要素、商討不同的方法以及在有利于實現(xiàn)目標的氛圍中指定初步的需求。2025/1/3119快速建立軟件原型構(gòu)建原型的要點是,它應(yīng)該實現(xiàn)用戶看得見的功能(例如屏幕顯示或打印報表),省略目標系統(tǒng)的“隱含”功能(例如修改文件)??焖僭蛻?yīng)該具備的第一個特性是“快速”。快速原型的目的是盡快向用戶提供一個可在計算機上運行的目標系統(tǒng)的模型,以便使用戶和開發(fā)者在目標系統(tǒng)應(yīng)該“做什么”這個問題上盡可能快地達成共識。2025/1/3120快速建立原型(2)快速原型應(yīng)該具備的第二個特性是“容易修改”。如果原型的第一版不是用戶所需要的,就必須根據(jù)用戶的意見迅速地修改它,構(gòu)建出原型的第二版,以更好地滿足用戶的需求。在實際開發(fā)軟件產(chǎn)品時,“修改—試用—反饋”的過程可能重復(fù)多遍,如果修改耗時過多,勢必延誤軟件開發(fā)時間。2025/1/3121快速建立原型(3)構(gòu)建原型的方法和工具第四代技術(shù)(4GL)報表工具、界面工具可重用的軟件構(gòu)件軟件體系構(gòu)件(Framework)、模塊、數(shù)據(jù)結(jié)構(gòu)形式化規(guī)格說明和原型環(huán)境Metatools,Z語言等2025/1/31223.3分析建模與規(guī)格說明分析建模結(jié)構(gòu)化分析實質(zhì)是一種創(chuàng)建模型的活動。通過需求分析而建立的模型必須達到下述的三個基本目標。描述用戶的需求。為軟件設(shè)計工作奠定基礎(chǔ)。定義一組需求,一旦開發(fā)出軟件產(chǎn)品之后,就可以用這組需求為標準來驗收該產(chǎn)品。2025/1/3123分析模型的結(jié)構(gòu)數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖狀態(tài)轉(zhuǎn)換圖處理規(guī)格控制規(guī)格說明數(shù)據(jù)對描象述說明2025/1/3124軟件需求規(guī)格說明軟件需求規(guī)格說明——分析階段的最終成果。軟件需求規(guī)格說明的框架。見《3軟件需求規(guī)格說明書框架.doc》自然語言:容易書寫、容易理解形式化方法:無歧義、明確2025/1/31253.4實體—聯(lián)系圖數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對象、描述數(shù)據(jù)對象屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系。數(shù)據(jù)對象數(shù)據(jù)對象是對軟件必須理解的復(fù)合信息的表示。所謂復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,因此,僅有單個值的事物(例如寬度)不是數(shù)據(jù)對象。2025/1/3126數(shù)據(jù)對象屬性屬性定義了數(shù)據(jù)對象的性質(zhì)。應(yīng)該根據(jù)對所要解決的問題的理解,來確定特定數(shù)據(jù)對象的一組合適的屬性。關(guān)系數(shù)據(jù)對象彼此之間相互連接的方式稱為關(guān)系(聯(lián)系)。一對一聯(lián)系(1∶1)一對多聯(lián)系(1∶N)多對多聯(lián)系(M∶N)聯(lián)系也可能有屬性。2025/1/3127ER模型表示方法ER圖中包含實體(即數(shù)據(jù)對象)、關(guān)系和屬性三種基本成分,通常用矩形框代表實體,用連接相關(guān)實體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實體(或關(guān)系)的屬性,并用無向邊把實體(或關(guān)系)與其屬性連接起來。例如,某學(xué)校教學(xué)管理的ER圖。2025/1/3128某校教學(xué)管理ER圖2025/1/3129學(xué)生和課程之間的E-R模型學(xué)生和課程之間的多對多聯(lián)系E-R模型;(b)將多對多聯(lián)系轉(zhuǎn)換為一對多聯(lián)系E-R模型選課mn學(xué)號專業(yè)年級課名課號學(xué)時1n學(xué)號專業(yè)課名課號學(xué)時學(xué)號課號n1姓名課程學(xué)生姓名課程學(xué)分學(xué)生年級選課學(xué)分(a)(b)2025/1/3130ER圖的建立對系統(tǒng)的數(shù)據(jù)域和功能域進行分析,確定系統(tǒng)中所涉及的實體。例如,在工資計算系統(tǒng)中,單位對職工的工作情況進行考勤,根據(jù)出勤結(jié)果、基本工資檔案、獎金及扣款計算職工的實發(fā)工資。因此,工資系統(tǒng)中所涉及的實體就包括職工、出勤、獎勵和扣款。2025/1/3131ER圖的建立(2)確定系統(tǒng)中各實體之間的關(guān)系。如工資計算系統(tǒng)中,一名職工一個月只有一條出勤記錄,因此職工和出勤兩個實體之間是一對一的關(guān)系;一名職工在一個月中對應(yīng)著多項扣款,如水電費、缺勤扣款、個人所得稅等,因此職工和扣款之間是一對多的關(guān)系;同理,一名職工在一個月中可以獲得多項獎勵,因此職工和獎金之間也是一對多的關(guān)系。確定各實體及聯(lián)系的屬性。例如,工資計算系統(tǒng)的職工實體具有職工號、性別、職稱、年齡、部門、基本工資等屬性。2025/1/3132工資計算系統(tǒng)的E-R模型2025/1/31333.5數(shù)據(jù)規(guī)范化第一范式每個屬性值都必須是原子值,即僅僅是一個簡單值而不含內(nèi)部結(jié)構(gòu)第二范式滿足第一范式的條件,而且每個非關(guān)鍵字屬性都由整個關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來決定)第三范式符合第二范式條件,而且一個非關(guān)鍵字屬性不能僅僅是對另一個非關(guān)鍵字屬性的進一步描述(即一個非關(guān)鍵字屬性值不依賴于另一個非關(guān)鍵字屬性值)2025/1/31343.6狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。在狀態(tài)圖中用圓形框或橢圓框表示狀態(tài),通常在框內(nèi)標上狀態(tài)名。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。系統(tǒng)對事件的響應(yīng),既可以是做一個(或一系列)動作,也可以是僅僅改變系統(tǒng)本身的狀態(tài)。通常,在表示狀態(tài)的框內(nèi)用關(guān)鍵字do(后接冒號)標明進入該狀態(tài)時系統(tǒng)的行為(即所做的動作)。2025/1/3135狀態(tài)轉(zhuǎn)換圖(2)事件是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象。簡而言之,事件就是引起系統(tǒng)狀態(tài)轉(zhuǎn)換的控制信息。在狀態(tài)圖中,從一個狀態(tài)到另一個狀態(tài)的轉(zhuǎn)換用箭頭線表示,箭頭表明轉(zhuǎn)換方向,箭頭線上標上事件名。必要時可在事件名后面加一個方括號,括號內(nèi)寫上狀態(tài)轉(zhuǎn)換的條件。也就是說,僅當方括號內(nèi)所列出的條件為真時,該事件的發(fā)生才引起箭頭所示的狀態(tài)轉(zhuǎn)換.2025/1/31362025/1/3137電話系統(tǒng)的狀態(tài)圖號碼驗證[無效號碼]號碼驗證[有效號碼]2025/1/31383.7其他圖形工具Warnier圖2025/1/3139其他圖形工具(2)IPO圖IPO圖是輸入、處理、輸出圖的簡稱左邊框中列出有關(guān)的輸入中間框中列出主要的處理右邊框中列出產(chǎn)生的輸出處理的順序暗示了執(zhí)行的順序箭頭指出數(shù)據(jù)通信的情況2025/1/3140其他圖形工具(3)IPO圖2025/1/31413.8驗證軟件需求驗證需求的方面一致性:任何一條需求不能與其他需求相互矛盾完整性:包含用戶需要的每一個功能或性能實現(xiàn)性:硬件、軟件技術(shù)都可以實現(xiàn)。有效性:確實能夠解決用戶面對的問題。2025/1/3142驗證軟件需求(2)驗證需求的方法1驗證需求的一致性自然語言書寫:人工技術(shù)審查大規(guī)模項目時比較困難形式化描述:軟件工具2025/1/3143驗證軟件需求(3)驗證需求的方法2驗證需求的現(xiàn)實性開發(fā)經(jīng)驗、仿真或性能模擬技術(shù)3驗證需求的完整性和有效性用戶驗證原型2025/1/3144驗證軟件需求(4)用于需求分析的軟件工具工具要求(1)必須有形式化的語法(2)使用這個軟件工具能夠?qū)С鲈敿毜奈臋n(3)必須提供規(guī)格說明書中的不一致性和冗余性的手段(4)使用這個軟件工具之后,應(yīng)該能夠改進通信狀況2025/1/3145驗證軟件需求(5)用于需求分析的軟件工具工具舉例RSL(需求陳述語言)PSL/PSA(問題陳述語言/問題陳述分析程序)2025/1/3146結(jié)構(gòu)化分析實例1問題陳述用學(xué)校自己的微型計算機生成工資明細表和各種財務(wù)報表。問題定義可行性研究需求分析2025/1/31472問題定義預(yù)期將獲得的經(jīng)濟效益能超過開發(fā)這個系統(tǒng)的成本么?用戶面臨的問題究竟是什么?該校一直為人工計算工資,工作量大。項目預(yù)期規(guī)模目前計算工資所花費的成本新系統(tǒng)的開發(fā)成本運行費用輸出:關(guān)于系統(tǒng)規(guī)模和目標的報告書2025/1/31483可行性研究目標:用最小的代價盡快確定問題是否能夠解決。步驟:澄清系統(tǒng)規(guī)模和目標研究現(xiàn)有系統(tǒng)導(dǎo)出高層邏輯模型進一步確定系統(tǒng)規(guī)模和目標導(dǎo)出供選擇的解法推薦最佳方案草擬開發(fā)計劃寫出文檔提交審查2025/1/3149教師職工課時表任務(wù)表審核數(shù)據(jù)審核后的數(shù)據(jù)排序?qū)S帽砀裼嬎阏n時費計算崗位津貼計算工資總額計算個人所得稅計算住房公積金計算保險費計算實發(fā)工資工資表銀行工資表工資明細表教師職工編制報表報表更新分類表分類帳會計現(xiàn)有的工資支付系統(tǒng)2025/1/3150D1事務(wù)數(shù)據(jù)教師職工1收集數(shù)據(jù)2審核數(shù)據(jù)3加工事務(wù)數(shù)據(jù)D4報表5更新分類帳D3工資明細表D2工資表會計銀行4分發(fā)工資明細表職工教師定時假設(shè)處理運行頻率1每月一次2每月一次3每月一次4每月一次5每月一次工資支付系統(tǒng)的數(shù)據(jù)流圖2025/1/31514需求分析更精確的數(shù)據(jù)流圖需求分析過程:沿數(shù)據(jù)流圖回溯寫出文檔初稿定義邏輯系統(tǒng)細化數(shù)據(jù)流圖書寫正式文檔技術(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 駱駝祥子人物性格分析教學(xué)教案:探究社會變遷與人性的掙扎
- 汽車租賃三方合同
- 農(nóng)作物種植技術(shù)手冊
- 圖表展示各類數(shù)據(jù)統(tǒng)計情況
- 小學(xué)生數(shù)學(xué)應(yīng)用題的作文分析與實踐指導(dǎo)
- 留置擔(dān)保合同協(xié)議書
- 文學(xué)佳作圍城中的人物形象解讀
- 智能交通大數(shù)據(jù)平臺開發(fā)協(xié)議
- 企業(yè)戰(zhàn)略聯(lián)盟穩(wěn)定性評價與維護
- 產(chǎn)品推廣合作合同
- FZ/T 24011-2019羊絨機織圍巾、披肩
- 【課件】2.1.1植物細胞工程的基本技術(shù)課件-2021-2022學(xué)年高二下學(xué)期生物人教版選擇性必修3
- 35kV集電線路直埋施工組織設(shè)計方案
- 客戶來訪登記表
- 日產(chǎn)新軒逸電子手冊cvt
- 人教八年級下冊英語U5Do-you-remember-what-you-were-doing?課件
- 大連市小升初手冊
- 醫(yī)療垃圾管理及手衛(wèi)生培訓(xùn)PPT課件
- 嚇數(shù)基礎(chǔ)知識共20
- 鋰電池安全知識培訓(xùn)-課件
- 電子產(chǎn)品高可靠性裝聯(lián)工藝下
評論
0/150
提交評論