大3下軟件工程第03章需求分析_第1頁(yè)
大3下軟件工程第03章需求分析_第2頁(yè)
大3下軟件工程第03章需求分析_第3頁(yè)
大3下軟件工程第03章需求分析_第4頁(yè)
大3下軟件工程第03章需求分析_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

需求分析的任務(wù)與用戶溝通獲取需求的方法分析建模與規(guī)格說(shuō)明實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其他圖形工具驗(yàn)證軟件需求第3章需求分析需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問(wèn)題。在需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫(xiě)出軟件需求規(guī)格說(shuō)明書(shū),以書(shū)面形式準(zhǔn)確地描述軟件需求。3.1.1

確定對(duì)系統(tǒng)的綜合要求功能需求:性能需求:3.1

需求分析的任務(wù)任何一個(gè)軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),因此,必須分析系統(tǒng)的數(shù)據(jù)要求,分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。利用數(shù)據(jù)字典可以定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點(diǎn)是不夠形象直觀。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。軟件系統(tǒng)經(jīng)常使用的信息通常以一定方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,簡(jiǎn)化修改數(shù)據(jù)的過(guò)程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。3.1.2

分析系統(tǒng)的數(shù)據(jù)要求3.1.3

導(dǎo)出系統(tǒng)的邏輯模型綜合上述兩項(xiàng)分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、實(shí)體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個(gè)邏輯模型。軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),而任何信息處理系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出信息。結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法。需求分析的目標(biāo)之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí)。3.2.2

面向數(shù)據(jù)流自頂向下求精圖3.1

面向數(shù)據(jù)流自頂向下求精過(guò)程正如第1章已經(jīng)講過(guò)的,快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)??焖僭途褪强焖俳⑵饋?lái)的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的程序。構(gòu)建原型的要點(diǎn)是,它應(yīng)該實(shí)現(xiàn)用戶看得見(jiàn)的功能(例如,屏幕顯示或打印報(bào)表)。3.2.4

快速建立軟件原型3.3

分析建模與規(guī)格說(shuō)明3.3.1

分析建模為了更好地理解復(fù)雜事物,人們常常采用建立事物模型的方法。通常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。需求分析過(guò)程應(yīng)該建立3種模型,它們分別是數(shù)據(jù)模型、功能模型和行為模型。實(shí)體-聯(lián)系圖描繪數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系,是用于建立數(shù)據(jù)模型的圖形。前面講過(guò)的數(shù)據(jù)流圖,描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中流動(dòng)時(shí)被變換的邏輯過(guò)程,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。將要介紹的狀態(tài)轉(zhuǎn)換圖,用來(lái)描繪系統(tǒng)的各種行為模式(稱為“狀態(tài)”)和在不同狀態(tài)間轉(zhuǎn)換的方式。狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。通過(guò)需求分析除了創(chuàng)建分析模型之外,還應(yīng)該寫(xiě)出軟件需求規(guī)格說(shuō)明書(shū),它是需求分析階段得出的最主要的文檔。為了消除用自然語(yǔ)言書(shū)寫(xiě)的軟件需求規(guī)格說(shuō)明書(shū)中可能存在的不一致、歧義、含糊、不完整及抽象層次混亂等問(wèn)題,也可用形式化方法描述用戶對(duì)軟件系統(tǒng)的需求,第4章將簡(jiǎn)要地介紹形式化說(shuō)明技術(shù)。3.3.2

軟件需求規(guī)格說(shuō)明為了把用戶的數(shù)據(jù)要求準(zhǔn)確地描述出來(lái),通常建立一個(gè)概念性的數(shù)據(jù)模型,它反映了用戶的現(xiàn)實(shí)環(huán)境,而與實(shí)現(xiàn)方法無(wú)關(guān)。數(shù)據(jù)模型中包含3種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。3.4

實(shí)體-聯(lián)系圖數(shù)據(jù)對(duì)象是對(duì)軟件必須理解的復(fù)合信息的抽象。所謂復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛铮瑑H有單個(gè)值的事物(例如,寬度)不是數(shù)據(jù)對(duì)象。3.4.1

數(shù)據(jù)對(duì)象屬性定義了數(shù)據(jù)對(duì)象的性質(zhì)。根據(jù)對(duì)所要解決的問(wèn)題的需要,來(lái)確定特定數(shù)據(jù)對(duì)象的一組合適的屬性。3.4.2

屬性數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為聯(lián)系,聯(lián)系可分為以下3種類型:一對(duì)一聯(lián)系(1∶1)一對(duì)多聯(lián)系(1∶N)多對(duì)多聯(lián)系(M∶N)3.4.3

聯(lián)系通常,使用實(shí)體-聯(lián)系圖(entity-relationshipdiagram)來(lái)建立數(shù)據(jù)模型。可以把實(shí)體-聯(lián)系圖簡(jiǎn)稱為ER圖。ER圖中包含了實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性等3種基本成分,通常用矩形框代表實(shí)體,用連接相關(guān)實(shí)體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實(shí)體(或關(guān)系)的屬性,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。例如,圖3.2是某學(xué)校教學(xué)管理的ER圖。3.4.4

實(shí)體-聯(lián)系圖的符號(hào)圖3.2

某校教學(xué)管理ER圖軟件系統(tǒng)經(jīng)常使用的信息通常以一定方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異常、修改異?;騽h除異常,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。通常用“范式(normalforms)”定義消除數(shù)據(jù)冗余的程度。第一范式(1NF)數(shù)據(jù)冗余程度最大,第五范式(5

NF)數(shù)據(jù)冗余程度最小。3.5

