




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 PAGE25 / NUMPAGES29摘要隨著計(jì)算機(jī)技術(shù)的發(fā)展,信息化技術(shù)越發(fā)貼近人們的生活。傳統(tǒng)的記事本管理方式由于過多的繁雜步驟、信息保存的不完整性,已經(jīng)滿足不了當(dāng)今社會(huì)各公司與個(gè)人的需求。日常費(fèi)用報(bào)銷管理系統(tǒng)在設(shè)計(jì)方面采用B/S模式,同時(shí)使用JSP技術(shù)進(jìn)行基本頁面的設(shè)計(jì),使用MyEclipse工具進(jìn)行項(xiàng)目編寫整合,利用MVC框架中的servlet完成功能實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫選用MySQL數(shù)據(jù)庫。主要功能包括登錄連接、員工信息錄入、報(bào)銷登記、報(bào)銷審批和查詢報(bào)表五大功能。用戶通過登錄界面登錄到客戶端對(duì)報(bào)銷信息進(jìn)行增刪改查操作。日常費(fèi)用報(bào)銷管理系統(tǒng)使得費(fèi)用管理輕松、快捷,并且使得信息能夠長時(shí)間保
2、存,提高企業(yè)的管理效率。目 錄 TOC o 1-3 h z u HYPERLINK l _Toc359141612第一章緒論 PAGEREF _Toc359141612 h 1HYPERLINK l _Toc3591416131.1 論文背景與課題來源 PAGEREF _Toc359141613 h 1HYPERLINK l _Toc3591416141.2本課題在國外發(fā)展?fàn)顩r PAGEREF _Toc359141614 h 1HYPERLINK l _Toc3591416151.3應(yīng)解決的問題與系統(tǒng)開發(fā)意義 PAGEREF _Toc359141615 h 1HYPERLINK l _Toc3
3、59141616第二章開發(fā)工具與相關(guān)技術(shù)介紹 PAGEREF _Toc359141616 h 3HYPERLINK l _Toc3591416172.1 Java與MVC簡介 PAGEREF _Toc359141617 h 3HYPERLINK l _Toc3591416182.2MyEclipse介紹 PAGEREF _Toc359141618 h 4HYPERLINK l _Toc3591416222.3B/S模型介紹 PAGEREF _Toc359141622 h 4HYPERLINK l _Toc3591416232.4用JAVA實(shí)現(xiàn)MVC模型 PAGEREF _Toc35914162
4、3 h 5HYPERLINK l _Toc3591416242.5 Java中的JSP簡介 PAGEREF _Toc359141624 h 6HYPERLINK l _Toc3591416252.6 MySQL簡介 PAGEREF _Toc359141625 h 6HYPERLINK l _Toc359141626第三章系統(tǒng)需求分析 PAGEREF _Toc359141626 h 7HYPERLINK l _Toc3591416273.1 系統(tǒng)任務(wù)描述 PAGEREF _Toc359141627 h 7HYPERLINK l _Toc3591416283.2 系統(tǒng)功能分析 PAGEREF _T
5、oc359141628 h 7HYPERLINK l _Toc3591416293.2.1 系統(tǒng)的功能需求 PAGEREF _Toc359141629 h 7HYPERLINK l _Toc3591416303.2.2系統(tǒng)數(shù)據(jù)流圖. PAGEREF _Toc359141630 h 8HYPERLINK l _Toc3591416313.2.3系統(tǒng)數(shù)據(jù)分析 PAGEREF _Toc359141631 h 8HYPERLINK l _Toc3591416323.3 系統(tǒng)可行性分析 PAGEREF _Toc359141632 h 10HYPERLINK l _Toc359141633第四章系統(tǒng)設(shè)計(jì)
6、PAGEREF _Toc359141633 h 12HYPERLINK l _Toc3591416344.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc359141634 h 12HYPERLINK l _Toc3591416354.2 數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc359141635 h 13HYPERLINK l _Toc3591416364.3 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì) PAGEREF _Toc359141636 h 14HYPERLINK l _Toc359141637第五章編碼與實(shí)現(xiàn) PAGEREF _Toc359141637 h 16HYPERLINK l _Toc3591416
7、385.1 系統(tǒng)主要模塊代碼 PAGEREF _Toc359141638 h 16HYPERLINK l _Toc3591416395.1.1連接數(shù)據(jù)庫 PAGEREF _Toc359141639 h 16HYPERLINK l _Toc3591416755.1.2登陸進(jìn)系統(tǒng) PAGEREF _Toc359141675 h 17HYPERLINK l _Toc3591417105.1.3 增加新報(bào)銷信息 PAGEREF _Toc359141710 h 18HYPERLINK l _Toc3591417645.1.4 修改報(bào)銷信息 PAGEREF _Toc359141764 h 20HYPERL
8、INK l _Toc3591418335.1.5 刪除報(bào)銷數(shù)據(jù) PAGEREF _Toc359141833 h 23HYPERLINK l _Toc3591418715.2 系統(tǒng)測(cè)試 PAGEREF _Toc359141871 h 25HYPERLINK l _Toc359141872結(jié)束語 PAGEREF _Toc359141872 h 28HYPERLINK l _Toc359141873參考文獻(xiàn) PAGEREF _Toc359141873 h 29第一章 緒論1.1 論文背景與課題來源隨著計(jì)算機(jī)技術(shù)的發(fā)展,信息化技術(shù)越發(fā)貼近人們的生活。傳統(tǒng)的記事本管理方式由于過多的繁雜步驟、信息保存的不
9、完整性,已經(jīng)滿足不了當(dāng)今社會(huì)各公司與個(gè)人的需求。日常費(fèi)用報(bào)銷管理系統(tǒng)使得費(fèi)用管理輕松、快捷,并且使得信息能夠長時(shí)間保存,提高企業(yè)的管理效率?;贐/S模型的日常費(fèi)用報(bào)銷管理系統(tǒng)是應(yīng)用于管理公司的日常費(fèi)用報(bào)銷,它的主要特點(diǎn)有:(1)通用性:日常費(fèi)用報(bào)銷管理系統(tǒng)在各種各樣的系統(tǒng)網(wǎng)絡(luò)中均可以運(yùn)行,系統(tǒng)具有較高的可移植性和使用性;(2)實(shí)用性:系統(tǒng)具有良好的操作界面,簡單易懂,便于工作人員利用來管理業(yè)務(wù)。(3)信息持久性:日常費(fèi)用報(bào)銷管理系統(tǒng)可以長時(shí)間保存信息,這方便了公司長時(shí)間之后依然可以對(duì)公司消費(fèi)進(jìn)行查賬。日常費(fèi)用報(bào)銷管理系統(tǒng)的實(shí)用性和信息持久性是其最大的特點(diǎn)。一個(gè)良好的系統(tǒng)必須達(dá)到操作簡單的效果
10、,這樣才使得用戶能夠快速地完成對(duì)信息的增刪改查工作。信息的長時(shí)間保存更是其重要性之一,有了信息的持久性,系統(tǒng)就有了更大的保障。1.2本課題在國外發(fā)展?fàn)顩r隨著計(jì)算機(jī)技術(shù)的發(fā)展、普與,越來越多的手動(dòng)操作被計(jì)算機(jī)所替代,這一方面解決了資源的浪費(fèi),另一方面方便了人們更簡單地解決問題,當(dāng)人們意識(shí)到計(jì)算機(jī)系統(tǒng)的優(yōu)越性之后,系統(tǒng)開發(fā)隨之出現(xiàn)。信息技術(shù)的發(fā)展使得越來越多的公司都開始利用系統(tǒng)來管理公司的日常業(yè)務(wù),像金牛、興元X是比較好的應(yīng)用比較廣泛的管理系統(tǒng),很多國外公司都在使用,方便了公司對(duì)于員工的消費(fèi)狀況進(jìn)行統(tǒng)計(jì)、管理。各方面數(shù)據(jù)顯示反饋信息都是對(duì)其優(yōu)越性的贊同。1.3應(yīng)解決的問題與系統(tǒng)開發(fā)意義本系統(tǒng)針對(duì)公
11、司日常費(fèi)用報(bào)銷的需要,建立了客戶端、服務(wù)器端。主要解決的問題包括:(1)客戶端要實(shí)現(xiàn)界面化,并且界面盡量簡約、美觀、人性化。(2)服務(wù)器端能夠正確的啟動(dòng),時(shí)刻監(jiān)視客戶端,通過session保持與客戶端的連接。(3)客戶端能夠準(zhǔn)確連接上服務(wù)器端,將輸入的信息與時(shí)處理并保存到數(shù)據(jù)庫中。(4)異常處理,對(duì)于用戶的不正確操作系統(tǒng)應(yīng)該有對(duì)應(yīng)的提示?;贐/S的日常費(fèi)用報(bào)銷管理系統(tǒng)它的開發(fā)意義在于為公司提供了一個(gè)方便快捷的平臺(tái)幫助公司處理日常費(fèi)用報(bào)銷業(yè)務(wù)。第二章 開發(fā)工具與相關(guān)技術(shù)介紹2.1 Java與MVC簡介Java是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由Sun Microsystems公司推出的Java程
12、序設(shè)計(jì)語言和Java平臺(tái)(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、安全性,廣泛應(yīng)用于移動(dòng)、個(gè)人電腦、游戲控制臺(tái)、數(shù)據(jù)中心和互聯(lián)網(wǎng)。在當(dāng)今社會(huì)移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著的優(yōu)勢(shì)和廣闊的前景1。 基于MVC,M是指模型,V是指視圖,C是指控制,使用MVC的目的是將M和V的代碼實(shí)現(xiàn)分離,從而使得程序輕度耦合,獨(dú)立性更優(yōu)越。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用線形圖、柱狀圖來表示。C確保了M和V的同步,一旦M改變,V應(yīng)該同步更新。模型視圖控制器(MVC)是Xerox PARC為編程語言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,現(xiàn)已被廣泛
13、使用。后來被推薦為Oracle旗下Sun公司Java EE平臺(tái)的設(shè)計(jì)模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型視圖控制器模式是一個(gè)有用的工具箱2。MVC優(yōu)點(diǎn):(1)耦合性低業(yè)務(wù)層和視圖層分離,這樣就可以更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則3。(2)生命周期成本低MVC使開發(fā)和維護(hù)客戶端的技術(shù)含量下降。(3)部署快使用MVC模式使開發(fā)時(shí)間大幅度減少,它使Java開發(fā)人員更加專注于業(yè)務(wù)邏輯,界面程序員(HTML和J
14、SP開發(fā)人員)更加專注于表現(xiàn)形式上。(4)可維護(hù)性高將M和C進(jìn)行分離使得WEB更容易得到修改與維護(hù)。(5)有利軟件工程化管理由于不同的層各司其職,每一層不同的應(yīng)用具有一定的一樣的特征,有利于通過工程化、工具化管理程序代碼??刂破饕蔡峁┝艘粋€(gè)好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。2.2MyEclipse介紹MyEclipse(是MyEclipse Enterprise Workbench的縮寫)是對(duì)EclipseIDE的擴(kuò)
15、展,利用它我們可以在JavaEE的開發(fā)、發(fā)布和數(shù)據(jù)庫以與應(yīng)用程序服務(wù)器的整合方面進(jìn)一步提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate4。MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛。MyEclipse目前支持Java Servlet,AJAX, JSP, Struts,Spring, Hibernate,JDBC數(shù)據(jù)庫工具等多項(xiàng)功能。MyEclipse
16、幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。根據(jù)官方最新消息,MyEclipse 2013已經(jīng)正式發(fā)布!MyEclipse 2013支持HTML5、JQuery和主流的Javascript 庫。隨著MyEclipse 2013支持HTML5 ,你可以添加音頻、視頻等新的元素到你的項(xiàng)目,從而為移動(dòng)設(shè)備創(chuàng)建更多效果更好的Web應(yīng)用程序。你甚至還可以通過HTML5 可視化設(shè)計(jì)器設(shè)計(jì)令人難以置信的用戶界面。同時(shí),隨著MyEclipse 2013支持JQuery,你可以通過插件來提升性能,并添加動(dòng)畫效果到設(shè)計(jì)中5。2.3B/S模型介紹B/S是Browser/Server的縮寫,即瀏覽器/
17、服務(wù)器技術(shù),也可以稱為B/S模型。很顯然,B/S技術(shù)有以下幾個(gè)基本特點(diǎn):(1)是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,它不同于C/S的一點(diǎn)就是B/S設(shè)計(jì)模式是通過瀏覽器來實(shí)現(xiàn)的,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只需安裝一個(gè)瀏覽器,如google瀏覽器或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。 (2)維護(hù)和升級(jí)方式簡單易行。目前,軟件系統(tǒng)的改進(jìn)速度越來越快,B/
18、S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)公司來說,系統(tǒng)管理人員如果需要在幾百甚至上千臺(tái)電腦之間來回奔跑,效率和工作量是非常龐大的,B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行。因此,維護(hù)和升級(jí)革命的方式是給客戶機(jī)減負(fù),而給服務(wù)器增壓。(3)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎造成壟斷,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對(duì)的統(tǒng)治地位。 現(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安
19、裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使得最流行的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。B/S軟件技術(shù)是一種通用的,基于消息的技術(shù)。用圖形表示如圖1所示:圖1 B/S技術(shù)模型Browser/Server 結(jié)構(gòu)的主要優(yōu)點(diǎn)就是速度快。2.4用JAVA實(shí)現(xiàn)MVC模型MVC設(shè)計(jì)模式是一個(gè)存在于服務(wù)器表達(dá)層的模型,它將應(yīng)用分開,使得應(yīng)用之間輕度耦合,提高獨(dú)立性。其中MVC是 Model-View-Control
20、的簡稱,即模型-視圖-控制器。這個(gè)過程如圖2所示:圖2 MVC實(shí)現(xiàn)信息交互圖在 MVC 模式中,Web 用戶向服務(wù)器提交的所有請(qǐng)求都由控制器接管。接受到請(qǐng)求之后,控制器負(fù)責(zé)決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理;然后模型根據(jù)用戶請(qǐng)求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回?cái)?shù)據(jù);最后控制器調(diào)用相應(yīng)的視圖來格式化模型返回的數(shù)據(jù),并通過視圖呈現(xiàn)給用戶6。2.5 Java中的JSP簡介JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)的技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件中加入JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁。java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以與發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)所需
21、要的功能7。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器不支持Java語言,也可以訪問JSP網(wǎng)頁8。2.6 MySQL簡介MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型中。由于體積小、速度快、總體擁有成本低,特別是開放源碼這一特點(diǎn),許多中小型為了降低總體擁有成本而選擇了MySQL作為數(shù)據(jù)庫9。MySQL的重要管理工具:(1)服務(wù)管理器可以通過服務(wù)管理器啟動(dòng)、停止、暫停MySQL服務(wù)器的相關(guān)服務(wù)。當(dāng)操作服務(wù)器中的數(shù)據(jù)時(shí),應(yīng)該首先確保該服
22、務(wù)器正常啟動(dòng)了相應(yīng)的服務(wù)。(2)企業(yè)管理器企業(yè)管理器提供了一種圖形化界面來操作數(shù)據(jù)庫對(duì)象,在該界面中可以進(jìn)行數(shù)據(jù)庫、表等數(shù)據(jù)對(duì)象的增加、修改、查詢、刪除等操作,可以完成MySQL中絕大多數(shù)的管理工作。(3)查詢分析器查詢分析器是運(yùn)行、測(cè)試用戶的Transact-sql 語句、批處理和腳本的場(chǎng)所。Transact-sql(又稱為t-sql)是MySQL在標(biāo)準(zhǔn)的SQL語句上進(jìn)行了擴(kuò)充的語言,是交互式的結(jié)構(gòu)化查詢語言,能夠完成對(duì)MySQL數(shù)據(jù)庫的所有操作。SQL(結(jié)構(gòu)化查詢語言)起源于IBM的實(shí)驗(yàn)室,目前SQL語言已經(jīng)成為操作關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的標(biāo)準(zhǔn)語言。在ASP中,只要訪問數(shù)據(jù)庫,就必然會(huì)使用SQL
23、語言10。第三章 系統(tǒng)需求分析3.1 系統(tǒng)任務(wù)描述本系統(tǒng)是采用Java基于B/S開發(fā)的日常費(fèi)用報(bào)銷管理系統(tǒng)。管理員在通過登陸界面登陸進(jìn)系統(tǒng)后,對(duì)系統(tǒng)的信息進(jìn)行增加、修改、刪除、查詢,其中包括員工登記信息和報(bào)銷處理信息,處理完信息后必須經(jīng)由領(lǐng)導(dǎo)進(jìn)行審批方可通過。用戶只需要在登錄界面中輸入正確的用戶名和密碼即可登錄,本系統(tǒng)用戶名已定,已設(shè)置初始密碼,如要進(jìn)行修改必須先輸入原始密碼才可進(jìn)行修改。保證系統(tǒng)信息的安全性。3.2 系統(tǒng)功能分析3.2.1 系統(tǒng)的功能需求報(bào)銷系統(tǒng)通常需要完成以下一些基本功能:登錄進(jìn)系統(tǒng);登記公司員工信息;登記報(bào)銷信息;對(duì)報(bào)銷信息進(jìn)行修改;對(duì)報(bào)銷信息進(jìn)行審批;查詢報(bào)表;本系統(tǒng)具
24、體功能需求如下:(1)不論是管理員還是用戶都需要在登錄界面輸入正確的用戶名和密碼后才可以登錄到各自的界面中去。(2)對(duì)公司員工的信息進(jìn)行對(duì)號(hào)登記,確定人員部門、聯(lián)系方式等以便隨時(shí)聯(lián)系員工核對(duì)報(bào)銷信息。(3)報(bào)銷信息登記,要知道報(bào)銷對(duì)象的報(bào)銷是由、費(fèi)用科目、報(bào)銷日期等。(4)如果因工作上的疏忽導(dǎo)致第一次信息輸入錯(cuò)誤,可對(duì)信息進(jìn)行修改,確保信息的正確性與完整性。(5)當(dāng)報(bào)銷信息完整地確認(rèn)后,需交由領(lǐng)導(dǎo)進(jìn)行審批確認(rèn)通過報(bào)銷事件才可完成。(6)當(dāng)報(bào)銷已處理,幾個(gè)月或幾年后需要進(jìn)行統(tǒng)計(jì)分析,依然可以進(jìn)行報(bào)銷查詢。(7)顯著提高工作效率,減少人力、物力資源的投入。報(bào)銷管理系統(tǒng)運(yùn)行穩(wěn)定、安全性高、性能可靠。
25、3.2.2系統(tǒng)數(shù)據(jù)流圖.系統(tǒng)的頂級(jí)數(shù)據(jù)流圖如圖3所示:登陸:用戶名密碼員工信息的增刪改查報(bào)銷登記數(shù)據(jù)的增刪改審批數(shù)據(jù)傳遞報(bào)表查詢數(shù)據(jù)庫MySQL圖3 系統(tǒng)頂級(jí)數(shù)據(jù)流圖用戶在界面進(jìn)行操作,數(shù)據(jù)通過控制層傳輸?shù)綌?shù)據(jù)庫,然后進(jìn)行SQL語句處理,將數(shù)據(jù)進(jìn)行增刪改查操作,并傳輸?shù)斤@示界面。3.2.3系統(tǒng)數(shù)據(jù)分析在仔細(xì)調(diào)查費(fèi)用報(bào)銷系統(tǒng)過程的基礎(chǔ)上,總結(jié)出該系統(tǒng)需要滿足以下系統(tǒng)數(shù)據(jù)的需求:(1)系統(tǒng)管理員用戶名和管理員密碼。(2)員工信息記錄員工的資料。包括員工的、性別、所屬部門、號(hào)、聯(lián)系方式。(3)報(bào)銷對(duì)象信息記錄報(bào)銷對(duì)象報(bào)銷理由和信息。包括單據(jù)號(hào)、報(bào)銷對(duì)象、單據(jù)狀態(tài)、是否付款、報(bào)銷日期、報(bào)銷是由、財(cái)務(wù)賬
26、期、報(bào)銷金額與辦理人。(4)報(bào)銷審批主要是是否報(bào)銷狀態(tài)的改變。日常費(fèi)用報(bào)銷管理系統(tǒng)總體E-R圖如圖4所示: XX報(bào)銷對(duì)象 性別聯(lián)系方式 XX所屬部門保存信息 終結(jié)報(bào)銷信息 管理員 審批修改刪除報(bào)銷信息未通過通過增加圖4 日常費(fèi)用報(bào)銷管理系統(tǒng)總體E-R圖在仔細(xì)調(diào)查企業(yè)項(xiàng)目管理過程的基礎(chǔ)上,總結(jié)出該系統(tǒng)需要滿足以下主要系統(tǒng)數(shù)據(jù)的需求: 用戶用戶名密碼圖5 用戶實(shí)體圖XX性別部門員工聯(lián)系方式所屬部門XX圖6 部門員工實(shí)體圖 單據(jù)號(hào)報(bào)銷對(duì)象辦理人報(bào)銷金額報(bào)銷信息單據(jù)狀態(tài)財(cái)務(wù)賬期是否付款報(bào)銷事由報(bào)銷日期圖7 報(bào)銷信息實(shí)體圖3.3 系統(tǒng)可行性分析從技術(shù)發(fā)面來看,Java語言的優(yōu)點(diǎn)主要表現(xiàn)在:簡單、面向?qū)ο?/p>
27、、安全性等方面。 (1)簡單性 Java與C+語言非常相近,但Java比C+簡單,它拋棄了C+中的一些不是絕對(duì)必要的功能,如頭文件、預(yù)處理文件、指針、結(jié)構(gòu)、運(yùn)算符重載、多重繼承以與自動(dòng)強(qiáng)迫同型。Java實(shí)現(xiàn)了自動(dòng)的垃圾收集,簡化了存管理的工作。這使程序設(shè)計(jì)更加簡便,同時(shí)減少了出錯(cuò)的可能。 (2)面向?qū)ο?Java將程序視為一個(gè)大的對(duì)象,再將各個(gè)子系統(tǒng)分為小的對(duì)象。對(duì)象中封裝了它的狀態(tài)和方法,很好地實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對(duì)象的原型,通過繼承和重載機(jī)制,子類可以使用或重新定義父類或超類所提供的方法,從而既實(shí)現(xiàn)了代碼的復(fù)用,又提供了一種動(dòng)態(tài)的解決方案。 Java是一種完全面向?qū)ο蟮?/p>
28、程序設(shè)計(jì)語言,它除了數(shù)組、布爾和字符三個(gè)基本數(shù)據(jù)類型外的其它類都是對(duì)象,它不再支持全局變量。在Java中,如果不創(chuàng)建新類就無法創(chuàng)建程序,Java程序在運(yùn)行時(shí)必須先創(chuàng)建一個(gè)類的實(shí)例,然后才能提交運(yùn)行。 Java同樣支持繼承特性,Java的類可以從其它類中繼承行為,但Java只支持類的單重繼承,即每個(gè)類只能從一個(gè)類中繼承。 Java支持界面,界面允許程序員定義方法但又不立即實(shí)現(xiàn),一個(gè)類可以實(shí)現(xiàn)多個(gè)界面,利用界面可以得到多重繼承的許多優(yōu)點(diǎn)而又沒有多重繼承的問題。 (3)安全性用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵,Java不支持指針,一切對(duì)存的訪問都必須通過對(duì)象的實(shí)例變量來實(shí)現(xiàn),這樣就防
29、止了程序員使用欺騙手段訪問對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。從開發(fā)環(huán)境來看 ,uilder5是一組全面高效率工具,使用Java編程語言創(chuàng)建可伸縮的,高性能的和具有不依賴于平臺(tái)性能的應(yīng)用程序。uilder5新增幾個(gè)新功能,并對(duì)已有的功能進(jìn)行了改造,包括一個(gè)單步產(chǎn)品安裝過程,以與自動(dòng)卸載功能。其他功能還有:對(duì)JAVA的支持,WEB應(yīng)用開發(fā),Enterprise JavaBeans(E),JMS和EAR向?qū)В瑘F(tuán)隊(duì)開發(fā),編譯器的增強(qiáng)功能,工程屬性,配置JDK,部署,IDE的增強(qiáng)功能,語言的支持。從自身能力來看,本人在實(shí)習(xí)期間對(duì)Java語言進(jìn)行過為期4個(gè)月的系統(tǒng)學(xué)習(xí),對(duì)Java有一定
30、的了解和掌握。雖然對(duì)Java的網(wǎng)絡(luò)編程不是很熟悉,但是通過到圖書館查閱書籍和網(wǎng)上收集資料,現(xiàn)在對(duì)Java網(wǎng)絡(luò)編程有了一定的了解。第四章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是系統(tǒng)開發(fā)的重要階段,它直接影響到系統(tǒng)的質(zhì)量,是整個(gè)開發(fā)工作的核心。系統(tǒng)設(shè)計(jì)階段的主要任務(wù)是:在對(duì)系統(tǒng)進(jìn)行分析的過程中,科學(xué)合理地進(jìn)行物理模型設(shè)計(jì)。系統(tǒng)設(shè)計(jì)分為:總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。總體設(shè)計(jì)包括系統(tǒng)的整體流程和子系統(tǒng)將要實(shí)現(xiàn)的功能。面向?qū)ο髮⑾到y(tǒng)分為若干個(gè)對(duì)象,然后對(duì)各對(duì)象進(jìn)行設(shè)計(jì)分析。詳細(xì)設(shè)計(jì)包括各模塊的詳細(xì)描述、輸入輸出設(shè)計(jì)等。系統(tǒng)設(shè)計(jì)遵循的原則是:經(jīng)濟(jì)性、穩(wěn)定性、適應(yīng)性、系統(tǒng)性。4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)是用Java語言基于B/S開發(fā)
31、設(shè)計(jì)的,其核心的MVC設(shè)計(jì)技術(shù)決定了該系統(tǒng)的安全性和穩(wěn)定性,從而保證了本系統(tǒng)有較強(qiáng)的使用性。其最終要的功能就是實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫與前臺(tái)頁面的信息交互,實(shí)現(xiàn)了信息的增刪改查,保證信息能夠長時(shí)間保存?;贐/S的Java日常費(fèi)用報(bào)銷管理系統(tǒng)的作用是提供給公司一個(gè)平臺(tái),用來管理公司的日常費(fèi)用報(bào)銷。系統(tǒng)主要是由前臺(tái)頁面JSP中間控制層Servler與后臺(tái)數(shù)據(jù)庫MySQL組成。系統(tǒng)功能模塊圖如圖8所示: 基于JAVA實(shí)現(xiàn)報(bào)銷管理 客戶端頁面操作用戶登錄審批操作報(bào)銷科目錄入員工信息錄入認(rèn)證用戶名密碼報(bào)銷信息操作連接服務(wù)器圖8 系統(tǒng)功能模塊圖系統(tǒng)客戶端介紹:本系統(tǒng)客戶端分為用戶登錄和頁面操作兩個(gè)子模塊。首先,用
32、戶登錄是指用戶通過輸入用戶名和密碼進(jìn)入到頁面操作,并且頁面操作自動(dòng)連接上服務(wù)器。頁面操作模塊是指系統(tǒng)報(bào)銷管理所具有的基本功能,如對(duì)信息進(jìn)行增刪改查操作,對(duì)數(shù)據(jù)進(jìn)行處理保證數(shù)據(jù)的合理性。4.2 數(shù)據(jù)庫設(shè)計(jì)本次數(shù)據(jù)庫開發(fā)工具為MySQL,具體設(shè)計(jì)的表單如下:表1 管理員信息表字段名類型大小允許空備注usernamevarchar20否用戶名passwordvarchar20否密碼表2 公司員工信息表字段名類型大小允許空備注namevarchar20否sexvarchar10否性別 departmentvarchar25否部門 id_cardvarchar20否省份證號(hào) cellvarchar20否
33、聯(lián)系表3 報(bào)銷員工信息表字段名類型大小允許空備注Do_numbervarchar20否單據(jù)號(hào)objectvarchar10否報(bào)銷對(duì)象statevarchar25否 單據(jù)狀態(tài)paymentvarchar20否 是否付款p_date Date20否 報(bào)銷日期eventvarchar25否 報(bào)銷是由periodvarchar25否 財(cái)務(wù)賬期Moneyvarchar25否 總報(bào)銷金額transactorvarchar20否 辦理人4.3 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)管理員登錄模塊流程圖如圖9所示:開始輸入用戶名與密碼查詢數(shù)據(jù)庫是否有這條記錄?進(jìn)入管理員界面提示用戶名或密碼錯(cuò)誤結(jié)束圖9 管理員登錄模塊流程圖管理
34、員信息操作模塊流程圖如圖10所示: 進(jìn)入管理界面審批操作報(bào)表查詢操作員工信息錄入報(bào)銷管理修改報(bào)銷單查詢報(bào)銷單增加報(bào)銷單刪除報(bào)銷單審批報(bào)銷單 結(jié)束圖10 管理員登錄模塊流程圖第五章 編碼與實(shí)現(xiàn)5.1 系統(tǒng)主要模塊代碼5.1.1連接數(shù)據(jù)庫package unit;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBCUtil private final String driver = .mysql.jdbc.Driver;private final
35、 String url =jdbc:mysql:/localhost:3306/bxgl?useUnicode=true&characterEncoding=utf-8;private final String user = root;private final String password = 123;private Connection conn;public Connection getConnection()try Class.forName(driver);try conn = DriverManager.getConnection(url, user, password); ca
36、tch (SQLException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace();return conn;public void close()if(conn != null)try conn.close(); catch (SQLException e) e.printStackTrace();conn = null;5.1.2登陸進(jìn)系統(tǒng)package controller;import java.io.IOException;import java.util.List;import
37、javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import service.UserService;import vo.User;public class Login extends Servlet public void doGet( ServletRequest request, ServletResponse response)throws Servle
38、tException, IOException public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);String username = request.getParameter(username);String password = request.getParameter(password);User user = new User(username,passwo
39、rd);UserService uerService = new UserService();if(uerService.Login(user)List users = uerService.findUserList();request.getSession().setAttribute(username, username);System.out.println(users);request.setAttribute(message, 登錄成功!歡迎使用日常費(fèi)用報(bào)銷管理系統(tǒng)!);request.setAttribute(users, users);request.getRequestDisp
40、atcher(/index.jsp).forward(request, response);elserequest.setAttribute(message, 登錄失敗!請(qǐng)重新輸入密碼!);System.out.println(333333);request.getRequestDispatcher(/login.jsp).forward(request, response);5.1.3 增加新報(bào)銷信息package controller;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayLi
41、st;import java.util.List;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import service.New_messageService;import vo.New_message;public class AddNew_messageServlet extends Servlet private New_message
42、Service nws = null;public void doGet( ServletRequest request, ServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);/ 首
43、先獲取輸入的值String action = request.getParameter(action);nws = new New_messageService();if (showAll.equals(action) this.showAll(request, response);elsethis.add(request, response);this.showAll(request, response);private void add( ServletRequest request, ServletResponse response) String do_number = request
44、.getParameter(djh);String object = request.getParameter(bxdx);String state = request.getParameter(djzt);String payment = request.getParameter(sffk);String p_date = request.getParameter(data);String event = request.getParameter(bxsy);String period = request.getParameter(cwzq);String money = request.g
45、etParameter(bxze);String transactor = request.getParameter(blr);New_message nm = new New_message(do_number, object, state, payment,p_date, event, period, money, transactor);nws.addNew_message(nm);private void showAll( ServletRequest request, ServletResponse response) throws ServletException, IOExcep
46、tion / TODO Auto-generated method stubList nmlist = null;nmlist = nws.finAllNew_message();request.setAttribute(nmlist, nmlist);request.getRequestDispatcher(baoxiao.jsp).forward(request, response);5.1.4 修改報(bào)銷信息package controller;import java.io.IOException;import java.io.PrintWriter;import javax.servle
47、t.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import service.New_messageService;import vo.New_message;public class EditNew_messageServlet extends Servlet public void doGet( ServletRequest request, ServletResponse res
48、ponse)throws ServletException, IOException this.doPost(request, response);public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);int id = Integer.parseInt(request.getParameter(id);String do_number = request.getPar
49、ameter(djh);String object = request.getParameter(bxdx);String state = request.getParameter(djzt);String payment = request.getParameter(sffk);String p_date = request.getParameter(data);String event = request.getParameter(bxsy);String period = request.getParameter(cwzq);String money = request.getParam
50、eter(bxze);String transactor = request.getParameter(blr);/封裝數(shù)據(jù)New_message nm = new New_message(id,do_number,object,state,payment,p_date,event,period,money,transactor);New_messageService nms = new New_messageService();boolean b = nms.updateNew_message(nm);if(b)request.getRequestDispatcher(New_message
51、Servlet).forward(request, response);return;package controller;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. . Session;imp
52、ort service.New_messageService;import vo.New_message;import vo.User;public class UpdateNew_messageServlet extends Servlet public void doGet( ServletRequest request, ServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost( ServletRequest request
53、, ServletResponse response)throws ServletException, IOException response.setContentType(text/html; charset=UTF-8);request.setCharacterEncoding(UTF-8);response.setCharacterEncoding(UTF-8);/得到參數(shù) idString id = request.getParameter(id);System.out.println(id);/調(diào)用數(shù)據(jù)庫,更新 狀態(tài)New_messageService nms = new New_messageService();New_message nm = nms.findNew_messageById(Integer.parseInt(id);request.setAttribute(nm, nm);request.getRequestDispatcher(updateNew_message.jsp).forward(request, response
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大數(shù)據(jù)處理履行合同安全保密協(xié)議
- 二零二五年度電子商務(wù)運(yùn)營咨詢費(fèi)合同
- 二零二五年度環(huán)保廣告投放與綠色營銷合同匯編
- 二零二五年度供應(yīng)鏈金融終止協(xié)議通知函
- 二零二五年度變壓器制造技術(shù)培訓(xùn)與轉(zhuǎn)讓協(xié)議
- 二零二五年度農(nóng)村安置房租賃保證金及退還合同
- 2025年度校企深度合作人才培養(yǎng)項(xiàng)目協(xié)議書
- 建筑公司勞務(wù)合同(2025年度)勞務(wù)人員工資及福利調(diào)整協(xié)議
- 二零二五年度山東省新建商品房買賣合同預(yù)售與社區(qū)教育服務(wù)協(xié)議
- 二零二五年度高利貸借款合同金融科技賦能發(fā)展
- 2024年上海市中考語文真題卷及答案解析
- 校園直飲水機(jī)供貨安裝及售后服務(wù)方案
- 廢氣處理系統(tǒng)改造及廢水處理系統(tǒng)改造項(xiàng)目可行性研究報(bào)告
- 小學(xué)全體教師安全工作培訓(xùn)
- 大學(xué)物業(yè)服務(wù)月考核評(píng)價(jià)評(píng)分表
- 現(xiàn)代家政導(dǎo)論-課件 1.1.2認(rèn)識(shí)家政學(xué)起源與發(fā)展
- 期末模擬測(cè)試卷(試卷)2024-2025學(xué)年六年級(jí)數(shù)學(xué)上冊(cè)人教版
- 2024屆護(hù)士資格考試必考基礎(chǔ)知識(shí)復(fù)習(xí)題庫及答案(共170題)
- 工業(yè)大數(shù)據(jù)算法賽項(xiàng)實(shí)際操作部分評(píng)分細(xì)則變更說明
- 小學(xué)生防性侵安全教育主題班會(huì)課件
- DBT29-305-2024 天津市裝配式建筑評(píng)價(jià)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論