銀行ATM自動取款機(jī)系統(tǒng)軟件工程課程實驗指導(dǎo)書_第1頁
銀行ATM自動取款機(jī)系統(tǒng)軟件工程課程實驗指導(dǎo)書_第2頁
銀行ATM自動取款機(jī)系統(tǒng)軟件工程課程實驗指導(dǎo)書_第3頁
銀行ATM自動取款機(jī)系統(tǒng)軟件工程課程實驗指導(dǎo)書_第4頁
銀行ATM自動取款機(jī)系統(tǒng)軟件工程課程實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程課程實驗指導(dǎo)書(SoftwareEngineering)目錄序言1一、實驗安排1第一階段:ATMS統(tǒng)的分析1第二階段:ATMS統(tǒng)的設(shè)計1第三階段:用OMZ法分析與設(shè)計ATM2二、考核方式及評定標(biāo)準(zhǔn)2三、參考資料與系統(tǒng)初步分析31、ATMS統(tǒng)的需求概述3ATMS統(tǒng)的需求要點3需求陳述書寫要點32、建立對象模型4確定類一對象4確定關(guān)聯(lián)6劃分主題9確定屬性103、建立動態(tài)模型12編寫腳本12設(shè)想用戶界面13畫事件跟蹤圖13畫狀態(tài)圖14審查動態(tài)模型164、建立功能模型17畫出基本系統(tǒng)模型圖17畫出功能級數(shù)據(jù)流圖17描述處理框功能18序言為幫助同學(xué)們牢固樹立軟件工程的思想,必須理論聯(lián)系實際。本實

2、驗是同學(xué)們獲得用軟件工程的思想、方法和技術(shù)開發(fā)簡單軟件項目的初步訓(xùn)練,主要目的是使同學(xué)們基本掌握用軟件工程的思想開發(fā)軟件的方法。通過本次實驗,要求同學(xué)們掌握軟件工程的基本思想,了解開發(fā)一個軟件系統(tǒng)的主要階段,每個階段所采用的方法及應(yīng)該生成的主要文檔。為學(xué)生今后的軟件開發(fā)實踐無論從觀念上還是實現(xiàn)上建立良好的基礎(chǔ)。本實驗以軟件工程課程中面向?qū)ο蠓椒ǖ膬?nèi)容為基礎(chǔ),利用面向?qū)ο蠹夹g(shù)中的OMT方法,針對一個具體的應(yīng)用實例,如銀行網(wǎng)絡(luò)系統(tǒng)ATM,對其進(jìn)行分析和設(shè)計。OMT(即對象模型技術(shù))是一種軟件工程方法學(xué),它支持整個軟件生命周期,覆蓋了用戶需求(即問題構(gòu)成)、分析、設(shè)計和實現(xiàn)等階段。OMT方法使用建模

3、思想,討論如何建立一個實際的系統(tǒng)應(yīng)用模型,從三個不同而又相關(guān)的角度建立三類模型:對象模型、動態(tài)模型和功能模型。每一個模型都提供了直觀、形象圖形表示。此外,本實驗的完成將涉及到軟件工程的其它方面的許多知識,例如何針對用戶需求進(jìn)行有效的軟件需求分析,如何用軟件工程的思想為用戶建立一個有效的系統(tǒng)應(yīng)用模型,為下一步的軟件設(shè)計打下良好的基礎(chǔ)。本實驗對同學(xué)們的綜合能力要求比較高,包括分析問題和處理問題的能力、實際動手能力如繪制圖形的能力以及編寫文檔的能力等。具體操作時,又分為三個階段:ATM系統(tǒng)的分析、ATM系統(tǒng)的設(shè)計與用OMT方法分析與設(shè)計ATM等來進(jìn)行。、實驗安排第一階段:ATMK統(tǒng)的分析學(xué)時:2(一

4、)實驗?zāi)康耐ㄟ^分析ATM系統(tǒng)需求,確定各對象及其關(guān)聯(lián),分析并做出ATM系統(tǒng)的原始對象圖。(二)實驗內(nèi)容1、閱讀ATM系統(tǒng)需求報告(也可自己調(diào)研完成),分析出整個系統(tǒng)的框架。2、對ATMS統(tǒng)進(jìn)行進(jìn)一步分析,確定系統(tǒng)中涉及的各個對象,理順相互關(guān)聯(lián)。按照冗余、無關(guān)、籠統(tǒng)、屬性、操作、實現(xiàn)的原則篩選出正確的對象,并確定相對應(yīng)的屬性描述;再經(jīng)過正名、分解、補(bǔ)充等方式來進(jìn)一步完善后,適當(dāng)運(yùn)用數(shù)據(jù)庫思想,分析并建立類似E/R圖的ATM系統(tǒng)的對象圖。第二階段:ATMK統(tǒng)的設(shè)計學(xué)時:2(一)實驗?zāi)康脑诜治鯝TM系統(tǒng)的基礎(chǔ)上,對較佳的系統(tǒng)方案進(jìn)行結(jié)構(gòu)與詳細(xì)設(shè)計。(二)實驗內(nèi)容1、根據(jù)系統(tǒng)模型完成概要設(shè)計。在概要設(shè)

5、計階段中,首先進(jìn)行系統(tǒng)設(shè)計,從數(shù)據(jù)流圖出發(fā)設(shè)想完成系統(tǒng)功能的多種合理的物理方案,并仔細(xì)比較這些方案選定一個最佳方案,然后進(jìn)行軟件結(jié)構(gòu)設(shè)計,確定軟件由哪些模塊組成以及模塊間的動態(tài)調(diào)用關(guān)系。其中層次圖和結(jié)構(gòu)圖是描繪軟件結(jié)構(gòu)的有用工具。2、用Jackson或Warnier方法完成系統(tǒng)的詳細(xì)設(shè)計。第三階段:用OM訪法分析與設(shè)計ATM學(xué)時:2(一)實驗?zāi)康挠妹嫦驅(qū)ο蟮姆椒ê图夹g(shù)分析具體的ATM系統(tǒng)。(1)掌握面向?qū)ο蟮母拍詈退枷耄唬?)針對一個用戶需求,掌握分析方法,提高邏輯思維能力;(3)掌握建立三種模型的具體方法和步驟。(二)實驗內(nèi)容要求學(xué)生采用OMT方法分析并設(shè)計ATM系統(tǒng)。1、根據(jù)已知ATM系統(tǒng)

