版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 計算機科學與工程學院</p><p><b> 綜合設計報告</b></p><p> 設計名稱: 軟件工程綜合設計 </p><p> 設計題目: 職工信息管理系統(tǒng)的設計與實現(xiàn) </p><p> 學生學號:
2、 </p><p> 專業(yè)班級: 計算機工程02班 </p><p> 學生姓名: </p><p> 學生成績: </p><p> 指導教師(職稱): (副教授)
3、 </p><p> 課題工作時間: 2013-1-7 至 2013-1-17 </p><p><b> 說明:</b></p><p> 1、報告中的第一、二、三項由指導教師在綜合設計開始前填寫并發(fā)給每個學生;四、五兩項(中英文摘要)由學生在完成綜合設計后填寫。</p><p>
4、 2、學生成績由指導教師根據(jù)學生的設計情況給出各項分值及總評成績。</p><p> 3、指導教師評語一欄由指導教師就學生在整個設計期間的平時表現(xiàn)、設計完成情況、報告的質(zhì)量及答辯情況,給出客觀、全面的評價。</p><p> 4、所有學生必須參加綜合設計的答辯環(huán)節(jié),凡不參加答辯者,其成績一律按不及格處理。答辯小組成員應由2人及以上教師組成。</p><p>
5、 5、報告正文字數(shù)一般應不少于5000字,也可由指導教師根據(jù)本門綜合設計的情況另行規(guī)定。</p><p> 6、平時表現(xiàn)成績低于6分的學生,其綜合設計成績按不及格處理。</p><p> 7、此表格式為武漢工程大學計算機科學與工程學院提供的基本格式(適用于學院各類綜合設計),各教研室可根據(jù)本門綜合設計的特點及內(nèi)容做適當?shù)恼{(diào)整,并上報學院批準。</p><p>&
6、lt;b> 成績評定表</b></p><p> 學生姓名: 學號: 班級: </p><p><b> 答辯記錄表</b></p><p><b> 指導教師評語</b></p><p>&l
7、t;b> 目 錄</b></p><p> 摘 要 ……………………………………………………………………………………… II</p><p> Abstract …………………………………………………………………………………... III</p><p> 第一章 需求分析………………………………………………………………………….. 1&l
8、t;/p><p> 1.1 設計目的 ……………………………………………………………………………...1</p><p> 1.2 問題分析 ………………………………………………..…………………………… 1</p><p> 1.3 方案選擇 ………………………………………………..…………………………… 1</p><p> 1.4
9、任務概述 ………………………………………………..…………………………… 2</p><p> 1.5 功能需求概述 …………………………………………..…………………………… 2</p><p> 1.6 運行環(huán)境 ………………………………………………..…………………………… 2</p><p> 1.7 數(shù)據(jù)訪問接口 …………………………………………..
10、…………………………… 3</p><p> 第二章概要設計 ……………………………………………………………………….. 4</p><p> 2.1 功能劃分…………………………………………………..………………………….…4 </p><p> 2.2 系統(tǒng)結(jié)構設計……………………………………………..………………………….…4 </p>
11、<p> 2.3 系統(tǒng)功能模塊……………………………………………..………………………….…4 </p><p> 2.4 項目功能描述……………………………………………..………………………….…5 </p><p> 第三章數(shù)據(jù)庫設計………………………………………………………..……………….. 7</p><p> 3.1 功能模塊圖
12、 ……………………………………………..………………………….…7</p><p> 3.2 項目E-R圖 ……………………………………………..………………………….…7</p><p> 3.3 關系模式 ……………………………………………..………………………….…8</p><p> 3.4 數(shù)據(jù)庫運行和維護 ……………………………………..
13、………………………….…8</p><p> 3.5 物理結(jié)構設計 …………………………………………..………………………….…9</p><p> 第四章詳細設計 …………………………………………………..………………..11</p><p> 4.1 過程具體設計………………………………….………………………………..….…11</p
14、><p> 總 結(jié) …….……………………………………………………..……………………….…15 </p><p> 致 謝 …….……………………………………………………..………………………….16 </p><p> 參考文獻 …….………………..………………………………..………………………….17</p><p> 附錄
15、 主要程序代碼 ………...………………………………..………………………….18 </p><p><b> 摘 要</b></p><p> 本次課程設計是建立一個職工考勤管理系統(tǒng)的項目,主要是為完成職工考勤工作的功能和要求。該系統(tǒng)主要包括上班和下班的打卡、出差信息登記、請假信息登記、加班信息登記的功能。另外包括對其職工的各種考勤情況進行查詢功能。涉及到
16、的知識主要包括Java、數(shù)據(jù)庫、程序設計框架、Dreamweaver,以及用JSP完成網(wǎng)頁之間的跳轉(zhuǎn)。在Dreamweaver上面完成html頁面的相關設計,再通過Myeclipse設計頁面中的功能,添加JSP頁面,設計相關得到方法,調(diào)用數(shù)據(jù)庫中的信息,使我們能夠完成職工考勤系統(tǒng)的要求。最后用戶或者管理員可以登錄設計好的頁面,可以完成其考勤或者查詢工作。通過該系統(tǒng)來提高企業(yè)管理的效率和工作質(zhì)量。</p><p>
17、 關鍵詞:職工考勤管理系統(tǒng);Myeclipse;JSP;Dreamweaver;html</p><p><b> Abstract</b></p><p> This course is designed to establlish a staff attendance management system project, thereby completing
18、 the work functions and requirements of the attendance of employees. The system includes the punch function to work and work, travel information registration, leave information registration, overtime information register
19、ed. Also including their workers attendance query function. Html page design in Dreamweaver above by the functionality of the the Myeclipse design page, add the JSP page, the des</p><p> Keywords:employee t
20、ime and attendance system;Myeclipse;JSP;Dreamweaver;html</p><p><b> 第一章 需求分析</b></p><p><b> 1.1 設計目的</b></p><p> 在這個信息化的社會,計算機及計算機技術大量應用于人們的日常生活。信息技術改變了我
21、們的生活,讓我們的生活多姿多彩,讓我們的生活變得更加快捷,便利。職工考勤管理系統(tǒng)也是使得企業(yè)更加方便的管理員工的考勤信息,從而提高企業(yè)考勤管理的自動化水平,提高了管理效率。通過數(shù)據(jù)庫的管理,讓職工的考勤信息更加具體化。這大大的加快了企業(yè)的工作步伐。讓職工和管理人員有了更多的時間去發(fā)展其他項目,而不用把寶貴的時間浪費到不必要的工作上。</p><p> 企業(yè)考勤管理系統(tǒng)是為了解決員工考勤管理的而設計的,目的是建立
22、一個能夠初步實現(xiàn)企業(yè)考勤管理系統(tǒng)的智能化管理,提高考勤管理效率,工作人員能夠在各個崗位上的工作狀態(tài)得到及時的反饋,而系統(tǒng)所需的工作人員的數(shù)量少,效率高。</p><p> 企業(yè)考勤管理系統(tǒng)是一個企事業(yè)單位不可缺少的一部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都是至關重要的,因此,企業(yè)考勤管理系統(tǒng)應該能夠為用戶提供充足人事管理的信息和快捷的管理查詢手段,但一直以來人們使用傳統(tǒng)的人工方式管理員工的上下班等信息,這種
23、管理方式存在著許多缺點,諸如效率低,保密性差等,而且時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。</p><p> 隨著科學技術的不斷提高,計算機科學不斷發(fā)展,其強大的功能已經(jīng)被人們深刻認識,它已經(jīng)進入了人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p> 作為計算機應用的一部分,使用計算機對企業(yè)考勤信息進行管理,具有人工管理無法比擬的優(yōu)點,它
24、檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,可減少更多的人力物力,這些都能夠極大地提高企業(yè)的考勤管理效率,也是企業(yè)考勤管理科學化、正規(guī)化,與世界接軌的重要條件。因此,開發(fā)一個企業(yè)考勤管理系統(tǒng)是很有必要的,具有其特有的技術意義和管理意義。</p><p><b> 1.2 問題分析</b></p><p> 企業(yè)考勤管理系統(tǒng)是為了解決員工考勤
25、管理的而設計的,目的是建立一個能夠初步實現(xiàn)企業(yè)考勤管理系統(tǒng)的智能化管理,提高考勤管理效率,工作人員能夠在各個崗位上的工作狀態(tài)得到及時的反饋,而系統(tǒng)所需的工作人員的數(shù)量少,效率高。</p><p> 該系統(tǒng)主要解決的問題有:第一,將主要的功能和所需的信息通過頁面向管理員或者用戶顯示出來,使得人們很容易接受其中的信息,并且能夠很快的進行操作;第二,將職工的打卡信息、出差信息、請假信息、加班信息添加到數(shù)據(jù)庫中;第三,
26、當用戶需要查看某職工的相關信息時,從數(shù)據(jù)庫查詢信息,然后顯示到頁面當中。這其中需要使用到的軟件是myeclipse和dreamweaver還有tomcat。在DW中設計好頁面的樣式,在myeclipse中完成系統(tǒng)的各個功能及要求。</p><p> 企業(yè)考勤管理系統(tǒng)擬采用B/S模式,三層結(jié)構設計。涉及靜(動)態(tài)網(wǎng)頁編寫(熟悉HTML、CSS、JavaScript)、程序設計(ASP、PHP、JSP或其它語言基礎
27、)、數(shù)據(jù)庫應用(SQL server、SQL語言)、數(shù)據(jù)庫設計、軟件工程及軟件測試,用戶界面設計、美化、文檔編寫(軟件開發(fā)計劃、用戶手冊等設計內(nèi)容都要形成文字)等各方面知識;以及團隊組織、項目管理,幫助文檔的編寫、部分的測試等。</p><p><b> 1.3 方案選擇</b></p><p> 我們以中小型企業(yè)的考勤管理業(yè)務為依托,結(jié)合科學管理的理論,設計并開
28、發(fā)一個企業(yè)考勤管理信息系統(tǒng)。企業(yè)考勤管理系統(tǒng)擬采用B/S模式,三層結(jié)構設計。涉及靜(動)態(tài)網(wǎng)頁編寫(熟悉HTML、CSS、JavaScript)、程序設計(ASP、PHP、JSP或其它語言基礎)、數(shù)據(jù)庫應用(SQL server、SQL語言)、數(shù)據(jù)庫設計、軟件工程及軟件測試,用戶界面設計、美化、文檔編寫(軟件開發(fā)計劃、用戶手冊等設計內(nèi)容都要形成文字)等各方面。</p><p> B/S模式有以下優(yōu)點:</
29、p><p> 開發(fā)成本及維護成本降低。由于B/S架構管理軟件只安裝在服務器端(Server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的學生端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。</p><p> 良好的安全性能,防火墻技術可以保證后臺數(shù)據(jù)庫的安全性。所有學生端請求
30、都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風險。因此系統(tǒng)的架構就采用了B/S設計模式。</p><p><b> 1.4 任務論述</b></p><p> 該系統(tǒng)主要任務有:第一,將主要的功能和所需的信息通過頁面向管理員或者用戶顯示出來,使得人們很容易接受其中的信息,并且能夠很快的進行操作;第二,將職工的打卡信息、出差信息、請假信息、加班信息添加
31、到數(shù)據(jù)庫中;第三,當用戶需要查看某職工的相關信息時,從數(shù)據(jù)庫查詢信息,然后顯示到頁面當中。這其中需要使用到的軟件是myeclipse和dreamweaver還有tomcat。在DW中設計好頁面的樣式,在myeclipse中完成系統(tǒng)的各個功能及要求。</p><p> 1.5 功能需求概述</p><p> 該系統(tǒng)主要由以下幾部分組成:</p><p> 用戶類
32、別:登錄系統(tǒng)的身份定為二種,一是管理員(企業(yè)領導),二是般普通員工,只有被授權的用戶才可以使用本系統(tǒng)的資源。</p><p> 權限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。普通員工可以進行個人考勤查詢;管理員(企業(yè)領導)可添加員工信息、查詢修改管理員信息、請假管理、考勤管理,可以對員工考勤進行查詢操作,可以對系統(tǒng)發(fā)布公告等信息,可控制整個系統(tǒng)的登錄功能(控制系統(tǒng))的登錄,
33、擁有整個系統(tǒng)的全部使用權限。</p><p> 控制系統(tǒng):領導可對普通員工用戶進行控制,看是否可以登錄。</p><p> 個人考勤:用戶登錄系統(tǒng)后,可以考勤(上班,下班)。</p><p> 請假管理:管理員可以以員工的請假信息進行操作(準請假和不準請假)。</p><p> 考勤管理:管理員可以對員工的全部考勤進行查詢的功能操作,
34、但普通員工只能對自己的考勤有查詢的功能。</p><p> 加班管理:管理員可以對員工的加班進行查詢和添加的功能操作,但普通員工只能對自己的加班有查詢的功能。</p><p> 出差管理:管理員可以對員工的出差進行查詢和添加的功能操作,但普通員工只能對自己的出差有查詢的功能。</p><p> 員工管理:管理員對普通員工有查詢與添加的操作功能。</p&g
35、t;<p><b> 1.6 運行環(huán)境</b></p><p> 本設計利用sql server 2005建立數(shù)據(jù)庫,表格化存儲,利用表的查詢,連接,修改,刪除數(shù)據(jù)等管理員工信息,對數(shù)據(jù)庫設定必要的權限,只有具有權限的人才能進行查看,修改數(shù)據(jù)。</p><p> 1.6.1 服務器端:</p><p> 操作系統(tǒng):Wind
36、ows 7</p><p> 網(wǎng)絡協(xié)議:TCP/IP</p><p> web服務器:Internet Information Server5.0</p><p> 數(shù)據(jù)庫:Mircrosoft SQLserver2000</p><p> 瀏覽器:Internet Explorer 6 </p><p>
37、1.6.2 用戶端:</p><p> 操作系統(tǒng):Windows 7</p><p> 網(wǎng)絡協(xié)議:TCP/IP</p><p> 數(shù)據(jù)庫:Mircrosoft SQLserver2005</p><p> 瀏覽器:Internet Explorer 6</p><p> 1.7 數(shù)據(jù)訪問接口</p>
38、;<p> 系統(tǒng)采用JDBC-ODBC橋數(shù)據(jù)驅(qū)動程序,以純Java的方式來連接數(shù)據(jù)庫,為訪問不同的數(shù)據(jù)庫提供統(tǒng)一的接口。JDBC數(shù)據(jù)庫驅(qū)動程序是把JDBC調(diào)用翻譯成廠商專用API的調(diào)用。開放數(shù)據(jù)連接(ODBC)最初是為微軟操作系統(tǒng)上的SQL提供API標準,后來也在其他的平臺上提供了支持。ODBC為直接訪問數(shù)據(jù)定義了一組函數(shù),而不是在學生應用程序中嵌入SQL。JKBC-ODBC橋在JKBC API 和ODBC API 之間
39、提供了一個橋梁,這個橋把標準的JDBC調(diào)用翻譯成對應的ODBC調(diào)用,然后通過ODBC庫把它們發(fā)送到ODBC數(shù)據(jù)源。</p><p><b> 第二章 概要設計</b></p><p><b> 2.1 功能劃分</b></p><p> 功能劃分的基本思想是將系統(tǒng)設計成由多個相對獨立、功能單一的模塊組成的結(jié)構。由于
40、模塊之間相對獨立,每一模塊就可以單獨地被理解、編寫、測試、排錯和修改,從而有效地防止錯誤在模塊之間擴散蔓延,提高了系統(tǒng)的質(zhì)量(可維護性、可靠性等)。因此,大大簡化了系統(tǒng)研制開發(fā)的工作。</p><p> 將需求分析得到的作為需求抽象信息結(jié)構。即概念模型的過程就是概念結(jié)構設計,它是整個數(shù)據(jù)庫設計的關鍵。</p><p> 要系統(tǒng)需求分析階段,搞清楚了系統(tǒng)“做什么”的問題,形成了目標系統(tǒng)的
41、邏輯模型。現(xiàn)在我們就是說要把系統(tǒng)“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實現(xiàn)系統(tǒng)的需求。首先,我們需要描述的是系統(tǒng)的總的體系結(jié)構。接著在一步步的向下進行描述。</p><p> 2.2 系統(tǒng)結(jié)構設計</p><p> 總體設計主要是指在系統(tǒng)分析的基礎上,對整個系統(tǒng)的劃分(子系統(tǒng))、機器設備(包括軟、硬設備)的配置、數(shù)據(jù)的存貯規(guī)律以及整個系統(tǒng)實現(xiàn)規(guī)劃等方面進行合理的安排。系
42、統(tǒng)設計工作應該自頂向下地進行。</p><p> 系統(tǒng)設計的工作復雜又細致,總體設計階段需要進行系統(tǒng)模塊結(jié)構設計,要將一個大系統(tǒng)分解成不同層次、多個模塊組成的系統(tǒng),在詳細設計階段要在模塊結(jié)構設計的基礎上,給出每個模塊實現(xiàn)方法的細節(jié),并對模塊的輸入、輸出和處理過程作詳細描述,以便在系統(tǒng)實施階段進行程序設計時可以把這個描述直接“翻譯”成用某種程序設計語言書寫的程序。</p><p> 2.
43、3 系統(tǒng)功能模塊</p><p> 模塊化是解決一個復雜問題時自上項下逐層把系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。系統(tǒng)的模塊劃分不能是任意的,應盡量保持其獨立性。是為了降低系統(tǒng)和復雜性,提高可讀性、可維護性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少、接口簡單,即盡量做到提高模塊的獨立,為設計高
44、質(zhì)量的系統(tǒng)結(jié)構奠定基礎。</p><p> 系統(tǒng)模塊結(jié)構設計的任務是劃分子系統(tǒng),然后確定子系統(tǒng)的模塊結(jié)構,并畫出模塊結(jié)構圖。在這個過程中必須考慮以下幾個問題:</p><p> 1)如何將一個系統(tǒng)劃分成多個子系統(tǒng)。</p><p> 2)每個子系統(tǒng)如何劃分成多個模塊。</p><p> 3)如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調(diào)
45、用關系。</p><p> 4)如何評價并改進模塊結(jié)構的質(zhì)量。</p><p> 該方法適合于軟件系統(tǒng)的總體設計和詳細設計,特別是將一個復雜的系統(tǒng)轉(zhuǎn)換成模塊化結(jié)構系統(tǒng),該方法具有它的優(yōu)勢。在使用過程中可將結(jié)構化設計方法與結(jié)構化分析(SA)方法及編程階段的結(jié)構化程序設計方法(SP)前后銜接起來。 </p><p> 系統(tǒng)功能模塊化的優(yōu)點: </p>
46、<p> 系統(tǒng)功能模塊劃分清晰,區(qū)別明顯,易于操作。</p><p> 操作界面友好,簡單易懂適合不同層次的操作人員。</p><p> 子系統(tǒng)之間的數(shù)據(jù)交換操作簡單、快捷。</p><p> 根據(jù)該系統(tǒng)的需求分析,設計可實現(xiàn)的模塊組織結(jié)構。</p><p> 頁面設計將使用到母版頁和站點地圖。</p>&
47、lt;p> 所需要的頁面主要有首頁、登錄頁面、以及職工信息、考勤信息、出差信息、請假信息、加班信息等的瀏覽頁面、查詢頁面和管理頁面。所有頁面都使用同一個母版頁,在母版頁中使用站點地圖來實現(xiàn)頁面之間的導航。</p><p> 2.4 項目功能描述</p><p> 2.4.1 根據(jù)系統(tǒng)功能,可以畫出如下流程圖:</p><p> 圖2-1 系統(tǒng)的流程圖
48、</p><p> 針對職工管理系統(tǒng)的流程圖,現(xiàn)具體描述其功能:</p><p> 系統(tǒng)管理服務:系統(tǒng)登錄、注銷以及系統(tǒng)退出功能。</p><p> 職工信息管理:職工信息瀏覽、職工信息添加和職工信息查詢功能。</p><p> 職工出勤管理:出勤信息添加和出勤信息游覽功能。</p><p> 職工加班管理:
49、加班信息添加和加班信息游覽功能。</p><p> 職工出差管理:出差信息添加和出差信息游覽功能。</p><p> 職工請假管理:請假信息添加和請假信息游覽功能。</p><p> 圖2-2 系統(tǒng)的功能模塊圖</p><p> 2.4.2 功能設計</p><p> 在myeclipse中的WorkerDA
50、O中完成各個方法的設計:</p><p> 打卡登記--chuqinWor();</p><p> 出差登記--chuchaiWor();</p><p> 請假登記--qingjiaWor();</p><p> 加班登記--jiabanWor();</p><p> 根據(jù)職工ID查詢其打卡、出差、請假、加
51、班信息,方法分別為:queryById1(),queryById2(),queryById3(),queryById4()。</p><p> 完成所需DTO的編寫 </p><p> 完成所需Servlet的編寫 </p><p> 第三章 數(shù)據(jù)庫設計</p><p><b> 3.1 功能模塊圖</b>&l
52、t;/p><p> 圖3-1 功能模塊圖</p><p> 3.2 項目E-R圖</p><p> 圖3-2 整體E-R圖</p><p><b> 3.3 關系模式</b></p><p> 職工(職工編號,姓名,性別,年齡)</p><p> 出勤記錄(職工編號
53、,出勤編號,上班時間,下班時間,缺勤記錄)</p><p> 出差記錄(職工編號,出差編號,開始時間,結(jié)束時間,統(tǒng)計天數(shù))</p><p> 加班信息(職工編號,加班編號,加班開始時間,加班結(jié)束時間,加班時間統(tǒng)計)</p><p> 請假信息(職工編號,請假編號,請假開始時間,請假結(jié)束時間,請假時間統(tǒng)計)</p><p> 月統(tǒng)計(職
54、工編號,出勤月統(tǒng)計,出差月統(tǒng)計,加班月統(tǒng)計,請假月統(tǒng)計)</p><p> 3.4 數(shù)據(jù)庫運行和維護</p><p> 本系統(tǒng)經(jīng)過實際的測試和運行,基本可以滿足中小企業(yè)考勤業(yè)務的要求。該系統(tǒng)運行穩(wěn)定,在使用和維護中應該注意以下幾個問題:</p><p> 定期備份數(shù)據(jù)庫和日志,以使數(shù)據(jù)庫在發(fā)生故障后恢復到一致性狀態(tài),保障數(shù)據(jù)庫的完整性。</p>
55、<p> 定期清理數(shù)據(jù)庫中的無效數(shù)據(jù),以提高運行效率。</p><p> 對軟件及運行環(huán)境進行日常維護。</p><p> 3.5 物理結(jié)構設計</p><p> 在物理結(jié)構中,數(shù)據(jù)的基本存取單位是存儲記錄。有了邏輯結(jié)構以后,就可以設計存儲記錄結(jié)構,一個存儲記錄可以與多個邏輯記錄相對應。存儲記錄就包括記錄的組成,數(shù)據(jù)項的類型和長度等。</p&
56、gt;<p> --建立數(shù)據(jù)庫sams</p><p> --職工考勤管理系統(tǒng)(Staff Attendance Management System)</p><p> create database sams;</p><p> 本課程設計需要六張表,包括用戶信息表。</p><p><b> 表的詳細信息
57、如下:</b></p><p> 用戶信息,包括用戶名,用戶密碼;</p><p> 表3-5-1 用戶信息表</p><p> 職工信息,包括職工編號、職工姓名、性別、年齡、職稱等;</p><p> 表3-5-2 職工信息表</p><p> 出勤記錄信息,包括上班打卡時間,下班打開時間,缺勤
58、記錄等;</p><p> 表3-5-3 出勤記錄信息表</p><p> 出差信息,包括出差起始時間、結(jié)束時間、統(tǒng)計總共天數(shù)等;</p><p> 表3-5-4 出差信息表</p><p> 請假信息,包括請假開始時間,結(jié)束時間,統(tǒng)計請假天數(shù)等;</p><p> 表3-5-5 請假信息表</p>
59、;<p> 加班信息,包括加班開始時間、結(jié)束時間、統(tǒng)計加班總時間。</p><p> 表3-5-6 請假信息表</p><p><b> 數(shù)據(jù)庫設計貼圖:</b></p><p><b> 圖3-3 數(shù)據(jù)庫圖</b></p><p><b> 第四章 詳細設計&l
60、t;/b></p><p> 4.1 過程具體設計</p><p> 4.1.1 打卡、出差、請假、加班功能的設計</p><p><b> 打卡功能的實現(xiàn):</b></p><p><b> 圖4-1打卡流程圖</b></p><p> (2)出差功能的實現(xiàn)
61、:</p><p><b> 圖4-2出差流程圖</b></p><p><b> 請假功能的實現(xiàn):</b></p><p><b> 流程圖:</b></p><p> 圖4-3 請假流程圖</p><p><b> 加班功能的實現(xiàn)
62、:</b></p><p><b> 圖4-4加班流程圖</b></p><p> 4.1.2 查詢職工信息功能的實現(xiàn)</p><p><b> 流程圖:</b></p><p> 圖4-5查詢信息流程圖</p><p> 4.1.3 職工考勤信息查詢功
63、能的完成</p><p> 圖4-6考勤信息流程圖</p><p> 4.1.4 鏈接數(shù)據(jù)庫功能的實現(xiàn)</p><p><b> 相關代碼:</b></p><p> package com.wit.wims.utils;</p><p> import java.sql.*;</
64、p><p> public class DBManager {</p><p> private static final String URL="jdbc:mysql://localhost:3306/wims";</p><p> private static final String DRIVER="com.mysql.jdb
65、c.Driver";</p><p> private static final String USERNAME="root";</p><p> private static final String PASSWORD="root";</p><p> public static Connection get
66、Conn(){</p><p> Connection conn=null;</p><p><b> try {</b></p><p> Class.forName(DRIVER);</p><p> conn=DriverManager.getConnection( URL,USERNAME,PASSWOR
67、D);</p><p> } catch (Exception e) {</p><p><b> }</b></p><p> return conn;</p><p><b> }</b></p><p><b> 總 結(jié)</b><
68、;/p><p> 在這次的課程設計中,許多功能的實現(xiàn)都是用實習所學到的知識來完成。在剛開始進行課程設計的時候,我沒有繪制流程圖就草草的開始進行頁面的設計和功能的實現(xiàn)。但是事實告訴我這是不可行的,沒有一個良好的計劃和構想,是不能良好的完成這次的課程設計。通過一番思考后,我仔細的繪制了所需的流程圖,認真地分析了各個階段所要完成的任務,還有每個頁面該如何實現(xiàn)其中的功能。每個頁面之間都有什么關系,我都做了認真的分析。經(jīng)過仔
69、細的分析后,思路一下明朗起來,再對其進行設計的時候,胸有成竹。當然,在這次的課程設計的過程中還是碰到了許多問題,有的是由于粗心造成,有的是方法的問題。這些不斷出現(xiàn)的問題都是我這次課程設計中寶貴的經(jīng)驗,我需要好好反省和改正。本次的設計中,還存在著一些細節(jié)上的問題沒能夠解決,比如打卡的時間問題,請假信息和出勤信息的相關聯(lián)問題,都是需要考慮的。但是由于自身水平有限,只能完成簡易的功能設計。所以在今后的學習中,還要不斷的擴充自己的知識,從而來解
70、決這些細節(jié)問題。</p><p> 通過本次設計,我對數(shù)據(jù)庫有了更深入的了解,見證了一個系統(tǒng)從無到有,從漏洞百出到逐漸完善的過稱,是我所學的只是得以所用,加深了對數(shù)據(jù)庫的理解,在設計過程中有很多不會的問題,通過自己查閱資料逐漸解決,這本身就是一個學習的過程,不僅學到了只是,還掌握了學習方法。同時讓我認識到自己所學知識的匱乏,所以要全面發(fā)展自己的專業(yè),一個人的能力總是有限的,所以團隊合作很重要,在做設計的過程中要
71、學習他人之長,聽取他人的意見,虛心向別人請教。相互配合做好自己的工作,才能成為一名合格的網(wǎng)絡工程師。雖然自己做的設計還不是很完善,但我覺得很有意義,對我以及我今后的人生都很有幫助。</p><p><b> 致 謝</b></p><p><b> 參考文獻</b></p><p> [1] 鄭人杰,殷人昆,陶永
72、雷. 實用軟件工程. 北京:清華大學出版社, 1997</p><p> [2] 赫克剛. 軟件設計研究. 西安:西北大學出版社, 1992</p><p> [3] Grady Booch,James Rumbaugh,Ivar Jacobson 著,邵維忠,張文娟,孟祥文 譯. UML用戶指南. 北京:機械工業(yè)出版社, 2001</p><p> [4]馮
73、燕奎. JSP實用例教程[M]. 北京:清華大學出版社, 2004</p><p> [5]汪曉平. 鐘軍. JSP網(wǎng)絡開發(fā)技術[M]. 北京:人民郵電出版社,2004.5.1</p><p><b> 附錄</b></p><p><b> 主要代碼:</b></p><p> packa
74、ge com.wit.wims.dao;</p><p> import java.sql.Connection;</p><p> import java.sql.PreparedStatement;</p><p> import java.sql.ResultSet;</p><p> import java.util.Arra
75、yList;</p><p> import java.util.List;</p><p> import com.wit.wims.dto.ChuchaiDTO;</p><p> import com.wit.wims.dto.ChuqinDTO;</p><p> import com.wit.wims.dto.JiabanD
76、TO;</p><p> import com.wit.wims.dto.QingjiaDTO;</p><p> import com.wit.wims.dto.WorkerDTO;</p><p> import com.wit.wims.utils.DBManager;</p><p> public class WorkerD
77、AO {</p><p><b> //插入職工信息</b></p><p> public boolean insertWor(WorkerDTO wor){</p><p> boolean flag=false;</p><p><b> try {</b></p>&l
78、t;p> Connection conn=DBManager.getConn();</p><p> String sql="insert into tb_info() values(?,?,?,?,?)";</p><p> PreparedStatement ps=conn.prepareStatement(sql);</p><p&
79、gt; ps.setString(1, wor.getWorId());</p><p> ps.setString(2, wor.getWorName());</p><p> ps.setString(3, wor.getWorSex());</p><p> ps.setString(4, wor.getWorAge());</p>&l
80、t;p> ps.setString(5, wor.getWorTitle());</p><p> flag= !ps.execute();</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b>&
81、lt;/p><p> return flag;</p><p><b> }</b></p><p><b> //打卡登記</b></p><p> public boolean chuqinWor(ChuqinDTO chuq){</p><p> boolean
82、flag=false;</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="insert into tb_chuqin values(?,?,?,?)";</p><p&
83、gt; PreparedStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, chuq.getWorId());</p><p> ps.setString(2, chuq.getWorStarttime());</p><p> ps.setString(3, chuq.getW
84、orEndtime());</p><p> ps.setString(4, chuq.getWorQrecord());</p><p> flag= !ps.execute();</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p>&l
85、t;p><b> }</b></p><p> return flag;</p><p><b> }</b></p><p><b> //出差登記</b></p><p> public boolean chuchaiWor(ChuchaiDTO chuc)
86、{</p><p> boolean flag=false;</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="insert into tb_chuchai() values
87、(?,?,?,?)";</p><p> PreparedStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, chuc.getWorId());</p><p> ps.setString(2, chuc.getWorStime());</p><p&
88、gt; ps.setString(3, chuc.getWorEtime());</p><p> ps.setString(4, chuc.getWorCounts());</p><p> flag= !ps.execute();</p><p> } catch (Exception e) {</p><p> e.print
89、StackTrace();</p><p><b> }</b></p><p> return flag;</p><p><b> }</b></p><p><b> //請假登記</b></p><p> public boolean
90、qingjiaWor(QingjiaDTO qingj){</p><p> boolean flag=false;</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="ins
91、ert into tb_qingjia() values(?,?,?,?)";</p><p> PreparedStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, qingj.getWorId());</p><p> ps.setString(2, qingj.get
92、WorHstime());</p><p> ps.setString(3, qingj.getWorHetime());</p><p> ps.setString(4, qingj.getWorHcounts());</p><p> flag= !ps.execute();</p><p> } catch (Exception
93、 e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return flag;</p><p><b> }</b></p><p><b> //加班登記</b><
94、;/p><p> public boolean jiabanWor(JiabanDTO jiab){</p><p> boolean flag=false;</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p>
95、<p> String sql="insert into tb_jiaban() values(?,?,?,?)";</p><p> PreparedStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, jiab.getWorId());</p><p&
96、gt; ps.setString(2, jiab.getWorAstime());</p><p> ps.setString(3, jiab.getWorAetime());</p><p> ps.setString(4, jiab.getWorAcounts());</p><p> flag= !ps.execute();</p>&l
97、t;p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return flag;</p><p><b> }</b></p><p> /
98、/根據(jù)ID查詢打卡記錄</p><p> public List<ChuqinDTO> queryById1(String num){</p><p> List<ChuqinDTO> wors=new ArrayList<ChuqinDTO>();</p><p><b> try {</b><
99、/p><p> Connection conn=DBManager.getConn();</p><p> String sql="select * from tb_chuqin where w_id=?;";</p><p> PreparedStatement ps=conn.prepareStatement(sql);</p>
100、<p> ps.setString(1, num);</p><p> ResultSet rs=ps.executeQuery();</p><p> while(rs.next()){</p><p> String stime=rs.getString("w_starttime");</p><p&
101、gt; String etime=rs.getString("w_endtime");</p><p> String qr=rs.getString("w_qrecord");</p><p> ChuqinDTO wor=new ChuqinDTO(num,stime,etime,qr);</p><p> wor
102、s.add(wor);</p><p><b> }</b></p><p> } catch (Exception e) {</p><p><b> }</b></p><p> return wors;</p><p><b> }</b>
103、;</p><p> //根究ID查詢出差記錄</p><p> public List<ChuchaiDTO> queryById2(String num){</p><p> List<ChuchaiDTO> wors=new ArrayList<ChuchaiDTO>();</p><p>&l
104、t;b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="select * from tb_chuchai where w_id=?;";</p><p> PreparedStatement ps=conn.pre
105、pareStatement(sql);</p><p> ps.setString(1, num);</p><p> ResultSet rs=ps.executeQuery();</p><p> while(rs.next()){</p><p> String stime=rs.getString("w_stime&
106、quot;);</p><p> String etime=rs.getString("w_etime");</p><p> String qr=rs.getString("w_counts");</p><p> ChuchaiDTO wor=new ChuchaiDTO(num,stime,etime,qr);&l
107、t;/p><p> wors.add(wor);</p><p><b> }</b></p><p> } catch (Exception e) {</p><p><b> }</b></p><p> return wors;</p><p&
108、gt;<b> }</b></p><p> //根據(jù)ID查詢請假信息</p><p> public List<QingjiaDTO> queryById3(String num){</p><p> List<QingjiaDTO> wors=new ArrayList<QingjiaDTO>()
109、;</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="select * from tb_qingjia where w_id=?;";</p><p> Prepa
110、redStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, num);</p><p> ResultSet rs=ps.executeQuery();</p><p> while(rs.next()){</p><p> String stime=rs.
111、getString("w_hstime");</p><p> String etime=rs.getString("w_hetime");</p><p> String qr=rs.getString("w_hcounts");</p><p> QingjiaDTO wor=new Qingji
112、aDTO(num,stime,etime,qr);</p><p> wors.add(wor);</p><p><b> }</b></p><p> } catch (Exception e) {</p><p><b> }</b></p><p> ret
113、urn wors;</p><p><b> }</b></p><p> //根據(jù)ID查詢加班信息</p><p> public List<JiabanDTO> queryById4(String num){</p><p> List<JiabanDTO> wors=new Arra
114、yList<JiabanDTO>();</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="select * from tb_jiaban where w_id=?;";</
115、p><p> PreparedStatement ps=conn.prepareStatement(sql);</p><p> ps.setString(1, num);</p><p> ResultSet rs=ps.executeQuery();</p><p> while(rs.next()){</p><
116、p> String stime=rs.getString("w_astime");</p><p> String etime=rs.getString("w_aetime");</p><p> String qr=rs.getString("w_acounts");</p><p> Ji
117、abanDTO wor=new JiabanDTO(num,stime,etime,qr);</p><p> wors.add(wor);</p><p><b> }</b></p><p> } catch (Exception e) {</p><p><b> }</b></
118、p><p> return wors;</p><p><b> }</b></p><p> //查詢職工基本信息</p><p> public List<WorkerDTO> queryById5(){</p><p> List<WorkerDTO> wors
119、=new ArrayList<WorkerDTO>();</p><p><b> try {</b></p><p> Connection conn=DBManager.getConn();</p><p> String sql="select * from tb_info ;";</p>
120、<p> PreparedStatement ps=conn.prepareStatement(sql);</p><p> ResultSet rs=ps.executeQuery();</p><p> while(rs.next()){</p><p> String id=rs.getString("w_id");&
121、lt;/p><p> String name=rs.getString("w_name");</p><p> String sex=rs.getString("w_sex");</p><p> String age=rs.getString("w_age");</p><p>
122、 String title=rs.getString("w_title");</p><p> WorkerDTO wor=new WorkerDTO(id,name,sex,age,title);</p><p> wors.add(wor);</p><p><b> }</b></p><p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程課程設計-學生信息管理系統(tǒng)的設計與實現(xiàn)
- 軟件工程課程設計---學生信息管理系統(tǒng)
- 軟件工程課程設計--學生信息管理系統(tǒng)
- 軟件工程課程設計---學生信息管理系統(tǒng)
- 軟件工程課程設計--學生信息管理系統(tǒng)
- 軟件工程課程設計-學生信息管理系統(tǒng)
- 軟件工程課程設計--超市信息管理系統(tǒng)
- 軟件工程課程設計---學生信息管理系統(tǒng)
- 軟件工程課程設計---旅游信息管理系統(tǒng)
- 軟件工程課程設計--nba信息管理系統(tǒng)
- 軟件工程課程設計學生信息管理系統(tǒng)
- 軟件工程課程設計報告--旅游信息管理系統(tǒng)
- 軟件工程課程設計論文—旅店信息管理系統(tǒng)
- 軟件工程課程設計---學生信息管理系統(tǒng) (2)
- 軟件工程課程設計報告---學生信息管理系統(tǒng)
- 軟件工程課程設計報告--學生信息管理系統(tǒng)
- 軟件工程課程設計-企業(yè)員工信息管理系統(tǒng)
- 軟件工程課程設計--學生綜合信息管理系統(tǒng)
- 軟件工程課程設計--倉庫管理系統(tǒng)設計與實現(xiàn)
- 軟件工程課程設計---賓館客房信息管理系統(tǒng)分析與設計
評論
0/150
提交評論