第三章 需求分析_第1頁
第三章 需求分析_第2頁
第三章 需求分析_第3頁
第三章 需求分析_第4頁
第三章 需求分析_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程Software Engineering,第3章 需求分析,主講:侯曉芳 ,本章內(nèi)容:,需求分析任務(wù) 結(jié)構(gòu)化分析步驟 需求分析圖形工具 數(shù)據(jù)字典 需求分析舉例 需求分析文檔,本章重點(diǎn):,結(jié)構(gòu)化分析 需求分析圖形工具 數(shù)據(jù)字典,開發(fā)過程通常分為兩大階段 1、正確地確定問題(做什么) 2、為問題尋找合適的解答(怎么做),4,3.1 需求分析任務(wù),目的:通過調(diào)查,澄清用戶的各種需求 依據(jù)是可行性研究階段產(chǎn)生的文檔 基本任務(wù):軟件人員和用戶一起充分地理解用戶對(duì)系統(tǒng)的確切要求,并把雙方共同的理解明確地表達(dá)成一份書面文檔需求規(guī)格說明書。,5,3.1 需求分析任務(wù),“用戶需求”是指軟件系統(tǒng)必須滿足的

2、所有性質(zhì)和限制。 用戶需求通常包括功能要求、性能要求、可靠性和可用性要求、安全保密要求、開發(fā)費(fèi)用、開發(fā)周期、可使用的資源等方面的限制。 功能要求是最基本的需求。,6,需求分析是發(fā)現(xiàn)、逐步求精、建模、規(guī)格說明和復(fù)審的過程。 發(fā)現(xiàn):盡可能準(zhǔn)確地了解用戶當(dāng)前的情況和需要解決的問題。 逐步求精:將一個(gè)復(fù)雜的問題進(jìn)行分解、逐層細(xì)化。為了能集中精力解決主要問題,盡量推遲對(duì)細(xì)節(jié)問題的考慮。,7,3.1 需求分析任務(wù),建立模型:描述用戶需求,幫助分析人員更好地理解軟件系統(tǒng)的信息、功能和行為,是軟件設(shè)計(jì)的基礎(chǔ)。 建立模型可使用的工具有:實(shí)體-關(guān)系圖、數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、層次圖和IPO圖等。,8,3.

3、1 需求分析任務(wù),3.1 需求分析任務(wù),軟件需求規(guī)格說明:包含軟件的目標(biāo)、系統(tǒng)的數(shù)據(jù)描述、功能描述、行為描述、軟件確認(rèn)標(biāo)準(zhǔn)、資料目錄、附錄等??捎梦淖只驁D形表示。 復(fù)審:必須經(jīng)過軟件使用方有關(guān)領(lǐng)導(dǎo)的正式審查批準(zhǔn),才可進(jìn)入軟件設(shè)計(jì)階段。,9,因此,需求分析階段的具體任務(wù)是:確定目標(biāo)系統(tǒng)的具體要求和建立目標(biāo)系統(tǒng)的邏輯模型。,3.1 需求分析任務(wù),3.1.1 確定目標(biāo)系統(tǒng)的具體要求,(1)確定系統(tǒng)的運(yùn)行環(huán)境要求 系統(tǒng)運(yùn)行時(shí)的硬件環(huán)境要求:如對(duì)計(jì)算機(jī)的CPU、內(nèi)存、外存器種類、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)通信接口、輸出設(shè)備等的要求。 (2)系統(tǒng)的性能要求 系統(tǒng)必須滿足的定時(shí)約束和容量約束,11,3.1.1

4、 確定目標(biāo)系統(tǒng)的具體要求,期望的響應(yīng)時(shí)間、主存容量、硬盤容量、安全性、可靠性等。 (3)確定系統(tǒng)功能 確定目標(biāo)系統(tǒng)必須具備的所有詳細(xì)的功能。,【例3.1】某高校醫(yī)療費(fèi)管理系統(tǒng),醫(yī)療費(fèi):校內(nèi)門診費(fèi)、校外門診費(fèi)、住院費(fèi)、子女醫(yī)療費(fèi)。要求數(shù)據(jù)庫中存放每個(gè)職工的職工號(hào)、姓名、所屬部門。 職工報(bào)銷時(shí)填寫所屬部門、職工號(hào)、姓名、日期、醫(yī)療費(fèi)種類和數(shù)額。 該校規(guī)定,每年每個(gè)職工的醫(yī)療費(fèi)報(bào)銷有限額(如480元),限額在年初時(shí)確定,每個(gè)職工一年內(nèi)報(bào)銷的醫(yī)療費(fèi)不超過限額時(shí)可全部報(bào)銷;超過限額時(shí),超出部分只可報(bào)銷90。職工子女的醫(yī)療費(fèi)也有限額(如240元),超出部分可報(bào)銷50%。 醫(yī)療費(fèi)管理系統(tǒng)每天記錄當(dāng)天報(bào)銷的若

