軟件工程-可行性分析課件_第1頁
軟件工程-可行性分析課件_第2頁
軟件工程-可行性分析課件_第3頁
軟件工程-可行性分析課件_第4頁
軟件工程-可行性分析課件_第5頁
已閱讀5頁,還剩185頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

為誰設(shè)計,用戶是誰?What

要解決哪些問題?Why

為什么要解決這些問題

有用的軟件

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

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

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

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

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

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

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

2.4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

層外部實體外部實體進書通知1銷售購書單領(lǐng)書單學生缺書單進書通知2采購保管員第2

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

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

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

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

1購書單領(lǐng)書單缺書單進書通知2進書通知缺書登記表教材存量表學50

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

1)

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

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

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

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

第2層第3

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

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

----DD(DataDictionary)

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

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

數(shù)據(jù)流名:發(fā)票說明:用作學生已付書款的依據(jù)數(shù)據(jù)流來源:來自加工“審查并開發(fā)票”數(shù)據(jù)流去向:流向加工“開領(lǐng)書單”。數(shù)據(jù)流組成:學號+姓名+書號+單價/總價+書費合計審查并開發(fā)票發(fā)票購書單

數(shù)據(jù)流名:(1)數(shù)據(jù)流詞條的描述數(shù)據(jù)流名59數(shù)據(jù)元素名:類型:數(shù)字(離散值、連續(xù)值),文字(編碼類型)長度:取值范圍:相關(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ù)文件名:簡述:存放的是什么數(shù)據(jù)。輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)。存儲方式:順序,直接,關(guān)鍵碼。存取頻率:

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

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

…(4)

加工邏輯詞條的描述

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

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

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

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

由a和

b

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

由a或由

b

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

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

表示在兩個*

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

----(ProcessSpecification)

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

描述把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工過程,是加工說明的主體。加工說明組成輸入加工輸出加工說明描述工具結(jié)構(gòu)化判定判定70對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明。基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié)。加工邏輯說明中包含的信息應(yīng)是充足的,完備的,有用的,無冗余的。加工邏輯說明對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明。加工71自然語言+結(jié)構(gòu)化形式(1)結(jié)構(gòu)化語言選擇結(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)對

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

在償還欠款前不予批準

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

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

if欠款超過60天then

發(fā)批準書,發(fā)貨單及賒欠報告

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

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

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

2.6.1

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

1.代碼行技術(shù)

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

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

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

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

12345

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

可行性研究報告的編寫

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

GB8567-88《計算機92可行性研究報告的編寫1引言

1.1編寫目的

1.2背景

1.3定義

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

2.1要求

2.2目標

2.3條件、假定和限制

2.4進行可行性研究的方法

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

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

3.2工作負荷

3.3費用開支

3.4人員

3.5設(shè)備

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

4.1對所建議系統(tǒng)的說明

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

4.3改進之處

4.4影響

4.5局限性

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

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

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

6.1支出

6.2收益

6.3收益/投資比

6.4投資回收周期

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

7.1法律方面的可行性

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

為誰設(shè)計,用戶是誰?What

要解決哪些問題?Why

為什么要解決這些問題

有用的軟件

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

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

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

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

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

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

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

2.4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

層外部實體外部實體進書通知1銷售購書單領(lǐng)書單學生缺書單進書通知2采購保管員第2

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

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

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

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

1購書單領(lǐng)書單缺書單進書通知2進書通知缺書登記表教材存量表學145

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

1)

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

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

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

畫分層DFD的指導原則3.區(qū)分局部文件和局部外部項1銷售購書單領(lǐng)書單缺書單進書通知2采購進書通知

溫馨提示

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

評論

0/150

提交評論