軟件工程-可行性分析課件_第1頁(yè)
軟件工程-可行性分析課件_第2頁(yè)
軟件工程-可行性分析課件_第3頁(yè)
軟件工程-可行性分析課件_第4頁(yè)
軟件工程-可行性分析課件_第5頁(yè)
已閱讀5頁(yè),還剩185頁(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)介

第二章可行性研究2.1可行性研究的任務(wù)2.2可行性研究過(guò)程2.3系統(tǒng)流程圖2.4數(shù)據(jù)流圖2.5數(shù)據(jù)字典2.6成本/效益分析第二章可行性研究2.1可行性研究的任務(wù)1可行性研究開發(fā)一個(gè)基于計(jì)算機(jī)的系統(tǒng)通常都受到資源(人力、財(cái)力、設(shè)備等)和時(shí)間上的限制,可行性分析主要從經(jīng)濟(jì)、技術(shù)、法律等方面分析所給出的解決方案是否可行,能否在規(guī)定的資源和時(shí)間的約束下完成。可行性研究開發(fā)一個(gè)基于計(jì)算機(jī)的系統(tǒng)通常都受到資源(人力、財(cái)力2開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議結(jié)束YN問題的定義與可性行研究Who

為誰(shuí)設(shè)計(jì),用戶是誰(shuí)?What

要解決哪些問題?Why

為什么要解決這些問題

有用的軟件

3W開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議Y3可行性研究目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。不是解決問題,而是確定問題是否值得去解決??尚行匝芯磕康模?可行性研究的目的說(shuō)明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)上和社會(huì)條件上的可行性;評(píng)述為合理地達(dá)到開發(fā)目標(biāo)可能選擇的各種方案。

(GB8567-88《計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》)可行性研究的目的說(shuō)明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)52.1可行性研究的任務(wù)GB8566-88《計(jì)算機(jī)軟件開發(fā)規(guī)范》中指出:

可行性研究的主要任務(wù)是“了解客戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等三方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究報(bào)告,制定初步項(xiàng)目開發(fā)計(jì)劃?!笨尚行匝芯康淖罡救蝿?wù)是:對(duì)以后的行動(dòng)方針提出建議。2.1可行性研究的任務(wù)GB8566-88《計(jì)算機(jī)軟件6可行性研究的內(nèi)容(1)技術(shù)可行性(2)經(jīng)濟(jì)可行性(3)操作可行性(4)社會(huì)可行性(法律可行性)(5)抉擇可行性研究的內(nèi)容(1)技術(shù)可行性7經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比??紤]的問題:成本/效益分析(開發(fā)、運(yùn)行的成本/效益)有形成本、效益無(wú)形成本、效益價(jià)值和成本的關(guān)系質(zhì)量與價(jià)值、成本的關(guān)系價(jià)值/成本的均衡經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比。8技術(shù)可行性分析技術(shù)可行性主要根據(jù)系統(tǒng)的功能、性能、約束條件等,分析在現(xiàn)有資源和技術(shù)條件下系統(tǒng)能否實(shí)現(xiàn)。技術(shù)可行性分析通常包括風(fēng)險(xiǎn)分析、資源分析和技術(shù)分析。技術(shù)可行性分析技術(shù)可行性主要根據(jù)系統(tǒng)的功能、性能、約束條件等9風(fēng)險(xiǎn)分析:分析在給定的約束條件下設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的風(fēng)險(xiǎn)。采用不成熟的技術(shù)可能造成技術(shù)風(fēng)險(xiǎn)人員流動(dòng)可能給項(xiàng)目帶來(lái)風(fēng)險(xiǎn)成本和人員估算不合理造成的預(yù)算風(fēng)險(xiǎn)風(fēng)險(xiǎn)分析的目的是找出風(fēng)險(xiǎn),評(píng)價(jià)風(fēng)險(xiǎn)的大小,并有效地控制和緩解風(fēng)險(xiǎn)。風(fēng)險(xiǎn)分析:分析在給定的約束條件下設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的風(fēng)險(xiǎn)。10資源分析:論證是否具備系統(tǒng)開發(fā)所需的各類人員、軟件、硬件等資源和相應(yīng)的工作環(huán)境。例如,有一支開發(fā)過(guò)類似項(xiàng)目的開發(fā)和管理的團(tuán)隊(duì),或者開發(fā)人員比較熟悉系統(tǒng)所處的領(lǐng)域,并有足夠的人員保證,所需的硬件和支撐軟件能通過(guò)合法的手段獲取,那么從資源角度看,可以認(rèn)為具備設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的條件。資源分析:論證是否具備系統(tǒng)開發(fā)所需的各類人員、軟件、硬件等資11技術(shù)分析:分析當(dāng)前的科學(xué)技術(shù)是否支持系統(tǒng)開發(fā)的各項(xiàng)活動(dòng)。在技術(shù)分析過(guò)程中,分析員收集系統(tǒng)的性能、可靠性、可維護(hù)性和生產(chǎn)率方面的信息,分析實(shí)現(xiàn)系統(tǒng)功能、性能所需的技術(shù)、方法、算法或過(guò)程,從技術(shù)角度分析可能存在的風(fēng)險(xiǎn),以及這些技術(shù)問題對(duì)成本的影響。技術(shù)可行性分析時(shí)通常需進(jìn)行系統(tǒng)建模,必要時(shí)可建造原型和進(jìn)行系統(tǒng)模擬技術(shù)分析:分析當(dāng)前的科學(xué)技術(shù)是否支持系統(tǒng)開發(fā)的各項(xiàng)活動(dòng)。12社會(huì)可行性(法律可行性)

開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵權(quán)、破壞或其它責(zé)任問題。社會(huì)可行性(法律可行性)開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上13法律可行性分析研究系統(tǒng)開發(fā)過(guò)程中可能涉及到的合同、侵權(quán)、責(zé)任以及各種與法律相抵觸的問題。1990年我國(guó)頒布了《中華人民共和國(guó)著作權(quán)法》,其中將計(jì)算機(jī)軟件作為著作權(quán)法的保護(hù)對(duì)象。1991年國(guó)務(wù)院頒布了《計(jì)算機(jī)軟件保護(hù)條例》。這兩個(gè)法律文件是法律可行性分析的主要依據(jù)。法律可行性分析研究系統(tǒng)開發(fā)過(guò)程中可能涉及到的合同、侵權(quán)、責(zé)任14操作可行性用戶使用可能性時(shí)間進(jìn)度可行性組織和文化上的可行性操作可行性用戶使用可能性15方案的選擇和折衷一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以有多個(gè)可行的實(shí)現(xiàn)方案,每個(gè)方案對(duì)成本、時(shí)間、人員、技術(shù)、設(shè)備都有不同的要求,不同方案開發(fā)出來(lái)的系統(tǒng)在功能、性能方面也會(huì)有所不同。因此要在多個(gè)可行的實(shí)現(xiàn)方案中作出選擇。方案評(píng)估的依據(jù)是待開發(fā)系統(tǒng)的功能、性能、成本、開發(fā)時(shí)間、采用的技術(shù)、設(shè)備、風(fēng)險(xiǎn)以及對(duì)開發(fā)人員的要求等。由于系統(tǒng)的功能和性能受到多種因素的影響,某些因素之間相互關(guān)聯(lián)和制約。如,為達(dá)到高的精度就可能導(dǎo)致長(zhǎng)的執(zhí)行時(shí)間,為達(dá)到高可靠性就會(huì)導(dǎo)致高的成本等等。因此,在必要時(shí)應(yīng)進(jìn)行折衷。方案的選擇和折衷一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以有多個(gè)可行的實(shí)現(xiàn)方案16可行性分析的結(jié)論可以立即開始進(jìn)行需要推遲到某些條件(例如資金、人力、設(shè)備等)落實(shí)之后才能開始進(jìn)行需要對(duì)開發(fā)目標(biāo)進(jìn)行某些修改之后才能開始進(jìn)行因?yàn)槟撤N原因(如,技術(shù)不成熟、經(jīng)濟(jì)上不合算等)不能進(jìn)行可行性分析的結(jié)論可以立即開始進(jìn)行172.2可行性研究過(guò)程1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)2.研究目前正在使用的系統(tǒng)3.導(dǎo)出新系統(tǒng)的高層邏輯模型4.進(jìn)一步定義問題5.導(dǎo)出和評(píng)價(jià)供選擇的解法6.推薦行動(dòng)方針7.草擬開發(fā)計(jì)劃8.書寫文檔提交審查2.2可行性研究過(guò)程1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)182.3系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。作用:以概括的形式描述現(xiàn)有的和未來(lái)的系統(tǒng)。它的基本思想是用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件(程序,文檔,數(shù)據(jù)庫(kù),人工過(guò)程等)。系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過(guò)程,因此盡管系統(tǒng)流程圖的某些符號(hào)和程序流程圖的符號(hào)形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。2.3系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具19基本符號(hào)

----以概括的方式抽象地描繪一個(gè)實(shí)際系統(tǒng)所用符號(hào)基本符號(hào)

----以概括的方式抽象地描繪一個(gè)實(shí)際系統(tǒng)20

---具體地描繪一個(gè)物理系統(tǒng)所用符號(hào)系統(tǒng)符號(hào)---具體地描繪一個(gè)物理系統(tǒng)所用符號(hào)21舉例----計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購(gòu)書發(fā)票到書庫(kù)領(lǐng)書購(gòu)書單終端審查并開發(fā)票11---學(xué)生各學(xué)期用書數(shù)據(jù)庫(kù)購(gòu)書單22---教材存量數(shù)據(jù)庫(kù)舉例----計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購(gòu)書發(fā)票到書庫(kù)22

2.4

數(shù)據(jù)流圖DFD----DataFlowDiagram