5、干職工或職工子女的醫(yī)療費(fèi)的類別、金額。讓系統(tǒng)自動(dòng)結(jié)賬、統(tǒng)計(jì)當(dāng)天報(bào)銷的醫(yī)療費(fèi)總額,供出納員核對(duì)。每筆賬要保存?zhèn)洳椋刻焖鶊?bào)銷的費(fèi)用要和各個(gè)職工已報(bào)銷的金額累計(jì)起來,以檢查哪些職工已超額。 系統(tǒng)要設(shè)計(jì)適當(dāng)?shù)牟樵児δ?。年終結(jié)算、下一年度開始時(shí),要對(duì)數(shù)據(jù)庫文件進(jìn)行初始化,職工醫(yī)療費(fèi)余額累加到下一年度的余額中。當(dāng)職工調(diào)動(dòng)時(shí),數(shù)據(jù)庫文件要及時(shí)修改。,高校醫(yī)療費(fèi)管理系統(tǒng)需求分析,(1)確定系統(tǒng)的運(yùn)行環(huán)境要求 硬件環(huán)境:規(guī)模不太大,可使用用戶單位現(xiàn)有的硬件設(shè)備。 軟件環(huán)境要求:可使用現(xiàn)有的操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)。對(duì)于數(shù)據(jù)庫中用到的英文字段名,應(yīng)在數(shù)據(jù)字典中進(jìn)行說明。 (2)系統(tǒng)的性能要求 安全性:數(shù)據(jù)不能隨

6、意更改,輸入時(shí)增加屏幕提示功能,每天提交數(shù)據(jù)前,允許修改一次,正式登賬后,不允許再修改。 (3) 系統(tǒng)功能 數(shù)據(jù)輸入、結(jié)算、修改、累加、統(tǒng)計(jì)、查詢及系統(tǒng)維護(hù)。,3.1.2 建立目標(biāo)系統(tǒng)的邏輯模型,模型是為了理解事物而對(duì)事物做出一種抽象,對(duì)事物的無歧義的書面描述。 模型由一組圖形符號(hào)和組成圖形的規(guī)則組成。 建模的基本目標(biāo)是: 描述用戶需求。 為軟件的設(shè)計(jì)奠定基礎(chǔ)。 定義一組需求,用以驗(yàn)收產(chǎn)品。,3.1.2 建立目標(biāo)系統(tǒng)的邏輯模型,軟件系統(tǒng)的邏輯模型分為:數(shù)據(jù)模型、功能模型和行為模型。分別用三種不同的圖形以及數(shù)據(jù)字典進(jìn)行描述。 數(shù)據(jù)模型:表示問題的信息域。用實(shí)體關(guān)系圖來描述數(shù)據(jù)對(duì)象之間的關(guān)系。 功

7、能模型:定義軟件的功能。用數(shù)據(jù)流圖來描述。作用有2個(gè):一是描述數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何變換。二是描繪變換數(shù)據(jù)流的功能和子功能。,3.1.2 建立目標(biāo)系統(tǒng)的邏輯模型,行為模型:表示軟件的行為。用狀態(tài)轉(zhuǎn)換圖來描繪系統(tǒng)的各種行為模式(狀態(tài))和不同狀態(tài)間的轉(zhuǎn)換。 數(shù)據(jù)字典:用來描述軟件使用或產(chǎn)生的所有數(shù)據(jù)對(duì)象,并對(duì)各種圖形工具所不能表達(dá)的內(nèi)容加以補(bǔ)充。,17,3.2 結(jié)構(gòu)化分析步驟,傳統(tǒng)的軟件工程方法學(xué)采用結(jié)構(gòu)化分析(SA)技術(shù)完成需求分析工作,結(jié)構(gòu)化分析是一種創(chuàng)建模型的活動(dòng)。 需求分析的步驟為:進(jìn)行調(diào)查研究,分析和描述系統(tǒng)的邏輯模型,修正軟件工程開發(fā)計(jì)劃,制訂初步的系統(tǒng)測(cè)試計(jì)劃,編寫初步的用戶手冊(cè)(此

8、時(shí)只能 描述用戶的輸入和系統(tǒng)的輸出結(jié)果),對(duì)需求分析進(jìn)行復(fù)審。,3.2.1 進(jìn)行調(diào)查研究,調(diào)查研究的目的: 是了解用戶的真正需要。用戶是信息的唯一來源,因此要對(duì)用戶進(jìn)行認(rèn)真的調(diào)查研究,并且要讓用戶起積極主動(dòng)的作用。,3.2.1 進(jìn)行調(diào)查研究,調(diào)查研究的方法: 訪談:正式訪談和非正式訪談。 分發(fā)調(diào)查表:列出需要了解的內(nèi)容,讓用戶書面回答問題。一般是需要做大量調(diào)查研究時(shí)采用。 開會(huì)討論確認(rèn)的方法:開會(huì)之前,要讓每位與會(huì)者做好充分的準(zhǔn)備。開會(huì)時(shí)用戶和開發(fā)者通過討論共同研究和定義問題,提出解決方案的要素,商討不同的解決方法,最后確定系統(tǒng)的基本需求。,3.2.1 進(jìn)行調(diào)查研究,系統(tǒng)分析員要與用戶一起商定

