




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Sonar參數(shù)分析API compatibility1. API behavior changes-Clirr Plugin正常接口變化數(shù)2. API breaks-Clirr Plugin可能引發(fā)錯誤的接口變化3. New API-Clirr Plugin新增接口數(shù)4. Total API Changes-Clirr Plugin接口變化總數(shù)注:以上參數(shù)需要依賴于Clirr,暫時仍存在問題Architecture5. Architecture- Total Quality Plugin架構(gòu)質(zhì)量計算方式:ARCH = 100 TITI = Tangle Index6. Architecture Tangle Index- Total Quality Plugin架構(gòu)復(fù)雜指標Complexity7. Complexity默認復(fù)雜度8. Complexity /class默認類復(fù)雜度9. Complexity /file默認文件復(fù)雜度10. Complexity /method默認方法復(fù)雜度11. Complexity Factor- Quality Index Plugin復(fù)雜度因素計算方式:CF = (5 * Complexity30) * 100 / (Complexity1 + Complexity10 + Complexity20 + Complexity30)12. Complexity Factor Methods- Quality Index Plugin方法復(fù)雜度因素13. QI Complexity-Quality Index Plugin復(fù)雜度質(zhì)量指標計算方式:(Complexity30 *10 + Complexity20 * 5 + Complexity10 * 3 + Complexity1) / validLinesDesign14. Design Classes and Methods Complexity- Total Quality PluginNOM = (1 - (class_complexity - 12) / (acel * 12) * 50 + (1 - (method_complexity - 2.5) / (acel * 2.5) * 50 參見1915. Design Coupling Between Objects- Total Quality PluginCBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100 參見1916. Design Depth of Inheritance Tree- Total Quality PluginDIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5) * 100 參見1917. Design Lack of Cohesion of Methods- Total Quality PluginLCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100 參見1918. Design Response for Class- Total Quality PluginRFC = (1 - (response_for_class - 50) / (acel * 50) * 100 參見1919. Design Quality- Total Quality Plugin設(shè)計質(zhì)量計算方式:DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DIT NOM = (1 - (class_complexity - 12) / (acel * 12) * 50 + (1 - (method_complexity - 2.5) / (acel * 2.5) * 50 LCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100 RFC = (1 - (response_for_class - 50) / (acel * 50) * 100 CBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100 DIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5) * 100Acel參數(shù)因子的值可以在Sonar setting頁面配置。每一個度量標準的默認闕值也可以進行配置(例如,50是response_for_class的默認閾值)。20. LCOM4(Lack of cohesion of methods)用來說明class內(nèi)部方法和變量之間的關(guān)系, 值越大, 說明內(nèi)聚性越差. 一般情況下 LCOM4=1是內(nèi)聚性最佳的. 2說明可以拆成兩個類, 以此類推.但是這種測量對門面服務(wù)類來說不適用. 有時候很小的類也會根據(jù)需要合并在一起, 盡管關(guān)聯(lián)不大21. Package tangle index包復(fù)雜指數(shù)此參數(shù)為包的復(fù)雜等級,最好的值為0%,意味著包之間沒有圈依賴;最差的值為100%,意味著包與包之間的關(guān)系特別的復(fù)雜。該指數(shù)的計算公式:2 * (package_tangles / package_edges_weight) * 100.22. RFC(Response for Class)通過檢查一個方法被調(diào)用的情況來反映一個class的復(fù)雜程度. 也可以簡單的理解為一個類所包含的方法多寡.23. Suspect LCOM4 densityLCOM4密度值Documentation24. Comment linesJavadoc、多行注釋、單行注釋的總數(shù)??兆⑨屝?、頭文件中的注釋(主要用于定義許可證)以及commented-out行均不會包括在內(nèi)。25. Commented-out LOC注釋掉的代碼行數(shù)。Javadoc塊不會被掃描26. Comments (%)注釋行數(shù)/(注釋行數(shù)+有效代碼行數(shù))27. Public documented API (%)添加注釋的公有API占總的公有API的百分比28. Public undocumented API公有API未添加注釋個數(shù)Duplication29. DRYness - Total Quality PluginDRYNESS = 100 - Duplicated lines density30. Duplicated blocks重復(fù)塊數(shù)31. Duplicated files重復(fù)文件數(shù)32. Duplicated lines重復(fù)行數(shù)33. Duplicated lines (%)重復(fù)行占總行數(shù)的百分比34. Useless Duplicated Lines-Useless Code Tracker無用的重復(fù)行數(shù);當前的Sonar告訴你有50重復(fù)的行數(shù),但是不能告訴你是有兩塊25行的代碼重復(fù)(這樣你可以節(jié)省25行代碼)還是有5塊10行(這樣你可以節(jié)省40行代碼)的代碼重復(fù);通過這個插件,你可以獲取到額外的信息。General35. Analysability Value- SIG Maintainability Model可理解性請查看37指標后的詳細介紹36. Changeability Value- SIG Maintainability Model可擴展性37. Stability Value- SIG Maintainability Model穩(wěn)定性38. Testability Value- SIG Maintainability Model可測試性可維護性可通過7個質(zhì)量特性來衡量:可理解性可測試性可修改性可靠性可移植性可使用性效率這個插件標示了一個Software Improvement Group(SIG)可維護性模型這個模型需要兩步: 計算基數(shù)的指標,然后結(jié)合他們計算出更高層面上的數(shù)值。每一個指標被分成5級別排名:從-(很糟糕)到+(非常好)第一步加上基數(shù)的指標。Volume: 基于代碼的行數(shù)RankLOC - 1310000- 6550000 246000+ 66000+ 0 Duplications: 基于代碼重復(fù)的密度RankDuplication- 20%- 10%0 5%+ 3%+ 0% Unit tests: 基于單元測試覆蓋率RankCoverage+ 95% + 80%0 60%- 20%- 0%Complexity:基于方法的圈復(fù)雜度第一步根據(jù)圈復(fù)雜度的范圍確定在方法代碼行中的百分比。Eval Complexity Very high 50 High 20 Medium 10 Low 0 然后根據(jù)分布,我們使用下面的表格來計算等級:Rank Medium High Very High + 25% 0% 0% + 30% 5% 0% 0 40% 10% 0% - 50% 15% 100High 50 Medium 10 Low 0 然后根據(jù)分布,使用下面的表格來計算等級:Rank Medium High Very High + 25% 0% 0% + 30% 5% 0% 0 40% 10% 0% - 50% 15% 5% 否則等級為-第二步是通過一個簡單的平均,將他們結(jié)合起來,使用以下映射表來確定最終等級.VolumeComplexityDuplicationsUnit sizeUnit testsanalysabilitychangeabilitystabilitytestability因此4個代表軟件可維護性四維的先進指標??蛇x項,通過將4個指標簡單的結(jié)合在一塊,可以得到可維護性排名。需要注意的是,圖表的顏色代表實際結(jié)合后的值,從紅色=-到綠色=+.39. Profile version未知未知40. Quality Index- Quality Index Plugin計算方式:QI = 10 - 4.5 * coding - 2 * complexity - 2 * coverage -1.5 * style41. SIG MM- SIG Maintainability ModelSIG可維護性模型,參考3742. Technical Debt ($)-Technical Debt Plugin清除所有技術(shù)債務(wù)需要的花費43. Technical Debt in days-Technical Debt Plugin需要多少人日去解決技術(shù)債務(wù)44. Technical Debt ratio-Technical Debt Plugin技術(shù)債務(wù)占整個項目的比例45. Total Quality- Total Quality Plugin總體質(zhì)量計算方式:TQ= 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*TSManagement46. Burned budget燃盡預(yù)算47. Business value商業(yè)價值48. Team size團隊規(guī)模注:以上變量為手動輸入變量,另外這里可以添加一些自定義的變量Rules49. Blocker violations阻礙性違規(guī)50. Code Quality- Total Quality Plugin代碼質(zhì)量計算方式:Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESS DOC = Documented API density RULES = Rules compliance index DRYNESS = 100 - Duplicated lines density51. Critical violations嚴重違規(guī)52. Dead Code- Useless Code Tracker無作用程序代碼53. Info violations建議級別違規(guī)54. Major violations重要違規(guī)55. Minor violations次要違規(guī)56. Potential Dead Code- Useless Code Tracker當前代碼中未使用的protected方法數(shù)目;此參數(shù)可通過PMD :UnusedProtectedMethod或者SQUID:UnusedProtectedMethod獲取到。計算他們行數(shù)的和值。57. QI Coding Violations-Quality Index Plugin代碼違規(guī)質(zhì)量指標(PMD規(guī)則指數(shù))計算方式:(Blocker * 10 + Critical * 5 + Major * 3 + Minor + Info) / validLines58. QI Coding Weighted Violations-Quality Index Plugin代碼違規(guī)權(quán)重指標59. QI Style Violations-Quality Index Plugin風(fēng)格違規(guī)質(zhì)量指標(CheckStyle規(guī)則指數(shù))計算方式:Style = (Errors*10 + Warnings) / ValidLines * 10QI = 10 - 4.5 * coding - 2 * complexity - 2 * coverage -1.5 * style60. QI Style Weighted Violations-Quality Index Plugin風(fēng)格違規(guī)權(quán)重質(zhì)量指標61. Rules compliance遵守規(guī)則率62. Security rules compliance- Security Rules PluginSecurity規(guī)則遵守率63. Security violations- Security Rules Plugin符合Security規(guī)則數(shù)目64. Violations違規(guī)總數(shù)65. Weighted Security Violations- Security Rules PluginSecurity規(guī)則權(quán)重值(總數(shù))Size66. AccessorsGetter及setter方法的數(shù)量 / Getterspublic String getName()return ;public boolean isParent()return this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)this.isParent = isParent;67. Artifact Size (Kb)- Artifact Size Plugin記錄最終產(chǎn)品大小68. Classes類總數(shù)69. Files文件數(shù)70. Lines文件中行數(shù)71. Lines of code代碼行數(shù)72. Methods方法數(shù)目73. Packages包數(shù)目74. Public API公共類、公共方法(不包括訪問器)以及公共屬性(不包括public final static類型的)的數(shù)目。75. StatementsJava語言規(guī)范中沒有塊定義的語句數(shù)目;此數(shù)目在遇到含有if, else, while, do, for, switch, break, continue, return, throw, synchronized, catch, finally等關(guān)鍵字的語句時增加。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else trywhile(true)for(.).語句數(shù)目不會隨著以下情況增加,類、方法、字段、注釋定義、包以及import定義。76. Total Useless Code- Useless Code Tracker可以刪除的代碼行數(shù)Tests77. Coverage覆蓋率78. Line coverage行覆蓋率79. QI Test Coverage-Quality Index Plugin測試覆蓋率質(zhì)量指標80. Skipped unit tests忽略的單元測試數(shù)81. Testing Quality- Total Quality Plugin測試質(zhì)量計算方式:Test = 0.80*COV + 0.20*SUC COV = Code coverage SUC = Unit Tests success density82. Uncovered lines未覆蓋行數(shù)83. Unit test errors單元測試出錯數(shù)84. Unit test failures單元測試失敗數(shù)85. Unit test success (%)單元測試成功率86. Unit tests單元測試個數(shù)87. Unit tests duration單元測試需要的時間SCM88. CommitsSVN庫總的提交數(shù)89. Last commit最近的一次提交時間SQALE90. SQALE RatingSQALE(Software Quality Assessment based on Lifecycle Expectations)評級;基于生命周期期望的軟件質(zhì)量模型91. SQALE Remediation CostSQALE整治成本附錄92. Sonar插件插件名稱插件介紹度量參數(shù)ABAPABAP項目插件Artifact Size衡量項目產(chǎn)品的大小Artifact Size (Kb)Branding允許添加Logo到Sonar界面上Build Breaker在有一個警報閾值滿足時,停止分析處理CC項目插件C RulesC規(guī)則插件Clirr檢查Java庫二進制文件及源代碼與之前版本的兼容性API behavior changesAPI breaksNew APITotal API ChangesClover通過Atlassian Clover(收費)獲取覆蓋率CobolCobol項目插件CrowdAtlassian Crowd在Sonar上的認證委托Email分析報告可通過Email進行傳輸EmmaEmma是替代Clover和Cobertura測量單元測試代碼覆蓋率的工具FlexActionScript項目插件French Pack法語包Google Calendar將Google日歷集成到SonarGreenPepper收集GreenPepper Maven plugin提供的測試報告到Sonar上GroovyGroovy項目插件JMeter在Sonar上展示JMeter測試結(jié)果JaCoCoJaCoCo是替代Clover和Cobertura測量單元測試代碼覆蓋率的工具JavaScriptJavaScript項目插件Jira從Jira服務(wù)中收集項目缺陷的數(shù)目LDAPLDAP在Sonar上的認證委托Mantis從Mantis BugTracker中檢索項目缺陷的個數(shù)Motion Chart顯示一組指標隨著時間的演變(需要接入互聯(lián)網(wǎng))NaturalNatural項目插件PAM允許Sonar在*nix box上使用PAM認證PDF ReportPDF報告插件PHPPHP項目插件PL/SQLPL/SQL項目插件Quality Index根據(jù)編碼規(guī)范、樣式、復(fù)雜度、覆蓋率計算一個全局的質(zhì)量指標QI Test CoverageQI Style Weighted ViolationsQI Style ViolationsQI Coding Weighted ViolationsQI Coding ViolationsComplexity FactorComplexity Factor MethodsQI ComplexityQuality IndexRadiator使用treemap顯示度量指標SCM Activity從SCM收集和報告信息。CommitsLast commitSIG Maintainability ModelSIG可維護性模型接口SIG MMTestability ValueStability ValueChangeability ValueAnalysability ValueSecurity Rules檢測一組已定義的安全規(guī)則Weighted Security ViolationsSecurity violationsSecurity rules complianceSonar Cutoff Plugin通過日期排除要分析的文件;所有從最后修改時間到配置的截止時間之內(nèi)的源文件都被排除在外。當你需要分析在現(xiàn)有代碼基礎(chǔ)上新增代碼或修改時,這可能是有用的。這種方式對于以前各階段的分析不會影響分析結(jié)果。Sonar Piwik PluginPiwik(/)是一個開源的可替換Google Analytics來使用的網(wǎng)絡(luò)分析軟件,特別是在內(nèi)部網(wǎng)站。Piwik插件可以將Sonar上個人瀏覽活動的記錄提交到Piwik服務(wù)器。Sonargraph通過循環(huán)依賴及其他架構(gòu)方面的指標提供架構(gòu)改進功能SQALE基于生命周期期望的軟件質(zhì)量評估SQALE Remediation CostSQALE RatingSpanish Pack西班牙包Switch Off Violations關(guān)閉違規(guī)檢查Taglist分析代碼中像TODO或者/TODO的標記Technical Debt以美元計算修復(fù)源代碼中所有質(zhì)量問題所需要的工作量Technical Debt ratioTechnical Debt in daysTechnical Debt ($)Timeline高級時間機器(time machine)圖表(需要連入互聯(lián)網(wǎng))Total Quality將代碼質(zhì)量、設(shè)計、架構(gòu)及測試質(zhì)量結(jié)合在一塊提供項目的整體質(zhì)量度量Testing QualityCode QualityTotal QualityDrynessDesign QualityDesign Response for ClassDesign Lack of Cohesion of MethodsDesign Depth of Inheritance TreeDesign Coupling Between ObjectsDesign Classes and Methods ComplexityArchitecture Tangle IndexArchitectureTrac從Trac中檢索和報告項目問題Useless Code Tracker查找項目內(nèi)重復(fù)源代碼Total Useless CodePotential Dead CodeDead CodeUseless Duplicated LinesViews創(chuàng)建項目的樹狀圖,項目按照應(yīng)用程序進行分類,應(yīng)用程序按照小組來進行分類,小組按照部門進行分類Visual BasicVisual Basic項目插件Web分析Web代碼Xml分析XML和XHTML文檔fb-contrib新的FindBugs規(guī)則Checkstyle使用Checkstyle 5.1分析Java代碼Cobertura使用Cobertura.獲取覆蓋率Core提供覆蓋到所有語言的通用組件Database Cleaner清除舊的或無用的數(shù)據(jù),來提高數(shù)據(jù)庫性能Design分析Java字節(jié)碼來計算O.O.度量值并提取資源之間的依賴關(guān)系Duplications查找項目中重復(fù)的源代碼Email notificationsEmail通知English Pack英語包Findbugs使用Findbugs 1.3.9分析Java代碼Google analytics將Google Analytics跟蹤腳本添加到Sonar應(yīng)用程序PMD使用PMD 4.2.5分析Java代碼Squid for JavaSquid分析JavaSurefire使用Surefire獲取單元測試結(jié)果93. Sonar幫助文檔中的度量值度量是Sonar的核心,有效的使用Sonar,需要完全了解每個參數(shù)的定義和計算方式。NameKeyDescriptionPhysical lineslines回車數(shù)目Comment linescomment_lines Javadoc、多行注釋、單行注釋的總數(shù)。空注釋行、頭文件中的注釋(主要用于定義許可證)以及commented-out行均不會包括在內(nèi)。/* This is a javadoc block*- empty comment line considered as a blank line*/ - empty comment line considered as a blank line/* This is a multi-comment block*/ This is a single-comment block/ log(Debug information); - commented-out line of code is not a comment lineCommented-out lines of codecommented_out_code_lines注釋掉的代碼行數(shù)。Javadoc塊不會被掃描/* someoneCommentMeOutOneDay();* nobodyKnowWhatAmISupposedToDo();*/Lines of codenclocphysical lines - blank lines - comment lines - header file comments - commented-out lines of codeDensity of comment linescomment_lines_densitycomment lines / (lines of code + comments lines) * 100%Packagespackages包數(shù)目Classesclasses類的數(shù)目,包括內(nèi)部類、接口、枚舉及注釋標簽Filesfiles分析的文件數(shù)目Directoriesdirectories分析的目錄數(shù)目AccessorsaccessorsGetter及setter方法數(shù)目,通過get(reading)或set(writing)一個類屬性/ Getterspublic String getName()return ;public boolean isParent()return this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)this.isParent = isParent;MethodsFunctions方法數(shù)目,不包括訪問器。一個構(gòu)造函數(shù)算作一個方法Public APIpublic_api公共類、方法(不包括訪問器)以及屬性(不包括public final static修飾的屬性)Public undocumented APIpublic_undocumented_api不包含javadoc塊的公共API數(shù)目Density of public documented APIpublic_documented_api_density(public API - undocumented public API) / public API * 100%Duplicated linesduplicated_lines重復(fù)的物理行數(shù)Duplicated blocksduplicated_blocks重復(fù)的代碼塊數(shù)Duplicated filesduplicated_files涉及到重復(fù)代碼的文件數(shù)目Density of duplicated linesduplicated_lines_densityDuplicated lines / Physical lines * 100%StatementsstatementsJava語言規(guī)范中沒有塊定義的語句數(shù)目;此數(shù)目在遇到含有if, else, while, do, for, switch, break, continue, return, throw, synchronized, catch, finally等關(guān)鍵字的語句時增加。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else trywhile(true)for(.).語句數(shù)目不會隨著以下情況增加,類、方法、字段、注釋定義、包以及import定義。Complexitycomplexity圈復(fù)雜度也被稱為McCabe度量。它簡單歸結(jié)為一個方法中if , for , while等塊的數(shù)目。當一個方法的控制流分割,圈計數(shù)器加1.除不被認為是方法的訪問器外,每個方法默認有最小的值1,所以不會增加復(fù)雜度。對于以下的每一個java關(guān)鍵字/語句,圈復(fù)雜度均會加1:ifforwhilecasecatchthrowreturn (當不是一個方法最好一個語句時)&|?注意else, default及finally不會增加CCN的值。另一方面,一個含switch語句及很大塊case語句的簡單方法可以擁有一個令人驚訝的高的CCN值(同時,當將switch塊轉(zhuǎn)化為等效的if語句時,它具有相同的CCN值)。例如,下面的方法具有5的復(fù)雜度。public void process(Car myCar) - +1 if(myCar.isNotMine() - +1 return; - +1 car.paint(red); car.changeWheel(); while(car.hasGazol() & car.getDriver().isNotStressed() - +2 car.drive(); return;Average complexity by methodfunction_complexity方法的平均圈復(fù)雜度Complexity distribution by methodfunction_complexity_distribution方法復(fù)雜度的分布Average complexity by classclass_complexity類的平均圈復(fù)雜度Complexity distribution by classclass_complexity_distribution類復(fù)雜度的分布Average complexity by filefile_complexity文件平均復(fù)雜度Violationsviolations違規(guī)總數(shù)New Violationsnew_violations新的違規(guī)數(shù)目xxxxx violationsxxxxx_violationsXxxxx級別違規(guī)的數(shù)目,xxxxx為阻礙、嚴重、主要、次要和建議New xxxxx violationsnew_xxxxx_violations新的Xxxxx級別違規(guī)的數(shù)目,xxxxx為阻礙、嚴重、主要、次要和建議Weighted violationsweighted_violations通過每個級別的相關(guān)系數(shù),違規(guī)權(quán)重的總和(Sum(xxxxx_violations * xxxxx_weight))Rules compliance indexviolations_density100 - weighted_violations / Lines of code * 100Unit testsTests單元測試數(shù)目Unit tests durationtest_execution_time執(zhí)行單元測試的時間Unit test errortest_errors單元測試發(fā)生錯誤的數(shù)目Unit test failurestest_failures單元測試以不符合預(yù)期的異常失敗Unit test success densitytest_success_density(Unit tests - (errors + failures)/ Unit tests * 100Skipped unit testsskipped_tests跳過的單元測試數(shù)目Line Coverageline_coverage行覆蓋率Line coverage = LC / EL其中LC 覆蓋的行數(shù) (lines_to_cover - uncovered_lines)EL 可執(zhí)行的代碼行數(shù) (lines_to_cover)New Line Coveragenew_line_coverage新代碼或更新代碼的行覆蓋率Branch coveragebranch_coverage分支覆蓋率Branch coverage = (CT + CF) / (2*B)其中CT 條件至少一次為“true”的分支CF 條件至少一次為“false”的分支(CT + CF = conditions_to_cover - uncovered_conditions) B 分支的總數(shù)量 (2*B = conditions_to_cover)New Branch Coveragenew_branch_coverage新的或更新代碼的分支覆蓋率Coveragecoverage覆蓋率coverage = (CT + CF + LC)/(2*B + EL) 其中CT -條件至少一次為“true”的分支CF -條件至少一次為“false”的分支LC -覆蓋的行數(shù)(lines_to_cover - uncovered_lines) B -分支的總數(shù)量(2*B = conditions_to_cover)EL 可執(zhí)行代碼的總行數(shù) (lines_to_cover)New Coveragenew_coverage新的或更新代碼的覆蓋率Conditions to Coverconditions_to_cover單元測試覆蓋的條件總數(shù)New Conditions to Covernew_conditions_to_cover新的或更新代碼的條件覆蓋數(shù)Lines to Coverlines_to_cover單元測試覆蓋的代碼的行數(shù)New Line
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國PE印刷掛鉤袋數(shù)據(jù)監(jiān)測報告
- 2025年中國DVD衛(wèi)星接收機數(shù)據(jù)監(jiān)測報告
- 2025年中國8寸高清屏液晶顯示器數(shù)據(jù)監(jiān)測報告
- 2025年中國18.9升飲用水桶拋光機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國高溫過濾布市場分析及競爭策略研究報告
- 2025至2030年中國防水工作服裝市場分析及競爭策略研究報告
- 2025至2030年中國鋼絲吊件市場分析及競爭策略研究報告
- 2025至2030年中國貨位式貨架市場分析及競爭策略研究報告
- 2025至2030年中國腦脈寧片市場分析及競爭策略研究報告
- 2025至2030年中國管箍伸縮節(jié)市場分析及競爭策略研究報告
- 規(guī)劃竣工面積測量與實測收費
- 如何面對青春期叛逆心理
- 答題卡的正確使用方法專題培訓(xùn)課件
- 空調(diào)驗證方案
- 國際貿(mào)易地理教材課件匯總完整版ppt全套課件最全教學(xué)教程整本書電子教案全書教案課件合集
- 電機振動測定方法及限值振動測定方法
- 各類給水管材水力計算表
- 濟南遙墻機場擴建工程航站樓建設(shè)監(jiān)理大綱
- 七年級上冊數(shù)學(xué)知識點總結(jié)及精編例題1
- 往生薦亡功德文疏
- 心內(nèi)科高危藥物安全管理與指引
評論
0/150
提交評論