是分析員和用戶溝通的工具,是設(shè)計(jì)的出發(fā)點(diǎn)一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程,是系統(tǒng)邏輯功能的圖形表示。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度出發(fā),刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)和變換過(guò)程。由于它能夠清晰地反映系統(tǒng)必須完成的邏輯功能,所以它已經(jīng)成為需求分析階段中功能建模最常用的工具。2.4數(shù)據(jù)流圖DFD----DataFlow23

數(shù)據(jù)流圖四種基本符號(hào)數(shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件或或或數(shù)據(jù)流圖四種基本符號(hào)數(shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終24圖5工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖返回圖5工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖返回25

1.數(shù)據(jù)的源點(diǎn)或終點(diǎn)數(shù)據(jù)的源點(diǎn)或終點(diǎn)用于反映數(shù)據(jù)流圖與外部實(shí)體之間的聯(lián)系,表示圖中的輸入數(shù)據(jù)來(lái)自哪里或處理結(jié)果送向何處。如圖中的人事部門、后勤部門是工資系統(tǒng)中數(shù)據(jù)的源點(diǎn),而職工和銀行則是工資系統(tǒng)中數(shù)據(jù)的終點(diǎn)。1.數(shù)據(jù)的源點(diǎn)或終點(diǎn)26

2.數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)中(包括數(shù)據(jù)處理之間、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)之間以及數(shù)據(jù)處理和數(shù)據(jù)的源點(diǎn)或終點(diǎn)之間)的傳送通道,數(shù)據(jù)流符號(hào)的箭頭指明了數(shù)據(jù)的流動(dòng)方向。如圖中的出勤表、業(yè)績(jī)表、水電扣款表、工資條及工資存款清單等均為數(shù)據(jù)流。在數(shù)據(jù)流圖中,除了連接加工和數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流以外,其他的數(shù)據(jù)流在圖中都對(duì)應(yīng)一個(gè)惟一的名字。2.數(shù)據(jù)流27

3.加工加工也稱為數(shù)據(jù)處理,是對(duì)系統(tǒng)中的數(shù)據(jù)流進(jìn)行的某些操作或變換。圖中每個(gè)加工都要有對(duì)應(yīng)的名稱,最常見的名稱是由一個(gè)表明具體動(dòng)作的動(dòng)詞和一個(gè)表明處理對(duì)象的名詞構(gòu)成的,如計(jì)算應(yīng)發(fā)工資、打印工資清單等。

4.數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)流圖中用于保存數(shù)據(jù)的數(shù)據(jù)文件被稱為數(shù)據(jù)存儲(chǔ),它可以是數(shù)據(jù)庫(kù)文件或任何其他形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為向文件寫入數(shù)據(jù)或?qū)ξ募M(jìn)行查詢,流出數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為從文件中讀取數(shù)據(jù)或得到查詢結(jié)果。3.加工28數(shù)據(jù)流與加工之間的關(guān)系在數(shù)據(jù)流圖中,可以有兩個(gè)以上的數(shù)據(jù)流進(jìn)入同一個(gè)加工,也可以有兩個(gè)以上的數(shù)據(jù)流從同一個(gè)加工中流出,這樣的多個(gè)數(shù)據(jù)流之間往往存在一定的關(guān)系。為了表示這些數(shù)據(jù)流之間的關(guān)系,需要在數(shù)據(jù)流圖中給這些數(shù)據(jù)流對(duì)應(yīng)的加工加上一定的標(biāo)記符號(hào)。在下表中列出了加工中常見的幾種關(guān)系的表示方法。(表中以從加工流入或流出兩個(gè)數(shù)據(jù)流為例)。數(shù)據(jù)流與加工之間的關(guān)系29數(shù)據(jù)流圖幾種附加符號(hào)數(shù)據(jù)流圖幾種附加符號(hào)30數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采31面對(duì)復(fù)雜的系統(tǒng)----分層描繪首先用一張高層次的數(shù)據(jù)流圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個(gè)關(guān)鍵功能擴(kuò)展到適當(dāng)?shù)脑敿?xì)程度,畫在單獨(dú)的一頁(yè)紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過(guò)程逐步深入地了解一個(gè)復(fù)雜的系統(tǒng)。面對(duì)復(fù)雜的系統(tǒng)----分層描繪首先用一張高層次的數(shù)32數(shù)據(jù)流模型的建立方法

對(duì)于一個(gè)復(fù)雜的系統(tǒng)來(lái)說(shuō),可能存在著幾十個(gè)甚至成百上千個(gè)加工,若要在一個(gè)數(shù)據(jù)流圖中清楚地描述出整個(gè)系統(tǒng)加工的過(guò)程是很困難的,而采用對(duì)數(shù)據(jù)流圖進(jìn)行分層的方法則可以很好地解決這個(gè)問題。按照結(jié)構(gòu)化分析方法中“自頂向下,逐步分解”的思想,可以先將整個(gè)系統(tǒng)看作是一個(gè)加工,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)表明了系統(tǒng)和外部環(huán)境的接口,從而首先畫出系統(tǒng)的頂層數(shù)據(jù)流圖。數(shù)據(jù)流模型的建立方法33為了能夠清楚地表明系統(tǒng)加工的詳細(xì)過(guò)程,接著從頂層數(shù)據(jù)流圖出發(fā),逐層地對(duì)系統(tǒng)進(jìn)行分解。每分解一次,系統(tǒng)中加工的數(shù)量就隨之增加,每個(gè)加工的功能描述也越來(lái)越具體。重復(fù)這種分解,直至得到系統(tǒng)的底層數(shù)據(jù)流圖。底層數(shù)據(jù)流圖中的所有加工都應(yīng)是不可再分解的、最簡(jiǎn)單的“原子加工”。通過(guò)分解過(guò)程中得到的這一組分層數(shù)據(jù)流圖(由頂層、中間層和底層數(shù)據(jù)流圖共同構(gòu)成)就可以十分清晰地描述出整個(gè)系統(tǒng)所有加工的詳細(xì)情況。為了能夠清楚地表明系統(tǒng)加工的詳細(xì)過(guò)程,接著從頂層數(shù)據(jù)流圖出發(fā)34分層的數(shù)據(jù)流圖分層的數(shù)據(jù)流圖35下面以某單位工資管理系統(tǒng)為例,來(lái)介紹一下分層數(shù)據(jù)流模型的建立方法。1.建立頂層數(shù)據(jù)流圖任何系統(tǒng)的頂層數(shù)據(jù)流圖都只有一個(gè),用于反映目標(biāo)系統(tǒng)所要實(shí)現(xiàn)的功能及與外部環(huán)境的接口。頂層數(shù)據(jù)流圖中只有一個(gè)代表整個(gè)系統(tǒng)的加工,數(shù)據(jù)的源點(diǎn)和終點(diǎn)對(duì)應(yīng)著系統(tǒng)的外部實(shí)體,表明了系統(tǒng)輸入數(shù)據(jù)的來(lái)源和輸出數(shù)據(jù)的去向。工資管理系統(tǒng)的頂層數(shù)據(jù)流圖如圖5所示。下面以某單位工資管理系統(tǒng)為例,來(lái)介紹一下分層數(shù)據(jù)流模36

2.數(shù)據(jù)流圖的分層細(xì)化首先按照系統(tǒng)的功能,對(duì)頂層數(shù)據(jù)流圖進(jìn)行分解,生成第一層數(shù)據(jù)流圖。如例子中的工資計(jì)算系統(tǒng)可劃分為計(jì)算工資、打印工資清單和工資轉(zhuǎn)存三個(gè)加工。其中,計(jì)算工資完成單位職工工資計(jì)算,生成工資清單的功能;打印工資清單完成工資條的打印功能;工資轉(zhuǎn)存完成生成職工工資存款清單并將其發(fā)送到銀行的功能。對(duì)劃分得到的加工應(yīng)進(jìn)行編號(hào),此外,在標(biāo)出數(shù)據(jù)流和劃分加工的同時(shí),還要在圖中畫出涉及的數(shù)據(jù)存儲(chǔ)。2.數(shù)據(jù)流圖的分層細(xì)化37圖6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖圖6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖38對(duì)第一層數(shù)據(jù)流圖中的加工繼續(xù)分解,則可得到第二層數(shù)據(jù)流圖,如圖7所示。若數(shù)據(jù)流圖中的加工還可繼續(xù)細(xì)化,則重復(fù)以上分解過(guò)程,直到獲得系統(tǒng)的底層數(shù)據(jù)流圖。工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖如圖8所示。對(duì)第一層數(shù)據(jù)流圖中的加工繼續(xù)分解,則可得到第二層數(shù)據(jù)39圖7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖圖7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖40圖8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖圖8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖41建立數(shù)據(jù)流模型的原則建立數(shù)據(jù)流模型要遵循以下的原則:(1)每個(gè)加工至少應(yīng)有一個(gè)輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)的來(lái)源)和一個(gè)輸出數(shù)據(jù)流(反映加工的結(jié)果)。(2)數(shù)據(jù)流圖中各構(gòu)成元素的名稱必須具有明確的含義且能夠代表對(duì)應(yīng)元素的內(nèi)容或功能。(3)對(duì)數(shù)據(jù)流圖中某個(gè)加工進(jìn)行細(xì)化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對(duì)應(yīng)的父圖和子圖的輸入/輸出數(shù)據(jù)保持一致。

