第4章-需求分析XXXX0308無建筑效果版課件_第1頁(yè)
第4章-需求分析XXXX0308無建筑效果版課件_第2頁(yè)
第4章-需求分析XXXX0308無建筑效果版課件_第3頁(yè)
第4章-需求分析XXXX0308無建筑效果版課件_第4頁(yè)
第4章-需求分析XXXX0308無建筑效果版課件_第5頁(yè)
已閱讀5頁(yè),還剩177頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1軟件工程

SoftwareEngineering2011新春版1軟件工程Softwar第四章需求分析Outlines需求分析概述

軟件需求重要性軟件定義軟件需求任務(wù)需求工程過程結(jié)構(gòu)化方法第四章需求分析Outlines軟件需求問題(1)軟件開發(fā)現(xiàn)狀:復(fù)雜的軟件系統(tǒng)開發(fā),總令人不滿意美國(guó)2500億美元/年,175,000個(gè)軟件項(xiàng)目其中,16%按時(shí)、按預(yù)算、滿足要求地交付30%左右在完成前被取消52.7%項(xiàng)目成本是預(yù)算成本的189%項(xiàng)目失敗原因缺乏用戶參與:13%不完整的需求規(guī)格說明:12%不斷改變的需求和規(guī)格說明:21%軟件需求問題(1)軟件開發(fā)現(xiàn)狀:復(fù)雜的軟件系統(tǒng)開發(fā),總令人不軟件需求問題(2)各階段缺陷對(duì)交付軟件產(chǎn)品的影響

需求缺陷約占全部提交缺陷的1/3軟件需求問題(2)各階段缺陷對(duì)交付軟件產(chǎn)品的影響需求錯(cuò)誤的代價(jià)5需求錯(cuò)誤的代價(jià)5什么是軟件需求需求的定義(IEEE,1997)

(1)用戶解決問題或達(dá)到目標(biāo)所需的條件或能力。

(2)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。

(3)一種反映上面(1)或(2)所描述的條件或能力的文檔說明。

需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,對(duì)一個(gè)待開發(fā)系統(tǒng)中各個(gè)有意義方面的陳述的一個(gè)集合。什么是軟件需求需求的定義(IEEE,1997)軟件需求的層次業(yè)務(wù)需求(businessrequirement)反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說明。用戶需求(userrequirement)描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明。功能需求(functionalrequirement)定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。非功能需求(non-functionalrequirement)是從各個(gè)角度對(duì)系統(tǒng)的約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性的額外要求。軟件需求的層次業(yè)務(wù)需求(businessrequireme軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)業(yè)務(wù)需求系統(tǒng)為用戶提供自助存取款服務(wù)用戶需求

用戶可以隨時(shí)安全、快捷地進(jìn)行存款和取款功能需求

允許用戶從銀行帳戶中取款允許用戶向銀行帳戶中存款允許用戶查詢從銀行帳戶中的余額使用8位數(shù)字密碼檢驗(yàn)用戶存取的合法性軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)(2)非功能需求系統(tǒng)在20秒內(nèi)響應(yīng)所有請(qǐng)求除了每天30分鐘維護(hù)外,系統(tǒng)每周7天、每天24小時(shí)都可以用需求來源

客戶或用戶(如銀行職員、管理人員、用戶)行業(yè)標(biāo)準(zhǔn)、政策法規(guī)當(dāng)前手工處理系統(tǒng)的文檔咨詢銀行領(lǐng)域?qū)<臆浖枨蟮膶哟危ɡm(xù))例:銀行ATM系統(tǒng)(2)需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的“做什么”的問題。需求分析的任務(wù)…………抽象實(shí)現(xiàn)改進(jìn)老系統(tǒng)模型新模型新系統(tǒng)需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯需求分析的過程(1)

需求分析的過程是開發(fā)人員與用戶共同協(xié)商,明確系統(tǒng)的全部功能、性能以及運(yùn)行規(guī)格,并且使用軟件開發(fā)人員和用戶都能理解的語(yǔ)言準(zhǔn)確地表達(dá)出來,即完成需求規(guī)格說明的過程。說白了,就是要明確“做什么?”整個(gè)過程分為以下四個(gè)階段:

問題識(shí)別(需求獲取)、需求分析(分析與綜合)、編寫規(guī)格說明文檔、需求評(píng)審。工作產(chǎn)品活動(dòng)需求分析的過程(1)需求分析的過程是開發(fā)人員與用戶1.問題識(shí)別/需求獲取:雙方確定問題的綜合需求,識(shí)別系統(tǒng)相關(guān)者的需求,使其達(dá)到共識(shí)。?功能需求:系統(tǒng)必須做什么? ?性能需求:做得怎樣?例:responsetime,memory,back-upmemory,……?環(huán)境需求:運(yùn)行環(huán)境、軟硬件配置等。?用戶界面需求?可靠性、安全性、保密性、可移植性和可維護(hù)性等方面的需求。?將來可能提出的要求需求分析的過程(2)1.問題識(shí)別/需求獲取:雙方確定問題的綜合需求,識(shí)別系統(tǒng)相關(guān)2.分析與綜合:

分析和整理所收集的需求,形成完整的分析模型。需求分析的過程(3)3.編寫文檔:以一致的、完備和無二義性的形式表達(dá)需求。?編寫需求說明書 ?編寫初步用戶使用手冊(cè)?編寫確認(rèn)測(cè)試計(jì)劃?修改完善項(xiàng)目開發(fā)計(jì)劃2.分析與綜合:需求分析的過程(3)3.編寫文檔:以一致的、需求分析的過程(4)驗(yàn)證需求的一致性驗(yàn)證需求的完整性驗(yàn)證需求的現(xiàn)實(shí)性驗(yàn)證需求的有效性方法:

人工審查開發(fā)原型系統(tǒng)-探索型使用軟件工具—完整性、一致性4.需求評(píng)審:確保需求說明準(zhǔn)確、完整地表達(dá)必要的質(zhì)量特點(diǎn)。5.需求管理:在整個(gè)軟件開發(fā)過程中進(jìn)行需求跟蹤、變更控制、版本控制等。需求分析的過程(4)驗(yàn)證需求的一致性方法:4.需求評(píng)審:確保常用的分析、設(shè)計(jì)方法面向數(shù)據(jù)流的(結(jié)構(gòu)化)法(SA)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD)結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)面向?qū)ο蟮姆椒ǎ∣OA)等常用的分析、設(shè)計(jì)方法面向數(shù)據(jù)流的(結(jié)構(gòu)化)法(SA)需求分析的方法結(jié)構(gòu)化分析方法:由數(shù)據(jù)流和數(shù)據(jù)字典構(gòu)成,適于數(shù)據(jù)處理領(lǐng)域問題。該方法的一個(gè)難點(diǎn)是確定數(shù)據(jù)流之間的變換,而且數(shù)據(jù)字典的規(guī)模也是一個(gè)問題,對(duì)數(shù)據(jù)結(jié)構(gòu)的強(qiáng)調(diào)很少。面向?qū)ο蟮姆治觯翰捎昧藢?shí)體、關(guān)系和屬性等信息模型分析中的概念,同時(shí)采用了封閉、類結(jié)構(gòu)和繼承性等面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的概念。需求分析的方法結(jié)構(gòu)化分析方法:由數(shù)據(jù)流和數(shù)據(jù)字典構(gòu)成,適于數(shù)注意事項(xiàng)在需求分析時(shí)要注意用戶對(duì)軟件開發(fā)的了解程度,避免造成兩種極端認(rèn)識(shí)。需求的變動(dòng)或新增是一個(gè)極為普遍的問題,既然普遍,所以軟件開發(fā)人員不僅應(yīng)該在心理上接受這種變動(dòng),還應(yīng)該在需求分析時(shí)積極的發(fā)掘需求。需求人員與用戶廣泛交流,從深度和廣度挖掘可能的需求,并應(yīng)形成規(guī)范的需求文檔,經(jīng)用戶確認(rèn)。如果為寫文檔而寫文檔,不進(jìn)行及時(shí)更新,甚至準(zhǔn)備在軟件開發(fā)完成后再補(bǔ)文檔,這是絕對(duì)錯(cuò)誤的觀點(diǎn)。注意事項(xiàng)在需求分析時(shí)要注意用戶對(duì)軟件開發(fā)的了解程度,避免造成可能的錯(cuò)誤沒有足夠用戶參與(類型、數(shù)量)開發(fā)方與用戶溝通可能處于劣勢(shì)不要錦上添花,畫蛇添足不要寫的過于簡(jiǎn)練,過于模糊計(jì)劃做需求的時(shí)間少了,導(dǎo)致需求不完整需求在簽約前要與決策者溝通好到競(jìng)爭(zhēng)對(duì)手那兒找不足不要被過細(xì)的不成熟的細(xì)節(jié)影響記下不明確的需求,約定期限明確,否則易遺漏可能的錯(cuò)誤沒有足夠用戶參與(類型、數(shù)量)需求獲?。?)真正理解項(xiàng)目中描述的客戶需求19需求獲?。?)真正理解項(xiàng)目中描述的客戶需求19需求獲?。?)聆聽用戶的需求-與各種層次的客戶進(jìn)行充分的交流和溝通,包括決策領(lǐng)導(dǎo)、使用部門的領(lǐng)導(dǎo)、具體使用人員、系統(tǒng)維護(hù)人員等分析和整理所獲取的信息-借助一些工具和方法,從用戶一般性的陳述里面提取用戶的真正需求,并由此確定軟件的功能、性能、接口關(guān)系、約束條件等形成文檔化的描述

20需求獲?。?)聆聽用戶的需求20需求獲?。?)需求的獲取技術(shù)-向系統(tǒng)相關(guān)者進(jìn)行問卷調(diào)查-主持與用戶的面談和討論-需求專題討論會(huì)-復(fù)查現(xiàn)有的報(bào)表、表格和過程描述-觀察商業(yè)過程和工作流-應(yīng)用用例-建立原型21需求規(guī)格說明:參見相應(yīng)的模板需求獲?。?)需求的獲取技術(shù)21需求規(guī)格說明:參見相應(yīng)的模板需求文檔需求文檔第四章需求分析Outlines需求分析概述結(jié)構(gòu)化方法模型及其作用結(jié)構(gòu)化分析

功能模型(數(shù)據(jù)流圖數(shù)據(jù)與數(shù)據(jù)字典)數(shù)據(jù)模型(實(shí)體關(guān)系圖)行為模型(狀態(tài)轉(zhuǎn)換圖)

第四章需求分析Outlines