6、需求與分析,重點建立相應(yīng)的對象模型。并用直觀、形象的圖形表示。2、根據(jù)已知ATM系統(tǒng)需求與分析,建立動態(tài)模型。3、根據(jù)已知ATM系統(tǒng)需求與分析,建立功能模型。4、分析、對比三種模型的特點,充分理解軟件設(shè)計中方法與模型的綜合運(yùn)二、考核方式及評定標(biāo)準(zhǔn)上機(jī)實驗要求對軟件工程的整個流程與編制思想進(jìn)行綜合認(rèn)識,并能在實際的軟件系統(tǒng)的編寫中體會、分析,并加深理解。須提交的文檔有:軟件設(shè)計的全部文檔(主要含:調(diào)研或需求報告、軟件系統(tǒng)分析、軟件系統(tǒng)各個方案的概要設(shè)計及其比較、較佳設(shè)計方案分析及數(shù)據(jù)流程、軟件系統(tǒng)結(jié)構(gòu)設(shè)計、系統(tǒng)功能分析與設(shè)計、系統(tǒng)功能調(diào)整與測試分析等)、軟件系統(tǒng)的程序代碼。實驗成績滿分為100分

7、,其中,上機(jī)占50%(含平時上機(jī)操作與考勤),文檔占50%。三、參考資料與系統(tǒng)初步分析1、ATM統(tǒng)的需求概述圖1-1ATM(自動取款機(jī))系統(tǒng)ATM系統(tǒng)的需求要點擬開發(fā)一個自動取款系統(tǒng)(參考圖1-1),它是一個由自動取款機(jī)、中央計算機(jī)、分行計算機(jī)及柜員終端組成的網(wǎng)絡(luò)系統(tǒng)。ATM和中央計算機(jī)由總行投資購買??傂袚碛卸嗯_ATM,分別設(shè)在全市各主要街道上。分行負(fù)責(zé)提供分行計算機(jī)和柜員終端。柜員終端設(shè)在分行營業(yè)廳及分行下屬的各個儲蓄所內(nèi)。該系統(tǒng)的軟件開發(fā)成本由各個分行分?jǐn)?。銀行柜員使用柜員終端處理儲戶提交的儲蓄事務(wù)。儲戶可以用現(xiàn)金或支票向自己擁有的某個賬戶內(nèi)存款或開新賬戶。儲戶也可以從自己的賬戶中取款。

8、通常,一個儲戶可能擁有多個賬戶。柜員負(fù)責(zé)把儲戶提交的存款或取款事務(wù)輸進(jìn)柜員終端,接收儲戶交來的現(xiàn)金或支票,或付給儲戶現(xiàn)金。柜員終端與相應(yīng)的分行計算機(jī)通信,分行計算機(jī)具體處理針對某個賬戶的事務(wù)并且維護(hù)賬戶。擁有銀行賬戶的儲戶有權(quán)申請領(lǐng)取現(xiàn)金兌換卡。使用現(xiàn)金兌換卡可以通過ATM訪問自己的賬戶。目前僅限于用現(xiàn)金兌換卡在ATM上提取現(xiàn)金(即取款),或查詢有關(guān)自己賬戶的信息(如余額)。將來還可能要求用ATM來辦理轉(zhuǎn)賬、存款。所謂現(xiàn)金兌換卡就是一個特制的磁卡,上面有分行代碼和卡號。分行代碼唯一標(biāo)識總行下屬的一個分行,卡號確定了這張卡可以訪問哪些賬戶。通常,一張卡可以訪問儲戶的若干個賬戶,但是不一定能訪問這

9、個儲戶的全部賬戶。每張卡僅屬于一個儲戶所有,但是,同一張卡可能有多個副本,因此,必須考慮同時在若干臺ATM上使用同樣的現(xiàn)金兌換卡的可能性。也就是說,系統(tǒng)應(yīng)該能夠處理并發(fā)的訪問。當(dāng)用戶把現(xiàn)金兌換卡插入ATM之后,ATM就與用戶交互,以獲取有關(guān)這次事務(wù)的信息,并與中央計算機(jī)交換關(guān)于事務(wù)的信息。首先,ATM要求用戶輸入密碼,接下來ATM把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計算機(jī),請求中央計算機(jī)核對這些信息并處理這次事務(wù)。中央計算機(jī)根據(jù)卡上的分行代碼確定這次事務(wù)與分行的對應(yīng)關(guān)系,并且委托相應(yīng)的分行計算機(jī)驗證用戶的密碼。如果用戶輸入的密碼是正確的,ATM就要求用戶選擇事務(wù)類型(取款、查詢等)

10、。當(dāng)用戶選擇取款時,ATM請求用戶輸入取款額。最后,ATM從現(xiàn)金口吐出現(xiàn)金,并且打印賬單交給用戶。需求陳述書寫要點通常,需求陳述的內(nèi)容包括:問題范圍,功能需求,應(yīng)用環(huán)境及假設(shè)條件等。它應(yīng)該闡明“做什么”而不是“怎么樣做”;它描述的是用戶的需求而不是提出解決問題的方法,并應(yīng)該指明哪些是系統(tǒng)必要的性質(zhì),哪些是任選的性質(zhì);它應(yīng)該避免對設(shè)計策略加過多的約束,也不要描述系統(tǒng)內(nèi)部結(jié)構(gòu),以免影響系統(tǒng)實現(xiàn)的靈活性。但是,對系統(tǒng)性能及系統(tǒng)外界環(huán)境交互協(xié)議的描述,對采用的軟件工程標(biāo)準(zhǔn)、模塊構(gòu)造準(zhǔn)則、將來可能做的擴(kuò)充以及可維護(hù)性要求等方面的描述,則是合適的需求。書寫需求陳述是時,要盡力做到語法準(zhǔn)確,真正反映用戶的需

