企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

...wd...企業(yè)員工信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-2"\u摘要IABSTRACTII1緒論11.1研究背景11.2本課題研究現(xiàn)狀12企業(yè)信息管理系統(tǒng)分析32.1需求分析32.2技術(shù)可行性42.3環(huán)境可行性分析52.4系統(tǒng)構(gòu)造可行性分析63企業(yè)信息管理系統(tǒng)設(shè)計(jì)93.1數(shù)據(jù)庫(kù)設(shè)計(jì)93.2系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)134系統(tǒng)實(shí)現(xiàn)184.1用戶(hù)操作文件總體架構(gòu)184.2技術(shù)難點(diǎn)285系統(tǒng)測(cè)試295.1界面測(cè)試295.2功能測(cè)試295.3需求測(cè)試305.4性能測(cè)試305.5企業(yè)員工信息管理系統(tǒng)的測(cè)試30總結(jié)31摘要在當(dāng)今社會(huì),互聯(lián)網(wǎng)空前的開(kāi)展,給人們的工作和生活帶來(lái)了極大的便利和高效,信息化,電子化已經(jīng)成為節(jié)約運(yùn)營(yíng)成本,提高工作效率的首選。考慮到當(dāng)前大量企業(yè)的企業(yè)員工管理尚處于手工作業(yè)階段,不但效率低下,還常常因?yàn)楣芾淼牟簧鞫霈F(xiàn)紕漏。因此根據(jù)局部企業(yè)提供的需求,設(shè)計(jì)此企業(yè)企業(yè)員工管理系統(tǒng),以幫助企業(yè)到達(dá)企業(yè)員工管理辦公自動(dòng)化、節(jié)約管理成本、提高企業(yè)工作效率的目的。根據(jù)實(shí)際需求,“企業(yè)員工信息管理系統(tǒng)〞工程采用模塊化的設(shè)計(jì)思想,在WindowsXP操作系統(tǒng)環(huán)境下,搭建JSP運(yùn)行環(huán)境JDK+TOMCAT,通過(guò)使用JAVA腳本語(yǔ)言完成動(dòng)態(tài)的、交互的web服務(wù)器應(yīng)用程序,實(shí)現(xiàn)員工個(gè)人信息查詢(xún)、個(gè)人業(yè)績(jī)查詢(xún)及用戶(hù)密碼修改功能。本系統(tǒng)具有多方面特點(diǎn):系統(tǒng)功能完備,用戶(hù)使用方便簡(jiǎn)捷,人性化的用戶(hù)界面,安全保密設(shè)置齊全,大大減少了操作人員和用戶(hù)的工作負(fù)擔(dān),提高了企業(yè)員工信息管理的工作效率和企業(yè)的信息化的水平。關(guān)鍵詞:java;jsp;信息管理、企業(yè)員工1緒論隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí)。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)企業(yè)員工信息進(jìn)展管理,具有著手工管理所無(wú)法比較的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大地提高企業(yè)員工管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。根據(jù)以上情況,大量企業(yè)已經(jīng)實(shí)施建設(shè)企業(yè)員工信息管理系統(tǒng),因?yàn)槠髽I(yè)員工信息管理是一個(gè)企業(yè)單位不可缺少的局部,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以企業(yè)員工信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段??梢越鉀Q一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案存在著的許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著計(jì)算機(jī)技術(shù)的飛速開(kāi)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算實(shí)現(xiàn)企業(yè)企業(yè)員工檔案的管理勢(shì)在必行。企業(yè)員工管理系統(tǒng)是現(xiàn)代企業(yè)管理工作不可缺少的一局部,是適應(yīng)現(xiàn)代企業(yè)制度要求、推動(dòng)企業(yè)勞動(dòng)企業(yè)員工管理走向科學(xué)化、標(biāo)準(zhǔn)化的必要條件。企業(yè)員工信息管理系統(tǒng)是針對(duì)企業(yè)信息管理部門(mén)的大量業(yè)務(wù)處理工作用計(jì)算機(jī)進(jìn)展全面現(xiàn)代化管理,該系統(tǒng)必須具備以下基本功能:〔1〕企業(yè)員工檔案管理數(shù)據(jù)庫(kù)及表的操作。實(shí)現(xiàn)對(duì)企業(yè)員工檔案管理數(shù)據(jù)庫(kù)及表的創(chuàng)立,表中數(shù)據(jù)的維護(hù)?!?〕企業(yè)員工檔案信息的管理。實(shí)現(xiàn)企業(yè)員工信息的添加、保存、修改和刪除等?!?〕企業(yè)員工檔案信息的應(yīng)用。實(shí)現(xiàn)企業(yè)員工信息的查詢(xún)、統(tǒng)計(jì)和企業(yè)員工資源的利用等。1.1研究背景現(xiàn)代信息技術(shù)的開(kāi)展,在改變著我們的生活方式的同時(shí),也改變著我們的工作方式,使傳統(tǒng)意義上的企業(yè)員工管理的形式和內(nèi)涵都在發(fā)生著基本性的變化。企業(yè)員工信息管理的內(nèi)容也己經(jīng)轉(zhuǎn)變?yōu)閷?duì)更為廣泛的系統(tǒng)價(jià)值的追求。信息管理,如今已是一個(gè)熱門(mén)話題,它已為許多企業(yè)所采用。在現(xiàn)代化的進(jìn)程中,引入現(xiàn)代管理的思想,建設(shè)一套可面向企業(yè)單位的員工信息管理系統(tǒng),也是十分必要的。本課題基于我國(guó)企業(yè)管理信息化建設(shè)現(xiàn)狀,結(jié)合在實(shí)際工作中所遇到的問(wèn)題和收獲,對(duì)企業(yè)員工管理系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)等方面進(jìn)展研究,重點(diǎn)研究系統(tǒng)開(kāi)發(fā)中所采用的軟硬件平臺(tái)標(biāo)準(zhǔn)、數(shù)據(jù)庫(kù)構(gòu)造設(shè)計(jì)、開(kāi)發(fā)工具的選擇與使用,目的是從技術(shù)手段的角度闡述若何實(shí)現(xiàn)企業(yè)從傳統(tǒng)經(jīng)營(yíng)管理模式向信息化管理模式轉(zhuǎn)變的過(guò)程,以及企業(yè)員工管理系統(tǒng)在企業(yè)管理信息化中所起到的重要作用。1.2本課題研究現(xiàn)狀目前,在國(guó)內(nèi)外各大企業(yè)單位中,企業(yè)員工信息管理系統(tǒng)的使用是非常廣泛的。同時(shí),有很多的軟件開(kāi)發(fā)商也開(kāi)發(fā)了許多基于各種行業(yè)的企業(yè)員工管理學(xué)系統(tǒng)。而不同的企業(yè)具有不同的企業(yè)員工管理制度,這就決定了不同的企業(yè)需要不同的企業(yè)員工管理系統(tǒng)。而且,企業(yè)管理信息量大、操作繁瑣、傳統(tǒng)的方式不再適應(yīng)新的工作需要,開(kāi)發(fā)研制適合企業(yè)的企業(yè)員工管理系統(tǒng),使其具有整體性強(qiáng)、流程簡(jiǎn)單、操作方便、功能豐富和通用性強(qiáng)等特點(diǎn),是加快企業(yè)人才管理工作辦公自動(dòng)化、信息資源化和管理科學(xué)化建設(shè)進(jìn)程必要途徑。因此建設(shè)適合企業(yè)的管理信息系統(tǒng),是促進(jìn)企業(yè)信息高速公路的開(kāi)展,為企業(yè)的開(kāi)展提供條件的重要課題。1954年美國(guó)通用電氣公司安裝的第一臺(tái)商業(yè)用數(shù)據(jù)處理計(jì)算機(jī),開(kāi)創(chuàng)了信息系統(tǒng)應(yīng)用于中小企業(yè)管理的先河。二十世紀(jì)50年代中期到60年代中期,EDPS在中小企業(yè)中得到廣泛應(yīng)用,主要是用計(jì)算機(jī)局部地代替手工勞動(dòng),進(jìn)展一些簡(jiǎn)單的單項(xiàng)數(shù)據(jù)處理工作,如計(jì)算工資、統(tǒng)計(jì)產(chǎn)量等。80年代在中小企業(yè)中開(kāi)場(chǎng)使用一種典型的管理信息系統(tǒng)-MRPⅡ〔制造資源方案〕。MRPⅡ于1977年提出的,它以MRP為核心,將生產(chǎn)制造、財(cái)務(wù)會(huì)計(jì)、市場(chǎng)營(yíng)銷(xiāo)、工程管理、采購(gòu)供給以及信息管理等各個(gè)部門(mén)納入整體管理之中,構(gòu)成了完整運(yùn)作體系。90年代以來(lái)MRPⅡ也逐漸開(kāi)展成為新一代的中小企業(yè)資源系統(tǒng)〔ERP〕。ERP在MRPⅡ根基上將供給商和中小企業(yè)內(nèi)部的采購(gòu)、生產(chǎn)、銷(xiāo)售以及客戶(hù)看作一個(gè)嚴(yán)密聯(lián)系的供給鏈,通過(guò)信息技術(shù)和管理理論對(duì)中小企業(yè)的物流、資金流和信息流進(jìn)展全面的集成管理,以提高供給鏈的運(yùn)行效率,追求中小企業(yè)資源的合理高效利用,提高中小企業(yè)在全球市場(chǎng)中的競(jìng)爭(zhēng)能力。以MRPⅡ/ERP為代表的現(xiàn)代中小企業(yè)管理信息系統(tǒng)主要支持中小企業(yè)內(nèi)部管理業(yè)務(wù)。隨著網(wǎng)絡(luò)的迅猛開(kāi)展,出現(xiàn)了各種管理思想和模式的管理信息系統(tǒng),如客戶(hù)關(guān)系管理〔CRM〕、供給鏈管理〔SCM〕、商業(yè)智能〔BI〕、電子商務(wù)〔EC〕和計(jì)算機(jī)集成制造系統(tǒng)〔CMIS〕等。中小企業(yè)管理信息系統(tǒng)逐步會(huì)開(kāi)展成為一種融合各種管理思想和信息技術(shù)的面向產(chǎn)品生命周期的集成系統(tǒng),以實(shí)現(xiàn)資源共享、數(shù)據(jù)共享、適應(yīng)網(wǎng)絡(luò)經(jīng)濟(jì)的充分柔性的中小企業(yè)管理信息系統(tǒng)。企業(yè)級(jí)信息管理涉及到眾多的工程、人員、數(shù)據(jù)和報(bào)告,如果沒(méi)有一個(gè)有效的信息管理系統(tǒng)來(lái)支持和提高工作效率,企業(yè)信息管理將會(huì)難以實(shí)施?,F(xiàn)在眾多的軟件公司都開(kāi)發(fā)出了自己的企業(yè)信息管理信息系統(tǒng),包括微軟公司的MicrosoftProject2003;Primavera公司的PrimaveraProjectPlannerforEnterprise;Welcom公司的OpenPlan等,這些都是比較優(yōu)秀的企業(yè)工程信息管理軟件,但軟件只是一個(gè)輔助工具,如果沒(méi)有首先建設(shè)一個(gè)科學(xué)的企業(yè)信息管理體系,則企業(yè)工程管理軟件將難以發(fā)揮作用。因此,研究若何建設(shè)一個(gè)精簡(jiǎn)、有效的企業(yè)信息管理體系,企業(yè)信息管理信息系統(tǒng),若何有效支持企業(yè)工程管理體系,從而提高企業(yè)的工程管理能力,是具有非常重大的實(shí)際應(yīng)用意義的。2企業(yè)信息管理系統(tǒng)分析2.1需求分析2.1.1功能需求隨著經(jīng)濟(jì)的迅速開(kāi)展,企業(yè)的規(guī)模越來(lái)越大,企業(yè)的管理也越來(lái)越復(fù)雜,組織機(jī)構(gòu)越來(lái)越龐大,組織的劃分也越來(lái)越細(xì),對(duì)企業(yè)各組織部門(mén)的管理以及各部門(mén)內(nèi)部各職務(wù)的管理變的十分復(fù)雜,需要借助于計(jì)算機(jī)來(lái)進(jìn)展管理。企業(yè)人員數(shù)量的增多,對(duì)員工的管理也是一項(xiàng)繁重的工作,不僅要對(duì)員工的基本信息進(jìn)展管理,還要對(duì)員工的動(dòng)態(tài)信息進(jìn)展管理,例如調(diào)動(dòng)信息,離職信息等,企業(yè)應(yīng)對(duì)員工的這些動(dòng)態(tài)信息及時(shí)的進(jìn)展登記,只有合理的對(duì)員工進(jìn)展管理,企業(yè)才能有條不紊的運(yùn)行。進(jìn)入企業(yè)的員工要與企業(yè)簽訂合同,合同管理關(guān)系到員工和企業(yè)雙方的利益,因而需要進(jìn)展認(rèn)真的管理。為了企業(yè)擴(kuò)展的需要,需要招聘新的人才,為企業(yè)注入新的血液,所以招聘信息以及應(yīng)聘人員的信息的管理也相當(dāng)重要。經(jīng)濟(jì)迅猛開(kāi)展,競(jìng)爭(zhēng)日趨劇烈,企業(yè)為了能在競(jìng)爭(zhēng)中立于不敗之地,對(duì)員工的素質(zhì)提出更高的要求,因而企業(yè)需要定期對(duì)員工進(jìn)展培訓(xùn),以便員工能更好的掌握新知識(shí)、新技術(shù),提高工作效率,培訓(xùn)管理就是對(duì)企業(yè)開(kāi)展的培訓(xùn)進(jìn)展規(guī)劃管理。此外,為了進(jìn)一步調(diào)發(fā)開(kāi)工的積極性,適當(dāng)?shù)陌l(fā)放福利也是必要的,所以對(duì)福利的管理也是必不可少的??紤]到對(duì)系統(tǒng)的安全控制,需要對(duì)登錄該系統(tǒng)的管理員進(jìn)展驗(yàn)證,因此涉及到對(duì)系統(tǒng)管理員的管理,綜上分析,該系統(tǒng)應(yīng)具備管理員登錄管理功能,組織管理功能,人事管理功能,合同管理功能,招聘管理功能以及福利管理功能等。根據(jù)以上分析,可得系統(tǒng)的功能模塊劃分,系統(tǒng)功能模塊圖如圖2-1所示。企業(yè)員工信息管理系統(tǒng)企業(yè)員工信息管理系統(tǒng)人事管理考勤管理招聘管理系統(tǒng)管理薪酬管理主管部門(mén)審批人事部門(mén)審批人力規(guī)劃用戶(hù)管理添加用戶(hù)薪酬查詢(xún)薪酬修改薪酬登記考勤規(guī)劃設(shè)置招聘信息管理員工考勤登記考勤分析報(bào)表圖2.1企業(yè)員工信息管理系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖展示了該系統(tǒng)的模塊劃分,是系統(tǒng)總體功能的初步分析概括。管理員登錄后,可以在主控界面查看統(tǒng)計(jì)分析信息,使用幫助信息,通過(guò)查看使用幫助信息可以了解系統(tǒng)操作的本卷須知以及一些具體操作的使用說(shuō)明,熟悉系統(tǒng)的操作標(biāo)準(zhǔn)后,管理員可以對(duì)人事管理,考勤管理,招聘管理,薪酬管理,培訓(xùn)開(kāi)展管理,系統(tǒng)管理等模塊進(jìn)展相應(yīng)的操作,從而實(shí)現(xiàn)對(duì)各個(gè)模塊的管理。2.1.2數(shù)據(jù)需求(1)數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來(lái)源是手工輸入。手工輸入要通過(guò)系統(tǒng)界面上的安排系統(tǒng)具有容錯(cuò)性,并且對(duì)操作人員要進(jìn)展系統(tǒng)的培訓(xùn)。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。(2)數(shù)據(jù)的安全性本系統(tǒng)為企業(yè)人事管理部門(mén)設(shè)計(jì),因此只有特定的人事管理者才能對(duì)數(shù)據(jù)實(shí)現(xiàn)增,刪,改,查等操作。未獲授權(quán)人員不能進(jìn)入系統(tǒng)。(3)數(shù)據(jù)的備份要定期對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)展全部或新增局部的備份工作,以保證在硬件出現(xiàn)故障或人為原因?qū)е聼o(wú)法運(yùn)行時(shí)是可以快速及時(shí)的復(fù)原到原來(lái)的正常狀態(tài)。2.2技術(shù)可行性2.2.1程序語(yǔ)言的選擇JSP(JavaServerPages)是一種新動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),類(lèi)似其他技術(shù)標(biāo)準(zhǔn).在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中參加Java程序片斷(Scriptlet)和JSP標(biāo)簽,構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)Servlet/JSPContainer收到客戶(hù)端發(fā)出的請(qǐng)求時(shí),首先執(zhí)行其中的程序片斷,軟后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶(hù)端,其中程序片斷可以是:操作數(shù)據(jù)庫(kù),重新定向網(wǎng)頁(yè)以及發(fā)送E-Mail等等,這些都是建設(shè)動(dòng)態(tài)網(wǎng)站所需要的功能.所有程序操作都在服務(wù)器端運(yùn)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,與客戶(hù)端的瀏覽器無(wú)關(guān),因此,JSP稱(chēng)為Server-sideLanguage.所以被許多人認(rèn)為是未來(lái)最有開(kāi)展前途的動(dòng)態(tài)網(wǎng)站技術(shù)之一。經(jīng)過(guò)比較,PHP功能相對(duì)簡(jiǎn)單,不適合作大程序,而CGI效率相對(duì)較低,所以也不考慮,因?yàn)樵撓到y(tǒng)并沒(méi)有原有的根基平臺(tái)需要擴(kuò)展,也不需要與其他系統(tǒng)進(jìn)展太多的交互,所以使用J2EE的模式并不能夠表達(dá)出J2EE本身的優(yōu)勢(shì),而JSP又是J2EE的核心技術(shù)之一,可以隨時(shí)升級(jí)為J2EE程序,這里暫時(shí)不考慮采用J2EE,這樣只需要在ASP和JSP中進(jìn)展選擇.在進(jìn)展了諸多因素的比較之后,最終認(rèn)為目前這個(gè)階段比較適宜的是JSP,而選擇Struts架構(gòu)作為開(kāi)發(fā)的主體框架,選用Hibernate作為數(shù)據(jù)持續(xù)性處理層,則是考慮到了其高速的開(kāi)發(fā)效率,及代碼重用性高,易于維護(hù)等各種優(yōu)勢(shì)。其最終目的是希望提高系統(tǒng)底層業(yè)務(wù)邏輯的可重用性,增加系統(tǒng)的可擴(kuò)展性,降低系統(tǒng)維護(hù)成本。2.2.2JSP技術(shù)特點(diǎn)·將內(nèi)容的生成和顯示進(jìn)展別離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面.使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容.生成的內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面而不影響內(nèi)容的生成?!ひ淮尉帉?xiě),到處運(yùn)行作為Java平臺(tái)的一局部,JSP擁有Java編程語(yǔ)言〞一次編寫(xiě),到處運(yùn)行〞的特點(diǎn),隨著越來(lái)越多的供給商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,但并不影響當(dāng)前的應(yīng)用?!SP的平臺(tái)適應(yīng)性更廣這是JSP比ASP的優(yōu)越之處,幾乎所有的平臺(tái)都支持Java,它們可以在任何平臺(tái)下通行無(wú)阻。雖然NT的OS占據(jù)了很大的市場(chǎng)的份額,但在服務(wù)器方面UNIX的優(yōu)勢(shì)仍然很大。從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)注的字節(jié)碼與平臺(tái)無(wú)關(guān)?!?shù)據(jù)庫(kù)連接技術(shù)很多的OS中都帶有JDBC驅(qū)動(dòng)程序,Java就通過(guò)JDBC與數(shù)據(jù)庫(kù)連接,執(zhí)行查詢(xún),提取數(shù)據(jù)等操作。Sun公司還提供了JDBC-ODBC的橋連方式,因此Java也可以訪問(wèn)帶有ODBC驅(qū)動(dòng)的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng),所以Java能訪問(wèn)諸如Oracle、Sybase、MSSQLServer和Access等類(lèi)型的數(shù)據(jù)庫(kù)。2.2.3操作可行性對(duì)于用戶(hù)來(lái)說(shuō),本系統(tǒng)只要求使用者掌握一定的上網(wǎng)經(jīng)歷,經(jīng)過(guò)仔細(xì)設(shè)計(jì)和測(cè)試之后的系統(tǒng)具有操作簡(jiǎn)單,方便靈活等優(yōu)點(diǎn),足可以滿(mǎn)足各種用戶(hù)的不同需求,同時(shí)也方便了公司的內(nèi)部管理。管理人員及用戶(hù)一定會(huì)在短時(shí)間內(nèi)掌握并熟練使用。只要?jiǎng)右粍?dòng)鼠標(biāo)鍵盤(pán)就可以到達(dá)想要的效果。2.2.4經(jīng)濟(jì)可行性系統(tǒng)的經(jīng)濟(jì)可行性指的是對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)展分析,對(duì)系統(tǒng)建設(shè)、運(yùn)行和維護(hù)費(fèi)用進(jìn)展估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)展估計(jì)。本模塊簡(jiǎn)單易開(kāi)發(fā),且開(kāi)發(fā)需要資金少,系統(tǒng)開(kāi)發(fā)運(yùn)行后,可以實(shí)現(xiàn)企業(yè)員工信息管理的計(jì)算機(jī)化,節(jié)省了人力、物力,將人從繁重的工作業(yè)務(wù)中解脫出來(lái),減少了信息管理中無(wú)意的錯(cuò)誤,節(jié)省了大量的時(shí)間,管理效率也大幅度提高,因此,在經(jīng)濟(jì)上是可行的。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本。在經(jīng)濟(jì)上完全可行。2.2.5綜合綜上所述,本系統(tǒng)使用JSP開(kāi)發(fā)技術(shù),工作平臺(tái)為應(yīng)用界面友好且功能強(qiáng)大的由MXMyECplise軟件,服務(wù)器端腳本用JAVA腳本來(lái)編寫(xiě),客戶(hù)端腳本也用JAVA來(lái)編寫(xiě),數(shù)據(jù)庫(kù)使用MicrosoftSQLServer2000數(shù)據(jù)庫(kù),服務(wù)器是TOMCAT。在大學(xué)的學(xué)習(xí)中,已經(jīng)自學(xué)過(guò)JAVA這種語(yǔ)言,并且曾經(jīng)參加實(shí)訓(xùn)開(kāi)發(fā)工程,有一定的實(shí)地開(kāi)發(fā)經(jīng)歷。且熱愛(ài)計(jì)算機(jī)科學(xué),又刻苦鉆研的精神,經(jīng)過(guò)大學(xué)四年的學(xué)習(xí),相關(guān)課程已基本熟練掌握,本系統(tǒng)是在學(xué)校開(kāi)發(fā),遇到問(wèn)題可以與同學(xué)一起研究,再加上指導(dǎo)教師的指導(dǎo)。因此在技術(shù)上能夠適應(yīng)本系統(tǒng)的開(kāi)發(fā)。2.3環(huán)境可行性分析2.3.1軟件環(huán)境·操作系統(tǒng):Win2kServersp4·數(shù)據(jù)庫(kù):MicrosoftSQLServer2000EnterpriseEditionsp4·Web服務(wù)器:TOMCAT·IDE;Eclipse3.1.1+Myeclipse4.1.1GA+Lomboz+emf,Dreamweaver8·外部包:Struts.jarHibernate.jar2.3.2硬件環(huán)境AMDAthlon643000+,KingMaxPC3200512MB×2,GainwardNV35XTSeagateSATA8M120GB×22.4系統(tǒng)構(gòu)造可行性分析2.4.1模式采用本系統(tǒng)采用B/S模式。B/S〔Browser/Server〕構(gòu)造即瀏覽器和服務(wù)器構(gòu)造。它是隨著Internet技術(shù)的興起,對(duì)C/S構(gòu)造的一種變化或者改良的構(gòu)造。在這種構(gòu)造下,用戶(hù)工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少局部事務(wù)邏輯在前端〔Browser〕實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端〔Server〕實(shí)現(xiàn),形成所謂三層3-tier構(gòu)造。這樣就大大簡(jiǎn)化了客戶(hù)端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體成本〔TCO〕。以目前的技術(shù)看,局域網(wǎng)建設(shè)B/S構(gòu)造的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式〔比方LAN,WAN,Internet/Intranet等〕訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。目前,軟件系統(tǒng)的改良和升級(jí)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品明顯表達(dá)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶(hù)端只是瀏覽器,基本不需要做任何的維護(hù)。無(wú)論用戶(hù)的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)展;如果是異地,只需要把服務(wù)器連接專(zhuān)網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶(hù)機(jī)越來(lái)越“瘦〞,而服務(wù)器越來(lái)越“胖〞是將來(lái)信息化開(kāi)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)會(huì)越來(lái)越簡(jiǎn)單,這對(duì)用戶(hù)人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見(jiàn)的。因此,維護(hù)和升級(jí)革命的方式是“瘦〞客戶(hù)機(jī),“胖〞服務(wù)器。現(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大局部人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速開(kāi)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的。2.4.2Struts架構(gòu)隨著Web開(kāi)發(fā)技術(shù)的日益成熟,在Web開(kāi)發(fā)開(kāi)發(fā)領(lǐng)域中出現(xiàn)了許多設(shè)計(jì)好的軟件開(kāi)發(fā)框架,Struts就是一種基于MVC經(jīng)典設(shè)計(jì)模式的框架,也是當(dāng)前Web開(kāi)發(fā)中比較成熟的一種框架。2.4.3經(jīng)典MVC模式MVC(Model-View-Controller)模式,即模型-視圖-控制器模式,其核心思想是將整個(gè)程序代碼分成相對(duì)獨(dú)立而又能協(xié)同工作的3個(gè)組成局部?!つP?Model):業(yè)務(wù)邏輯層。實(shí)現(xiàn)具體的業(yè)務(wù)邏輯,狀態(tài)管理的功能。·視圖(View):表示層。即與用戶(hù)實(shí)現(xiàn)交互的界面,通常實(shí)現(xiàn)數(shù)據(jù)輸入和輸出功能?!た刂破?Controller):控制層。起到控制整個(gè)業(yè)務(wù)流程(FlowControl)的作用,實(shí)現(xiàn)View和Model局部的協(xié)同工作。MVC設(shè)計(jì)模式可以針對(duì)需要為同樣的數(shù)據(jù)提供多個(gè)不同視圖的應(yīng)用程序,例如:公司產(chǎn)品數(shù)據(jù)庫(kù)中同樣的產(chǎn)品信息數(shù)據(jù),但需要根據(jù)用戶(hù)的不同需求在頁(yè)面中顯示其所需的不同產(chǎn)品信息。MVC設(shè)計(jì)模式中,事件一般是指客戶(hù)端Web瀏覽器提交的各種不同請(qǐng)求,這些請(qǐng)求由控制器進(jìn)展處理,控制器根據(jù)事件的類(lèi)型來(lái)改變模型或各個(gè)視圖,視圖也可以承受模型發(fā)出的數(shù)據(jù)更新的通知,依據(jù)數(shù)據(jù)更新的結(jié)果調(diào)整視圖效果,呈現(xiàn)在用戶(hù)面前。而模型也可以通過(guò)視圖所獲得的用戶(hù)提交的數(shù)據(jù)進(jìn)展具體業(yè)務(wù)邏輯的處理。原理如圖2.2所示。圖2.2MVC設(shè)計(jì)模式的構(gòu)造Struts1.2開(kāi)發(fā)框架作為基于MVC設(shè)計(jì)模式的Web應(yīng)用的一種典型表達(dá),Struts架構(gòu)實(shí)際上是建設(shè)在Model2根基上的,對(duì)Model,View和Controller都提供了現(xiàn)成的實(shí)現(xiàn)組建。Controller控制器局部Struts中的Controller控制器局部是通過(guò)專(zhuān)門(mén)的Servlet來(lái)實(shí)現(xiàn)的,該Servlet是一個(gè)StrutsAPI中提供的ActionServlet類(lèi)型的實(shí)例,ActionServlet類(lèi)繼承了javax.servlet..Servlet類(lèi),因此該類(lèi)的實(shí)例可以和普通的Servlet一樣工作,其作用是接收客戶(hù)端瀏覽器的請(qǐng)求,然后選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,再把響應(yīng)結(jié)果送回到客戶(hù)端。Action對(duì)象是開(kāi)發(fā)者定義的類(lèi)(該類(lèi)必須是StrutsAPI中提供的Action類(lèi)的子類(lèi))的實(shí)例。在繼承該類(lèi)的過(guò)程中開(kāi)發(fā)者可以參加具體業(yè)務(wù)邏輯或調(diào)用業(yè)務(wù)邏輯模塊。Action對(duì)象在進(jìn)展了業(yè)務(wù)邏輯或調(diào)用業(yè)務(wù)邏輯模塊。Action對(duì)象在進(jìn)展了業(yè)務(wù)邏輯的處理以后會(huì)將應(yīng)用程序流程轉(zhuǎn)到適宜的View組件,最終將響應(yīng)送回瀏覽器客戶(hù)端。Struts中提倡Action對(duì)象只用來(lái)決定〞做什么〞,相當(dāng)于一個(gè)低層面的控制器,因此也可以將Action歸納為Controller的組成局部。Model模型局部MVC系統(tǒng)中的Model模型局部從概念上可以分為兩類(lèi):系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動(dòng)作.Struts中的Model局部一般由JavaBean以及EJB組成。在Struts架構(gòu)中使用JavaBean來(lái)提供具體的業(yè)務(wù)邏輯,即〞若何做〞,對(duì)于復(fù)雜的系統(tǒng)也可以使用EJB等組件來(lái)實(shí)現(xiàn)系統(tǒng)狀態(tài)維護(hù)。這種業(yè)務(wù)邏輯的細(xì)分可以增強(qiáng)可以代碼的可重用性。View視圖局部Struts中的View視圖局部依然可以采用JSP來(lái)實(shí)現(xiàn)。此外,Struts還提供了豐富的自定義標(biāo)記庫(kù),View局部使用這些自定義標(biāo)簽同樣可以實(shí)現(xiàn)與Model局部的有效交互并能夠增強(qiáng)顯示功能。3企業(yè)信息管理系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是在系統(tǒng)分析的根基上由抽象到具體的過(guò)程,主要目標(biāo)是將系統(tǒng)分析階段所提出的反映到信息需求的系統(tǒng)邏輯方案并轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理〔技術(shù)〕方案,為下一階段系統(tǒng)實(shí)施提供必要的技術(shù)資料,應(yīng)符合系統(tǒng)性、靈活性、可靠性,經(jīng)濟(jì)性的要求。3.1數(shù)據(jù)庫(kù)設(shè)計(jì)3.1.1數(shù)據(jù)庫(kù)的需求分析依據(jù)工程的處理需求,對(duì)應(yīng)數(shù)據(jù)表的設(shè)計(jì)及功能如下:·培訓(xùn)信息表:主要用于保存培訓(xùn)信息·獎(jiǎng)懲表:主要用于保存獎(jiǎng)懲信息·應(yīng)聘信息表:主要用于保存應(yīng)聘信息·薪金表:主要用于保存薪金信息·用戶(hù)表:主要用于保存用戶(hù)信息員工登記員工登記員工基本信息管理考勤信息管理員工工資設(shè)置員工考核管理完畢基本信息錄入員工工資管理考勤信息管理計(jì)算員工工資基本信息錄入圖3.1數(shù)據(jù)庫(kù)需求分析流程圖數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)登陸統(tǒng)計(jì)查詢(xún)存儲(chǔ)數(shù)據(jù)頁(yè)面應(yīng)用顯示數(shù)據(jù)退出判斷選擇存儲(chǔ)數(shù)據(jù)數(shù)據(jù)錄入統(tǒng)計(jì)查詢(xún)一般查詢(xún)圖3.2數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)流圖用戶(hù)登記用戶(hù)登記說(shuō)明:輸入用戶(hù)信息數(shù)據(jù)流來(lái)源:用戶(hù)輸入數(shù)據(jù)流去向:數(shù)據(jù)庫(kù)存儲(chǔ)方式:人工操作存儲(chǔ)員工基本信息管理員工基本信息管理說(shuō)明:用于員工基本信息的修改,刪除,添加數(shù)據(jù)流的輸入:當(dāng)前登錄用戶(hù)數(shù)據(jù)流的輸出:操作界面存儲(chǔ)方式:數(shù)據(jù)庫(kù)直接存儲(chǔ)員工考勤信息管理員工考勤信息管理說(shuō)明:用于對(duì)員工考勤的管理數(shù)據(jù)流的輸入:當(dāng)前登錄用戶(hù)數(shù)據(jù)流的輸出:操作界面存儲(chǔ)方式:數(shù)據(jù)庫(kù)直接存儲(chǔ)員工考核信息管理員工考核信息管理說(shuō)明:用于對(duì)員工考核的管理數(shù)據(jù)流的輸入:當(dāng)前登錄用戶(hù)數(shù)據(jù)流的輸出:操作界面存儲(chǔ)方式:數(shù)據(jù)庫(kù)直接存儲(chǔ)員工工資信息管理員工工資信息管理說(shuō)明:用于對(duì)員工工資信息的管理數(shù)據(jù)流的輸入:當(dāng)前登錄用戶(hù)數(shù)據(jù)流的輸出:操作界面存儲(chǔ)方式:數(shù)據(jù)庫(kù)直接存儲(chǔ)圖3.3系統(tǒng)模塊數(shù)據(jù)字典3.1.2數(shù)據(jù)庫(kù)表的具體設(shè)計(jì)表3.2.2培訓(xùn)信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述idint4是數(shù)據(jù)庫(kù)流水號(hào)namevarchar100培訓(xùn)名稱(chēng)purposevarchar500培訓(xùn)目的begintimedatetime8開(kāi)場(chǎng)培訓(xùn)時(shí)間endtimedatetime8完畢培訓(xùn)時(shí)間datumvarchar2000培訓(xùn)人員teachervarchar50培訓(xùn)講師studentvarchar50學(xué)生createtimedatetime8創(chuàng)立時(shí)間educatebit1培訓(xùn)級(jí)別effectvarchar500培訓(xùn)影響度summarizevarchar2000培訓(xùn)材料表3.2.3獎(jiǎng)懲表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述Idint4是數(shù)據(jù)庫(kù)流水號(hào)Namevarchar2000獎(jiǎng)懲名稱(chēng)Reasonvarchar50獎(jiǎng)懲原因explainvarchar50描述createtimedatetime8創(chuàng)立時(shí)間表3.2.4應(yīng)聘信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述idint4是數(shù)據(jù)庫(kù)流水號(hào)namevarchar50姓名sexbit1性別ageint4年齡jobvarchar50應(yīng)聘職位specialtyvarchar50所學(xué)專(zhuān)業(yè)experiencevarchar50工作經(jīng)歷studyeffortvarchar50在校所學(xué)專(zhuān)業(yè)schoolvarchar50畢業(yè)學(xué)校telvarchar50emailvarchar50電子郵件createtimedatetime8創(chuàng)立時(shí)間contentntext16詳細(xì)經(jīng)歷isstockbit1標(biāo)識(shí)表3.2.5薪金表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述idint4是數(shù)據(jù)庫(kù)流水號(hào)namevarchar50員工姓名basicfloat8基本薪資eatfloat8飯補(bǔ)housefloat8房補(bǔ)dutyfloat8全勤獎(jiǎng)scotfloat8賦稅punishmentfloat8額外補(bǔ)助otherfloat8罰款granttimedatetime8發(fā)放時(shí)間totalizefloat8總計(jì)表3.2.6用戶(hù)表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述idint4是數(shù)據(jù)庫(kù)流水號(hào)usernamevarchar50用戶(hù)名稱(chēng)passwordvarchar50用戶(hù)密碼sexbit1用戶(hù)性別birthdaydatetime8用戶(hù)出生年月日createtimedatetime8用戶(hù)創(chuàng)立的時(shí)間isadminbit1是否超級(jí)管理員contentvarchar2000管理員級(jí)別3.2系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)3.2.1功能設(shè)計(jì)本系統(tǒng)主要用于對(duì)企業(yè)中的“人〞進(jìn)展管理。具體地講,企業(yè)員工信息管理系統(tǒng)就是通過(guò)企業(yè)員工信息規(guī)劃、員工考核、薪酬管理、員工鼓勵(lì)、人才培訓(xùn)和開(kāi)發(fā)等一系列手段來(lái)提高勞動(dòng)生產(chǎn)率,最終到達(dá)開(kāi)展目標(biāo)的一種管理行為。具體實(shí)現(xiàn)目標(biāo)如下。實(shí)現(xiàn)對(duì)員工信息進(jìn)展全面管理的功能。設(shè)置企業(yè)員工根基信息管理功能。設(shè)置員工考勤管理功能模塊。員工薪酬信息管理。實(shí)現(xiàn)企業(yè)員工培訓(xùn)信息全程跟蹤的功能。實(shí)現(xiàn)企業(yè)的招聘信息、應(yīng)聘信息的管理功能。企業(yè)人才庫(kù)管理功能。系統(tǒng)用戶(hù)信息的管理。系統(tǒng)最大限度地實(shí)現(xiàn)了易安裝性、易維護(hù)性和易操作性。系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.2.2模塊設(shè)計(jì)企業(yè)員工信息管理系統(tǒng)是針對(duì)中小企業(yè)對(duì)現(xiàn)有員工和新聘員工的一個(gè)WEB管理平臺(tái)。主頁(yè)功能模塊主要包括以下功能模塊:人員管理:主要包括瀏覽人員信息、添加人員信息、人員信息的添加、人員信息的修改。招聘管理:主要包括應(yīng)聘人員信息的詳細(xì)查看、刪除、添加以及信息入庫(kù)。培訓(xùn)管理:主要包括培訓(xùn)方案的詳細(xì)信息、信息刪除、添加培訓(xùn)方案和填寫(xiě)培訓(xùn)總結(jié)。獎(jiǎng)懲管理:主要包括獎(jiǎng)懲詳細(xì)信息、刪除詳細(xì)信息、添加詳細(xì)信息、修改詳細(xì)信息。薪金管理:主要包括薪金的修改、添加、刪除。企業(yè)員工信息管理系統(tǒng)功能模塊之間的關(guān)系基本信息管理功能集合包括部門(mén)信息管理和員工信息管理等功能模塊。此集合中功能模塊的關(guān)系如圖3.4所示。員工基本管理員工基本管理員工業(yè)績(jī)信息管理員工工作經(jīng)歷管理員工基本信息管理部門(mén)信息管理圖3.4員工基本信息管理模塊關(guān)系圖員工基本信息管理模塊是整個(gè)系統(tǒng)的核心。除了部門(mén)管理模塊外,其他各個(gè)模塊都針對(duì)每一個(gè)員工的一個(gè)方面進(jìn)展管理,都需要提供員工編號(hào)等基本信息作為索引。考核與待遇管理功能集合包括考勤管理,工作考評(píng)管理和工資管理模塊。此集合中功能模塊的關(guān)系如圖3.5所示。員工基本信息管理員工基本信息管理員工工資管理員工考評(píng)管理員工考勤管理圖3.5考核與待遇管理功能集合模塊關(guān)系圖用戶(hù)管理及權(quán)限控制功能集合包括用戶(hù)信息管理、權(quán)限控制等模塊。權(quán)限控制對(duì)于企業(yè)員工信息系統(tǒng)來(lái)說(shuō)是非常必要的。部門(mén)與員工基本信息數(shù)據(jù),包括考勤,考核工作和工資等信息都不是一般的員工可以隨意添加和改動(dòng)的。這些操作只有人力資源主管才有此權(quán)限。在本系統(tǒng)中,我們將系統(tǒng)用戶(hù)劃分了3大類(lèi):人力資源主管:此類(lèi)型用戶(hù)是本系統(tǒng)中權(quán)限最高的用戶(hù)。在本系統(tǒng)中的任何模塊中,都可以進(jìn)展添加,刪除,修改等記錄,并對(duì)所有數(shù)據(jù)進(jìn)展查詢(xún)顯示的權(quán)限。系統(tǒng)管理員:是為了維護(hù)本系統(tǒng)而創(chuàng)立的用戶(hù),可以對(duì)除“人力資源主管〞用戶(hù)以外的其他類(lèi)型用戶(hù)進(jìn)展管理。普通用戶(hù):權(quán)限最低的一類(lèi)用戶(hù),除了可以修改自身的用戶(hù)名和密碼外,幾乎沒(méi)有其他數(shù)據(jù)庫(kù)操作權(quán)限。在其他的模塊中,此類(lèi)用戶(hù)只能瀏覽到與自己或自己的下屬相關(guān)的數(shù)據(jù),但是不能對(duì)數(shù)據(jù)進(jìn)展修改或刪除操作。在員工工作考評(píng)模塊中,普通用戶(hù)可以輸入對(duì)自己下屬員工的工作評(píng)價(jià)和資金系數(shù)等數(shù)據(jù)。此集合中功能模塊的關(guān)系如圖3.6所示超級(jí)HR主管用戶(hù)超級(jí)HR主管用戶(hù)普通HR主管用戶(hù)修改自身用戶(hù)名和密碼普通系統(tǒng)管理員用戶(hù)創(chuàng)立和管理普通HR主管用戶(hù)超級(jí)系統(tǒng)管理員用戶(hù)創(chuàng)立和管理普通用戶(hù)創(chuàng)立和管理普通用戶(hù)修改超級(jí)HR主管的密碼修改自身的用戶(hù)名和密碼創(chuàng)立和管理普通系統(tǒng)管理員修改自身的用戶(hù)名和密碼系統(tǒng)用戶(hù)信息系統(tǒng)創(chuàng)立和管理普通用戶(hù)圖3.6用戶(hù)管理功能集合模塊關(guān)系圖用戶(hù)登錄模塊開(kāi)場(chǎng),對(duì)系統(tǒng)的身份進(jìn)展認(rèn)證。身份認(rèn)證可以分為以下兩個(gè)過(guò)程:確認(rèn)用戶(hù)是否為有效的系統(tǒng)用戶(hù);確定用戶(hù)的類(lèi)型;第一個(gè)過(guò)程決定用戶(hù)能否進(jìn)入系統(tǒng)。第二個(gè)過(guò)程根據(jù)用戶(hù)的類(lèi)型決定用戶(hù)的操作權(quán)限,從而決定用戶(hù)的工作界面。開(kāi)場(chǎng)開(kāi)場(chǎng)退出系統(tǒng)登錄進(jìn)入系統(tǒng)主界面錯(cuò)誤3次NY圖3.7系統(tǒng)登錄驗(yàn)證流程圖在圖3.7中可以看到,每個(gè)用戶(hù)有3次時(shí)機(jī)進(jìn)展身份認(rèn)證。如果3次輸入的用戶(hù)名和密碼都無(wú)法與數(shù)據(jù)庫(kù)中的數(shù)據(jù)匹配,則強(qiáng)制退出系統(tǒng)。考評(píng)模塊查詢(xún)流程圖進(jìn)入系統(tǒng)后,不同類(lèi)型的用戶(hù)所能進(jìn)展的操作也不一樣。這些操作籠統(tǒng)可以分為用戶(hù)管理模塊和人事管理模塊。由于篇幅所限,五法完整地描述人事管理模塊的系統(tǒng)流程,只是把它分為兩個(gè)局部:考評(píng)信息的高級(jí)管理和查詢(xún);普通用戶(hù)考評(píng)信息管理查詢(xún)。普通用戶(hù)對(duì)考評(píng)管理和查詢(xún)。普通用戶(hù)人事考評(píng)信息管理和查詢(xún)局部非常簡(jiǎn)單,,因此在很讀模塊中,普通用戶(hù)只有查詢(xún)功能。系統(tǒng)流程見(jiàn)圖3.8所示:進(jìn)入系統(tǒng)進(jìn)入系統(tǒng)工作考評(píng)管理部門(mén)信息管理員工信息管理下屬工作考評(píng)信息管理查詢(xún)部門(mén)信息查詢(xún)員工新名列表圖3.8考評(píng)管理和查詢(xún)流程圖“人事主管〞用戶(hù)對(duì)考評(píng)信息的高級(jí)管理和查詢(xún)。系統(tǒng)流程如圖3.9所示:?jiǎn)T工信息員工信息部門(mén)信息管理進(jìn)入系統(tǒng)進(jìn)入系統(tǒng)刪除考評(píng)信息添加考評(píng)信息查詢(xún)考評(píng)信息修改考評(píng)信息工作經(jīng)歷信息家庭成員信息查詢(xún)部門(mén)信息員工照片管理員工基本信息刪除用戶(hù)信息修改用戶(hù)信息添加用戶(hù)信息部門(mén)信息管理員工信息是否存在員工部門(mén)是夠存在圖3.9考評(píng)模塊查詢(xún)流程圖4系統(tǒng)實(shí)現(xiàn)4.1用戶(hù)操作文件總體架構(gòu)用戶(hù)操作模塊主要包括用戶(hù)登錄和人員管理模塊,具體功能如下:用戶(hù)登錄模塊:用于登錄系統(tǒng)。人員管理模塊:用于瀏覽、添加和修改人員信息。4.1.1用戶(hù)登錄模塊設(shè)計(jì)用戶(hù)登錄模塊是用戶(hù)進(jìn)入主頁(yè)面的入口,其運(yùn)行結(jié)果如圖4.1所示。圖4.1用戶(hù)登錄模塊運(yùn)行結(jié)果系統(tǒng)登陸是企業(yè)員工信息管理中最先使用的功能,因?yàn)橛脩?hù)登陸在數(shù)據(jù)庫(kù)中使用的是人員表,人員表中有一個(gè)isadmin字段,是來(lái)標(biāo)識(shí)是否是管理員的。在登陸時(shí)要根據(jù)數(shù)據(jù)庫(kù)的這個(gè)字段來(lái)判斷此用戶(hù)是否具有管理員的權(quán)限。在網(wǎng)頁(yè)里添寫(xiě)用戶(hù)名和密碼后點(diǎn)擊【登陸】按鈕,網(wǎng)頁(yè)會(huì)訪問(wèn)一個(gè)URL,這個(gè)URL是“l(fā)ogon.do?action=logon〞,代碼如下: <formname="usersForm"method="post"action="logon.do?action=logon"><tr><tdwidth="170"height="40"align="center">用戶(hù)名:</td><tdwidth="230"height="40"><inputname="username"type="text"class="input"></td></tr><tr><tdheight="40"align="center">密  碼:</td><tdheight="40"><inputname="password"type="password"class="input"></td></tr><tr><tdheight="40"colspan="2"align="center"><inputtype="submit"name="Submit"value="登陸"class="button"> <inputtype="reset"name="Submit2"value="重置"class="button"></td></tr> </form>在這個(gè)表單的name的值是usersForm,它是Struts的ActoinForm的實(shí)現(xiàn)類(lèi)在配置文件中的名字,如下所示:<form-beanname="userForm"type="com.bOS.bPRO_PersonManage.actionform.UsersForm"/>action是Struts的Action的URL,他們?cè)赟truts的配置文件中都是已經(jīng)配好的,如下所示:<actionpath="/logon"type="com.bOS.bPRO_PersonManage.action.UsersAction"name="userForm"scope="request"><forwardname="success"path="/manage.jsp"/><forwardname="failed"path="/failed.jsp"/></action>在這個(gè)配置文件中,可以了解到如下信息:根據(jù)name="userForm"可以找到與之相對(duì)應(yīng)的ActionForm的實(shí)現(xiàn)類(lèi)“com.bOS.bPRO_PersonManage.actionform.UsersForm〞。根據(jù)type="com.bOS.bPRO_PersonManage.action.UsersAction"可以找到處理用戶(hù)數(shù)據(jù)的Action類(lèi)。根據(jù)<forwardname="success"path="/manage.jsp"/>和<forwardname="failed"path="/failed.jsp"/>可以了解,這個(gè)Action返回success時(shí),頁(yè)面會(huì)被轉(zhuǎn)到manage.jsp文件,這就是登陸成功的頁(yè)面。如果當(dāng)Action返回failed時(shí),頁(yè)面會(huì)被轉(zhuǎn)到failed.jsp文件,這個(gè)文件是當(dāng)用戶(hù)登陸失敗將要轉(zhuǎn)到的頁(yè)面。Struts的Action實(shí)現(xiàn)類(lèi)的execute()方法是最先被執(zhí)行的,這個(gè)方法本身也沒(méi)有具體的事務(wù),而是根據(jù)action的參數(shù)不同執(zhí)行相應(yīng)的方法。在登陸頁(yè)里面可以找到有一個(gè)“action=logon〞的字樣,它的目的就是在這里做邏輯判斷。當(dāng)action=logon時(shí)調(diào)用logon()方法。logon()方法從UsersForm中得到用戶(hù)提交的數(shù)據(jù),然后在調(diào)用UsersDao()的logonUsers()方法。并且把UsersForm轉(zhuǎn)成Users類(lèi)做為logonUsers()方法的參數(shù)。調(diào)用后會(huì)返回一個(gè)boolean型的值。如果為真,則返回“mapping.findForward("success");〞否則返回“mapping.findForward("failed");〞也就是當(dāng)用戶(hù)登陸成功后,返回給用戶(hù)登陸成功的頁(yè)面,登陸失敗后返回用戶(hù)一個(gè)登陸失敗的頁(yè)面。那么UsersDao的logonUsers()方法是根據(jù)什么得到的返回值呢,現(xiàn)在就讓我們看看這個(gè)方法。這個(gè)方法先通過(guò)HibSessionFactory得到一個(gè)Hibernate的Session并且開(kāi)場(chǎng)一個(gè)事務(wù),Session再像使用一個(gè)欲編譯似的命令似的東西,設(shè)定參數(shù)、提交事務(wù)和最后在關(guān)閉Session.。得到一個(gè)List里面就存儲(chǔ)著所有查詢(xún)出的結(jié)果。根據(jù)這個(gè)結(jié)果就可以判斷出該用戶(hù)是否有登陸的權(quán)根了,在返回true或者false。就這樣合法的用戶(hù)就可以順利的登陸了。那剛剛那些有些類(lèi)似于欲編譯的東西是什么呢,這些就是Hibernate特有的查詢(xún)語(yǔ)言,被稱(chēng)為Hibernate查詢(xún)語(yǔ)言〔HQL〕,而它本身也就是使用的JDBC的欲編譯技術(shù)。4.1.2人員管理模塊設(shè)計(jì)人員管理模塊主要包括瀏覽人員信息、添加人員信息、人員信息的添加、人員信息的修改。此模塊文件架構(gòu)如圖4所示。各項(xiàng)管理工作都是在用戶(hù)成功登陸后的管理頁(yè)面進(jìn)展的,在管理控制頁(yè)面的左側(cè)是各項(xiàng)的相關(guān)鏈接,右側(cè)是操作平臺(tái)。管理控制頁(yè)面右側(cè)實(shí)際上是一個(gè)iframe,如下所示:<tdheight="550"valign="top"><iframename="frame"src="main.do"width="100%"height="100%"frameborder="0"hspace="0"></iframe></td>在左側(cè)的鏈接中使用target="frame"就可以在這個(gè)iframe中翻開(kāi)新的鏈接了。單擊“添加人員信息〞,即翻開(kāi)添加人員信息的頁(yè)面如圖4.2所示。圖4.2添加人員信息頁(yè)面添加人員信息的鏈接是這樣的,如下所示:<tdheight="22"align="center"><ahref="adduser.do"target="frame">添加人員信息</a></td>在Struts配置文件中,添加人員信息的鏈接沒(méi)有使用ActionForm類(lèi),也沒(méi)有使用Action的實(shí)現(xiàn)類(lèi),如下所示:<actionpath="/adduser"forward="/adduser.jsp"/>adduser.jsp文件,只是一個(gè)普通的JSP文件,但是它的表單元素都是與UsersForm相對(duì)應(yīng)的,UsersForm如下所示:packagecom.bOS.bPRO_PersonManage.actionform;importcom.bOS.bUtil.DateUtil;importjavax.servlet..ServletRequest;importorg.apache.struts.action.ActionErrors;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionMapping;importcom.bOS.bPRO_PersonManage.en.Users;publicclassUsersFormextendsActionForm{publicStringgetContent(){returncontent;}publicvoidsetContent(Stringcontent){this.content=content;}privateLongid;privateStringusername;privateStringpassword;privateBytesex;privateStringbirthday;privateStringcreatetime;privateByteisadmin;privateStringcontent;publicStringgetCreatetime(){returncreatetime;}publicvoidsetCreatetime(Stringcreatetime){this.createtime=createtime;}publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicBytegetIsadmin(){returnisadmin;}publicvoidsetIsadmin(Byteisadmin){this.isadmin=isadmin;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicvoidreset(ActionMappingarg0,ServletRequestarg1){this.id=null;this.username=null;this.password=null;this.isadmin=null;this.createtime=null;this.content=null;this.sex=null;this.birthday=null;}publicActionErrorsvalidate(ActionMappingarg0,ServletRequestarg1){returnnull;}publicStringtoString(){StringBuffertoStr=newStringBuffer();toStr.append("[UsersForm]=[\n");toStr.append("id="+this.id+";\n");toStr.append("username="+this.username+";\n");toStr.append("password="+this.password+";\n");toStr.append("sex="+this.sex+";\n");toStr.append("birthday="+this.birthday+";\n");toStr.append("createtime="+this.createtime+";\n");toStr.append("isadmin="+this.isadmin+";\n");toStr.append("content="+this.content+";\n");toStr.append("];\n");returntoStr.toString();}publicStringgetBirthday(){returnbirthday;}publicvoidsetBirthday(Stringbirthday){this.birthday=birthday;}publicBytegetSex(){returnsex;}publicvoidsetSex(Bytesex){this.sex=sex;}publicUserspopulate(){Usersu=newUsers();u.setId(getId());u.setIsadmin(getIsadmin());u.setContent(getContent());u.setUsername(getUsername());u.setPassword(getPassword());u.setSex(getSex());u.setBirthday(DateUtil.parseToDate(getBirthday(),DateUtil.yyyyMMdd));u.setCreatetime(DateUtil.parseToDate(getCreatetime(),DateUtil.yyyyMMddHHmmss));returnu;}}UsersForm類(lèi)中的reset()方法作用是當(dāng)用戶(hù)點(diǎn)擊“重置〞按鈕時(shí),清空input輸入框的內(nèi)容,toString()方法覆蓋了Object和toString()方法,populate()方法很有,它把UsersForm轉(zhuǎn)化成Users實(shí)體類(lèi),大大方便了程序在對(duì)數(shù)據(jù)庫(kù)操作時(shí)使用的方便。而且這個(gè)方法中還把用戶(hù)的生日等表單元素的值由字符型轉(zhuǎn)成日期類(lèi)型。在adduser.jsp頁(yè)面中的action上可以看到它要提交的URL,如下所示:<formname="userForm"method="post"action="modifyuser.do?action=adduser"onSubmit="returnuserValidate();">配置文件中modifyuser的Action實(shí)現(xiàn)類(lèi)是“com.bOS.bPRO_PersonManage.action.UsersAction〞,如下所示:<actionpath="/modifyuser"type="com.bOS.bPRO_PersonManage.action.UsersAction"name="userForm"scope="session"><forwardname="success"path="/user.do?action=listuser"/></action>在UsersAction找到參數(shù)action等于adduser時(shí)所調(diào)用的方法addUsers(),它只是把從UserForm表單轉(zhuǎn)化成的User類(lèi)做為參數(shù)傳給了UsersDao的addUsers()方法。在由這個(gè)方法向數(shù)據(jù)庫(kù)添加人員信息,如下所示:publicvoidaddUsers(Usersusers)throwsHibernateException{users.setCreatetime(newjava.util.Date());Sessionsession=HibSessionFactory.currentSession();Transactiontx=session.beginTransaction();session.save(users);txmit();HibSessionFactory.closeSession();}如果添加成功頁(yè)面會(huì)被發(fā)轉(zhuǎn)到user.do?action=listuser的URL。user.do的配置文件如下所示:<actionpath="/user"type="com.bOS.bPRO_PersonManage.action.UsersAction"name="userForm"scope="request"><forwardname="success"path="/listuser.jsp"/></action>這樣就在頁(yè)面做一次提交時(shí)它訪問(wèn)了二次UsersAction,第一次的作用是向數(shù)據(jù)庫(kù)中添加信息,隨后又把所有人員信息取出來(lái)顯示給用戶(hù),同樣UsersAction還只是調(diào)用UsersDao,取數(shù)據(jù)庫(kù)的具體操作在UsersDao文件中,他這次調(diào)用的是listUser()方法,如下所示:publicListlistUser()throwsHibernateException{Sessionsession=HibSessionFactory.currentSession();Transactiontx=session.beginTransaction();Queryquery=session.createQuery("selectufromUsersasuorderbycreatetime");Listlist=query.list();txmit();HibSessionFactory.closeSession();returnlist;}UsersAction取出從UsersDao中數(shù)據(jù),在把它存到request里,然后返回returnmapping.findForward("success");在Strutsr的配置文件里返回頁(yè)是listuser.jsp。所有用戶(hù)的信息都在這個(gè)頁(yè)中顯示出來(lái)。如下所示:<tr><tdheight="22"colspan="7"align="left"><strongclass="text13">瀏覽人員信息</strong></td></tr><trclass="tdhui"><tdheight="22"align="center">人員姓名</td><tdalign="center">登陸密碼</td><tdheight="22"align="center">性別</td><tdheight="22"align="center">出生日期</td><tdheight="22"align="center">是否管理員</td><tdheight="22"align="center">簡(jiǎn)介</td><tdalign="center">執(zhí)行操作</td></tr><%Listlist=(List)request.getAttribute("list"); if(list!=null&&list.size()>0){ Iteratorit=list.iterator();while(it.hasNext()){Usersu=(Users)it.next();%><tr><tdheight="22"align="center"><%=StringUtil.notNull(u.getUsername())%> </td><tdheight="22"align="center"><%=StringUtil.notNull(u.getPassword())%> </td><tdheight="22"align="center"><%=newByte("1").equals(u.getSex())?"男":"女"%></td><tdheight="22"align="center"><%=StringUtil.notNull(DateUtil.parseToString(u.getBirthday(),DateUtil.yyyyMMdd))%> </td><tdheight="22"align="center"><%=newByte("1").equals(u.getIsadmin())?"是":"否"%></td><tdheight="22"align="center"><%=StringUtil.notNull(u.getContent())%> </td><tdheight="22"align="center"><ahref="selectuser.do?action=selectuser&id=<%=u.getId()%>">修改</a>  <ahref="modifyuser.do?action=deleteuser&id=<%=u.getId()%>">刪除</a></td></tr><% }}else{%><tr><tdheight="22"colspan="7"align="center">對(duì)不起,沒(méi)有添加人員信息!??!</td></tr><%}%>在顯示頁(yè)中,從request里面的取出數(shù)據(jù),如果有則顯示在頁(yè)面上,使用“l(fā)ist!=null&&list.size()>0”判斷如果在沒(méi)有數(shù)據(jù)的情況下,將對(duì)用戶(hù)提示說(shuō)“對(duì)不起,沒(méi)有添加人員信息?。?!〞。這是添加人員信息的整個(gè)過(guò)程,在這個(gè)過(guò)程中,有一局部是用于顯示人員信息的,就是“user.do?action=listuser〞,它是顯示人員信息的地址。如果在網(wǎng)頁(yè)中直接點(diǎn)擊這個(gè)鏈接地址,同樣也會(huì)調(diào)用出所有用戶(hù)的信息。這就是“瀏覽人員信息〞的鏈接。頁(yè)面執(zhí)行后如圖4.4所示。圖4.4瀏覽人員信息頁(yè)面人員信息的列表的最后一列可以對(duì)該條記錄做刪除和修改。刪除的鏈接地址是“modifyuser.do?action=deleteuser&id=<%=u.getId()%>〞它向Action的實(shí)現(xiàn)類(lèi)提交了兩個(gè)參數(shù),一個(gè)是action=deleteuser是固定不變的,另一個(gè)是該用戶(hù)的id這是根據(jù)不同記錄取出來(lái)的。在UsersAction類(lèi)中根據(jù)action的值可以找到與其相對(duì)的方法,如下所示:privateActionForwarddeleteUser(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsHibernateException{Longid=newLong(request.getParameter("id"));Usersusers=newUsers();users.setId(id);dao.deleteUsers(users);returnmapping.findForward("success");}在這個(gè)方法里得到頁(yè)面提交過(guò)來(lái)的用戶(hù)ID,把這個(gè)id存在Users表中的實(shí)例中,傳給dao的deleteUsers()方法,我們可以看到關(guān)于數(shù)據(jù)庫(kù)方面的操作都被封裝在Dao中。具體的刪除操作的代碼如下所示:publicvoiddeleteUsers(Usersusers)throwsHibernateException{Sessionsession=HibSessionFactory.currentSession();Transactiontx=session.beginTransaction();session.delete(users);txmit();HibSessionFactory.closeSession();}刪除用戶(hù)時(shí)和添加用戶(hù)一樣都是先得到一個(gè)Hibernate的Session,后調(diào)用它的delete()方法就可以了,操作完成后千萬(wàn)記得要提交事務(wù),即調(diào)用commit()方法,和關(guān)閉Session。修改人員的信息時(shí)必須先把要修改的人員信息先查找出來(lái),讓用戶(hù)可以直觀的根據(jù)以前的信息修改。這樣在點(diǎn)擊修改時(shí)也要傳給Action一個(gè)用戶(hù)ID,用來(lái)查詢(xún)出用戶(hù)信息,如下所示:<ahref="selectuser.do?action=selectuser&id=<%=u.getId()%>">修改</a>根據(jù)頁(yè)面的鏈接可以在Struts的配置文件里找到相應(yīng)的配置信息,如下所示:<actionpath="/selectuser"type="com.bOS.bPRO_PersonManage.action.UsersAction"scope="request"><forwardname="success"path="/updateuser.jsp"/></action>它調(diào)用了UsersAction類(lèi),返回到updateuser.jsp文件,在UsserAction中同前面一樣也是根據(jù)action的參數(shù)來(lái)識(shí)別出調(diào)用selectUser()方法的,方法實(shí)現(xiàn)如下所示:privateActionForwardselectUser(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsHibernateException{Longid=newLong(request.getParameter("id"));Usersu=dao.loadUsers(id.longValue());request.setAttribute("user",u);returnmapping.findForward("success");}這個(gè)方法使在調(diào)用Dao的loadUsres()的方法后,得到一個(gè)Users的返回值,里面存著與此id相對(duì)應(yīng)的人員信息,然后在把它存在request里。loadUsres()方法實(shí)現(xiàn)如下所示:publicUsersloadUsers(longid)throwsHibernateException{Sessionsession=HibSessionFactory.currentSession();Transactiontx=session.beginTransaction();Usersu=(Users)session.load(Users.class,newLong(id));txmit();HibSessionFactory.closeSession();returnu;}Hibernate在使用這個(gè)load()方法時(shí)比較特別,需要傳入實(shí)體類(lèi)的class,和要查詢(xún)的用戶(hù)ID。得到的返回值需要做一下強(qiáng)制類(lèi)型轉(zhuǎn)換。顯示用戶(hù)信息的頁(yè)面在updateuser.jsp中,如圖4.5所示。圖4.5修改用戶(hù)信息頁(yè)面首先要從request中取出人員信息,在轉(zhuǎn)化成Users類(lèi)型,然后顯示在頁(yè)面中。在顯示是否是管理員的項(xiàng)時(shí)比較人特別。如下所示:<tdwidth="33%"height="22"align="center">是否管理員:</td><tdwidth="67%"height="22"align="left"><inputname="isadminhelp"type="checkbox"<%=newByte("1").equals(u.getIsadmin())?"checked":""%>onClick="javascript:adminChecked();"value="<%=u.getIsadmin()%>"></td> <inputtype="hidden"name="isadmin"value="<%=u.getIsadmin()%>">>實(shí)際想要提交的表單的名字是isadmin,而在顯示checkbox時(shí)用的name是isadminhelp。Isadmin確使用hidden類(lèi)型做為表單提交名字,這和checkbox的特性有關(guān)。在使用javascrip對(duì)checkbox的value控制時(shí)。當(dāng)value的值如果像這樣“value="<%=u.getIsadmin()%>"〞被寫(xiě)死時(shí),使用javascrip是對(duì)value的值改變后,在提交表單時(shí)是無(wú)效的。于是我們就用hidden做為表單提交項(xiàng),而<inputname="isadminhelp"type="checkbox"<%=newByte("1").equals(u.getIsadmin())?"checked":""%>onClick="javascript:adminChecked();"value="<%=u.getIsadmin()%>">只是在顯示給用戶(hù)的看的。在表單不接收isadminhelp的value,只接收isadmin的value。4.2技術(shù)難點(diǎn)4.3.1參數(shù)傳遞中的中文亂碼問(wèn)題由于瀏覽器中的參數(shù)傳遞是按字節(jié)傳送,因此英文和數(shù)字不會(huì)有任何的問(wèn)題,而中文漢字則

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論