模型(Model)軟件開發(fā)建模的重要性軟件系統(tǒng)建模的作用:(1)便于開發(fā)人員展現(xiàn)系統(tǒng),在建模過程中了解信息;(2)通過抽象降低復(fù)雜度,“分而治之”的方法;(3)有助于回憶所有細(xì)節(jié)、有助于與其他開發(fā)小組交流、有助于和用戶交流;(4)為維護(hù)和升級(jí)提供文檔;…建模的實(shí)質(zhì):對(duì)現(xiàn)實(shí)的簡(jiǎn)化。模型(Model)軟件開發(fā)建模的重要性

軟件模型系統(tǒng):復(fù)雜;多個(gè)模型涵蓋細(xì)節(jié)信息;模型種類:

數(shù)學(xué)模型:描述系統(tǒng)技術(shù)方面的一系列公式。

描述模型:對(duì)系統(tǒng)某一方面的描述性備忘錄、報(bào)表或列表;

圖形模型:圖表或系統(tǒng)某些方面的示意性表示。軟件模型系統(tǒng):復(fù)雜;多個(gè)模型涵蓋細(xì)節(jié)信息;

信息系統(tǒng)模型分析模型(邏輯模型)-詳細(xì)定義了系統(tǒng)需求而沒有局限于具體技術(shù)。(數(shù)據(jù)流圖、實(shí)體關(guān)系圖、數(shù)據(jù)字典、用例圖、時(shí)序圖、協(xié)作圖、狀態(tài)轉(zhuǎn)換圖…)設(shè)計(jì)模型(物理模型)-顯示如何使用具體技術(shù)來實(shí)現(xiàn)系統(tǒng)的某些方面。(系統(tǒng)結(jié)構(gòu)圖、界面布局、程序流程圖、網(wǎng)絡(luò)圖、分布圖、數(shù)據(jù)庫(kù)模式、…)信息系統(tǒng)模型分析模型(邏輯模型)結(jié)構(gòu)化方法面向數(shù)據(jù)流/結(jié)構(gòu)化進(jìn)行需求分析的方法(60-70年代初,美國(guó)Yourdon公司提出)結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析結(jié)構(gòu)化分析幫助開發(fā)人員定義系統(tǒng)需要什么,系統(tǒng)需要存儲(chǔ)和使用哪些數(shù)據(jù),系統(tǒng)需要什么樣的輸入和輸出以及如何把這些功能結(jié)合在一起完成任務(wù)結(jié)構(gòu)化分析方法按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,使用自頂向下逐層分解的系統(tǒng)分析方法來定義需求。在結(jié)構(gòu)化基礎(chǔ)上,完成系統(tǒng)規(guī)格說明,建立一個(gè)系統(tǒng)自頂向下的邏輯模型。結(jié)構(gòu)化方法面向數(shù)據(jù)流/結(jié)構(gòu)化進(jìn)行需求分析的方法(60-70結(jié)構(gòu)化方法(續(xù)1)結(jié)構(gòu)化分析方法的核心是數(shù)據(jù)流圖。數(shù)據(jù)流圖:一種表示信息流程和信息變換過程的圖解方法。數(shù)據(jù)詞典:定義數(shù)據(jù)流圖中的數(shù)據(jù)和加工。描述加工邏輯的工具:結(jié)構(gòu)化語(yǔ)言、判定表、判定樹等工具(詳細(xì)描述數(shù)據(jù)流圖中不能被再分解的每一個(gè)基本加工的處理邏輯)。結(jié)構(gòu)化分析方法的實(shí)質(zhì)是采用一組分層數(shù)據(jù)流圖及相應(yīng)的數(shù)據(jù)字典作為系統(tǒng)的邏輯模型,是一種依賴于數(shù)據(jù)流圖的自頂向下的建模方法。結(jié)構(gòu)化方法(續(xù)1)結(jié)構(gòu)化分析方法的核心是數(shù)據(jù)流圖。結(jié)構(gòu)化方法(續(xù)2)結(jié)構(gòu)化分析方法基本步驟:(1)自頂向下逐層功能分解分層DFD(2)由后向前,定義數(shù)據(jù)和加工數(shù)據(jù)字典,基本加工描述說明(3)根據(jù)需要,分析復(fù)雜數(shù)據(jù)和動(dòng)態(tài)模型:E-R圖,控制流圖(CFD),控制說明(CSPEC),狀態(tài)圖(STD)(4)編寫軟件需求規(guī)格說明書(SRS)結(jié)構(gòu)化方法(續(xù)2)結(jié)構(gòu)化分析方法基本步驟:復(fù)習(xí)軟件需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,對(duì)一個(gè)待開發(fā)的軟件系統(tǒng)中各個(gè)有意義方面所的陳述的一個(gè)集合。需求的層次:業(yè)務(wù)需求、用戶需求、功能需求、非功能需求。需求分析的過程:需求獲取、需求分析加工、編寫文檔、需求評(píng)審、需求管理。常用需求分析方法:結(jié)構(gòu)化分析、面向?qū)ο蠓治?。結(jié)構(gòu)化分析:數(shù)據(jù)流圖+數(shù)據(jù)字典復(fù)習(xí)軟件需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,第四章需求分析Outlines需求分析概述結(jié)構(gòu)化方法模型及其作用結(jié)構(gòu)化分析

功能模型(數(shù)據(jù)流圖數(shù)據(jù)與數(shù)據(jù)字典)數(shù)據(jù)模型(實(shí)體關(guān)系圖)行為模型(狀態(tài)轉(zhuǎn)換圖)

第四章需求分析Outlines數(shù)據(jù)流圖(DFD,DataFlowDiagram)概念:一種描述信息系統(tǒng)邏輯模型的圖形化工具,表示信息系統(tǒng)的主要需求,能綜合反映出信息在系統(tǒng)中流動(dòng)、處理和存儲(chǔ)的情況。大型軟件系統(tǒng):分層數(shù)據(jù)流圖(Why)分層數(shù)據(jù)流圖可實(shí)現(xiàn)信息抽象

高層數(shù)據(jù)流圖是低層數(shù)據(jù)流圖的抽象表示,低層數(shù)據(jù)流圖表現(xiàn)了高層數(shù)據(jù)流圖中有關(guān)數(shù)據(jù)的處理細(xì)節(jié)。實(shí)現(xiàn)信息隱藏