11、求,而且要應(yīng)該慎重選用名詞、動詞、形容詞和同義詞;更不能將實際需求和設(shè)計決策混為一談。2、建立對象模型面向?qū)ο蠓治觯褪浅槿『驼碛脩粜枨蟛⒔栴}域精確模型的過程。通常,它從分析陳述用戶需求的文件開始,再通過深入理解,抽象出目標(biāo)系統(tǒng)的本質(zhì)屬性,并用模型對問題的進(jìn)行精確而又簡潔的表示,再以此分析模型為基礎(chǔ)進(jìn)行后繼的設(shè)計。在概念上,我們可以認(rèn)為面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行:尋找類一對象,識別結(jié)構(gòu),識別主題,定義屬性,建立動態(tài)模型、建立功能模型,定義服務(wù)。但是,分析不可能是嚴(yán)格按照此順序進(jìn)行的,通常要多次反復(fù)構(gòu)造才能完全建立。面向?qū)ο蠓治鍪滓墓ぷ?,是建立域的對象模型。這個模型描述了現(xiàn)實世界

12、中的“類一對象”以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。靜態(tài)數(shù)據(jù)結(jié)構(gòu)對應(yīng)用細(xì)節(jié)依賴較少,比較容易確定當(dāng)用戶的需求變化時。靜態(tài)數(shù)據(jù)結(jié)構(gòu)相對來說比較穩(wěn)定。因此,用面向?qū)ο蠓椒ㄩ_發(fā)絕大多數(shù)軟件時,都首先建立對象模型,然后再建立另外兩個子模型。需求陳述、應(yīng)用領(lǐng)域的專業(yè)知識以及關(guān)于客觀世界的常識,是建立對象模型時的主要信息來源。如前所述,對象模型通常有五個層次。典型的工作步驟是,首先確定對象類和關(guān)聯(lián)(因為它們影響系統(tǒng)整體結(jié)構(gòu)和解決問題的方法),對于大型復(fù)雜問題還要進(jìn)一步劃分出若干個主題;然后給類和關(guān)聯(lián)增添屬性,以進(jìn)一步描述它們;接下來利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類。而對類中操作的最后確定

13、,則需等到建立了動態(tài)模型和功能模型之后,因為這兩個子模型更準(zhǔn)確地描述了對類中提供的服務(wù)的需求。應(yīng)該再一次強(qiáng)調(diào)指出的是,人認(rèn)識客觀世界的過程是一個漸進(jìn)過程,是在繼承前人知識的基礎(chǔ)上,經(jīng)反復(fù)迭代而不斷深化的。因此,面向?qū)ο蠓治霾豢赡車?yán)格按照順序線性進(jìn)行。初始的分析模型通常都是不準(zhǔn)確不完整甚至包含錯誤的,必須在隨后的反復(fù)分析中加以擴(kuò)充和更正。此外,在面向?qū)ο蠓治龅拿恳徊?,都?yīng)該仔細(xì)分析研究以前針對相同的或類似的問題域進(jìn)行面向?qū)ο蠓治鏊玫降慕Y(jié)果,并盡可能在本項目中重用這些結(jié)果。在描述面向?qū)ο蠓治龅木唧w過程時,將按上述規(guī)則進(jìn)行處理。確定類一對象類一對象是在問題域中客觀存在的,系統(tǒng)分析員的主要任務(wù),就是

14、通過分析找出這些類一對象。首先.找出所有候選的類一對象;然后,從候選的類一對象中篩選掉不正確的或不必要的。首先,找出候選的類一對象對象是對問題域中有意義的事物的抽象,它們既可能是物理實休-也可髓是抽象概念。具體地說,爽多數(shù)客觀事物可分為下述五類:(1)可感知的物理實體,例如,飛機(jī)、汽車、書、房屋等。(2)人或組織的角色,例如,醫(yī)生、教師、雇主、雇員、計算機(jī)系、財務(wù)處等等。(3)應(yīng)該記憶的事件,例如,飛行、演出、訪問、交通事故等等。(4)兩個或多個對象的相互作用,通常具有交易或接觸的性質(zhì),例如,購買、納稅、結(jié)婚等等。(5)需要說明的概念,例如,政策、保險政策、版權(quán)法等等。在分析所面臨的問題時,可

15、以參照上列五類常見事物,找出在當(dāng)前問題域中的候選類一對象。另一種更簡單的分析方法,是所謂的非正式分析。這種分析方法以用自然語言書寫的需求陳述為依據(jù),把陳述中的名詞作為類一對象的候選者,用形容詞作為確定屬性的線索,把動詞作為服務(wù)(操彳)的候選者。當(dāng)然,用這種簡單方法確定的候選者是非常不準(zhǔn)確的,其中往往包含大量不正確的或不必要的事物。還必須經(jīng)過更進(jìn)一步的嚴(yán)格篩選。通常,非正式分析是更詳細(xì)、更精確的正式的面向?qū)ο蠓治龅囊粋€很好的開端。下面以ATM系統(tǒng)為例,說明非正式分析過程。認(rèn)真閱讀給出的需求陳述,從陳述中找出下列名詞,可以把它們作為類一對象的初步的候選者:銀行,自動取款機(jī)(ATM).系統(tǒng),中央計算

16、機(jī),分行計算機(jī),柜員終端,網(wǎng)絡(luò),總行,分行,軟件,成本,市,街道,營業(yè)廳,儲蓄所,柜員,儲戶,現(xiàn)金.支票,賬戶,事務(wù),現(xiàn)金兌換卡,余額,磁卡,分行代碼,卡號,用戶,副本,信息,密碼,類型,取款額,賬單,訪問。通常,在需求陳述中不會一個不漏地寫出問題域中所有有關(guān)的類一對象。因此,分析員應(yīng)該根據(jù)領(lǐng)域知識或常識進(jìn)一步把隱臺的類一對象提取出來。例如,在ATM系統(tǒng)的需求陳述中雖然沒寫“通信鏈路”和“事務(wù)日志”,但是,根據(jù)領(lǐng)域知識和常識可以知道,在ATM系統(tǒng)中應(yīng)該包含這兩個實體。第二步,篩選出正確的類一對象顯然,僅通過一個簡單、機(jī)械的過程不可能正確地完成分析工作。非正式分析僅僅幫助我們找到一些候選的類一卜