9、,澄清模糊要求,刪除做不到的要求,改正錯(cuò)誤的要求,對(duì)目標(biāo)系統(tǒng)的運(yùn)行環(huán)境、功能等問題,要和用戶取得一致的意見。 需求分析要對(duì)用戶運(yùn)行目標(biāo)系統(tǒng)的過程和結(jié)果進(jìn)行分析。,3.2.2 分析和描述系統(tǒng)的邏輯模型,1. 建立起目標(biāo)系統(tǒng)的邏輯模型 把用戶信息通過抽象建立起目標(biāo)系統(tǒng)的邏輯模型。表示方式:用數(shù)據(jù)模型、數(shù)據(jù)字典描述軟件使用或產(chǎn)生的所有數(shù)據(jù)對(duì)象;用實(shí)體-關(guān)系圖描述數(shù)據(jù)對(duì)象之間的關(guān)系;用數(shù)據(jù)流圖描述數(shù)據(jù)在系統(tǒng)中如何變換;用狀態(tài)轉(zhuǎn)換圖描繪系統(tǒng)的各種行為模式(狀態(tài))和不同狀態(tài)之間的轉(zhuǎn)換。,3.2.2 分析和描述系統(tǒng)的邏輯模型,例如信息系統(tǒng):通常把輸入數(shù)據(jù)轉(zhuǎn)變?yōu)樾枰妮敵鲂畔ⅲ瑪?shù)據(jù)決定了所需要的處理和算法。數(shù)

10、據(jù)是分析的出發(fā)點(diǎn)。,3.2.2 分析和描述系統(tǒng)的邏輯模型,2. 沿?cái)?shù)據(jù)流圖回溯 分析輸出數(shù)據(jù)是由哪些元素組成的,每個(gè)輸出數(shù)據(jù)元素又是從哪里來的。沿?cái)?shù)據(jù)流圖的輸出端往輸入端回溯。在此過程中確定數(shù)據(jù)元素和有關(guān)的算法。,由系統(tǒng)分析員和用戶一起對(duì)需求分析的結(jié)果進(jìn)行嚴(yán)格的審查。 用戶對(duì)需求分析的復(fù)查是從數(shù)據(jù)流圖的輸入端開始的,分析員借助于數(shù)據(jù)流圖和數(shù)據(jù)字典及簡明的算法描述向用戶解釋系統(tǒng)是如何將輸入數(shù)據(jù)一步步轉(zhuǎn)變?yōu)檩敵鰯?shù)據(jù)的。,3.2.3 需求分析的復(fù)審,可能會(huì)引出新問題,應(yīng)及時(shí)修正和補(bǔ)充,然后再由用戶對(duì)修改后的系統(tǒng)做復(fù)查,如此反復(fù)多次循環(huán)進(jìn)行,才能得到完整準(zhǔn)確的需求分析結(jié)果。,3.2.3 需求分析的復(fù)審

11、,需求分析階段結(jié)束時(shí)應(yīng)提供的文檔: 修正后的項(xiàng)目開發(fā)計(jì)劃、軟件需求規(guī)格說明書、實(shí)體-關(guān)系圖、詳細(xì)的數(shù)據(jù)流圖、數(shù)據(jù)字典、狀態(tài)轉(zhuǎn)換圖和一些簡明的算法描述、數(shù)據(jù)要求說明書、初步的測(cè)試計(jì)劃和初步的用戶手冊(cè)等。,3.2.3 需求分析的復(fù)審,軟件需求說明書完成以后,要認(rèn)真進(jìn)行技術(shù)評(píng)審,保證描述的軟件系統(tǒng)的功能正確、完整和清晰: 評(píng)審的內(nèi)容包括: 一致性:系統(tǒng)定義的目標(biāo)要與用戶的要求一致。 完整性:需求必須完整,規(guī)格說明應(yīng)包括每個(gè)功能或性能。,3.2.3 需求分析的復(fù)審,評(píng)審的內(nèi)容包括: 現(xiàn)實(shí)性:需求是所使用的硬件技術(shù)和軟件技術(shù)可以實(shí)現(xiàn)的。 有效性:需求是正確有效的,確實(shí)能解決用戶所需要的問題,還要考慮用戶

12、將來可能會(huì)提出的軟件需求。常常使用快速原型法。,3.2.3 需求分析的復(fù)審,3.3 需求分析圖形工具,實(shí)體-關(guān)系圖 數(shù)據(jù)流圖 狀態(tài)轉(zhuǎn)換圖 IPO 圖。,3.3.1實(shí)體-關(guān)系圖,為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確地描述出來,系統(tǒng)分析員通常建立一個(gè)概念性的數(shù)據(jù)模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實(shí)環(huán)境。 數(shù)據(jù)模型中包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性、數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。,3.3.1實(shí)體-關(guān)系圖,1.數(shù)據(jù)對(duì)象:具有一系列不同性質(zhì)或?qū)傩缘氖挛?。可以是外部?shí)體、事物、行為、事件、角色、單位、地點(diǎn)或結(jié)構(gòu)(如文件)。數(shù)據(jù)對(duì)象只封裝了數(shù)據(jù),沒有定義對(duì)數(shù)據(jù)的操作,這是數(shù)據(jù)對(duì)象