高層次數(shù)據(jù)流圖不體現(xiàn)低層次數(shù)據(jù)流圖的細(xì)節(jié),掩蓋了低層數(shù)據(jù)處理的功能關(guān)系數(shù)據(jù)流圖(DFD,DataFlowDiagram)概念分層數(shù)據(jù)流圖頂層DFD僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)中間層DFD則表示對(duì)其上層父圖的細(xì)化。它的每一加工可以繼續(xù)細(xì)化,形成子圖。底層DFD是指其加工不需再做分解的數(shù)據(jù)流圖系統(tǒng)輸入1輸入n輸出1輸出nSF1F2F1F2基本系統(tǒng)模型頂層數(shù)據(jù)流圖一層數(shù)據(jù)流圖二層數(shù)據(jù)流圖P1.1P1.2P2.1P2.2P2.1P3.1P3.2P3.3P3.3F2F1F1F2系統(tǒng)S的總圖P1P2P3F1F2F1F2P1.1P1.2F1P2.1P2.2P2.1F2P3.1P3.2P3.3P3.3F1F2分層數(shù)據(jù)流圖頂層DFD僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng)。它的數(shù)據(jù)流圖基本元素(1)外部實(shí)體(ExternalEntity)/數(shù)據(jù)源點(diǎn)、終點(diǎn)-代表系統(tǒng)之外的人、物或組織-它發(fā)出或接收系統(tǒng)的數(shù)據(jù),其作用是提供系統(tǒng)和外界環(huán)境之間關(guān)系的注釋性說明數(shù)據(jù)流(DataFlow)-表示DFD中過程、數(shù)據(jù)存儲(chǔ)和外部實(shí)體之間的數(shù)據(jù)移動(dòng)。-數(shù)據(jù)流不代表控制流,數(shù)據(jù)流反映處理的對(duì)象,控制流則是一種選擇或用來影響過程的性質(zhì)過程/加工/處理(Process)-對(duì)數(shù)據(jù)執(zhí)行某種操作或變化,是把輸入數(shù)據(jù)交換成輸出數(shù)據(jù)的一種變換。或編號(hào)加工名外部實(shí)體外部實(shí)體或數(shù)據(jù)流圖基本元素(1)外部實(shí)體(ExternalEntit數(shù)據(jù)流圖基本元素(2)數(shù)據(jù)存儲(chǔ)(DataStorage)-數(shù)據(jù)存儲(chǔ)不一定等同于一個(gè)文件,可以表示文件、文件的一部分、數(shù)據(jù)庫(kù)元素或記錄的一部分等。-數(shù)據(jù)可以存儲(chǔ)在磁盤、存儲(chǔ)器和其他任何介質(zhì)上。-指向數(shù)據(jù)存儲(chǔ)的箭頭可是是單向,也可以是雙向的。修改庫(kù)存商品庫(kù)存檢索商品信息商品目錄數(shù)據(jù)名稱或編號(hào)數(shù)據(jù)名稱或數(shù)據(jù)流圖基本元素(2)數(shù)據(jù)存儲(chǔ)(DataStorage)修數(shù)據(jù)流圖繪制步驟確定系統(tǒng)的外部項(xiàng)畫出頂層圖自頂向下逐層分解直到基本加工檢查征求用戶意見定稿復(fù)審例:學(xué)生注冊(cè)課程系統(tǒng)

某大學(xué)準(zhǔn)備開發(fā)一個(gè)學(xué)生課程注冊(cè)系統(tǒng),學(xué)生可以使用該系統(tǒng)查詢新學(xué)期將開設(shè)的課程(講課教師)情況,選擇自己要學(xué)習(xí)的課程進(jìn)行登記注冊(cè),并可以查詢成績(jī)單;教師可以使用該系統(tǒng)查詢新學(xué)期將開設(shè)的課程(選課學(xué)生)情況,并可以登記成績(jī)單;注冊(cè)管理員使用該系統(tǒng)進(jìn)行注冊(cè)管理,包括維護(hù)教師信息、學(xué)生信息和課程信息等。數(shù)據(jù)流圖繪制步驟確定系統(tǒng)的外部項(xiàng)例:學(xué)生注冊(cè)課程系統(tǒng)

某數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(1)繪制頂層DFD

將整個(gè)系統(tǒng)看作一個(gè)過程/加工,提供和接收數(shù)據(jù)的外部實(shí)體在系統(tǒng)之外,其他任何事情屬于系統(tǒng)范圍。由于數(shù)據(jù)存儲(chǔ)屬于系統(tǒng)內(nèi)部,因此不出現(xiàn)在頂層DFD中。37數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(1)繪制頂層DFD37數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(2)DFD細(xì)化:用一個(gè)過程符號(hào)表示系統(tǒng)響應(yīng)一個(gè)事件.一層DFD:38數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(2)DFD細(xì)化:用一個(gè)過數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(3)加工5的二層DFD39數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(3)加工5的二層DFD3數(shù)據(jù)流圖繪制-檢查(1)高質(zhì)量的DFD是可讀的、內(nèi)部一致、準(zhǔn)確表示系統(tǒng)需求的。數(shù)據(jù)流圖不應(yīng)反映處理的順序。數(shù)據(jù)流圖中所有元素的命名應(yīng)當(dāng)對(duì)客戶有意義,且與用戶業(yè)務(wù)相關(guān)。為便于查閱,進(jìn)行層次分解是要對(duì)圖進(jìn)行編號(hào)。數(shù)據(jù)應(yīng)通過加工進(jìn)行流動(dòng),避免從一個(gè)數(shù)據(jù)存儲(chǔ)直接流向另一個(gè)數(shù)據(jù)存儲(chǔ)。40數(shù)據(jù)2儲(chǔ)戶處理1帳戶數(shù)據(jù)1儲(chǔ)戶檢查合理性取款單合理取款單帳戶數(shù)據(jù)流圖繪制-檢查(1)高質(zhì)量的DFD是可讀的、內(nèi)部一致、準(zhǔn)數(shù)據(jù)終點(diǎn)沒有輸出!數(shù)據(jù)源加工沒有輸入!加工數(shù)據(jù)流圖繪制-檢查(2)

每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流數(shù)據(jù)流必須要么從某個(gè)加工流出、要么流入某個(gè)加工,而不能直接從外部項(xiàng)流向數(shù)據(jù)存儲(chǔ)等等。圖示的幾種流動(dòng)都是不合理的外部實(shí)體外部實(shí)體外部實(shí)體數(shù)據(jù)存儲(chǔ)數(shù)據(jù)終點(diǎn)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)終點(diǎn)沒有輸出!數(shù)據(jù)源加工沒有輸入!加工數(shù)據(jù)流圖繪制-檢查數(shù)據(jù)流圖繪制-檢查(3)復(fù)雜最小化:7±2規(guī)則(Miller數(shù))-單個(gè)DFD中不應(yīng)有超過7±2個(gè)加工。-單個(gè)DFD不應(yīng)超過7±2個(gè)數(shù)據(jù)流進(jìn)出一個(gè)加工、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)元素。接口最小化-接口是指一個(gè)問題或描述中的一部分與其他部分的連接。-與7±2個(gè)規(guī)則相關(guān),接口應(yīng)保證最小化。-當(dāng)單個(gè)過程有大量接口以致于復(fù)雜到不可以理解時(shí),可以把這種過程分解為兩個(gè)或多個(gè)過程。42數(shù)據(jù)流圖繪制-檢查(3)復(fù)雜最小化:7±2規(guī)則(Miller數(shù)據(jù)流圖繪制-檢查(4)數(shù)據(jù)流不一致問題-一個(gè)加工和它的加工分解在數(shù)據(jù)流內(nèi)容中有差別。有數(shù)據(jù)流出但沒有相應(yīng)的數(shù)據(jù)流入有數(shù)據(jù)流入但沒有相應(yīng)的數(shù)據(jù)流出。平衡-進(jìn)出加工的數(shù)據(jù)流與進(jìn)出加工分解DFD的數(shù)據(jù)流在內(nèi)容上一致。-子圖代表了父圖中某個(gè)過程的細(xì)節(jié)(詳細(xì)描述),父圖代表了子圖間的接口(抽象描述),二者代表了同一個(gè)東西。-子圖輸入、輸出數(shù)據(jù)流必須和父圖中相應(yīng)過程的輸入、輸出數(shù)據(jù)流相一致(達(dá)到“平衡”)。43數(shù)據(jù)流圖繪制-檢查(4)數(shù)據(jù)流不一致問題43作業(yè):分房管理問題:住戶把分房單交給房產(chǎn)管理員,管理員要先根據(jù)住房標(biāo)準(zhǔn)文件核準(zhǔn)住戶的住房條件,如果夠標(biāo)準(zhǔn)再根據(jù)房產(chǎn)文件察看有無空房可以分配,如果有則分配住房并且計(jì)算房租,記錄入房租文件,并將房子租金通知住戶。如果不夠標(biāo)準(zhǔn)或者無房可分,則不予分房,并對(duì)住戶下發(fā)通知。繪制頂層及第1,2層的DFD圖

作業(yè):分房管理問題:住戶把分房單交給房產(chǎn)管理員,管理員要先根數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱DD)數(shù)據(jù)字典是用來定義DFD中各個(gè)成分的具體含義的,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型。數(shù)據(jù)字典的條目?jī)?nèi)容數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)、基本加工。數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱DD)數(shù)據(jù)字?jǐn)?shù)據(jù)字典的符號(hào)46數(shù)據(jù)字典的符號(hào)46數(shù)據(jù)流條目

在一個(gè)數(shù)據(jù)流圖上,數(shù)據(jù)按數(shù)據(jù)流為單位傳輸。主要內(nèi)容有:數(shù)據(jù)流名稱、別名及簡(jiǎn)述。數(shù)據(jù)流的來源:可能是一個(gè)外部實(shí)體、處理邏輯、數(shù)據(jù)存貯。數(shù)據(jù)流的去處。(同上)數(shù)據(jù)流的組成:一個(gè)數(shù)據(jù)流可能包括若干個(gè)數(shù)據(jù)結(jié)構(gòu),若只有一個(gè)數(shù)據(jù)結(jié)構(gòu),就不需要專門定義。數(shù)據(jù)流的流通量:?jiǎn)挝粫r(shí)間內(nèi)的傳輸次數(shù)。數(shù)據(jù)流條目在一個(gè)數(shù)據(jù)流圖上,數(shù)據(jù)按數(shù)據(jù)流為單數(shù)據(jù)流條目舉例數(shù)據(jù)流的名稱:銷售科發(fā)貨單別名:無簡(jiǎn)述:工廠對(duì)顧客辦理的發(fā)貨單數(shù)據(jù)流來源:“銷售科”外部實(shí)體數(shù)據(jù)流去向:“核對(duì)發(fā)貨單”處理邏輯數(shù)據(jù)流組成:發(fā)貨單標(biāo)識(shí)+顧客+配件流通量:50份/天數(shù)據(jù)流條目舉例數(shù)據(jù)流的名稱:銷售科發(fā)貨單數(shù)據(jù)存儲(chǔ)條目

數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的場(chǎng)所。主要內(nèi)容:數(shù)據(jù)存儲(chǔ)的名稱、別名及其簡(jiǎn)述。流入、流出的數(shù)據(jù)流:流入的數(shù)據(jù)流指出其來源,流出的數(shù)據(jù)流指出其去向。數(shù)據(jù)存儲(chǔ)的組成:指它所包含的數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)。組織方式、查詢要求等。數(shù)據(jù)存儲(chǔ)條目數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的場(chǎng)數(shù)據(jù)存儲(chǔ)條目舉例數(shù)據(jù)存儲(chǔ)名稱:銷售歷史別名:無簡(jiǎn)述:公司從月初到目前為止所有配件的銷售量。流入的數(shù)據(jù)流:“顧客的發(fā)貨單”,來源是“產(chǎn)生發(fā)貨單”處理邏輯。流出的數(shù)據(jù)流:“銷售量”,去向是“產(chǎn)生銷售報(bào)表”處理邏輯。數(shù)據(jù)存貯的組成:配件編號(hào)+日期+銷售量。組織方式:以配件編號(hào)為關(guān)鍵字建立索引。查詢要求:能立即查詢。數(shù)據(jù)存儲(chǔ)條目舉例數(shù)據(jù)存儲(chǔ)名稱:銷售歷史數(shù)據(jù)項(xiàng)條目

數(shù)據(jù)項(xiàng)也稱數(shù)據(jù)元素,是“不可再分”的數(shù)據(jù)單位,是數(shù)據(jù)的最小組成單位。主要內(nèi)容有:數(shù)據(jù)項(xiàng)名稱、別名及簡(jiǎn)述:給數(shù)據(jù)項(xiàng)取名時(shí),按“顧名思義”的原則,反映該數(shù)據(jù)項(xiàng)的含義,易于他人理解、記憶。數(shù)據(jù)項(xiàng)的類型數(shù)據(jù)項(xiàng)的長(zhǎng)度:指數(shù)據(jù)項(xiàng)所包含的字符或數(shù)字的位數(shù)。取值的范圍和取值的含義數(shù)據(jù)項(xiàng)條目數(shù)據(jù)項(xiàng)也稱數(shù)據(jù)元素,是“不可再分”數(shù)據(jù)項(xiàng)條目舉例數(shù)據(jù)項(xiàng)名稱:貨物編號(hào)別名:G_No,Goods_No簡(jiǎn)述:本公司的所有貨物的編號(hào)。類型:字符串長(zhǎng)度:10取值/含義:第一位:進(jìn)口/國(guó)產(chǎn)2~4位:類別5~7位:規(guī)格8~10:品名編號(hào)數(shù)據(jù)項(xiàng)條目舉例數(shù)據(jù)項(xiàng)名稱:貨物編號(hào)加工條目用來說明DFD中基本加工的處理邏輯的。加工名;編號(hào);簡(jiǎn)述:對(duì)處理邏輯的簡(jiǎn)明描述,其目的是使人了解這個(gè)處理邏輯是做什么用的。激發(fā)條件;優(yōu)先級(jí);輸入、輸出;加工邏輯:描述該加工“做什么”,即實(shí)現(xiàn)加工的策略,而不是實(shí)現(xiàn)加工的細(xì)節(jié),描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。常用的描述方法:結(jié)構(gòu)化語(yǔ)言、判定表及判定樹。加工條目用來說明DFD中基本加工的處理邏輯的。加工條目舉例加工名:確定能否供貨編號(hào):1.2簡(jiǎn)述:激發(fā)條件:接受到合格訂單時(shí)優(yōu)先級(jí):普通輸入:合格訂單輸出:可供貨訂單、缺貨訂單加工邏輯:根據(jù)庫(kù)存記錄IF訂單項(xiàng)目的數(shù)量<該項(xiàng)目庫(kù)存量的臨界值THEN可供貨處理ELSE此訂單缺貨,登記,待進(jìn)貨后再處理ENDIF加工條目舉例加工名:確定能否供貨DFD過程/基本加工描述在過程分解中,一個(gè)高層的加工可進(jìn)一步分解。當(dāng)加工分解到足夠簡(jiǎn)單可以實(shí)現(xiàn)時(shí),分解便停止。加工邏輯說明方法:-----結(jié)構(gòu)化語(yǔ)言-----判定樹(決策樹)-----判定表(決策表)DFD過程/基本加工描述在過程分解中,一個(gè)高層的加工可進(jìn)一步結(jié)構(gòu)化語(yǔ)言(1)結(jié)構(gòu)化語(yǔ)言/偽代碼/過程設(shè)計(jì)語(yǔ)言PDL介于自然語(yǔ)言與計(jì)算機(jī)語(yǔ)言之間語(yǔ)句類型:順序語(yǔ)句、條件語(yǔ)句、循環(huán)語(yǔ)句結(jié)構(gòu)化語(yǔ)言的詞匯表由命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成。結(jié)構(gòu)化語(yǔ)言(1)結(jié)構(gòu)化語(yǔ)言/偽代碼/過程設(shè)計(jì)語(yǔ)言PDL語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)來表示其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語(yǔ)句;重復(fù)結(jié)構(gòu):WHILE_DO或REPEAT_UNTIL結(jié)構(gòu)。判定結(jié)構(gòu):IF_THEN_ELSE或