17、對象.接下來應(yīng)該嚴(yán)格考察每個候選對象,從中去掉不正確的或不必要的,僅保留確實應(yīng)該記錄其信息或需要其提供服務(wù)的那些對象。篩選時主要依據(jù)下列標(biāo)準(zhǔn).刪除不正確或不必要的類一對象:(1)冗余如果兩個類表達(dá)了同樣信息,則應(yīng)該保留在此問題域中最富于描述力的名稱。以ATM系統(tǒng)為例,上面用非正式分析法得出了34個候選的類,其中儲戶與用戶,現(xiàn)金兌換卡與磁卡及副本分別描述了相同的二類信息,因此,應(yīng)該去掉“用戶”、“磁卡”、“副本”等冗余的類,僅保留“儲戶”和“現(xiàn)金兌換卡”這兩個類。(2)無關(guān)現(xiàn)實世界中存在許多對象,不能把它們都納入到系統(tǒng)中去.僅需要把與本問題密切相關(guān)的類-對象放進(jìn)目錄系統(tǒng):有些類在其他問題中可能很

18、重要,但與當(dāng)前要解決的問題無關(guān),同樣也應(yīng)該把它們刪掉。以ATM系統(tǒng)為例,這個系統(tǒng)并不處理分?jǐn)傑浖_發(fā)成本的問題,而且ATM和柜員終端放置的地點與本軟件的關(guān)系也不大。因此,應(yīng)該去掉候選類“成本”、“市”、“街道”、“營業(yè)廳”和“儲蓄所”。(3)籠統(tǒng)在需求陳述中常常使用一些籠統(tǒng)的、泛指的名詞,雖然在初步分析時把它們作為候選的類一對象列出來了,但是,要么系統(tǒng)無須記憶有關(guān)它們的信息,要么在需求陳述中有更明確更具體的名詞對應(yīng)它們所暗示的事務(wù),因此,通常把這些籠統(tǒng)的或模糊的類去掉。以ATM系統(tǒng)為例,“銀行”實際指總行或分行,“訪問”在這里實際指事務(wù)。“信息”的具體內(nèi)容在需求陳述中隨后就指明了。此外還有一些

19、籠統(tǒng)含糊的名詞??傊?,在本例中應(yīng)該去掉“銀行”、“網(wǎng)絡(luò)”、“系統(tǒng)”、“軟件”、“信息”、“訪問”等候選類。(4)屬性在需求陳述中有些名詞實際上描述的是其他對象的屬性,應(yīng)該把這些名詞從候選類一對象中去掉。當(dāng)然,如果某個性質(zhì)具有很強(qiáng)的獨(dú)立性,則應(yīng)把它作為類而不是作為屬性。在ATM系統(tǒng)的例子中,“現(xiàn)金”、“支票”、“取款額”、“賬單”、“余額”、“分行代碼”、“卡號”、“密碼”、“類型”等,實際上都應(yīng)該作為屬性對待。(5)操作在需求陳述中有時可能使用一些既可作為名詞,又可作為動詞的詞,應(yīng)該慎重考慮它們在本問題中的含義,以便正確地決定把它們作為類還是作為類中定義的操作。例如,談到電話時通常把“撥號”當(dāng)

20、作動詞,當(dāng)構(gòu)造電話模型時確實應(yīng)該把它作為一個操作,而不是一個類。但是,在開發(fā)電話的自動記賬系統(tǒng)時,“撥號”需要有自己的屬性(例如日期、時間、受話地點等),因此應(yīng)該把它作為一個類。總之,本身具有屬性需獨(dú)立存在的操作,應(yīng)該作為類一對象(6)實現(xiàn)在分析階段不應(yīng)該過早地考慮怎樣實現(xiàn)目標(biāo)系統(tǒng)。因此應(yīng)該去掉僅和實現(xiàn)有關(guān)的候選的類對象。在設(shè)計和實現(xiàn)階段,這些類一對象可能是重要的,但在分析階段過早地考慮它反而會分散我們的注意力。在ATM系統(tǒng)的例子中,“事務(wù)日志”無非是對一系列事務(wù)的記錄,它的確切表示方式是面向?qū)ο笤O(shè)計的議題“通信鏈路”在邏輯上是一種聯(lián)系,在系統(tǒng)實現(xiàn)時它是關(guān)聯(lián)鏈的物理實現(xiàn)??傊?,應(yīng)該暫時去掉“事

21、務(wù)日志”和“通信鏈路”這兩個類,在設(shè)計或?qū)崿F(xiàn)時再考慮它們。綜上所述,在ATM系統(tǒng)的例子中,經(jīng)過初步篩選,剩下下列類一對象:ATM、中央總行、分行、柜員、儲戶、賬戶、事務(wù)、現(xiàn)金兌換卡。確定關(guān)聯(lián)多數(shù)人習(xí)慣于在初步分析確定了問題域中的類一對象之后,接下來就分析確定類-對象之間存在關(guān)聯(lián)關(guān)系。當(dāng)然,這樣的工作順序并不是絕對必要的。由于在整個開發(fā)過程中面向?qū)ο蟾拍詈捅硎痉柕囊恢滦?,分析員在選取自己習(xí)慣的工作方式時擁有相當(dāng)大的靈活性。如前所述,兩個或多個對象之間的相互依賴、相互作用的關(guān)系就是關(guān)聯(lián)。分析確定關(guān)聯(lián),能促使分析員考慮問題域的邊緣情況,有助于發(fā)現(xiàn)那些尚未被發(fā)現(xiàn)的類一對象。在分析確定關(guān)聯(lián)的過程中,不