建立數(shù)據(jù)流模型的原則42(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個(gè)加工編號(hào),用于表明該加工所處的層次及上、下層的父圖與子圖的關(guān)系。編號(hào)的規(guī)則為:頂層加工不用編號(hào);第二層加工的編號(hào)為1,2,…,n;第三層加工的編號(hào)為1.1,1.2,…,2.1,…,n.1,n.2,…等,依次類推。如編號(hào)1.2表明該加工處于第三層數(shù)據(jù)流圖中,序號(hào)為2,該圖是對(duì)上層數(shù)據(jù)流圖中編號(hào)為1的加工進(jìn)行細(xì)化得到的子圖。(5)在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲(chǔ)文件。通常除底層數(shù)據(jù)流圖中需標(biāo)明所有數(shù)據(jù)存儲(chǔ)外,為了保持畫面的整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個(gè)加工編號(hào),用于43(6)數(shù)據(jù)流圖只能由四種基本符號(hào)組成,是實(shí)際業(yè)務(wù)流程的客觀映象,用于說(shuō)明系統(tǒng)應(yīng)該“做什么”,而不需要指明系統(tǒng)“如何做”。(7)數(shù)據(jù)流圖的分解速度應(yīng)保持適中。通常一個(gè)加工每次可分解為2~4個(gè)子加工,最多不要超過(guò)七個(gè),因?yàn)檫^(guò)快的分解會(huì)增加用戶對(duì)系統(tǒng)模型理解的難度。

(6)數(shù)據(jù)流圖只能由四種基本符號(hào)組成,是實(shí)際業(yè)務(wù)流程44.便于實(shí)現(xiàn).便于使用---采用逐步細(xì)化的擴(kuò)展方法,可避免一次引入過(guò)多的細(xì)節(jié),有利于控制問題的復(fù)雜度;

---用一組圖代替一張總圖,方便用戶及

軟件開發(fā)人員閱讀。分層DFD圖的優(yōu)點(diǎn).便于實(shí)現(xiàn).便于使用---采用逐步細(xì)化的擴(kuò)展方法,45舉例1、電梯控制系統(tǒng)(見書P71-74)2、學(xué)生購(gòu)買教材系統(tǒng)舉例1、電梯控制系統(tǒng)(見書P71-74)46畫數(shù)據(jù)流圖的步驟1、先找出系統(tǒng)的數(shù)據(jù)源點(diǎn)與終點(diǎn)。(它們是外部實(shí)體,由它們來(lái)確定系統(tǒng)與外界的接口)

2、是畫頂層圖。通常把整個(gè)系統(tǒng)當(dāng)作一個(gè)大的加工,并標(biāo)明系統(tǒng)的輸入與輸出,以及數(shù)據(jù)的源點(diǎn)與終點(diǎn)。系統(tǒng)從學(xué)生接受購(gòu)書單,經(jīng)處理后把領(lǐng)書單返回給學(xué)生,使學(xué)生可憑領(lǐng)書單到書庫(kù)領(lǐng)書。對(duì)脫銷的教材,系統(tǒng)則用缺書單的形式通知給書庫(kù);新書進(jìn)庫(kù)后也由書庫(kù)將進(jìn)書通知返回給系統(tǒng)。

3、畫分層DFD圖:把系統(tǒng)分解為銷售和采購(gòu)兩大加工。如圖所示,顯然,外部項(xiàng)學(xué)生應(yīng)與銷售子系統(tǒng)聯(lián)系,保管員應(yīng)與采購(gòu)子系統(tǒng)聯(lián)系。且兩個(gè)子系統(tǒng)之間也存在兩項(xiàng)數(shù)據(jù)聯(lián)系:其一是缺書登記表,由銷售子系統(tǒng)把脫銷的教材傳給采購(gòu)子系統(tǒng);其二是進(jìn)書通知,直接由采購(gòu)子系統(tǒng)將教材入庫(kù)信息通知銷售子系統(tǒng)。同時(shí),對(duì)于銷售子系統(tǒng)來(lái)說(shuō),它還需要對(duì)教材存量表進(jìn)行操作,即對(duì)售出的教材要在原存量中減去售出的數(shù)量,而對(duì)于新購(gòu)的教材還要寫到教材存量表中,所以該文件執(zhí)行的讀寫操作,應(yīng)用雙箭頭表示。學(xué)生教材購(gòu)銷系統(tǒng)購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知保管員第1

層外部實(shí)體外部實(shí)體進(jìn)書通知1銷售購(gòu)書單領(lǐng)書單學(xué)生缺書單進(jìn)書通知2采購(gòu)保管員第2

層教材存量表F1缺書登記表F2畫數(shù)據(jù)流圖的步驟1、先找出系統(tǒng)的數(shù)據(jù)源點(diǎn)與終點(diǎn)。47 繼續(xù)分解,就可以獲得第三層的數(shù)據(jù)流圖。我們可以從第1層的銷售子系統(tǒng)擴(kuò)展而成: 繼續(xù)分解,就可以獲得第三層的數(shù)據(jù)流圖。我們可以從第1層的銷48教材銷售子系統(tǒng)無(wú)效書單購(gòu)書單1.3登記并開領(lǐng)書單1.2開發(fā)票1.1審查有效性1.4登記缺書1.5補(bǔ)售教材采購(gòu)學(xué)生學(xué)生進(jìn)書通知有效書單發(fā)票領(lǐng)書單暫缺書單1銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2

層補(bǔ)售書單第3層教材存量表F1缺書登記表F2

F1書號(hào)單價(jià)數(shù)量各班用書表F3售書登記表F4審查有效性時(shí),首先要核對(duì)購(gòu)書單上的內(nèi)容是否與學(xué)生用書表F3相符,還要通過(guò)售書登記F4檢查學(xué)生已否購(gòu)買過(guò)這些教材。若發(fā)現(xiàn)購(gòu)書單中有學(xué)生不用或買重了的教材,便發(fā)出無(wú)效書單。只有將通過(guò)了審查的教材保留在有效構(gòu)書單中。開發(fā)票加工符號(hào),按購(gòu)書單的內(nèi)容查對(duì)教材存量表(F1),把可供應(yīng)的教材寫入發(fā)票,在F4中登記后開領(lǐng)書單并發(fā)給學(xué)生。對(duì)數(shù)量不足或全缺的教材寫入暫缺書單并登記到缺書登記表(F2)中,等待接到進(jìn)書通知后再補(bǔ)售給學(xué)生。補(bǔ)售的手續(xù)及數(shù)據(jù)流圖和第一次購(gòu)書相同。請(qǐng)大家注意,在上一層DFD中,采購(gòu)是系統(tǒng)內(nèi)部的一個(gè)加工符號(hào),但本圖卻是處于銷售子系統(tǒng)之外的一個(gè)外部實(shí)體。從圖中可以看出,該銷售子系統(tǒng)將被分解為5個(gè)子加工,編號(hào)從1.1----1.5,涉及到4個(gè)數(shù)據(jù)文件,分別用F1—F4來(lái)表示。外部項(xiàng)教材銷售子系統(tǒng)無(wú)效書單購(gòu)書單1.31.21.11.41491銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2層第3

層缺書單2.3修改教材庫(kù)存和待購(gòu)量銷售進(jìn)書通知進(jìn)書通知保管員教材存量表F1待購(gòu)教材表F5教材一覽表F6由銷售子系統(tǒng)建立起來(lái)的缺書登記表,首先按書號(hào)匯總后登入待購(gòu)教材表,然后再按出版社分別統(tǒng)計(jì)制成缺書單并送給書庫(kù)保管員作為采購(gòu)教材的依據(jù)。另外,在匯總?cè)睍俅魏瞬榻滩拇媪勘?,而且,分出版社統(tǒng)計(jì)時(shí)還要參閱教材一覽表,從該文件中可以知道這些缺書是何處出版的。新書入庫(kù)后,要及時(shí)修改教材存量表和待購(gòu)教材表中的有關(guān)教材數(shù)量,同時(shí)把進(jìn)書信息通知銷售子系統(tǒng),使銷售人員能通知缺書的學(xué)生補(bǔ)售教材。2.2按出版社統(tǒng)計(jì)缺書2.1按書號(hào)匯總?cè)睍睍怯洷鞦2采購(gòu)子系統(tǒng)

1購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2進(jìn)書通知缺書登記表教材存量表學(xué)50

從圖中可以看出,該采購(gòu)子系統(tǒng)將被分解為3個(gè)子加工,編號(hào)從2.1----2.3,涉及到4個(gè)數(shù)據(jù)文件,分別用F1,F2和F5,F6。以上三層、4張的DFD圖,一起組成了教材購(gòu)銷系統(tǒng)的分層DFD圖。從分析中大家可以得知,愈到下層,加工愈細(xì)。第三層就有8個(gè)加工。大都是足夠簡(jiǎn)單的---基本加工,可以不用再進(jìn)行分解了。從圖中可以看出,該采購(gòu)子系統(tǒng)將被分解為3個(gè)子加工51

1)

為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名(1)名字應(yīng)代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))的內(nèi)容,而不是僅僅反映它的某些成分。(2)不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。(3)如果在為某個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))起名字時(shí)遇到了困難,則很可能是因?yàn)閷?duì)數(shù)據(jù)流圖分解不恰當(dāng)造成的,應(yīng)該試試重新分解,看是否能克服這個(gè)困難。畫分層DFD的指導(dǎo)原則1.注意數(shù)據(jù)流圖中成分的命名1)為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名畫分層DFD的指導(dǎo)原則522)

為處理命名(1)通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過(guò)程。(2)名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。(3)名字最好由一個(gè)具體的及物動(dòng)詞加上一個(gè)具體的賓語(yǔ)組成。應(yīng)該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動(dòng)詞作名字。(4)通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。(5)如果在為某個(gè)處理命名時(shí)遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)嫩E象,應(yīng)考慮重新分解。畫分層DFD的指導(dǎo)原則1.注意數(shù)據(jù)流圖中成分的命名2)為處理命名畫分層DFD的指導(dǎo)原則53畫分層DFD的指導(dǎo)原則2.注意父圖和子圖的平衡:所謂的平衡,就是指父圖和子圖的輸入和輸出數(shù)據(jù)應(yīng)分別保持一致。