CASE_OF結(jié)構(gòu);結(jié)構(gòu)化語(yǔ)言(2)語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”IF發(fā)貨單金額超過$500THEN

IF欠款超過了60天THEN在償還欠款前不予批準(zhǔn)ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單ENDIFELSE(發(fā)貨單金額未超過$500)IF欠款超過60天THEN發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單ENDIFENDIF商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”IF發(fā)貨單金額超過$500判定樹一種圖形工具,適合描述加工中有多個(gè)策略,而且每個(gè)策略和若干條件有關(guān)的邏輯功能。判定樹一種圖形工具,適合描述加工中有多個(gè)策略,而且每個(gè)策略和(3)判定表(決策表)

如果判斷的條件多,各條件又相互組合,使用判定表來描述比較合適60田字形結(jié)構(gòu):條件、狀態(tài)、決策方案、決策規(guī)則。決策表讀法:順時(shí)針方向。(3)判定表(決策表)如果判斷的條件多,各條件又相互組判定表(決策表)繪制步驟分析決策問題涉及幾個(gè)條件分析每個(gè)條件有幾個(gè)取值區(qū)間畫出條件取值分析表,分析條件的各種可能組合分析決策問題涉及幾個(gè)決策方案畫出有條件組合的決策表決定各種條件組合的決策方案(填寫決策規(guī)則)合并化簡(jiǎn)(相同決策方案所對(duì)應(yīng)的各個(gè)條件組合是否存在無需判斷的條件)。判定表(決策表)繪制步驟分析決策問題涉及幾個(gè)條件(3)判定表例子畫出下列職工調(diào)配決策表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)當(dāng)電工;若年齡滿18歲但不滿40歲,文化程度是小學(xué)或中學(xué),若是男性,則當(dāng)鉗工,若是女性,則當(dāng)車工;若年齡滿40歲及以上者,文化程度是小學(xué)或中學(xué),則當(dāng)材料員;凡大學(xué)畢業(yè)生,都當(dāng)技術(shù)員。62(3)判定表例子畫出下列職工調(diào)配決策表:62(3)判定表例子條件取值表:63(3)判定表例子條件取值表:6364判定表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)當(dāng)電工;若年齡滿18歲但不滿40歲,文化程度是小學(xué)或中學(xué),若是男性,則當(dāng)鉗工,若是女性,則當(dāng)車工;若年齡滿40歲及以上者,文化程度是小學(xué)或中學(xué),則當(dāng)材料員;凡大學(xué)畢業(yè)生都當(dāng)技術(shù)員(3)判定表例子64判定表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化判定表(決策表)繪制練習(xí)問題說明:某公司為本科以上學(xué)歷的人重新分配工作,分配原則如下:1.如果年齡不滿30歲,學(xué)歷是本科,男性要求報(bào)考研究生,女性則擔(dān)任行政工作;2.如果年齡滿30歲不滿50歲,學(xué)歷本科,不分男女,任中層領(lǐng)導(dǎo)職務(wù),學(xué)歷是碩士不分男女,任課題組組長(zhǎng);3.如果年齡滿50歲,學(xué)歷本科,男性任科研人員,女性則擔(dān)任資料員,學(xué)歷是碩士不分男女,任課題組組長(zhǎng)。請(qǐng)繪制本問題決策表。判定表(決策表)繪制練習(xí)問題說明:第4章_需求分析XXXX0308無建筑效果版課件第4章_需求分析XXXX0308無建筑效果版課件示例:圖書訂購(gòu)系統(tǒng)DFD示例:圖書訂購(gòu)系統(tǒng)DFD實(shí)例考務(wù)處理系統(tǒng)的功能選自鄭人杰實(shí)用軟件工程(1)

對(duì)考生送來的報(bào)名單進(jìn)行檢查;(2)

對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)

對(duì)閱卷站送來的成績(jī)單進(jìn)行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;(4)

制作考生通知單(含成績(jī)及合格/不合格標(biāo)志)送給考生;(5)

按地區(qū)進(jìn)行成績(jī)分類統(tǒng)計(jì)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表。實(shí)例考務(wù)處理系統(tǒng)的功能選自鄭人杰實(shí)用軟件工程(1)對(duì)考生送根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程及系統(tǒng)與外界的關(guān)系。經(jīng)過分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有登記報(bào)名單、統(tǒng)計(jì)成績(jī)兩個(gè)主要數(shù)據(jù)流。輸入的源點(diǎn)和輸出終點(diǎn)是考生、考試中心和閱卷站。然后從輸入端開始,根據(jù)考務(wù)業(yè)務(wù)工作流,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第0層數(shù)據(jù)流圖。根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程頂層數(shù)據(jù)流圖考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報(bào)名表報(bào)名表準(zhǔn)考證考生通知單成績(jī)單合格標(biāo)準(zhǔn)錯(cuò)誤成績(jī)單考生名單統(tǒng)計(jì)分析表頂層數(shù)據(jù)流圖考考務(wù)考閱卷站不合格報(bào)名表報(bào)名表準(zhǔn)考證考生通知單報(bào)名表準(zhǔn)考證1登記報(bào)名表2統(tǒng)計(jì)成績(jī)不合格報(bào)名表考生通知單成績(jī)單統(tǒng)計(jì)分析表第0層數(shù)據(jù)流圖考生名冊(cè)合格標(biāo)準(zhǔn)考生名單錯(cuò)誤成績(jī)單報(bào)名表準(zhǔn)考證12不合格考生通知單成績(jī)單統(tǒng)計(jì)分析表第0層數(shù)據(jù)流第一層數(shù)據(jù)流圖(a)1.1

檢查報(bào)名表報(bào)名表準(zhǔn)考證1.2編準(zhǔn)考證號(hào)碼不合格報(bào)名表考生名冊(cè)考生名單合格報(bào)名表1.3登記考生合格報(bào)名表第一層數(shù)據(jù)流圖(a)1.1報(bào)名表準(zhǔn)考證1.2不合格考生名第一層數(shù)據(jù)流圖(b)2.1檢查成績(jī)單2.2審定合格者考生名冊(cè)正確成績(jī)單2.3制作通知單2.4分析統(tǒng)計(jì)成績(jī)2.5分析試題難度試題得分表考生通知單難度分析表合格標(biāo)準(zhǔn)分類統(tǒng)計(jì)表成績(jī)單錯(cuò)誤成績(jī)單經(jīng)審定的成績(jī)單第一層數(shù)據(jù)流圖(b)2.12.2考生名冊(cè)正確2.32.42某銀行的計(jì)算機(jī)儲(chǔ)蓄系統(tǒng):將儲(chǔ)戶填寫的取款單或存款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名﹑住址﹑存款類型﹑存款日期﹑利率等信息,并打印出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)計(jì)算有無余款,按取款額打印付款結(jié)算單給儲(chǔ)戶。某銀行的計(jì)算機(jī)儲(chǔ)蓄系統(tǒng):將儲(chǔ)戶填寫的取款單或存款單DFD分層數(shù)據(jù)流程圖舉例教學(xué)管理數(shù)據(jù)流程頂圖DFD分層數(shù)據(jù)流程圖舉例教學(xué)管理數(shù)據(jù)流程圖教學(xué)管理數(shù)據(jù)流程圖分層數(shù)據(jù)流程圖舉例學(xué)籍管理數(shù)據(jù)流程分層數(shù)據(jù)流程圖舉例第四章需求分析Outlines需求分析概述結(jié)構(gòu)化方法模型及其作用結(jié)構(gòu)化分析

功能模型(數(shù)據(jù)流圖數(shù)據(jù)與數(shù)據(jù)字典)

數(shù)據(jù)模型(實(shí)體關(guān)系圖)