22、必花過多的精力去區(qū)分關(guān)聯(lián)和聚集。事實上,聚集不過是一種特殊的關(guān)聯(lián),是關(guān)聯(lián)的一個特例。首先,初步確定關(guān)聯(lián)在需求陳述中使用的描述性動詞或動詞詞組,通常表示關(guān)聯(lián)關(guān)系。因此,在初步確定關(guān)聯(lián)時,大多數(shù)關(guān)聯(lián)可以通過直接提取需求陳述中的動詞詞組而得出。通過分析需求陳述,還能發(fā)現(xiàn)一些在陳述中隱含的關(guān)聯(lián)。最后,分析員還應(yīng)該與用戶及領(lǐng)域?qū)<矣懻搯栴}域?qū)嶓w間的相互依賴l相互作用關(guān)系,根據(jù)領(lǐng)域知識再進(jìn)一步補(bǔ)充一些關(guān)聯(lián)。以ATM系統(tǒng)為例,經(jīng)過分析初步確定出下列關(guān)聯(lián):(1)直接提取動詞短語得出的關(guān)聯(lián) ATM、中央計算機(jī)、分行計算機(jī)及柜員終端組成網(wǎng)絡(luò)。 總行擁有多臺ATM。 ATM設(shè)在主要街道上。 分行提供分行計算機(jī)和柜員

23、終端。 柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)。 分行分?jǐn)傑浖_發(fā)成本。 儲戶擁有賬戶。 分行計算機(jī)處理針對賬戶的事務(wù)。 分行計算機(jī)維護(hù)賬戶。 柜員終端與分行計算機(jī)通信。 柜員輸入針對賬戶的事務(wù)。 ATM與中央計算機(jī)交換關(guān)于事務(wù)的信息。 中央計算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系。 ATM讀現(xiàn)金兌換卡。 ATM與用戶交互。 ATM吐出現(xiàn)金。 ATM打印賬單。 系統(tǒng)處理并發(fā)的訪問。(2)需求陳述中隱含的關(guān)聯(lián) 總行由各個分行組成。 分行保管賬戶。 總行擁有中央計算機(jī)。 系統(tǒng)維護(hù)事務(wù)日志。 系統(tǒng)提供必要的安全性。 儲戶擁有現(xiàn)金兌換卡。(3)根據(jù)問題域知識得出的關(guān)聯(lián) 現(xiàn)金兌換卡訪問賬戶。分行雇用柜員。第二步,篩選經(jīng)

24、初步分析得出的關(guān)聯(lián)只能是作為候選的關(guān)聯(lián),還需經(jīng)過進(jìn)一步篩選,以去掉不正確的或不必要的關(guān)聯(lián)。篩選時主要根據(jù)下述標(biāo)準(zhǔn)刪除候選的關(guān)聯(lián):(1)已刪去的類之間的關(guān)聯(lián)如果在分析確定類一對象的過程中已經(jīng)刪掉了某個候選類,則與這個類有關(guān)的關(guān)聯(lián)也應(yīng)該刪擊,或用其他類重新表達(dá)這個關(guān)聯(lián)。以ATM系統(tǒng)為例,由于已經(jīng)刪去了“系統(tǒng)”、“網(wǎng)絡(luò)”、“市”、“街道”、“成本”、“軟件”、“事務(wù)日志”、“現(xiàn)金”、“營業(yè)廳”、“儲蓄所”、“賬單”等候選類,因此,與這些類有關(guān)的下列八個關(guān)聯(lián)也應(yīng)該刪去;ATM、中央計算機(jī)、分行計算機(jī)及柜員終端組成網(wǎng)絡(luò)。ATM設(shè)在主要街道上。分行分?jǐn)傑浖_發(fā)成本。系統(tǒng)提供必要的安全性。系統(tǒng)維護(hù)事務(wù)日志。

25、ATM吐出現(xiàn)金。ATM打印賬單。柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi)。(2)與問題無關(guān)的或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián)應(yīng)該把處在本問題域之外的關(guān)聯(lián)或與實現(xiàn)密切相關(guān)的關(guān)聯(lián)刪去。例如,在ATM系統(tǒng)的例子中,“系統(tǒng)處理并發(fā)的訪問”并沒有標(biāo)明對象之間的新關(guān)聯(lián),它只不過提醒我們在實現(xiàn)階段需要使用實現(xiàn)并發(fā)訪回的算法,以處理并發(fā)事務(wù)。(3)瞬時事件關(guān)聯(lián)應(yīng)該描述問題域的靜態(tài)結(jié)構(gòu),而不應(yīng)該是一個瞬時事件。以ATM系統(tǒng)為例,“ATM讀現(xiàn)金兌換卡”描述了ATM與用戶交互周期中的一個動作,它并不是ATM與現(xiàn)金兌換卡之間的固有關(guān)系,因此應(yīng)該刪去。類似地,還應(yīng)該刪去“ATM與用戶交互”這個候選的關(guān)聯(lián)。如果用動作表述的需求隱含了問題

26、域的某種基本結(jié)構(gòu),則應(yīng)該用適當(dāng)?shù)膭釉~詞組重新表示這個關(guān)聯(lián)。例如,在ATM系統(tǒng)的需求陳述中,“中央計算機(jī)確定事務(wù)與分行的對應(yīng)關(guān)系”隱含了結(jié)構(gòu)上“中央計算機(jī)與分行通信”的關(guān)系。(4)三元關(guān)聯(lián)三個或三個以上對象之間的關(guān)聯(lián).大多可以分解為二元關(guān)聯(lián)或用詞組描述成限定的關(guān)聯(lián)。在ATM系統(tǒng)的例子中,“柜員輸入針對賬戶的事務(wù)”可以分解成“柜員輸入事務(wù)”和“事務(wù)修改賬戶”這樣兩個二元關(guān)聯(lián)。而“分行計算機(jī)處理針對賬戶的事務(wù)”也可以做類似的分解?!癆TM與中央計算機(jī)交換關(guān)于事務(wù)的信息”這個候選的關(guān)聯(lián),實際上隱含了“ATM與中央計算機(jī)通信”和“在ATM上輸入事務(wù)”這兩個二元關(guān)聯(lián)。如果三元關(guān)聯(lián)中涉及的某個實體僅用于描述

