




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)報表輔助系統(tǒng)的開發(fā)摘要現(xiàn)在報表的運用日益廣泛,企業(yè)對報表的需求也逐日增長,能否快速開發(fā)出準確的報表并方便客戶的查看也成了大家關(guān)心的問題。本課題研究的是報表開發(fā)過程中方便數(shù)據(jù)導(dǎo)入導(dǎo)出及報表查看的系統(tǒng),采用的工具為MyEclipse8.5+Tomcat6.0+Firefox。系統(tǒng)分為兩部分,一部分完成數(shù)據(jù)管理功能,采用的技術(shù)為JSP+Servelet+Jdbc,另一部分完成報表的管理功能。采用的技術(shù)為Extjs+SSI框架技術(shù)。在IE9,火狐以及谷歌上都可以正常運行,運行后會先進入一個主界面,從主界面可以進入到相應(yīng)的功能模塊進行報表的上傳,管理以及查看,也可以對數(shù)據(jù)庫里面的數(shù)據(jù)進行
2、導(dǎo)入導(dǎo)出管理。關(guān)鍵字:報表,Birt,報表管理,數(shù)據(jù)管理AbstractNow the use of report increasingly widespread, the enterprise demand for report is growing day by day, and developing accurate reporting quickly and convenient for customer to view also became a concern proble for many developer.This topic research is convenient i
3、n the process of report development of import and export data and report to check the system, using tools for MyEclipse8.5 + Tomcat6.0 + Firefox.System is divided into two parts, part of the complete data management function, using the technology of JSP + Servelet + Jdbc, another part of the complet
4、e report management functions.Using the technology of Extjs+SSI.In Internet explorer, firefox and Google can run normally, after the operation will be into a main interface, can enter from the main interface to the corresponding function module to upload report management and view, also can undertak
5、e import and export of the inside of the database data management.Key words: Report, Birt ,Report Manage,Data Manage 目錄摘要 Abstract1引言1.1課題背景意義 11.2報表介紹 11.3國內(nèi)外現(xiàn)狀分析 22系統(tǒng)分析 2.1可行性分析 32.2需求分析 33概要設(shè)計 44數(shù)據(jù)庫設(shè)計 55詳細設(shè)計及系統(tǒng)實現(xiàn) 5.1架構(gòu)搭建 65.2命名規(guī)則 95.3模塊設(shè)計 96系統(tǒng)測試6.1軟件測試基礎(chǔ)理論176.2軟件測試目的176.3軟件測試方法分類176.4報表輔助系統(tǒng)測試196.
6、5測試報告216.6軟件安裝227 總結(jié) 23致謝 24參考文獻 251 引言1.1課題背景意義報表是信息管理,決策支持等系統(tǒng)必不可少的一項最基本但又最重要的內(nèi)容。因為管理和使用信息,不僅僅是為了瀏覽和查詢,還有更重要的內(nèi)容:通過這些信息來提取和反映出更重要的內(nèi)容,報表以特定的格式向用戶反映高度濃縮的數(shù)據(jù),使用戶能夠更清晰的看出繁雜的內(nèi)容中更深刻更有價值的東西,為其決策提供支持。而這些有價值的信息的載體就是報表。隨著信息技術(shù)的廣泛應(yīng)用,電子政務(wù)、電子商務(wù)得到迅猛發(fā)展,數(shù)據(jù)的采集、傳輸、展示、交互、安全等問題顯得越來越重要。報表作為一種信息組織和分析的有力手段,是電子政務(wù)、商務(wù)智能、企業(yè)信息系統(tǒng)
7、的重要組成部分,是進行信息瀏覽、分析、輸出的有利工具。隨著Internet技術(shù)的推廣和企業(yè)信息化程度的提高,越來越多的報表應(yīng)用將在Web環(huán)境下開發(fā)和運行。而報表最大的用途就是直觀的展示數(shù)據(jù),所以充足的數(shù)據(jù)是報表開發(fā)的前提,而報表輔助系統(tǒng)就是方便報表的開發(fā)及查看而設(shè)計的系統(tǒng)。它主要分為兩部分,其中一部分用于開發(fā)人員導(dǎo)入測試數(shù)據(jù),另一部分用于客戶查看報表。1.2報表介紹在用計算機管理和處理信息之前,人們都是利用手工的方式來得到想要的數(shù)據(jù)和結(jié)果。當計算機出現(xiàn)之后,人們利用計算機處理數(shù)據(jù)和界面設(shè)計的功能來生成、展示報表。計算機上的報表的主要特點是數(shù)據(jù)動態(tài)化,格式多樣化,可以說,具有了上面公式中報表的特
8、征,就可以稱之為報表。從報表的格式和樣式來說,報表可以分為固定格式報表和可變格式報表。所謂固定格式報表就是它的樣式,字體甚至每一個符號的位置必須是嚴格規(guī)定,不可改變的。比如則務(wù)報表、專用票據(jù)等等就是這類報表。而另外一類更注重數(shù)據(jù)的內(nèi)容和結(jié)果的報表,在決策支持系統(tǒng)中,這種報表就更常見,因為能夠快速提供準確的統(tǒng)計數(shù)據(jù)比樣式更加重要。從報表的實現(xiàn)方式來分,可分為設(shè)計時報表和運行時報表,也就是通常所說的靜態(tài)報表和動態(tài)報表。靜態(tài)報表就是在程序設(shè)計階段就將報表所要表現(xiàn)的數(shù)據(jù)通過程序編碼來完成,將報表表現(xiàn)樣式設(shè)定好。這種報表功能強大,也可以完成幾乎所有可能想到的報表樣式。缺點是數(shù)據(jù)的動態(tài)性和可控制性弱。而后
9、者往往數(shù)據(jù)和報表樣式都可以在程序運行之后進行操作和改變。當然,它的表現(xiàn)樣式就很難達到靜態(tài)設(shè)計時能完成的那樣完美。從報表的設(shè)計思想和基本的報表模型看,報表可以分為基于分帶的報表和基于表格的報表。盡管表格千變?nèi)f化,但只要仔細探究便會發(fā)現(xiàn)表格組成的一些有規(guī)律性的東西,這是人們在長期表格設(shè)計中所形成的經(jīng)驗,這是一種專門的知識,人們稱為表格設(shè)計知識。通過對報表的分析可以對報表進行抽象,通??梢詫蟊沓橄蠓纸獬蔀闃祟}、表頭、表體、表尾等幾部分。標題和報表頭主要用于標明報表內(nèi)容信息、或者打印日期等附加信息的處理。表體就是報表的主體部分,也是報表的核心部分,通常是報表用戶最關(guān)心的數(shù)據(jù)所在,本部分一般包括數(shù)據(jù)字
10、段名稱,數(shù)據(jù)主體,小計等等的處理。報表尾一般就是報表日期,報表總計,打印日期等附加信息?;谶@種設(shè)計模型的就是帶狀報表。1.3 國內(nèi)外現(xiàn)狀分析由于報表系統(tǒng)在信息系統(tǒng)中的基礎(chǔ)性地位,報表統(tǒng)計的應(yīng)用非常廣泛。報表工具軟件也引起了國內(nèi)外一些軟件公司的關(guān)注和重視。近年來,隨著軟件開發(fā)技術(shù)的日新月異,報表技術(shù)也不斷成熟和完善,目前已經(jīng)出現(xiàn)了一些優(yōu)秀的頗具特色的報表工具軟件。以下就從國外和國內(nèi)兩個方面扼要介紹一下報表系統(tǒng)的研究現(xiàn)狀和進展。目前國內(nèi)報表工具軟件以用友華表公司的Cell軟件為代表,其內(nèi)核采用了類似微軟的Excel的技術(shù)。另外,還有一些比較優(yōu)秀的報表軟件如:深圳明宇科技的如意報表(Ming-We
11、b Report)它是基于J2EE,XML及.NET等國際主流軟件技術(shù)開發(fā)的,提供了較強的可視化報表設(shè)計器,可以實現(xiàn)多種復(fù)雜報表,它可運行于Windows,Unix,Linux等多種操作系統(tǒng)上,具備跨平臺特性等特點。另外還有潤乾報表,其技術(shù)核心是他們獨創(chuàng)的非線性報表模型,在國內(nèi)有一定的影響力。目前國外的商業(yè)化報表產(chǎn)品主要有Crystal Report和Active Report等,其中又以Crystal Report為代表。水晶報表由總部位于美國加州的帕羅奧多的Crystal Decisions公司開發(fā)。此公司的主要業(yè)務(wù)有:報告、分析、信息傳遞技術(shù)和服務(wù)等。水晶報表基本上可以認為是高效能報表系
12、統(tǒng)的行業(yè)標準,微軟在其.NET開發(fā)平臺上捆綁的便是水晶報表。在開源報表產(chǎn)品中比較有名的主要有BIRT和Jasper Report,Jasper Report的優(yōu)點就是使用簡單,輸出方式多樣,這樣在實現(xiàn)客戶的需要的時候痛苦會少一些, 缺點就是文檔是收費的,有些東西就只能是靠自己琢磨和嘗試。BIRT項目屬于Eclipse項目下的商務(wù)智能子項目,發(fā)展迅速,是一種柔性的報表解決方案,一方面為基本用戶提供了可視化的報表設(shè)計器,另一方面為高級用戶提供了豐富的集成接口,提高了報表的重用性。2系統(tǒng)分析系統(tǒng)分析的主要活動是對軟件的可行性進行評估,對軟件的需求進行分析。這是軟件開發(fā)的起始階段也是非常重要的階段。2
13、.1可行性分析可行性研究是在項目開發(fā)前期對項目的一種考察和鑒定,對擬議中的項目進行全面的、綜合的調(diào)查研究,其目的是要判斷項目可行與否,用最小的代價,在盡可能短時間內(nèi)確定問題是否能夠解決,它的目的不是解決問題,而是確定問題是否值得去解決,可行性從以下三個方面來考慮。本系統(tǒng)主要對數(shù)據(jù)庫進行一些簡單的操作,然后對報表進行一些管理,需要用到前端技術(shù)有JSP及ExtJs框架技術(shù),后臺技術(shù)有servelet,SSI框架及數(shù)據(jù)庫連接技術(shù),這些技術(shù)在java web開發(fā)中都比較常用,相關(guān)語法在很多書籍當中都可以搜索到,整體難度不大。所以技術(shù)上是可行的。由于系統(tǒng)較小,對電腦配置沒有太高要求,并且所需時間也不多,
14、幾天就可以完成,所以成本低廉,基本可以忽略不計。所以經(jīng)濟上是可行的。系統(tǒng)總共分為兩部分總共六個界面,邏輯也不太復(fù)雜,對可能出現(xiàn)的一些異常我也做了處理,不需要進行學習,就可以直接操作。綜上所述,技術(shù)上、經(jīng)濟上、操作上都是可行的,并且要求不高所以系統(tǒng)可以進行開發(fā)。2.2需求分析由于報表應(yīng)用是越來越廣泛,越來越多的企業(yè)需要用報表來進行各種業(yè)務(wù)分析,而報表開發(fā)本身需要的時間不會太長,所以一般企業(yè)不會專門招收報表開發(fā)人員進行報表開發(fā),而是把報表外包到其它公司進行開發(fā)。但由于每個公司的數(shù)據(jù)十分保密,他們一般不會把數(shù)據(jù)泄漏給其它公司,頂多為了報表開發(fā)需要把數(shù)據(jù)庫數(shù)據(jù)表表結(jié)構(gòu)給外包公司的開發(fā)人員。而沒有數(shù)據(jù),
15、又無法完成報表的開發(fā)。所以開發(fā)人員必須親自向數(shù)據(jù)庫內(nèi)導(dǎo)入所需數(shù)據(jù)。直接對數(shù)據(jù)庫進行操作比較麻煩,容易出錯,為了一勞永逸,有必要開發(fā)一個方便數(shù)據(jù)導(dǎo)入及修改的系統(tǒng)。開發(fā)人員可以使用MyEclipse工具進行報表開發(fā),開發(fā)完畢以后也可以使用MyEclipse來查看報表。但客戶大部分都不是程序員,他們一般不會用到開發(fā)工具,當然我們也不大可能去要求他們?yōu)榱瞬榭次覀冮_發(fā)的報表而專門去安裝一個開發(fā)工具,我們只能去適應(yīng)他們的要求,開發(fā)一個可以脫離開發(fā)工具來查看報表的系統(tǒng)。而報表輔助系統(tǒng)正是為了實現(xiàn)以上兩個功能而進行開發(fā)的,所以它的開發(fā)價值顯而易見,它的開發(fā)需求也會隨著報表應(yīng)用的推廣而不斷增加。3概要設(shè)計經(jīng)過系
16、統(tǒng)分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時候。概要設(shè)計的基本目的就是回答“從總體上說,系統(tǒng)應(yīng)該如何實現(xiàn)?”這個問題,按照“先邏輯,后物理”的原則來設(shè)計每個模塊的內(nèi)容。有了良好的設(shè)計后面的開發(fā)才不會走太多的彎路。系統(tǒng)總體流程圖如下:圖3.1 系統(tǒng)流程圖4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫實際上就是一個由大量資料所組成的集合。但是這些資料不是雜亂無章的堆積在一起,而是按照一定的規(guī)律和規(guī)則存儲在計算機中。數(shù)據(jù)庫的優(yōu)點是很明顯的, 它具有結(jié)構(gòu)化的存儲方式, 最小的空間冗余,而且在數(shù)據(jù)庫中處理事務(wù)的程序與被處理的事務(wù)資料是分開存儲的,這種獨立性能夠更好的保持資料的完整性和程序的可擴展性。數(shù)據(jù)
17、庫系統(tǒng)為我們提供了一種把我們的工作和生活緊密相關(guān)的信息集合在一起的方法,它還提供在某個集中的地方存儲和維護這些信息的方法。數(shù)據(jù)庫系統(tǒng)主要由三大部分組成:數(shù)據(jù)庫管理系統(tǒng)(DBMS是專門負責組織和管理資料信息的程序), 數(shù)據(jù)庫應(yīng)用程序(它使我們能夠獲取,顯示和更新由DBMS存儲的資料), 數(shù)據(jù)庫(按一定結(jié)構(gòu)組織在一起的相關(guān)資料的集合)。本系統(tǒng)數(shù)據(jù)管理模塊,主要是對數(shù)據(jù)庫中現(xiàn)有的數(shù)據(jù)表進行操作,所以不需要建立數(shù)據(jù)表,而報表管理模塊需要建立兩個數(shù)據(jù)表分別來存儲報表及報表類型的信息,數(shù)據(jù)表詳情如下:4.1報表詳情表此表用來記錄報表的詳細信息,其中birt_type外鍵關(guān)聯(lián)于類型表的id。表4.1報表詳情
18、表字段名稱字段類型字段大小主鍵備注idint16Y報表idbirt_typeint4N報表類型statusint4N活動狀態(tài)birt_namevarchar64N報表名稱file_namevarchar64N文件名稱descriptionvarchar256N描述uploadtimevarchar32N上傳時間4.2報表類型表因為報表類型可會產(chǎn)生變動所以需要單獨建立一張表。4.2報表類型表字段名稱字段類型字段大小主鍵備注idint16Y類型idnamevarchar64N類型名稱codevarchar16N類型編碼descriptionvarchar256N描述5詳細設(shè)計及系統(tǒng)實現(xiàn)5.1架構(gòu)搭
19、建本系統(tǒng)采用MVC模式開發(fā),將視圖層、模型層及控制層分開,層次清晰方便系統(tǒng)的開發(fā)與修改。開發(fā)工具使用MyEclipse8.5。因為此系統(tǒng)兩個功能模塊雖然同為報表服務(wù),但使用對象不同,為了保證每個功能模塊的獨立性,我將在4個project內(nèi)完成。先建立一個空的Report Web Project,專門用來顯示報表,因為報表所需的插件會自動加載到工程里面。然后再新建Web Project分別用來提供程序入口,完成數(shù)據(jù)管理功能及報表管理功能。5.1.1數(shù)據(jù)管理工程JDK采用jre1.6版本,先新建源文件夾config用來存放數(shù)據(jù)庫配置信息,這樣數(shù)據(jù)庫信息一旦發(fā)生變化,就不需要改動代碼,直接改配置文件
20、就行了。再建一個普通包org.study,然后后在此包下新建四個子包:(1)servlet:在里面新建ActionServlet類用來處理前臺頁面發(fā)送過來的請求。(2)dao:里面存放用來處理與數(shù)據(jù)庫操作相關(guān)操作的業(yè)務(wù)邏輯的接口TableDao及實現(xiàn)類TableDaoImpl。(3)service:里面新建接口TableService及實現(xiàn)類TableServiceImpl,用來處理一般的業(yè)務(wù)請求。之所以把兩個處理業(yè)務(wù)邏輯的類分開是因為數(shù)據(jù)庫類型可能會發(fā)生變更,如果發(fā)生變更只需要改動TableDaoImpl里面的代碼,其它的不需要變動,這樣可以減少修改量。(4)util:里面存放一些工具類,如
21、數(shù)據(jù)庫連接的類DBUtil,存放常量的類Constant,Excel文件操作類HSSFReadWrite需要引入的js文件為jquery-1.4.3.js,因為本系統(tǒng)需要用到ajax技術(shù)需要使用的jar主要有以下幾種:(1)json包:commons-beanutils.jar、commons-collections.jar、commons-lang.jar、commons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.2.3-jdk15.jar(2)MySql數(shù)據(jù)庫驅(qū)動包:mysql-connector-java-5.1.8-bin.jar(3)Excel
22、包:poi-3.8-beta4-20110826.jar、poi-ooxml-schemas-3.8.jar、poi-ooxml-3.8-beta5-20111217.jar、excel-jxl.jar(4)文件上傳的包:commons-fileupload-1.2.1.jar、commons-io-1.4.jar工程結(jié)構(gòu)如下:圖5.1 數(shù)據(jù)管理工程dbm結(jié)構(gòu)圖 5.1.2報表管理工程本系統(tǒng)采用MVC模式開發(fā),前臺頁面用Extjs框架技術(shù)完成,服務(wù)器端采用SSI(Struts2+spring+ibatis)框架技術(shù)完成,數(shù)據(jù)庫采用MySql數(shù)據(jù)庫。(1)創(chuàng)建包:先新建工程birts,再創(chuàng)建一個
23、父包org.study,然后在里面創(chuàng)建兩個子包birt及common,common用來存放工具類,birt里面再創(chuàng)建三個子包:a. action:里面創(chuàng)建類BirtAction用來處理發(fā)過來的struts2請求。b. service:里面新建接口BirtService以及實現(xiàn)類BirtServiceImpl用來操作數(shù)據(jù)庫。c. model:里面存放實體類如Birt(報表類)及ObjType(報表類型類)以及ibatis配置文件BirtSQL.xml用來配置SQL語句。再新建一個源文件夾config,里面存放數(shù)據(jù)庫配置文件perties,spring框架核心配置文件app
24、licationContext-base.xml,ibatis框架核心配置文件SqlMapConfig.xml以及struts2核心配置文件,再新建一個文件夾birt里面存放與實體類Birt相關(guān)的struts2及spring配置文件。(2)引入jar包:需要使用到的jar包主要有以下幾種:a.spring框架包:cglib-nodep-2.1_3.jar、aopalliance.jar、aspectjweaver.jar、aspectjrt.jar、commons-logging.jar、spring.jar、struts2-spring-plugin-2.1.8.jar。b.struts2框
25、架包:commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、freemarker-2.3.15.jar、ognl-2.7.3.jar、struts2-core-2.1.8.jar、xwork-core-2.1.6.jar、struts2-json-plugin-2.2.3.jar。c.batis包:ibatis-77.jar。d.Json包:commons-beanutils.jar、commons-collections.jar、commons-lang.jar、commons-logging.jar、ezmorph-1.0.6.j
26、ar、json-lib-2.2.3-jdk15.jar。e.MySql數(shù)據(jù)庫驅(qū)動包:mysql-connector-java-5.1.8-bin.jar。f.文件上傳的包:commons-fileupload-1.2.1.jar、commons-io-1.4.jar。(3)引入js框架包:extjs-4.2.0,這是版本比較新的一種包,使用此包最大好處就是不用設(shè)置太多的css樣式,js語法也得到簡化。工程目錄結(jié)構(gòu)如下:圖5.2 報表管理工程birts結(jié)構(gòu)圖 5.2命名規(guī)則(1)名字不能用保留字和關(guān)鍵字,但如果保留字或關(guān)鍵字中有字母大寫就不算保留字或關(guān)鍵字了。 開頭字符能用字母、$或者_。 名字
27、中不能用+、- 空格等字符。 部分易混的保留字關(guān)鍵字和非保留字關(guān)鍵字: null, native, goto,const,instanceof,default是關(guān)鍵字保留字 then , sizeof , main,Boolean,unsigned,java, Integer不是關(guān)鍵字保留字(2)常量的名字應(yīng)該都使用大寫字母,并且指出該常量完整含義。如果一個常量名稱由多個單詞組成,則應(yīng)該用下劃線來分割這些單詞。(3)JSP包的名字都是由小寫單詞組成。但是由于Java面向?qū)ο缶幊痰奶匦?,每一名Java程序員都可以編寫屬于自己的Java包,為了保障每個Java包命名的唯一性,在最新的Ja
28、va編程規(guī)范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。由于互聯(lián)網(wǎng)上的域名稱是不會重復(fù)的,所以程序員一般采用自己在互聯(lián)網(wǎng)上的域名稱作為自己程序包的唯一前綴。類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個單詞組成,則每個單詞的首字母均應(yīng)為大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個縮寫詞的每個字母均應(yīng)大寫,如:XMLExample,還有一點命名技巧就是由于類是設(shè)計用來代表對象的,所以在命名類時應(yīng)盡量選擇名詞。 方法的名字的第一個單詞應(yīng)以小寫字母作為開頭,后面的單詞則用大寫字母開頭。5.3模塊設(shè)計5.3.1主界面該模塊功能十分簡單,只是為數(shù)據(jù)管理及報
29、表管理功能提供兩個入口,所以實現(xiàn)起來也比較簡單,界面如下圖所示:圖5.3 主界面對于許多開發(fā)人員來說,CSS樣式是一大難點,因為會寫java代碼及js代碼的人很多,但要想制作比較絢麗的界面一般需要專業(yè)的美工。對于本功能模塊前端使用的是JSP技術(shù),樣式自然也成了一大難題。當然寫CSS樣式其實有一種比較簡便的方法,就是去摳現(xiàn)有的時,現(xiàn)在js框架很多,我們可以借用JS框架里面的樣式,或者我們在瀏覽網(wǎng)站時遇到自己想要的樣式也可以拿過來使用。你可以在瀏覽器里面,將鼠標移到某個元素上面,然后右鍵查看元素,就能夠看到該元素的html代碼及css樣式。如圖所示:圖5.4 CSS樣式的獲取對于樣式要求不高的系統(tǒng)
30、來說,這可以算是一種比較簡便的方法,可以輕輕松松獲取大量樣式。5.3.2數(shù)據(jù)管理模塊(1)文件上傳界面圖5.5 文件上傳界面此界面主要有一個上傳控件,外加兩個按鈕,其主要功能就是Excel文件上傳,對于Excel文件存在一些要求:a.文件里面必須要有數(shù)據(jù),而且第一行為標題行,也就是數(shù)據(jù)字段名稱,從第二行起才是要導(dǎo)入的數(shù)據(jù)。b.文件里面所有數(shù)據(jù)必須設(shè)置為文本格式,因為如果格式過于特殊,其數(shù)據(jù)受技術(shù)限制難以正常獲取,為了保證導(dǎo)入數(shù)據(jù)的準確性,就不要使用特殊格式。c.標題行字段不要出現(xiàn)“+”這樣的特殊字符,這樣在數(shù)據(jù)傳遞過程可能出現(xiàn)錯誤,數(shù)據(jù)行沒有限制,是可以出現(xiàn)特殊字符的。d.中間最好不要出現(xiàn)空行
31、與空列,因為讀取數(shù)據(jù)時遇到空行及空列時就終止了,后面的數(shù)據(jù)就獲取不到了。上傳文件以后就可以點擊“數(shù)據(jù)導(dǎo)入”按鈕,提交文件,并且跳轉(zhuǎn)到數(shù)據(jù)導(dǎo)入界面進行數(shù)據(jù)導(dǎo)入。如果沒有上傳文件就直接點擊按鈕“數(shù)據(jù)導(dǎo)入”可能會出現(xiàn)問題,所以這里要用js做一步驗證,如果沒有上傳文件就不允許提交并彈窗提示“請上傳文件”。導(dǎo)出數(shù)據(jù)是不需要上傳文件的,因為它針對的只是數(shù)據(jù)庫里面的數(shù)據(jù)表。(2)數(shù)據(jù)導(dǎo)出圖5.6 數(shù)據(jù)導(dǎo)出界面圖5.7 導(dǎo)出的Excel數(shù)據(jù)文件這個界面主要功能是將數(shù)據(jù)庫里面的數(shù)據(jù)導(dǎo)出到Excel文件里面,左邊的表格加載的是數(shù)據(jù)庫里面所有的數(shù)據(jù)表,選擇左邊的數(shù)據(jù)表以后,后臺就會根據(jù)選擇的數(shù)據(jù)表表名,將該數(shù)據(jù)表里
32、面的所有字段查詢出來,加載到右邊的表格里面。然后就可以在右邊的表格里面字段后面的選擇框內(nèi)勾選字段,將所需字段的數(shù)據(jù)導(dǎo)出,我還設(shè)置了全選按鈕,勾選該按鈕會將所有的選擇框都選中,取消選擇也會將所有選擇框選擇去掉。我把此方法封裝成了一個通用方法,可以在多個地方使用。創(chuàng)建模板的功能是將所選擇的字段導(dǎo)出到Excel文件里面,數(shù)據(jù)不會導(dǎo)出,你可以根據(jù)導(dǎo)出的Excel模板自己填寫要插入的數(shù)據(jù),然后再導(dǎo)入。而導(dǎo)出數(shù)據(jù),不僅能將選擇的字段作為標題行導(dǎo)出,還能將對應(yīng)的數(shù)據(jù)導(dǎo)出到Excel表格,這樣做的目的是可以將自己認為不合適的數(shù)據(jù)進行編輯再重新導(dǎo)入,如圖5.5所示,為了使導(dǎo)出的數(shù)據(jù)看起來更加清晰,在數(shù)據(jù)寫入Ex
33、cel文件時,我還設(shè)置單元格的邊框及背景色等屬性,第一行的標題為黃色背景,數(shù)據(jù)為白色背景,列標題按照英文字母排序。當然如果沒有選擇字段,是不能進行創(chuàng)建模板以及導(dǎo)出數(shù)據(jù)操作的。本頁面的數(shù)據(jù)表都來自于現(xiàn)有的數(shù)據(jù)庫,數(shù)據(jù)庫連接信息可以在源文件夾config下面的配置文件perties里面配置。Url是指數(shù)據(jù)庫的服務(wù)器地址,我們不但可以獲取本地數(shù)據(jù)庫的信息,也可以獲取遠程數(shù)據(jù)庫的信息,當數(shù)據(jù)庫發(fā)生變更時,修改一下url的值以及user(用戶名)、password(密碼)的值就行了,不需要改動程序,操作十分方便。Table_schema是指數(shù)據(jù)庫對象名,同一個數(shù)據(jù)庫會有許多個數(shù)據(jù)庫對象,通過
34、這個屬性可以修改數(shù)據(jù)庫對象。driver是指數(shù)據(jù)庫驅(qū)動類的位置,本系統(tǒng)只支持MySql數(shù)據(jù)庫,所以驅(qū)動類一般不會產(chǎn)生變更。(3)數(shù)據(jù)導(dǎo)入 圖5.8 數(shù)據(jù)導(dǎo)入界面 該界面的主要功能就是將Excel表格里面的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫相應(yīng)數(shù)據(jù)表中。剛跳轉(zhuǎn)到該界面時,Excel表格中所有字段加載到左邊的表格中,數(shù)據(jù)庫中所有的數(shù)據(jù)表會加載到右邊的表格中,如果點擊數(shù)據(jù)表,該表內(nèi)所有字段會分頁顯示到右邊表格內(nèi),如果數(shù)據(jù)量較大,就可以使用搜索及翻頁功能,這里的搜索都是模糊搜索。右邊的搜索框默認搜素數(shù)據(jù)庫的數(shù)據(jù)表,當點擊數(shù)據(jù)表以后,右邊的搜索將搜索的的數(shù)據(jù)表里面的字段。因為Excel文件內(nèi)的字段可以與數(shù)據(jù)表里面的不同名
35、,所以在導(dǎo)入前必須先匹配字段。匹配時,左右兩邊的字段個數(shù)必須相等,否則就會彈窗提示報錯。匹配成功的字段會加載到下面的匹配表中,并且匹配過的字段不會重復(fù)在上面的表格里面顯示,并且也搜索不到,以免重復(fù)匹配。 匹配表里面的選擇框是用來選擇數(shù)據(jù)表的主鍵來決定是更新還是插入,如果沒有選擇則默認插入,如果選擇了主鍵,則根據(jù)該主鍵對應(yīng)的數(shù)據(jù)進行更新。因為制作一張報表可能需要各種類型的數(shù)據(jù),這樣報表的測試才會更加準確,一些隱藏的問題,才能及早發(fā)現(xiàn)。而這個,插入及更新操作正好可以產(chǎn)生我們制作報表時所需的各種數(shù)據(jù)。導(dǎo)入時后臺會有異常捕獲,如果導(dǎo)入成功就會跳轉(zhuǎn)到文件上傳界面,如果導(dǎo)入的數(shù)據(jù)存在錯誤,則錯誤會反饋到前
36、臺,錯誤行及錯誤原因都會顯示到錯誤信息列表中。錯誤信息表,初始狀態(tài)下是隱藏的,如果有錯誤才會顯示出來。5.3.3報表管理模塊與上一個模塊不同,本模塊采用的是Extjs技術(shù),所以風格與上一模塊會有較大的差別。使用Extjs最大的一個好處就是它集成了CSS樣式文件,窗口、面板以及文本框都有現(xiàn)成的模板樣式,不需要美工進行特別的美化就可以直接進行使用。當然它的缺陷就是加載速度慢,不夠靈活。本模塊的動態(tài)性,沒有上一個模塊強,所以采用此項技術(shù)較為合適。本功能模塊主要功能就是,將已經(jīng)開發(fā)好的報表上傳到服務(wù)器中,然后可以直接在瀏覽器管理報表信息,并查看報表。(1)報表上傳圖5.9 報表上傳頁面此頁面功能就是上
37、傳birt報表,并且只支持rptdesign格式的報表,因為后面用到的報表引擎是MyEclipse里面的一個插件,所以此處上傳的報表最好是在MyEclipse里面開發(fā)的報表,否則后面可能出現(xiàn)無法正常顯示的異常。上面四個字段都為必填項,如果有一項沒有填寫是不允許提交的。報表類型數(shù)據(jù)來自于數(shù)據(jù)庫中報表類型表,由于報表類型數(shù)據(jù)一般不會有太大變化,所以我沒有專門為報表類型設(shè)置一個管理界面,如果此數(shù)據(jù)表數(shù)據(jù)產(chǎn)生變化,直接使用上面開發(fā)的數(shù)據(jù)管理系統(tǒng)修改或插入即可。如果數(shù)據(jù)填寫錯誤,可以點擊重置按鈕,將填寫的所有數(shù)據(jù)清空,重新填寫。點擊取消,可以關(guān)閉窗口。上傳成功以后,會彈窗提示“上傳成功”,并刷新界面。(
38、2)報表管理圖5.10 報表管理頁面此頁面功能就是管理報表數(shù)據(jù)信息,它是一個樹狀結(jié)構(gòu)的表格,按照類型把不同種類的報表分開顯示,這樣看起來更加清晰。點擊報表名稱,就會彈出報表信息編輯框,如果上傳報表時報表信息輸入錯誤,還可以在這里進行修改,在初始情況下,輸入框默認不可編輯,當點擊編輯按鈕以后,才能進行編輯。點擊報表后面的刪除,就可以將報表信息刪除。這里是邏輯刪除,不是物理刪除,刪除后報表信息還在數(shù)據(jù)庫,只是活動狀態(tài)設(shè)置為0,列表數(shù)據(jù)加載時,只查詢活動狀態(tài)為1的數(shù)據(jù),為0的是加載不出來的。之所以使用邏輯刪除,是因為數(shù)據(jù)可能會被誤刪,如果是物理刪除,重要的數(shù)據(jù)一旦被刪除,將不可恢復(fù),而邏輯刪除,并非
39、真正意義意思上的刪除,數(shù)據(jù)具有恢復(fù)性。點擊上傳報表按鈕,可以跳轉(zhuǎn)到報表上傳界面。點擊查看報表界面,就可以跳轉(zhuǎn)到報表列表界面。(3)報表列表圖5.11 報表查看列表這個界面與管理界面類似,區(qū)別在于管理界面用于管理人員修改報表信息,而這個界面用于一般人員查看報表,所以本界面去掉了一些用于報表管理的按鈕。點擊報表名稱或者點擊報表名稱的單元格,都會觸發(fā)點擊事件,都可以查看到該報表,如下圖所示:圖5.12 報表頁面上圖即是前面上傳的birt報表,這個報表就是在MyEclipse里面開發(fā)的,它是一張柱形圖。此頁面上的英文都是系統(tǒng)默認的,如果要修改,必須修改運行報表jar包viewservlets.jar,
40、不過改成中文有可能會亂碼。運行報表時,執(zhí)行的jar包比較多,所以運行速度會比較的慢,這也是本系統(tǒng)唯一對服務(wù)器性能有較高要求的地方。運行報表所調(diào)用的工程,就是前面所建立的空的Report Web Project。雖然我沒有在工程中主動添加文件,但工程創(chuàng)建成功以后,執(zhí)行報表所需的配置文件、jar包及jsp文件會自動加載進去。報表開發(fā)完成以后實際上就是一個rptdesign格式的配置文件,與xml文件有些類似,開發(fā)過程的各種設(shè)置會保存到這個配置文件。當報表運行時,會發(fā)送請求到報表引擎,然后報表服務(wù)器會讀取配置文件內(nèi)容,根據(jù)設(shè)置,在后臺動態(tài)合成JSP文件,發(fā)送到瀏覽器進行顯示。6系統(tǒng)測試6.1軟件測試
41、基礎(chǔ)理論6.1.1 軟件測試定義軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例,并利用這些測試用例運行程序以及發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼實現(xiàn)的最終審查,它是軟件質(zhì)量保證的關(guān)鍵步驟。6.1.2 軟件測試基本概念(1)測試的含義所謂測試,首先是一項活動,在這項活動中某個系統(tǒng)或組成的部分將在特定的條件下運行,結(jié)果將被觀察和記錄,并對系統(tǒng)或組成部分進行評價。測試活動有兩種結(jié)果:找出缺陷和故障,或顯示軟件執(zhí)行正確。測試是一個或多個測試用例的集合。測試用例:所謂測試用例是為特定的目的而設(shè)計的一組測試輸入、
42、執(zhí)行條件和預(yù)期的結(jié)果;測試用例是執(zhí)行測試的最小實體。(2)測試的步驟測試步驟詳細規(guī)定了如何設(shè)置、執(zhí)行、評估特定的測試用例。軟件生命周期:一個軟件生命周期包括制定計劃、需求分析定義、軟件設(shè)計、程序編碼、軟件測試、軟件運行、軟件維護、軟件停用等8個階段。軟件測試在軟件生命周期中橫跨兩個階段:單元測試階段,即在每個模塊編寫出以后所做的必要測試;綜合測試階段,即在完成單元測試后進行的測試,如集成測試、系統(tǒng)測試、驗收測試。6.2軟件測試目的測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;不能證明程序的正確性,除非僅處理有限種情況。檢查系統(tǒng)是否滿足需求也是測試的期望目標。一個好的測試用例在于發(fā)現(xiàn)了還未曾發(fā)現(xiàn)的錯誤
43、;一次成功的測試則是發(fā)現(xiàn)了錯誤的測試。只有進行了充足的測試,軟件的準確性才能有效提高,用戶使用時不會出現(xiàn)太多的問題,這樣用戶的滿意度才能逐步提升。6.3軟件測試方法分類軟件測試技術(shù)按照不同的劃分方法,有不同的分類:靜態(tài)測試、動態(tài)測試;黑盒測試、白盒測試;單元測試、集成測試、回歸測試、系統(tǒng)測試、驗證測試以及確認測試。6.3.1 靜態(tài)測試與動態(tài)測試按照軟件測試分析與非分析方法而論,軟件測試可以分靜態(tài)測試和動態(tài)測試。(1)靜態(tài)測試指不實際運行軟件,主要是對軟件的編程格式、結(jié)構(gòu)等方面進行評估。靜態(tài)測試包括:代碼檢查 、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。它可以由人工進行,也可以借助軟件工具自動進行。(2)動
44、態(tài)測試動態(tài)測試方法是指計算機必須真正運行被測試的程序,通過輸入測試用例,對其運行情況即輸入與輸出的對應(yīng)關(guān)系進行分析,以達到檢測的目的。動態(tài)測試包括:功能確認與接口測試 ,覆蓋率分析,性能分析,內(nèi)存分析。6.3.2 黑盒白盒與白盒測試(1)黑盒測試按照軟件測試用例的設(shè)計方法而論,軟件測試可以分為白盒測試法和黑盒測試法。若測試規(guī)劃是基于產(chǎn)品的功能,目的是檢查程序各個功能是否能夠?qū)崿F(xiàn),并檢查其中的功能錯誤,則這種測試方法稱為黑盒測試(Black-box Testing)方法。 黑盒測試又稱為功能測試、數(shù)據(jù)驅(qū)動測試和基于規(guī)格說明的測試。它是一種從用戶觀點出發(fā)的測試,一般被用來確認軟件功能的正確性和可操
45、作性。黑盒測試主要根據(jù)規(guī)格說明書設(shè)計測試用例,并不涉及程序內(nèi)部構(gòu)造和內(nèi)部特性,只依靠被測程序輸入和輸出之間的關(guān)系或程序的功能設(shè)計測試用例。黑盒測試有兩個特點:黑盒測試與軟件的具體實現(xiàn)過程無關(guān),在軟件實現(xiàn)的過程發(fā)生變化時,測試用例仍然可以使用。黑盒測試用例的設(shè)計可以和軟件實現(xiàn)同時進行,這樣能夠壓縮總的開發(fā)時間。(2)白盒測試白盒測試又稱為結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序的測試,一般用來分析程序的內(nèi)部結(jié)構(gòu)。白盒測試要求是對某些程序的結(jié)構(gòu)特性做到一定程度的覆蓋,或者說這種測試是“基于覆蓋率的測試”。通常的程序結(jié)構(gòu)覆蓋有:語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,路徑覆蓋。6.3.3 測試類型按照
46、軟件測試的策略和過程來分類,軟件測試可分為單元測試、集成測試、系統(tǒng)測試、驗證測試和確認測試。測試中的錯誤分類:A類錯誤:致命錯誤引起程序異常中斷或死機的錯誤等。B類錯誤:功能錯誤業(yè)務(wù)功能實現(xiàn)錯誤、程序執(zhí)行結(jié)果錯誤等。C類錯誤:功能缺陷功能操作不方便、缺少操作提示等。D類錯誤:界面缺陷界面設(shè)計不符合本系統(tǒng)的界面設(shè)計規(guī)范等。E類錯誤:測試正確正確的測試項、測試結(jié)果與預(yù)期的一致等。6.4報表輔助系統(tǒng)測試本系統(tǒng)各部分模塊,采黑白盒測試。6.4.1 測試用例設(shè)計要求一個好的測試用例,應(yīng)該包含以下信息: (1)軟件或項目的名稱。(2)軟件或項目的版本(內(nèi)部版本號)。(3)功能模塊名。(4)測試用例的簡單描
47、述,即該用例執(zhí)行的目的或方法。(5)測試用例的參考信息(便于跟蹤和參考)。(6)本測試用例與其他測試用例間的依賴關(guān)系。(7)本用例的前置條件,即執(zhí)行本用例必須要滿足的條件,如對數(shù)據(jù)庫的訪問權(quán)限。(8)用例的編號(ID),如可以是:軟件名稱簡寫-功能塊簡寫-NO.。(9)步驟號、操作步驟描述、測試數(shù)據(jù)描述。(10)預(yù)期結(jié)果(這是最重要的)和實際結(jié)果(如果有BUG管理工具,這條可以省略)。(11)開發(fā)人員(必須有)和測試人員(可有可無)。(12)測試執(zhí)行日期。6.4.2 登錄系統(tǒng)模塊測試用例表6.1 數(shù)據(jù)管理模塊測試用例系統(tǒng)名稱報表輔助系統(tǒng)程序版本V1.0功能模塊數(shù)據(jù)管理模塊編制人徐波功能特性將文
48、件數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫及將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到文件測試目的驗證數(shù)據(jù)是否能正常導(dǎo)入導(dǎo)出測試頁面測試用例期望結(jié)果實際結(jié)果測試狀態(tài)index.jsp不上傳文件直接點擊按鈕“數(shù)據(jù)導(dǎo)入”彈窗提示“請上傳文件”彈窗提示“請上傳文件”正常import.jsp左邊輸入框輸入“d”搜索左邊表格顯示包含“d”及“D”的字段左邊表格顯示包含“d”及“D”的字段正常(續(xù))表6.1 數(shù)據(jù)管理模塊測試用例import.jsp右邊輸入框輸入“_c”搜索右邊表格顯示包含“_C”及“_c”的字段右邊表格顯示包含“_C”及“_c”的字段正常點擊搜索到數(shù)據(jù)表“d_category”右邊表格加載該數(shù)據(jù)表的所有字段,表格標題變?yōu)椤白侄蚊Q”右邊
49、表格加載該數(shù)據(jù)表的所有字段,表格標題未變不正常右邊輸入框輸入“es”搜索右邊表格加載數(shù)據(jù)表“d_category”中包含“es”的字段右邊表格顯示“description”正常左邊選擇三個文件字段,右邊選擇兩個數(shù)據(jù)表字段彈窗提示“兩邊字段個數(shù)必須相等!”彈窗提示“兩邊字段個數(shù)必須相等!”正常左右兩邊都選三個字段點擊匹配匹配的字段出現(xiàn)在匹配列表匹配的字段出現(xiàn)在匹配列表正常左右兩邊都不選擇字段,直接點擊匹配彈窗提示“請選擇要匹配的字段”彈窗提示“請選擇要匹配的字段”正常Excel文件數(shù)據(jù)deptno=1001dname=rdLocation=wuhan正常方式導(dǎo)入彈窗提示導(dǎo)入成功跳轉(zhuǎn)到“index
50、.jsp”界面彈窗提示導(dǎo)入成功跳轉(zhuǎn)到“index.jsp”界面正常Excel文件數(shù)據(jù)deptno=testdname=rdLocation=wuhan正常方式導(dǎo)入錯誤信息列表內(nèi)提示錯誤行“1”,錯誤信息“Incorrect integer value: 'test' for column 'deptno' at row 1”顯示錯誤信息“Incorrect integer value: 'test' for column 'deptno' at row 1”正常(續(xù))表6.1 數(shù)據(jù)管理模塊測試用例import.jspExcel文件
51、數(shù)據(jù)deptno=1001dname=rdLocation=wuhan正常方式導(dǎo)入錯誤信息列表內(nèi)提示錯誤行“1”,錯誤信息“錯誤信息列表內(nèi)提示錯誤行“1”,錯誤信息“Incorrect integer value: 'test' for column 'deptno' at row 1”錯誤信息列表內(nèi)提示錯誤行“1”,錯誤信息“錯誤信息列表內(nèi)提示錯誤行“1”,錯誤信息“Incorrect integer value: 'test' for column 'deptno' at row 1”正常export.jsp先選擇數(shù)據(jù)表“de
52、pt”,再選擇數(shù)據(jù)表“emp”右邊先加載dept的字段再 加載emp的字段右邊先加載dept的字段再 加載emp的字段正常不選字段,直接點擊“創(chuàng)建模板”彈窗提示“請選擇字段”導(dǎo)出一張空的Excel表格不正常選擇字段點擊“導(dǎo)出數(shù)據(jù)”成功導(dǎo)出數(shù)據(jù),并且標題行為黃色背景,數(shù)據(jù)行為白色背景成功導(dǎo)出數(shù)據(jù),并且標題行為黃色背景,數(shù)據(jù)行為白色背景正常選擇字段點擊“導(dǎo)出模板”成功導(dǎo)出模板文件,并且第一行標題為黃色背景成功導(dǎo)出模板文件,并且第一行標題為黃色背景正常使用導(dǎo)出的模板文件,重新錄入數(shù)據(jù),然后重新導(dǎo)入導(dǎo)入成功導(dǎo)入成功正常使用導(dǎo)出的數(shù)據(jù)文件,直接再重新導(dǎo)入導(dǎo)入成功導(dǎo)入成功正常表6.2 數(shù)據(jù)管理模塊測試用例
53、系統(tǒng)名稱報表輔助系統(tǒng)程序版本V1.0功能模塊報表管理模塊編制人徐波功能描述報表的上傳,報表信息編輯修改及報表顯示測試目的驗證數(shù)據(jù)是否能正常導(dǎo)入導(dǎo)出測試頁面測試用例期望結(jié)果實際結(jié)果測試狀態(tài)birtUpload.jsp不填數(shù)據(jù)直接提交所有文本框邊框變?yōu)榧t色波浪線所有文本框邊框變?yōu)榧t色波浪線正常birtManage.jsp點擊刪除列表刷新,刪除數(shù)據(jù)消失列表刷新,刪除數(shù)據(jù)消失正常點擊報表名稱,修改后保存列表刷新,顯示修改后的報表信息列表刷新,顯示修改后的報表信息正常點擊“查看”按鈕跳轉(zhuǎn)到報表查看列表界面跳轉(zhuǎn)到報表查看列表界面正常點擊“上傳報表”按鈕跳轉(zhuǎn)到報表上傳界面跳轉(zhuǎn)到報表上傳界面正常birtLis
54、t.jsp點擊報表名稱顯示報表顯示報表正常6.5測試報告本系統(tǒng)經(jīng)過測試,各部分的功能基本正常,達到了預(yù)期的目的。通過對系統(tǒng)的全面測試,我學到了許多測試方面的知識,了解到測試方法、測試經(jīng)驗。通過本次設(shè)計,使我了解到測試的重要性。通過測試,可以使軟件更適合用戶的需求,更加穩(wěn)定、可靠地運行,并能適應(yīng)市場競爭,應(yīng)用前景廣泛。6.6軟件安裝 由于本系統(tǒng)采用了JSP、MySQL術(shù),因此需要的軟件包括有JDK、TOMCAT、MySQL。6.6.1 JDK的安裝首先,JDK的安裝配置。雙擊文件,裝完之后,設(shè)置環(huán)境變量。右擊“我的電腦” 選“屬性”,選“高級", 選“環(huán)境變量”,在這個窗口中選最下面的“新建"變量名:javapath,變量值:C:Program FilesJavajdk1.5.0_05(這個是安裝的默認路徑),點擊“確定”,創(chuàng)建環(huán)境變量。6.6.2 TOMCAT的安裝其次,TOMCAT6.0的安裝配置。Tomcat解壓版以及安裝版文件,都可以在官網(wǎng)上下載。建議使用安裝版的服務(wù)器。下載以后,雙擊安裝文件,安裝過程需要修改用戶名及密碼,還可以設(shè)置端口號。安裝完成之后,可以將其引入MyEclipse里面,啟動服務(wù)器執(zhí)行文件。如果已經(jīng)產(chǎn)生可執(zhí)行項目,可以將其復(fù)制到
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)墻抹灰工程勞務(wù)分包合同
- 勞務(wù)外包員工合同
- 項目會議記錄與總結(jié)報告
- 旅游公司客戶行程中意外事件處理協(xié)議
- 礦山環(huán)境治理與生態(tài)恢復(fù)合同
- 智慧城市綜合管理平臺建設(shè)與運營方案設(shè)計
- 環(huán)??萍紕?chuàng)新中心合作協(xié)議
- 個人茶園承包合同
- 蔬菜基地土地承包合同
- 境外投資項目銀行貸款合同
- JT-T-445-2021汽車底盤測功機
- 體育科學:田徑考試考試題(三)
- 高考英語經(jīng)常用的七百個詞匯
- 不定代詞用法總結(jié)及配套練習題
- 《研學旅行市場營銷》課件-模塊八 研學旅行促銷策略
- 糖尿病孕婦護理:案例分析
- (2024年)新版藥品管理法培訓(xùn)課件
- 2022年4月自考00808商法試題及答案含解析
- JGJT280-2012 中小學校體育設(shè)施技術(shù)規(guī)程
- 《光伏發(fā)電工程安全預(yù)評價規(guī)程》(NBT 32039-2017)
- 2024屆吉林省延邊州高三質(zhì)量檢測(一模)物理試題及答案
評論
0/150
提交評論