行為模型(狀態(tài)轉(zhuǎn)換圖)第四章需求分析OutlinesER模型(Entity-RelationshipApproach)實(shí)體:客觀世界中存在且可相互區(qū)分的事物。用矩形框代表。關(guān)系:事物間是有聯(lián)系的。(1:1、1:N、M:N)用連接相關(guān)實(shí)體的菱形框表示。屬性:實(shí)體或關(guān)系所具有的性質(zhì)。用橢圓形或圓角矩形表示。教師學(xué)生課程教學(xué)學(xué)號(hào)職稱成績(jī)學(xué)分1NNMER模型(Entity-RelationshipAppro實(shí)體關(guān)系圖(ERD)實(shí)體是客觀世界中存在的且可相互區(qū)分的事務(wù)。81⑴實(shí)體

例:,

,StudentInstructorClass實(shí)體關(guān)系圖(ERD)81⑴實(shí)體實(shí)體關(guān)系圖(ERD)(續(xù))客觀世界中的事物彼此間往往是有聯(lián)系的

*一對(duì)一(1:1):對(duì)象A的一個(gè)實(shí)例只能關(guān)聯(lián)到對(duì)象B的一個(gè)實(shí)例,對(duì)象B的一個(gè)實(shí)例也只能關(guān)聯(lián)到對(duì)象A的一個(gè)實(shí)例,如一個(gè)丈夫只能有一個(gè)妻子,一個(gè)妻子也只能有一個(gè)丈夫。

*一對(duì)多(1:N):對(duì)象A的一個(gè)實(shí)例可以關(guān)聯(lián)到對(duì)象B的一個(gè)或多哥實(shí)例,而對(duì)象B的一個(gè)實(shí)例只能關(guān)聯(lián)到對(duì)象A的一個(gè)實(shí)例,如一個(gè)母親可以有多個(gè)孩子,而一個(gè)孩子只能有一個(gè)母親。*多對(duì)多(M:N):對(duì)象A的一個(gè)實(shí)例可以關(guān)聯(lián)到對(duì)象B的一個(gè)或多個(gè)實(shí)例,同時(shí)對(duì)象B的一個(gè)實(shí)例也可以關(guān)聯(lián)到對(duì)象A的一個(gè)或多個(gè)實(shí)例,如一個(gè)叔叔可以有多個(gè)侄子,一個(gè)侄子也可以有多個(gè)叔叔。82⑵關(guān)系注冊(cè)教實(shí)體關(guān)系圖(ERD)(續(xù))客觀世界中的事物彼此間往往是有聯(lián)系實(shí)體關(guān)系圖(ERD)(續(xù))

(3)屬性屬性是實(shí)體或聯(lián)系所具有的性質(zhì)。通常一個(gè)實(shí)體由若干個(gè)屬性來刻畫。例如,“學(xué)生”實(shí)體有學(xué)號(hào)、姓名、性別、系、年級(jí)83111NMN例:姓名學(xué)號(hào)實(shí)體關(guān)系圖(ERD)(續(xù))(3)屬性83111NMN例:實(shí)體關(guān)系圖(ERD)(續(xù))實(shí)體關(guān)系圖(Entity-RelationshipDiagram,ERD)-用來定義數(shù)據(jù)存儲(chǔ)需求的模型。84教師學(xué)生課程教學(xué)學(xué)號(hào)職稱成績(jī)學(xué)分1NNM數(shù)據(jù)實(shí)體數(shù)據(jù)實(shí)體:系統(tǒng)需要存儲(chǔ)的有關(guān)信息系統(tǒng)的信息.

傳統(tǒng)方法中,數(shù)據(jù)實(shí)體與過程是分離的-數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)實(shí)體、數(shù)據(jù)實(shí)體的屬性以及它們之間的聯(lián)系。實(shí)體關(guān)系圖(ERD)(續(xù))實(shí)體關(guān)系圖(Entity-Rel關(guān)聯(lián)實(shí)體-表示兩個(gè)數(shù)據(jù)實(shí)體之間多對(duì)多關(guān)系的數(shù)據(jù)實(shí)體,例如學(xué)生和課程之間存在的選課信息。E-R圖中表示實(shí)體聯(lián)系的符號(hào)如下:85在E-R圖中,每個(gè)方框表示實(shí)體型或?qū)傩裕娇蛑g的連線表示實(shí)體之間,或?qū)嶓w與屬性之間的聯(lián)系。實(shí)體關(guān)系圖(ERD)(續(xù))關(guān)聯(lián)實(shí)體85在E-R圖中,每個(gè)方框表示實(shí)體型或?qū)傩?,方框之間例:“注冊(cè)管理員”呢?遺漏了嗎?通常多對(duì)多關(guān)系需要加入關(guān)聯(lián)實(shí)體“成績(jī)”關(guān)聯(lián)實(shí)體實(shí)體關(guān)系圖(ERD)(續(xù))例:“注冊(cè)管理員”呢?遺漏了嗎?通常多對(duì)多關(guān)系需要加入關(guān)聯(lián)狀態(tài)遷移圖狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何相應(yīng)外部的信號(hào)進(jìn)行推移的一種圖形表示。圓圈“○”表示可得到的系統(tǒng)狀態(tài)箭頭“→”表示從一種狀態(tài)向另一種狀態(tài)的遷移。動(dòng)態(tài)分析工具:狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)狀態(tài)遷移圖狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何相應(yīng)外部的信號(hào)進(jìn)行推例如,當(dāng)有多個(gè)申請(qǐng)占用CPU運(yùn)行的進(jìn)程時(shí),有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移。例如,當(dāng)有多個(gè)申請(qǐng)占用CPU運(yùn)行的進(jìn)程時(shí),有關(guān)CPU分可得到的狀態(tài)=就緒,運(yùn)行,等待生成的事件=t1,t2,t3,t4

t1─

中斷事件

t2─

中斷已處理

t3─

分配CPU

t4─

用完CPU時(shí)間可得到的狀態(tài)=就緒,運(yùn)行,等待狀態(tài)遷移圖的優(yōu)點(diǎn)狀態(tài)之間的關(guān)系能夠直觀地捕捉到由于狀態(tài)遷移圖的單純性,能夠機(jī)械地分析許多情況,可很容易地建立分析工具狀態(tài)遷移圖的優(yōu)點(diǎn)狀態(tài)之間的關(guān)系能夠直觀地捕捉到演講完畢,謝謝觀看!演講完畢,謝謝觀看!92軟件工程

SoftwareEngineering2011新春版1軟件工程Softwar第四章需求分析Outlines需求分析概述

軟件需求重要性軟件定義軟件需求任務(wù)需求工程過程結(jié)構(gòu)化方法第四章需求分析Outlines軟件需求問題(1)軟件開發(fā)現(xiàn)狀:復(fù)雜的軟件系統(tǒng)開發(fā),總令人不滿意美國(guó)2500億美元/年,175,000個(gè)軟件項(xiàng)目其中,16%按時(shí)、按預(yù)算、滿足要求地交付30%左右在完成前被取消52.7%項(xiàng)目成本是預(yù)算成本的189%項(xiàng)目失敗原因缺乏用戶參與:13%不完整的需求規(guī)格說明:12%不斷改變的需求和規(guī)格說明:21%軟件需求問題(1)軟件開發(fā)現(xiàn)狀:復(fù)雜的軟件系統(tǒng)開發(fā),總令人不軟件需求問題(2)各階段缺陷對(duì)交付軟件產(chǎn)品的影響

需求缺陷約占全部提交缺陷的1/3軟件需求問題(2)各階段缺陷對(duì)交付軟件產(chǎn)品的影響需求錯(cuò)誤的代價(jià)96需求錯(cuò)誤的代價(jià)5什么是軟件需求需求的定義(IEEE,1997)

(1)用戶解決問題或達(dá)到目標(biāo)所需的條件或能力。

(2)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。

(3)一種反映上面(1)或(2)所描述的條件或能力的文檔說明。

需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,對(duì)一個(gè)待開發(fā)系統(tǒng)中各個(gè)有意義方面的陳述的一個(gè)集合。什么是軟件需求需求的定義(IEEE,1997)軟件需求的層次業(yè)務(wù)需求(businessrequirement)反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說明。用戶需求(userrequirement)描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明。功能需求(functionalrequirement)定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。非功能需求(non-functionalrequirement)是從各個(gè)角度對(duì)系統(tǒng)的約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性的額外要求。軟件需求的層次業(yè)務(wù)需求(businessrequireme軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)業(yè)務(wù)需求系統(tǒng)為用戶提供自助存取款服務(wù)用戶需求

用戶可以隨時(shí)安全、快捷地進(jìn)行存款和取款功能需求

允許用戶從銀行帳戶中取款允許用戶向銀行帳戶中存款允許用戶查詢從銀行帳戶中的余額使用8位數(shù)字密碼檢驗(yàn)用戶存取的合法性軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)軟件需求的層次(續(xù))例:銀行ATM系統(tǒng)(2)非功能需求系統(tǒng)在20秒內(nèi)響應(yīng)所有請(qǐng)求除了每天30分鐘維護(hù)外,系統(tǒng)每周7天、每天24小時(shí)都可以用需求來源

客戶或用戶(如銀行職員、管理人員、用戶)行業(yè)標(biāo)準(zhǔn)、政策法規(guī)當(dāng)前手工處理系統(tǒng)的文檔咨詢銀行領(lǐng)域?qū)<臆浖枨蟮膶哟危ɡm(xù))例:銀行ATM系統(tǒng)(2)需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的“做什么”的問題。需求分析的任務(wù)…………抽象實(shí)現(xiàn)改進(jìn)老系統(tǒng)模型新模型新系統(tǒng)需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯需求分析的過程(1)

需求分析的過程是開發(fā)人員與用戶共同協(xié)商,明確系統(tǒng)的全部功能、性能以及運(yùn)行規(guī)格,并且使用軟件開發(fā)人員和用戶都能理解的語(yǔ)言準(zhǔn)確地表達(dá)出來,即完成需求規(guī)格說明的過程。說白了,就是要明確“做什么?”整個(gè)過程分為以下四個(gè)階段:

問題識(shí)別(需求獲?。⑿枨蠓治觯ǚ治雠c綜合)、編寫規(guī)格說明文檔、需求評(píng)審。工作產(chǎn)品活動(dòng)需求分析的過程(1)需求分析的過程是開發(fā)人員與用戶1.問題識(shí)別/需求獲?。弘p方確定問題的綜合需求,識(shí)別系統(tǒng)相關(guān)者的需求,使其達(dá)到共識(shí)。?功能需求:系統(tǒng)必須做什么? ?性能需求:做得怎樣?例:responsetime,memory,back-upmemory,……?環(huán)境需求:運(yùn)行環(huán)境、軟硬件配置等。?用戶界面需求?可靠性、安全性、保密性、可移植性和可維護(hù)性等方面的需求。?將來可能提出的要求需求分析的過程(2)1.問題識(shí)別/需求獲?。弘p方確定問題的綜合需求,識(shí)別系統(tǒng)相關(guān)2.分析與綜合:

分析和整理所收集的需求,形成完整的分析模型。需求分析的過程(3)3.編寫文檔:以一致的、完備和無二義性的形式表達(dá)需求。?編寫需求說明書 ?編寫初步用戶使用手冊(cè)?編寫確認(rèn)測(cè)試計(jì)劃?修改完善項(xiàng)目開發(fā)計(jì)劃2.分析與綜合:需求分析的過程(3)3.編寫文檔:以一致的、需求分析的過程(4)驗(yàn)證需求的一致性驗(yàn)證需求的完整性驗(yàn)證需求的現(xiàn)實(shí)性驗(yàn)證需求的有效性方法:

