JAVA基于MVC模式的人事管理系統(tǒng)的研究
軟件技術(shù)專業(yè)畢業(yè)論文
基于MVC模式的人事管理系統(tǒng)的研究
學(xué)生姓名: 李濤
學(xué) 號: 0809340109
指導(dǎo)教師: 張哲、馬琦
雷燕、劉超
專 業(yè): 軟件技術(shù)
二〇一〇年五月八日
31
畢業(yè)設(shè)計開題報告
題 目
人事管理系統(tǒng)
學(xué)生姓名
李濤
指導(dǎo)教師
張哲、馬琦、雷燕
系 部
軟件學(xué)院
專業(yè)
軟件技術(shù)
本選題的意義及國內(nèi)外發(fā)展?fàn)顩r
人事管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關(guān)重要,所以人事勞資管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。
現(xiàn)在很多公司中人事檔案的管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。我作為一個學(xué)習(xí)計算機信息管理的大學(xué)生,希望可以在這方面有所貢獻。我希望能用我兩年來所學(xué)的知識編制出一個實用的程序來幫助公司進行更有效的人事管理,實現(xiàn)公司管理的信息化,來幫助公司更加高效、快速地發(fā)展!
研究內(nèi)容:
人事管理系統(tǒng)是針對公司人事部門的大量業(yè)務(wù)處理工作而開發(fā)的管理系統(tǒng),它的設(shè)計主要是為了高效、快速地管理公司員工的信息,實現(xiàn)新員工信息的快速注冊、員工信息的快速查詢、修改、更新和刪除,減少公司人事部門人力資源和物力資源的浪費,實現(xiàn)公司管理的信息化、電子化!
研究方法、手段、及步驟:
本人事管理系統(tǒng)主要采用MVC模式等技術(shù)以及MyEclipse 7.0、TomCat 6.0、MySql 5.0、PhotoShop 6.0、DreamWeaver CS3等開發(fā)工具開發(fā)實現(xiàn)。
開發(fā)步驟:
1. 系統(tǒng)的需求分析
2. 系統(tǒng)表的設(shè)計與數(shù)據(jù)庫的設(shè)計
3. 系統(tǒng)模塊的劃分與功能的實現(xiàn)
4. 系統(tǒng)界面的美化
5. 系統(tǒng)的測試與完善
參考文獻:
【1】 耿祥義 張躍平 Java基礎(chǔ)教程(第2版)實驗練習(xí)與提高 2007年5月
【2】 戴志誠 SQL Server 2005 數(shù)據(jù)庫系統(tǒng)開發(fā)與實例 2007年3月
【3】 穆卡爾 魏海萍。Java數(shù)據(jù)庫應(yīng)用程序編程指南 2002年1月
【4】 王強 賈素玲 鄭晉梅 姚琪琳 HTML設(shè)計 2005年4月
【5】 葛洪央 Dreamweaver 8網(wǎng)頁設(shè)計 2007年5月
【6】 耿祥義 張躍平 JSP實用教程 2008年2月
時間安排:
1.系統(tǒng)的需求分析 2天
2.系統(tǒng)表的設(shè)計與數(shù)據(jù)庫的設(shè)計 2天
3.系統(tǒng)模塊的劃分與功能的實現(xiàn) 15天
4.系統(tǒng)界面的美化 2天
5.系統(tǒng)的測試與完善 4天
學(xué)生簽名:
年 月 日
指導(dǎo)教師意見:
簽名:
院系領(lǐng)導(dǎo)意見:
簽名:
年 月 日
摘 要
由于計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的一個有效的手段,在各行各業(yè)中得到越來越廣泛的應(yīng)用。因此,本文圍繞一個“人事管理系統(tǒng)”程序的設(shè)計和應(yīng)用系統(tǒng)的開發(fā)課題為背景,詳細介紹了以JAVA和MYSQL為語言編寫管理信息系統(tǒng)的過程。該程序通過JAVA的CONNECTION數(shù)據(jù)對象來實現(xiàn)jsp頁面前臺與后臺MYSQL數(shù)據(jù)庫的連接,并具有典型的數(shù)據(jù)庫應(yīng)用系統(tǒng)的特征,完成了系統(tǒng)結(jié)構(gòu)與現(xiàn)實生活的緊密結(jié)合。
管理系統(tǒng)的開發(fā)不僅是一個應(yīng)用程序編寫的過程,更重要的是在系統(tǒng)分析和設(shè)計階段所做的工作。該程序在設(shè)計過程中嚴(yán)格遵循軟件工程學(xué)的方法,用分階段的生命周期計劃嚴(yán)格管理,并主要講述了程序的總體設(shè)計、詳細設(shè)計階段,對程序進行需求迭代,不斷修正和改進,利用MYSQL的強大數(shù)據(jù)庫功能,直到形成一個完善的可行性系統(tǒng)。漂亮的界面,方便實用的查詢與維護功能共同構(gòu)成了“人事管理系統(tǒng)”。
關(guān)鍵詞:JAVA;JSP;MYSQL;管理信息系統(tǒng)
Abstract
Because of the rapid development of computer technology, database technology as an effective means of data management, in all walks of life are increasingly wide application. Therefore, this article on a "personnel management system" design and procedures for applications development topics background, details and MY SQL to add language to the process of preparing management information systems. The procedure adopted to achieve the target data add the connection with JAVA prospects background MYSQL databases and database applications with typical characteristics, and completed the structure and system combining real life.
Management system applications development is not only a preparation process, but more importantly in the analysis and design phase work. The procedure strictly followed in the design process software engineering methods, and use a phased plan to manage the life cycle and on the main procedures designed, detailed design stage, the demand for computation procedures, and constantly revised and improved, the use of MY SQL powerful database functions, Until the feasibility of forming a perfect system. beautiful interface for practical information and the maintenance of the common functions constitute a " personnel management system."
Keyword: JAVA;JSP;MYSQL;Management Information System
目錄
摘 要 I
Abstract II
第一章 引言 1
1.1 開發(fā)背景 1
1.2 開發(fā)目標(biāo) 1
第二章 開發(fā)技術(shù)及開發(fā)工具介紹 3
2.1 Jsp簡介 3
2.2 MVC簡介 3
2.3 TomCat服務(wù)器簡介 3
2.4 My Eclipse簡介 4
2.5 MySQL數(shù)據(jù)庫 4
第三章 系統(tǒng)概述 5
3.1 系統(tǒng)的需求分析 5
3.2 系統(tǒng)的功能分析 7
3.3 系統(tǒng)的數(shù)據(jù)流程分析 8
第四章 系統(tǒng)設(shè)計 10
4.1 總體設(shè)計 10
4.2 數(shù)據(jù)庫設(shè)計 11
4.3 系統(tǒng)實現(xiàn)方案 15
第五章 系統(tǒng)詳細設(shè)計 16
5.1 系統(tǒng)管理員模塊 16
5.2 公司員工模塊 19
5.3 實現(xiàn)系統(tǒng)后臺功能的javaBean類和Servlet類 21
5.4 前臺的相關(guān)JSP/HTML頁面 23
5.5 各模塊功能的實現(xiàn)邏輯 25
第六章 系統(tǒng)運行與測試 27
6.1 系統(tǒng)運行環(huán)境 27
6.2 系統(tǒng)測試 27
第七章 總結(jié) 28
7.1 系統(tǒng)的優(yōu)缺點總結(jié) 28
7.2 系統(tǒng)設(shè)計的收獲與心得 28
致謝 29
參考文獻 30
第一章 引言
以往的公司人事管理都是以紙和筆為主要工具并且主要依靠人力的人工化管理,一旦公司規(guī)模擴大或者時間變久,將會產(chǎn)生大量的信息資料和文件,給員工信息的查找、更新以及維護都帶來了很大的困難,人事的管理也變得越來越困難,隨著計算機信息技術(shù)的發(fā)展,很多公司都開始使用信息化的人事管理技術(shù)來管理公司的人事信息。
1.1 開發(fā)背景
隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應(yīng)用的普及,以往公司以紙、筆以及人力來進行的手工化的人事管理已經(jīng)越來越不能適應(yīng)公司發(fā)展的需要,隨著公司的發(fā)展以及規(guī)模的壯大,現(xiàn)急需實現(xiàn)公司人事管理的信息化與電子化,所以此次畢業(yè)設(shè)計,利用所學(xué)的知識開發(fā)一個B/S模式的jsp人事管理系統(tǒng)。
1.2 開發(fā)目標(biāo)
開發(fā)人事管理系統(tǒng),利用計算機代替人力進行公司員工信息的管理,進一步提高公司人事管理效益和水平,實現(xiàn)人事管理工作的系統(tǒng)化、信息化、規(guī)范化和自動化,現(xiàn)代的人事管理不同于以往的人事管理,它要求能更加快速地查詢、添加、更新、刪除員工的信息,而且還要能快速地備份這些信息,以免數(shù)據(jù)丟失造成不必要的損失,而以往的人事管理要處理這些工作需要耗費大量的人力、物力和時間,而利用計算機來進行人事管理,不僅可以減少這些人力、物力和時間的浪費,而且還能高效、快速、準(zhǔn)確地處理這些工作,減少不必要的錯誤信息的產(chǎn)生。
當(dāng)今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。
管理信息系統(tǒng)是進行信息的采集、存儲、加工、維護和使用的系統(tǒng)。它是隨著管理科學(xué)和技術(shù)科學(xué)的發(fā)展而形成的。人事管理系統(tǒng)是一個公司不可缺少的一部分,它對于公司的管理者來說起著至關(guān)重要的作用,人事管理系統(tǒng)是公司管理人員實施決策重要的參考依據(jù),更為公司員工的信息查詢維護提供了快速的通道,但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。
作為計算機應(yīng)用的一部分,使用計算機對員工信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高員工檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理系統(tǒng)是一件很有必要的事情,jsp人事管理系統(tǒng)提供了強大的員工檔案信息管理功能,方便管理員對員工檔案信息的添加.修改.刪除.查詢.匯總.統(tǒng)計等操作。
第二章 開發(fā)技術(shù)及開發(fā)工具介紹
2.1 Jsp簡介
JSP是Java Server Page的縮寫,是由Sun公司倡導(dǎo)、許多公司參與,于1999年推出的一種Web服務(wù)設(shè)計標(biāo)準(zhǔn)。JSP是基于Java Servlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立安全、跨平臺的先進動態(tài)網(wǎng)站。JSP是以Java技術(shù)為基礎(chǔ),具有動態(tài)頁面與靜態(tài)頁面分離,能夠脫離硬件平臺的束縛,以及編譯后運行等優(yōu)點。
2.2 MVC簡介
本系統(tǒng)采用MVC(Jsp+JavaBean+Servlet) 開發(fā)模式來編寫代碼。MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應(yīng)用程序總是由這三個部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。
2.3 TomCat服務(wù)器簡介
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。
2.4 My Eclipse簡介
Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實現(xiàn)了工具之間的互操作性,從而顯著改變了項目工作流程,使開發(fā)者可以專注在實際的嵌入式目標(biāo)上。
2.5 MySQL數(shù)據(jù)庫
MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
第三章 系統(tǒng)概述
管理信息系統(tǒng)(MIS)是一門邊緣學(xué)科,集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、現(xiàn)代通信技術(shù)和電子計算機技術(shù)于一體。1985年,管理信息系統(tǒng)創(chuàng)始人—明尼蘇達大學(xué)卡爾森管理學(xué)院的著名教授戴維斯(Gordon.B.Davis)給出了一個具有代表性的定義:“管理信息系統(tǒng)是一個利用計算機硬件和軟件,手工作業(yè)、分析、計劃、控制和決策模型以及數(shù)據(jù)庫的用戶--機器系統(tǒng)。它能提供信息支持企業(yè)或組織的運行、管理和決策功能?!北鞠到y(tǒng)的研究與開發(fā),包括調(diào)研、分析、設(shè)計、編碼、測試、文檔編寫等內(nèi)容。
3.1 系統(tǒng)的需求分析
3.1.1 系統(tǒng)需求
當(dāng)今世界經(jīng)濟高速發(fā)展,科技和經(jīng)濟都在不斷地發(fā)生著翻天覆地的變化,每日每時幾乎都能出現(xiàn)新的產(chǎn)品新的知識,人們的生活都在不斷地發(fā)生變化,特別是計算機的應(yīng)用及普及到經(jīng)濟和社會生活的各個領(lǐng)域。使原本的舊的管理方法越來越不適應(yīng)現(xiàn)在社會的發(fā)展。許多人還停留在以前的手工操作時代。這大大地阻礙了人類經(jīng)濟的發(fā)展。為了適應(yīng)現(xiàn)代社會人們高度強烈的時間觀念,我所開發(fā)的這個系統(tǒng)所采用MVC開發(fā)模式作為實現(xiàn)語言,以數(shù)據(jù)庫MySQL 5.0作為系統(tǒng)的后臺操作數(shù)據(jù)庫,其功能在系統(tǒng)內(nèi)部有源代碼直接完成。我們只需按系統(tǒng)要求輸入即可操作。
通過對一些公司的人事部門的調(diào)查和信息收集,再經(jīng)過我們的分析和研究得到的用戶對系統(tǒng)的需求如下:
1. 系統(tǒng)能展現(xiàn)我們所需要的信息
2. 系統(tǒng)需實現(xiàn)信息的添加、更新、刪除維護操作
3.1.2 用戶需求
該人事管理系統(tǒng)是利用MVC模式+MySQL后臺數(shù)據(jù)庫實現(xiàn)的,系統(tǒng)是基于WEB
的B-S模式的人事管理系統(tǒng),系統(tǒng)的用戶有二種:系統(tǒng)管理員和公司員工。
系統(tǒng)的模塊:登錄模塊,管理員模塊,員工模塊,
登錄模塊:管理員登錄,公司員工登錄
管理員模塊:新員工信息的錄入,員工信息的查詢,員工信息的更新,員工信息的刪除
員工模塊:信息查詢
3.1.3 可行性分析
(1) 技術(shù)可行性
隨著國內(nèi)軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而這個系統(tǒng)盡管其在組織關(guān)系上存在著很大的復(fù)雜性,繁瑣性,但是就整個系統(tǒng)的技術(shù)構(gòu)成上來看,它還是屬于一個數(shù)據(jù)庫應(yīng)用類的系統(tǒng)。其基本操作還是對存在數(shù)據(jù)庫進行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫應(yīng)用來看,暫不存在太大的技術(shù)問題。
(2) 經(jīng)濟可行性
對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。各部門必須配置電腦、服務(wù)器、打印機、傳真機及相關(guān)的網(wǎng)絡(luò)設(shè)備,但是在整個系統(tǒng)投入運行之后,因為現(xiàn)在計算機已經(jīng)普及了,相關(guān)的人員培訓(xùn)費可以減少很多。而同時又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的是就是提高了效率,而又保證了各項數(shù)據(jù)的準(zhǔn)確性,也避免了工作人員的流動造成的收據(jù)丟失等問題,適應(yīng)了當(dāng)前的發(fā)展形式。
(3) 管理可行性
隨著時代的發(fā)展,人員素質(zhì)己逐步提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎(chǔ)。同時還可以配置專業(yè)的電腦維護人員來維護電腦,不必擔(dān)心電腦故障問題。
(4) 開發(fā)環(huán)境的可行性
本系統(tǒng)的開發(fā)主要采用的是MyEclipse 7.0開發(fā)工具,該工具功能強大,兼容性強,能集成多種插件和軟件,并能通過專用接口或jdbc、odbc接口連接多種常用數(shù)據(jù)庫,而且此次使用的后臺數(shù)據(jù)庫是MySQL,MyEclipse對MySQL的兼容性很強,而MyEclipse 7.0和MySQL 5.0的安裝和運行并不需要配置較高的電腦,一般的電腦幾乎都能安裝和運行這兩種軟件,所以開發(fā)人事管理系統(tǒng)對一般的電腦在開發(fā)環(huán)境上是可行的。
3.2 系統(tǒng)的功能分析
該人事管理系統(tǒng)的將要實現(xiàn)的功能主要包括:管理員和員工的登錄,新員工檔案信息的錄入,員工信息的查詢,員工的信息的更新、刪除,員工對公司的建議等。
3.2.1 管理員和員工的登錄
管理員登錄后,跳轉(zhuǎn)的頁面是管理員可執(zhí)行對員工信息進行維護的頁面,而員工登錄后的跳轉(zhuǎn)頁面則是顯示員工的檔案信息的頁面,但員工不能更改這些信息,只能通過管理員來更改或刪除這些信息。
3.2.2 新員工檔案信息的錄入
新員工的檔案信息包括:員工姓名,員工號,登錄密碼,性別,出生日期,民族等信息,新員工信息的錄入操作只能通過管理員來完成。
3.2.3 員工信息的更新、刪除
員工的信息如果有誤需要修改,需要通過管理員的操作才能修改;員工如果辭職或擅自離開公司,管理員將會刪除該員工的全部檔案信息。
3.2.4 員工對公司的建議
員工登錄成功后,可以通過超鏈接鏈接到員工發(fā)表建議的頁面,然后即可發(fā)表對公司的建議。
3.3 系統(tǒng)的數(shù)據(jù)流程分析
系統(tǒng)的數(shù)據(jù)流程分析主要包括對系統(tǒng)的組織結(jié)構(gòu)圖分析、系統(tǒng)的數(shù)據(jù)流程圖、系統(tǒng)的業(yè)務(wù)流程圖和系統(tǒng)的數(shù)據(jù)字典的分析。
3.3.1 系統(tǒng)的組織結(jié)構(gòu)分析
該人事管理系統(tǒng)的用戶為系統(tǒng)管理員和公司員工,系統(tǒng)的主要功能是實現(xiàn)系統(tǒng)管理員對公司員工的管理,所以本系統(tǒng)的組織結(jié)構(gòu)圖為圖3-1:
圖3-1 人事管理系統(tǒng)組織結(jié)構(gòu)圖
3.3.2 系統(tǒng)的數(shù)據(jù)流程分析
數(shù)據(jù)流程圖(Data Flow Diagram簡稱DFD)是描述系統(tǒng)邏輯模型的主要工具,通過幾個特定的符號,可以綜合地反映出信息在系統(tǒng)中的使用、加工處理、傳遞、存儲的整體情況,數(shù)據(jù)流程圖是系統(tǒng)結(jié)構(gòu)化分析行之有效的工具,它抽象地描述了系統(tǒng)數(shù)據(jù)處理的情況。
人事管理系統(tǒng)的數(shù)據(jù)流程圖如圖3-2所示:
圖3-2 人事管理系統(tǒng)數(shù)據(jù)流程圖
3.3.3 系統(tǒng)的業(yè)務(wù)流程分析
人事管理系統(tǒng)的業(yè)務(wù)流程圖如圖3-3所示:
圖3-3 人事管理系統(tǒng)業(yè)務(wù)流程圖
第四章 系統(tǒng)設(shè)計
4.1 總體設(shè)計
4.1.1 系統(tǒng)功能模塊分析
模塊分析是描述系統(tǒng)需求的一個過程,需要將需求分析中的感性描述進行抽象,提取出要實現(xiàn)的功能,這是整個系統(tǒng)開發(fā)的一個關(guān)鍵過程。分析的根本目的是在開發(fā)者和提出需求的人之間,建立一種理解和溝通的機制。
該人事管理系統(tǒng)的用戶主要有管理員和用戶,對管理員要實現(xiàn)的功能有:管理員登錄、新員工信息錄入、員工信息查詢、員工信息修改、員工信息刪除、查看員工的建議和注銷登錄,對公司員工要實現(xiàn)的功能有:員工登錄、查看自己的員工信息、發(fā)表對公司的建議以及注銷登錄,該人事管理系統(tǒng)的系統(tǒng)功能模塊圖如圖4-1:
圖4-1 人事管理系統(tǒng)系統(tǒng)功能模塊圖
4.1.2 系統(tǒng)用例分析
人事管理系統(tǒng)的員工管理用例圖如圖4-2:
圖4-2 人事管理系統(tǒng)員工管理用例圖
4.2 數(shù)據(jù)庫設(shè)計
4.2.1 數(shù)據(jù)庫關(guān)系模型設(shè)計
E-R圖即實體—關(guān)系模型圖的簡稱,它是數(shù)據(jù)庫結(jié)構(gòu)設(shè)計常用的方法。E-R圖中的矩形表示實體;菱形表示實體間的聯(lián)系,聯(lián)系的類型可用1:N或M:N表示;人事管理系統(tǒng)的E-R圖如圖4-3所示:
圖4-3 人事管理系統(tǒng)E-R圖
4.2.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計
數(shù)據(jù)庫邏輯結(jié)構(gòu)就是數(shù)據(jù)庫的關(guān)系模型,人事管理系統(tǒng)的關(guān)系模型如下:
管理員(管理員號(adId),管理員姓名(adName),登錄密碼(password),管理員性別(sex),出生日期(birthday),家庭住址(homeAddress),聯(lián)系方式(mobilePhone))
公司員工(員工號(memberId),員工姓名(memberName),登錄密碼(password),員工性別(sex),出生日期(birthday),民族(nation),政治面貌(mianMao),身份證號(idenficationCardNumber),學(xué)歷(xueLi),所學(xué)專業(yè)(specialty),英語等級(EnglishGrade),工作經(jīng)驗(workExperience),進入公司時間(enterTime),聯(lián)系方式(mobilePhoneNumber),家庭住址(homeAddress),部門(department),職務(wù)(duty),基本工資(basicWage))
員工建議表(建議號(sugId),員工號(member_id),員工姓名(memberName),職務(wù)(duty),建議(suggest))
4.2.3 數(shù)據(jù)庫數(shù)據(jù)表設(shè)計
該人事管理系統(tǒng)主要包括三個數(shù)據(jù)表—管理員信息表、員工信息表以及員工建議表,下面是三個數(shù)據(jù)表的詳細信息:
表4-4 管理員信息表(adInfo)
列名
類型
長度
能否為空
描述
adId
varchar
3
否
管理員編號
adName
varchar
5
否
管理員姓名
password
varchar
12
否
登錄密碼
sex
varchar
2
是
性別
birthday
varchar
12
是
出生日期
homeAddress
varchar
50
是
家庭住址
mobilePhone
varchar
11
是
聯(lián)系方式
表4-5 員工建議表(suggestionInfo)
列名
類型
長度
能否為空
描述
sugId
varchar
5
否
建議編號
memberId
varchar
5
否
員工編號
memberName
varchar
5
否
員工姓名
duty
varchar
10
是
職務(wù)
suggest
varchar
50
是
建議
表4-6 員工信息表(memberInfo)
列名
類型
長度
能否為空
描述
memberId
varchar
5
否
員工編號
memberName
varchar
5
否
員工姓名
password
varchar
6
否
登錄密碼
sex
varchar
2
是
性別
birthday
varchar
12
是
出生日期
nation
varchar
10
是
民族
mianMiao
varchar
10
是
政治面貌
idenficationCardNumber
varchar
18
否
身份證號碼
xueLi
varchar
10
是
學(xué)歷
specialty
varchar
30
是
所學(xué)專業(yè)
EnglishGrade
varchar
5
是
英語等級
workExperience
varchar
50
是
工作經(jīng)歷
enterTime
varchar
10
是
進公司時間
mobilePhoneNumber
varchar
11
是
聯(lián)系方式
homeAddress
varchar
50
是
家庭住址
department
varchar
20
是
所在部門
duty
varchar
10
是
職務(wù)
basicWage
varchar
5
是
基本工資
4.2.4 數(shù)據(jù)庫連接
由于本人事管理系統(tǒng)采用的數(shù)據(jù)庫是MySql數(shù)據(jù)庫,所以不需要設(shè)置數(shù)據(jù)源,但用java代碼連接數(shù)據(jù)庫需要連接驅(qū)動,本系統(tǒng)用的java代碼連接MySql的驅(qū)動文件為 mysql-connector-java-5.1.7-bin.jar。
應(yīng)用程序加載MySql驅(qū)動程序代碼如下:
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{ System.out.println(e+"連接數(shù)據(jù)庫時出錯");
}
和數(shù)據(jù)庫連接的代碼如下:
Connection con;
Statement sql;
ResultSet rs;
try{
con=DriverManager.getConnection("jdbc:mysql://localhost/companymanager","root","litao1029");
sql=con.createStatement();
}
catch(SQLException e)
{System.out.println(e+"連接數(shù)據(jù)庫時出錯");
}
4.3 系統(tǒng)實現(xiàn)方案
本人事管理系統(tǒng)采用的是B/S模式,運用MVC框架,數(shù)據(jù)庫采用MySql5.0,WEB服務(wù)器采用TomCat6.0,編碼工具采用MyEclipse7.0,界面美化采用DreamWeaver CS3,PhotoShop 6.0等工具。
第五章 系統(tǒng)詳細設(shè)計
前面的系統(tǒng)的需求分析和系統(tǒng)總體設(shè)計已經(jīng)完成,現(xiàn)在用MVC模式來完成系統(tǒng)的核心代碼,實現(xiàn)系統(tǒng)各模塊的功能,下面來介紹系統(tǒng)設(shè)計的詳細過程。
5.1 系統(tǒng)管理員模塊
管理員登錄界面如圖5-1:
圖5-1 人事管理系統(tǒng)管理員登錄界面
系統(tǒng)管理員只有成功登錄后,才能對系統(tǒng)進行維護和對公司的員工信息進行管理,登錄成功后管理員可執(zhí)行查詢員工信息、錄入新員工信息、修改員工信息、刪除員工信息以及查看員工建議信息等功能。
分頁顯示員工信息頁面如圖5-2:
圖5-2 分頁顯示員工信息頁面
錄入新員工信息的頁面如圖5-3:
圖5-3 新員工信息錄入頁面
修改員工信息輸入員工編號頁面如圖5-4:
圖5-4 輸入要修改員工信息的員工編號頁面
輸入要修改員工信息的員工編號后,頁面跳轉(zhuǎn)到要修改的員工信息頁面,該頁面如圖5-5:
圖5-5 顯示要修改員工的信息頁面
管理員登錄成功后還可以查看公司員工的建議信息,圖5-6是分頁顯示員工建議信息的頁面:
圖5-6 分頁顯示員工建議信息頁面
5.2 公司員工模塊
公司員工登錄界面如圖5-7:
圖5-7 公司員工登錄界面
公司員工輸入正確的員工姓名和密碼后,頁面跳轉(zhuǎn)員工登錄成功頁面,然后員工可以進行查詢自己的員工信息、給公司提建議這兩個操作。
員工正確地輸入自己的員工編號后可以查看到自己的員工信息,顯示員工信息頁面如圖5-8:
圖5-8 顯示員工個人信息頁面
顯示員工信息的文本框是只讀的,員工只能查看該信息而不能修改該信息。
員工發(fā)表建議頁面如圖5-9:
圖5-9 公司員工發(fā)表建議頁面
5.3 實現(xiàn)系統(tǒng)后臺功能的javaBean類和Servlet類
人事管理系統(tǒng)
JavaBean
Servlet
AdLogin.java
MemberLogin.java
ModifyMemberInfo.java
NewMemberRegister.java
SendWord.java
ShowMemberInfo.java
ShowSuggestionInfo.java
AdLoginServlet.java
DeleteOneInfoServlet.java
GetOldMemberInfoServlet.java
ExitServlet.java
MemberLoginServlet.java
ModifyMemberInfoServlet.java
RegisteServlet.java
ShowMemberInfoServlet.java
ShowOneInfoServlet.java
ShowSuggestionInfoServlet.java
SuggestServlet.java
下面對各個文件的功能作一下介紹:
1.AdLogin.java
此類主要用來存儲管理員登錄時的管理員姓名和密碼以及管理員登錄后的提示信息
2. MemberLogin.java
此javaBean類主要用來存儲公司員工登錄時的員工姓名和密碼以及員工登錄后的提示信息
3. ModifyMemberInfo.java
此javaBean類主要用來存儲管理員要修改的公司員工的信息以及管理員修改員工信息后的提示信息
4. NewMemberRegister.java
此javaBean類主要用來存儲管理員錄入的新員工的信息以及錄入新員工信息后的提示信息
5. SendWord.java
此javaBean類主要用來存儲公司員工發(fā)表對公司建議時的建議編號、員工姓名、建議以及發(fā)表建議后的提示信息
6. ShowMemberInfo.java
此javaBean類主要用來存儲管理員查詢公司員工所有信息時的員工所有信息
7. ShowSuggestionInfo.java
此javaBean類主要用來存儲管理員查看分頁顯示公司員工發(fā)表的建議信息時的行集對象、每頁顯示的記錄數(shù)、分頁信息、建議信息的總頁數(shù)以及當(dāng)前頁等分頁信息
8. AdLoginServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員登錄系統(tǒng)的功能
9. DeleteOneInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員刪除公司已經(jīng)辭職或已經(jīng)離開的員工信息的功能
10. GetOldMemberInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員修改公司員工信息時,顯示未修改前的員工信息的功能
11. ExitServlet.java
此Servlet類主要用來實現(xiàn)員工或系統(tǒng)管理員登錄系統(tǒng)后注銷登錄的功能
12. MemberLoginServlet.java
此Servlet類主要用來實現(xiàn)公司員工登錄系統(tǒng)的功能
13. ModifyMemberInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員修改公司員工信息時提交已經(jīng)修改的信息的功能
14. RegisteServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員錄入公司新員工檔案信息的功能
15. ShowMemberInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員查看公司所有員工信息的功能
16. ShowOneInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員查看公司某個員工信息的功能
17. ShowSuggestionInfoServlet.java
此Servlet類主要用來實現(xiàn)系統(tǒng)管理員查看公司員工發(fā)表對公司的建議信息的功能
18. SuggestServlet.java
此Servlet類主要用來實現(xiàn)公司員工發(fā)表對公司的建議的功能
5.4 前臺的相關(guān)JSP/HTML頁面
員工模塊
memberLogin.jsp
memberLoginSuc.jsp
showOneInfo.jsp
suggest.jsp
suggestSuc.jsp
管理員模塊
adLogin.jsp
adLoginSuc.jsp
inputIdModify.jsp
lookMemberInfo.jsp
modifyMemberInfo.jsp
modifyInfoSuc.jsp
newMemberRegister.html
memberRegisterSuc.jsp
showAllMemberInfo.jsp
showSugInfo.jsp
inputIdDelete.jsp
deleteInfoSuc.jsp
員工模塊各JSP/HTML頁面以及CSS樣式表的功能:
1. memberLogin.jsp
公司員工登錄系統(tǒng)頁面
2. memberLoginSuc.jsp
公司員工登錄系統(tǒng)成功后的跳轉(zhuǎn)提示頁面
3. showOneInfo.jsp
公司員工查詢個人信息時顯示個人信息的頁面
4. suggest.jsp
公司員工發(fā)表對公司建議頁面
5. suggestSuc.jsp
公司員工發(fā)表建議成功后的跳轉(zhuǎn)成功提示頁面
6. adLogin.jsp
系統(tǒng)管理員登錄系統(tǒng)頁面
7. adLoginSuc.jsp
系統(tǒng)管理員登錄系統(tǒng)成功后的跳轉(zhuǎn)提示頁面
8. inputIdModify.jsp
系統(tǒng)管理員修改公司員工信息輸入要修改信息員工的員工號頁面
9. lookMemberInfo.jsp
顯示系統(tǒng)管理員查看公司某個員工信息的頁面
10. modifyMemberInfo.jsp
系統(tǒng)管理員修改公司員工信息頁面
11. modifyInfoSuc.jsp
系統(tǒng)管理員修改公司員工信息成功后的跳轉(zhuǎn)提示頁面
12. newMemberRegister.html
系統(tǒng)管理員錄入公司新員工檔案信息頁面
13. memberRegisterSuc.jsp
系統(tǒng)管理員錄入公司新員工檔案信息成功后的跳轉(zhuǎn)提示頁面
14. showAllMemberInfo.jsp
分頁顯示公司所有員工信息的頁面
15. showSugInfo.jsp
分頁顯示公司員工的建議信息頁面
16.inputIdDelete.jsp
輸入要刪除信息員工的員工編號
17. deleteInfoSuc.jsp
刪除員工信息成功的跳轉(zhuǎn)提示頁面
5.5 各模塊功能的實現(xiàn)邏輯
1.登錄模塊
打開該JSP人事管理系統(tǒng)后,有兩個超鏈接圖片,一個是鏈接到管理員登錄頁面的,另一個是鏈接到公司員工登錄頁面的,管理員點擊登錄到管理員登錄頁面的圖片后,頁面鏈接到adLogin.jsp,管理員輸入正確的姓名和密碼后,點擊登錄,表單提交到名為adLogin的Servlet,通過Servlet類AdLoginServlet.java來鑒定管理員的姓名和登錄密碼,然后頁面轉(zhuǎn)發(fā)到管理員登錄成功的提示頁面adLoginSuc.jsp,管理員登錄時的信息存儲在名為AdLogin.java的javaBean類中,同樣公司員工登錄時的原理和用到的Servlet以及javaBean與管理員登錄時的基本相似。
2.公司新員工檔案信息錄入模塊
系統(tǒng)管理員輸入新員工的信息后,點擊注冊圖片后,表單信息將會提交到名為NewMemberRegister的Servlet,通過Servlet類RegisteServlet.java將員工信息提交到數(shù)據(jù)庫中員工信息表memberInfo,然后頁面跳轉(zhuǎn)到memberRegisterSuc.jsp員工信息錄入成功頁面,提示員工信息錄入成功。
3.查看公司員工信息模塊
查看某個員工信息:管理員需首先在inputIdModify.jsp頁面中輸入要查看信息的員工編號,然后確定,表單提交到名為getInfo的Servlet,通過Servlet類GetOldMemberInfoServlet.java從數(shù)據(jù)庫中查詢該員工的信息存儲到j(luò)avaBean類ModifyMemberInfo.java中,并通過modifyMemberInfo.jsp顯示出來,管理員修改該員工信息后,點擊“修改”按鈕,表單信息又會提交到名為modifyInfo的Servlet,通過Servlet類ModifyMemberInfoServlet.java將該員工的檔案信息在數(shù)據(jù)庫中更新,頁面跳轉(zhuǎn)到modifyInfoSuc.jsp員工信息修改成功的提示頁面并在3秒鐘后又自動跳轉(zhuǎn)管理員管理公司員工信息頁面。
查看公司所有員工信息:管理員在管理公司員工信息頁面點擊查看公司所有員工信息,表單將會提交到名為showMemberInfo的Servlet,通過Servlet類ShowMemberInfoServlet.java將公司所有員工的信息分頁顯示出來。
4.刪除公司員工信息模塊
系統(tǒng)管理員在管理公司員工信息頁面點擊刪除員工信息,然后出現(xiàn)輸入要刪除信息員工的員工編號頁面,輸入要刪除的員工編號,點擊刪除按鈕,表單提交到名為deleteInfo的Servlet,通過Servlet類DeleteOneInfoServlet.java刪除數(shù)據(jù)庫中公司員工信息表memberInfo中對應(yīng)的員工信息,刪除成功后頁面跳轉(zhuǎn)到刪除員工信息成功的提示頁面deleteInfoSuc.jsp,且頁面在3秒鐘后自動跳轉(zhuǎn)到管理員管理公司員工信息頁面。
5.查看公司員工建議信息模塊
系統(tǒng)管理員在管理公司員工信息頁面點擊查看公司員工建議信息,表單提交到名為showSug的Servlet,通過Servlet類showSuggestionInfoServlet.java將員工的建議信息及員工部分信息分頁顯示到頁面showSugInfo.jsp中。
第六章 系統(tǒng)運行與測試
6.1 系統(tǒng)運行環(huán)境
基于以上對系統(tǒng)各種需求的分析和定義,建議系統(tǒng)采用以下配置,保證系統(tǒng)穩(wěn)定、高效運行。
1、硬件環(huán)境
最低配置:C233以上CPU,128MB以上內(nèi)存,10GB硬盤
建議配置:CII300以上CPU,256MB以上內(nèi)存,40GB硬盤
2、軟件環(huán)境
操作系統(tǒng):Windows 98,Windows 2000以上版本
運行環(huán)境:J2SDK運行平臺,安裝Tomcat6.0 、MySql5.0
6.2 系統(tǒng)測試
在本jsp人事管理系統(tǒng)開發(fā)過程中,每開發(fā)完一個模塊后都會對系統(tǒng)進行測試與調(diào)試,發(fā)現(xiàn)主要的問題如下:
1.由于不細心的原因,在編寫數(shù)據(jù)插入數(shù)據(jù)庫中的代碼過程中,由于格式不符合SQL查詢語句的規(guī)范,導(dǎo)致數(shù)據(jù)不能正確地插入到數(shù)據(jù)庫中
2.進行一個操作后,頁面通過Servlet類不能正確跳轉(zhuǎn)到操作提示的jsp頁面
3.在頁面跳轉(zhuǎn)過程中,傳遞參數(shù)失敗,多次出現(xiàn)空指針問題
4.在整個系統(tǒng)測試時,本機訪問該系統(tǒng)沒有問題,但是在另外一臺計算機上訪問就出現(xiàn)了頁面不存在的現(xiàn)象,原因是用的都是本機路徑,沒有動態(tài)獲取頁面轉(zhuǎn)向的路徑
經(jīng)過多次修改與調(diào)試,以上問題已經(jīng)被我一一解決,系統(tǒng)已經(jīng)能夠正常運行
第七章 總結(jié)
7.1 系統(tǒng)的優(yōu)缺點總結(jié)
由于開發(fā)時間倉促,本jsp人事管理系統(tǒng)有許多缺點和不足,但也有優(yōu)點。
系統(tǒng)優(yōu)點:運用時下比較流行的MVC模式,易于系統(tǒng)的維護,數(shù)據(jù)庫選用體積小速度快的MySQL主流數(shù)據(jù)庫,易于數(shù)據(jù)庫的維護,選用My Eclipse開發(fā)工具,節(jié)省了開發(fā)時間,且該系統(tǒng)操作簡易、簡單實用。
系統(tǒng)缺點:由于時間的原因,很多地方還做的不太完美,例如:系統(tǒng)功能還不是很強大,系統(tǒng)的界面還不夠美觀,很多模塊的功能還可以繼續(xù)加強和完善,而且還應(yīng)該再多添加一些模塊來增強該人事管理系統(tǒng)的功能,進而提高公司人事管理的效率。
7.2 系統(tǒng)設(shè)計的收獲與心得
經(jīng)過將近一個月的思考和設(shè)計,我的畢業(yè)設(shè)計也告一段落。通過畢業(yè)設(shè)計的親身實踐和合作完成,使我對專業(yè)知識有了深入的學(xué)習(xí),把學(xué)過的知識融會貫通,又學(xué)到了以前沒有學(xué)到的知識,培養(yǎng)了我們獨立思考問題的能力。這既豐富了我的知識,又拓寬了我的視野,為我以后進入社會、參加工作架起了一座橋梁。這次畢業(yè)設(shè)計我的體會是只學(xué)了書本上的知識是遠遠不夠的,一定要參與實踐,做到學(xué)以致用才是最重要的。經(jīng)過兩個多月的設(shè)計和開發(fā),排課管理系統(tǒng)基本開發(fā)完畢其功能基本符合要求。
但是由于畢業(yè)設(shè)計時間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如用戶界面不夠美觀,有一些功能限制還沒有實現(xiàn)等多方面問題;這些都有待于進一步改善。只要學(xué)習(xí)就會有更多的問題,有更多的難點,但是也會有新的收獲。
致謝
在這次畢業(yè)設(shè)計的過程中,我得到了許多人的指導(dǎo)和幫助。首先要感謝我的指導(dǎo)老師馬琦老師和雷燕老師,是你們幫助我解決了設(shè)計中的疑難和困惑,為我順利完成這次畢業(yè)設(shè)計提供了極大地幫助。馬琦老師和雷燕老師認(rèn)真負責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺;從馬琦老師和雷燕老師那里,我不僅學(xué)到了知識,更重要的是學(xué)會了分析問題和解決問題的方法,這對于我以后的學(xué)習(xí)和工作來說都是一種巨大的幫助。
同時還要感謝我們的另外幾位任課教師-張哲老師、呂后坤老師、代玉梅老師、李曼老師等這兩年對我們的教育和關(guān)心,使我們既學(xué)到了專業(yè)知識又懂得了如何說話做人。
最后,要感謝我的家人和朋友,你們的鼓勵和支持是我前進的動力。
參考文獻
[1] 耿祥義 張躍平《Java基礎(chǔ)教程實驗練習(xí)與提高》第二版 清華大學(xué)出版社 2007年5月
[2] 耿祥義 張躍平《JSP實用教程》第二版 清華大學(xué)出版社 2007年10月
[3] 王強 賈素玲 鄭晉梅《HTML設(shè)計》第一版 高等教育出版社 2005年4月
[4] 葛洪央《Dreamweaver 8網(wǎng)頁設(shè)計》大象出版社 2005年8月
[5] 劉云生《數(shù)據(jù)庫系統(tǒng)概論》華中理工大學(xué)出版社 1996年5月
[6] 湯光明 韋大偉《信息系統(tǒng)設(shè)計與分析》解放軍出版社 2005年5月
[7] (美) Vikram Vaswani《MySQL完全手冊》北京電子工業(yè)出版社 2004年
[8] 鄭阿奇 俞琰《j2ee應(yīng)用實踐教程》電子工業(yè)出版社 2009年1月
[9] 張陽 劉冰月《Java Web開發(fā)實踐教程》清華大學(xué)出版社 2008年9月
[10] 李虎 趙龍剛《UML基礎(chǔ)、案例與應(yīng)用》(第三版)人民郵電出版社 2009年4月