27、另兩個實體的關(guān)系.而且這個實體本身不包含屬性,則它是二元關(guān)聯(lián)上的鏈屬性。例如,“公司付給員工工資”可以改造成帶有鏈屬性“工資”的二元關(guān)聯(lián)“公司雇用員工”。(5)派生關(guān)聯(lián)應(yīng)該去掉那些可以用其他關(guān)聯(lián)定義的冗余關(guān)聯(lián)。例如,在ATM系統(tǒng)的例子中,??傂袚碛卸嗯_ATM”實質(zhì)上是“總行擁有中央計算機(jī)”和“ATM與中央計算機(jī)通信”這兩個關(guān)聯(lián)組合的結(jié)果。而“分行計算機(jī)維護(hù)賬戶”的實際含義是,“分行保管賬戶”和“事務(wù)修改賬戶”。第三,進(jìn)一步完善應(yīng)該進(jìn)一步完善經(jīng)篩選后余下的關(guān)聯(lián)。通常從下述幾個方面進(jìn)行改進(jìn):(1)正名好的名字是幫助讀者理解的關(guān)鍵因素之一。因此,應(yīng)該仔細(xì)選擇含義更明確的名字作為關(guān)聯(lián)名。例如,“分行提

28、供分行計算機(jī)和柜員終端”不如改為“分行擁有分行計算機(jī)”和“分行擁有柜員終端”。(2)分解為了能夠適用于不同的關(guān)聯(lián),必要時應(yīng)該分解以前確定的類一對象。倒如,在ATM系統(tǒng)中,應(yīng)該把“事務(wù)”分解成“遠(yuǎn)程事務(wù)”和“柜員事務(wù)”。(3)補(bǔ)充發(fā)現(xiàn)了遺漏的關(guān)聯(lián)就應(yīng)該及時補(bǔ)上。例如,在ATM系統(tǒng)中把“事務(wù)”分解戚上述兩類之后,需要樸充“柜員輸入柜員事務(wù)”、“柜員事務(wù)輸進(jìn)柜員終端”、“在ATM上輸入遠(yuǎn)程事務(wù)”和“遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán)”等關(guān)聯(lián)。(4)標(biāo)明階數(shù)應(yīng)該初步判定各個關(guān)聯(lián)的類型,并粗略地確定關(guān)聯(lián)的階數(shù)。但是,無須為此花費(fèi)過多精力,因為分析過程中隨著認(rèn)識的逐漸深入,階數(shù)也會經(jīng)常改動。圖2-1是經(jīng)過上述分析過

29、程之后得出的ATM系統(tǒng)原始對象圖。圖2-1ATM系統(tǒng)原始對象圖劃分主題在開發(fā)大型、復(fù)雜系統(tǒng)的過程中,為了降低復(fù)雜程度,人們習(xí)慣于把系統(tǒng)再進(jìn)一步劃分成幾個不同的主題,也就是在概念上把系統(tǒng)包含的內(nèi)容分解成若干個范疇。此外,應(yīng)該按照使不同主題內(nèi)的對應(yīng)該按問題領(lǐng)域而不是用功能分解方法來確定主題。象相互間依賴和交互最少的原則來確定主題。以ATM系統(tǒng)為例,可劃分為“總行”、“分行”、“ATM”等三個主題,分別可標(biāo)識為如卜圖22所示。T-擁啟擁有柜員1+施員事務(wù)授權(quán)I遠(yuǎn)程事務(wù)ATM14;:3擁11nl修愿用':.1,1-蛆成分行I工I通信,二一不.:3I-1,1rir*1"n崎!L1&qu

30、ot;liL-J1':西向圖22把ATM系統(tǒng)劃分為三個主題確定屬性屬性是對象的性質(zhì),藉助于屬性我們能對類一對象和結(jié)構(gòu)有更深入、更具體的認(rèn)識。注意,在分析階段不要用屬性來表示對象間的關(guān)系,使用關(guān)聯(lián)能夠表示兩個對象間的任何關(guān)系,而且把關(guān)系表示得更清晰、更醒目。一般說來,確定屬性的過程包括分析和選擇兩個步驟。首先,分析通常,在需求陳述中用名詞詞組表示屑性,例如,“汽車的顏色”或“光標(biāo)的位置”。往往用形容詞表示可枚舉的具體屬性,倒如,“紅色的”、“打開的”。但是,不可能在需求陳述中找到所有屬性,分析員還必須藉助于領(lǐng)域知識和常識才能分析得出需要的屬性。幸運(yùn)的是,屬性對問題域的基本結(jié)構(gòu)影響很小。隨

31、著時間的推移,問題域中的類始終保持穩(wěn)定,屬性卻可能改變了,相應(yīng)地,類中方法的復(fù)雜程度也將改變。屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍的屬性。在分析過程中應(yīng)該首先找出最重要的屬性,阻后再逐漸把其余屬性增添進(jìn)去。在分析階段不要考慮那些純粹用于實現(xiàn)的屬性。第二步,選擇認(rèn)真考察經(jīng)初步分析而確定下來的那些屬性,從中刪掉不正確的或不必要的屬性。通常有以下幾種常見情況:(1)誤把對象當(dāng)作屬性如果某個實體的獨(dú)立存在比它的值更重要,則應(yīng)把它作為一個對象而不是對象的屬性。在具體應(yīng)用領(lǐng)域中具有自身性質(zhì)的實體,必然是對象。同一個實體在不

32、同應(yīng)用領(lǐng)域中,到底應(yīng)該作為對象還是屬性,需要具體分析才能確定。例如,在郵政目錄中,“城市”是一個屬性,而在人口普查中卻應(yīng)該把“城市”當(dāng)作對象。(2)把鏈屬性誤作為屬性如果某個性質(zhì)依賴于某個關(guān)聯(lián)鏈的存在,則該性質(zhì)是鏈屬性,在分析階段不應(yīng)該把它作為對象的屬性帶別是在多對多關(guān)聯(lián)中,鏈屬性很明顯,即使是在以后的開發(fā)階段中,也不能把它歸并成相互關(guān)聯(lián)的兩個對象中任一個的屬性。(3)把限定誤當(dāng)成屬性限定是一種特殊的鏈屬性。正確使用限定詞往往可以減少關(guān)聯(lián)的階數(shù)。如果把某個屬性值固定下來以后能減少關(guān)聯(lián)的階數(shù),則應(yīng)該考慮把這個屬性重新表述成一個限定詞。在ATM系統(tǒng)的例子中,“分行代碼”、“賬號”、“雇員號”、“站