數(shù)據(jù)規(guī)范化通常用“范式(normalforms)”定義消除數(shù)據(jù)冗余的程度。第一范式(1NF)數(shù)據(jù)冗余程度最大,第五范式(5

NF)數(shù)據(jù)冗余程度最小。第一范式每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部結(jié)構(gòu)。第二范式滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來(lái)決定)。第三范式符合第二范式的條件,每個(gè)非關(guān)鍵字屬性都僅由關(guān)鍵字決定,而且一個(gè)非關(guān)鍵字屬性不能僅僅是對(duì)另一個(gè)非關(guān)鍵字屬性的進(jìn)一步描述(即一個(gè)非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值)。3.6

狀態(tài)轉(zhuǎn)換圖在需求分析過(guò)程中應(yīng)該建立起軟件系統(tǒng)的行為模型。狀態(tài)轉(zhuǎn)換圖通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。狀態(tài)圖提供了行為建模機(jī)制,可以滿足第3條分析準(zhǔn)則(行為建模)的要求。例如:在操作系統(tǒng)中,當(dāng)存在多個(gè)申請(qǐng)占用CPU運(yùn)行的進(jìn)程(進(jìn)程是分配CPU的最小處理單位)時(shí),系統(tǒng)將按照某種調(diào)度策略為各個(gè)進(jìn)程分配CPU。此時(shí),進(jìn)程的狀態(tài)可能有三種:就緒、運(yùn)行和等待。就緒:等待分配CPU;運(yùn)行:占用CPU進(jìn)行相應(yīng)的處理;掛起:放棄CPU的使用。導(dǎo)致系統(tǒng)狀態(tài)發(fā)生轉(zhuǎn)換的事件有四種:t1、t2、t3、t4,分述如下:t1:因I/O等事件的發(fā)生而要求中斷;t2:中斷事件已經(jīng)處理完畢;t3:分配CPU;t4:已用完分配的CPU時(shí)間。在上面描述的情況下,有關(guān)CPU分配的進(jìn)程的狀態(tài)轉(zhuǎn)換圖如下圖所示。S1S2S3t4t3t1t2(a)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有多個(gè)。3.6.1

狀態(tài)事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的控制信息。3.6.2

事件在狀態(tài)圖中,初態(tài)用實(shí)心圓表示,終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)心圓)表示。中間狀態(tài)用圓角矩形表示,狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。狀態(tài)轉(zhuǎn)換通常是由事件觸發(fā)的。3.6.3

符號(hào)例:電話系統(tǒng)的狀態(tài)圖圖中表明,沒(méi)有人打電話時(shí)電話處于閑置狀態(tài);有人拿起聽(tīng)筒則進(jìn)入撥號(hào)音狀態(tài),到達(dá)這個(gè)狀態(tài)后,電話的行為是響起撥號(hào)音并計(jì)時(shí);這時(shí)如果拿起聽(tīng)筒的人改變主意不想打了,他把聽(tīng)筒放下(掛斷),電話重又回到閑置狀態(tài);如果拿起聽(tīng)筒很長(zhǎng)時(shí)間不撥號(hào)(超時(shí)),則進(jìn)入超時(shí)狀態(tài);……。3.6.4

例子圖3.4驗(yàn)證軟件需求從哪些方面驗(yàn)證軟件需求的正確性需求分析階段的工作結(jié)果是開(kāi)發(fā)軟件系統(tǒng)的重要基礎(chǔ),大量統(tǒng)計(jì)數(shù)字表明,軟件系統(tǒng)中

15%的錯(cuò)誤起源于錯(cuò)誤的需求。必須嚴(yán)格驗(yàn)證這些需求的正確性。一般說(shuō)來(lái),應(yīng)該從下述4個(gè)方面進(jìn)行驗(yàn)證:需求分析的第一步是進(jìn)一步了解用戶當(dāng)前所處的情況,發(fā)現(xiàn)用戶所面臨的問(wèn)題和對(duì)目標(biāo)系統(tǒng)的基本需求;接下來(lái)應(yīng)該與用戶深入交流,對(duì)用戶的基本需求反復(fù)細(xì)化逐步求精,以得出對(duì)目標(biāo)系統(tǒng)的完整、準(zhǔn)確和具體的需求。3.9

小結(jié)為了更好地理解問(wèn)題,人們常常采用建立模型的方法,結(jié)構(gòu)化分析實(shí)質(zhì)上就是一種建?;顒?dòng),在需求分析階段通常建立數(shù)據(jù)模型、功能模型和行為模型。在需求分析階段還應(yīng)該寫(xiě)出軟件需求規(guī)格說(shuō)明書(shū),經(jīng)過(guò)嚴(yán)格評(píng)審并得到用戶確認(rèn)之后,作為這個(gè)階段的最終成果(從一致性、完整性、現(xiàn)實(shí)性和有效性等4個(gè)方面復(fù)審軟件需求規(guī)格說(shuō)明書(shū))。3-3

銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如

下:儲(chǔ)戶填寫(xiě)的存款單或取款單由業(yè)務(wù)員鍵

入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密碼(可選)等

信息,并印出存單給儲(chǔ)戶;如果是取款而且

存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算

利息并印出利息清單給儲(chǔ)戶。用實(shí)體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論