13、與面向?qū)ο蠓椒ㄖ械念惢驅(qū)ο蟮娘@著區(qū)別。,32,3.3.1實(shí)體-關(guān)系圖,2.對(duì)象的屬性:定義了數(shù)據(jù)對(duì)象的性質(zhì)。根據(jù)要解決的問題,確定一組適當(dāng)?shù)膶傩?。能夠確定數(shù)據(jù)對(duì)象的不同實(shí)例的屬性,稱為關(guān)鍵字。 3.對(duì)象的連接關(guān)系:數(shù)據(jù)對(duì)象之間相互連接的方式稱為關(guān)系或聯(lián)系。分為三類:一對(duì)一(1:1);一對(duì)多(1:N);多對(duì)多(M:N)。聯(lián)系也可能有屬性,3.3.1實(shí)體-關(guān)系圖,4. 實(shí)體-關(guān)系圖:簡稱E-R圖。用矩形表示實(shí)體,菱形表示關(guān)系,橢圓或圓角矩形表示實(shí)體(或關(guān)系)的屬性。 建立起的數(shù)據(jù)模型也叫ER模型,它比較接近人的思維方式。使用簡單的圖形符號(hào)表達(dá)系統(tǒng)分析員對(duì)問題域的理解。,【例3.2】學(xué)生成績管理系統(tǒng)

14、,擬設(shè)計(jì)一個(gè)高校學(xué)生成績管理系統(tǒng)。學(xué)生每學(xué)期學(xué)習(xí)若干門課程,每門課程有課程號(hào)、課程名、學(xué)時(shí)、學(xué)分、考試或考查;每位教師擔(dān)任若干門課程的教學(xué)任務(wù)。學(xué)生考試后,由任課教師分別填寫其所擔(dān)任課程的單科成績單,每位學(xué)生分別有平時(shí)成績和考試成績。計(jì)算機(jī)自動(dòng)計(jì)算單科成績的總評(píng)分,平時(shí)成績占30%,考試成績占70%;由計(jì)算機(jī)匯總學(xué)生各科成績,不及格的要補(bǔ)考,3門以上成績不及格的學(xué)生要留級(jí)。 該系統(tǒng)所含的實(shí)體主要是教師、學(xué)生和課程。 分析: 教師和課程的關(guān)系:教,1對(duì)多。 學(xué)生和課程的關(guān)系:學(xué),多對(duì)多。,教師與學(xué)生的實(shí)體-關(guān)系圖,3.3.2 數(shù)據(jù)流圖 (DFD),數(shù)據(jù)流圖是一種圖形化工具,用來描繪信息流和數(shù)據(jù)在

15、軟件系統(tǒng)中的流動(dòng)情況和系統(tǒng)的處理過程。 設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮軟件系統(tǒng)必須完成的基本邏輯功能,完全不需考慮如何具體地實(shí)現(xiàn)這些功能。它是軟件設(shè)計(jì)人員和用戶之間極好的通信工具。,3.3.2 數(shù)據(jù)流圖,1、數(shù)據(jù)流圖的基本符號(hào),2、數(shù)據(jù)流圖的附加符號(hào), 表示數(shù)據(jù)流之間是“與”關(guān)系(同時(shí)存在) 表示數(shù)據(jù)流之間是“或”關(guān)系 表示只能從幾個(gè)數(shù)據(jù)流中選一個(gè)(互斥關(guān)系),2、數(shù)據(jù)流圖的附加符號(hào),3.3.2 數(shù)據(jù)流圖,3、各種成分 數(shù)據(jù)流由一組固定成分的數(shù)據(jù)組成 例:學(xué)生考試報(bào)名 數(shù)據(jù)流“報(bào)名數(shù)據(jù)”由姓名、年齡、性別、單位、報(bào)考科目等成分組成。 “開具發(fā)票”由姓名、單位名、金額組成。它的組成成分是確定的。,41,

16、3.3.2 數(shù)據(jù)流圖,數(shù)據(jù)流: 加工-加工 文件-加工 加工-文件 源點(diǎn)-加工 加工-終點(diǎn),42,s,p1,p2,F,x,y,z,Z,3.3.2 數(shù)據(jù)流圖,兩個(gè)加工之間可以有多股數(shù)據(jù)流 如果有此種情況,表明數(shù)據(jù)流相互間沒有任何聯(lián)系,也不是同時(shí)流出的。,43,生產(chǎn),統(tǒng)計(jì),日?qǐng)?bào)表,月報(bào)表,3.3.2 數(shù)據(jù)流圖,注意: 命名問題 數(shù)據(jù)流圖中描述的是數(shù)據(jù)流不是控制流,44,3.3.2 數(shù)據(jù)流圖,45,3.3.2 數(shù)據(jù)流圖,加工:對(duì)數(shù)據(jù)進(jìn)行的操作。 加工命名問題 每一個(gè)加工都應(yīng)該有一個(gè)編號(hào),編號(hào)說明這個(gè)加工在層次分解中的位置。,46,3.3.2 數(shù)據(jù)流圖,文件是暫時(shí)存儲(chǔ)的數(shù)據(jù)。 文件的命名也應(yīng)適當(dāng)?shù)剡x擇