發(fā)票1.3開領(lǐng)書單領(lǐng)書單(a)父圖1.3.1學(xué)生領(lǐng)書單1.3.21.3.3教材(a)子圖畫分層DFD的指導(dǎo)原則發(fā)票1.3領(lǐng)書單(a)父圖1.54

畫分層DFD的指導(dǎo)原則3.區(qū)分局部文件和局部外部項(xiàng)1銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員采購(gòu)子系統(tǒng)

第2層第3

層缺書單2.3修改教材庫(kù)存和待購(gòu)量銷售進(jìn)書通知進(jìn)書通知2.1按書號(hào)匯總?cè)睍?.2按出版社統(tǒng)計(jì)缺書保管員教材存量表F1待購(gòu)教材表F5教材一覽表F6缺書登記表F2局部外部項(xiàng)局部文件畫分層DFD的指導(dǎo)原則1購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2進(jìn)55畫分層DFD的指導(dǎo)原則

4.掌握分解的速度一般來(lái)說(shuō),每一個(gè)加工每次可分為2-4個(gè)子加工,最多不得超過(guò)7個(gè)。5.遵守加工編號(hào)規(guī)則頂層加工不編號(hào)。第二層的加工編號(hào)為1,2,3,…,n號(hào)。第三層編號(hào)為1.1,1.2,1.3…n.1,n.2…等號(hào),依此類推。畫分層DFD的指導(dǎo)原則4.掌握分解的速度一562.5數(shù)據(jù)字典

----DD(DataDictionary)

數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。數(shù)據(jù)字典的任務(wù)是:對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個(gè)詞條加以定義,使得每一個(gè)圖形元素的名字都有一個(gè)確切的解釋。2.5數(shù)據(jù)字典

--57數(shù)據(jù)字典的內(nèi)容一般說(shuō)來(lái),數(shù)據(jù)字典應(yīng)該由下列4類元素的定義組成:(1)數(shù)據(jù)流(2)數(shù)據(jù)流分量(即數(shù)據(jù)元素)(3)數(shù)據(jù)存儲(chǔ)(4)處理數(shù)據(jù)字典的內(nèi)容一般說(shuō)來(lái),數(shù)據(jù)字典應(yīng)該由58數(shù)據(jù)流名:說(shuō)明:簡(jiǎn)要介紹作用,即它產(chǎn)生的原因和結(jié)果。數(shù)據(jù)流來(lái)源:即該數(shù)據(jù)流來(lái)自何方。數(shù)據(jù)流去向:去向何處。數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)。每個(gè)數(shù)據(jù)量流通量:數(shù)據(jù)量、流通量。(1)數(shù)據(jù)流詞條的描述

數(shù)據(jù)流名:發(fā)票說(shuō)明:用作學(xué)生已付書款的依據(jù)數(shù)據(jù)流來(lái)源:來(lái)自加工“審查并開發(fā)票”數(shù)據(jù)流去向:流向加工“開領(lǐng)書單”。數(shù)據(jù)流組成:學(xué)號(hào)+姓名+書號(hào)+單價(jià)/總價(jià)+書費(fèi)合計(jì)審查并開發(fā)票發(fā)票購(gòu)書單

數(shù)據(jù)流名:(1)數(shù)據(jù)流詞條的描述數(shù)據(jù)流名59數(shù)據(jù)元素名:類型:數(shù)字(離散值、連續(xù)值),文字(編碼類型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)

(2)

數(shù)據(jù)元素詞條的描述

年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金額=“00000000.01”..“999999999.99”……數(shù)據(jù)元素名:(2)數(shù)據(jù)元素詞條的描述年60(3)數(shù)據(jù)文件詞條的描述

數(shù)據(jù)文件名:簡(jiǎn)述:存放的是什么數(shù)據(jù)。輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)。存儲(chǔ)方式:順序,直接,關(guān)鍵碼。存取頻率:

…審查并開發(fā)票學(xué)生發(fā)票購(gòu)書單各班學(xué)生用書表教材存量表(3)數(shù)據(jù)文件詞條的描述數(shù)據(jù)文件名:審查61

加工名:加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)

…(4)

加工邏輯詞條的描述

1.3審查并開發(fā)票學(xué)生發(fā)票購(gòu)書單各班學(xué)生用書表教材存量表加工名:(4)加工邏輯詞條的描述1.362

名稱:外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:(5)外部實(shí)體詞條描述

1銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員名稱:外部實(shí)體名(5)外部實(shí)體詞條描述63數(shù)據(jù)字典定義符號(hào)符號(hào)含義例子

=被定義為+與[]x=a+b,則表示x

由a和

b

組成x=[a,b],則表示x

由a或由

b

組成{}或重復(fù)x={a},則表示x

由0個(gè)或多個(gè)a組成()可選

表示在兩個(gè)*

之間的內(nèi)容為詞條的注釋m{}n重復(fù)x=3{a}8,則表示x中至少出現(xiàn)3次a,最多出現(xiàn)8次*…*注釋符

x=(a),則表示a在x中出現(xiàn),也可不出現(xiàn)數(shù)據(jù)字典定義符號(hào)符號(hào)含義例子64例:存折格式例:存折格式65日期(年月日)摘要支出存入余額操作復(fù)核戶名:所號(hào):帳號(hào):開戶日:性質(zhì):印密:存折=戶名+所號(hào)+帳號(hào)+開戶日+性質(zhì)+(印密)+1{存取行}20戶名=2{字母}24所號(hào)=“001”..“999”帳號(hào)=“00000001”..“99999999”開戶日=年+月+日性質(zhì)=“1”..“6”注:“1”表示普通戶,…“6”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金額金額=“00000000.01”..“999999999.99”……日期(年月日)摘要支出存入余額操作復(fù)核戶名:所號(hào):帳號(hào):開66數(shù)據(jù)字典的建立1.建立數(shù)據(jù)字典的方法(1)手工建立。分別將數(shù)據(jù)字典中每一個(gè)條目按照規(guī)定的格式寫在卡片上,由專人負(fù)責(zé)管理和維護(hù)。為了便于查找,通??蓪⒖ㄆ诸?,按條目的名稱或編號(hào)進(jìn)行排序。(2)自動(dòng)建立。利用現(xiàn)有的數(shù)據(jù)字典建立程序,通過(guò)按照指定格式輸入各類條目的內(nèi)容,由計(jì)算機(jī)自動(dòng)建立相應(yīng)的數(shù)據(jù)字典。且通常這類工具軟件還能夠?qū)⒑玫臄?shù)據(jù)字典進(jìn)行完整性、一致性檢查,以及進(jìn)行日常的管理和維護(hù)工作。如由美國(guó)密執(zhí)安大學(xué)開發(fā)的PSL/PSA系統(tǒng)就是這類軟件的杰出代表。數(shù)據(jù)字典的建立672.建立數(shù)據(jù)字典的原則(1)所有定義必須嚴(yán)密、精確,不能存在二義性。(2)書寫格式應(yīng)簡(jiǎn)潔且嚴(yán)格。(3)應(yīng)可方便地實(shí)現(xiàn)對(duì)所需條目的按名查閱。(4)應(yīng)便于修改和更新。2.建立數(shù)據(jù)字典的原則68注:加工說(shuō)明

----(ProcessSpecification)

