人力資源管理系統(tǒng)_第1頁
人力資源管理系統(tǒng)_第2頁
人力資源管理系統(tǒng)_第3頁
人力資源管理系統(tǒng)_第4頁
人力資源管理系統(tǒng)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

論文完整程序設計源代碼請聯(lián)系本人,參見豆丁備注和信息。/lzj781219摘 要全球范圍內(nèi)的企業(yè)內(nèi)部在發(fā)生巨變,未來企業(yè)成功的關鍵是依靠企業(yè)人力資源,人才之爭已經(jīng)成為市場競爭中的核心內(nèi)容之一,以人為本成為企業(yè)立足和發(fā)展的根本。有效的管理企業(yè)的人力資源,為企業(yè)提供強有力的儲備力量,使之成為企業(yè)發(fā)展的主動力。通過人力資源的有效管理,掌握最新的、準確的企業(yè)人力資源信息,并對其進行復雜的統(tǒng)計與分析,從而充分發(fā)揮每個員工的潛能,為企業(yè)創(chuàng)造更大的價值。企業(yè)員工管理系統(tǒng)是一個企業(yè)單位不可缺少的部分 ,是適應現(xiàn)代企業(yè)制度 ,推動企業(yè)企業(yè)員工管理走向科學化、規(guī)范化、自動化的必要條件。它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關重要 ,所以企業(yè)員工管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段 ,以幫助企業(yè)領導了解企業(yè)現(xiàn)有的人力資源狀況。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案 ,這種管理方式存在許多缺點 ,如:效率低、安全性差、時間一長就會產(chǎn)生大量的文件和數(shù)據(jù)積壓 ,這對于查找、更新和維護都帶來了不少的困難。因此,為了加快企業(yè)的信息化步伐 ,提高企業(yè)的管理水平以在激烈的社會競爭中立于不敗之地 ,建設和完善企業(yè)員工管理系統(tǒng)已經(jīng)變得十分必要和迫切。本系統(tǒng)詳細介紹了企業(yè)企業(yè)員工管理系統(tǒng)的開發(fā)與設計 ,包括了開發(fā)一個管理信息系統(tǒng)的 5個階段:系統(tǒng)開始和可行性研究、系統(tǒng)分析和設計、程序設計、系統(tǒng)測試和技術培訓、項目總結和評估。關鍵詞:企業(yè)員工管理,信息系統(tǒng)。1論文AbstractInternalbusinessesworldwideinupheaval,thekeytobusinesssuccessinfutureistorelyontheenterprisehumanresources,talentcompetitionhasbecomeoneofthecorecontentofmarketcompetition,peoplebecometheenterprisebasedonthefundamentalanddevelopment.Theeffectivemanagementoftheenterprisehumanresources,provideastrongreserveforcefortheenterprise,makeitbecomethedrivingforceofenterprisedevelopment.Theeffectivemanagementofthehumanresources,graspthelatestinformationonhumanresources,accurateenterprise,andcarryoncomplicatedstatisticsandanalysistoit,thusgivefullplaytoeachemployee'spotential,tocreategreatervaluefortheenterprise.Humanresourcesmanagementsystemisanindispensablepartofbusinessunits,istoadapttothemodernenterprisesystem,promotethenecessaryconditionofhumanresourcesmanagementtoscientific,standardized,automatedenterprise.Itscontentisveryimportantforbusinessdecision-makersandmanagers,sothehumanresourcemanagementsystemshouldbeabletoprovidethesufficientinformationandthequickinquirymethodfortheuser,inordertohelptheenterpriseleaderstounderstandtheenterpriseexistinghumanresourcescondition.Butthepeoplehavesincealwaysusedthetraditionalartificialwaymanagementdocumentfile,thismanagementwayhasmanyshortcomings,suchas:lowefficiency,poorsecurity,alongtimewillproducethemassivedocumentsandthedatabacklog,thisregardingthesearch,therenewalandthemaintenancehasallbroughtmanydifficulties.Therefore,inordertospeedupthepaceofinformationtechnologyenterprises,improvethemanagementlevelofenterprisestoremaininvincibleinthefiercesocialcompetition,theconstructionandtheconsummationhumanresourcesmanagementsystemhasbecomeverynecessaryandurgent.Thesystemdescribedindetailthedevelopmentanddesignofenterprisehumanresourcesmanagementsystem,includingthe5stagesofthedevelopmentofamanagementinformationsystem:thesystemstartswiththefeasibilitystudy,systemanalysisanddesign,programdesign,systemtestandtechnicaltraining,theprojectsummaryandtheappraisal.Keywords:humanresourcemanagement,informationsystem.1論文目錄摘要1第1章系統(tǒng)設計的目的和內(nèi)容3第2章開發(fā)工具和環(huán)境介紹42.1IIS簡介42.2JSP開發(fā)環(huán)境52.3JAVA的特點62.4SQLSERVER2005數(shù)據(jù)庫72.5STRUTS2102.6C/S結構112.7WEB服務器122.8系統(tǒng)運行環(huán)境132.9本章小結14第3章系統(tǒng)總體設計153.1需求分析153.2開發(fā)及運行環(huán)境153.3系統(tǒng)流程圖16第4章數(shù)據(jù)庫設計174.1數(shù)據(jù)庫系統(tǒng)概述174.2數(shù)據(jù)庫總體設計18第五章數(shù)據(jù)庫設計205.1表關系圖205.2數(shù)據(jù)庫表設計21管理員表21待辦事項表21待辦事項類型表21員工表22部門表22請假表22考勤表234.3數(shù)據(jù)庫的連接原理23第6章系統(tǒng)各功能模塊的詳細設計256.1登陸256.2添加待辦事項276.3考勤簽到286.4工資查看306.5添加員工316.6請假查看32第七章軟件的測試341論文7.1功能調試347.1.1鏈接測試347.1.2數(shù)據(jù)庫調試347.2測試方法357.3測試的概述357.3.1測試的概念和意義351.1.1測試的特性357.3.2測試的重要性和范圍367.4單元測試367.5集成測試377.6系統(tǒng)測試377.7測試過程387.7.1主頁面的登錄模塊測試387.8其他錯誤38系統(tǒng)設計的收獲和體會40結論41致謝42參考文獻432論文第1章系統(tǒng)設計的目的和內(nèi)容今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感文檔更加安全,等等。計算機已經(jīng)成為我們學習和工作的得力助手,我們的生活也越來越離不開它。隨著現(xiàn)代科技的進步,用計算機來進行考勤的管理也成為現(xiàn)代化企業(yè)運作必不可少的一部分。在過去我們的考勤工作都是人工完成的,不僅浪費了很多的人力跟物力,而且無法保證其準確性和透明度;給企業(yè)的管理帶來了許多的不便?,F(xiàn)在利用計算機來管理我們的考勤工作,大大降低了工作人員的工作量,提高了工作效率,使原本復雜和枯燥無味的工作變得簡單而輕松了。計算機技術特別是數(shù)據(jù)庫技術的發(fā)展為企業(yè)建立管理信息系統(tǒng),甚至對改變管理思想起著不可估量的作用。實踐證明信息技術已在企業(yè)的管理層面扮演越來越重要的角色。員工信息管理系統(tǒng)中主要包括了員工的基本信息(姓名、性別、所屬部門等),查詢員工的基本信息,可根據(jù)員工的實際工資情況或實際的出勤情況查看員工的基本信息等。通過考勤系統(tǒng)我們能很容易地對公司員工的信息有一個基本的了解,可以很方便地知道員工的出勤情況,通過對員工出勤信息的了解,就能計算出員工的實際工資。一切的統(tǒng)計和計算都計算機代為管理了,員工信息管理系統(tǒng)對企業(yè)的合理化管理起到了很大的作用,它為企業(yè)信息化的建設打響了頭炮,企業(yè)的信息化建設已成為現(xiàn)代各個企業(yè)發(fā)展的需要。3論文第2章 開發(fā)工具和環(huán)境介紹一個項目的開發(fā),需要有豐富的知識做基礎,也需要有技術的積累,而所有這些要在一個項目中的體現(xiàn),就要看在設計中你所采取的開發(fā)工具,因此,下面介紹一下學生信息管理系統(tǒng)的開發(fā)技術。2.1 IIS簡介IIS是InternetInformation Server 的縮寫,它是微軟公司主推的 Web服務器。在Windows2000安裝光盤中就包含 IIS5.0。IIS與WindowsNTServer完全集成在一起。所以用戶能夠利用在 WindowsNTServer 和NTFS(NTFileSystem,NT的文件系統(tǒng))內(nèi)置的安全特性,建立強大、靈活而安全的 Internet或Intranet站點,能讓您在企業(yè)內(nèi)部網(wǎng)絡或廣域網(wǎng)絡上,輕松共享文件和資訊。IIS5.0是Windows2000Server中最快的 Web服務器,并與MicrosoftActiveDirectory目錄服務完全整合,這種結合能夠使以 Web為基礎的應用軟件更可靠、更具有延展性。這項新一代的電子商務解決方案把舊資料和應用軟件整合到全球資訊網(wǎng)( WWW)中,讓公司能重新定義內(nèi)部與外部的不同商務處理流程。IIS的一個重要特性是支持 ASP.NET,是ASP.NET程序得以成功運行的先決條件,嚴格意義來說,必須在機器安裝配置 IIS服務器環(huán)境,否則 ASP.NET將無法運行和正常使用,也無法實現(xiàn)其功能。IIS5.0是Windows2000Server 所提供的服務,所以能和 Windows2000Server上的其他服務緊密地合作,通過它們之間的合作,能夠使一個網(wǎng)頁正常得以運行、使用。4論文2.2JSP開發(fā)環(huán)境JSP是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)技術標準。 在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段 (Scriptlet )和JSP標簽,就構成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要 的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結果,這樣大大降低了對客戶瀏覽器的要求, 即使客戶瀏覽器端不支持 Java,也可以訪問JSP網(wǎng)頁。JSP全名為JavaServerPages,其根本是一個簡化的 Servlet 設計,他實現(xiàn)了 Html語法中的java擴張(以<%,%>形式)。JSP與Servlet 一樣,是在服務器端執(zhí)行的。通常返回給客戶端的就是一個 HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同 JSP文件中的HTML代碼一起返回給客戶端。插入的 Java程序段可以 操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。通常JSP頁面很少進行數(shù)據(jù)處理,只是用來實現(xiàn)網(wǎng)頁的靜態(tài)化頁面,只是用來提取數(shù)據(jù),不會進行業(yè)務處理。JSP技術使用Java編程語言編寫類 XML的tags和scriptlets ,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng) 頁還能通過 tags和scriptlets 訪問存在于服務端的資源的應用邏輯。 JSP將網(wǎng)頁邏輯與網(wǎng)頁設計的顯示分離,支持可重用的基于組件的設計,使基 于Web的應用程序的開發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動態(tài)頁面技術,它的主要目的是將表示邏輯從Servlet 中分離出來。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。自JSP推出后,眾多大公司都支持JSP技術的服務器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應用的服務器端語言。5論文2.3Java的特點1、Java語言是簡單的。 Java語言的語法與 C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用 Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地, Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂。2、Java語言是一個面向對象的。 Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關鍵字為 implements)。Java語言全面支持動態(tài)綁定,而 C++語言只對虛函數(shù)使用動態(tài)綁定。總之, Java語言是一個純的面向對象程序設計語言。3、Java語言是分布式的。 Java語言支持 Internet應用的開發(fā),在基本的 Java應用編程接口中有一個網(wǎng)絡應用編程接口(javanet),它提供了用于網(wǎng)絡應用編程的類庫, 包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活 )機制也是開發(fā)分布式應用的重要手段。4、Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是 Java程序健壯性的重要保證。對指針的丟棄是 Java的明智選擇。Java的安全檢查機制使得 Java更具健壯性。5、Java語言是安全的。 Java通常被用在網(wǎng)絡環(huán)境中,為此, Java提供了一個安全機制以防惡意代碼的攻擊。除了 Java語言具有的許多安全特性以外, Java對通過網(wǎng)絡下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。6、Java語言是體系結構中立的。 Java程序(后綴為 java的文件)在 Java平臺上被編譯為體系結構中立的字節(jié)碼格式(后綴為 class的文件),然后可以在實現(xiàn)這個 Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構的網(wǎng)絡環(huán)境和軟件的分發(fā)。7、Java語言是可移植的。這種可移植性來源于體系結構中立性,另外, Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。 Java系統(tǒng)本身也具有很強的可移植性, Java編譯器是用 Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。8、Java語言是解釋型的。如前所述, Java程序在Java平臺上被編譯為字節(jié)碼格式, 然后可以在實現(xiàn)這個 Java平臺的任何系統(tǒng)中運行。在運行時, Java平臺中的 Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。9、Java是高性能的。與那些解釋型的高級腳本語言相比, Java的確是高性能的。事實上, Java6論文的運行速度隨著 JIT(Just-In-Time)編譯器技術的發(fā)展越來越接近于 C++。10、Java語言是多線程的。 在Java語言中,線程是一種特殊的對象, 它必須由 Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構為 Thread(Runnable)的構造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從 Thread類派生出子類并重寫 run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是 Thread類已經(jīng)實現(xiàn)了 Runnable接口,因此,任何一個線程均有它的 run方法,而 run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關鍵字為 synchronized)。11、Java語言是動態(tài)的。 Java語言的設計目標之一是適應于動態(tài)變化的環(huán)境。 Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境, 也可以通過網(wǎng)絡來載入所需要的類。 這也有利于軟件的升級。 另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。Java語言的優(yōu)良特性使得 Java應用具有無比的健壯性和可靠性,這也減少了應用系統(tǒng)的維護費用。Java對對象技術的全面支持和 Java平臺內(nèi)嵌的 API能縮短應用系統(tǒng)的開發(fā)時間并降低成本。 Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平臺之間傳遞信息的低成本方式。特別是 Java企業(yè)應用編程接口( JavaEnterpriseAPIs)為企業(yè)計算及電子商務應用系統(tǒng)提供了有關技術和豐富的類庫。2.4SQLServer2005 數(shù)據(jù)庫本系統(tǒng)采用的數(shù)據(jù)庫為 SQLServer2005數(shù)據(jù)庫,采用 B/S結構的工作模式。 B/S結構是隨著計算機網(wǎng)絡技術的發(fā)展而出現(xiàn)的一種先進的計算模式。SQLServer的全稱是MicrosoftSQLServer,由美國微軟公司制作并發(fā)布的一種性能優(yōu)越的關系型數(shù)據(jù)庫管理系統(tǒng),具有強大的數(shù)據(jù)庫創(chuàng)建、開發(fā)、設計和管理功能。它不僅是一個完整的數(shù)據(jù)庫,而且具有強大的擴展性。它是 Windows操作系統(tǒng)最為流行的數(shù)據(jù)庫,比較適合小型、中型、大型應用程序的后臺數(shù)據(jù)庫。它同時也適用于電子商務、數(shù)據(jù)倉庫、和在線商業(yè)應用程序等。SQLServer2005是在SQLServer2000的基礎上擴展升級的產(chǎn)品。它繼承了 SQL7論文Server以前版本的所有優(yōu)點,同時又增加了許多新的功能,與微軟公司的其他產(chǎn)品具有良好的兼容性。它提供的幾十種向導,覆蓋了幾乎所有的數(shù)據(jù)庫操作(數(shù)據(jù)庫的創(chuàng)建、維護、作業(yè)、警告、數(shù)據(jù)復制、轉換等) 。SQLServer2005支持B/S模式的體系結構。 SQLServer2005的關系數(shù)據(jù)引擎是為WindowsDNA環(huán)境下的應用程序提供的基本報務之一, 是一個具有高度可伸縮性、 可靠性和安全性的數(shù)據(jù)存儲引擎。SQLServer2005是一種高性能的關系型數(shù)據(jù)庫管理系統(tǒng),在 SQLServer2000的基礎上大大擴展了系統(tǒng)的性能、可靠性和易用性,逐漸成為 OLTP(在線事務進程)、DW(數(shù)據(jù)倉庫)和 e商務應用最好的數(shù)據(jù)庫平臺。主要特點體現(xiàn)在以下幾個方面:1.簡便的操作方式SQLServer2005界面友好、操作簡單,同時包含一整套的管理和開發(fā)工具,企業(yè)管理器就是其中的圖形化集成管理工具,用戶不用記住各種命令和SQL語句就可以完成各種常規(guī)操作。2.以Brower/Server為設計結構SQLServer2005按B/S結構(B/S結構的系統(tǒng)有 3個基本組成部分:瀏覽器、服務器、瀏覽器與服務器的連接件)設計而成, Brower/Server結構將任務合理地分配到服務器與客戶端,減少了網(wǎng)絡擁擠,提高了整體性能。3.支持多個不同的開發(fā)平臺數(shù)據(jù)庫開發(fā)人員可以使用任意一種開發(fā)平臺編寫應用程序來訪問 SQLServer。其中微軟的產(chǎn)品 VisualStudio可以幫助用戶方便、快捷地開發(fā)新的 SQLServer應用程序。4.支持企業(yè)級的應用程序8論文SQLServer2005關系數(shù)據(jù)庫引擎具備完善、強大的數(shù)據(jù)處理功能,充分保護數(shù)據(jù)完整性。SQLServer2005企業(yè)版在32位處理器上能支持超過數(shù)十萬億字節(jié)容量的數(shù)據(jù)庫。5.支持XMLSQLServer2005引入了支持 XML 功能的特性。XML 是擴展標記語言ExtensibleMarkupLanguage的英文縮寫),可用于描述一個數(shù)據(jù)集的內(nèi)容以及數(shù)據(jù)如何在Web頁中顯示或輸出到某個設備。它以可擴展、易用和安全的特點,成為建設大型Web站點最好的數(shù)據(jù)存儲設備之一。6.數(shù)據(jù)倉庫支持SQLServer2005中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理( OLAP即在線分析處理)的工具,使聯(lián)機分析處理成為可能。同時 SQLServer2005提供了英文查詢工具和編程接口,使得以英文為基礎設計、管理和查詢數(shù)據(jù)庫成為了可能。7.語言排序規(guī)則在SQLServer2005以前的版本中,所有的數(shù)據(jù)庫被限制在一個代碼頁以及語言集排序次序中,當使用英文版SQLServer數(shù)據(jù)庫系統(tǒng)時,所有的語言排序規(guī)則就必須依賴英文的排序次序,SQLServer2005在Windows排序規(guī)則的基礎上增加了一套新的排序規(guī)則,它代替了代碼頁和排序次序,為開發(fā)多國語言的數(shù)據(jù)庫應用系統(tǒng)提供方便。8.全文搜索和文檔管理功能全文搜索和文檔管理功能被默認包含于 SQLServer2005的所有版本中,這些功能可以在關系表的純文本中執(zhí)行文本查詢和搜索所有的索引列,全文搜索9論文功能還可以與SQL語句結合使用。9.增強了分布式查詢功能SQLServer2005引入了一個OPENROWSET函數(shù),可以在指定分布式查詢中查詢一個特定的連接信息,同時授予了 “OLEDB”數(shù)據(jù)源更多的 SQL操作權。SQLServer還有很多功能特點,因篇幅有限,在這里就不逐一向大家介紹了。2.5Struts2struts是開源軟件。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發(fā)Web應用的時間。如果我們想混合使用Servlets和JSP的優(yōu)點來建立可擴展的應用,struts是一個不錯的選擇。運行流程:服務器啟動后,根據(jù)web.xml加載ActionServlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。以登錄為例:第一次進login.jsp會先實例化Form、把默認值(String默認為空字符串,整形默認為0)賦給表單元素。輸入用戶名密碼提交表單、提交到 action屬性的login.do,通過 ActionServlet讀struts-config.xml文件找到action下的path屬性找到.do,通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實例化form,把表單的值填充給form,調用form的validate方法驗證、ActionErrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化Action,執(zhí)行Action的excute方法。HibernateHibernate是一個開放源代碼的對象關系映射框架, 它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。10論文實際應用:Session接口負責執(zhí)行被持久化對象的 CRUD操作(CRUD的任務是完成與數(shù)據(jù)庫的交流,包含了很多常見的 SQL語句)。SessionFactory接口負責初始化 Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象。Configuration接口負責配置并啟動 Hibernate,創(chuàng)建SessionFactory對象。Transaction接口負責事務相關的操作 ,也可以設計編寫自己的底層事務處理代碼。2.6C/S結構C/S結構,即大家熟知的客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢, 將任務合理分配到 Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是 Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的 Web應用發(fā)展,Web和Client/Server應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。 這也就是目前應用系統(tǒng)的發(fā)展方向。C/S結構的優(yōu)點:C/S結構的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優(yōu)點就是客戶端響應速度快。缺點主要有以下幾個:只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展, 移動辦公和分布式辦公越來越普及,這需要我們的系統(tǒng)具有擴展性。 這種方式遠程訪問需要專門的技術,同時要對系統(tǒng)進行專門的設計來處理分布式的數(shù)據(jù)??蛻舳诵枰惭b專用的客戶端軟件。 首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。特別是有很多分部或專賣店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本非常高。對客戶端的操作系統(tǒng)一般也會有限制。可能適應于 Win98,但不能用于win2000或WindowsXP。或者不適用于微軟新的操作系統(tǒng)等等,更不用說 Linux、Unix等。C/S架構軟件的優(yōu)勢與劣勢:11論文(1)應用服務器運行數(shù)據(jù)負荷較輕。最簡單的 C/S體系結構的數(shù)據(jù)庫應用由兩部分組成,即客戶應用程序和數(shù)據(jù)庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發(fā)來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數(shù)據(jù)庫服務器,可稱為客戶電腦,當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發(fā)出請求,服務器程序根據(jù)預定的規(guī)則作出應答,送回結果,應用服務器運行數(shù)據(jù)負荷較輕。(2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應用中,數(shù)據(jù)的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前臺應用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務器程序中不集中實現(xiàn),例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前臺程序不是非?!笆菪 保闊┑氖虑槎冀唤o了服務器和網(wǎng)絡。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。(3)C/S架構的劣勢是高昂的維護成本且投資大。首先,采用 C/S架構,要選擇適當?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正 “統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn), 有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務器在線運行,網(wǎng)絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復雜的技術支持,維護成本很高,維護任務量大。其次,傳統(tǒng)的C/S結構的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應工作需要。在 JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構更是猛烈沖擊 C/S,并對其形成威脅和挑戰(zhàn)。2.7Web服務器Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由 Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了 Sun的參與和12論文支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因為Tomcat技術先進、性能穩(wěn)定,而且免費,因而深受 Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的 Web應用服務器。目前最新版本是6.0。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能; 而且它還在不斷的改進和完善中, 任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試 JSP程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好 Apache服務器,可利用它響應對 HTML 頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當你運行 tomcat時,它實際上作為一個與 Apache獨立的進程單獨運行的。這里的訣竅是,當配置正確時,Apache為HTML頁面服務,而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務器。2.8系統(tǒng)運行環(huán)境系統(tǒng)運行環(huán)境主要有軟件運行平臺和硬件運行平臺。1.軟件運行平臺本系統(tǒng)設計運行在 Windows2000/NT/XP操作系統(tǒng)環(huán)境下,因為該系統(tǒng)用戶界面戶好,簡單易懂,易學易用。并且價格適中,適合于中小型學校中數(shù)據(jù)吞吐量不太大的情況下使用。2.硬件運行平臺硬件運行平臺見表 2-1。表2-1 硬件運行平臺表13論文硬 件 配 置處理器 PentiumII300以上內(nèi) 存 64M以上硬盤空間 3G以上顯卡 普通VGA顯卡顯示器 普通彩色顯示器2.9 本章小結本章主要對軟件開發(fā)過程中的一些必要條件進行了論述。在詳述了 IIS后,對本系統(tǒng)的主要技術 JSP進行了介紹,其中主要介紹了什么是 JSP的腳本語言。之所以本系統(tǒng)采用了 JSP,而沒有采用 asp、PHP。是因為 JSP更接近于平時學習的語言,執(zhí)行速度較高,而且開發(fā)效率很高,更廣泛地被人們所使用。本章還對系統(tǒng)的運行平臺進行了介紹。相信通過本章的論述,一定會對本系統(tǒng)的開發(fā)環(huán)境有一個深入的、透徹的了解。為了實現(xiàn)本系統(tǒng),可行性分析與需求分析是必不可少的重要環(huán)節(jié),由其是需求分析階段。14論文第3章 系統(tǒng)總體設計3.1 需求分析1)部門管理:可以管理公司內(nèi)部所有部門。2)事務管理:能制訂日程安排和任務計劃,能將一個任務設置分階段目標,為每個階段任務給出倒計時和定時提醒,用戶記錄該任務的進度日志,任務完成后能按任務打印或統(tǒng)計任務完成情況。3)考勤管理:管理員可以代打考勤,員工也可以登陸自己給自己打考勤。4)請假管理:員工可以在線進行請假,管理員可以查看到請假日期,和原因等。5)員工管理:添加公司內(nèi)部員工,修改和刪除員工信息。6)工資管理:系統(tǒng)會自動根據(jù)員工的基本工資和考勤計算每個月工資。3.2 開發(fā)及運行環(huán)境系統(tǒng)開發(fā)平臺:MyEclipse6.0.1數(shù)據(jù)庫:SQLServer2000運行平臺:WindowsXP/Windows2000/Windows2003分辨率:最佳效果 1024×768像素15論文3.3 系統(tǒng)流程圖待辦事項請假管理管理后臺考勤管理工資管理部門管理員工管理