人工審查開發(fā)原型系統(tǒng)-探索型使用軟件工具—完整性、一致性4.需求評(píng)審:確保需求說明準(zhǔn)確、完整地表達(dá)必要的質(zhì)量特點(diǎn)。5.需求管理:在整個(gè)軟件開發(fā)過程中進(jìn)行需求跟蹤、變更控制、版本控制等。需求分析的過程(4)驗(yàn)證需求的一致性方法:4.需求評(píng)審:確保常用的分析、設(shè)計(jì)方法面向數(shù)據(jù)流的(結(jié)構(gòu)化)法(SA)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD)結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)面向?qū)ο蟮姆椒ǎ∣OA)等常用的分析、設(shè)計(jì)方法面向數(shù)據(jù)流的(結(jié)構(gòu)化)法(SA)需求分析的方法結(jié)構(gòu)化分析方法:由數(shù)據(jù)流和數(shù)據(jù)字典構(gòu)成,適于數(shù)據(jù)處理領(lǐng)域問題。該方法的一個(gè)難點(diǎn)是確定數(shù)據(jù)流之間的變換,而且數(shù)據(jù)字典的規(guī)模也是一個(gè)問題,對(duì)數(shù)據(jù)結(jié)構(gòu)的強(qiáng)調(diào)很少。面向?qū)ο蟮姆治觯翰捎昧藢?shí)體、關(guān)系和屬性等信息模型分析中的概念,同時(shí)采用了封閉、類結(jié)構(gòu)和繼承性等面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的概念。需求分析的方法結(jié)構(gòu)化分析方法:由數(shù)據(jù)流和數(shù)據(jù)字典構(gòu)成,適于數(shù)注意事項(xiàng)在需求分析時(shí)要注意用戶對(duì)軟件開發(fā)的了解程度,避免造成兩種極端認(rèn)識(shí)。需求的變動(dòng)或新增是一個(gè)極為普遍的問題,既然普遍,所以軟件開發(fā)人員不僅應(yīng)該在心理上接受這種變動(dòng),還應(yīng)該在需求分析時(shí)積極的發(fā)掘需求。需求人員與用戶廣泛交流,從深度和廣度挖掘可能的需求,并應(yīng)形成規(guī)范的需求文檔,經(jīng)用戶確認(rèn)。如果為寫文檔而寫文檔,不進(jìn)行及時(shí)更新,甚至準(zhǔn)備在軟件開發(fā)完成后再補(bǔ)文檔,這是絕對(duì)錯(cuò)誤的觀點(diǎn)。注意事項(xiàng)在需求分析時(shí)要注意用戶對(duì)軟件開發(fā)的了解程度,避免造成可能的錯(cuò)誤沒有足夠用戶參與(類型、數(shù)量)開發(fā)方與用戶溝通可能處于劣勢(shì)不要錦上添花,畫蛇添足不要寫的過于簡(jiǎn)練,過于模糊計(jì)劃做需求的時(shí)間少了,導(dǎo)致需求不完整需求在簽約前要與決策者溝通好到競(jìng)爭(zhēng)對(duì)手那兒找不足不要被過細(xì)的不成熟的細(xì)節(jié)影響記下不明確的需求,約定期限明確,否則易遺漏可能的錯(cuò)誤沒有足夠用戶參與(類型、數(shù)量)需求獲取(1)真正理解項(xiàng)目中描述的客戶需求110需求獲?。?)真正理解項(xiàng)目中描述的客戶需求19需求獲取(2)聆聽用戶的需求-與各種層次的客戶進(jìn)行充分的交流和溝通,包括決策領(lǐng)導(dǎo)、使用部門的領(lǐng)導(dǎo)、具體使用人員、系統(tǒng)維護(hù)人員等分析和整理所獲取的信息-借助一些工具和方法,從用戶一般性的陳述里面提取用戶的真正需求,并由此確定軟件的功能、性能、接口關(guān)系、約束條件等形成文檔化的描述

111需求獲?。?)聆聽用戶的需求20需求獲取(3)需求的獲取技術(shù)-向系統(tǒng)相關(guān)者進(jìn)行問卷調(diào)查-主持與用戶的面談和討論-需求專題討論會(huì)-復(fù)查現(xiàn)有的報(bào)表、表格和過程描述-觀察商業(yè)過程和工作流-應(yīng)用用例-建立原型112需求規(guī)格說明:參見相應(yīng)的模板需求獲?。?)需求的獲取技術(shù)21需求規(guī)格說明:參見相應(yīng)的模板需求文檔需求文檔第四章需求分析Outlines需求分析概述結(jié)構(gòu)化方法模型及其作用結(jié)構(gòu)化分析

功能模型(數(shù)據(jù)流圖數(shù)據(jù)與數(shù)據(jù)字典)數(shù)據(jù)模型(實(shí)體關(guān)系圖)行為模型(狀態(tài)轉(zhuǎn)換圖)

第四章需求分析Outlines

模型(Model)軟件開發(fā)建模的重要性軟件系統(tǒng)建模的作用:(1)便于開發(fā)人員展現(xiàn)系統(tǒng),在建模過程中了解信息;(2)通過抽象降低復(fù)雜度,“分而治之”的方法;(3)有助于回憶所有細(xì)節(jié)、有助于與其他開發(fā)小組交流、有助于和用戶交流;(4)為維護(hù)和升級(jí)提供文檔;…建模的實(shí)質(zhì):對(duì)現(xiàn)實(shí)的簡(jiǎn)化。模型(Model)軟件開發(fā)建模的重要性

軟件模型系統(tǒng):復(fù)雜;多個(gè)模型涵蓋細(xì)節(jié)信息;模型種類:

數(shù)學(xué)模型:描述系統(tǒng)技術(shù)方面的一系列公式。

描述模型:對(duì)系統(tǒng)某一方面的描述性備忘錄、報(bào)表或列表;

圖形模型:圖表或系統(tǒng)某些方面的示意性表示。軟件模型系統(tǒng):復(fù)雜;多個(gè)模型涵蓋細(xì)節(jié)信息;

信息系統(tǒng)模型分析模型(邏輯模型)-詳細(xì)定義了系統(tǒng)需求而沒有局限于具體技術(shù)。(數(shù)據(jù)流圖、實(shí)體關(guān)系圖、數(shù)據(jù)字典、用例圖、時(shí)序圖、協(xié)作圖、狀態(tài)轉(zhuǎn)換圖…)設(shè)計(jì)模型(物理模型)-顯示如何使用具體技術(shù)來實(shí)現(xiàn)系統(tǒng)的某些方面。(系統(tǒng)結(jié)構(gòu)圖、界面布局、程序流程圖、網(wǎng)絡(luò)圖、分布圖、數(shù)據(jù)庫(kù)模式、…)信息系統(tǒng)模型分析模型(邏輯模型)結(jié)構(gòu)化方法面向數(shù)據(jù)流/結(jié)構(gòu)化進(jìn)行需求分析的方法(60-70年代初,美國(guó)Yourdon公司提出)結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析結(jié)構(gòu)化分析幫助開發(fā)人員定義系統(tǒng)需要什么,系統(tǒng)需要存儲(chǔ)和使用哪些數(shù)據(jù),系統(tǒng)需要什么樣的輸入和輸出以及如何把這些功能結(jié)合在一起完成任務(wù)結(jié)構(gòu)化分析方法按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,使用自頂向下逐層分解的系統(tǒng)分析方法來定義需求。在結(jié)構(gòu)化基礎(chǔ)上,完成系統(tǒng)規(guī)格說明,建立一個(gè)系統(tǒng)自頂向下的邏輯模型。結(jié)構(gòu)化方法面向數(shù)據(jù)流/結(jié)構(gòu)化進(jìn)行需求分析的方法(60-70結(jié)構(gòu)化方法(續(xù)1)結(jié)構(gòu)化分析方法的核心是數(shù)據(jù)流圖。數(shù)據(jù)流圖:一種表示信息流程和信息變換過程的圖解方法。數(shù)據(jù)詞典:定義數(shù)據(jù)流圖中的數(shù)據(jù)和加工。描述加工邏輯的工具:結(jié)構(gòu)化語(yǔ)言、判定表、判定樹等工具(詳細(xì)描述數(shù)據(jù)流圖中不能被再分解的每一個(gè)基本加工的處理邏輯)。結(jié)構(gòu)化分析方法的實(shí)質(zhì)是采用一組分層數(shù)據(jù)流圖及相應(yīng)的數(shù)據(jù)字典作為系統(tǒng)的邏輯模型,是一種依賴于數(shù)據(jù)流圖的自頂向下的建模方法。結(jié)構(gòu)化方法(續(xù)1)結(jié)構(gòu)化分析方法的核心是數(shù)據(jù)流圖。結(jié)構(gòu)化方法(續(xù)2)結(jié)構(gòu)化分析方法基本步驟:(1)自頂向下逐層功能分解分層DFD(2)由后向前,定義數(shù)據(jù)和加工數(shù)據(jù)字典,基本加工描述說明(3)根據(jù)需要,分析復(fù)雜數(shù)據(jù)和動(dòng)態(tài)模型:E-R圖,控制流圖(CFD),控制說明(CSPEC),狀態(tài)圖(STD)(4)編寫軟件需求規(guī)格說明書(SRS)結(jié)構(gòu)化方法(續(xù)2)結(jié)構(gòu)化分析方法基本步驟:復(fù)習(xí)軟件需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,對(duì)一個(gè)待開發(fā)的軟件系統(tǒng)中各個(gè)有意義方面所的陳述的一個(gè)集合。需求的層次:業(yè)務(wù)需求、用戶需求、功能需求、非功能需求。需求分析的過程:需求獲取、需求分析加工、編寫文檔、需求評(píng)審、需求管理。常用需求分析方法:結(jié)構(gòu)化分析、面向?qū)ο蠓治?。結(jié)構(gòu)化分析:數(shù)據(jù)流圖+數(shù)據(jù)字典復(fù)習(xí)軟件需求就是以一種清晰、簡(jiǎn)潔、一致且無二義性的方式,第四章需求分析Outlines需求分析概述結(jié)構(gòu)化方法模型及其作用結(jié)構(gòu)化分析

功能模型(數(shù)據(jù)流圖數(shù)據(jù)與數(shù)據(jù)字典)數(shù)據(jù)模型(實(shí)體關(guān)系圖)行為模型(狀態(tài)轉(zhuǎn)換圖)

第四章需求分析Outlines數(shù)據(jù)流圖(DFD,DataFlowDiagram)概念:一種描述信息系統(tǒng)邏輯模型的圖形化工具,表示信息系統(tǒng)的主要需求,能綜合反映出信息在系統(tǒng)中流動(dòng)、處理和存儲(chǔ)的情況。大型軟件系統(tǒng):分層數(shù)據(jù)流圖(Why)分層數(shù)據(jù)流圖可實(shí)現(xiàn)信息抽象