加工說(shuō)明是:對(duì)DFD中每個(gè)加工給予說(shuō)明。它是從系統(tǒng)功能的角度對(duì)DFD作出了注解,與DD一樣是DFD必不可缺少的輔助資料。PS注:加工說(shuō)明----(ProcessSpecific69加工說(shuō)明組成輸入數(shù)據(jù)加工邏輯輸出數(shù)據(jù)加工說(shuō)明描述工具結(jié)構(gòu)化語(yǔ)言判定表判定樹

描述把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工過(guò)程,是加工說(shuō)明的主體。加工說(shuō)明組成輸入加工輸出加工說(shuō)明描述工具結(jié)構(gòu)化判定判定70對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明?;炯庸み壿嬚f(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。加工邏輯說(shuō)明中包含的信息應(yīng)是充足的,完備的,有用的,無(wú)冗余的。加工邏輯說(shuō)明對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明。加工71自然語(yǔ)言+結(jié)構(gòu)化形式(1)結(jié)構(gòu)化語(yǔ)言選擇結(jié)構(gòu)如果<條件><策略>

If<condition><policy>如果<條件>

則<策略1>

否則<策略2>情況1<條件><策略1>…

…情況n<條件><策略n>If<condition>

then<policy1>Otherwise<policy2>case1<condition><policy1>…

…casen<condition><policyn>循環(huán)結(jié)構(gòu)對(duì)

…,<策略>重復(fù)以下<策略>直至<條件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>自然語(yǔ)言+結(jié)構(gòu)化形式(1)結(jié)構(gòu)化語(yǔ)言選如果<條件>If72商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500thenif欠款超過(guò)了60天then

在償還欠款前不予批準(zhǔn)

else(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

else(發(fā)貨單金額未超過(guò)$500)

if欠款超過(guò)60天then

發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告

else(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$50073(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,使用判定表來(lái)描述比較合適(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,74以“檢查發(fā)貨單”為例以“檢查發(fā)貨單”為例75(3)判定樹判定樹也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500欠款>60天不發(fā)出批準(zhǔn)書欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單欠款>60天發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報(bào)告欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單(3)判定樹判定樹也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比762.6成本/效益分析

成本/效益分析的目的:從經(jīng)濟(jì)角度分析開發(fā)一個(gè)特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這項(xiàng)開發(fā)工程的決定。2.6成本/效益分析成本/效益分析的目的:77

2.6.1

成本估計(jì)----人力成本估計(jì)軟件開發(fā)成本主要表現(xiàn)為人力消耗(乘以平均工資則得到開發(fā)費(fèi)用)。估算技術(shù):

1.代碼行技術(shù)

2.任務(wù)分解技術(shù)3.自動(dòng)估計(jì)成本技術(shù)2.6.1成本估計(jì)----人力成本估計(jì)78代碼行技術(shù)根據(jù)經(jīng)驗(yàn)和歷史數(shù)據(jù)估計(jì)實(shí)現(xiàn)一個(gè)功能需要的源程序行數(shù),用每行代碼的平均成本乘以行數(shù)就可以確定軟件的成本。每行代碼的平均成本主要取決于軟件的復(fù)雜程度和工資水平。代碼行技術(shù)是比較簡(jiǎn)單的定量估算方法。當(dāng)有以往開發(fā)類似工程的歷史數(shù)據(jù)可供參考時(shí),這個(gè)方法是非常有效的。具體計(jì)算方法見10.2.1

章節(jié)代碼行技術(shù)根據(jù)經(jīng)驗(yàn)和歷史數(shù)據(jù)估計(jì)實(shí)現(xiàn)一個(gè)功能需要的源79任務(wù)分解技術(shù)首先把軟件開發(fā)工程分解為若干個(gè)相對(duì)獨(dú)立的任務(wù)。再分別估計(jì)每個(gè)單獨(dú)的開發(fā)任務(wù)的成本,最后累加起來(lái)得出軟件開發(fā)工程的總成本。估計(jì)每個(gè)任務(wù)的成本時(shí),通常先估計(jì)完成該項(xiàng)任務(wù)需要用的人力(以人月為單位),再乘以每人每月的平均工資而得出每個(gè)任務(wù)的成本。具體計(jì)算方法見10.2.1章節(jié)

任務(wù)分解技術(shù)首先把軟件開發(fā)工程分解為若干個(gè)相對(duì)獨(dú)立的80自動(dòng)估計(jì)成本技術(shù)

采用自動(dòng)估計(jì)成本的軟件工具可以減輕人的勞動(dòng),并且使得估計(jì)的結(jié)果更客觀。但是,采用這種技術(shù)必須有長(zhǎng)期搜集的大量歷史數(shù)據(jù)為基礎(chǔ),并且需要有良好的數(shù)據(jù)庫(kù)系統(tǒng)支持。自動(dòng)估計(jì)成本技術(shù)采用自動(dòng)估計(jì)成本的軟件工具可以812.6.2成本/效益分析的方法成本/效益分析的第一步是估計(jì)開發(fā)成本、運(yùn)行費(fèi)用和新系統(tǒng)將帶來(lái)的經(jīng)濟(jì)效益,然后從經(jīng)濟(jì)角度判斷這個(gè)系統(tǒng)是否值得投資。運(yùn)行費(fèi)用取決于系統(tǒng)的操作費(fèi)用(操作員人數(shù),工作時(shí)間,消耗的物資等)和維護(hù)費(fèi)用。系統(tǒng)的經(jīng)濟(jì)效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用。2.6.2成本/效益分析的方法成本/效益分析的第一步是822.6.2成本/效益分析的方法注意:總的效益和生命周期的長(zhǎng)度有關(guān),所以應(yīng)該合理地估計(jì)軟件的壽命。投資是現(xiàn)在進(jìn)行的,效益是將來(lái)獲得的,不能簡(jiǎn)單地比較成本和效益,應(yīng)該考慮貨幣的時(shí)間價(jià)值。2.6.2成本/效益分析的方法注意:83成本/效益分析使用的幾個(gè)概念貨幣的時(shí)間價(jià)值投資回收期純收入投資回收率成本/效益分析使用的幾個(gè)概念貨幣的時(shí)間價(jià)值84效益經(jīng)濟(jì)效益包括使用基于計(jì)算機(jī)的系統(tǒng)后可增加的收入和可節(jié)省的運(yùn)行費(fèi)用(如操作人員數(shù)、工作時(shí)間、消耗的物資等)。在進(jìn)行成本效益分析時(shí)通常只統(tǒng)計(jì)五年內(nèi)的經(jīng)濟(jì)效益。社會(huì)效益指使用基于計(jì)算機(jī)的系統(tǒng)后對(duì)社會(huì)產(chǎn)生的影響(如提高了辦事效益,使用戶滿意等),通常社會(huì)效益只能定性地估計(jì)。經(jīng)濟(jì)效益通??捎秘泿诺臅r(shí)間價(jià)值、投資回收期和純收入來(lái)度量。效益85貨幣的時(shí)間價(jià)值設(shè):當(dāng)前金額為P,年利率為i,n年后的金額為F,則計(jì)算時(shí),累計(jì)經(jīng)濟(jì)效益應(yīng)折合成當(dāng)前金額例如,一個(gè)基于計(jì)算機(jī)的系統(tǒng)使用后,每年產(chǎn)生的經(jīng)濟(jì)效益為10萬(wàn),如果年利率為5%,那么,五年內(nèi)該系統(tǒng)的累計(jì)經(jīng)濟(jì)效益是43.2948萬(wàn),而不是50萬(wàn)。貨幣的時(shí)間價(jià)值86投資回收期:累計(jì)的經(jīng)濟(jì)效益正好等于投資數(shù)(成本)所需的時(shí)間。純收入:累計(jì)經(jīng)濟(jì)效益–投資數(shù)當(dāng)純收入大于零時(shí),該工程值得投資開發(fā)當(dāng)純收入小于零時(shí),該工程不值得投資(除非它有明顯的社會(huì)效益)當(dāng)純收入等于零時(shí),通常也不值得投資顯然,純收入越大越好。投資回收期:累計(jì)的經(jīng)濟(jì)效益正好等于投資數(shù)(成本)所需的時(shí)間。87舉例

12345

年6040200成本-效益(萬(wàn)元)該系統(tǒng)節(jié)省經(jīng)費(fèi)該系統(tǒng)成本盈虧平衡點(diǎn)投資回收期---------成本及效益分析圖舉例123488例:假設(shè)購(gòu)置一套應(yīng)用軟件投資20萬(wàn)元,預(yù)計(jì)可使用5年,每年直接經(jīng)濟(jì)效益9.6萬(wàn)元,年利率為5%,試計(jì)算投入/產(chǎn)出比。解:考慮到貨幣的時(shí)間價(jià)值,5年的總體收入應(yīng)當(dāng)逐年按照上式計(jì)算,并非為恒定的9.6萬(wàn)元。1~5年中,每年的收入折算到當(dāng)前的數(shù)據(jù)如表所示。軟件工程-可行性分析89表貨幣的時(shí)間價(jià)值年份將來(lái)收益/萬(wàn)元(1+i)n當(dāng)前收益累計(jì)的當(dāng)前收益19.61.059.14299.142929.61.10258.707517.851339.61.15768.292826.143249.61.21557.897934.041159.61.27637.521941.5630表貨幣的時(shí)間價(jià)值年份將來(lái)收益/萬(wàn)元(1+i)n當(dāng)前收益累90根據(jù)上表所列數(shù)據(jù),本軟件投入/產(chǎn)出比為41.5630/20=2.0785(2)投資回收期:根據(jù)上例,兩年后收入17.8513萬(wàn)元,尚欠2.15萬(wàn)元沒有收回成本,在第三年還需要:2.15/26.1432=0.259(年),故投資回收期為2.259年。(3)純收入:根據(jù)上面的計(jì)算結(jié)果,5年純收入為41.5630-20=21.5630萬(wàn)元這相當(dāng)于比較一個(gè)待投入的軟件項(xiàng)目可能獲取的利潤(rùn)和將20萬(wàn)元存入銀行所取得的效益。只有當(dāng)純收入大于0時(shí),開發(fā)軟件才有真正的效益。根據(jù)上表所列數(shù)據(jù),本軟件投入/產(chǎn)出比為91

可行性研究報(bào)告的編寫

GB8567-88《計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》可行性研究報(bào)告的編寫

GB8567-88《計(jì)算機(jī)92可行性研究報(bào)告的編寫1引言

1.1編寫目的

1.2背景

1.3定義

1.4參考資料2可行性研究的前提

2.1要求

2.2目標(biāo)

2.3條件、假定和限制

2.4進(jìn)行可行性研究的方法

2.5評(píng)價(jià)尺度可行性研究報(bào)告的編寫1引言2可行性研究的前提93可行性研究報(bào)告的編寫3對(duì)現(xiàn)有系統(tǒng)的分析

3.1數(shù)據(jù)流程和處理流程

3.2工作負(fù)荷

3.3費(fèi)用開支

3.4人員

3.5設(shè)備

3.6局限性4所建議的系統(tǒng)

4.1對(duì)所建議系統(tǒng)的說(shuō)明

4.2數(shù)據(jù)流程和處理流程

4.3改進(jìn)之處

4.4影響

4.5局限性

4.6技術(shù)條件方面的可行性可行性研究報(bào)告的編寫3對(duì)現(xiàn)有系統(tǒng)的分析4所建議的系統(tǒng)94可行性研究報(bào)告的編寫5可選擇的其它系統(tǒng)方案

5.1可選擇的其它系統(tǒng)15.2可選擇的其它系統(tǒng)2

......6投資及收益分析

6.1支出

6.2收益

6.3收益/投資比

6.4投資回收周期

6.5敏感性分析7社會(huì)條件方面的可行性

7.1法律方面的可行性

7.2使用方面的可行性可行性研究報(bào)告的編寫5可選擇的其它系統(tǒng)方案6投資及收益分95第二章可行性研究2.1可行性研究的任務(wù)2.2可行性研究過(guò)程2.3系統(tǒng)流程圖2.4數(shù)據(jù)流圖2.5數(shù)據(jù)字典2.6成本/效益分析第二章可行性研究2.1可行性研究的任務(wù)96可行性研究開發(fā)一個(gè)基于計(jì)算機(jī)的系統(tǒng)通常都受到資源(人力、財(cái)力、設(shè)備等)和時(shí)間上的限制,可行性分析主要從經(jīng)濟(jì)、技術(shù)、法律等方面分析所給出的解決方案是否可行,能否在規(guī)定的資源和時(shí)間的約束下完成。可行性研究開發(fā)一個(gè)基于計(jì)算機(jī)的系統(tǒng)通常都受到資源(人力、財(cái)力97開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議結(jié)束YN問題的定義與可性行研究Who

為誰(shuí)設(shè)計(jì),用戶是誰(shuí)?What

要解決哪些問題?Why

為什么要解決這些問題

有用的軟件

3W開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議Y98可行性研究目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。不是解決問題,而是確定問題是否值得去解決。可行性研究目的:99可行性研究的目的說(shuō)明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)上和社會(huì)條件上的可行性;評(píng)述為合理地達(dá)到開發(fā)目標(biāo)可能選擇的各種方案。

(GB8567-88《計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》)可行性研究的目的說(shuō)明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)1002.1可行性研究的任務(wù)GB8566-88《計(jì)算機(jī)軟件開發(fā)規(guī)范》中指出:

可行性研究的主要任務(wù)是“了解客戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等三方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究報(bào)告,制定初步項(xiàng)目開發(fā)計(jì)劃。”可行性研究的最根本任務(wù)是:對(duì)以后的行動(dòng)方針提出建議。2.1可行性研究的任務(wù)GB8566-88《計(jì)算機(jī)軟件101可行性研究的內(nèi)容(1)技術(shù)可行性(2)經(jīng)濟(jì)可行性(3)操作可行性(4)社會(huì)可行性(法律可行性)(5)抉擇可行性研究的內(nèi)容(1)技術(shù)可行性102經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比??紤]的問題:成本/效益分析(開發(fā)、運(yùn)行的成本/效益)有形成本、效益無(wú)形成本、效益價(jià)值和成本的關(guān)系質(zhì)量與價(jià)值、成本的關(guān)系價(jià)值/成本的均衡經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比。103技術(shù)可行性分析技術(shù)可行性主要根據(jù)系統(tǒng)的功能、性能、約束條件等,分析在現(xiàn)有資源和技術(shù)條件下系統(tǒng)能否實(shí)現(xiàn)。技術(shù)可行性分析通常包括風(fēng)險(xiǎn)分析、資源分析和技術(shù)分析。技術(shù)可行性分析技術(shù)可行性主要根據(jù)系統(tǒng)的功能、性能、約束條件等104風(fēng)險(xiǎn)分析:分析在給定的約束條件下設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的風(fēng)險(xiǎn)。采用不成熟的技術(shù)可能造成技術(shù)風(fēng)險(xiǎn)人員流動(dòng)可能給項(xiàng)目帶來(lái)風(fēng)險(xiǎn)成本和人員估算不合理造成的預(yù)算風(fēng)險(xiǎn)風(fēng)險(xiǎn)分析的目的是找出風(fēng)險(xiǎn),評(píng)價(jià)風(fēng)險(xiǎn)的大小,并有效地控制和緩解風(fēng)險(xiǎn)。風(fēng)險(xiǎn)分析:分析在給定的約束條件下設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的風(fēng)險(xiǎn)。105資源分析:論證是否具備系統(tǒng)開發(fā)所需的各類人員、軟件、硬件等資源和相應(yīng)的工作環(huán)境。例如,有一支開發(fā)過(guò)類似項(xiàng)目的開發(fā)和管理的團(tuán)隊(duì),或者開發(fā)人員比較熟悉系統(tǒng)所處的領(lǐng)域,并有足夠的人員保證,所需的硬件和支撐軟件能通過(guò)合法的手段獲取,那么從資源角度看,可以認(rèn)為具備設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的條件。資源分析:論證是否具備系統(tǒng)開發(fā)所需的各類人員、軟件、硬件等資106技術(shù)分析:分析當(dāng)前的科學(xué)技術(shù)是否支持系統(tǒng)開發(fā)的各項(xiàng)活動(dòng)。在技術(shù)分析過(guò)程中,分析員收集系統(tǒng)的性能、可靠性、可維護(hù)性和生產(chǎn)率方面的信息,分析實(shí)現(xiàn)系統(tǒng)功能、性能所需的技術(shù)、方法、算法或過(guò)程,從技術(shù)角度分析可能存在的風(fēng)險(xiǎn),以及這些技術(shù)問題對(duì)成本的影響。技術(shù)可行性分析時(shí)通常需進(jìn)行系統(tǒng)建模,必要時(shí)可建造原型和進(jìn)行系統(tǒng)模擬技術(shù)分析:分析當(dāng)前的科學(xué)技術(shù)是否支持系統(tǒng)開發(fā)的各項(xiàng)活動(dòng)。107社會(huì)可行性(法律可行性)

開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵權(quán)、破壞或其它責(zé)任問題。社會(huì)可行性(法律可行性)開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上108法律可行性分析研究系統(tǒng)開發(fā)過(guò)程中可能涉及到的合同、侵權(quán)、責(zé)任以及各種與法律相抵觸的問題。1990年我國(guó)頒布了《中華人民共和國(guó)著作權(quán)法》,其中將計(jì)算機(jī)軟件作為著作權(quán)法的保護(hù)對(duì)象。1991年國(guó)務(wù)院頒布了《計(jì)算機(jī)軟件保護(hù)條例》。這兩個(gè)法律文件是法律可行性分析的主要依據(jù)。法律可行性分析研究系統(tǒng)開發(fā)過(guò)程中可能涉及到的合同、侵權(quán)、責(zé)任109操作可行性用戶使用可能性時(shí)間進(jìn)度可行性組織和文化上的可行性操作可行性用戶使用可能性110方案的選擇和折衷一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以有多個(gè)可行的實(shí)現(xiàn)方案,每個(gè)方案對(duì)成本、時(shí)間、人員、技術(shù)、設(shè)備都有不同的要求,不同方案開發(fā)出來(lái)的系統(tǒng)在功能、性能方面也會(huì)有所不同。因此要在多個(gè)可行的實(shí)現(xiàn)方案中作出選擇。方案評(píng)估的依據(jù)是待開發(fā)系統(tǒng)的功能、性能、成本、開發(fā)時(shí)間、采用的技術(shù)、設(shè)備、風(fēng)險(xiǎn)以及對(duì)開發(fā)人員的要求等。由于系統(tǒng)的功能和性能受到多種因素的影響,某些因素之間相互關(guān)聯(lián)和制約。如,為達(dá)到高的精度就可能導(dǎo)致長(zhǎng)的執(zhí)行時(shí)間,為達(dá)到高可靠性就會(huì)導(dǎo)致高的成本等等。因此,在必要時(shí)應(yīng)進(jìn)行折衷。方案的選擇和折衷一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以有多個(gè)可行的實(shí)現(xiàn)方案111可行性分析的結(jié)論可以立即開始進(jìn)行需要推遲到某些條件(例如資金、人力、設(shè)備等)落實(shí)之后才能開始進(jìn)行需要對(duì)開發(fā)目標(biāo)進(jìn)行某些修改之后才能開始進(jìn)行因?yàn)槟撤N原因(如,技術(shù)不成熟、經(jīng)濟(jì)上不合算等)不能進(jìn)行可行性分析的結(jié)論可以立即開始進(jìn)行1122.2可行性研究過(guò)程1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)2.研究目前正在使用的系統(tǒng)3.導(dǎo)出新系統(tǒng)的高層邏輯模型4.進(jìn)一步定義問題5.導(dǎo)出和評(píng)價(jià)供選擇的解法6.推薦行動(dòng)方針7.草擬開發(fā)計(jì)劃8.書寫文檔提交審查2.2可行性研究過(guò)程1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)1132.3系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。作用:以概括的形式描述現(xiàn)有的和未來(lái)的系統(tǒng)。它的基本思想是用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件(程序,文檔,數(shù)據(jù)庫(kù),人工過(guò)程等)。系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過(guò)程,因此盡管系統(tǒng)流程圖的某些符號(hào)和程序流程圖的符號(hào)形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。2.3系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具114基本符號(hào)

----以概括的方式抽象地描繪一個(gè)實(shí)際系統(tǒng)所用符號(hào)基本符號(hào)

----以概括的方式抽象地描繪一個(gè)實(shí)際系統(tǒng)115

---具體地描繪一個(gè)物理系統(tǒng)所用符號(hào)系統(tǒng)符號(hào)---具體地描繪一個(gè)物理系統(tǒng)所用符號(hào)116舉例----計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購(gòu)書發(fā)票到書庫(kù)領(lǐng)書購(gòu)書單終端審查并開發(fā)票11---學(xué)生各學(xué)期用書數(shù)據(jù)庫(kù)購(gòu)書單22---教材存量數(shù)據(jù)庫(kù)舉例----計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購(gòu)書發(fā)票到書庫(kù)117

2.4

數(shù)據(jù)流圖DFD----DataFlowDiagram

是分析員和用戶溝通的工具,是設(shè)計(jì)的出發(fā)點(diǎn)一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程,是系統(tǒng)邏輯功能的圖形表示。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度出發(fā),刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)和變換過(guò)程。由于它能夠清晰地反映系統(tǒng)必須完成的邏輯功能,所以它已經(jīng)成為需求分析階段中功能建模最常用的工具。2.4數(shù)據(jù)流圖DFD----DataFlow118