添加待辦事項修改待辦事項待辦事項刪除待辦事項我要請假修改請假信息查看請假信息刪除請假信息考勤簽到查看考勤查看工資工資查詢統(tǒng)計添加部門修改部門查看部門刪除部門添加員工修改員工查看員工刪除員工16論文第4章數(shù)據(jù)庫設計數(shù)據(jù)庫是系統(tǒng)信息的有效中心,一個優(yōu)秀的數(shù)據(jù)庫設計應考慮到系統(tǒng)工程的功能,系統(tǒng)的執(zhí)行速度,以及是否可能引起系統(tǒng)工作的異常等。數(shù)據(jù)庫的設計合理與否不僅直接影響到程序設計的質量,而且影響到系統(tǒng)的實現(xiàn)4.1數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)(Data)數(shù)據(jù)是數(shù)據(jù)庫中存儲的對象。數(shù)據(jù)在大多數(shù)人頭腦中的第一反映就是數(shù)字。其實數(shù)字只是最簡單的一種數(shù)據(jù),是數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。廣義的理解,數(shù)據(jù)的種類很多,文字,圖形,圖象,聲音等都是數(shù)據(jù),可以對數(shù)據(jù)做以下定義:描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)庫(DataBase)數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫。只不過這個倉庫是在計算機存儲設備上,而且數(shù)據(jù)是按一定的格式存放的。數(shù)據(jù)庫是指長期存在計算機內(nèi)的,有組織的,可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織,描述和存儲,具有較高的數(shù)據(jù)獨立性和易擴展性,并可以為各種用戶共享。數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。它主要有以下幾個方面的功能:數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言,用戶通過它可以方便的對數(shù)據(jù)庫中的數(shù)據(jù)對象進行定義。②數(shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操縱語言,用戶可以使用這語言操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作。如查詢,插入,刪除和修改等。③ 數(shù)據(jù)庫的運行管理數(shù)據(jù)庫在建立,運行和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,統(tǒng)一控制,以保證數(shù)據(jù)的安全性,完整性,多用戶對數(shù)據(jù)的并發(fā)使用乃發(fā)生故障后的系統(tǒng)恢復。17論文④ 數(shù)據(jù)庫的建立和維護功能它包括數(shù)據(jù)庫初始的輸入,轉換功能,數(shù)據(jù)庫的轉存,恢復功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視。這些功能通常是由一些實用的程序完成的。4.2數(shù)據(jù)庫總體設計數(shù)據(jù)庫技術和計算機網(wǎng)絡技術的發(fā)展相互滲透 ,相互促進,已成為當今計算機領域發(fā)展迅速,應用廣泛的兩大領域 .數(shù)據(jù)庫技術不僅應用于事務處理 ,并且進一步應用到情報檢索 ,人工智能,專家系統(tǒng),計算機輔助設計等領域。使用數(shù)據(jù)庫可以帶來許多好處: 如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間;實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術還為用戶提供了非常簡便的使用手段使用戶易于編寫有關數(shù)據(jù)庫應用程序。數(shù)據(jù)庫是通過數(shù)據(jù)庫管理系統(tǒng) (DBMS-DATABASEMANAGEMENTSYSTEM)軟件來實現(xiàn)數(shù)據(jù)的存儲、管理與使用。數(shù)據(jù)庫技術和計算機網(wǎng)絡技術的發(fā)展相互滲透 ,相互促進,已成為當今計算機領域發(fā)展迅速,應用廣泛的兩大領域 .數(shù)據(jù)庫技術不僅應用于事務處理 ,并且進一步應用到情報檢索 ,人工智能,專家系統(tǒng),計算機輔助設計等領域。使用數(shù)據(jù)庫可以帶來許多好處: 如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間;實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術還為用戶提供了非常簡便的使用手段使用戶易于編寫有關數(shù)據(jù)庫應用程序。數(shù)據(jù)庫是通過數(shù)據(jù)庫管理系統(tǒng) (DBMS-DATABASEMANAGEMENTSYSTEM)軟件來實現(xiàn)數(shù)據(jù)的存儲、管理與使用。數(shù)據(jù)庫是一個共享的、集成的計算機結構,它包括最終用戶數(shù)據(jù)和元數(shù)據(jù)。一個好的數(shù)據(jù)庫并不是隨意產(chǎn)生的,其內(nèi)容結構必須經(jīng)過精心設計。 設計優(yōu)良的數(shù)據(jù)庫會使數(shù)據(jù)管理變得容易,并產(chǎn)生有價值的信息;而設計糟糕的數(shù)據(jù)庫則會成為冗余數(shù)據(jù)的滋生地。冗余數(shù)據(jù)經(jīng)常會造成難以跟蹤的錯誤。關系數(shù)據(jù)庫范式理論是在數(shù)據(jù)庫設計過程中將要依據(jù)的準則, 數(shù)據(jù)庫結構必須要滿足這些準則,才能確保數(shù)據(jù)的準確性和可靠性。這些準則被稱為規(guī)范化形式,即范式。在數(shù)據(jù)庫設計過程中,對數(shù)據(jù)庫進行檢查和修改并使它符合范式的過程叫做規(guī)范化。規(guī)范化是給實體分配屬性的過程。 它能夠減少數(shù)據(jù)冗余,有助于進一步消除由于冗余引起的數(shù)據(jù)異常。規(guī)范化不能夠消除數(shù)據(jù)冗余;相反,它通過生成有控制的冗余來連接數(shù)據(jù)庫表。規(guī)范化通過一系列稱為范式的階段來完成。18論文第一范式:設R是一個關系模式。如果R的每個屬性的值域都是不可分的簡單數(shù)據(jù)項(成為原子)的集合,則稱這個關系模式屬于第一范式。第一范式要求每一個數(shù)據(jù)項都不能拆分成兩個或兩個以上的數(shù)據(jù)項。第二范式(2NF):若關系模式R是1NF,而且每一個非主屬性都完全函數(shù)依賴于R的候選鍵,則R稱為第二范式。如果一個數(shù)據(jù)表已經(jīng)滿足第一范式,而且該數(shù)據(jù)表中的任何一個非主關鍵字段的數(shù)指都依賴于該數(shù)據(jù)表的主鍵字段,那么該數(shù)據(jù)表滿足第二范式。第三范式(3NF):如果關系模式R是1NF,而且它的任何一個非主屬性都不傳遞地依賴于任何候選鍵,則R稱為第三范式。如果一個數(shù)據(jù)表已經(jīng)滿足第二范式,而且該數(shù)據(jù)表中的任何兩個非主鍵字段的數(shù)值之間不存在函數(shù)依賴關系,那么該數(shù)據(jù)表滿足第三范式。數(shù)據(jù)表規(guī)范化的程度越高,數(shù)據(jù)冗余就越少,同時造成人為錯誤的可能性就越少;同時,規(guī)范化的程度越高,在查詢檢索時需要做的關聯(lián)等工作就越多,數(shù)據(jù)庫在操作過程中需要訪問的數(shù)據(jù)表以及之間的關聯(lián)也就越多。因此,在數(shù)據(jù)庫設計的規(guī)范化過程中,要根據(jù)數(shù)據(jù)庫需求的實際情況,選擇一個折中的規(guī)范化程度。19論文第五章 數(shù)據(jù)庫設計5.1表關系圖20論文5.2數(shù)據(jù)庫表設計我們知道,數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉換。即轉化為按計算機觀點處理的邏輯關系模型 ,E-R模型向關系數(shù)據(jù)庫模型轉換應遵循下列原則:每一個實體要轉換成一個關系所有的主鍵必須定義非空(NOTNULL)對于二元聯(lián)系應按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型,鋁窗設計管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結構,下面是各數(shù)據(jù)表的詳細說明。管理員表英文名中文名類型是否主鍵id編號int是Name登陸名Nvarchar(50)Pass登陸密碼Nvarchar(50)待辦事項表英文名中文名類型是否主鍵id編號int是Title主題Nvarchar(50)DoType_ID類型intDoType外鍵Text內(nèi)容textInTime日期datetimeWorker_ID員工編號intWorker外鍵待辦事項類型表英文名中文名類型是否主鍵id編號int是Type類型名稱Nvarchar(50)21論文員工表英文名中文名類型是否主鍵id編號int是login登陸名varcharName姓名nvarcharAge年齡IntTel手機nvarcharaddress地址nvarcharmid證件號碼varcharBuMen_ID部門編號intBuMen外鍵Pass密碼varcharMoney基本工資float部門表英文名中文名類型是否主鍵id編號int是Type部門名稱Nvarchar(50)請假表英文名中文名類型是否主鍵id編號int是Title標題nvarcharText原因TextIntime請假日期DatetimeWorker_ID請假員工IntWorker外鍵Read已讀狀態(tài)Intstate審核狀態(tài)Int22論文考勤表英文名中文名類型是否主鍵ID編號Int是Worker_ID員工編號IntWorker外鍵InTime簽到時間datetime4.3數(shù)據(jù)庫的連接原理采用JDBC連接數(shù)據(jù)庫的方式,只需在工程中導入對應數(shù)據(jù)庫的 jar 包,就可以方便的對數(shù)據(jù)庫進行連接,在程序中,用Class.forName() 方法來加載驅動程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個數(shù)據(jù)庫連接。程序采用的是 DAO模式來操作數(shù)據(jù)庫,DAO(DataAccessObject,數(shù)據(jù)訪問對象),是Java編程中的一種經(jīng)典模式,已被廣泛應用,也是J2EE架構中持久層框架的基礎知識,基于分層次式的軟件架構來實現(xiàn)對數(shù)據(jù)庫的訪問操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應用程序的程序員不必關心數(shù)據(jù)庫的物理位置,已經(jīng)是何種數(shù)據(jù)庫,只需使用封裝數(shù)據(jù)庫中表示記錄的數(shù)據(jù)對象即可。其思想如圖3.10所示:使用封裝BusinessObjectDataAccessObjectDataSource獲取/修改

創(chuàng)建/使用DataTransferObject圖3.10DAO模式類圖圖中BussinessObject是業(yè)務對象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對象,在應用程序不同層次之間傳輸對象,在一個分布式應用程序中,通??梢蕴岣哒淼男阅埽籇ataObjectAcces數(shù)據(jù)輸入/輸出對象封裝了對數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結構。本系統(tǒng)為了方便數(shù)據(jù)庫的操作,主要使用DBContent的對象來接一個數(shù)據(jù)庫(建立一個類DBContent),代碼如下:public DBContent(){StringCLASSFORNAME= "com.SqlServer.jdbc.Driver" ;// 連接數(shù)據(jù)庫的驅動Stringurl= "jdbc:SqlServer://localhost:3306/gy1" ;Stringuser= "root" ;// 連接數(shù)據(jù)庫的用戶名Stringpassword= "root" ;// 連接數(shù)據(jù)庫的密碼23論文try {Class. forName (CLASSFORNAME);con=DriverManager. getConnection (url,user,password);// 加載數(shù)據(jù)庫的驅動stmt =con.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE);}catch (Exceptionex){ex.printStackTrace();}}在程序需要連接數(shù)據(jù)庫的地方,只需要生成一個DBConnet的對象,就可以對數(shù)據(jù)庫進行連接并操作。24論文第6章 系統(tǒng)各功能模塊的詳細設計在管理信息系統(tǒng)的生命周期中,經(jīng)過了需求分析、系統(tǒng)設計等階段之后,便開始了系統(tǒng)實施階段。在系統(tǒng)分析和設計階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術設計上,系統(tǒng)實施階段要繼承此前面各個階段的工作成果, 將技術設計轉化為物理實現(xiàn), 因此系統(tǒng)實施的成果是系統(tǒng)分析和設計階段的結晶。6.1登陸25論文輸入登陸信息false false發(fā)送請求判斷登陸角色員工登陸 管理登陸登陸名是否填寫員工是否存在 管理是否存在true truetrue true密碼是否正確 密碼是否正確true true登陸成功主要實現(xiàn)功能代碼如下:request.setCharacterEncoding( "UTF-8" );Stringloginname=request.getParameter( "name" );StringPWD=request.getParameter( "pwd" );Stringauthor=request.getParameter( "author" );if ("管理員".equals(author)){Admina= newAdminServer().Login(loginname);if (a==null )out.print( "<script>alert(' 沒有該用戶');location.replace('../login.jsp');</script>" );else if (!a.getPass().equals(PWD))out.print( "<script>alert(' 您輸入的密碼有誤');location.replace('../login.jsp');</script>" );else{session.setAttribute( "admin" ,a);out.print( "<script>location.replace('../admin/worker.jsp');</script>" );26論文}}else{Workerw= newWorkerServer().Login(loginname);if (w==null )out.print( "<script>alert(' 沒有該用戶');location.replace('../login.jsp');</script>" );else if (!w.getPass().equals(PWD))out.print( "<script>alert(' 您輸入的密碼有誤');location.replace('../login.jsp');</script>" );else{session.setAttribute( "worker" ,w);out.print( "<script>location.replace('../worker/do.jsp');</script>" );}}6.2添加待辦事項員工可以添加自己的待辦事項以達到提醒的作用,主要實現(xiàn)功能代碼如下:request.setCharacterEncoding( "UTF-8" );Workerw=(Worker)session.getAttribute( "worker" );27論文Stringtitle=request.getParameter("do_title");StringtypeID=request.getParameter("do_type");Stringintime=request.getParameter("do_intime");Stringtext=request.getParameter("do_text");Stringid=request.getParameter("id");Stringparam=request.getParameter("param");Dod=newDo();if(param==null){d.setTitle(title);d.setText(text);SimpleDateFormatdd=newSimpleDateFormat("yyyy-MM-dd");d.setIntime(dd.parse(intime));}intcount=0;if(id==null||id.equals("null"))count=newDoServer().Add(d,w.getId(),Integer.parseInt(typeID));elseif(param==null){d.setId(Integer.parseInt(id));count=newDoServer().Edit(d,Integer.parseInt(typeID));}elseif(param.equals("del"))count=newDoServer().Del(Integer.parseInt(id));if(count==0)out.print("<script>alert('操作失敗');location.replace('../adddo.jsp');</script>");elseout.print("<script>alert('操作成功');location.replace('../do.jsp');</script>");6.3考勤簽到28論文管理員可以給員工代打考勤,主要功能代碼如下:<%intstartindex=0;if(request.getParameter("startindex")!=null)startindex=Integer.parseInt(request.getParameter("startindex"));intpagesize=5;Stringkey="datediff(day,intime,getdate())=0";intrcount=newWorkerServer().GetCount(key);List<KaoQing>kqs=newKaoQingServer().GetAll(startindex,pagesize,key);request.setAttribute("kqs",kqs);%>29論文6.4工資查看工資主要根據(jù)員工的基本工資和考勤進行計算,主要相關代碼如下:<%Dated= newDate();int year=d.getYear()+1900;int month=d.getMonth();if (request.getParameter( "year" )!= null ){year=Integer.parseInt(request.getParameter( "year" ));month=Integer.parseInt(request.getParameter( "month" ));}Workerw=(Worker)session.getAttribute( "worker" );List<Money>ms= newMoneyServer().Get(year,month,w.getId());request.setAttribute( "ms",ms);%><form method ="post" action ="money.jsp" >年份:<select name="year" ><%for (int i=0;i<3;i++){%><option value ="<%=year-i %>"><%=year-i %>年</option ><%} %></select ><select name="month" ><optionvalue="1">1月</option><optionvalue="2">2月</option><optionvalue="3">3月</option>30論文<optionvalue="4">4月</option><optionvalue="5">5月</option><optionvalue="6">6月</option><optionvalue="7">7月</option><optionvalue="8">8月</option><optionvalue="9">9月</option><optionvalue="10">10月</option><optionvalue="11">11月</option><optionvalue="12">12月</option></select >6.5添加員工主要功能代碼如下:request.setCharacterEncoding("UTF-8");Stringid=request.getParameter("id");Stringlogin=request.getParameter("w_login");Stringname=request.getParameter("w_name");Stringage=request.getParameter("w_age");Stringtel=request.getParameter("w_tel");Stringaddress=request.getParameter("w_address");Stringmid=request.getParameter("w_mid");31論文StringbmID=request.getParameter( "w_bumen" );Stringparam=request.getParameter( "param" );String[]authors=request.getParameterValues( "author" );Workerw= newWorker();if (param== null ){w.setLogin(login.toString());w.setName(name);w.setAge(Integer.parseInt(age));w.setTel(tel);w.setAddress(address);w.setMid(mid);}int count=0;int wid=0;if (id== null ||id.equals( "null" ))count=wid= newWorkerServer().Add(w,Integer.parseInt(bmID));else if (param== null ){w.setId(Integer.parseInt(id));wid=Integer.parseInt(id);count= newWorkerServer().Edit(w,Integer.parseInt(bmID));}else if (param.equals( "del" ))count= newWorkerServer().Del(Integer.parseInt(id)); }if (count==0)out.print( "<script>alert(' 操作失敗');location.replace('../addworker.jsp');</script>" );elseout.print( "<script>alert(' 操 作 成 功');location.replace('../worker.jsp');</script>" );6.6請假查看32論文管理員可以看到所有的請假條,并可以看到已讀和未讀狀態(tài),主要實現(xiàn)功能代碼如下:<%Workerw=(Worker)session.getAttribute("worker");intstartindex=0;if(request.getParameter("startindex")!=null)startindex=Integer.parseInt(request.getParameter("startindex"));intpagesize=5;intrcount=newLeaveServer().GetCount("");List<Leave>ls= newLeaveServer().GetAll(startindex,pagesize, "");request.setAttribute( "ls" ,ls);%><table id="sqltable" ><tr class ="title" >td>編號</td>td>請假標題</td>td>請假日期</td>td>審核狀態(tài)</td>td>閱讀狀態(tài)</td>td>操作</td></tr ><c:forEach items ="${ls}" var="l" ><tr class ="rows" ><td>${l.id} </td><td>${l.title} </td><td>${ime} </td><td>${l.stateText} </td><td>${l.readText} </td><td><a href ='leaveread.jsp?id= ${l.id}' >閱讀</a><c:if test ="${l.state==0}" ><a href ='Ref/leave.jsp?val=1&&id= ${l.id}' >通過</a><a href ='Ref/leave.jsp?val=2&&id= ${l.id}' >不通過</a></c:if ></td></tr></c:forEach >33論文第七章軟件的測試在軟件生命周期的每個階段都不可避免地會產(chǎn)生差錯。 調試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤。目前軟件測試仍然是保證軟件質量的關鍵步驟,它是對軟件規(guī)格說明、設計和編碼的最后復審。僅就調試而言,它的目標是發(fā)現(xiàn)軟件中的錯誤,但是,發(fā)現(xiàn)錯誤并不是我們的最終目的。它的根本目標是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質量的軟件系統(tǒng)交給用戶使用。7.1 功能調試7.1.1 鏈接測試鏈接是網(wǎng)絡交易系統(tǒng)的一個主要特征,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,調試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,調試所鏈接的頁面是否存在;最后,保證管理系統(tǒng)上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的頁面地址才能訪問。本系統(tǒng)經(jīng)過調試以后發(fā)現(xiàn),確實有部分鏈接是存在問題的。其中有些頁就沒有鏈接到應該鏈接的頁面,主要原因有系統(tǒng)的文件名有更改,而其他頁面相應的鏈接忘記了更改。還有就是文件頭的包含,每個頁面復制了一個頁面的頭,這樣方便了使用,也減少了代碼的編寫,體現(xiàn)了重用性,但是當文件拷貝到不同路徑下時,相應的鏈接也更改了,用原來的鏈接就出現(xiàn)了錯誤。在設計得好的軟件系統(tǒng)中,每個模塊完成一個清晰定義的子功能,而且這個子功能和同級其他模塊的功能之間沒有相互依賴關系。因此,有可能把每個模塊作為一個單獨的實體來調試,而且通常比較容易設計檢驗模塊正確性的調試方案。模塊調試的目的是保證每個模塊作為一個單元能正確運行,所以模塊調試通常又稱為單元調試。在這個調試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設計的錯誤。7.1.2 數(shù)據(jù)庫調試在網(wǎng)絡交易系統(tǒng)技術中,數(shù)據(jù)庫起著重要的作用,數(shù)據(jù)庫為管理系統(tǒng)、運行、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的請求等提供空間。 在網(wǎng)絡交易系統(tǒng)中,最常用的數(shù)據(jù)庫類型是關系型數(shù)據(jù)庫,可以使用 SQL對信息進行處理由于本系統(tǒng)在編輯時很注意對數(shù)據(jù)庫的設計, 所以并無輸出錯誤,但是出現(xiàn)了一次一致性的錯誤,在編寫處理產(chǎn)品信息的時候就只對產(chǎn)品信息的表進行了修改, 而為對相應用戶的表進行修改,這樣就使數(shù)據(jù)出現(xiàn)了不一致,但問題被老師及時發(fā)現(xiàn),所以解決的也很早,沒34論文有造成大的影響。7.2測試方法測試可以用兩種方法進行(1)黑盒子測試如果已經(jīng)知道產(chǎn)品的功能,可以測試它的每一個功能是否達到了預期的要求, 這種方法叫黑盒子測試。黑盒子測試著眼于軟件的外部特征, 而不考慮軟件的內(nèi)容邏輯結構。黑盒子測試指在軟件的接口上進行測試,即看它是否能夠滿足功能要求,輸入能否被正確接收并正確輸出結果,以及能否保持外部信息的完整性等等。(2)白盒子測試法如果已知產(chǎn)品的內(nèi)部活動方式, 可以測試它的內(nèi)部活動是否符合設計要求。 這種測試方法叫白盒子測試。把盒子測試與黑盒子測試不同,它檢查軟件內(nèi)部的邏輯結構,是仔細檢查過程的的細節(jié)為基礎,通過提供一組指定條件和循環(huán)測試的測試用例,對穿過軟件的邏輯路徑進行測試,可以在不同點檢查程序的狀態(tài),以確定實際狀態(tài)和與去狀態(tài)是否一致。7.3測試的概述7.3.1 測試的概念和意義測試的定義:程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 測試(Testing) 的任務與意義可以描述為:目的:發(fā)現(xiàn)程序的錯誤;意義:通過在計算機上執(zhí)行程序,暴露程序中潛在的錯誤,消除軟件故障,保證程序的可靠運行。1.1.1 測試的特性挑剔性測試是為了證明程序有錯,而不是證明程序無錯。因此,對于被測程序就是要“純毛求疵”,就是要“雞蛋里挑骨頭”。只有抱著程序有錯的目的去測試,才能把程序中潛在的大部分錯誤找出來。復雜性設計測試用例比較容易,這其實是一個誤區(qū)。設計測試用例是一項需要細致和高度技巧的高能工作,稍有不慎就會顧此失彼。3.不徹底性實際測試都是不徹底的,當然不能夠保證測試后的程序不存在遺漏的錯誤。經(jīng)濟性通場這種測試稱為“選擇測試(SelectiveTesting)”。為了降低測試成本,選擇測試用力是應注意遵守“經(jīng)濟性”的原則。35論文7.3.2 測試的重要性和范圍軟件測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。事實上,對于軟件來講,不論采用什么技術和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的 40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。軟件測試貫穿于軟件定義與開發(fā)的整個周期 ,軟件的需求規(guī)格說明書 ,結構設計及程序編碼,都屬于軟件測試的對象。由于軟件開發(fā)復雜性的原因,軟件開發(fā)過程中不可避免的會產(chǎn)生各種錯誤。為了在軟件開發(fā)的順利完成以及在軟件投入實際運營之前,盡可能多地發(fā)現(xiàn)軟件當中的錯誤,需要盡可能全面地對軟件進行測試。目前軟件測試仍然是保證軟件質量的關鍵步驟,它是對軟件需求分析、設計以及編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論