33、號”等都是限定詞。(4)誤把內(nèi)部狀態(tài)當(dāng)成了屬性如果某個性質(zhì)是對象的非公開的內(nèi)部狀態(tài),則應(yīng)該從對象模型中刪掉這個屬性。(5)過于細(xì)化在分析階段應(yīng)該忽略那些對大多數(shù)操作都沒有影響的屬性。(6)存在不一致的屬性類應(yīng)該是簡單而且一致的。如果得出一些看起來與其他屬性毫不相關(guān)的屬性,則應(yīng)該考慮把該類分解成兩個不同的類。經(jīng)過篩選之后,得到ATM系統(tǒng)中各個類的屬性,如圖23所示。圖中還標(biāo)出了一些限定詞:“卡號”實際上是一個限定詞。在研究卡號含義的過程中,發(fā)現(xiàn)以前在分析確定關(guān)聯(lián)的過程中遺漏了“分行發(fā)放現(xiàn)金兌換卡”這個關(guān)聯(lián),現(xiàn)在把這個關(guān)聯(lián)補(bǔ)上,卡號是這個關(guān)聯(lián)限定詞。“分行代碼”是關(guān)聯(lián)“分行組成總行”上的限定詞。“

34、賬號”是關(guān)聯(lián)“分行保管賬戶”上的限定詞?!肮蛦T號”是“分行雇用柜員”上限定詞?!罢咎枴笔恰胺中袚碛泄駟T終端”、“柜員終端與分行計算機(jī)通信”及“中央計算機(jī)與ATM通信”等三個關(guān)聯(lián)上的限定詞。中央計算機(jī)擁有通總行總行名卡號f-n分行賬號分行名組成站號遠(yuǎn)程事務(wù)類型H期金新站號一分行代互ATM嵬青叁新'忖出金額1+聲IEli!儲戶|!地址堀員號雇用解入1+輸人發(fā)放保管修改訪向柜員等.務(wù)類型金新現(xiàn)金兌換后密碼擁有一施燈霰軸額型授權(quán)圖23ATM對象模型中的屬性應(yīng)該說明的是,我們討論的ATM系統(tǒng)是一個經(jīng)過簡化后的例子.而不是一個完整的實際應(yīng)用系統(tǒng)。因此,圖23中示出的屬性遠(yuǎn)較實際應(yīng)用系統(tǒng)中的屬性少。

35、在實際過程中,通常要反復(fù)修改,如ATM系統(tǒng)對象模型,修改后可示意為如下,圖24所示。輸入組成事務(wù)日期柜員中纖保砰分行分行名精戶地址雅號班金兌換卡|分行代碼I卡等訪問1+圖2-4修改后的ATM對象模型3、建立動態(tài)模型建立動態(tài)模型的第一步,是編寫典型交互行為的腳本。接下來是從腳本中提取事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標(biāo)對象。第三步,排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們。最后,比較各個對象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配。建立動態(tài)模型時,通常先根據(jù)事件,畫出事件跟蹤圖,再畫出狀態(tài)圖。編寫腳本腳本是指系統(tǒng)在某一執(zhí)行期間內(nèi)出

36、現(xiàn)的一系列事件。腳本描述用戶(或其他外部設(shè)備)與目標(biāo)系統(tǒng)之間的一個或多個典型的交互過程,以便對目標(biāo)系統(tǒng)的行為有更具體的認(rèn)識。編寫腳本的目的,是保證不遺漏重要的交互步驟,有助于確保整個交互過程的正確性和清晰性。下面分別給出參考的ATM系統(tǒng)的正常、異常情況腳本。ATM系統(tǒng)的正常情況腳本ATM請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。ATM接受該卡并讀它上面的分行代碼和卡號。ATM要求儲戶輸入密碼;儲戶輸入自己的密碼“1234”等數(shù)字。ATM請求總行驗證卡號和密碼;總行要求“39”號分行核對儲戶密碼,然后通知ATM說這張卡有效。ATM要求儲戶選擇事務(wù)類型(取款、轉(zhuǎn)賬、查詢等);儲戶選擇“取款”。ATM要求

37、儲戶輸入取款額;儲戶輸入“880”。ATM確認(rèn)取款額在預(yù)先規(guī)定的限額內(nèi),然后要求總行處理這個事務(wù);總行把請求轉(zhuǎn)給分行,該分行成功處理完這項事務(wù)并返回該賬戶的新余額。ATM吐出現(xiàn)金并請儲戶拿走這些現(xiàn)金;儲戶拿走現(xiàn)金。ATM問儲戶是否繼續(xù)這項事務(wù);儲戶回答“不”。ATM打印賬單,退出現(xiàn)金兌換卡,請儲戶拿走它們;儲戶取走賬單和卡。ATM請儲戶插卡。ATM系統(tǒng)的異常情況腳本ATM請儲戶插卡;儲戶插入一張現(xiàn)金兌換卡。ATM接受該卡并順序讀它上面的數(shù)字。ATM要求密碼;儲戶誤輸入“8888”等數(shù)字。ATM請求總行驗證卡號和密碼;總行在向有關(guān)分行咨詢后拒絕這張卡。ATM顯示“密碼錯”,并請儲戶輸入密碼;儲戶

38、輸入“1234”等數(shù)字;ATM請求總行驗證后知道輸入密碼正確。ATM要求儲戶選擇事務(wù)類型;儲戶選擇“取款”。ATM詢問取款額;儲戶改變主意不想取款了,按“取消”。ATM退出現(xiàn)金兌換卡,請儲戶拿走它們;儲戶取走卡。ATM請儲戶插卡。設(shè)想用戶界面大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶界面兩部分。通常,系統(tǒng)分析員首先集中精力考慮系統(tǒng)的信息流和控制流,而不是首先考慮用戶界面。一般來說,不經(jīng)過實際使用是很難評價一個用戶界面的優(yōu)劣的,因此,軟件開發(fā)人員往往常需快速地建立起用戶界面的原型,供用戶試用與評價。故請同學(xué)們參考現(xiàn)有ATM取款機(jī)原型,來設(shè)計用戶界面。畫事件跟蹤圖首先,確定事件應(yīng)該仔細(xì)分析每個腳本,以