數(shù)據(jù)流圖四種基本符號(hào)數(shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件或或或數(shù)據(jù)流圖四種基本符號(hào)數(shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終119圖5工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖返回圖5工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖返回120

1.數(shù)據(jù)的源點(diǎn)或終點(diǎn)數(shù)據(jù)的源點(diǎn)或終點(diǎn)用于反映數(shù)據(jù)流圖與外部實(shí)體之間的聯(lián)系,表示圖中的輸入數(shù)據(jù)來(lái)自哪里或處理結(jié)果送向何處。如圖中的人事部門、后勤部門是工資系統(tǒng)中數(shù)據(jù)的源點(diǎn),而職工和銀行則是工資系統(tǒng)中數(shù)據(jù)的終點(diǎn)。1.數(shù)據(jù)的源點(diǎn)或終點(diǎn)121

2.數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)中(包括數(shù)據(jù)處理之間、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)之間以及數(shù)據(jù)處理和數(shù)據(jù)的源點(diǎn)或終點(diǎn)之間)的傳送通道,數(shù)據(jù)流符號(hào)的箭頭指明了數(shù)據(jù)的流動(dòng)方向。如圖中的出勤表、業(yè)績(jī)表、水電扣款表、工資條及工資存款清單等均為數(shù)據(jù)流。在數(shù)據(jù)流圖中,除了連接加工和數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流以外,其他的數(shù)據(jù)流在圖中都對(duì)應(yīng)一個(gè)惟一的名字。2.數(shù)據(jù)流122

