版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章結(jié)構(gòu)化系統(tǒng)分析6.1系統(tǒng)分析的任務6.2作業(yè)流程圖6.3數(shù)據(jù)流圖6.4數(shù)據(jù)字典6.5表達處理邏輯的工具6.6數(shù)據(jù)查詢應用分析6.7新系統(tǒng)邏輯模型的提出6.8系統(tǒng)說明書習題6系統(tǒng)分析是應用系統(tǒng)思想和方法,把復雜的對象分解成簡單的組成局部,找出這些局部的根本屬性和彼此間的關(guān)系。本章介紹系統(tǒng)分析階段的任務、方法和工具。這一階段產(chǎn)生的系統(tǒng)說明書,既是后續(xù)開發(fā)工作的依據(jù),也是衡量一個信息系統(tǒng)優(yōu)劣的依據(jù)。6.1系統(tǒng)分析的任務系統(tǒng)分析階段的根本任務是:系統(tǒng)分析員與用戶一起充分討論用戶的要求,并把雙方的理解用系統(tǒng)說明書表達出來。系統(tǒng)說明書審核通過之后,將成為系統(tǒng)設(shè)計的依據(jù)和將來驗收系統(tǒng)的依據(jù)。擬建的信息系統(tǒng)既要源于原系統(tǒng),又要高于原系統(tǒng)。所謂“高于原系統(tǒng)〞,就是要比現(xiàn)行系統(tǒng)功能更強,效率更高,使用更方便。但新系統(tǒng)不是無源之水,無本之木?!霸川暰褪乾F(xiàn)行信息系統(tǒng)。因此,系統(tǒng)分析員要在總體規(guī)劃的根底上與用戶密切配合,用系統(tǒng)的思想和方法,對企業(yè)的業(yè)務活動進行全面的調(diào)查分析,掌握詳細的工作流程;收集票據(jù)、賬單、報表等資料,分析現(xiàn)行系統(tǒng)的局限性和缺乏之處,找出制約現(xiàn)行系統(tǒng)的“瓶頸〞,確定新系統(tǒng)的邏輯功能;根據(jù)企業(yè)的條件,找出幾種可行的解決方案,分析比較這些方案的投資和可能的收益。系統(tǒng)分析是研制信息系統(tǒng)最重要的階段,也是最困難的階段。系統(tǒng)分析要答復新系統(tǒng)“做什么〞這個關(guān)鍵性的問題。只有明確了問題,才有可能解決問題。否那么,方向不明,無的放矢,費力不討好。實際工作中常常有這種情形:業(yè)務人員認為信息系統(tǒng)的開發(fā)只是技術(shù)人員的事,而開發(fā)人員根據(jù)對用戶要求的淺薄理解就匆匆忙忙進行系統(tǒng)設(shè)計,編寫程序。系統(tǒng)交給用戶使用時,用戶說“這不是我要的系統(tǒng)〞。對系統(tǒng)分析缺乏足夠的重視,是導致研制周期一再延長甚至以失敗告終的重要原因,也是系統(tǒng)分析難于進行的主觀原因。
系統(tǒng)分析的困難主要來自三個方面:問題空間的理解,人與人之間的交流和環(huán)境的不斷變化。由于系統(tǒng)分析員缺乏足夠的關(guān)于對象系統(tǒng)的業(yè)務知識,他在系統(tǒng)調(diào)查中往往感到無從下手,不知道該問用戶一些什么問題,或者被各種具體數(shù)字、大量的資料、龐雜的業(yè)務流程搞得眼花繚亂。一個規(guī)模較大的系統(tǒng),反映各種業(yè)務情況的數(shù)據(jù)、報表、賬頁,業(yè)務人員手中各種正規(guī)的、非正規(guī)的手冊,技術(shù)資料等等,數(shù)量相當大。各種業(yè)務之間的聯(lián)系繁雜。不熟悉業(yè)務情況的系統(tǒng)分析員往往感到好似處在不見天日的大森林中迷失了方向,各種信息流程像一堆亂麻,不知從何下手去理出頭緒,更談不上如何分析制約現(xiàn)系統(tǒng)的“瓶頸〞了。另一方面,用戶往往缺乏計算機方面的足夠知識,不了解計算機能做什么和不能做什么。許多用戶雖然精通自己的業(yè)務,但往往不善于把業(yè)務過程明確地表達出來,不知道該給系統(tǒng)分析員介紹些什么。一些具體業(yè)務的處理,他認為理所當然就該這么做。尤其是某些決策問題,根據(jù)他的經(jīng)驗,憑直覺就應該這么做。在這種情況下,系統(tǒng)分析員很難從業(yè)務人員那里獲得充分有用的信息。俗話說:“隔行如隔山〞。系統(tǒng)分析員與用戶的知識構(gòu)成不同,經(jīng)歷不同,使得雙方的交流十分困難。這一方面使系統(tǒng)調(diào)查容易出現(xiàn)遺漏和誤解,這些誤解和遺漏是研制系統(tǒng)的隱患,會使系統(tǒng)開發(fā)偏離正確方向。另一方面使編寫系統(tǒng)說明書變得十分困難。系統(tǒng)說明書是這一階段工作的結(jié)晶。審核通過之后,系統(tǒng)說明書既是系統(tǒng)設(shè)計的根底,也是最后驗收系統(tǒng)的依據(jù)。它實際上是用戶與研制人員之間的技術(shù)合同。作為設(shè)計根底和驗收依據(jù),系統(tǒng)說明書應當嚴謹準確,無二義性,盡可能詳盡;作為技術(shù)人員與用戶之間的交流工具,它應當簡單明確,盡量不用技術(shù)上的專業(yè)術(shù)語。這些要求不是容易到達的,但必須努力到達。最使系統(tǒng)分析員困惑的是環(huán)境的變化。系統(tǒng)分析階段要通過調(diào)查分析,抽象出新系統(tǒng)的概念模型,鎖定系統(tǒng)邊界、功能、處理過程和信息結(jié)構(gòu),為系統(tǒng)設(shè)計奠定根底。但是,信息系統(tǒng)生存在不斷變化的環(huán)境中,環(huán)境對它不斷提出新的要求。只有適應了這些要求,信息系統(tǒng)才能生存下去。在系統(tǒng)分析階段,要完全確定系統(tǒng)模式是很困難的,有時甚至是辦不到的。在系統(tǒng)開發(fā)中,系統(tǒng)分析員起著十分重要的作用。系統(tǒng)分析這一重要而困難的任務主要由系統(tǒng)分析員承擔。他要與各類人員打交道,是用戶和技術(shù)人員之間的橋梁和“翻譯〞,為管理者提供控制開發(fā)的手段。系統(tǒng)分析員還必須考慮系統(tǒng)的硬件設(shè)備,數(shù)據(jù)輸入,系統(tǒng)平安等各個方面的問題??傊?,系統(tǒng)分析員必須考慮系統(tǒng)的各種成分。系統(tǒng)分析員的知識水平和工作能力決定了系統(tǒng)的成敗。一個稱職的系統(tǒng)分析員不但應具備堅實的信息系統(tǒng)知識,了解計算機技術(shù)的開展,而且還必須具備管理科學的知識。缺乏必要的管理科學知識,就沒有與各級管理人員打交道的“共同語言〞。很難設(shè)想,缺乏財務根底知識的人能設(shè)計出實用的財務系統(tǒng)。系統(tǒng)分析員應有較強的系統(tǒng)觀點,較好的邏輯分析能力,能夠從復雜的事物中抽象出系統(tǒng)模型。他還應具備較好的口頭和書面表達能力,較強的組織能力,善于與人共事。總之,系統(tǒng)分析員應是具有現(xiàn)代科學知識的,具有改革思想和改革能力的專家。為了克服這些困難,做好系統(tǒng)分析工作,需要系統(tǒng)分析員與用戶精誠合作。系統(tǒng)分析員應牢固樹立用戶第一的思想,虛心向用戶學習。雖然“隔行如隔山〞,但“隔行不隔理〞,這個“理〞就是人們認識事物的共同規(guī)律,就是系統(tǒng)的思想與方法,這是我們分析復雜事物的有力武器。系統(tǒng)論的思想方法強調(diào)系統(tǒng)的整體性、綜合性、層次性,強調(diào)系統(tǒng)元素之間的有機聯(lián)系。這也就是我們常說的要全面地看問題,認識事物要由表及里、去偽存真,要從事物之間的聯(lián)系去認識事物,而不要孤立地看待事物。不管技術(shù)人員與用戶的業(yè)務有多大差距,人們認識事物的方法都是相通的。如果說隔行如隔山,那末根據(jù)這個原理,就可以在這座“山〞中打一個“隧道〞,使兩邊相通。為此,還要有一定的技術(shù)和工具。這里說的工具是指一些合理的圖表。直觀的圖表可以幫助系統(tǒng)分析員理順思路,也便于與用戶交流。20世紀70年代以來,出現(xiàn)了多種這樣的工具,如:現(xiàn)場工作流程圖、作業(yè)流程圖、實體生命周期圖和數(shù)據(jù)流圖等。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具。結(jié)構(gòu)化系統(tǒng)分析采用介于形式語言和自然語言之間的描述方式,通過一套分層次的數(shù)據(jù)流圖,輔以數(shù)據(jù)字典、小說明等工具描述系統(tǒng)。圖6.1是一個簡單的示意圖。圖中,上層數(shù)據(jù)流圖中的一個處理框被分解為一張下層的數(shù)據(jù)流圖。結(jié)構(gòu)化系統(tǒng)分析方法就是通過這種自頂向下,逐層分解的方法,利用分解和抽象這兩個根本手段控制系統(tǒng)的復雜性,把大問題分解成小問題,然后分別解決。分而治之,正是系統(tǒng)工程的思路。分解時分層進行,先考慮問題最本質(zhì)的屬性,暫時略去具體細節(jié),以后再逐層添加細節(jié),直到最詳細的內(nèi)容,這就是抽象。圖6.1數(shù)據(jù)流圖6.2作業(yè)流程圖我們以學校各單位申請訂購設(shè)備的過程為例,說明作業(yè)流程圖的有關(guān)概念和畫法。申請購置設(shè)備的單位先填寫“訂貨委托書〞,寫清品名、規(guī)格、數(shù)量等工程,送交采購組。采購組在“單價表〞中查找相應的單價,填入“訂貨委托書〞中,經(jīng)過組長、科長審核批準后,根據(jù)“訂貨委托書〞填寫“訂貨單〞。訂貨單一式四聯(lián)。第一聯(lián)向供貨廠商訂貨;第二聯(lián)送訂購單位,通知該單位訂貨情況;第三聯(lián)送驗收組,到貨時驗收用;第四聯(lián)采購組留存。這個過程用作業(yè)流程圖表示,如圖6.2所示,圖的左列是作業(yè)涉及的部門。圖6.2作業(yè)流程圖作業(yè)流程圖描述的主體是票據(jù)(賬單)。這些票據(jù)的流動路線與實際處理過程要一致。票據(jù)的生命周期表示出一筆業(yè)務的處理情況。繪制作業(yè)流程圖的過程也是系統(tǒng)分析員調(diào)查了解業(yè)務流程的過程。只要把所用符號與用戶講解清楚,用戶很容易理解,進而指出圖中的錯誤或缺乏,分析業(yè)務流程是否合理。因此,作業(yè)流程圖是系統(tǒng)分析員與用戶交流思想的一種工具。繪制作業(yè)流程圖時,應注意以下幾點:(1)各種票據(jù)、賬單要統(tǒng)一編號。如果一種票據(jù)有幾聯(lián),也要標明是第幾聯(lián)。(2)同時進行的業(yè)務活動要盡量畫得靠近一些。(3)圖中票據(jù)、賬單要有始有終。初始狀態(tài)的報表不一定是空白的,只是指在這一筆業(yè)務中還沒有處理的原始狀態(tài)。(4)作業(yè)流程要明確,防止模糊不清的循環(huán)。作業(yè)流程圖的缺乏之處是總體觀念不強,具體的處理內(nèi)容表達得也不詳細,很難表達決策。對于簡單的數(shù)據(jù)處理系統(tǒng),用作業(yè)流程圖可以分析得相當透徹,但是用它很難表達復雜的系統(tǒng)。6.3數(shù)據(jù)流圖數(shù)據(jù)流圖描述數(shù)據(jù)流動、存儲、處理的邏輯關(guān)系,也稱為邏輯數(shù)據(jù)流圖(LogicalDataFlowDiagram),一般用DFD表示。6.3.1數(shù)據(jù)流圖的根本成分數(shù)據(jù)流圖用到四個根本符號,即外部實體、處理、數(shù)據(jù)流和數(shù)據(jù)存儲?,F(xiàn)分別介紹如下。1.外部實體外部實體指系統(tǒng)以外與系統(tǒng)有聯(lián)系的人或事物。它是數(shù)據(jù)的外部來源和去處,例如顧客、職工、供貨單位等等。外部實體也可以是另外一個信息系統(tǒng)。我們用一個正方形,并在其左上角外邊另加一個直角來表示外部實體,在正方形內(nèi)寫上這個外部實體的名稱。為了區(qū)分不同的外部實體,可以在正方形的左上角上標一個字符。在數(shù)據(jù)流圖中,為了減少線條的交叉,同一個外部實體可在一張數(shù)據(jù)流程中出現(xiàn)屢次,這時在該外部實體符號的右下角畫小斜線,表示重復。假設(shè)重復的外部實體有多個,那么相同的外部實體畫數(shù)目相同的小斜線。外部實體的表示如圖6.3所示。圖6.3外部實體2.處理〔加工〕處理指對數(shù)據(jù)的邏輯加工,也就是對數(shù)據(jù)的變換功能。在數(shù)據(jù)流圖中,用帶圓角的長方形表示處理,長方形分為三個局部,如圖6.4所示。標識局部用來區(qū)別一個功能,一般用字符串表示,如P1、P1.1等。圖6.4處理功能描述局部是必不可少的,它直接表達這個處理的邏輯功能,一般用一個動詞加一個作賓語的名詞表示。要想恰如其分地表達一個處理的功能,有時需要下一番功夫。功能執(zhí)行局部表示這個功能由誰來完成,可以是一個人,也可以是一個部門,還可以是某個計算機程序。3.數(shù)據(jù)流數(shù)據(jù)流是指處理功能的輸入或輸出,用一個水平箭頭或垂直箭頭表示。箭頭指出數(shù)據(jù)的流動方向。數(shù)據(jù)流可以是信件、票據(jù),也可以是,等等。一般說來,對每個數(shù)據(jù)流要加以簡單的描述,使用戶和系統(tǒng)設(shè)計員能夠理解一個數(shù)據(jù)流的含義。對數(shù)據(jù)流的描述寫在箭頭的上方,一些含義十清楚確的數(shù)據(jù)流,也可以不加說明,如圖6.5所示。圖6.5數(shù)據(jù)流有時很難用簡單而適當?shù)恼Z句來描述一個數(shù)據(jù)流。例如圖6.6(a)表示儲戶到儲蓄所去存取款時,要將填寫好的存(取)單與存折交給營業(yè)員,營業(yè)員處理完這筆業(yè)務后,把存折交給儲戶。假設(shè)把“存取單〞與“存折〞這兩個平行且方向相同的數(shù)據(jù)流合并為“存取要求〞,那么可以減少一個數(shù)據(jù)流,數(shù)據(jù)流圖就更簡單好讀一些,如圖6.6(b)所示。至于“存取要求〞的具體內(nèi)容隨著數(shù)據(jù)流圖的展開,會更具體化。圖6.6數(shù)據(jù)流的簡化4.數(shù)據(jù)存儲數(shù)據(jù)存儲表示數(shù)據(jù)保存的地方。這里的“地方〞并不是指保存數(shù)據(jù)的物理地點或物理介質(zhì),而是指數(shù)據(jù)存儲的邏輯描述。在數(shù)據(jù)流圖中,數(shù)據(jù)存儲用右邊開口的長方條表示。在長方條內(nèi)寫上數(shù)據(jù)存儲的名字。名字也要恰當,以便用戶理解。為了區(qū)別和引用方便,再加一個標識,由字母D和數(shù)字組成。為清楚起見,用豎線表示同一數(shù)據(jù)存儲在圖上不同地方的情況,如圖6.7所示。圖6.7數(shù)據(jù)存儲指向數(shù)據(jù)存儲的箭頭,表示送數(shù)據(jù)到數(shù)據(jù)存儲(存放、改寫等等)。從數(shù)據(jù)存儲發(fā)出的箭頭,表示從數(shù)據(jù)存儲讀取數(shù)據(jù)。如圖6.8所示。
圖6.8中,“商品編號#_〞表示按這個數(shù)據(jù)項檢索,即“商品編號〞是關(guān)鍵字。在一些介紹結(jié)構(gòu)化分析的書中,所用符號與本書有所不同,請讀者注意。例如,將圖6.6(b)繪成圖6.9的樣子。讀者不難明白各個符號的含義。圖6.8數(shù)據(jù)的存儲與讀取圖6.9數(shù)據(jù)流圖的另一種表示法6.3.2數(shù)據(jù)流圖的畫法系統(tǒng)分析要分析出信息流動、處理、存儲的過程。數(shù)據(jù)流程分析有許多方法,如HIPO(HierarchicalInput-Process-Output)法和我們介紹的結(jié)構(gòu)化方法等。其根本思想都是一樣的,即先把一個系統(tǒng)看成一個整體功能,明確信息的輸入與輸出;系統(tǒng)為了實現(xiàn)這個功能,內(nèi)部必然有信息的處理、傳遞、存儲;這些處理又可以分別看作整體功能,其內(nèi)部又有信息的處理、傳遞、存儲;如此一級一級地剖析,直到有很具體的處理步驟。下面我們以高等學校學籍管理系統(tǒng)為例說明畫數(shù)據(jù)流圖的方法。學籍管理是一項十分嚴肅而復雜的工作,它要記錄學生從入學到學生離校整個在校期間的情況。學生畢業(yè)時學校把學生的情況提供給用人單位。學校還要向上級主管部門報告學生的學籍變動情況。首先,我們把整個系統(tǒng)看成一個功能。它的輸入是新生入學時,從省、市招生辦公室轉(zhuǎn)來的新生名單和檔案,輸出是學生離校時給用人單位的畢業(yè)生檔案和定期給主管部門的統(tǒng)計報表,如圖6.10所示?!皩W籍表〞中記載學生的根本情況,學籍變動情況,各學期各門課程的學習成績,在校期間的獎懲記錄等。圖6.10概括描述了系統(tǒng)的輪廓和范圍,標出了最主要的外部實體和數(shù)據(jù)流。它還有一些外部實體、數(shù)據(jù)流沒有畫出來,它們將隨著數(shù)據(jù)流圖的展開逐漸被添加上。這樣做的好處是突出了主要矛盾,系統(tǒng)輪廓更清晰。圖6.10是對系統(tǒng)進行進一步分析的出發(fā)點。學籍管理包括學生學習成績管理、學生獎懲管理、學生異動管理三局部。由此,圖6.10可以展開如圖6.11所示。虛線框中是圖6.10中處理框的放大。圖6.10中的各個數(shù)據(jù)流都必須反映在圖6.11上。此外還有新增的數(shù)據(jù)流和外部實體。虛線框外新增的數(shù)據(jù)流,在進入或流出虛線框時用“×〞標記。數(shù)據(jù)存儲“學籍表〞是圖6.10中原有的,可畫在虛線框外,或一半在內(nèi),一半在外。在圖6.11中,與學籍表有關(guān)的數(shù)據(jù)流更具體了。圖6.10學籍管理系統(tǒng)頂層DFD圖6.11學籍管理系統(tǒng)的第一層DFD下面以“成績管理〞為例,較詳細地說明逐層分解的思路。某?,F(xiàn)在實行校、系兩級管理學習成績。學校教學管理科、系教務員都登記學生成績。任課教師把學生成績單一式兩份分別送系教務員和學校教學管理科。系教務員根據(jù)成績單登錄學籍表;學期結(jié)束時,給學生發(fā)成績通知;根據(jù)學籍管理條例,確定每個學生升級、補考、留級、退學的情況。教學管理科根據(jù)收到的成績單登錄教管科存儲的學籍表,統(tǒng)計各年級各科成績分布報主管領(lǐng)導。補考成績也作類似處理。這樣P2框擴展成圖6.12。從圖6.12中可以看出某些不盡合理的地方。例如“學籍表〞結(jié)構(gòu)是一樣的,但是系里存一份,教學管理科也存一份,數(shù)據(jù)冗余,工作重復。但現(xiàn)實情況就是這樣,在調(diào)查階段應如實反映。至于新系統(tǒng)應怎么做,可在對現(xiàn)行系統(tǒng)分析的根底上,提出新系統(tǒng)邏輯模型時再考慮。圖6.12“成績管理〞框的展開圖6.12中的一些處理還需要進一步展開,如P2.1框“分析期末成績〞包括以下幾件事:(1)把每個學生的各科成績登錄在所在班的“學習成績一覽表〞中;(2)根據(jù)“學習成績一覽表〞,在學籍表中填寫各個學生的成績;(3)根據(jù)“學習成績一覽表〞評學習成績優(yōu)秀獎;(4)根據(jù)學習成績一覽表和以往留級情況(學籍表中有記載)決定學生升級、補考、留級、退學;(5)發(fā)成績通知單,通知補考時間。這樣P2.1框展開如圖6.13所示。圖中的數(shù)據(jù)存儲D2:學習成績一覽表,只與P2.1有關(guān),不涉及其他處理框,因此必須畫在虛線框內(nèi)。在圖6.13中,除P2.1.5框之外,其他各個處理都已十清楚確,不需要再分解。而P2.1.5"確定異動情況〞還比較復雜,需要進一步分解。學期結(jié)束之后,根據(jù)學習成績,學生的異動有四種可能情況:升級、補考、留級、退學。所有考試、考查科目都及格的學生當然升級,個別科目不及格的學生可以參加補考。根據(jù)該校現(xiàn)行學籍的規(guī)定:一學期有三門考試科目不及格,或者考試和考查科目共有四門不及格者,將沒有補考資格,直接留級;一學期有四門考試科目不及格,或者考試和考查科目共有五門不及格者,將直接退學而不能留級重讀。另外,連續(xù)留級兩次或在校學習期間累計留級兩次者,也應退學。因此,確定學生異動情況,先要統(tǒng)計學生本學期不及格的科目,涉及到留級的情況,還要查看過去的學生異動情況,判定應該是留級還是退學。這樣,P2.1.5框可展開如圖6.14所示。圖6.13“分析期末成績〞框的展開圖6.14“確定異動情況〞框的展開6.3.3畫數(shù)據(jù)流圖的本卷須知在系統(tǒng)分析中,數(shù)據(jù)流圖是系統(tǒng)分析員與用戶交流思想的工具。這種圖用的符號少,通俗易懂(實踐證明,只要對用戶稍作解釋,用戶就能看明白數(shù)據(jù)流圖)。同時,這種圖層次性強,適合對不同管理層次的業(yè)務人員進行業(yè)務調(diào)查。在調(diào)查過程中,系統(tǒng)分析員隨手就可記錄有關(guān)情況,隨時可與業(yè)務人員討論,使圖中缺乏的地方得到補充,有出入的地方得到糾正。在草圖的根底上,系統(tǒng)分析員應對圖的分解、布局作適當調(diào)整,畫出正式圖,使之更清晰,可讀性更好。1.關(guān)于層次的劃分從前面的例子中我們看到,系統(tǒng)分析中得到了一系列分層的數(shù)據(jù)流圖,最上層的數(shù)據(jù)流圖相當概括地反映出信息系統(tǒng)最主要的邏輯功能,最主要的外部實體和數(shù)據(jù)存儲。這張圖應該使人一目了然,一看就知道這個系統(tǒng)的主要功能和與環(huán)境的主要聯(lián)系是什么。逐層擴展數(shù)據(jù)流圖,是對上一層圖(父圖)中的某些處理框加以分解。隨著處理的分解,系統(tǒng)的功能越來越具體,數(shù)據(jù)存儲、數(shù)據(jù)流越來越多。必須注意,下層圖(子圖)是上層圖中某個處理框的“放大〞。因此,但凡與這個處理框有關(guān)系的外部實體、數(shù)據(jù)流、數(shù)據(jù)存儲必須在下層圖中反映出來。低層圖上用虛線長方框表示所放大的處理框,屬于這個處理內(nèi)部用到的數(shù)據(jù)存儲畫在虛線框內(nèi),屬于其他框也要用到的數(shù)據(jù)存儲,那么畫在虛線框之外或跨在虛線框上。流入或流出虛線框的數(shù)據(jù)流,假設(shè)在上層圖中沒出現(xiàn),那么在與虛線交叉處用“×〞表示,見圖6.11和圖6.12。逐層擴展的目的,是把一個復雜的功能逐步分解為假設(shè)干較為簡單的功能。逐層擴展不是肢解和蠶食,不應使系統(tǒng)失去原來的面貌,而應保持系統(tǒng)的完整性和一致性。究竟怎樣劃分層次,劃分到什么程度,沒有絕對的標準,但一般認為:(1)展開的層次應與管理層次一致,也可以劃分得更細。處理塊的分解要自然,注意功能的完整性。(2)一個處理框經(jīng)過展開,一般以分解為4~10個處理框為宜。在前面的例子中,圖6.14只有兩個處理框,為減少數(shù)據(jù)流圖的層次,可以把這張圖直接并入圖6.13中,用P2.1.5.1和P2.1.5.2代替圖6.13中的P2.1.5,并重新編號為P2.1.5和P2.1.6,如圖6.15所示。(3)最下層的處理過程用幾句話,或者用幾張判定表,或一張簡單的圖就能表達清楚。其工作量可由一個人承擔,假設(shè)是計算機處理,一般不超過100個程序語句。圖6.15調(diào)整后的“分析期末成績〞框的展開2.檢查數(shù)據(jù)流圖的正確性對一個系統(tǒng)的理解,不可能一開始就完美無缺。開始分析一個系統(tǒng)時,盡管我們對問題的理解有不正確、不確切的地方,但還是應該根據(jù)我們的理解用數(shù)據(jù)流圖表達出來,然后進行核對,逐步修改,獲得較為完美的圖紙。
通??梢詮囊韵聨讉€方面檢查數(shù)據(jù)流圖的正確性:
(1)數(shù)據(jù)守恒,或稱為輸入數(shù)據(jù)與輸出數(shù)據(jù)匹配。數(shù)據(jù)不守恒有兩種情況:一種是某個處理過程用以產(chǎn)生輸出的數(shù)據(jù),沒有輸入給這個處理過程,這肯定是遺漏了某些數(shù)據(jù)流;另一種是某些輸入在處理過程中沒被使用,這不一定是一個錯誤,但值得再研究一下為什么會產(chǎn)生這種情況,是否可以簡化。
(2)在一套數(shù)據(jù)流圖中的任何一個數(shù)據(jù)存儲,必定有流入的數(shù)據(jù)流和流出的數(shù)據(jù)流,即寫文件和讀文件,缺少任何一種都意味著遺漏某些處理。畫數(shù)據(jù)流圖時,應注意處理框與數(shù)據(jù)存儲之間數(shù)據(jù)流的方向。一個處理過程要讀文件,數(shù)據(jù)流的箭頭應指向處理框,假設(shè)是寫文件那么箭頭指向數(shù)據(jù)存儲。修改文件要先讀后寫,但本質(zhì)上是寫,箭頭也指向數(shù)據(jù)存儲。假設(shè)除修改之外,為了其他目的還要讀文件,此時箭頭畫成雙向的。(3)父圖中某一處理框的輸入、輸出數(shù)據(jù)流必須出現(xiàn)在相應的子圖中,否那么就會出現(xiàn)父圖與子圖的不平衡,而不平衡的分層使人無法理解。因此,特別應注意檢查父圖與子圖的平衡,尤其是在對子圖進行某些修改之后。父圖的某框擴展時,在子圖中用虛線框表示,有利于這種檢查。父圖與子圖的關(guān)系,類似于全國地圖與分省地圖的關(guān)系。在全國地圖上標出主要的鐵路、河流。分省地圖那么更詳細,除全國地圖上與該省相關(guān)的鐵路、河流之外,還有一些次要的鐵路、公路、河流等等。
(4)任何一個數(shù)據(jù)流至少有一端是處理框。換言之,數(shù)據(jù)流不能從外部實體直接到數(shù)據(jù)存儲,不能從數(shù)據(jù)存儲直接到外部實體,也不能在外部實體之間或數(shù)據(jù)存儲之間流動。初學者往往容易違反這一規(guī)定,常常在數(shù)據(jù)存儲與外部實體之間畫數(shù)據(jù)流。其實,記住數(shù)據(jù)流是指處理的輸入或輸出,就不會出現(xiàn)這類錯誤了。3.提高數(shù)據(jù)流圖的易理解性數(shù)據(jù)流圖是系統(tǒng)分析員調(diào)查業(yè)務過程時與用戶交換思想的工具,因此,數(shù)據(jù)流圖應該簡明易懂。這也有利于后面的設(shè)計,有利于對系統(tǒng)說明書進行維護??梢詮囊韵聨讉€方面提高數(shù)據(jù)流圖的易理解性。1)簡化處理間的聯(lián)系結(jié)構(gòu)化分析的根本手段是“分解〞,其目的是控制復雜性。合理的分解是將一個復雜的問題分成相對獨立的幾個局部,每個局部可單獨理解。在數(shù)據(jù)流圖中,處理框間的數(shù)據(jù)流越少,各個處理就越獨立,所以我們應盡量減少處理框間輸入輸出數(shù)據(jù)流的數(shù)目。2)均勻分解如果在一張數(shù)據(jù)流程中,某些處理已是根本處理(不用再分解的處理),而另一些卻還要進一步分解三、四層,這樣的分解就不均勻。不均勻的分解不易被理解,因為其中某些局部描述的是細節(jié),而其他局部描述的是較高層的抽象。遇到這種情況,應重新考慮分解,努力防止特別不均勻的分解。
3)適當?shù)拿麛?shù)據(jù)流圖中各種成分的命名與易解性有直接關(guān)系,所以應注意命名適當。處理框的命名應能準確地表達其功能,理想的命名由一個具體的動詞加一個具體的名詞(賓語)組成,在底層尤其應該如此。例如:“計算總工作量〞、“開發(fā)票〞就比較準確;“存儲和打印提貨單〞最好分成兩個;“處理訂貨單〞、“處理輸入〞那么不太好,“處理〞是空洞的動詞,沒有說明究竟做什么,“輸入〞也是不具體的賓語;“做雜事〞幾乎等于沒有命名。難于為某個成分命名,往往是分解不當?shù)嫩E象,應考慮重新分解。同樣,數(shù)據(jù)流、數(shù)據(jù)存儲也應適當命名,盡量防止產(chǎn)生錯覺,減少設(shè)計和編程等階段的錯誤。數(shù)據(jù)流圖也常常要作重新分解。例如畫到某一層時意識到上一層或上幾層所犯的錯誤,這時就需要對它們重新分解。重新分解可以按下述方法進行:
(1)把需要重新分解的某張圖的所有子圖連接成一張。(2)把圖分成幾局部,使各局部之間的聯(lián)系最少。(3)重新建立父圖,即把第(2)步所得的每一局部畫成一個處理框。(4)重新畫子圖,只要把第(2)步所得的圖沿各局部邊界分開即可。(5)為所有處理重新命名、編號。數(shù)據(jù)流圖例題解析
6.4數(shù)據(jù)字典數(shù)據(jù)流圖描述了系統(tǒng)的分解,即描述了系統(tǒng)由哪幾局部組成,各局部之間的聯(lián)系等等,但還沒有說明系統(tǒng)中各個成分是什么含義。例如,在我們前面的例子中,數(shù)據(jù)存儲“學籍表〞包括哪些內(nèi)容,數(shù)據(jù)流圖表達不夠具體、準確。又如,處理框P2.1.6"判定留級或退學〞,但如何判定,圖上看不出來。只有當數(shù)據(jù)流圖中出現(xiàn)的每一個成分都給出定義之后,才能完整、準確地的描述一個系統(tǒng)。為此,我們還需要用其他工具對數(shù)據(jù)流圖加以補充說明。數(shù)據(jù)字典就是這樣的工具之一。數(shù)據(jù)字典最初用于數(shù)據(jù)庫管理,它為數(shù)據(jù)庫用戶、數(shù)據(jù)庫管理員、系統(tǒng)分析員和程序員提供某些數(shù)據(jù)項的綜合信息。這種思想啟發(fā)了信息系統(tǒng)的開發(fā)人員,使他們想到將數(shù)據(jù)字典引入系統(tǒng)分析。圖6.16數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)元素的關(guān)系系統(tǒng)分析中所使用的數(shù)據(jù)字典,主要用來描述數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和外部實體。數(shù)據(jù)字典把數(shù)據(jù)的最小組成單位看成是數(shù)據(jù)元素(根本數(shù)據(jù)項),假設(shè)干個數(shù)據(jù)元素可以組成一個數(shù)據(jù)結(jié)構(gòu)(組合數(shù)據(jù)項)。數(shù)據(jù)結(jié)構(gòu)是一個遞歸概念,即數(shù)據(jù)結(jié)構(gòu)的成分也可以是數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)來描寫數(shù)據(jù)流、數(shù)據(jù)存儲的屬性。它們之間的關(guān)系如圖6.16所示,數(shù)據(jù)元素組成數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)組成數(shù)據(jù)流和數(shù)據(jù)存儲。建立數(shù)據(jù)字典的工作量很大,相當煩瑣,但這是一項必不可少的工作。數(shù)據(jù)字典在系統(tǒng)開發(fā)中具有十分重要的意義,不僅在系統(tǒng)分析階段,而且在整個研制過程中以及今后系統(tǒng)運行中都要使用它。數(shù)據(jù)字典可以用人工方式建立。事先印好表格,填好后按一定順序排列,就是一本字典。也可以建立在計算機內(nèi),數(shù)據(jù)字典實際上是關(guān)于數(shù)據(jù)的數(shù)據(jù)庫,這樣在使用和維護時都比較方便。6.4.1數(shù)據(jù)字典的各類條目
數(shù)據(jù)字典中有六類條目:數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體和處理。不同類型的條目有不同的屬性需要描述,現(xiàn)分別說明如下。1.數(shù)據(jù)元素
數(shù)據(jù)元素是最小的數(shù)據(jù)組成單位,也就是不可再分的數(shù)據(jù)單位,如學號、姓名等。對于每個數(shù)據(jù)元素,需要描述以下屬性:(1)名稱:數(shù)據(jù)元素的名稱要盡量反映該元素的含義,便于理解和記憶。(2)別名:一個數(shù)據(jù)元素,可能其名稱不止一個。假設(shè)有多個名稱,那么需加以說明。(3)類型:說明取值是字符型還是數(shù)字型等。(4)取值范圍和取值的含義:指數(shù)據(jù)元素可能取什么值。
數(shù)據(jù)元素的取值可分為離散型和連續(xù)型兩類。如人的年齡是連續(xù)型的,取值范圍可定義為0~150歲;按通常編排學號的方法,學號是離散的。再如“婚姻狀況〞取值范圍是“未婚、已婚、離異、喪偶〞,也是離散型。一個數(shù)據(jù)元素是離散的,還是連續(xù)的,視具體需要而定。例如在一般情況下,我們用歲數(shù)表示一個人的年齡,是連續(xù)的。但有時,我們只要用“幼年、少年、青年、壯年、老年〞表示,或者區(qū)分為成年、未成年即可。這時,年齡便是離散型的。
(5)長度:指出該數(shù)據(jù)元素由幾個數(shù)字或字母組成。如某校現(xiàn)在的學號由7個數(shù)字組成,其長度就是7個字節(jié)。除以上內(nèi)容外,數(shù)據(jù)元素的條目還包括對該元素的簡要說明,與它有關(guān)的數(shù)據(jù)結(jié)構(gòu)等等。表6.1是數(shù)據(jù)元素條目的一個例子。表6.1數(shù)據(jù)元素條目
2.數(shù)據(jù)結(jié)構(gòu)表6.2是數(shù)據(jù)結(jié)構(gòu)條目的一個例子。表6.2數(shù)據(jù)結(jié)構(gòu)條目數(shù)據(jù)結(jié)構(gòu)的描述重點,是數(shù)據(jù)之間的組合關(guān)系,即這個數(shù)據(jù)結(jié)構(gòu)包括的成分。一個數(shù)據(jù)結(jié)構(gòu)可以包括假設(shè)干個數(shù)據(jù)元素或(和)數(shù)據(jù)結(jié)構(gòu)。這些成分中有三種特殊情況:(1)任選項。這是可以出現(xiàn),也可以省略的項,用“[]〞表示,如例中的〔曾用名〕是任選項,可以有,也可以沒有。(2)必選項。在兩個或多個數(shù)據(jù)項中,必須出現(xiàn)其中的一個稱為必選項。例如,任何一門課程不是必修課,就是選修課,二者必居其一。必選項的表示方法,是將侯選的多個數(shù)據(jù)項用“{}〞括起來。(3)重復項。可以屢次出現(xiàn)的數(shù)據(jù)項。例如一張訂單可訂多種零件,每種零件有品名、規(guī)格、數(shù)量,這些屬性用“零件細節(jié)〞表示。在訂單中,“零件細節(jié)〞可重復屢次,表示成:零件細節(jié)*。前面例子中的“本人簡歷〞也是這種情況。3.數(shù)據(jù)流數(shù)據(jù)流在數(shù)據(jù)字典中描述以下屬性:(1)數(shù)據(jù)流的來源。數(shù)據(jù)流可以來自某個外部實體、數(shù)據(jù)存儲或某個處理。(2)數(shù)據(jù)流的去處。某些數(shù)據(jù)流的去處可能不止一個,如前面圖6.12中“期末成績單〞這個數(shù)據(jù)流,流到了P2.1和P2.2兩個處理中,這兩個去處都要說明。(3)數(shù)據(jù)流的組成。指數(shù)據(jù)流所包含的數(shù)據(jù)結(jié)構(gòu)。一個數(shù)據(jù)流可包含一個或多個數(shù)據(jù)結(jié)構(gòu)。假設(shè)只含一個數(shù)據(jù)結(jié)構(gòu),那么要注意名稱的統(tǒng)一,以免產(chǎn)生二義性。(4)數(shù)據(jù)流的流通量。指單位時間(每日、每小時等)里的傳輸次數(shù)??梢怨烙嬜罡?、平均、最低流量各是多少。(5)頂峰時的流通量。表6.3是數(shù)據(jù)流條目的一個例子。4.數(shù)據(jù)存儲數(shù)據(jù)存儲的條目,主要描寫該數(shù)據(jù)存儲的結(jié)構(gòu)及有關(guān)的數(shù)據(jù)流和查詢要求。例如,數(shù)據(jù)存儲D2:“學習成績一覽表〞的條目,見表6.4:表6.3數(shù)據(jù)流條目表6.4數(shù)據(jù)存儲條目
有些數(shù)據(jù)存儲的結(jié)構(gòu)可能很復雜,如“學籍表〞,它包括學生的根本情況、學生動態(tài)、獎懲記錄、學習成績、畢業(yè)論文成績等,其中每一項又是數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)有各自的條目分別加以說明,因此在“學籍表〞的條目中只需列出這些數(shù)據(jù)結(jié)構(gòu),而不要列出這些數(shù)據(jù)結(jié)構(gòu)的內(nèi)部構(gòu)成。數(shù)據(jù)流圖是分層的,下層圖是上層圖的具體化。同一個數(shù)據(jù)存儲可能在不同層次的圖中出現(xiàn)。描述這樣的數(shù)據(jù)存儲,應列出最低層圖中的數(shù)據(jù)流。5.處理過程對于數(shù)據(jù)流圖中的處理框,需要在數(shù)據(jù)字典中有描述它的編號、名稱、功能的簡要說明,有關(guān)的輸入、輸出。對于其功能的描述,要使人能有一個較明確的概念,知道這一框的主要功能。功能的詳細描述,還要用“小說明〞進一步描述。表6.5是P2.1.4“填寫成績單〞的這一過程的條目。表6.5處理過程條目6.外部實體外部實體是數(shù)據(jù)的來源和去向。因此,在數(shù)據(jù)字典中對于外部實體的條目,主要要說明它產(chǎn)生的數(shù)據(jù)流和傳給它的數(shù)據(jù)流,以及該外部實體的數(shù)量。外部實體的數(shù)量,尤其是關(guān)系密切的主要外部實體的數(shù)量,對于估計本系統(tǒng)的業(yè)務量有參考作用。表6.6是描述“學生〞這個外部實體的條目?!皩W生〞這個外部實體與學籍管理系統(tǒng)有很多聯(lián)系,如入學時要填寫各種登記表,假設(shè)要休學、復學要提出申請等等。在我們的例子中,未畫出整個系統(tǒng)的數(shù)據(jù)流圖,因此條目的數(shù)據(jù)流比較少。表6.6外部實體條目6.4.2數(shù)據(jù)字典的使用與管理數(shù)據(jù)字典實際上是“關(guān)于系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫〞。在整個系統(tǒng)開發(fā)過程以及系統(tǒng)運行后的維護階段,數(shù)據(jù)字典是必不可少的工具。數(shù)據(jù)字典是所有人員工作的依據(jù)、統(tǒng)一的標準。它可以確保數(shù)據(jù)在系統(tǒng)中的完整性和一致性。具體講,數(shù)據(jù)字典有以下作用。1.按各種要求提供列表可以根據(jù)數(shù)據(jù)字典,把所有數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯及外部實體,按一定的順序全部列出,保證系統(tǒng)設(shè)計時不會遺漏。如果系統(tǒng)分析員要對某個數(shù)據(jù)存儲的結(jié)構(gòu)進行深入分析,需要了解有關(guān)的細節(jié),或要了解數(shù)據(jù)結(jié)構(gòu)的組成乃至每個數(shù)據(jù)元素的屬性,數(shù)據(jù)字典也可提供相應的內(nèi)容。
2.相互參照,便于系統(tǒng)修改
根據(jù)初步的數(shù)據(jù)流圖,建立相應的數(shù)據(jù)字典。在系統(tǒng)分析過程中,常會發(fā)現(xiàn)原來的數(shù)據(jù)流程及各種數(shù)據(jù)定義中的錯誤或遺漏,需要修改或補充。有了數(shù)據(jù)字典,這種修改就變得容易多了。例如,在某個庫存管理系統(tǒng)中,“商品庫存〞這個數(shù)據(jù)存儲的結(jié)構(gòu)是:代碼、品名、規(guī)格、當前庫存量。一般地講,考慮能否滿足用戶訂貨,有這些數(shù)據(jù)項就夠了。但如果要求庫存數(shù)量不能少于某個“平安庫存量〞,那么這些數(shù)據(jù)項還不夠。這時,在這個結(jié)構(gòu)中就要增加“平安庫存量〞這個數(shù)據(jù)項。這一改動可能影響其他工程,例如“確定顧客訂貨〞的處理邏輯。以前,只要“當前庫存量大于或等于顧客訂貨量時〞,就認為可以滿足用戶訂貨;現(xiàn)在那么只有“當前庫存量減顧客訂貨量之差大于或等于平安庫存量時〞才能滿足顧客訂貨。有了數(shù)據(jù)字典,這個修改就容易了。因為在該數(shù)據(jù)存儲的條目中,記錄了有關(guān)的數(shù)據(jù)流,由此可以找到因數(shù)據(jù)存儲的改動而可能影響的處理邏輯,不至于遺漏而造成不一致。3.由描述內(nèi)容檢索名稱在一個稍微復雜的系統(tǒng)中,系統(tǒng)分析員可能沒有把握斷定某個數(shù)據(jù)項在數(shù)據(jù)字典中是否已經(jīng)定義,或者記不清楚其確切名字,這時,可以由內(nèi)容查找其名稱,就像根據(jù)書的內(nèi)容詢問圖書的名字一樣。4.一致性檢驗和完整性檢驗根據(jù)各類條目的規(guī)定格式,可以檢驗以下一些問題:(1)是否存在沒有指明來源或去向的數(shù)據(jù)流;(2)是否存在沒有指明數(shù)據(jù)存儲或所屬數(shù)據(jù)流的數(shù)據(jù)元素;(3)處理邏輯與輸入的數(shù)據(jù)元素是否匹配;(4)是否存在沒有輸入或輸出的數(shù)據(jù)存儲。對于數(shù)據(jù)字典的使用可以有兩種方式:人工方式和計算機方式。人工方式是把各類條目按前面介紹的描述格式寫在卡片上或?qū)懺诩埳?,并分類,建立一覽表。計算機方式是在人工方式根底上,將表格整理存入計算機。一些大、中型計算機有專門的自動化數(shù)據(jù)字典軟件包對數(shù)據(jù)進行管理,查詢、修改都十分方便。但在開發(fā)初期,對于規(guī)模不太大的系統(tǒng),手工方式更方便實惠。為了保證數(shù)據(jù)的一致性,數(shù)據(jù)字典必須由專人(數(shù)據(jù)管理員)管理。其職責就是維護和管理數(shù)據(jù)字典,保證數(shù)據(jù)字典內(nèi)容的完整一致。任何人(包括系統(tǒng)分析員、系統(tǒng)設(shè)計員、程序員)修改數(shù)據(jù)字典的內(nèi)容,都必須通過數(shù)據(jù)管理員。數(shù)據(jù)管理員要把數(shù)據(jù)字典的最新版本及時通知有關(guān)人員。6.5表達處理邏輯的工具結(jié)構(gòu)化系統(tǒng)分析的根本思想,是將一個復雜的系統(tǒng)逐層分解成許多足夠簡單的根本處理(功能單元)。數(shù)據(jù)流圖是系統(tǒng)分析的主要工具,它著重表達系統(tǒng)的邏輯功能及各個局部之間的聯(lián)系。數(shù)據(jù)字典補充說明系統(tǒng)所涉及的數(shù)據(jù),是數(shù)據(jù)屬性的清單。數(shù)據(jù)字典中包括了對各個處理功能的一般描述,但這種描述是高度概括的。在數(shù)據(jù)字典中不可能也不應該過多地描述各個處理功能的細節(jié)。這些細節(jié)需要另一種工具──小說明(或稱為根本說明)來完成。我們知道,數(shù)據(jù)流圖是分層的。上層的數(shù)據(jù)流圖表達系統(tǒng)的主要邏輯功能,然后向下逐層展開,表達的功能越來越具體,直到最低層的數(shù)據(jù)流圖將系統(tǒng)的全部邏輯功能詳細地表達出來。因此,系統(tǒng)的最小功能單元就是最低層數(shù)據(jù)流圖的每個處理,也稱為根本處理(功能單元)。只要對所有根本處理的邏輯功能描述清楚,整個系統(tǒng)的功能也就說明清楚了。對根本處理的說明稱為“小說明〞或“根本說明〞。根本說明應準確地描述一個根本處理“做什么〞,包括處理的激發(fā)條件、加工邏輯、優(yōu)先級、執(zhí)行頻率、出錯處理等等。其中最根本的是加工邏輯。加工邏輯是指用戶對這個處理的邏輯要求,即輸出數(shù)據(jù)流與輸入數(shù)據(jù)流之間的邏輯關(guān)系。應該特別注意的是,系統(tǒng)分析階段的任務是理解和表達用戶的要求,而不是考慮系統(tǒng)怎么做,怎樣實現(xiàn),所以對一個處理所做的說明,是明確根據(jù)用戶的要求,這個處理應該“做什么〞,而不是用編程語言來具體描述加工處理的過程,如用什么工作單元、如何控制執(zhí)行等等,這些是系統(tǒng)設(shè)計和編程階段的任務。如果現(xiàn)階段這么做,一方面限制了設(shè)計人員的自由,另一方面也不便于與用戶交流,因為用戶不懂得你的描述。編寫根本說明應注意以下幾條規(guī)那么:(1)數(shù)據(jù)流圖中的每一個根本處理,都必須有一個根本說明;(2)根本說明描述了一個根本處理對數(shù)據(jù)流的轉(zhuǎn)換路徑,即指出這個功能單元的輸入數(shù)據(jù)流、輸出數(shù)據(jù)流以及根本處理的處理步驟;(3)根本說明描述了一個功能單元的轉(zhuǎn)換策略,而不包含執(zhí)行這項策略的方法;(4)應該把冗余度控制在最低程度;(5)用一組標準的方法書寫根本說明,既要簡單明確,又要具有較高的可讀性。理想的根本說明既要容易被軟件人員和用戶理解,又要嚴格、精確。目前人們正研究具有這種特點的形式語言,但還沒有理想的結(jié)果。結(jié)構(gòu)化方法在精確性和可理解性之間考慮了折中的方案,用結(jié)構(gòu)化語言、判定樹和判定表三種半形式化的方式編寫根本說明。下面分別介紹這三種工具。6.5.1結(jié)構(gòu)化語言結(jié)構(gòu)化語言是受結(jié)構(gòu)化程序設(shè)計思想啟發(fā)而擴展出來的。結(jié)構(gòu)化程序設(shè)計只允許三種根本結(jié)構(gòu)。結(jié)構(gòu)化語言也只允許三種根本語句,即簡單的祈使句、判斷語句及循環(huán)語句。與程序設(shè)計語言的差異在于結(jié)構(gòu)化語言沒有嚴格的語法規(guī)定,與自然語言的不同在于它只有極其有限的詞匯和語句。結(jié)構(gòu)化語言使用三類詞匯:祈使句中的動詞、數(shù)據(jù)字典中定義的名詞以及某些邏輯表達式中的保存字。1.祈使語句祈使語句指出要做什么事情,包括一個動詞和一個賓語。動詞指出要執(zhí)行的功能,賓語表示動作的對象。例如:計算工資、發(fā)補考通知。使用祈使語句,應注意以下幾點:(1)力求精煉,不應太長。(2)不使用形容詞和副詞。(3)動詞要能明確表達執(zhí)行的動作,不用“做〞、“處理〞這類意義不具體的動詞。意義相同的動詞,只確定使用其中之一。(4)名詞必須在數(shù)據(jù)字典中有定義。2.判斷語句判斷語句類似結(jié)構(gòu)化程序設(shè)計中的判斷結(jié)構(gòu)。其一般形式是:如果條件那么動作A否那么(條件不成立)動作B判斷語句中的“如果〞、“否那么〞要成對出現(xiàn),以防止多重判斷嵌套時產(chǎn)生二義性,另外,書寫時每層要對齊,以便閱讀。例如,某公司給購貨在5萬元以上的顧客以不同的折扣。如果這樣的顧客最近三個月無欠款,那么折扣率為15%,雖然有欠款但與公司已經(jīng)有10年以上的貿(mào)易關(guān)系,那么折扣率為10%,否那么折扣率為5%。公司的折扣政策用判斷語句表達如下:如果購貨額在5萬元以上那么如果最近三個月無欠款那么折扣率為15%否那么如果與公司交易10年以上那么折扣率為10%否那么折扣率為5%否那么無折扣3.循環(huán)語句循環(huán)語句是指在某種條件下,重復執(zhí)行相同的動作,直到這個條件不成立為止。例如圖6.13中的處理P2.1.3“評獎學金〞,要計算同年級同專業(yè)每個學生一學期的總成績,可用循環(huán)語句寫成:對每一個學生計算總成績6.5.2判定樹(decisiontree)假設(shè)一個動作的執(zhí)行不只是依賴一個條件,而是與多個條件有關(guān),那么這項策略的表達就比較復雜。如果用前面介紹的判斷語句,就會有多重嵌套。層次一多,可讀性就下降。用判定樹來表示,可以更直觀一些。前面提到某公司關(guān)于折扣率的規(guī)定就涉及三個條件:購貨額、最近三個月有無欠款、貿(mào)易時間是否超過十年。這個政策用判定樹可表示如下:由于這個例子比較簡單,因此與前面用判定語句表達的方法相比,判定樹的優(yōu)點不太明顯。但讀者不難相象,如果將有關(guān)折扣的規(guī)定作些改變,例如將購貨額(A)分幾個等級:A≥5萬元、3萬元≤A<5萬元、1萬元≤A<3萬元、A<1萬元。交易時間也類似分為假設(shè)干等級,根據(jù)不同的等級給予不同的折扣率。在這種情況下,用判斷語句表達的話,可讀性將大為下降。但用判定樹表達時,樹的高度還是三層,只是相應的結(jié)點多分幾個叉,其直觀性沒有降低多少。對于這類問題往往用判定樹表示,如果需要的話,可根據(jù)判定樹寫出相應的判斷語句。6.5.3判定表(decisiontable)一些條件較多,在每個條件下取值也較多的判定問題,可以用判定表表示。其優(yōu)點是能把各種組合情況一個不漏地表示出來,有時還能幫助發(fā)現(xiàn)遺漏和矛盾的情況。我們通過下面這個例子說明判定表的應用與有關(guān)問題。某廠對一局部職工重新分配工作。分配原那么是:(1)年齡不滿20歲,文化程度是小學者脫產(chǎn)學習,文化程度是中學者當電工;(2)年齡滿20歲但缺乏50歲,文化程度是小學或中學者,男性當鉗工,女性當車工;文化程度是大學者當技術(shù)員;(3)年齡滿50歲及50歲以上,文化程度是小學或中學者當材料員,文化程度是大學者當技術(shù)員。分析這個原那么,實際上它考慮了三個因素:性別、年齡、文化程度。它們的取值范圍分別是:性別:{男,女}年齡:{青年(小于20歲),中年(滿20歲而缺乏50歲),老年(滿50歲及以上)}文化程度:{小學,中學,大學}這三個條件,根據(jù)它們的取值范圍,可以組合成2×3×3=18種情況。這個原那么共提供六種不同的工作:脫產(chǎn)學習、當電工、當鉗工、當車工、當技術(shù)員、當材料員,我們稱它們是六種行動。不同的條件組合,采取不同的行動。把條件說明,條件可能的組合,可能采取的行動列在一張表上,得到有條件組合的判定表,如表6.7所示。表6.7判定表的結(jié)構(gòu)
123456789101112131415161718C1:性別男男男男男男男男男女女女女女女女女女C2:年齡青青青中中中老老老青青青中中中老老老C3:文化程度小中大小中大小中大小中大小中大小中大A1:脫產(chǎn)學習
A2:當電工
A3:當鉗工
A4:當車工
A5:當技術(shù)員
A6:當材料員
表的左上部是條件說明(C1~C3),左下部是行動說明(A1~A6),右上部是條件的組合,右下部是與條件組合相對應的行動。例如,根據(jù)分配原那么,第1列:男性,年齡不滿20歲,小學文化程度,應脫產(chǎn)學習,在第1列A1的位置記“×〞。同樣,第2列表示男性,青年,中學文化程度,根據(jù)分配原那么應該當電工,在第2列,A2行位置記“×〞,依此類推,最后得到表6.8。表6.8判定表
123456789101112131415161718C1:性別男男男男男男男男男女女女女女女女女女C2:年齡青青青中中中老老老青青青中中中老老老C3:文化程度小中大小中大小中大小中大小中大小中大A1:脫產(chǎn)學習×
×
A2:當電工
×
×
A3:當鉗工
××
A4:當車工
××
A5:當技術(shù)員
×
×
×
×
×
×A6:當材料員
××
××
這是一張完整的判定表。表中列出了三個條件所有可能的組合情況。因此不會有遺漏。這張表可以簡化。化簡的方法是合并。合并的原那么是在相同的行動下,檢查它所對應的各列條件組合中是否存在無需判斷的條件。例如第1列與第10列,對應的行動相同,都是A1:脫產(chǎn)學習,對應的年齡取值相同,對應的文化程度取值也相同,僅性別取值不同:第1列取值“男〞,第10列取值“女〞。換句話說,只要年齡取值“青〞,文化程度取值“小學〞,那么不管性別是男是女,都分配同樣的工作A1:脫產(chǎn)學習。同理,第2列與第11列、第3列與第12列、第6列與第15列、第9列與第18列、第7列與第16例、第8列與第17列都可以分別合并,由此得到表6.9。表6.9判定表的合并
1,102,113,12456,157,168,179,181314C1:性別///男男////女女C2:年齡青青青中中中老老老中中C3:文化程度小中大小中大小中大小中A1:脫產(chǎn)學習×
A2:當電工
×
A3:當鉗工
××
A4:當車工
××A5:當技術(shù)員
×
×
×
A6:當材料員
××
表6.9還可以合并??疾椤癆5:當技術(shù)員〞對應的3列,條件“C1:性別〞取值相同(均不管性別),“C3:文化程度〞取值都是“大學〞,而條件“C2:年齡〞取值分別為:青年、中年、老年。這正是條件C2取值的整個范圍。換言之,采取這一行動,可以不考慮“年齡〞這個條件。這3列合并后得到表6.10。表6.10簡化的判定表
123456789C1:性別///男男//女女C2:年齡青青/中中老老中中C3:文化程度小中大小中小中小中A1:脫產(chǎn)學習×
A2:當電工
×
A3:當鉗工
××
A4:當車工
××A5:當技術(shù)員
×
A6:當材料員
××
由此,歸納出判定表合并的原那么:取相同行動的n列,假設(shè)有某個條件Ci在此n列的取值正好是該條件取值的全集,而其他條件在此n列都取相同的值,那么此n列可以合并。按此原那么考查表6.10,不可能再合并。這個決策問題的判定表的化簡也到此為止。用判定表來描述決策問題,通常經(jīng)過以下幾個步驟:(1)分析決策問題涉及的條件;(2)分析每個條件取值的集合;(3)列出條件的各種可能組合;(4)分析決策問題涉及的可能的行動;(5)做出有條件組合的判定表;(6)決定各種條件組合的行動;(7)按合并規(guī)那么化簡判定表。正確恰當?shù)胤治鰲l件及其取值的集合是很關(guān)鍵的一步。所謂正確,就是取值的劃分不重復、不遺漏。所謂“恰當〞,即在正確的前提下要簡單。從前面的例子看到,判定表的列數(shù)是各條件取值數(shù)目的乘積,即判定表的列數(shù)隨條件的取值數(shù)成指數(shù)型上升。例如,某校關(guān)于學生升留級的規(guī)定:“一學期有三門考試課程不及格者,直接留級;一學期考試和考查四門課程不及格者,不予補考,直接留級〞。這里實際上涉及三種可能的行動:直接留級、補考和升級。全部課程及格者升級,不及格課程過多直接留級,有不及格課程但未到達直接留級者補考。條件涉及兩個方面:考試不及格的門數(shù)、考查不及格的門數(shù)。假設(shè)直接以這兩個“門數(shù)〞為條件,那么前者有四種情況:全部及格,一門不及格、兩門不及格、三門或三門以上不及格;后者有五種情況:全部及格、一門不及格、兩門不及格、三門不及格、四門或四門以上不及格。這樣兩個條件可以組合成4×5=20種情況。因此,列出的決策表在化簡以前就有20列。但假設(shè)根據(jù)問題的要求,適中選取判定的條件,那么可以更簡單一些。例如,第一個條件(C1)按考試科目不及格門數(shù)是否到達三門分兩種情況,第二個條件(C2)按不及格門數(shù)(包括考試、考查)分為三種情況:0,1~3門、四門或四門以上,列表說明如表6.11所示。這樣,共有2×3=6種組合,列出的判定表如表6.12所示。表6.11條件分析條件取值含義C1:考試科目01不及格門數(shù)<3不及格門數(shù)≥3C2:全部科目012全部及格0<不及格門數(shù)<4不及格門數(shù)≥4表6.12升留級判定表
123456C1:考試科目000111C2:全部科目012012直接留級
××××補考
×
升級×
用判定表來表達一個復雜的問題,優(yōu)點之一是不會遺漏某些可能的情況。從前面的例子中可以看出,只要各個條件的各種情況都列舉出來,就可以用形式化的方法化簡。這種方法的另一個好處是各個條件的地位是“平等〞的,不用考慮條件的先后順序。根據(jù)判定表容易畫出等價的判定樹。此時,條件的先后順序不同,樹的復雜程度有所不同,如圖6.17和圖6.18所示,這兩幅圖表示的決策樹都與表6.10等價。從判定表或判定樹不難寫出等價的結(jié)構(gòu)化判斷語句。在用判斷語句表達時,條件的先后順序?qū)Ρ磉_的繁簡和可讀性同樣有影響。作為練習,讀者不妨自己寫出與圖6.17、6.18等價的判斷語句加以比較。圖6.17判定樹(1)圖6.18判定樹(2)6.5.4三種表達工具的比較這三種表達邏輯的工具各有千秋,除我們談到的幾個方面外,這里從直觀性、可修改性等方面加以比較,如表6.13所示。表6.13表達邏輯的三種工具的比較
結(jié)構(gòu)式語言判定樹判定表直觀性一般很好一般用戶檢查不便方便不便可修改性好一般差邏輯檢查
好一般很好機器可讀性很好差很好機器可編程一般不好很好這三種工具的適用范圍可概括比較如下:(1)決策樹適用于有10~15種行動的一般復雜的決策。有時可將決策表轉(zhuǎn)換成決策樹,以便于用戶檢查。(2)判定表適合于多個條件的復雜組合。雖然判定表也適用于很多數(shù)目的行動或條件組合,但數(shù)目龐大時使用它也不方便。(3)如果一個判斷包含了一般順序執(zhí)行的動作或循環(huán)執(zhí)行的動作,那么最好用結(jié)構(gòu)式語言表達。除了這三種工具外,還有Warnier-Orr圖,它也是描述處理過程的一種工具,類似于我們前面介紹的結(jié)構(gòu)式語言。它用到以下三種符號:(1)順序執(zhí)行(2)選擇執(zhí)行(3)循環(huán)執(zhí)行A1A1A1A2⊕A2A3A2A3n其中(1)表示順序執(zhí)行A1、A2、A3,(2)表示執(zhí)行A1或者A2,(3)表示循環(huán)執(zhí)行A1、A2、A3,總共循環(huán)n次。例如,儲蓄所一天的工作,從開門上班,接待顧客,直到結(jié)賬下班用Warnier-Orr圖表示如圖6.19所示。圖6.19Warnier-Orr圖6.6數(shù)據(jù)查詢應用分析數(shù)據(jù)流圖中定義了數(shù)據(jù)存儲。數(shù)據(jù)字典對每個數(shù)據(jù)存儲的結(jié)構(gòu)作了描述,但是沒有詳細說明有哪些需要立即存取,有哪些查詢需要實時響應。數(shù)據(jù)立即存取圖(DataImmediate-AccessDiagram)就是說明這些問題的工具。在系統(tǒng)分析階段,系統(tǒng)分析員要詳細了解用戶對系統(tǒng)的查詢要求。往往在了解剛開始的時候,由于用戶對計算機缺乏了解而提不出具體要求,這就需要系統(tǒng)分析員根據(jù)對業(yè)務情況的了解,根據(jù)需要與可能,進行立即存取分析,用適當?shù)墓ぞ弑磉_用戶的立即存取要求,與用戶討論,確定必要的立即存取要求。這是系統(tǒng)分析員的一項重要工作。這些內(nèi)容數(shù)據(jù)庫課程中已有詳細介紹,這里不再重復。6.7新系統(tǒng)邏輯模型的提出系統(tǒng)分析階段的任務是明確系統(tǒng)功能,通過對現(xiàn)行系統(tǒng)的調(diào)查分析,抽象出現(xiàn)行系統(tǒng)的邏輯模型,分析其存在的問題,如某些數(shù)據(jù)流向不合理,某些數(shù)據(jù)存儲有不必要的冗余,某些處理原那么不合理等等。這些問題的產(chǎn)生有各種各樣的原因,有的可能是習慣遺留下來的,有的可能是以前的技術(shù)落后造成的,還有些可能是某種體制不合理造成的,等等。例如,本章6.3.2節(jié)中我們指出過圖6.12的數(shù)據(jù)流和數(shù)據(jù)存儲就不盡合理:同是學籍表,一式兩份分別存在系教務員和校教管科;期末考試或補考以后,任課教師必須把有關(guān)成績一式兩份分送兩處。這不僅加重了有關(guān)人員的工作量,加大了存儲量,更嚴重的是數(shù)據(jù)的冗余容易造成數(shù)據(jù)不一致。在手工管理階段,這類數(shù)據(jù)的冗余是很多的,同一份數(shù)據(jù)存在不同的地方,各有各的用處。建立以計算機為根底的信息系統(tǒng)時,就要對這類問題認真分析,去掉不必要的冗余。這樣,圖6.12可簡化成圖6.20。調(diào)查分析中,要抓住系統(tǒng)運行的“瓶頸〞,即影響系統(tǒng)的關(guān)鍵之處。抓住這一點很重要,只有抓住主要矛盾,投入人力、物力,才能提高效率。圖6.20P2的改進
新系統(tǒng)來自原系統(tǒng),但比原系統(tǒng)更合理,效率更高。對原系統(tǒng)的變動要切實可行,能較快帶來效率,盡可能要循序漸進,不要一下子做過多的變更,形成不必要的社會和心理上的阻力。
從形式上講,新系統(tǒng)的邏輯模型與舊系統(tǒng)的邏輯模型相比變化不大,可能只是在一個或幾個處理中引進了新技術(shù),改變了幾處數(shù)據(jù)的流程,或者改變了某些數(shù)據(jù)存儲的組織方式,但是,這是經(jīng)過周密調(diào)查和分析的結(jié)果,其影響可能不是局部的。對這種影響必須要有充分的估計。此外,系統(tǒng)分析員應準備多個方案,客觀地指出各種方案的利弊得失,如投資、收益、技術(shù)上的難易程度等,以做比較,選出最適宜的一個來實施。6.8系統(tǒng)說明書6.8.1系統(tǒng)說明書的內(nèi)容作為系統(tǒng)分析階段的技術(shù)文檔,系統(tǒng)說明書通常包括以下三方面的內(nèi)容。1.引言說明工程的名稱、目標、功能、背景、引用資料(如核準的方案任務書或合同)、文中所用的專業(yè)術(shù)語等。2.工程概述(1)工程的主要工作內(nèi)容簡要說明本工程在系統(tǒng)分析階段所進行的各項工作的主要內(nèi)容。這些內(nèi)容是建立新系統(tǒng)邏輯模型的必要條件,而邏輯模型是書寫系統(tǒng)說明書的根底。(2)現(xiàn)行系統(tǒng)的調(diào)查情況新系統(tǒng)是在現(xiàn)行系統(tǒng)的根底上建立起來的。設(shè)計新系統(tǒng)之前,必須對現(xiàn)行系統(tǒng)進行調(diào)查,掌握現(xiàn)行系統(tǒng)的真實情況,了解用戶的要求和問題所在。列出現(xiàn)行系統(tǒng)的目標、主要功能、組織結(jié)構(gòu)、用戶要求等等,并簡要指出主要問題所在。以數(shù)據(jù)流圖為主要工具,說明現(xiàn)行信息系統(tǒng)的概況。數(shù)據(jù)字典、判定表、數(shù)據(jù)立即存取圖等往往篇幅較大,可作為系統(tǒng)說明書的附件。但是由它們得到的主要結(jié)論,如主要的業(yè)務量、總的數(shù)據(jù)存儲量等,應列在正文中。(3)新系統(tǒng)的邏輯模型通過對現(xiàn)行系統(tǒng)的分析,找出現(xiàn)行系統(tǒng)的主要問題所在,進行必要的改動,即得到新系統(tǒng)的邏輯模型。新系統(tǒng)的邏輯模型也要通過相應的數(shù)據(jù)流圖加以說明。數(shù)據(jù)字典等有變動的地方也要做相應說明。3.實施方案(1)工作任務的分解:指對開發(fā)中應完成的各項工作按子系統(tǒng)(或系統(tǒng)功能)劃分,指定專人分工負責。(2)進度:指給出各項工作的預定日期和完成日期,規(guī)定任務完成的先后順序及完成的界面。可用PERT圖或甘特圖表示進度。(3)預算:指逐項列出本工程所需要的勞務以及經(jīng)費的預算,包括辦公費、差旅費、資料費等等。
6.8.2系統(tǒng)說明書的審議系統(tǒng)說明書是系統(tǒng)分析階段的技術(shù)文檔,也是這一階段的工作報告,是提交審議的一份工作文件。系統(tǒng)說明書一旦被審議通過,那么成為有約束力的指導性文件,成為用戶與技術(shù)人員之間的技術(shù)合同,成為下階段系統(tǒng)設(shè)計的依據(jù)。因此,系統(tǒng)說明書的編寫很重要。它應簡明扼要,抓住本質(zhì),反映系統(tǒng)的全貌和系統(tǒng)分析員的設(shè)想。它的優(yōu)劣是系統(tǒng)分析員水平和經(jīng)驗的表達,也是他(們)對任務和情況了解深度的表達。對系統(tǒng)說明書的審議是整個系統(tǒng)研制過程中一個重要的里程碑。審議應由研制人員、企業(yè)領(lǐng)導、管理人員、局外系統(tǒng)分析專家共同進行。審議通過之后,系統(tǒng)說明書就成為系統(tǒng)研制人員與企業(yè)對該工程共同意志的表達。作為一個工作階段,系統(tǒng)分析宣告結(jié)束。假設(shè)有關(guān)人員在審議中對所提方案不滿意,或者發(fā)現(xiàn)研制人員對系統(tǒng)的了解有比較重大的遺漏或誤解,就需要返回詳細調(diào)查,重新分析。也有可能發(fā)現(xiàn)條件不具備、不成熟,導致工程中止或暫緩。一般說來,經(jīng)過認真的可行性分析之后,不應該出現(xiàn)后一種情況,除非情況有重大變動。上面提到的局外專家,指研制過類似系統(tǒng)而又與本企業(yè)無直接關(guān)系的人。他們一方面協(xié)助審查研制人員對系統(tǒng)的了解是否全面、準確,另一方面審查提出的方案是否適宜并對方案實施會給企業(yè)的運行帶來的影響做出估計。這種估計需要借助他們的經(jīng)驗。習題61.系統(tǒng)分析員的職責是什么?他應具備哪些知識和能力?2.簡述系統(tǒng)分析的工作步驟〔思考題〕。要點:系統(tǒng)分析過程一般分為三個階段,即〔1〕詳細調(diào)查和分析用戶需求。在總體規(guī)劃初步調(diào)查的根底上,進一步收集和了解、分析用戶需求,調(diào)查用戶的有關(guān)詳細情況;〔2〕確定初步的邏輯模型。邏輯模型僅指邏輯上確定的新系統(tǒng)模型,而不涉及具體的物理實現(xiàn)。邏輯模型由一組圖表工具進行描述;〔3〕編制系統(tǒng)分析報告。即對上述調(diào)查和分析的結(jié)果采用圖表描述的邏輯模型進行適當?shù)奈淖终f明,這是系統(tǒng)分析階段的主要成果。3.系統(tǒng)分析階段需要確定的主要內(nèi)容。要點:開發(fā)者對于現(xiàn)有組織管理狀況的了解;用戶對信息系統(tǒng)功能的需求;數(shù)據(jù)和業(yè)務流程;管理功能和管理數(shù)據(jù)指標體系;新系統(tǒng)擬改動和新增的管理模型;提出新系統(tǒng)的各種方案和設(shè)想;對所有方案和設(shè)想進行分析、研究、比較、判斷和選擇,獲得一個最優(yōu)的新系統(tǒng)的邏輯模型;編制系統(tǒng)分析報告。4.系統(tǒng)說明書包括哪些內(nèi)容?5.請根據(jù)以下描述畫出系統(tǒng)的數(shù)據(jù)流圖。該子系統(tǒng)共有三個處理,〔1〕首先是“建立訂貨合同臺帳:從訂貨合同、材料檢驗單和客戶文件輸入數(shù)據(jù)、輸出形成合同臺帳文件;〔2〕然后是“分類合并〞:從合同臺帳文件輸入數(shù)據(jù),排序合并后形成合同分類文件,(3)最后“打印〞加工單元從合同分類文件打印出合同分類表?!菜伎碱}〕6.某系統(tǒng)的一級數(shù)據(jù)流圖〔如圖1所示〕,請指出其二級數(shù)據(jù)流圖〔如圖2所示〕的錯誤,并改正?!菜伎碱}〕F2:分類賬文件賬簿憑證原始單據(jù)會計員F1:憑證文件F3:日記賬文件管理者管理者P1憑證管理P2賬務管理P3報表管理圖1:一級細化圖F1:憑證文件會計員原始單據(jù)P1.1輸入憑證P1.2匯總憑證P1.3打印憑證P2賬務管理圖2:二級細化圖(憑證管理)1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVmYq!t*w-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司會計崗位聘用合同(2025年)
- 微商商學院課程設(shè)計
- 精密機械加工及裝配合同
- 建設(shè)項目工程總承包合同GF(2025年)
- 版式設(shè)計課程設(shè)計
- 棧與隊列課程設(shè)計
- 燃氣與燃燒應用課程設(shè)計
- 歌星大賽課程設(shè)計
- 杠桿銑面夾具課程設(shè)計
- 2024至2030年臥式低速離心泵項目投資價值分析報告
- ☆問題解決策略:直觀分析 教案 2024-2025學年北師大版七年級數(shù)學上冊
- 養(yǎng)老服務與安全管理作業(yè)指導書
- 2024年新人教版七年級上冊數(shù)學教學課件 第六章 幾何圖形初步 綜合與實踐 設(shè)計學校田徑運動會比賽場地
- GB/T 18385-2024純電動汽車動力性能試驗方法
- 期末+(試題)+-2024-2025學年人教PEP版英語六年級上冊
- ICD-10疾病編碼完整版
- 安徽合肥國有企業(yè)招聘筆試題庫2024
- 軍隊文職公共科目(國防與軍隊)模擬試卷1(共248題)
- 大國外交演講與辯論智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(華東)
- 《鋰電池石墨負極材料石墨化技術(shù)規(guī)范》
- GB/T 19633.1-2024最終滅菌醫(yī)療器械包裝第1部分:材料、無菌屏障系統(tǒng)和包裝系統(tǒng)的要求
評論
0/150
提交評論