高層數(shù)據(jù)流圖是低層數(shù)據(jù)流圖的抽象表示,低層數(shù)據(jù)流圖表現(xiàn)了高層數(shù)據(jù)流圖中有關(guān)數(shù)據(jù)的處理細(xì)節(jié)。實(shí)現(xiàn)信息隱藏

高層次數(shù)據(jù)流圖不體現(xiàn)低層次數(shù)據(jù)流圖的細(xì)節(jié),掩蓋了低層數(shù)據(jù)處理的功能關(guān)系數(shù)據(jù)流圖(DFD,DataFlowDiagram)概念分層數(shù)據(jù)流圖頂層DFD僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)中間層DFD則表示對(duì)其上層父圖的細(xì)化。它的每一加工可以繼續(xù)細(xì)化,形成子圖。底層DFD是指其加工不需再做分解的數(shù)據(jù)流圖系統(tǒng)輸入1輸入n輸出1輸出nSF1F2F1F2基本系統(tǒng)模型頂層數(shù)據(jù)流圖一層數(shù)據(jù)流圖二層數(shù)據(jù)流圖P1.1P1.2P2.1P2.2P2.1P3.1P3.2P3.3P3.3F2F1F1F2系統(tǒng)S的總圖P1P2P3F1F2F1F2P1.1P1.2F1P2.1P2.2P2.1F2P3.1P3.2P3.3P3.3F1F2分層數(shù)據(jù)流圖頂層DFD僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng)。它的數(shù)據(jù)流圖基本元素(1)外部實(shí)體(ExternalEntity)/數(shù)據(jù)源點(diǎn)、終點(diǎn)-代表系統(tǒng)之外的人、物或組織-它發(fā)出或接收系統(tǒng)的數(shù)據(jù),其作用是提供系統(tǒng)和外界環(huán)境之間關(guān)系的注釋性說明數(shù)據(jù)流(DataFlow)-表示DFD中過程、數(shù)據(jù)存儲(chǔ)和外部實(shí)體之間的數(shù)據(jù)移動(dòng)。-數(shù)據(jù)流不代表控制流,數(shù)據(jù)流反映處理的對(duì)象,控制流則是一種選擇或用來影響過程的性質(zhì)過程/加工/處理(Process)-對(duì)數(shù)據(jù)執(zhí)行某種操作或變化,是把輸入數(shù)據(jù)交換成輸出數(shù)據(jù)的一種變換?;蚓幪?hào)加工名外部實(shí)體外部實(shí)體或數(shù)據(jù)流圖基本元素(1)外部實(shí)體(ExternalEntit數(shù)據(jù)流圖基本元素(2)數(shù)據(jù)存儲(chǔ)(DataStorage)-數(shù)據(jù)存儲(chǔ)不一定等同于一個(gè)文件,可以表示文件、文件的一部分、數(shù)據(jù)庫(kù)元素或記錄的一部分等。-數(shù)據(jù)可以存儲(chǔ)在磁盤、存儲(chǔ)器和其他任何介質(zhì)上。-指向數(shù)據(jù)存儲(chǔ)的箭頭可是是單向,也可以是雙向的。修改庫(kù)存商品庫(kù)存檢索商品信息商品目錄數(shù)據(jù)名稱或編號(hào)數(shù)據(jù)名稱或數(shù)據(jù)流圖基本元素(2)數(shù)據(jù)存儲(chǔ)(DataStorage)修數(shù)據(jù)流圖繪制步驟確定系統(tǒng)的外部項(xiàng)畫出頂層圖自頂向下逐層分解直到基本加工檢查征求用戶意見定稿復(fù)審例:學(xué)生注冊(cè)課程系統(tǒng)

某大學(xué)準(zhǔn)備開發(fā)一個(gè)學(xué)生課程注冊(cè)系統(tǒng),學(xué)生可以使用該系統(tǒng)查詢新學(xué)期將開設(shè)的課程(講課教師)情況,選擇自己要學(xué)習(xí)的課程進(jìn)行登記注冊(cè),并可以查詢成績(jī)單;教師可以使用該系統(tǒng)查詢新學(xué)期將開設(shè)的課程(選課學(xué)生)情況,并可以登記成績(jī)單;注冊(cè)管理員使用該系統(tǒng)進(jìn)行注冊(cè)管理,包括維護(hù)教師信息、學(xué)生信息和課程信息等。數(shù)據(jù)流圖繪制步驟確定系統(tǒng)的外部項(xiàng)例:學(xué)生注冊(cè)課程系統(tǒng)

某數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(1)繪制頂層DFD

將整個(gè)系統(tǒng)看作一個(gè)過程/加工,提供和接收數(shù)據(jù)的外部實(shí)體在系統(tǒng)之外,其他任何事情屬于系統(tǒng)范圍。由于數(shù)據(jù)存儲(chǔ)屬于系統(tǒng)內(nèi)部,因此不出現(xiàn)在頂層DFD中。128數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(1)繪制頂層DFD37數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(2)DFD細(xì)化:用一個(gè)過程符號(hào)表示系統(tǒng)響應(yīng)一個(gè)事件.一層DFD:129數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(2)DFD細(xì)化:用一個(gè)過數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(3)加工5的二層DFD130數(shù)據(jù)流圖繪制實(shí)例:學(xué)生注冊(cè)課程系統(tǒng)(3)加工5的二層DFD3數(shù)據(jù)流圖繪制-檢查(1)高質(zhì)量的DFD是可讀的、內(nèi)部一致、準(zhǔn)確表示系統(tǒng)需求的。數(shù)據(jù)流圖不應(yīng)反映處理的順序。數(shù)據(jù)流圖中所有元素的命名應(yīng)當(dāng)對(duì)客戶有意義,且與用戶業(yè)務(wù)相關(guān)。為便于查閱,進(jìn)行層次分解是要對(duì)圖進(jìn)行編號(hào)。數(shù)據(jù)應(yīng)通過加工進(jìn)行流動(dòng),避免從一個(gè)數(shù)據(jù)存儲(chǔ)直接流向另一個(gè)數(shù)據(jù)存儲(chǔ)。131數(shù)據(jù)2儲(chǔ)戶處理1帳戶數(shù)據(jù)1儲(chǔ)戶檢查合理性取款單合理取款單帳戶數(shù)據(jù)流圖繪制-檢查(1)高質(zhì)量的DFD是可讀的、內(nèi)部一致、準(zhǔn)數(shù)據(jù)終點(diǎn)沒有輸出!數(shù)據(jù)源加工沒有輸入!加工數(shù)據(jù)流圖繪制-檢查(2)

每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流數(shù)據(jù)流必須要么從某個(gè)加工流出、要么流入某個(gè)加工,而不能直接從外部項(xiàng)流向數(shù)據(jù)存儲(chǔ)等等。圖示的幾種流動(dòng)都是不合理的外部實(shí)體外部實(shí)體外部實(shí)體數(shù)據(jù)存儲(chǔ)數(shù)據(jù)終點(diǎn)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)終點(diǎn)沒有輸出!數(shù)據(jù)源加工沒有輸入!加工數(shù)據(jù)流圖繪制-檢查數(shù)據(jù)流圖繪制-檢查(3)復(fù)雜最小化:7±2規(guī)則(Miller數(shù))-單個(gè)DFD中不應(yīng)有超過7±2個(gè)加工。-單個(gè)DFD不應(yīng)超過7±2個(gè)數(shù)據(jù)流進(jìn)出一個(gè)加工、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)元素。接口最小化-接口是指一個(gè)問題或描述中的一部分與其他部分的連接。-與7±2個(gè)規(guī)則相關(guān),接口應(yīng)保證最小化。-當(dāng)單個(gè)過程有大量接口以致于復(fù)雜到不可以理解時(shí),可以把這種過程分解為兩個(gè)或多個(gè)過程。133數(shù)據(jù)流圖繪制-檢查(3)復(fù)雜最小化:7±2規(guī)則(Miller數(shù)據(jù)流圖繪制-檢查(4)數(shù)據(jù)流不一致問題-一個(gè)加工和它的加工分解在數(shù)據(jù)流內(nèi)容中有差別。有數(shù)據(jù)流出但沒有相應(yīng)的數(shù)據(jù)流入有數(shù)據(jù)流入但沒有相應(yīng)的數(shù)據(jù)流出。平衡-進(jìn)出加工的數(shù)據(jù)流與進(jìn)出加工分解DFD的數(shù)據(jù)流在內(nèi)容上一致。-子圖代表了父圖中某個(gè)過程的細(xì)節(jié)(詳細(xì)描述),父圖代表了子圖間的接口(抽象描述),二者代表了同一個(gè)東西。-子圖輸入、輸出數(shù)據(jù)流必須和父圖中相應(yīng)過程的輸入、輸出數(shù)據(jù)流相一致(達(dá)到“平衡”)。134數(shù)據(jù)流圖繪制-檢查(4)數(shù)據(jù)流不一致問題43作業(yè):分房管理問題:住戶把分房單交給房產(chǎn)管理員,管理員要先根據(jù)住房標(biāo)準(zhǔn)文件核準(zhǔn)住戶的住房條件,如果夠標(biāo)準(zhǔn)再根據(jù)房產(chǎn)文件察看有無空房可以分配,如果有則分配住房并且計(jì)算房租,記錄入房租文件,并將房子租金通知住戶。如果不夠標(biāo)準(zhǔn)或者無房可分,則不予分房,并對(duì)住戶下發(fā)通知。繪制頂層及第1,2層的DFD圖

作業(yè):分房管理問題:住戶把分房單交給房產(chǎn)管理員,管理員要先根數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱DD)數(shù)據(jù)字典是用來定義DFD中各個(gè)成分的具體含義的,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型。數(shù)據(jù)字典的條目?jī)?nèi)容數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)、基本加工。數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱DD)數(shù)據(jù)字?jǐn)?shù)據(jù)字典的符號(hào)137數(shù)據(jù)字典的符號(hào)46數(shù)據(jù)流條目