39、便從中提取所有外部事件。事件包括系統(tǒng)與用戶(或外部設(shè)備)交互的所有信號、輸入、輸出、中斷、動作等等。從腳本中容易找出正常事件,但是,應(yīng)該小心仔細(xì),不要遺漏異常事件和出錯條件。提示:傳遞信息的對象的動作也事件。如,儲戶插入現(xiàn)金兌換卡、儲戶輸入密碼、ATM吐出現(xiàn)金等都是事件。經(jīng)過分析,應(yīng)該區(qū)分出每個(類)事件的發(fā)送對象和接受對象。其次,畫出事件跟蹤圖確定事件及其發(fā)送對象、接受對象后,就可以用事件跟蹤圖把事件序列以及事件與對象的關(guān)系,形象、清晰地表示出來。事件跟蹤圖實質(zhì)上是擴(kuò)充的腳本。下面給出參考的ATM系統(tǒng)正常情況下的事件跟蹤圖。如圖3-1示。圖31ATM系統(tǒng)正常情況腳本的事件跟蹤圖。畫狀態(tài)圖通常

40、,用一張狀態(tài)圖描繪一類對象的行為,它確定了由事件序列引出的狀態(tài)序列。但是,也不是任何一個類一對象都需要有一張狀態(tài)圖描繪它的行為。很多對象僅響應(yīng)與過去歷史無關(guān)的那些輸入事件.或者把歷史作為不影響控制流的參數(shù)。對于這類對象來說,狀態(tài)圖是不必要的。系統(tǒng)分析員應(yīng)該集中精力僅考慮具有重要交互行為的那些類。要求事務(wù)類型張戶有效輸入類型請求處理分行事務(wù)吐出現(xiàn)金分行事務(wù)成功*請求拿走現(xiàn)金拿走現(xiàn)金請求繼續(xù)此事務(wù)清求拿走卡拿走反插卡要求密碼輸入密碼請求驗證賬戶請求分行驗證賬戶賬戶有效要求輸入取款額請求處理事務(wù)事務(wù)成功印賬單退卡顯示主屏幕ATM輸入取款額從一張事件跟蹤圖出發(fā)畫狀態(tài)圖時,應(yīng)該集中精力僅考慮影響一類對象

41、的事件,也就是說,僅考慮事件跟蹤圖中指向某條豎線的那些箭頭線。把這些事件作為狀態(tài)圖中的有向邊(即箭頭線),邊上標(biāo)以事件名。兩個事件之間的間隔就是一個狀態(tài)。一般說來,如果同一個對象對相同事件的響應(yīng)不同,則這個對象處在不同狀態(tài)。應(yīng)該盡量給每個狀態(tài)取個有意義的名字。通常,從事件跟蹤圖中當(dāng)前考慮的豎線射出的箭頭線,是這條豎線代表的對象達(dá)到某個狀態(tài)時所做的行為(往往是引起另一類對象狀態(tài)轉(zhuǎn)換的事件)。根據(jù)一張事件跟蹤圖畫出狀態(tài)圖之后,再把其他腳本的事件跟蹤圖合并到已畫出的狀態(tài)圖中。為此需在事件跟蹤圖中找出以前考慮過的腳本的分支點(例如“驗證賬戶”就是一個分支點,因為驗證的結(jié)果可能是“賬戶有效”,也可能是“

42、無效賬戶”),然后把其他腳本中的事件序列并入已有的狀態(tài)圖中,作為一條可選的路徑??紤]完正常事件之后再考慮邊界情況和特殊情況,其中包括在不適當(dāng)時候發(fā)生的事件(例如,系統(tǒng)正在處理某個事務(wù)時,用戶要求取消該事務(wù))。有時用戶(或外部設(shè)備)不能做出快速響應(yīng),然而某些資源又必須及時收回,于是在一定間隔后就產(chǎn)生了“超時”事件。對用戶出錯情況往往需要花費(fèi)很多精力處理,并且會使原來清晰的程序結(jié)構(gòu)變得復(fù)雜,但是,出錯處理是不能省略的。當(dāng)狀態(tài)圖覆蓋了所有腳本,包含了影響某類對象狀態(tài)的全部事件時,該類的狀態(tài)圖就構(gòu)造出來了。利用這張狀態(tài)圖可能會發(fā)現(xiàn)一些遺漏的情況。測試完整性和出錯處理能力的最好方法是設(shè)想各種可能情況,多

43、問幾個“如果-則的問題。網(wǎng)絡(luò)響應(yīng)等待網(wǎng)絡(luò)響應(yīng)”中斷do:顯示取消信息L插去可迸的Zs1-(d。,顯示主屏幕,、輸入密I。:要求密碼,大密碼錯|插卡不可讀的一不可讀的卡、do.顯示不可讀卡)(信息/退卡-Ido:退卡:請求拿走卡繼續(xù)結(jié)束d。1打印賬單dj顯示無效賬戶信息取消do1吐出現(xiàn)金;請求拿走現(xiàn)金事務(wù)1佚改失畋侑息圖32ATM類狀態(tài)圖以ATM系統(tǒng)為例?!癆TM”、“柜員終端”、“總行”和“分行”都是主動對象,它們相互發(fā)送事件;而“現(xiàn)金兌換卡”、“事務(wù)”和“賬戶”是被動對象,并不發(fā)送事件?!皟簟焙汀盎竼T”雖然也是動作對象,但是,它們都是系統(tǒng)外部的因素,無須在系統(tǒng)內(nèi)實現(xiàn)它們。因此,只需要考慮“ATM”、“總行”、“柜員終端”和“分行”的狀態(tài)圖。圖32,圖33,圖34,分別是“

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論