安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)_圖文_第1頁(yè)
安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)_圖文_第2頁(yè)
安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)_圖文_第3頁(yè)
安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)_圖文_第4頁(yè)
安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)_圖文_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

1、 第 42卷第 6期 原 子 能 科 學(xué) 技 術(shù) Vol. 42,No. 6 2008年 6月 Atomic Energy Science and Technology J une 2008安全軟件驗(yàn)證與確認(rèn)中的, 北京 100084摘要 :(V &V , 以證明和確認(rèn)執(zhí)行安全功能的軟件自身的安全性和可靠性 。軟件單元測(cè)試是 V &V過(guò)程中的 重要環(huán)節(jié) , 主要目的是驗(yàn)證和確認(rèn)軟件代碼開(kāi)發(fā)過(guò)程中 , 軟件的設(shè)計(jì)轉(zhuǎn)變?yōu)檐浖a是適當(dāng) 、 正確和完 整的 。 本工作初步研究了安全軟件的單元模塊測(cè)試技術(shù) , 著重討論如何保證測(cè)試的完整性 、 建立測(cè)試環(huán) 境 、 建立測(cè)試用例及實(shí)施單元

2、模塊測(cè)試等方面 , 并以某數(shù)字化保護(hù)系統(tǒng)安全軟件單元模塊測(cè)試實(shí)例說(shuō)明 單元模塊測(cè)試的具體過(guò)程 。關(guān)鍵詞 :安全軟件 ; 單元測(cè)試 ; 驗(yàn)證與確認(rèn)中圖分類號(hào) :TL36 文獻(xiàn)標(biāo)志碼 :A 文章編號(hào) :100026931(2008 06205512006T echnique for U nit T estingof Safety Soft w are V erif ication and V alidationL I Duo , ZHAN G Liang 2ju , FEN G J un 2ting(I nstitute of N uclear and N ew Energ y Technolog

3、y , Tsinghua Universit y , B ei j ing 100084, China Abstract :The key issue arising from digitalization of t he reactor p rotection system for nuclear power plant is how to carry o ut verification and validation (V &V , to demonst rate and confirm t he software t hat performs reactor safety f un

4、ctions is safe and reliable. One of t he mo st important processes for software V &Vis unit testing , which verifies and validates t he software coding based o n concept design for consistency , correct ness and completeness during software develop ment. The paper shows a preliminary st udy on t

5、 he technique for unit testing of safety software V &V, focusing on such aspect s as how to confirm test completeness , how to establish test platform , how to develop test cases and how to carry out unit testing. The technique discussed here was successf ully used in t he work of unit testing o

6、n safety software of a digital reactor 狆 狉 狅 狋 犲 犮 狋 犻 狅 狀 狊 狔 狊 狋 犲 犿 .K ey w ords :safety software ; unit testing ; verification and validation收稿日期 :2007201230; 修回日期 :2007203223基金項(xiàng)目 :國(guó)家自然科學(xué)基金資助項(xiàng)目 (10376013作者簡(jiǎn)介 :李 鐸 (1971 , 男 , 遼寧撫順人 , 副研究員 , 博士 , 反應(yīng)堆儀表與控制專業(yè) 核動(dòng)力廠儀表控制系統(tǒng)進(jìn)入了數(shù)字化時(shí) 代 , 如何有效地保證并證明執(zhí)行安全功能的軟

7、 件自身的安全性和可靠性是實(shí)現(xiàn)數(shù)字化必須解 決的關(guān)鍵問(wèn)題 。按照有關(guān)核安全法規(guī)的要求 , 必須通過(guò)獨(dú)立的驗(yàn)證與確認(rèn) (V &V 過(guò)程 , 這是 保證安全軟件質(zhì)量的重要舉措和必要步驟 , 是 對(duì)安全軟件的強(qiáng)制要求 。 安全軟件只有通過(guò)了 獨(dú)立 V &V過(guò)程 , 才能被允許應(yīng)用于核電站的 安全功能 。安全軟件的 V &V命周期 。 , 軟件產(chǎn)品的生個(gè)過(guò)程 , 通常分為軟件需求分析階段 、 設(shè)計(jì)階 段 、 實(shí)現(xiàn)階段 、 系統(tǒng)集成與測(cè)試階段 、 安裝與調(diào) 試階段 、 運(yùn)行與維護(hù)階段 , 在軟件生命周期的每 個(gè)階段均有相應(yīng)的 V &V活動(dòng) 。其中 , 一個(gè)重 要步驟是軟件

8、實(shí)現(xiàn) (Implementation 階段或稱 編碼 (Coding 階段的 V &V。在軟件實(shí)現(xiàn)階 段 , 軟件的設(shè)計(jì)轉(zhuǎn)變?yōu)檐浖a及相關(guān)的機(jī)器 執(zhí)行碼 , 軟件實(shí)現(xiàn)階段 V &V的任務(wù)是驗(yàn)證和 確認(rèn)這種轉(zhuǎn)變是正確 、 完整地 , 保證軟件設(shè)計(jì)說(shuō) 明書(shū)中定義的各個(gè)軟件模塊的功能得到了正確 實(shí)現(xiàn) , 未在編碼中引入錯(cuò)誤 , 要求的編程規(guī)范 、 習(xí)慣和約定在編碼中得到了正確貫徹和落實(shí) 。 軟件實(shí)現(xiàn)階段 V &V的主要目的是 :跟蹤軟件 設(shè)計(jì)和代碼的實(shí)現(xiàn) , 驗(yàn)證產(chǎn)生的代碼是與設(shè)計(jì) 相符合的 ; 發(fā)現(xiàn)設(shè)計(jì)和需求階段的問(wèn)題 (錯(cuò)誤或 含混的描述 導(dǎo)致的軟件錯(cuò)誤 ; 發(fā)現(xiàn)在編碼

9、過(guò)程 中引入的錯(cuò)誤 。 軟件實(shí)現(xiàn)階段 V &V的活動(dòng)包 括對(duì)軟件單元模塊靜態(tài)分析和動(dòng)態(tài)測(cè)試兩部分 內(nèi)容 。 單元測(cè)試是對(duì)軟件基本組成單元逐個(gè)進(jìn) 行的測(cè)試 , 單元測(cè)試必須執(zhí)行白盒測(cè)試 , 關(guān)注的 是軟件單元的具體實(shí)現(xiàn) 、 內(nèi)部的邏輯結(jié)構(gòu) 、 數(shù)據(jù) 流向等 , 不能以僅關(guān)注輸入 、 輸出特性的黑盒測(cè) 試代替 。本工作著重討論安全軟件單元模塊的測(cè)試 技術(shù) , 包括如何保證測(cè)試的完整性 、 建立測(cè)試環(huán) 境 、 建立測(cè)試用例 、 實(shí)施單元模塊測(cè)試的過(guò)程 。1 單元測(cè)試的完整性安全軟件 V &V的單元測(cè)試必須執(zhí)行白盒 測(cè)試 , 要求對(duì)軟件單元的邏輯結(jié)構(gòu)實(shí)現(xiàn)完整的 測(cè)試 。 度量測(cè)試完整性

10、的主要指標(biāo)是測(cè)試覆蓋 率 , 對(duì) 安 全 軟 件 的 單 元 模 塊 測(cè) 試 必 須 達(dá) 到 100%覆蓋率 。覆蓋率的種類很多 , 一種覆蓋率只針對(duì)軟 件代碼的一個(gè)方面 , 各種覆蓋率是不能互相代 替或包含的 1。、 統(tǒng)一的答案 , 須結(jié) 。本工作在安全軟件設(shè)計(jì)中采取了以下措 施 :1 整個(gè)軟件系統(tǒng)采用模塊化設(shè)計(jì) ;2 單元 模塊內(nèi)采用簡(jiǎn)單結(jié)構(gòu) , 沒(méi)有軟件嵌套 ;3 不使 用操作系統(tǒng)支持 , 軟件源代碼完全透明 ;4 不 使用中斷 , 軟件代碼的執(zhí)行流程是完全確定的 。 在這種前提下 , 為滿足測(cè)試完整性要求 , 在單元 測(cè)試中選擇了語(yǔ)句覆蓋 、 分支覆蓋和更改條件 判定覆蓋 。語(yǔ)句覆蓋

11、(Statement Coverage 的含義是 , 在測(cè)試時(shí)設(shè)計(jì)若干測(cè)試用例 , 使程序中的每個(gè) 可執(zhí)行語(yǔ)句至少執(zhí)行 1次 。 當(dāng)測(cè)試用例使語(yǔ)句 覆蓋率達(dá)到 100%時(shí) , 可保證每個(gè)可執(zhí)行語(yǔ)句 均得到測(cè)試 。 語(yǔ)句覆蓋存在 1個(gè)缺點(diǎn) :軟件的 設(shè)計(jì)不可能逐條語(yǔ)句順序執(zhí)行 , 包含很多語(yǔ)句 分支 , 語(yǔ)句覆蓋未反映各個(gè)語(yǔ)句分支的執(zhí)行是 否正確 , 因此 , 需增加分支覆蓋 。分支覆蓋 (Branch Coverage 也稱判定覆 蓋 (Decision Coverage , 它的含義是 , 在測(cè)試時(shí) 設(shè)計(jì)若干測(cè)試用例 , 使程序中的每個(gè)判斷條件 的真 、 假值均曾被滿足 , 從而使每個(gè)判斷至

12、少取 真分支和假分支各執(zhí)行 1次 。 當(dāng)測(cè)試用例使分 支覆蓋率達(dá)到 100%時(shí) , 可保證軟件中的每個(gè) 語(yǔ)句分支均得到測(cè)試 。 分支覆蓋還存在以下不 足 :當(dāng)復(fù)合條件用于控制分支時(shí) , 雖能保證每個(gè) 分支均被測(cè)試 , 但由于一個(gè)特定分支的執(zhí)行是 由兩個(gè)或多個(gè)條件項(xiàng)的組合邏輯值決定的 , 分 支覆蓋可能只測(cè)試了其中的 1種組合 , 而產(chǎn)生 同一邏輯值的其他組合可能未被測(cè)試到 。 可使用判定條件覆蓋 (Decision Condition Coverage 實(shí)現(xiàn)復(fù)合條件的完全測(cè)試 , 其含義 是 , 設(shè)計(jì)足夠多的測(cè)試用例 , 使得判斷中每個(gè)條 件的所有可能值 (為真為假 至少出現(xiàn) 1次 , 且 每

13、個(gè)判斷本身的判定結(jié)果 (為真為假 也至少出255原子能科學(xué)技術(shù) 第 42卷現(xiàn) 1次 。 判定條件覆蓋理論上可實(shí)現(xiàn)復(fù)合條件 的完全測(cè)試 , 但在組合的條件項(xiàng)增加時(shí) , 測(cè)試用 例的增加將呈指數(shù)上升 , 實(shí)際上很難實(shí)現(xiàn)測(cè)試 的 100%覆蓋 , 因此 , 在安全軟件測(cè)試中采用更 改條件判定覆蓋 。更改條件判定覆蓋 (Modified Conditions/Decision Coverage , MC/DC 是判定條件覆蓋 的一個(gè)變體 , 它要求 :1 被測(cè)試程序每個(gè)軟件 分支的入口點(diǎn)和出口點(diǎn)必須至少被走 次 次 ;2 , 的結(jié)果 , 。應(yīng)用分解 邏輯操作可防止測(cè)試用例的指數(shù)增長(zhǎng) , 使軟件 分支判

14、斷式中的復(fù)合條件測(cè)試實(shí)現(xiàn) 100%覆蓋 成為可能 。在安全軟件采用模塊化 、 簡(jiǎn)單結(jié)構(gòu) 、 不使用 中斷等條件下 , 軟件的行為具有確定性 , 在單元 模塊測(cè)試中使用了語(yǔ)句覆蓋 、 分支覆蓋和更改 條件判定覆蓋 3個(gè)覆蓋率指標(biāo) , 即可實(shí)現(xiàn)一個(gè) 安全軟件單元完整的邏輯結(jié)構(gòu)測(cè)試 。2 單元測(cè)試環(huán)境的建立待測(cè)試的軟件單元本身不是一獨(dú)立的程 序 , 并未構(gòu)成一個(gè)完整的可運(yùn)行的軟件系統(tǒng) , 因 此 , 需為它建立一個(gè)測(cè)試環(huán)境 。建立單元測(cè)試 環(huán)境的工作實(shí)際就是開(kāi)發(fā)驅(qū)動(dòng)模塊和樁模塊 。 在大多數(shù)應(yīng)用中 , 驅(qū)動(dòng)模塊只是一個(gè)接收測(cè)試 數(shù)據(jù) , 并把測(cè)試數(shù)據(jù)傳給待測(cè)試模塊 , 然后輸出 相關(guān)結(jié)果的 “ 主程

15、序” 。 樁模塊的功能是替代那 些隸屬于待測(cè)模塊 (被調(diào)用 的子模塊 , 這種樁 模塊可能要使用子模塊的接口 , 才能做一些數(shù) 據(jù)操作 , 并驗(yàn)證輸出結(jié)果的信息 , 然后返回 。 單 元測(cè)試環(huán)境示于圖 1。為一個(gè)單元模塊建立測(cè)試環(huán)境的主要工 作有 :1 建立驅(qū)動(dòng)模塊 , 構(gòu)造最小運(yùn)行調(diào)度系 統(tǒng) , 用以模擬被測(cè)模塊的上一級(jí)模塊 ;2 建立 樁模塊 , 模擬實(shí)現(xiàn)單元接口 , 實(shí)現(xiàn)被測(cè)單元需 調(diào)用的其他函數(shù)接口 ; 3 模擬生成測(cè)試數(shù)據(jù) 或狀態(tài) , 為單元運(yùn)行準(zhǔn)備動(dòng)態(tài)環(huán)境 。然后 , 即 可開(kāi)展測(cè)試并收集測(cè)試結(jié)果數(shù)據(jù) , 形成測(cè)試 報(bào)告 。 在安全軟件的單元測(cè)試中使用了軟件自動(dòng)圖 1testing

16、 scheme測(cè) 試工具 VectorCAST , 運(yùn)行界面示于圖 2, 它 提供的功能可輔助建立 1個(gè)單元測(cè)試環(huán)境 , 包括 :1 分析需要增加的測(cè)試用例 , 以提高測(cè)試 結(jié)果的語(yǔ)句覆蓋 、 分支覆蓋和更改條件判定覆 蓋的覆蓋率 ;2 通過(guò)用戶配置 , 生成必要的驅(qū) 動(dòng)模塊和樁模塊 , 并連接成一個(gè)完整的程序 , 以 實(shí)現(xiàn)測(cè)試用例的運(yùn)行 ;3 自動(dòng)運(yùn)行測(cè)試用例并 采集測(cè)試結(jié)果 , 整理測(cè)試報(bào)告 。圖 2 VectorCAST 的運(yùn)行界面Fig. 2 User interface of VectorCAST3 測(cè)試用例的建立單元模塊測(cè)試的主要工作是為每個(gè)待測(cè)單 元模塊建立測(cè)試用例 , 包括編輯

17、測(cè)試輸入值和 期望輸出值 , 以判斷程序是否正確執(zhí)行了預(yù)定 的功能 ; 同時(shí) , 分析需要設(shè)計(jì)哪些測(cè)試用例 , 以 實(shí)現(xiàn)測(cè)試結(jié)果中語(yǔ)句覆蓋 、 分支覆蓋和更改條 件判定覆蓋的 100%覆蓋率 , 達(dá)到安全軟件邏 輯結(jié)構(gòu)要求的測(cè)試目標(biāo) 。每個(gè)測(cè)試用例的建立是針對(duì)具體的軟件單元模塊進(jìn)行的 , 一般需經(jīng)過(guò)以下步驟 :1 分析 軟件的設(shè)計(jì)說(shuō)明書(shū) , 清楚待測(cè)軟件單元需要完 成的功能 、 測(cè)試輸入值和期望輸出值的取值范 圍 ;2 建立第 1個(gè)測(cè)試用例 , 按軟件正常運(yùn)行 時(shí)的期望值設(shè)計(jì)測(cè)試輸入值 , 運(yùn)行測(cè)試用例 , 以355第 6期 李 鐸等 :安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù)驗(yàn)證待測(cè)軟件可實(shí)現(xiàn)

18、設(shè)計(jì)功能 ;3 結(jié)合軟件流 程圖和軟件源碼分析已建立測(cè)試用例的測(cè)試結(jié) 果 , 建立新的測(cè)試用例 , 以增加測(cè)試覆蓋率 , 新 的測(cè)試用例通過(guò)修改測(cè)試輸入值實(shí)現(xiàn) , 使其執(zhí) 行待測(cè)軟件中某個(gè)期望的語(yǔ)句 、 分支 , 或 1個(gè)分 支中某種期望的組合條件 ;4 因每個(gè)測(cè)試用例 的設(shè)計(jì)目的是為了增加測(cè)試覆蓋率 , 在每個(gè)新 的測(cè)試用例編輯并執(zhí)行測(cè)試后 , 檢查當(dāng)前的測(cè) 試結(jié)果 , 驗(yàn)證是否增加了測(cè)試覆蓋率 ,覆蓋率無(wú)變化 , , 3, 如 圖 2所示為采用 VectorCAST 編輯測(cè)試用例時(shí) 的界面 。4 單元測(cè)試的實(shí)現(xiàn)應(yīng)用上述討論的軟件單元測(cè)試技術(shù) , 在一 個(gè)數(shù)字化保護(hù)系統(tǒng)安全軟件 V &

19、;V的過(guò)程中完 成了單元測(cè)試 , 下面結(jié)合 1個(gè)示例單元模塊的 測(cè)試過(guò)程說(shuō)明安全軟件單元測(cè)試的實(shí)現(xiàn) 。 示例程序 “ get_2_out_of_3.c ” 是保護(hù)系統(tǒng) 邏輯符合單元執(zhí)行 “ 2/3” (三取二 符合運(yùn)算的 函數(shù) , 軟件的源代碼為 :const ERROR =-1;/3get get_2_out_of_3of t hree inp ut data , t he acceptable value of t he result is 0or 1, wit h t he meanings of logic t rip or normal , respectively 3/int ge

20、t_2_out_of_3(int inData1, int inData2, int inData3intmData3;int reData ;/3initiate loval parameters with input data 3/ mData0=inData1;mData1=inData2;mData2=inData3;/32_out_of_3calculation , if t here are no any pair data are equal among inp ut data , ret urn ERROR message 3/if (mData0=mData1reData =

21、mData0;elseif (mData1=mData2reData =mData1;elseif (mData2=mData0reData =mData2;elseret ;/3values , 3/(=0|reData =1ret urn reData ;elseret urn ERROR ;程序流程框圖示于圖 3, 程序完成的功能 為 :1 首先根據(jù)輸入變量初始化 3個(gè)本地變量 mData 0,1,2;2 對(duì) mData 0,1,2中的每?jī)?個(gè)變量逐一比較 , 如果有兩個(gè)變量值相等 , 則存 入待 返 回 變 量 reData , 否 則 , 返 回 ERROR (“ -1” ;3 判斷

22、 reData 結(jié)果是否合適 (值為 “ 0” 或 “ 1” , 如果合適 , 則返回 reData , 否則 , 返 回 ERROR (“ -1” 。為實(shí)現(xiàn)函數(shù) “ get _2_out_of_3” 測(cè)試 , 應(yīng)用 VectorCAST 工具輔助建立軟件測(cè)試環(huán)境 , 工 作步驟如下 :1 設(shè)置待測(cè)函數(shù)的編譯環(huán)境 , 使 它與軟件 “ get_2_out_of_3.c ” 在生成最終產(chǎn)品 時(shí)應(yīng)用的編譯環(huán)境一致 ;2 函數(shù) “ get_2_out_of _3” 沒(méi)有對(duì)其它函數(shù)的調(diào)用 , 不需要建立樁模 塊 ;3 VectorCAST 能自動(dòng)生成驅(qū)動(dòng)模塊 , 并 與待測(cè)函數(shù) “ get _2_ou

23、t_of_3” 連接 , 準(zhǔn)備執(zhí)行 測(cè)試用例 ;4 建立并編輯測(cè)試用例 , 由 Vector 2 CAST 自動(dòng)執(zhí)行 , 記錄測(cè)試結(jié)果 。軟件測(cè)試的 主要工作是逐個(gè)編輯測(cè)試用例 。 在本示例程序 中 , 測(cè)試輸入值是 3個(gè)整數(shù) , 期望輸出值是 3個(gè) 數(shù)的 “ 2/3” 結(jié)果 (“ 0” 或 “ 1” , 遇到錯(cuò)誤時(shí)輸出 ERROR (“ -1” 。下面分析需要為示例程序設(shè)計(jì)哪些測(cè)試用 例 。 如圖 3所示 , 示例程序的代碼流程中有 4個(gè)分支點(diǎn) , 需要設(shè)計(jì)測(cè)試用例使每個(gè)分支點(diǎn)取 真 (T 、 取假 (F 各 1次 ; 同時(shí) , 分支點(diǎn) 是復(fù)合 條件判斷 , 需要使每個(gè)判斷條件 (reDat

24、a =0和 reData =1 取真 (T 、 取假 (F 各 1次 。因 此 , 設(shè)計(jì)了 5個(gè)測(cè)試用例 , 每個(gè)測(cè)試用例的內(nèi)容 和測(cè)試的分支點(diǎn)總結(jié)列于表 1。455原子能科學(xué)技術(shù) 第 42卷圖 3 示例程序流程框圖Fig. 3 Flow diagram of example program 測(cè)試用例建立并編輯完成后 (編輯界面見(jiàn) 圖 2 ,VectorCAST 可自動(dòng)依次執(zhí)行每個(gè)測(cè)試 用例 。在測(cè)試用例執(zhí)行過(guò)程中 , VectorCAST 檢查單元模塊的實(shí)際輸出結(jié)果是否與期望值一 致 , 統(tǒng)計(jì)執(zhí)行每個(gè)測(cè)試用例時(shí)的軟件覆蓋情況 , 并生成 ht ml 格式的測(cè)試結(jié)果報(bào)告 。如果測(cè)試 用例中存在

25、設(shè)計(jì)輸出值與期望值不符 , 則說(shuō)明 該單元模塊代碼存在功能錯(cuò)誤 ; 如果測(cè)試結(jié)果 未實(shí)現(xiàn) 100%覆蓋 , 則說(shuō)明對(duì)該單元模塊的邏 輯結(jié)構(gòu)沒(méi)有實(shí)現(xiàn)完全測(cè)試 。表 1 示例程序的測(cè)試用例設(shè)計(jì)T able 1 T esting case design for example program序號(hào)測(cè)試用例Data0Data1Data2返回測(cè)試的分支點(diǎn) reData =0reData =11012-1F F F -21011F F T T F T 3212-1F F T F F F 40111F T -T F T 50010T -T T F 執(zhí)行上述測(cè)試用例的測(cè)試報(bào)告為 : Code Coverage

26、for U nit :get_2_out_of_3 Coverage Type :level_aTest Case :Aggregateconst ERROR =-1;/3get_2_out_of_3of t hree inp ut data , t he acceptable value of t he result is 0or 1, wit h t he meanings of logic t rip or normal , respectively 3/int get_2_out_of_3(int inData1, int inData2, int inData3intmData3;5

27、55第 6期 李 鐸等 :安全軟件驗(yàn)證與確認(rèn)中的單元模塊測(cè)試技術(shù) 556 int reData ; / 3 initiate loval parameters with input data 3 / 10 11 12 13 ( T get_2_o ut_of_3 15 16 1 6. 1 17 18 1 8. 1 19 1 11 3 reData = mData 1 ; ( T ( F el se if ( ( ( T ( F el se 3 3 reData = mData 0 ; ( T ( F else if ( ( ( T ( F reData = mData 2 ; 1 13. 2 1 14 1 16 ( T ( F 3 el se 原子能科學(xué)技術(shù) 42卷 第 reData = 1 ret urn reData ; / 3 2_o ut_of_

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論