jsp117人事管理系統(tǒng)(jsp+sqlserver)-qkrp_第1頁
jsp117人事管理系統(tǒng)(jsp+sqlserver)-qkrp_第2頁
jsp117人事管理系統(tǒng)(jsp+sqlserver)-qkrp_第3頁
jsp117人事管理系統(tǒng)(jsp+sqlserver)-qkrp_第4頁
jsp117人事管理系統(tǒng)(jsp+sqlserver)-qkrp_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE人事管理系統(tǒng)作者姓名指導(dǎo)教師所學(xué)專業(yè)班級(jí)所屬院系學(xué)習(xí)年限年月至年月二○年月PAGE目錄論文總頁數(shù):44頁1引言 11.1課題背景 11.2本課題研究的意義 11.3本課題的研究思路和方法 11.4本文的主要工作 12開發(fā)工具介紹 22.1JSP技術(shù) 22.1.1JAVA簡(jiǎn)介 22.1.2JSP簡(jiǎn)介 22.1.3JavaBeans介紹 32.1.4JDBC驅(qū)動(dòng)程序介紹 32.2Myeclipse介紹 42.3SQLServer2005數(shù)據(jù)庫 42.4Browser/Server(B/S)結(jié)構(gòu) 53需求分析及設(shè)計(jì)方案 53.1需求分析 53.2設(shè)計(jì)方案 53.2.1系統(tǒng)功能 53.2.2系統(tǒng)結(jié)構(gòu) 64具體設(shè)計(jì)流程及實(shí)現(xiàn) 64.1數(shù)據(jù)庫設(shè)計(jì) 64.1.1數(shù)據(jù)庫需求分析及E-R圖 64.1.2數(shù)據(jù)表具體設(shè)計(jì) 74.1.3數(shù)據(jù)字典 104.2部分關(guān)鍵編碼實(shí)施實(shí)現(xiàn) 124.2.1工資管理編碼實(shí)現(xiàn) 124.2.2業(yè)績(jī)管理編碼實(shí)現(xiàn) 264.2.3時(shí)間設(shè)置編碼實(shí)現(xiàn) 325系統(tǒng)運(yùn)行及測(cè)試與分析 385.1系統(tǒng)的運(yùn)行 385.1.1用戶登錄 385.1.2主界面 385.1.3部門管理 395.1.4用戶管理 395.1.5工資管理 405.1.6用戶查詢 405.1.7考勤錄入 415.1.8考勤查詢 415.1.9業(yè)績(jī)管理 415.1.10業(yè)績(jī)對(duì)比 425.2測(cè)試與分析 42結(jié)論 42參考文獻(xiàn) 43致謝 44摘要本設(shè)計(jì)的開發(fā)是基于B/S結(jié)構(gòu),采用JSP程序設(shè)計(jì)語言及SQLServer2005數(shù)據(jù)庫進(jìn)行開發(fā);論文首先闡述了基于B/S模式的浙江江森自控有限公司人事管理系統(tǒng)的開發(fā),并對(duì)該系統(tǒng)進(jìn)行了較詳細(xì)的需求分析;然后探討了該系統(tǒng)需要實(shí)現(xiàn)的設(shè)計(jì)方案,該系統(tǒng)主要包括部門管理,工資管理,用戶管理,用戶查詢,幫助設(shè)置,考勤錄入,考勤查詢,培訓(xùn)管理,招聘管理等功能模塊;最后,在測(cè)試與分析過程中,該系統(tǒng)表現(xiàn)出了運(yùn)行穩(wěn)定、可靠和實(shí)用等特性,具有一定的實(shí)用價(jià)值。關(guān)鍵詞:人事系統(tǒng);工資管理;考勤;數(shù)據(jù)庫;JSPAbstractThedevelopmentofthisdesignisbasedonB/Sstructure,usingJSPprogramminglanguageandSQLServer2005databasedevelopment;thesisdescribesthedevelopmentoftheinsurancecompanypersonnelsystembasedonB/Smode,andthesysteminmoredetailneedsanalysis;thendiscussestheneedtoimplementthesystemdesign,thesystemincludingdepartmentmanagement,payrollmanagement,usermanagement,userqueries,timesetting,attendanceentry,attendanceinquiries,leavemanagement,performancemanagement,performancecomparisonfunctionmodule;Finally,intheprocessoftestingandanalysis,thesystemshowedastable,reliableandpracticalfeatures,hassomepracticalvalue..Keywords:Personnelsystem;wages;attendance;database;JSP目錄1引言 21.1課題背景 21.2本課題研究的意義 21.3本課題的研究思路和方法 21.4本文的主要工作 22開發(fā)工具介紹 42.1JSP技術(shù) 42.1.1JAVA簡(jiǎn)介 42.1.2JSP簡(jiǎn)介 42.1.3JavaBeans介紹 52.1.4JDBC驅(qū)動(dòng)程序介紹 52.2Myeclipse介紹 62.3SQLServer2005數(shù)據(jù)庫 62.4Browser/Server(B/S)結(jié)構(gòu) 63需求分析及設(shè)計(jì)方案 83.1需求分析 83.2設(shè)計(jì)方案 83.2.1系統(tǒng)功能 83.2.2系統(tǒng)結(jié)構(gòu) 84具體設(shè)計(jì)流程及實(shí)現(xiàn) 104.1數(shù)據(jù)庫設(shè)計(jì) 104.1.1數(shù)據(jù)庫需求分析及E-R圖 104.1.2數(shù)據(jù)表具體設(shè)計(jì) 104.1.3數(shù)據(jù)字典 134.2部分關(guān)鍵編碼實(shí)施實(shí)現(xiàn) 154.2.1工資管理編碼實(shí)現(xiàn) 154.2.2業(yè)績(jī)管理編碼實(shí)現(xiàn) 294.2.3時(shí)間設(shè)置編碼實(shí)現(xiàn) 355系統(tǒng)運(yùn)行及測(cè)試與分析 415.1系統(tǒng)的運(yùn)行 415.1.1用戶登錄 415.1.2主界面 415.1.3部門管理 425.1.4用戶管理 425.1.5工資管理 425.1.6考勤錄入 435.1.7考勤查詢 435.2測(cè)試與分析 43結(jié)論 45參考文獻(xiàn) 46致謝 47第36頁共44頁1引言1.1課題背景我國(guó)的計(jì)算機(jī)應(yīng)用于企業(yè)管理,只是在70年代末期以后才逐漸開展起來的。目前,計(jì)算機(jī)輔助管理已在我國(guó)的各行各業(yè)得到了廣泛地應(yīng)用,但總的來說,計(jì)算機(jī)在我國(guó)管理中的應(yīng)用,還處于初級(jí)階段,盡管近兩年發(fā)展較快,但還需要不斷地探索和研究。尤其是計(jì)算機(jī)輔助人事管理僅是近幾年才在我國(guó)得到普及和發(fā)展,而在許多發(fā)達(dá)國(guó)家計(jì)算機(jī)輔助人事管理已十分普及,因此對(duì)這方面的研究是必要的,它將推動(dòng)我國(guó)企業(yè)的發(fā)展和人事管理信息處理的現(xiàn)代化。1.2本課題研究的意義隨著計(jì)算機(jī)的日益普及和網(wǎng)絡(luò)的發(fā)展,數(shù)據(jù)庫的應(yīng)用范圍越來越廣,數(shù)據(jù)庫應(yīng)用的功能也越來越強(qiáng),因此編寫管理信息系統(tǒng)應(yīng)用程序也顯得尤為重要,在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來越普及。人事管理是任何企事業(yè)單位都需要進(jìn)行的一項(xiàng)工作,因此,開發(fā)制作人事管理系統(tǒng)具有較大的社會(huì)現(xiàn)實(shí)意義,同時(shí)人事管理系統(tǒng)是一切應(yīng)用系統(tǒng)的典范,它具有一切應(yīng)用系統(tǒng)的特征,系統(tǒng)結(jié)構(gòu)與現(xiàn)實(shí)生活緊密結(jié)合,具體直觀,具有典范的數(shù)據(jù)庫系統(tǒng)的特性。人事管理系統(tǒng)主要用于企業(yè)內(nèi)部員工的檔案、工資、考勤、評(píng)價(jià)的管理,便于公司領(lǐng)導(dǎo)掌握人員的動(dòng)向,及時(shí)調(diào)整人才的分配,同時(shí)也減少了手工操作帶來的一些繁瑣與不便,使員工情況的記錄和統(tǒng)計(jì)變得十分簡(jiǎn)單.這些優(yōu)點(diǎn)可以極大的提高企業(yè)對(duì)人事管理的效率.因此,人事管理系統(tǒng)是企事業(yè)信息化、智能化、科學(xué)化和正規(guī)化不可缺少的管理軟件。1.3本課題的研究思路和方法本系統(tǒng)的開發(fā)要求采用B/S結(jié)構(gòu),設(shè)計(jì)與開發(fā)一個(gè)功能較完善的基于網(wǎng)絡(luò)的社區(qū)醫(yī)療管理系統(tǒng)。因此,本次畢業(yè)設(shè)計(jì)應(yīng)首先分析社區(qū)醫(yī)療管理系統(tǒng)的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計(jì)的相關(guān)要求寫出需求分析;其次,綜合運(yùn)用以前所學(xué)的相關(guān)知識(shí)(包括以前所學(xué)的一些關(guān)于網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫、編程技術(shù)等相關(guān)知識(shí)),選擇所熟悉的開發(fā)工具進(jìn)行本畢業(yè)設(shè)計(jì)的開發(fā);在設(shè)計(jì)中以需求分析為基礎(chǔ),寫出系統(tǒng)開發(fā)計(jì)劃、實(shí)現(xiàn)流程及相關(guān)問題的實(shí)現(xiàn)方法;同時(shí),在開發(fā)設(shè)計(jì)與實(shí)現(xiàn)中,要保存好相關(guān)的設(shè)計(jì)文擋,為后面的畢業(yè)論文的寫作準(zhǔn)備材料;最后,系統(tǒng)開發(fā)完畢后,進(jìn)行調(diào)試和試運(yùn)行,做好調(diào)試和試運(yùn)行的相關(guān)記錄,也為后面的畢業(yè)論文的寫作準(zhǔn)備材料。1.4本文的主要工作本文主要是對(duì)設(shè)計(jì)與開發(fā)一個(gè)浙江江森自控有限公司人事管理系統(tǒng)的總結(jié),首先對(duì)本系統(tǒng)所基于的B/S結(jié)構(gòu),采用的JSP編程技術(shù)和SQLServer2005數(shù)據(jù)庫,運(yùn)用的MyEclipse開發(fā)工具等進(jìn)行詳細(xì)的介紹;然后對(duì)用戶的需求分析,指出了需要解決的問題,需要實(shí)現(xiàn)的功能,如部門管理,工資管理,用戶管理,用戶查詢,幫助設(shè)置,考勤錄入,考勤查詢,培訓(xùn)管理,招聘管理等功能模塊;其次是具體設(shè)計(jì)流程及實(shí)現(xiàn),詳細(xì)介紹了數(shù)據(jù)庫的設(shè)計(jì),編碼的實(shí)施;接著是系統(tǒng)測(cè)試,通過測(cè)試發(fā)現(xiàn)了系統(tǒng)的一些問題,排除了的錯(cuò)誤,發(fā)現(xiàn)了一些不足等;最后是對(duì)本次設(shè)計(jì)制作的小結(jié),總結(jié)了設(shè)計(jì)過程中遇到的問題和收獲。2開發(fā)工具介紹本系統(tǒng)是采用JSP編程技術(shù)和MySQL數(shù)據(jù)庫,在WindowsXP操作系統(tǒng)環(huán)境下,采用Myeclipse開發(fā)工具以及Javabeans編寫進(jìn)行設(shè)計(jì)與開發(fā)完成的基于B/S結(jié)構(gòu)的社區(qū)醫(yī)療管理系統(tǒng)。2.1JSP技術(shù)2.1.1JAVA簡(jiǎn)介.Java語言誕生于20世紀(jì)90年代的初期,最初是以智能家電的芯片語言出現(xiàn)的。但是很快,人們發(fā)現(xiàn)了它有更廣闊的用武之地,由于它適用于Internet環(huán)境,引起計(jì)算機(jī)界的廣泛關(guān)注,迅速發(fā)展成計(jì)算機(jī)網(wǎng)絡(luò)編程語言。Java語言備受推崇,因其確實(shí)可稱得上是新一代編程語言,具有眾多優(yōu)點(diǎn),它簡(jiǎn)單、面向?qū)ο?、可移植、與硬件無關(guān)、系統(tǒng)強(qiáng)健安全、具有很高的性能,并提供了分布性、多線程、動(dòng)態(tài)性的支持。2.1.2JSP簡(jiǎn)介JSP(JavaServerPages)是由Sun公司在java語言上開發(fā)出來的一種動(dòng)態(tài)網(wǎng)頁制作技術(shù),JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果,使您可以將網(wǎng)頁中的動(dòng)態(tài)部分和靜態(tài)的HTML相分離。⑴將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。⑵強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁面信賴于可重用的、跨平臺(tái)的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,井使得這些組件為更多的使用者或者客戶團(tuán)體所使用[6]。⑶采用標(biāo)識(shí)簡(jiǎn)化頁面開發(fā)Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在生成與JSP相關(guān)的XML標(biāo)識(shí)的動(dòng)態(tài)內(nèi)容時(shí)所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans組件、設(shè)置或者檢索組件屬性、下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。⑷健壯性與安全性由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,且都被編譯為JavaServlet,它就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性[7]。⑸良好的移植性作為Java平臺(tái)的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,可以使用自己所選擇的服務(wù)器和工具,而且更改工具或服務(wù)器并不影響當(dāng)前的使用。⑹企業(yè)級(jí)的擴(kuò)展性和性能當(dāng)與Java2平臺(tái),企業(yè)版(J2EE)和EnterpriseJavaBeans技術(shù)整合時(shí),JSP頁面將提供企業(yè)級(jí)的擴(kuò)展性和性能,這對(duì)于虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。2.1.3JavaBeans介紹JavaBeans是一個(gè)可以重復(fù)使用的軟件組件。實(shí)際上JavaBeans是一種Java類,通過封裝屬性和方法成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對(duì)象,簡(jiǎn)稱beans。JavaBeans是基于Java語言的,具有以下特點(diǎn):(1)可以實(shí)現(xiàn)代碼的重復(fù)利用。(2)易編寫,易維護(hù),易使用。(3)可以在任何安裝了Java運(yùn)行環(huán)境的平臺(tái)上的使用,而不需要重新編譯。2.1.4JDBC驅(qū)動(dòng)程序介紹從編程的角度出發(fā),有兩個(gè)主要的類負(fù)責(zé)建立與數(shù)據(jù)庫的連接。第一個(gè)類DriverManager是在JDBCAPI中提供的為數(shù)不多的實(shí)際類。DriverManager負(fù)責(zé)管理已注冊(cè)驅(qū)動(dòng)程序的集合,實(shí)質(zhì)上就是提取使用驅(qū)動(dòng)程序的細(xì)節(jié),這樣程序員就不必直接處理它們。第二個(gè)類是實(shí)際的JDBCDriver類。JDBC驅(qū)動(dòng)程序有四種類型。第一種驅(qū)動(dòng)程序:它們都使用JDBC-ODBC橋,這是作為JDK的一個(gè)標(biāo)準(zhǔn)部分包括的。第一種驅(qū)動(dòng)程序通過附加在JDBC-ODBC橋的“開放式數(shù)據(jù)庫連接性”(OpenDataBaseConnectivity(ODBC))驅(qū)動(dòng)程序來區(qū)分。要連接到一個(gè)不同的數(shù)據(jù)源,您只需要使用ODBC管理員注冊(cè)(或有效地綁定)一個(gè)不同的ODBC數(shù)據(jù)源到合適的數(shù)據(jù)源名稱即可。第二種驅(qū)動(dòng)程序也稱為部分Java驅(qū)動(dòng)程序,因?yàn)樗鼈冎苯訉DBCAPI翻譯成具體數(shù)據(jù)庫的API。對(duì)于分布式應(yīng)用程序,這種需求會(huì)產(chǎn)生額外的許可證問題,還可能帶來可怕的潛在代碼分布問題。第三種驅(qū)動(dòng)程序是純Java驅(qū)動(dòng)程序,它將JDBCAPI轉(zhuǎn)換成獨(dú)立于數(shù)據(jù)庫的協(xié)議。JDBC驅(qū)動(dòng)程序并沒有直接和數(shù)據(jù)庫進(jìn)行通訊;它和一個(gè)中間件服務(wù)器通訊,然后這個(gè)中間件服務(wù)器和數(shù)據(jù)庫進(jìn)行通訊。這種額外的中間層次提供了靈活性:可以用相同的代碼訪問不同的數(shù)據(jù)庫,因?yàn)橹虚g件服務(wù)器隱藏了Java應(yīng)用程序的細(xì)節(jié)。要轉(zhuǎn)到不同的數(shù)據(jù)庫,您只需在中間件服務(wù)器上改變參數(shù)。第四種驅(qū)動(dòng)程序是純Java驅(qū)動(dòng)程序,它直接與數(shù)據(jù)庫進(jìn)行通訊。很多程序員認(rèn)為這是最好的驅(qū)動(dòng)程序,因?yàn)樗ǔL峁┝俗罴训男阅?,并允許開發(fā)者利用特定數(shù)據(jù)庫的功能。當(dāng)然,這種緊密耦合會(huì)影響靈活性,特別是如果您需要改變應(yīng)用程序中的底層數(shù)據(jù)庫時(shí)。這種驅(qū)動(dòng)程序通常用于applet和其它高度分布的應(yīng)用程序。2.2Myeclipse介紹MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2.3SQLServer2005數(shù)據(jù)庫利用JSP結(jié)合數(shù)據(jù)庫來開發(fā)網(wǎng)站使得網(wǎng)站更具有交互性,因?yàn)闆]有數(shù)據(jù)庫支持的靜態(tài)網(wǎng)頁已經(jīng)無法滿足人們對(duì)于網(wǎng)絡(luò)的需求了。數(shù)據(jù)庫在各行各業(yè)中是必不可少的,下面就來介紹數(shù)據(jù)庫方面的相關(guān)知識(shí)。SQL是英文StructuredQueryLanguage的縮寫,意思為結(jié)構(gòu)化查詢語言。它的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。MicrosoftSQLServer(基于結(jié)構(gòu)化查詢語言的數(shù)據(jù)庫服務(wù)器)是基于客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)。用戶通過使用客戶系統(tǒng)從服務(wù)器檢索信息并進(jìn)行本地操作,服務(wù)器關(guān)注數(shù)據(jù)庫進(jìn)程,而客戶則關(guān)注信息的表示。此數(shù)據(jù)庫管理系統(tǒng)能夠存儲(chǔ)大容量的數(shù)據(jù),能夠保證數(shù)據(jù)的安全性、維護(hù)數(shù)據(jù)的完整性,還具有自動(dòng)高效的機(jī)制以及運(yùn)行分布式處理等。2.4Browser/Server(B/S)結(jié)構(gòu)B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。3需求分析及設(shè)計(jì)方案3.1需求分析需求分析是軟件定義的最后一個(gè)階段,它的基本任務(wù)是回答“系統(tǒng)必須做什么“這個(gè)問題。需求分析的任務(wù)不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求??尚行匝芯侩A段產(chǎn)生的文檔,特別是數(shù)據(jù)流成圖,是需求分析的出發(fā)點(diǎn)。數(shù)據(jù)流成圖中已經(jīng)劃分出系統(tǒng)必須完成的許多基本功能,系統(tǒng)分析員將仔細(xì)研究這些功能并進(jìn)一步將它們具體化。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此,必須用行之有效的方法對(duì)軟件需求進(jìn)行嚴(yán)格的審查驗(yàn)證。3.2設(shè)計(jì)方案根據(jù)前面章節(jié)需求分析的情況,結(jié)合本系統(tǒng)所要實(shí)現(xiàn)的功能,具體設(shè)計(jì)方案如下。3.2.1系統(tǒng)功能通過對(duì)用戶需求的分析,浙江江森自控有限公司人事管理系統(tǒng)網(wǎng)站應(yīng)包括以下的主要功能:(1)部門管理(2)工資管理(3)用戶管理(4)用戶查詢(5)幫助設(shè)置(6)考勤錄入(7)考勤查詢(8)培訓(xùn)管理(9)招聘管理3.2.2系統(tǒng)結(jié)構(gòu)整個(gè)系統(tǒng)主要分為部門管理,工資管理,用戶管理,用戶查詢,幫助設(shè)置,考勤錄入,考勤查詢,培訓(xùn)管理,招聘管理,員工管理等功能模塊,如圖1所示。浙江江森自控有限公司人事管理系統(tǒng)浙江江森自控有限公司人事管理系統(tǒng)部門管理用戶查詢幫助設(shè)置考勤錄入考勤查詢培訓(xùn)管理招聘管理員工對(duì)比工資管理用戶管理圖1系統(tǒng)功能圖4具體設(shè)計(jì)流程及實(shí)現(xiàn)4.1數(shù)據(jù)庫設(shè)計(jì)4.1.1數(shù)據(jù)庫需求分析及E-R圖根據(jù)以上的系統(tǒng)功能分析,可以得到E-R圖:部門和員工E-R圖:部門I部門IdN1部門員工組成員工id姓名電話部門names圖4-1部門和員工E-R圖員工和工資E-R圖:111員工員工id姓名電話生日卡號(hào)間對(duì)應(yīng)工資應(yīng)發(fā)合計(jì)實(shí)發(fā)圖4-2員工和工資E-R圖4.1.2數(shù)據(jù)表具體設(shè)計(jì)(1)部門表:記錄部門基本信息,如表1所示。表1部門表(bm)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2Nonvarchar50null3Namesnvarchar50null4JlidIntnull5Telnvarchar50null(2)工資信息表:記錄工資信息,如表2所示。表2工資信息表(gz)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2uidIntnull3yfnvarchar50null4jbnvarchar50null5jbfnvarchar50null6glnvarchar50null7qqnvarchar50null8jlnvarchar50null9zwjtnvarchar50null10qjnvarchar50null11totlesnvarchar50null(3)考勤表:記錄考勤信息,如表3所示。表3考勤表(kq)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2Statenvarchar50null3Uidintnull4Timesnvarchar50null5unamenvarchar50null(4)請(qǐng)假表:記錄請(qǐng)假信息,如表4所示。表4請(qǐng)假表(qj)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2Btimenvarchar50null3Etimenvarchar50null4Statenvarchar50null5Yynvarchar50null6myidintnull(5)時(shí)間表:記錄時(shí)間信息,如表5所示。表5時(shí)間表(time)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2Namenvarchar50null3abeginnvarchar50null4aendnvarchar50null5pbeginnvarchar50null6pendnvarchar50null(6)員工表:記錄員工信息,如表6所示。表6員工表(users)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2nonvarchar50null3Sexnvarchar50null4cardnonvarchar50null5brithdaydatetimenull6agenvarchar50null7minzunvarchar50null8hynvarchar50null9zznvarchar50null10rdtimedatetimenull11jgnvarchar50null12telnvarchar50null13usernamenvarchar50null14passwordnvarchar50null15phonenvarchar50null16bmidintnull17islivenvarchar50null18realnamenvarchar50null19typenvarchar50null(7)業(yè)績(jī)表:記錄業(yè)績(jī)信息,如表7所示。表7業(yè)績(jī)表(yj)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1IdIntNotnull2uidIntnull3daysDatetimenull4yjFloatnull5descsnvarchar50null4.1.3數(shù)據(jù)字典(1)數(shù)據(jù)項(xiàng)字段名稱數(shù)據(jù)類型長(zhǎng)度說明IdIntNotnullNonvarchar50nullNamesnvarchar50nullJlidIntnullTelnvarchar50nullIdIntNotnulluidIntnullyfnvarchar50nulljbnvarchar50nulljbfnvarchar50nullglnvarchar50nullqqnvarchar50nulljlnvarchar50nullzwjtnvarchar50nullqjnvarchar50nulltotlesnvarchar50nullIdIntNotnullStatenvarchar50nullUidintnullTimesnvarchar50nullunamenvarchar50nullIdIntNotnullBtimenvarchar50nullEtimenvarchar50nullStatenvarchar50nullYynvarchar50nullmyidintnullIdIntNotnullNamenvarchar50nullabeginnvarchar50nullaendnvarchar50nullpbeginnvarchar50nullpendnvarchar50nullIdIntNotnullnonvarchar50nullSexnvarchar50nullcardnonvarchar50nullbrithdaydatetimenullagenvarchar50nullminzunvarchar50nullhynvarchar50nullzznvarchar50nullrdtimedatetimenulljgnvarchar50nulltelnvarchar50nullusernamenvarchar50nullpasswordnvarchar50nullphonenvarchar50nullbmidintnullislivenvarchar50nullrealnamenvarchar50nulltypenvarchar50nullIdIntNotnulluidIntnulldaysDatetimenullyjFloatnulldescsnvarchar50null4.2部分關(guān)鍵編碼實(shí)施實(shí)現(xiàn)4.2.1工資管理編碼實(shí)現(xiàn)packagecom.checkwork.servlet;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.checkwork.bean.Gz;importcom.checkwork.bean.Kq;importcom.checkwork.bean.User;importcom.checkwork.util.DataBaseHelp;importcom.checkwork.util.Page;/***ServletimplementationclassGzServlet*/publicclassGzServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L;/***@seeHttpServlet#HttpServlet()*/publicGzServlet(){super();//TODOAuto-generatedconstructorstub} /** *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse) */protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } /** *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse *response) */ protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=2;//每頁大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首頁 }else{ m=(pageNo-1)*n; } DataBaseHelputil=newDataBaseHelp(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,pageNo,request,response); } if(mode!=null&&mode.equals("add")){ Stringyf=request.getParameter("yf"); Stringuid=request.getParameter("uid"); Stringjb=request.getParameter("jb"); Stringjbf=request.getParameter("jbf"); Stringgl=request.getParameter("gl"); Stringqq=request.getParameter("qq"); Stringjl=request.getParameter("jl"); Stringzwjt=request.getParameter("zwjt"); Stringqj=request.getParameter("qj"); Stringtotles=Double.parseDouble(jb)+Double.parseDouble(jbf)+Double.parseDouble(gl)+Double.parseDouble(qq)+Double.parseDouble(jl) +Double.parseDouble(zwjt)-Double.parseDouble(qj)+""; StringsqlAdd="INSERTINTO[hrmana].[dbo].[gz]([yf],[uid],[jb],[jbf],[gl]"+",[qq],[jl],[zwjt],[qj],[totles])values('" +yf+"','"+uid+"','"+jb+"','"+jbf+"','"+gl+"','"+qq+"','"+jl+"','"+zwjt+"','"+qj+"','"+totles+"')"; System.out.println("====="+sqlAdd); Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,pageNo,request,response); } if(mode!=null&&mode.equals("modifyBefore")){ String[]selectFlag=request.getParameterValues("selectFlag"); Stringsql="select*fromuserswhereid="+selectFlag[0]; PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); Userbean=newUser(); while(rs.next()){ bean.setId(rs.getInt("id")); bean.setPassword(rs.getString("password")); bean.setRealname(rs.getString("realname")); bean.setTel(rs.getString("tel")); bean.setType(rs.getString("type")); bean.setUsername(rs.getString("username")); bean.setSex(rs.getString("sex")); bean.setMinzu(rs.getString("minzu")); bean.setAge(rs.getString("age")); bean.setBmid(rs.getInt("bmid")); bean.setBriday(rs.getDate("brithday")); bean.setCardno(rs.getString("cardno")); bean.setHy(rs.getString("hy")); bean.setIslive(rs.getString("islive")); bean.setJg(rs.getString("jg")); bean.setMinzu(rs.getString("minzu")); bean.setNo(rs.getString("no")); bean.setPhone(rs.getString("phone")); bean.setRdtime(rs.getDate("rdtime")); bean.setZz(rs.getString("zz")); break; } request.setAttribute("bean",bean); request.getRequestDispatcher("tab/userModify.jsp").forward( request,response); } if(mode!=null&&mode.equals("more")){ String[]selectFlag=request.getParameterValues("selectFlag"); Stringsql="select*fromuserswhereid="+selectFlag[0]; PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); Userbean=newUser(); while(rs.next()){ bean.setId(rs.getInt("id")); bean.setPassword(rs.getString("password")); bean.setRealname(rs.getString("realname")); bean.setTel(rs.getString("tel")); bean.setType(rs.getString("type")); bean.setUsername(rs.getString("username")); bean.setSex(rs.getString("sex")); bean.setMinzu(rs.getString("minzu")); bean.setAge(rs.getString("age")); bean.setBmid(rs.getInt("bmid")); bean.setBriday(rs.getDate("brithday")); bean.setCardno(rs.getString("cardno")); bean.setHy(rs.getString("hy")); bean.setIslive(rs.getString("islive")); bean.setJg(rs.getString("jg")); bean.setMinzu(rs.getString("minzu")); bean.setNo(rs.getString("no")); bean.setPhone(rs.getString("phone")); bean.setRdtime(rs.getDate("rdtime")); bean.setZz(rs.getString("zz")); break; } request.setAttribute("bean",bean); request.getRequestDispatcher("tab/userMore.jsp").forward( request,response); } if(mode!=null&&mode.equals("modify")){ Stringid=request.getParameter("id"); Stringtype=request.getParameter("type"); Stringpassword=request.getParameter("password"); Stringphone=request.getParameter("phone"); Stringtel=request.getParameter("tel"); Stringbm=request.getParameter("bm"); Stringage=request.getParameter("age"); Stringhy=request.getParameter("hy"); Stringzz=request.getParameter("zz"); Stringjg=request.getParameter("jg"); Stringsqlmodify="updateuserssetpassword='"+password+"',type='"+type+"',phone='"+phone +"',tel='"+tel+"',bmid="+bm+",age='"+age+"',hy='"+hy +"',zz='"+zz+"',jg='"+jg +"'whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlmodify); this.list(n,m,conn,pageNo,request,response); } if(mode!=null&&mode.equals("deletes")){ String[]selectFlag=request.getParameterValues("selectFlag"); for(inti=0;i<selectFlag.length;i++){ Stringsql="deletefromgzwhereid="+selectFlag[i]; Statementstmt=conn.createStatement(); stmt.executeUpdate(sql); } this.list(n,m,conn,pageNo,request,response); } if(mode!=null&&mode.equals("kqlist")){ Stringdate=request.getParameter("date"); Stringuname=request.getParameter("uname"); Stringstate=request.getParameter("state"); System.out.println("date"+date); if(date!=null&&!date.equals("")){//有日期 Stringsql="selectcount(*)ascfromkqwhere1=1andtimes='"+date+"'"; PreparedStatementpstmt1=conn.prepareStatement(sql); ResultSetrs=pstmt1.executeQuery(); rs.next(); if(rs.getInt("c")!=0){//有數(shù)據(jù) System.out.println("((((((((((((((((((((((((((((("); }else{//沒有新增數(shù)據(jù) Stringsql2="select*fromusers"; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ StringsqlAdd="insertintokq(uid,uname,times,state)values(" +rs2.getInt("id")+",'"+rs2.getString("username")+"','"+date+"','未缺勤')"; System.out.println("##########"+sqlAdd); Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); } } }else{ Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); StringstrDate2=formatter.format(date2); Stringsql="selectcount(*)ascfromkqwhere1=1andtimes='"+strDate2+"'"; PreparedStatementpstmt1=conn.prepareStatement(sql); ResultSetrs=pstmt1.executeQuery(); rs.next(); if(rs.getInt("c")!=0){//有數(shù)據(jù) }else{//沒有新增數(shù)據(jù) Stringsql2="select*fromusers"; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ StringsqlAdd="insertintokq(uid,uname,times,state)values(" +rs2.getInt("id")+",'"+rs2.getString("username")+"','"+strDate2+"','未缺勤')"; System.out.println("sqlAddsqlAdd"+sqlAdd); Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); } } } Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMkqwhere1=1"; Stringsql2="selectcount(*)fromkqwhere1=1"; if(date!=null&&!date.equals("")){ sql+="andtimes='"+date+"'"; sql2+="andtimes='"+date+"'"; }else{ Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); StringstrDate2=formatter.format(date2); sql+="andtimes='"+strDate2+"'"; sql2+="andtimes='"+strDate2+"'"; } if(uname!=null&&!uname.equals("")){ sql+="andunamelike'%"+uname+"%'"; sql2+="andunamelike'%"+uname+"%'"; } if(state!=null&&!state.equals("")){ if(state.equals("全部")){ }else{ sql+="andstate='"+state+"'"; sql2+="andstate='"+state+"'"; } } sql+=")AWHERERowNumber>"+m; PreparedStatementpstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); inttotle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Kq>list=newArrayList<Kq>(); while(rs.next()){ Kqbean=newKq(); bean.setId(rs.getInt("id")); bean.setUid(rs.getInt("uid")); bean.setUname(rs.getString("uname")); bean.setState(rs.getString("state")); bean.setTimes(rs.getString("times")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("tab/kqList.jsp").forward( request,response); } if(mode!=null&&mode.equals("kqsz")){ Stringid=request.getParameter("id"); Stringstate=request.getParameter("state"); Stringsqlmodify="updatekqsetstate='"+state +"'whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlmodify); request.getRequestDispatcher("UserServlet?mode=kqlist").forward( request,response); } if(mode!=null&&mode.equals("ukqsearch")){ Stringdate=request.getParameter("date"); Stringstate=request.getParameter("state"); HttpSessionsession=request.getSession(); Stringuid=session.getAttribute("id").toString(); Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMkqwhere1=1anduid="+uid; Stringsql2="selectcount(*)fromkqwhere1=1anduid="+uid; if(date!=null&&!date.equals("")){ sql+="andtimes='"+date+"'"; sql2+="andtimes='"+date+"'"; }else{ Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); StringstrDate2=formatter.format(date2); sql+="andtimes='"+strDate2+"'"; sql2+="andtimes='"+strDate2+"'"; } if(state!=null&&!state.equals("")){ if(state.equals("全部")){ }else{ sql+="andstate='"+state+"'"; sql2+="andstate='"+state+"'"; } } sql+=")AWHERERowNumber>"+m; PreparedStatementpstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); inttotle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Kq>list=newArrayList<Kq>(); while(rs.next()){ Kqbean=newKq(); bean.setId(rs.getInt("id")); bean.setUid(rs.getInt("uid")); bean.setUname(rs.getString("uname")); bean.setState(rs.getString("state")); bean.setTimes(rs.getString("times")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("tab/kqSearchu.jsp").forward( request,response); } if(mode!=null&&mode.equals("kqsearch")){ Stringdate=request.getParameter("date"); Stringuname=request.getParameter("uname"); Stringstate=request.getParameter("state"); if(date!=null&&!date.equals("")){//有日期 Stringsql="selectcount(*)fromkqwhere1=1andtimes='"+date+"'"; PreparedStatementpstmt1=conn.prepareStatement(sql); ResultSetrs=pstmt1.executeQuery(); if(rs.next()){//有數(shù)據(jù) }else{//沒有新增數(shù)據(jù) Stringsql2="select*fromusers"; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ StringsqlAdd="insertintokq(uid,uname,times,state)values(" +rs2.getInt("id")+"','"+rs2.getString("username")+"',"+date+",'未缺勤')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); } } }else{ Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); StringstrDate2=formatter.format(date2); Stringsql="selectcount(*)ascfromkqwhere1=1andtimes='"+strDate2+"'"; PreparedStatementpstmt1=conn.prepareStatement(sql); ResultSetrs=pstmt1.executeQuery(); rs.next(); if(rs.getInt("c")!=0){//有數(shù)據(jù) }else{//沒有新增數(shù)據(jù) Stringsql2="select*fromusers"; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ StringsqlAdd="insertintokq(uid,uname,times,state)values(" +rs2.getInt("id")+",'"+rs2.getString("username")+"','"+strDate2+"','未缺勤')"; System.out.println("sqlAddsqlAdd"+sqlAdd); Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); } } } Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMkqwhere1=1"; Stringsql2="selectcount(*)fromkqwhere1=1"; if(date!=null&&!date.equals("")){ sql+="andtimes='"+date+"'"; sql2+="andtimes='"+date+"'"; }else{ Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); StringstrDate2=formatter.format(date2); sql+="andtimes='"+strDate2+"'"; sql2+="andtimes='"+strDate2+"'"; } if(uname!=null&&!uname.equals("")){ sql+="andunamelike'%"+uname+"%'"; sql2+="andunamelike'%"+uname+"%'"; } if(state!=null&&!state.equals("")){ if(state.equals("全部")){ }else{ sql+="andstate='"+state+"'"; sql2+="andstate='"+state+"'"; } } sql+=")AWHERERowNumber>"+m; PreparedStatementpstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); inttotle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Kq>list=newArrayList<Kq>(); while(rs.next()){ Kqbean=newKq(); bean.setId(rs.getInt("id")); bean.setUid(rs.getInt("uid")); bean.setUname(rs.getString("uname")); bean.setState(rs.getString("state")); bean.setTimes(rs.getString("times")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.set

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論