17、,以便理解。 注意:加工與文件之間數(shù)據(jù)流的方向。讀文件:數(shù)據(jù)流從文件中流出;寫、修改文件:數(shù)據(jù)流流向文件;讀寫:雙向的。,47,3.3.2 數(shù)據(jù)流圖,源點(diǎn)和終點(diǎn):數(shù)據(jù)的來源和去向 通常是存在于系統(tǒng)之外的人員或組織。,48,3.3.2 數(shù)據(jù)流圖,49,3.3.2 數(shù)據(jù)流圖,50,4、畫數(shù)據(jù)流圖的步驟,對(duì)于一個(gè)大型系統(tǒng)來說,數(shù)據(jù)流圖的表示方法不是唯一的。一般采用分層次地描述系統(tǒng)的方法。,51,4、畫數(shù)據(jù)流圖的步驟,52,4、畫數(shù)據(jù)流圖的步驟,53,4、畫數(shù)據(jù)流圖的步驟,54,4、畫數(shù)據(jù)流圖的步驟,步驟如下: 畫頂層數(shù)據(jù)流圖:列出系統(tǒng)的全部數(shù)據(jù)源點(diǎn)和終點(diǎn),將系統(tǒng)加工處理過程作為一個(gè)整體。 畫分層數(shù)據(jù)

18、流圖:把系統(tǒng)處理過程自頂向下、逐步進(jìn)行分解,每層畫出數(shù)據(jù)流圖。 畫總的數(shù)據(jù)流圖:要根據(jù)實(shí)際情況決定總圖的布局。,5、分層數(shù)據(jù)流圖,用一張數(shù)據(jù)流圖畫出所有的數(shù)據(jù)流和加工,圖紙將及其龐大復(fù)雜、難以理解。 為了控制復(fù)雜性,采用SA方法“分層”技術(shù)。 用數(shù)據(jù)流圖來描述“逐層分解”,就得到了一套分層的數(shù)據(jù)流圖。,56,5、分層數(shù)據(jù)流圖,例:,57,5、分層數(shù)據(jù)流圖,58,5、分層數(shù)據(jù)流圖,59,5、分層數(shù)據(jù)流圖,60,5、分層數(shù)據(jù)流圖,61,5、分層數(shù)據(jù)流圖,62,6、幾點(diǎn)注意事項(xiàng),63,6、幾點(diǎn)注意事項(xiàng),64,6、幾點(diǎn)注意事項(xiàng),65,6、幾點(diǎn)注意事項(xiàng),66,6、幾點(diǎn)注意事項(xiàng),67,【例3-3】學(xué)生成績

19、管理系統(tǒng)的高層數(shù)據(jù)流圖,3.3.3狀態(tài)轉(zhuǎn)換圖,需求分析中建立軟件系統(tǒng)的行為模型。 通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為,69,3.3.3狀態(tài)轉(zhuǎn)換圖,狀態(tài) 一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式 狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)、終態(tài)和中間狀態(tài)。只能有一個(gè)初態(tài),可以有0到多個(gè)終態(tài)。,70,3.3.3狀態(tài)轉(zhuǎn)換圖,事件 在某個(gè)特定時(shí)刻發(fā)生的事情。它是對(duì)引起系統(tǒng)做動(dòng)作或從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的控制信息。,71,3.3.3狀態(tài)轉(zhuǎn)換圖,符號(hào) 實(shí)心圓:指出該對(duì)象被創(chuàng)建后所處的初始狀態(tài)。 內(nèi)部實(shí)心的同心圓:表示對(duì)象的最終狀態(tài)。 橢圓:表示對(duì)象的一種狀態(tài),橢圓內(nèi)部填寫狀態(tài)名。,3.3.3狀態(tài)轉(zhuǎn)換圖

20、,符號(hào) 箭頭:表示從箭頭出發(fā)的狀態(tài)可以轉(zhuǎn)換到箭頭指向的狀態(tài)。 事件:箭頭線上方可標(biāo)出引起狀態(tài)轉(zhuǎn)換的事件名。 方括號(hào):事件名后面可加方括號(hào),寫出狀態(tài)轉(zhuǎn)換的條件。,3.3.3狀態(tài)轉(zhuǎn)換圖,什么情況下要畫狀態(tài)轉(zhuǎn)換圖? 有時(shí)系統(tǒng)中的某些數(shù)據(jù)對(duì)象在不同狀態(tài)下會(huì)呈現(xiàn)不同的行為方式,此時(shí)應(yīng)分析數(shù)據(jù)對(duì)象的狀態(tài),畫出狀態(tài)轉(zhuǎn)換圖。分析方法: (1)找出數(shù)據(jù)對(duì)象的所有狀態(tài)。 (2)分析在不同狀態(tài)下,數(shù)據(jù)對(duì)象的行為規(guī)則有無差別,若無差別則應(yīng)將它們合并為一種狀態(tài)。 (3)分析從一種狀態(tài)可以轉(zhuǎn)換到哪幾種其他狀態(tài),是數(shù)據(jù)對(duì)象的什么行為能引起這種轉(zhuǎn)換。,3.3.3狀態(tài)轉(zhuǎn)換圖,【例】畫出數(shù)據(jù)結(jié)構(gòu)中“?!睂?duì)象的狀態(tài)轉(zhuǎn)換圖,3.3.