在一個(gè)數(shù)據(jù)流圖上,數(shù)據(jù)按數(shù)據(jù)流為單位傳輸。主要內(nèi)容有:數(shù)據(jù)流名稱、別名及簡(jiǎn)述。數(shù)據(jù)流的來源:可能是一個(gè)外部實(shí)體、處理邏輯、數(shù)據(jù)存貯。數(shù)據(jù)流的去處。(同上)數(shù)據(jù)流的組成:一個(gè)數(shù)據(jù)流可能包括若干個(gè)數(shù)據(jù)結(jié)構(gòu),若只有一個(gè)數(shù)據(jù)結(jié)構(gòu),就不需要專門定義。數(shù)據(jù)流的流通量:?jiǎn)挝粫r(shí)間內(nèi)的傳輸次數(shù)。數(shù)據(jù)流條目在一個(gè)數(shù)據(jù)流圖上,數(shù)據(jù)按數(shù)據(jù)流為單數(shù)據(jù)流條目舉例數(shù)據(jù)流的名稱:銷售科發(fā)貨單別名:無簡(jiǎn)述:工廠對(duì)顧客辦理的發(fā)貨單數(shù)據(jù)流來源:“銷售科”外部實(shí)體數(shù)據(jù)流去向:“核對(duì)發(fā)貨單”處理邏輯數(shù)據(jù)流組成:發(fā)貨單標(biāo)識(shí)+顧客+配件流通量:50份/天數(shù)據(jù)流條目舉例數(shù)據(jù)流的名稱:銷售科發(fā)貨單數(shù)據(jù)存儲(chǔ)條目

數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的場(chǎng)所。主要內(nèi)容:數(shù)據(jù)存儲(chǔ)的名稱、別名及其簡(jiǎn)述。流入、流出的數(shù)據(jù)流:流入的數(shù)據(jù)流指出其來源,流出的數(shù)據(jù)流指出其去向。數(shù)據(jù)存儲(chǔ)的組成:指它所包含的數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)。組織方式、查詢要求等。數(shù)據(jù)存儲(chǔ)條目數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的場(chǎng)數(shù)據(jù)存儲(chǔ)條目舉例數(shù)據(jù)存儲(chǔ)名稱:銷售歷史別名:無簡(jiǎn)述:公司從月初到目前為止所有配件的銷售量。流入的數(shù)據(jù)流:“顧客的發(fā)貨單”,來源是“產(chǎn)生發(fā)貨單”處理邏輯。流出的數(shù)據(jù)流:“銷售量”,去向是“產(chǎn)生銷售報(bào)表”處理邏輯。數(shù)據(jù)存貯的組成:配件編號(hào)+日期+銷售量。組織方式:以配件編號(hào)為關(guān)鍵字建立索引。查詢要求:能立即查詢。數(shù)據(jù)存儲(chǔ)條目舉例數(shù)據(jù)存儲(chǔ)名稱:銷售歷史數(shù)據(jù)項(xiàng)條目

數(shù)據(jù)項(xiàng)也稱數(shù)據(jù)元素,是“不可再分”的數(shù)據(jù)單位,是數(shù)據(jù)的最小組成單位。主要內(nèi)容有:數(shù)據(jù)項(xiàng)名稱、別名及簡(jiǎn)述:給數(shù)據(jù)項(xiàng)取名時(shí),按“顧名思義”的原則,反映該數(shù)據(jù)項(xiàng)的含義,易于他人理解、記憶。數(shù)據(jù)項(xiàng)的類型數(shù)據(jù)項(xiàng)的長(zhǎng)度:指數(shù)據(jù)項(xiàng)所包含的字符或數(shù)字的位數(shù)。取值的范圍和取值的含義數(shù)據(jù)項(xiàng)條目數(shù)據(jù)項(xiàng)也稱數(shù)據(jù)元素,是“不可再分”數(shù)據(jù)項(xiàng)條目舉例數(shù)據(jù)項(xiàng)名稱:貨物編號(hào)別名:G_No,Goods_No簡(jiǎn)述:本公司的所有貨物的編號(hào)。類型:字符串長(zhǎng)度:10取值/含義:第一位:進(jìn)口/國(guó)產(chǎn)2~4位:類別5~7位:規(guī)格8~10:品名編號(hào)數(shù)據(jù)項(xiàng)條目舉例數(shù)據(jù)項(xiàng)名稱:貨物編號(hào)加工條目用來說明DFD中基本加工的處理邏輯的。加工名;編號(hào);簡(jiǎn)述:對(duì)處理邏輯的簡(jiǎn)明描述,其目的是使人了解這個(gè)處理邏輯是做什么用的。激發(fā)條件;優(yōu)先級(jí);輸入、輸出;加工邏輯:描述該加工“做什么”,即實(shí)現(xiàn)加工的策略,而不是實(shí)現(xiàn)加工的細(xì)節(jié),描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。常用的描述方法:結(jié)構(gòu)化語(yǔ)言、判定表及判定樹。加工條目用來說明DFD中基本加工的處理邏輯的。加工條目舉例加工名:確定能否供貨編號(hào):1.2簡(jiǎn)述:激發(fā)條件:接受到合格訂單時(shí)優(yōu)先級(jí):普通輸入:合格訂單輸出:可供貨訂單、缺貨訂單加工邏輯:根據(jù)庫(kù)存記錄IF訂單項(xiàng)目的數(shù)量<該項(xiàng)目庫(kù)存量的臨界值THEN可供貨處理ELSE此訂單缺貨,登記,待進(jìn)貨后再處理ENDIF加工條目舉例加工名:確定能否供貨DFD過程/基本加工描述在過程分解中,一個(gè)高層的加工可進(jìn)一步分解。當(dāng)加工分解到足夠簡(jiǎn)單可以實(shí)現(xiàn)時(shí),分解便停止。加工邏輯說明方法:-----結(jié)構(gòu)化語(yǔ)言-----判定樹(決策樹)-----判定表(決策表)DFD過程/基本加工描述在過程分解中,一個(gè)高層的加工可進(jìn)一步結(jié)構(gòu)化語(yǔ)言(1)結(jié)構(gòu)化語(yǔ)言/偽代碼/過程設(shè)計(jì)語(yǔ)言PDL介于自然語(yǔ)言與計(jì)算機(jī)語(yǔ)言之間語(yǔ)句類型:順序語(yǔ)句、條件語(yǔ)句、循環(huán)語(yǔ)句結(jié)構(gòu)化語(yǔ)言的詞匯表由命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成。結(jié)構(gòu)化語(yǔ)言(1)結(jié)構(gòu)化語(yǔ)言/偽代碼/過程設(shè)計(jì)語(yǔ)言PDL語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)來表示其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語(yǔ)句;重復(fù)結(jié)構(gòu):WHILE_DO或REPEAT_UNTIL結(jié)構(gòu)。判定結(jié)構(gòu):IF_THEN_ELSE或

CASE_OF結(jié)構(gòu);結(jié)構(gòu)化語(yǔ)言(2)語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”IF發(fā)貨單金額超過$500THEN

IF欠款超過了60天THEN在償還欠款前不予批準(zhǔn)ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單ENDIFELSE(發(fā)貨單金額未超過$500)IF欠款超過60天THEN發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告ELSE(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單ENDIFENDIF商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”IF發(fā)貨單金額超過$500判定樹一種圖形工具,適合描述加工中有多個(gè)策略,而且每個(gè)策略和若干條件有關(guān)的邏輯功能。判定樹一種圖形工具,適合描述加工中有多個(gè)策略,而且每個(gè)策略和(3)判定表(決策表)

如果判斷的條件多,各條件又相互組合,使用判定表來描述比較合適151田字形結(jié)構(gòu):條件、狀態(tài)、決策方案、決策規(guī)則。決策表讀法:順時(shí)針方向。(3)判定表(決策表)如果判斷的條件多,各條件又相互組判定表(決策表)繪制步驟分析決策問題涉及幾個(gè)條件分析每個(gè)條件有幾個(gè)取值區(qū)間畫出條件取值分析表,分析條件的各種可能組合分析決策問題涉及幾個(gè)決策方案畫出有條件組合的決策表決定各種條件組合的決策方案(填寫決策規(guī)則)合并化簡(jiǎn)(相同決策方案所對(duì)應(yīng)的各個(gè)條件組合是否存在無需判斷的條件)。判定表(決策表)繪制步驟分析決策問題涉及幾個(gè)條件(3)判定表例子畫出下列職工調(diào)配決策表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)當(dāng)電工;若年齡滿18歲但不滿40歲,文化程度是小學(xué)或中學(xué),若是男性,則當(dāng)鉗工,若是女性,則當(dāng)車工;若年齡滿40歲及以上者,文化程度是小學(xué)或中學(xué),則當(dāng)材料員;凡大學(xué)畢業(yè)生,都當(dāng)技術(shù)員。153(3)判定表例子畫出下列職工調(diào)配決策表:62(3)判定表例子條件取值表:154(3)判定表例子條件取值表:63155判定表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)當(dāng)電工;若年齡滿18歲但不滿40歲,文化程度是小學(xué)或中學(xué),若是男性,則當(dāng)鉗工,若是女性,則當(dāng)車工;若年齡滿40歲及以上者,文化程度是小學(xué)或中學(xué),則當(dāng)材料員;凡大學(xué)畢業(yè)生都當(dāng)技術(shù)員(3)判定表例子64判定表:若年齡不滿18歲,文化程度是小學(xué)則脫產(chǎn)學(xué)習(xí),文化判定表(決策表)繪制練習(xí)問題說明:某公司為本科以上學(xué)歷的人重新分配工作,分配原則如下:1.如果年齡不滿30歲,學(xué)歷是本科,男性要求報(bào)考研究生,女性則擔(dān)任行政工作;2.如果年齡滿30歲不滿50歲,學(xué)歷本科,不分男女,任中層領(lǐng)導(dǎo)職務(wù),學(xué)歷是碩士不分男女,任課題組組長(zhǎng);3.如果年齡滿50歲,學(xué)歷本科,男性任科研人員,女性則擔(dān)任資料員,學(xué)歷是碩士不分男女,任課題組組長(zhǎng)。請(qǐng)繪制本問題決策表。判定表(決策表)繪制練習(xí)問題說明:第4章_需求分析XXXX0308無建筑效果版課件第4章_需求分析XXXX0308無建筑效果版課件示例:圖書訂購(gòu)系統(tǒng)DFD示例:圖書訂購(gòu)系統(tǒng)DFD實(shí)例考務(wù)處理系統(tǒng)的功能選自鄭人杰實(shí)用軟件工程(1)

對(duì)考生送來的報(bào)名單進(jìn)行檢查;(2)

對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)

對(duì)閱卷站送來的成績(jī)單進(jìn)行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;(4)

制作考生通知單(含成績(jī)及合格/不合格標(biāo)志)送給考生;(5)

按地區(qū)進(jìn)行成績(jī)分類統(tǒng)計(jì)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表。實(shí)例考務(wù)處理系統(tǒng)的功能選自鄭人杰實(shí)用軟件工程(1)對(duì)考生送根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程及系統(tǒng)與外界的關(guān)系。經(jīng)過分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有登記報(bào)名單、統(tǒng)計(jì)成績(jī)兩個(gè)主要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論