3.加工加工也稱為數(shù)據(jù)處理,是對(duì)系統(tǒng)中的數(shù)據(jù)流進(jìn)行的某些操作或變換。圖中每個(gè)加工都要有對(duì)應(yīng)的名稱,最常見的名稱是由一個(gè)表明具體動(dòng)作的動(dòng)詞和一個(gè)表明處理對(duì)象的名詞構(gòu)成的,如計(jì)算應(yīng)發(fā)工資、打印工資清單等。

4.數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)流圖中用于保存數(shù)據(jù)的數(shù)據(jù)文件被稱為數(shù)據(jù)存儲(chǔ),它可以是數(shù)據(jù)庫(kù)文件或任何其他形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為向文件寫入數(shù)據(jù)或?qū)ξ募M(jìn)行查詢,流出數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為從文件中讀取數(shù)據(jù)或得到查詢結(jié)果。3.加工123數(shù)據(jù)流與加工之間的關(guān)系在數(shù)據(jù)流圖中,可以有兩個(gè)以上的數(shù)據(jù)流進(jìn)入同一個(gè)加工,也可以有兩個(gè)以上的數(shù)據(jù)流從同一個(gè)加工中流出,這樣的多個(gè)數(shù)據(jù)流之間往往存在一定的關(guān)系。為了表示這些數(shù)據(jù)流之間的關(guān)系,需要在數(shù)據(jù)流圖中給這些數(shù)據(jù)流對(duì)應(yīng)的加工加上一定的標(biāo)記符號(hào)。在下表中列出了加工中常見的幾種關(guān)系的表示方法。(表中以從加工流入或流出兩個(gè)數(shù)據(jù)流為例)。數(shù)據(jù)流與加工之間的關(guān)系124數(shù)據(jù)流圖幾種附加符號(hào)數(shù)據(jù)流圖幾種附加符號(hào)125數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采126面對(duì)復(fù)雜的系統(tǒng)----分層描繪首先用一張高層次的數(shù)據(jù)流圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個(gè)關(guān)鍵功能擴(kuò)展到適當(dāng)?shù)脑敿?xì)程度,畫在單獨(dú)的一頁(yè)紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過(guò)程逐步深入地了解一個(gè)復(fù)雜的系統(tǒng)。面對(duì)復(fù)雜的系統(tǒng)----分層描繪首先用一張高層次的數(shù)127數(shù)據(jù)流模型的建立方法

對(duì)于一個(gè)復(fù)雜的系統(tǒng)來(lái)說(shuō),可能存在著幾十個(gè)甚至成百上千個(gè)加工,若要在一個(gè)數(shù)據(jù)流圖中清楚地描述出整個(gè)系統(tǒng)加工的過(guò)程是很困難的,而采用對(duì)數(shù)據(jù)流圖進(jìn)行分層的方法則可以很好地解決這個(gè)問題。按照結(jié)構(gòu)化分析方法中“自頂向下,逐步分解”的思想,可以先將整個(gè)系統(tǒng)看作是一個(gè)加工,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)表明了系統(tǒng)和外部環(huán)境的接口,從而首先畫出系統(tǒng)的頂層數(shù)據(jù)流圖。數(shù)據(jù)流模型的建立方法128為了能夠清楚地表明系統(tǒng)加工的詳細(xì)過(guò)程,接著從頂層數(shù)據(jù)流圖出發(fā),逐層地對(duì)系統(tǒng)進(jìn)行分解。每分解一次,系統(tǒng)中加工的數(shù)量就隨之增加,每個(gè)加工的功能描述也越來(lái)越具體。重復(fù)這種分解,直至得到系統(tǒng)的底層數(shù)據(jù)流圖。底層數(shù)據(jù)流圖中的所有加工都應(yīng)是不可再分解的、最簡(jiǎn)單的“原子加工”。通過(guò)分解過(guò)程中得到的這一組分層數(shù)據(jù)流圖(由頂層、中間層和底層數(shù)據(jù)流圖共同構(gòu)成)就可以十分清晰地描述出整個(gè)系統(tǒng)所有加工的詳細(xì)情況。為了能夠清楚地表明系統(tǒng)加工的詳細(xì)過(guò)程,接著從頂層數(shù)據(jù)流圖出發(fā)129分層的數(shù)據(jù)流圖分層的數(shù)據(jù)流圖130下面以某單位工資管理系統(tǒng)為例,來(lái)介紹一下分層數(shù)據(jù)流模型的建立方法。1.建立頂層數(shù)據(jù)流圖任何系統(tǒng)的頂層數(shù)據(jù)流圖都只有一個(gè),用于反映目標(biāo)系統(tǒng)所要實(shí)現(xiàn)的功能及與外部環(huán)境的接口。頂層數(shù)據(jù)流圖中只有一個(gè)代表整個(gè)系統(tǒng)的加工,數(shù)據(jù)的源點(diǎn)和終點(diǎn)對(duì)應(yīng)著系統(tǒng)的外部實(shí)體,表明了系統(tǒng)輸入數(shù)據(jù)的來(lái)源和輸出數(shù)據(jù)的去向。工資管理系統(tǒng)的頂層數(shù)據(jù)流圖如圖5所示。下面以某單位工資管理系統(tǒng)為例,來(lái)介紹一下分層數(shù)據(jù)流模131

2.數(shù)據(jù)流圖的分層細(xì)化首先按照系統(tǒng)的功能,對(duì)頂層數(shù)據(jù)流圖進(jìn)行分解,生成第一層數(shù)據(jù)流圖。如例子中的工資計(jì)算系統(tǒng)可劃分為計(jì)算工資、打印工資清單和工資轉(zhuǎn)存三個(gè)加工。其中,計(jì)算工資完成單位職工工資計(jì)算,生成工資清單的功能;打印工資清單完成工資條的打印功能;工資轉(zhuǎn)存完成生成職工工資存款清單并將其發(fā)送到銀行的功能。對(duì)劃分得到的加工應(yīng)進(jìn)行編號(hào),此外,在標(biāo)出數(shù)據(jù)流和劃分加工的同時(shí),還要在圖中畫出涉及的數(shù)據(jù)存儲(chǔ)。2.數(shù)據(jù)流圖的分層細(xì)化132圖6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖圖6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖133對(duì)第一層數(shù)據(jù)流圖中的加工繼續(xù)分解,則可得到第二層數(shù)據(jù)流圖,如圖7所示。若數(shù)據(jù)流圖中的加工還可繼續(xù)細(xì)化,則重復(fù)以上分解過(guò)程,直到獲得系統(tǒng)的底層數(shù)據(jù)流圖。工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖如圖8所示。對(duì)第一層數(shù)據(jù)流圖中的加工繼續(xù)分解,則可得到第二層數(shù)據(jù)134圖7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖圖7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖135圖8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖圖8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖136建立數(shù)據(jù)流模型的原則建立數(shù)據(jù)流模型要遵循以下的原則:(1)每個(gè)加工至少應(yīng)有一個(gè)輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)的來(lái)源)和一個(gè)輸出數(shù)據(jù)流(反映加工的結(jié)果)。(2)數(shù)據(jù)流圖中各構(gòu)成元素的名稱必須具有明確的含義且能夠代表對(duì)應(yīng)元素的內(nèi)容或功能。(3)對(duì)數(shù)據(jù)流圖中某個(gè)加工進(jìn)行細(xì)化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對(duì)應(yīng)的父圖和子圖的輸入/輸出數(shù)據(jù)保持一致。

建立數(shù)據(jù)流模型的原則137(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個(gè)加工編號(hào),用于表明該加工所處的層次及上、下層的父圖與子圖的關(guān)系。編號(hào)的規(guī)則為:頂層加工不用編號(hào);第二層加工的編號(hào)為1,2,…,n;第三層加工的編號(hào)為1.1,1.2,…,2.1,…,n.1,n.2,…等,依次類推。如編號(hào)1.2表明該加工處于第三層數(shù)據(jù)流圖中,序號(hào)為2,該圖是對(duì)上層數(shù)據(jù)流圖中編號(hào)為1的加工進(jìn)行細(xì)化得到的子圖。(5)在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲(chǔ)文件。通常除底層數(shù)據(jù)流圖中需標(biāo)明所有數(shù)據(jù)存儲(chǔ)外,為了保持畫面的整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個(gè)加工編號(hào),用于138(6)數(shù)據(jù)流圖只能由四種基本符號(hào)組成,是實(shí)際業(yè)務(wù)流程的客觀映象,用于說(shuō)明系統(tǒng)應(yīng)該“做什么”,而不需要指明系統(tǒng)“如何做”。(7)數(shù)據(jù)流圖的分解速度應(yīng)保持適中。通常一個(gè)加工每次可分解為2~4個(gè)子加工,最多不要超過(guò)七個(gè),因?yàn)檫^(guò)快的分解會(huì)增加用戶對(duì)系統(tǒng)模型理解的難度。