21、4 IPO 圖,輸入處理輸出(Input Process Output )圖的簡稱。 由美國的IBM公司發(fā)明的。 在需求分析階段用IPO圖簡略地描述系統(tǒng)的主要輸入、處理和輸出及其數(shù)據(jù)流向。,3.3.4 IPO 圖,IPO圖的基本形式是左邊框中列出有關(guān)的輸入數(shù)據(jù),中間框中列出主要的處理,右邊框中列出產(chǎn)生的輸出數(shù)據(jù)。處理框中列出處理的次序暗示了執(zhí)行的順序。 IPO圖中用空心箭頭指出數(shù)據(jù)通信的情況。,3.3.4 IPO 圖,【例】畫出學(xué)生成績管理系統(tǒng)的IPO圖。,3.4 數(shù)據(jù)字典,與數(shù)據(jù)流圖的聯(lián)系 數(shù)據(jù)流圖描述了系統(tǒng)由哪幾部分組成,各部分有什么聯(lián)系等,沒有說明系統(tǒng)中各成分是什么含義。 因此,僅僅一套

22、數(shù)據(jù)流圖并不能構(gòu)成系統(tǒng)說明書,還需要為圖中出現(xiàn)的每一個(gè)成分作出定義后,才能完整地描述一個(gè)系統(tǒng)。,79,3.4 數(shù)據(jù)字典,數(shù)據(jù)流圖+數(shù)據(jù)字典=“需求規(guī)格說明書” 數(shù)據(jù)流圖中出現(xiàn)的每一個(gè)數(shù)據(jù)流名、文件名和加工名都應(yīng)該在字典中有一個(gè)條目,給出這個(gè)名字的定義。 字典中有以下四種類型的條目:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)(文件)、數(shù)據(jù)元素(數(shù)據(jù)項(xiàng))、數(shù)據(jù)處理(加工)。,80,.數(shù)據(jù)元素(數(shù)據(jù)項(xiàng)),是數(shù)據(jù)的最小組成單位(不可再分),數(shù)據(jù)字典定義數(shù)據(jù)元素的下列信息: (1)一般信息:數(shù)據(jù)元素的名稱、編號(hào)、別名、數(shù)據(jù)元素的簡單描述等。 (2)定義信息:數(shù)據(jù)類型、長度、結(jié)構(gòu)等。 (3)使用特點(diǎn):取值范圍和取值含義 (4)控制

23、信息:來源、用戶、使用權(quán)、修改權(quán)。 (5)物理位置。,.數(shù)據(jù)元素(數(shù)據(jù)項(xiàng)),82,. 數(shù)據(jù)流,主要包括數(shù)據(jù)流的來源、去處、組成數(shù)據(jù)流的數(shù)據(jù)項(xiàng),以及數(shù)據(jù)流的流通量。,. 數(shù)據(jù)流,84,.數(shù)據(jù)存儲(chǔ)(文件),描述數(shù)據(jù)文件的結(jié)構(gòu)及數(shù)據(jù)文件中記錄的存放規(guī)則。 在一段時(shí)間內(nèi)相對(duì)不變的數(shù)據(jù)可看作靜態(tài)數(shù)據(jù),經(jīng)常在改變的數(shù)據(jù),可看作動(dòng)態(tài)數(shù)據(jù)。它們不要放在一個(gè)數(shù)據(jù)庫文件內(nèi)。,.數(shù)據(jù)存儲(chǔ)(文件),例如:火車票銷售系統(tǒng)中,靜態(tài)數(shù)據(jù)表有: (1)列車時(shí)刻表。 (2)各類列車到達(dá)各地的票價(jià)表。 (3)車票座位編碼:硬座、軟座、硬臥、軟臥車廂數(shù)目及編號(hào),每種車廂內(nèi)含有的座位數(shù)及編號(hào)等。,.數(shù)據(jù)存儲(chǔ)(文件),動(dòng)態(tài)數(shù)據(jù)表舉例:

24、 假如,售票處每天預(yù)售5天內(nèi)的車票,每天每次列車,所有車票的銷售情況表。 動(dòng)態(tài)數(shù)據(jù)表可以通過與靜態(tài)數(shù)據(jù)表建立連接,來調(diào)用靜態(tài)數(shù)據(jù)表中的內(nèi)容。,.數(shù)據(jù)存儲(chǔ)(文件),88,.數(shù)據(jù)處理(加工),數(shù)據(jù)字典中可以描述數(shù)據(jù)處理的邏輯功能及其算法。 但數(shù)據(jù)處理一般用其他工具描述更清晰。, 表示“等價(jià)于”或“定義為”。 表示“和”,連接兩個(gè)分量。 表示“或”,從方括弧內(nèi)列出的若干個(gè)分量中選擇一個(gè),用“|”分隔供選擇的分量。 表示“重復(fù)”重復(fù)花括號(hào)內(nèi)的分量 ( ) 表示“可選”,圓括號(hào)里的分量可有可無。,3.4.2 數(shù)據(jù)字典使用的符號(hào),3.4.2 數(shù)據(jù)字典使用的符號(hào),常使用上限和下限進(jìn)一步注釋表示重復(fù)的花括弧。

25、 一種方法:開括弧左邊用上角標(biāo)和下角標(biāo)分別標(biāo)明重復(fù)的上限和下限 另一種方法:開括弧左側(cè)標(biāo)明重復(fù)的下限,閉括號(hào)的右側(cè)標(biāo)明重復(fù)的上限。,91,3.4.2 數(shù)據(jù)字典使用的符號(hào),例如: 1A 表示 A 的內(nèi)容至少要出現(xiàn) 1 次。 B 表示 B 的內(nèi)容允許重復(fù) 0 至任意次 成績單學(xué)號(hào)姓名1課程名成績3 也可寫為: 成績單學(xué)號(hào)姓名 課程名成績 存款期限=活期|半年|1年|3年|5年,3.4.2 數(shù)據(jù)字典使用的符號(hào),93,3.4.2 數(shù)據(jù)字典使用的符號(hào),94,數(shù)據(jù)字典的實(shí)現(xiàn),95,【例3.7】定義電話號(hào)碼,某單位電話號(hào)碼的組成規(guī)則是這樣的:單位內(nèi)電話號(hào)碼由4位數(shù)字組成,第1位數(shù)字不是0;單位外電話又分為本

26、市電話和外地電話兩類,撥單位外部電話需先撥9,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3到4位區(qū)碼(區(qū)碼的第1位是0)再撥7到8位電話號(hào)碼(第1位不是0)。 請(qǐng)用數(shù)據(jù)字典所使用的符號(hào),定義上述的電話號(hào)碼。,答案一:,數(shù)字1=1|2|3|4|5|6|7|8|9 數(shù)字2=1|2|3|4|5|6|7|8|9|0 數(shù)字3=9 數(shù)字4=0 內(nèi)部電話=數(shù)字1 + 3數(shù)字23 本市電話=數(shù)字3+數(shù)字1 + 7數(shù)字27 外地電話=數(shù)字3+數(shù)字4+數(shù)字1+ 1數(shù)字22+數(shù)字1+ 6數(shù)字27 電話號(hào)碼=內(nèi)部電話|外部電話 外部電話=本市電話|外地電話,答案二:,電話號(hào)碼=單位內(nèi)電話號(hào)碼|單

27、位外電話號(hào)碼 單位內(nèi)電話號(hào)碼=非零數(shù)字+ 3數(shù)字3 單位外電話號(hào)碼=本市號(hào)碼|外地號(hào)碼 本市號(hào)碼=數(shù)字玖+ 8位數(shù)字 外地號(hào)碼=數(shù)字玖+數(shù)字零+非零數(shù)字+ 1數(shù)字2+非零數(shù)字+ 6數(shù)字7 非零數(shù)字=1|2|3|4|5|6|7|8|9 數(shù)字玖=9 數(shù)字零=0 8位數(shù)字=非零數(shù)字+7位數(shù)字 7位數(shù)字=7數(shù)字7 數(shù)字=0|1|2|3|4|5|6|7|8|9,練習(xí)題,【例3.8】寫出學(xué)生成績管理系統(tǒng)的數(shù)據(jù)字典。 (1)數(shù)據(jù)項(xiàng)定義 (2)處理算法 【例3.9】寫出例3.1醫(yī)療費(fèi)管理系統(tǒng)的數(shù)據(jù)字典。 (1)數(shù)據(jù)項(xiàng)定義 (2)處理算法 (3)操作說明,3.4.3 數(shù)據(jù)字典與圖形工具,數(shù)據(jù)字典與圖形工具應(yīng)相輔

28、相成、互相配合,既要互相補(bǔ)充又要避免冗余。 系統(tǒng)分析員在編寫數(shù)據(jù)字典和使用圖形工具時(shí)應(yīng)遵守一些約定 : 可用圖形工具描述的,盡量使用圖形工具。 數(shù)據(jù)的組成在數(shù)據(jù)字典中描述。 編寫數(shù)據(jù)字典時(shí)不能有遺漏和重復(fù),避免不一致性。,3.4.3 數(shù)據(jù)字典與圖形工具,數(shù)據(jù)字典與圖形工具應(yīng)相輔相成、互相配合,既要互相補(bǔ)充又要避免冗余。 系統(tǒng)分析員在編寫數(shù)據(jù)字典和使用圖形工具時(shí)應(yīng)遵守一些約定 : 數(shù)據(jù)字典中條目的排列要有一定規(guī)律,能通過名字方便地查閱條目的內(nèi)容。如按字母表或按功能分類。 數(shù)據(jù)字典的編寫要易于更新和修改。,3.5 軟件需求分析舉例,對(duì)商品銷售管理系統(tǒng)進(jìn)行需求分析: 包括如下內(nèi)容: 系統(tǒng)管理。 商品