(6)數(shù)據(jù)流圖只能由四種基本符號(hào)組成,是實(shí)際業(yè)務(wù)流程139.便于實(shí)現(xiàn).便于使用---采用逐步細(xì)化的擴(kuò)展方法,可避免一次引入過(guò)多的細(xì)節(jié),有利于控制問題的復(fù)雜度;

---用一組圖代替一張總圖,方便用戶及

軟件開發(fā)人員閱讀。分層DFD圖的優(yōu)點(diǎn).便于實(shí)現(xiàn).便于使用---采用逐步細(xì)化的擴(kuò)展方法,140舉例1、電梯控制系統(tǒng)(見書P71-74)2、學(xué)生購(gòu)買教材系統(tǒng)舉例1、電梯控制系統(tǒng)(見書P71-74)141畫數(shù)據(jù)流圖的步驟1、先找出系統(tǒng)的數(shù)據(jù)源點(diǎn)與終點(diǎn)。(它們是外部實(shí)體,由它們來(lái)確定系統(tǒng)與外界的接口)

2、是畫頂層圖。通常把整個(gè)系統(tǒng)當(dāng)作一個(gè)大的加工,并標(biāo)明系統(tǒng)的輸入與輸出,以及數(shù)據(jù)的源點(diǎn)與終點(diǎn)。系統(tǒng)從學(xué)生接受購(gòu)書單,經(jīng)處理后把領(lǐng)書單返回給學(xué)生,使學(xué)生可憑領(lǐng)書單到書庫(kù)領(lǐng)書。對(duì)脫銷的教材,系統(tǒng)則用缺書單的形式通知給書庫(kù);新書進(jìn)庫(kù)后也由書庫(kù)將進(jìn)書通知返回給系統(tǒng)。

3、畫分層DFD圖:把系統(tǒng)分解為銷售和采購(gòu)兩大加工。如圖所示,顯然,外部項(xiàng)學(xué)生應(yīng)與銷售子系統(tǒng)聯(lián)系,保管員應(yīng)與采購(gòu)子系統(tǒng)聯(lián)系。且兩個(gè)子系統(tǒng)之間也存在兩項(xiàng)數(shù)據(jù)聯(lián)系:其一是缺書登記表,由銷售子系統(tǒng)把脫銷的教材傳給采購(gòu)子系統(tǒng);其二是進(jìn)書通知,直接由采購(gòu)子系統(tǒng)將教材入庫(kù)信息通知銷售子系統(tǒng)。同時(shí),對(duì)于銷售子系統(tǒng)來(lái)說(shuō),它還需要對(duì)教材存量表進(jìn)行操作,即對(duì)售出的教材要在原存量中減去售出的數(shù)量,而對(duì)于新購(gòu)的教材還要寫到教材存量表中,所以該文件執(zhí)行的讀寫操作,應(yīng)用雙箭頭表示。學(xué)生教材購(gòu)銷系統(tǒng)購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知保管員第1

層外部實(shí)體外部實(shí)體進(jìn)書通知1銷售購(gòu)書單領(lǐng)書單學(xué)生缺書單進(jìn)書通知2采購(gòu)保管員第2

層教材存量表F1缺書登記表F2畫數(shù)據(jù)流圖的步驟1、先找出系統(tǒng)的數(shù)據(jù)源點(diǎn)與終點(diǎn)。142 繼續(xù)分解,就可以獲得第三層的數(shù)據(jù)流圖。我們可以從第1層的銷售子系統(tǒng)擴(kuò)展而成: 繼續(xù)分解,就可以獲得第三層的數(shù)據(jù)流圖。我們可以從第1層的銷143教材銷售子系統(tǒng)無(wú)效書單購(gòu)書單1.3登記并開領(lǐng)書單1.2開發(fā)票1.1審查有效性1.4登記缺書1.5補(bǔ)售教材采購(gòu)學(xué)生學(xué)生進(jìn)書通知有效書單發(fā)票領(lǐng)書單暫缺書單1銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2

層補(bǔ)售書單第3層教材存量表F1缺書登記表F2

F1書號(hào)單價(jià)數(shù)量各班用書表F3售書登記表F4審查有效性時(shí),首先要核對(duì)購(gòu)書單上的內(nèi)容是否與學(xué)生用書表F3相符,還要通過(guò)售書登記F4檢查學(xué)生已否購(gòu)買過(guò)這些教材。若發(fā)現(xiàn)購(gòu)書單中有學(xué)生不用或買重了的教材,便發(fā)出無(wú)效書單。只有將通過(guò)了審查的教材保留在有效構(gòu)書單中。開發(fā)票加工符號(hào),按購(gòu)書單的內(nèi)容查對(duì)教材存量表(F1),把可供應(yīng)的教材寫入發(fā)票,在F4中登記后開領(lǐng)書單并發(fā)給學(xué)生。對(duì)數(shù)量不足或全缺的教材寫入暫缺書單并登記到缺書登記表(F2)中,等待接到進(jìn)書通知后再補(bǔ)售給學(xué)生。補(bǔ)售的手續(xù)及數(shù)據(jù)流圖和第一次購(gòu)書相同。請(qǐng)大家注意,在上一層DFD中,采購(gòu)是系統(tǒng)內(nèi)部的一個(gè)加工符號(hào),但本圖卻是處于銷售子系統(tǒng)之外的一個(gè)外部實(shí)體。從圖中可以看出,該銷售子系統(tǒng)將被分解為5個(gè)子加工,編號(hào)從1.1----1.5,涉及到4個(gè)數(shù)據(jù)文件,分別用F1—F4來(lái)表示。外部項(xiàng)教材銷售子系統(tǒng)無(wú)效書單購(gòu)書單1.31.21.11.411441銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2層第3

層缺書單2.3修改教材庫(kù)存和待購(gòu)量銷售進(jìn)書通知進(jìn)書通知保管員教材存量表F1待購(gòu)教材表F5教材一覽表F6由銷售子系統(tǒng)建立起來(lái)的缺書登記表,首先按書號(hào)匯總后登入待購(gòu)教材表,然后再按出版社分別統(tǒng)計(jì)制成缺書單并送給書庫(kù)保管員作為采購(gòu)教材的依據(jù)。另外,在匯總?cè)睍俅魏瞬榻滩拇媪勘恚?,分出版社統(tǒng)計(jì)時(shí)還要參閱教材一覽表,從該文件中可以知道這些缺書是何處出版的。新書入庫(kù)后,要及時(shí)修改教材存量表和待購(gòu)教材表中的有關(guān)教材數(shù)量,同時(shí)把進(jìn)書信息通知銷售子系統(tǒng),使銷售人員能通知缺書的學(xué)生補(bǔ)售教材。2.2按出版社統(tǒng)計(jì)缺書2.1按書號(hào)匯總?cè)睍睍怯洷鞦2采購(gòu)子系統(tǒng)

1購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2進(jìn)書通知缺書登記表教材存量表學(xué)145

從圖中可以看出,該采購(gòu)子系統(tǒng)將被分解為3個(gè)子加工,編號(hào)從2.1----2.3,涉及到4個(gè)數(shù)據(jù)文件,分別用F1,F2和F5,F6。以上三層、4張的DFD圖,一起組成了教材購(gòu)銷系統(tǒng)的分層DFD圖。從分析中大家可以得知,愈到下層,加工愈細(xì)。第三層就有8個(gè)加工。大都是足夠簡(jiǎn)單的---基本加工,可以不用再進(jìn)行分解了。從圖中可以看出,該采購(gòu)子系統(tǒng)將被分解為3個(gè)子加工146

1)

為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名(1)名字應(yīng)代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))的內(nèi)容,而不是僅僅反映它的某些成分。(2)不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。(3)如果在為某個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))起名字時(shí)遇到了困難,則很可能是因?yàn)閷?duì)數(shù)據(jù)流圖分解不恰當(dāng)造成的,應(yīng)該試試重新分解,看是否能克服這個(gè)困難。畫分層DFD的指導(dǎo)原則1.注意數(shù)據(jù)流圖中成分的命名1)為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名畫分層DFD的指導(dǎo)原則1472)

為處理命名(1)通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過(guò)程。(2)名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。(3)名字最好由一個(gè)具體的及物動(dòng)詞加上一個(gè)具體的賓語(yǔ)組成。應(yīng)該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動(dòng)詞作名字。(4)通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。(5)如果在為某個(gè)處理命名時(shí)遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)嫩E象,應(yīng)考慮重新分解。畫分層DFD的指導(dǎo)原則1.注意數(shù)據(jù)流圖中成分的命名2)為處理命名畫分層DFD的指導(dǎo)原則148畫分層DFD的指導(dǎo)原則2.注意父圖和子圖的平衡:所謂的平衡,就是指父圖和子圖的輸入和輸出數(shù)據(jù)應(yīng)分別保持一致。

發(fā)票1.3開領(lǐng)書單領(lǐng)書單(a)父圖1.3.1學(xué)生領(lǐng)書單1.3.21.3.3教材(a)子圖畫分層DFD的指導(dǎo)原則發(fā)票1.3領(lǐng)書單(a)父圖1.149

畫分層DFD的指導(dǎo)原則3.區(qū)分局部文件和局部外部項(xiàng)1銷售購(gòu)書單領(lǐng)書單缺書單進(jìn)書通知2采購(gòu)進(jìn)書通知

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論