29、信息。 銷售過程(銷售、供貨、庫存管理、賬冊(cè)管理、售后服務(wù))。 商品銷售數(shù)據(jù)流圖。 數(shù)據(jù)字典。,3.5.1 系統(tǒng)管理,系統(tǒng)權(quán)限管理。 (1)系統(tǒng)的用戶及用戶的職責(zé):商場的營業(yè)員、庫存管理員、會(huì)計(jì)、采購員、經(jīng)理等。分別負(fù)責(zé)商品的銷售、庫存管理、賬冊(cè)管理、采購、售后服務(wù)等工作。 (2)建立商場職工數(shù)據(jù)表。存放所有職工的編號(hào)、姓名、職務(wù)、密碼等信息。 (3)系統(tǒng)建立權(quán)限設(shè)置功能。經(jīng)理可進(jìn)入系統(tǒng)所有模塊;其他人員只能進(jìn)入和本職工作有關(guān)的模塊;本系統(tǒng)所有人員都可查詢商品的某些信息,如編號(hào)、名稱、價(jià)格、庫存量等。但只能查詢,不能修改。,3.5.1 系統(tǒng)管理,經(jīng)理的職責(zé)。 經(jīng)理可進(jìn)入系統(tǒng)管理功能模塊,進(jìn)行員

30、工管理、商品管理、供應(yīng)商管理。 (1)員工管理:增、刪、改。設(shè)置員工權(quán)限。 (2)商品管理:刪除、調(diào)整價(jià)格。 說明:新增商品由采購員在供貨模塊完成。還可新增供應(yīng)商,要建立供應(yīng)商數(shù)據(jù)表。,3.5.2 商品信息,編制商品目錄表。為所有商品編號(hào),在數(shù)據(jù)表中存放商品信息。 建立商品庫存量表。存放每種商品的編號(hào)和數(shù)量。與商品目錄表建立關(guān)聯(lián) 在目錄表中要含有各類商品的安全庫存量,庫存量小于等于安全庫存量時(shí),要能提醒采購員進(jìn)貨。并可隨時(shí)查詢。要求系統(tǒng)能自動(dòng)生成需要進(jìn)貨的缺貨表。,3.5.3 銷售過程,包括:銷售、庫存變化、采購、入賬、售后服務(wù)。 銷售:由營業(yè)員進(jìn)行。入賬時(shí),不必再次輸入“經(jīng)手人”,應(yīng)由系統(tǒng)自

31、動(dòng)填寫。銷售日期應(yīng)取當(dāng)天系統(tǒng)日期。要記錄每位顧客購買的每一種商品。為每位顧客購買的所有商品打印一份清單。要保存到數(shù)據(jù)庫中。 庫存:銷售后,系統(tǒng)要自動(dòng)計(jì)算庫存量,每次銷售時(shí)要有“確認(rèn)”界面,避免誤操作。 采購:庫存量小于等于安全庫存量時(shí),要能提醒采購員進(jìn)貨。進(jìn)貨后,要將對(duì)應(yīng)的 庫存量加上進(jìn)貨數(shù)量。 賬冊(cè):銷售、采購等情況要存放到賬冊(cè)里,作為統(tǒng)計(jì)和結(jié)算的依據(jù)。 售后服務(wù):商品修理、退貨或換貨。信息要存放到數(shù)據(jù)庫里。修理和退貨時(shí)庫存量不變,換貨時(shí)庫存量減少。,3.5.4 商品銷售數(shù)據(jù)流圖,3.5.5 數(shù)據(jù)字典,本系統(tǒng)的數(shù)據(jù)項(xiàng)定義: 可作為建立數(shù)據(jù)庫的依據(jù),帶“#”的表示關(guān)鍵字。 (1)職工 (2)供貨商 (3)商品目錄 (4)銷售 (5)庫存 (6)缺貨 (7)進(jìn)貨 (8)換貨 (9)維修 (10)退貨=商品編號(hào)# +數(shù)量+退貨原因+日期+經(jīng)手人 (11)明細(xì)賬= 銷售|進(jìn)貨| 換貨 | 退貨 | 維修 處理算法: (1)采購員需要統(tǒng)計(jì)缺貨商品。 (2)每天每個(gè)營業(yè)員的銷售額進(jìn)行統(tǒng)計(jì)。按日、月、年統(tǒng)計(jì)商場所有銷售額。 (3)盈虧。,3.6 需求分析文檔,需求分析階段需編寫軟件需求規(guī)格說明和用戶手冊(cè)。 3.6.1 軟件需求規(guī)格說明 1. 引言:系統(tǒng)參考文獻(xiàn)、項(xiàng)目描述、目標(biāo)和運(yùn)行環(huán)境。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論