快遞單打印管理系統(tǒng)方案_第1頁
快遞單打印管理系統(tǒng)方案_第2頁
快遞單打印管理系統(tǒng)方案_第3頁
快遞單打印管理系統(tǒng)方案_第4頁
快遞單打印管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/摘要隨著網(wǎng)絡(luò)和計算機技術(shù)的發(fā)展,網(wǎng)絡(luò)電子商務(wù)在近幾年得到了快速的發(fā)展,伴隨著電子商務(wù)發(fā)展起來的快遞行業(yè),得到了飛速發(fā)展。市場上中小型快遞公司日益增多,快遞單據(jù)的計算機管理也日益得到重視??爝f單據(jù)管理打印系統(tǒng)就是針對這些中小型快遞公司而開發(fā)的。其目標(biāo)是為了方便快遞公司業(yè)務(wù)員管理快遞單據(jù)和人員信息,以及方便用戶及時查閱快遞業(yè)務(wù)的相關(guān)信息,同時支持快遞單據(jù)的打印功能。本系統(tǒng)采用C/S架構(gòu)進行開發(fā),前臺工具主要有J2EE、MyEclipse,使用Mysql作為數(shù)據(jù)庫開發(fā)工具。系統(tǒng)主要功能模包括:快遞單錄入、單據(jù)信息維護、員工信息管理、賬務(wù)核算與報表生成等模塊。該系統(tǒng)的開發(fā)可以減輕快遞信息錄入人員的工作負擔(dān),方便公司管理人員統(tǒng)計公司利潤,管理人員信息,從而提高快遞公司整體工作效率。關(guān)鍵詞:快遞單,打印,javaAbstractWiththedevelopmentofnetworkandcomputertechnology,networke-commerceinrecentyearshasbeentherapiddevelopmentofe-commercedevelopedalongwiththecourierindustryhasbeenrapiddevelopment.Onthegrowingmarketforsmallandmediumcouriercompanies,courierreceiptscomputermanagementisincreasinglytakenseriously.ExpressPrintingdocumentmanagementsystemisaimedatthosesmallandmediumcouriercompanydeveloped.Whosegoalistofacilitatethedeliverycouriercompanysalesmandocumentsandpersonnelinformationmanagement,anduser-friendlyaccesstorelevantandtimelyinformationdeliveryservices,whilesupportingthecourierdocumentsprint.ThesystemusesC/Sarchitecturedevelopment,frontdesktoolsareJ2EE,MyEclipse,usingMysqlasdatabasedevelopmenttools.Themainfunctionofthesystemmodeare:expressasingleentry,documentinformationmaintenance,employeeinformationmanagement,financialaccountingandreportgenerationmodule.Developmentofthesystemcanreducetheworkloadofthecourierpersonnelinformationinput,managementpersonnelstatisticstofacilitatecorporateprofits,managementinformation,therebyimprovingtheoverallefficiencyofthecouriercompany.Keywords:expressasingle,print,java目錄1概論11.1前言11.2研究背景及意義11.2.1研究背景11.2.2研究意義21.3快遞行業(yè)的介紹21.3.1快遞行業(yè)的現(xiàn)狀21.3.2快遞行業(yè)的發(fā)展趨勢31.3.3目前快遞行業(yè)存在的問題31.4論文的主要內(nèi)容簡介42系統(tǒng)開發(fā)平臺介紹62.1三層架構(gòu)介紹62.2軟件開發(fā)工具選擇72.2.1java語言介紹72.2.2JDBC簡介72.2.3MySQL數(shù)據(jù)庫83系統(tǒng)分析93.1系統(tǒng)需求分析93.1.1功能需求分析93.1.2性能需求分析93.1.3界面需求分析103.2系統(tǒng)可行性分析103.2.1經(jīng)濟可行性分析103.2.2技術(shù)可行性分析103.2.3運行可行性分析113.2.4操作可行性分析114系統(tǒng)概要設(shè)計124.1前臺顯示說明124.2架構(gòu)設(shè)計目標(biāo)124.3系統(tǒng)功能模塊設(shè)計125數(shù)據(jù)庫設(shè)計165.1數(shù)據(jù)庫概念設(shè)計165.1.1概念結(jié)構(gòu)設(shè)計的目的165.1.2概念結(jié)構(gòu)設(shè)計的過程165.2表設(shè)計195.3數(shù)據(jù)庫的實現(xiàn)與維護226系統(tǒng)詳細設(shè)計與實現(xiàn)246.1系統(tǒng)主框架的實現(xiàn)與設(shè)計246.2快遞單定制功能的實現(xiàn)256.3快遞單打印功能的實現(xiàn)276.4用戶管理功能的實現(xiàn)306.5快遞查詢功能的實現(xiàn)336.6數(shù)據(jù)庫恢復(fù)與備份功能的實現(xiàn)336.7數(shù)據(jù)庫連接實現(xiàn)347系統(tǒng)測試與評價377.1系統(tǒng)測試37系統(tǒng)測試環(huán)境37系統(tǒng)測試目標(biāo)37測試實現(xiàn)38測試結(jié)論417.2系統(tǒng)評價418結(jié)論42致謝43參考文獻441概論1.1前言互聯(lián)網(wǎng)正在改變世界,由于Internet具有傳播信息容量極大、形態(tài)多樣、迅速方便、全球覆蓋、自由和交互的特點,已經(jīng)發(fā)展成為新的傳播媒體,現(xiàn)在很多快遞公司都已經(jīng)建立了自己的網(wǎng)站,通過計算機網(wǎng)絡(luò)實現(xiàn)宣傳、交流及資源的整合。快遞單據(jù)管理系統(tǒng)對于一個快遞公司來說是必不可少的辦公工具。在這個高度信息化的社會里,建立自己的單據(jù)管理系統(tǒng)是最直接的管理各類單據(jù)信息的手段。網(wǎng)站的超時空特性,不僅能讓本地區(qū)的業(yè)務(wù)員管理單據(jù),更是增加了單據(jù)信息的安全性,更加方便公司人員進行溝通信息??爝f公司每天都要處理大量的信息,使用該管理系統(tǒng),可以成為本公司間信息資源分配的橋梁,它使總公司及其下屬公司更加方便、及時、有效的進行各類信息通信。本系統(tǒng)是公司管理者統(tǒng)計各項業(yè)務(wù)數(shù)據(jù)方便的工具,在本系統(tǒng)中可以方便的對公司人員信息進行管理、統(tǒng)計公司各項數(shù)據(jù)、對公司利潤進行核算。本課題所要解決的問題是能夠?qū)崿F(xiàn)用戶快件信息查詢,快件信息錄入,操作員個人信息修改,公司員工信息維護,經(jīng)營信息管理,快遞信息維護以及快遞單據(jù)打印等多項功能。1.2研究背景及意義1.2.1研究背景目前郵件快遞市場很多小型快遞公司仍然使用紙張來維護快遞單據(jù)信息和職工信息的方式,快遞公司的管理者和業(yè)務(wù)員管理各項單據(jù)信息和人員信息都十分煩瑣。HTML作為一種樣式語言,隨著Internet上信息量的增多和交互性的加強使HTML顯得越來越難以勝任的情況之下,而java能夠徹底實現(xiàn)用戶與管理人員的交互性。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,基于java技術(shù)的郵件單據(jù)管理系統(tǒng)可以借助于遍布全球Internet進行,各種信息可以在本公司或者其子公司中快速的流通,大大拓展了交互快遞信息的靈活性。1.2.2研究意義隨著網(wǎng)上購物的興起,帶動了快遞行業(yè)的迅速發(fā)展,快遞公司的訂單越來越多,業(yè)務(wù)量越來越大,快遞行業(yè)的訂單業(yè)務(wù)流程變成快遞企業(yè)中重要的一個環(huán)節(jié)。然而快遞公司的組織管理卻很混亂,業(yè)務(wù)受理時客服與客戶的溝通非常不通暢。傳統(tǒng)的下單方式是通過打電話給快遞公司的客服人員,口述收件地址,然后客服人員通知業(yè)務(wù)員去收件。與快遞公司進行電話溝通卻讓人很頭疼。本文要解決的就是設(shè)計開發(fā)一種軟件,使得顧客可以自己下單,同時避免傳統(tǒng)的電話溝通或者直接到快遞公司的麻煩。通過該快遞單打印管理系統(tǒng)能夠?qū)崿F(xiàn)用戶快件信息查詢,快件信息錄入,操作員個人信息修改,公司員工信息維護,經(jīng)營信息管理,快遞信息維護以及快遞單據(jù)打印等多項功能。1.3快遞行業(yè)的介紹快遞行業(yè)的現(xiàn)狀在我國,快遞行業(yè)近幾年得到了迅猛的發(fā)展,主要有以下幾個發(fā)展特點:〔1快遞業(yè)務(wù)增長,國際公司挺進。中國國際快遞業(yè)務(wù)于本世紀(jì)八十年代初興起,九十年代隨著外商投資和對外貿(mào)易的迅猛發(fā)展,中國快遞業(yè)務(wù)進入了迅速膨脹的時期。最近幾年中國的國際快遞業(yè)務(wù)每年都高速增長,在這一時期,國際跨國公司也丌始向中國快遞市場進軍。全球最大的四家快遞公司DHL、TNT、UPS、FEDXE、都在我國設(shè)立了分公司,與中國郵政EMS展開激烈的競爭?!?1991年中國郵政的市場占有率首次低于非郵政部門的企業(yè),隨著國際快遞公司在中國的迅猛發(fā)展,中國郵政的市場份額逐年下降<平均每年丟失4%>,目前已降到40%左右。從快遞業(yè)務(wù)的增長速度來看,90年代初期,中國郵政的國際快遞業(yè)務(wù)量年均增長35%。90年代中后期,由于國際快遞公司大規(guī)模進入中國市場,導(dǎo)致中國郵政快遞業(yè)務(wù)大量分流,增長速度明顯放慢,中國郵政國際快遞業(yè)務(wù)年均增長率僅為2%,其中有些年份還出現(xiàn)了負增長。而與此同時,HDL、NTT、UPS的業(yè)務(wù)增長速度都在20%以上。DHL、TNT近幾年的業(yè)務(wù)增長速度已達到40%左右?!?相關(guān)行業(yè)涉足快遞領(lǐng)域。隨著郵政專營在中國快遞領(lǐng)域被打破,國內(nèi)相關(guān)部門也開始參與這一領(lǐng)域的競爭。大通、中鐵外服等一批國內(nèi)專業(yè)運輸公司開始涉足國際快遞,有些私人企業(yè)也開展國際快遞業(yè)務(wù)。中國的國際快遞市場正在形成一種多元化的競爭格局。1.3.2快遞行業(yè)的發(fā)展趨勢遞送包裹也許并不是什么激動人心的行業(yè),但它的確是個龐大的產(chǎn)業(yè)而且非常重要。美國四家最大的遞送公司一一聯(lián)合包裹服務(wù)<UnietdParCelServiCexnc.簡稱UPS>、聯(lián)邦快遞集團<FedExCorp.>、美國郵政總局<U.5.PostalServiee>和德國郵政<DeutsehePostAG>旗下的敦豪公司<DHL>每天處理貨物達2,300萬件。這是一個充滿挑戰(zhàn)和機遇的行業(yè)。下面是該行業(yè)的未來發(fā)展趨勢: 〔1擴大服務(wù)領(lǐng)域。各個快遞公司都在不停的進行擴張,并不斷擴展自己的服務(wù)領(lǐng)域。UPS曾經(jīng)XX大學(xué)碩士學(xué)位論文出資12.5億美元收購卡車運輸公司OvenriteCorp,這宗UPS歷史上最大的收購使得UPS和聯(lián)邦快遞之間的競爭進一步升級。聯(lián)邦快遞曾于20XX收購卡車運輸公司AmerieanFreightwaysCorp一擴張使得遞送公司更深入地參與到了客戶的供應(yīng)鏈中,大大地降低了客戶運營中的不確定性,也極大地提高了運輸效率?!?"跟蹤"競賽。遞送公司在提高包裹跟蹤能力和改進顧客導(dǎo)向的特色服務(wù)上并沒有絲毫放松。很多快遞公司己經(jīng)開始使用現(xiàn)代化的設(shè)備來管理貨物,一些手持式的掃描機將令郵件跟蹤更為便利。對于每天投遞的包裹,UPS可以收集到它們95%的電子數(shù)據(jù)。而聯(lián)邦快遞的在線訂單查詢不僅可以實時提供遞送細節(jié),而且可以提供客戶交易記錄。 〔3遞送服務(wù)網(wǎng)點無處不在。隨著遞送公司對中小型企業(yè)客戶的爭奪日益激烈,遞送服務(wù)網(wǎng)點也在迅速增加。遞送公司在這些客戶身上通常是最有利可圖的,因為它們不像大公司那樣經(jīng)常需要遞送服務(wù),所以也就不具備討價還價的法碼。服務(wù)網(wǎng)點的增加可以提高快遞公司的競爭能力,并為客戶提供更加優(yōu)良的服務(wù)。1.3.3目前快遞行業(yè)存在的問題雖然快遞行業(yè)這幾年得到了快速的發(fā)展,然而作為一個新興崛起的行業(yè),依舊有著其不成熟的地方,還存在許多的問題。〔1業(yè)務(wù)響應(yīng)速度慢,與客戶之間互動不夠人性化。對于一個快遞公司而言,貨物運輸時間的長短是能否取得成功的關(guān)鍵,也是客戶所關(guān)心的重點。然而,由于在貨物運輸過程中需要經(jīng)歷很多的環(huán)節(jié),而各個環(huán)節(jié)之間并不能非常平滑的過渡,在各個環(huán)節(jié)交接過程中往往消耗了大量的時問,最終導(dǎo)致貨物運輸時間的增長??蛻敉爝f公司交互方式非常單一,通常需要親自到柜臺辦理業(yè)務(wù),其相應(yīng)的軟件系統(tǒng)支持跟不上業(yè)務(wù)的發(fā)展??爝f公司給客戶提供的額外服務(wù)較少,通常只有提供貨物運輸方面的核心業(yè)務(wù),而缺乏其他個性化的服務(wù)項目?!?缺乏保證貨品準(zhǔn)確投遞的機制。貨物運輸過程中需要經(jīng)歷很多的環(huán)節(jié),每個環(huán)節(jié)對于投遞成功與否都起到關(guān)鍵性的作用。然而,目前的快遞行業(yè)各個環(huán)節(jié)的關(guān)系的并沒有理順,缺乏精心的組織安排和周密的銜接,仍停留在粗放式管理的階段,致使一些環(huán)節(jié)和部門之問相互脫節(jié),影響了快件傳遞的速度。同時,由于各個環(huán)節(jié)各自為政,相對比較獨立。所以,一旦貨物運輸過程中出現(xiàn)問題,很難有一個快捷的方式和統(tǒng)一的平臺供快遞公司員工使用來討論解決方案。這將會大大影響員工的工作效率,由于缺乏一個透明、統(tǒng)一的交流平臺,也讓貨物投遞出現(xiàn)許多的不確定因素。 〔3系統(tǒng)缺乏對全球化的支持,難以滿足跨國業(yè)務(wù)。隨著經(jīng)濟全球一體化,快遞行業(yè)也逐漸成為了一個全球化的行業(yè)。美國四家最大的遞送公司都將業(yè)務(wù)擴展到了全球范圍。它們的快遞業(yè)務(wù)在全球各地都得到了迅猛發(fā)展,然而其相應(yīng)的系統(tǒng)確沒能跟的上業(yè)務(wù)的發(fā)展步伐。大多數(shù)應(yīng)用系統(tǒng)都沒能滿足全球化的要求,通常只是對源系統(tǒng)進行語言上的翻譯工作。這將成為快遞行業(yè)發(fā)展的一個重要瓶頸,隨著業(yè)務(wù)的不斷深化,客戶對系統(tǒng)全球化要求也會越來越高。系統(tǒng)缺乏對全球化的支持,往往會導(dǎo)致客戶的流失。因為客戶始終是傾向與使用符合本地文化風(fēng)俗習(xí)慣的應(yīng)用程序的。同時,由于系統(tǒng)設(shè)計不符合全球化設(shè)計理念,也會使得將來系統(tǒng)擴展和維護付出很大的代價。1.4論文的主要內(nèi)容簡介本論文是為了實現(xiàn)代替?zhèn)鹘y(tǒng)快遞公司的快遞單數(shù)據(jù)管理的方式,開發(fā)了一個快遞單打印管理軟件。本文的主要內(nèi)容如下:第1章:對快遞單打印系統(tǒng)研究的背景和意義進行探究,以得出開發(fā)此系統(tǒng)的必要性。接下來介紹了其特點,以及未來的發(fā)展趨勢和存在的問題,為后面系統(tǒng)的開發(fā)做好鋪墊。第2章:介紹此系統(tǒng)開發(fā)所用的開發(fā)環(huán)境和所用到技術(shù),此系統(tǒng)用到了三層架構(gòu)和C/S的模式。第3章:介紹了系統(tǒng)的詳細分析,從功能需求、性能需求、界面需求、系統(tǒng)可行性分別來對開發(fā)的系統(tǒng)進行分析。第4章:是系統(tǒng)概要設(shè)計,從頁面,模塊,顯示方面來進行系統(tǒng)初步的構(gòu)思,為后面的詳細設(shè)計打下基礎(chǔ)。第5章:為數(shù)據(jù)庫描述,從數(shù)據(jù)庫的選擇,系統(tǒng)表設(shè)計,以及后面的數(shù)據(jù)的維護來詳細說明。第6章:為系統(tǒng)的實現(xiàn),此章節(jié)是從系統(tǒng)的構(gòu)思到系統(tǒng)的實現(xiàn)詳細地進行描述,用圖形界面對其直觀的介紹。第7章:為系統(tǒng)的測試和評價,從測試的目標(biāo),測試的實現(xiàn),數(shù)據(jù)庫測試,性能測試等直觀地說明,又分別從經(jīng)濟,性能,管理方面經(jīng)行了評價。2系統(tǒng)開發(fā)平臺介紹2.1三層架構(gòu)介紹在軟件體系架構(gòu)設(shè)計中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層〔又或稱為領(lǐng)域?qū)?、表示層。三層結(jié)構(gòu)原理:3個層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進行處理。所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個"中間層",也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結(jié)構(gòu),也不僅僅有C/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個層放置到一臺機器上。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進行交互。表示層位于最外層〔最上層,離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。業(yè)務(wù)邏輯層〔BusinessLogicLayer無疑是系統(tǒng)架構(gòu)中體現(xiàn)核心價值的部分。它的關(guān)注點主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計,也即是說它是與系統(tǒng)所應(yīng)對的領(lǐng)域〔Domain邏輯有關(guān),很多時候,也將業(yè)務(wù)邏輯層稱為領(lǐng)域?qū)?。例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一書中,將整個架構(gòu)分為三個主要的層:表示層、領(lǐng)域?qū)雍蛿?shù)據(jù)源層。作為領(lǐng)域驅(qū)動設(shè)計的先驅(qū)EricEvans,對業(yè)務(wù)邏輯層作了更細致地劃分,細分為應(yīng)用層與領(lǐng)域?qū)?通過分層進一步將領(lǐng)域邏輯與領(lǐng)域邏輯的解決方案分離。業(yè)務(wù)邏輯層在體系架構(gòu)中的位置非常關(guān)鍵,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結(jié)構(gòu),層與層之間的依賴是向下的,底層對于上層而言是"無知"的,改變上層的設(shè)計對于其調(diào)用的底層而言沒有任何影響。如果在分層設(shè)計時,遵循了面向接口設(shè)計的思想,那么這種向下的依賴也應(yīng)該是一種弱依賴關(guān)系。因而在不改變接口定義的前提下,理想的分層式架構(gòu),應(yīng)該是一個支持可抽取、可替換的"抽屜"式架構(gòu)。正因為如此,業(yè)務(wù)邏輯層的設(shè)計對于一個支持可擴展的架構(gòu)尤為關(guān)鍵,因為它扮演了兩個不同的角色。對于數(shù)據(jù)訪問層而言,它是調(diào)用者;對于表示層而言,它卻是被調(diào)用者。依賴與被依賴的關(guān)系都糾結(jié)在業(yè)務(wù)邏輯層上,如何實現(xiàn)依賴關(guān)系的解耦,則是除了實現(xiàn)業(yè)務(wù)邏輯之外留給設(shè)計師的任務(wù)。數(shù)據(jù)層數(shù)據(jù)訪問層:有時候也稱為是持久層,其功能主要是負責(zé)數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進制文件、文本文檔或是XML文檔。簡單的說法就是實現(xiàn)對數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入對象關(guān)系映射的元素,那么就會包括對象和數(shù)據(jù)表之間的映射,以及對象實體的持久化2.2軟件開發(fā)工具選擇2.2.1java語言介紹Java技術(shù)是由美國Sun公司倡導(dǎo)和推出的,是一種簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。Java技術(shù)包括Java語言和JavaMediaAPIs、SecurityAPIs、ManagementAPIs、JavaApplet、JavaRMI、JavaBeans、JavaOS、JavaServlet、JDBC、JNDI、EnterpriseJavaBeans等。隨著JavaServlet的出現(xiàn)和JSP的漸漸成熟,讓Java正式的走向了Web開發(fā)技術(shù)的舞臺。Java以其強大的移植能力,多線程處理和網(wǎng)絡(luò)處理能力已成為研究人員,開發(fā)人員矚目的焦點,它與Web技術(shù)的有機結(jié)合尤其適宜進行網(wǎng)絡(luò)計算和動態(tài)多媒體信息的開發(fā)處理。Java技術(shù)帶來的是一場革命,它是第一個真正獨立于平臺的語言,基于Java語言開發(fā)的軟件可以實現(xiàn)"一次設(shè)計,到處運行",即Java程序不經(jīng)改變即可部署到任何運行Java虛擬機的計算機結(jié)構(gòu)和操作系統(tǒng),使得整個Web世界發(fā)生了翻天覆地的變化。目前,Sun公司已經(jīng)將Java技術(shù)分成了4大類:服務(wù)器使用的企業(yè)版〔J2EE、臺式電腦使用的標(biāo)準(zhǔn)版〔J2SE、小型設(shè)備使用的微型版〔J2ME以及在歐洲銷售的手機中使用的具有智能卡和標(biāo)識標(biāo)簽功能的JavaCard。2.2.2JDBC簡介JDBC是Java的開發(fā)者——Sun公司制定的Java數(shù)據(jù)庫連接〔JavaDataBaseConnectivity技術(shù)的簡稱。它是Sun公司聯(lián)合數(shù)據(jù)庫開發(fā)商開發(fā)出來的獨立于DBMS的API〔ApplicationProgrammingInterface,應(yīng)用程序接口,它為Java開發(fā)者使用各種數(shù)據(jù)庫提供了統(tǒng)一的API。JDBC的功能和Microsoft的ODBC〔OpenDataBaseConnectivity,開放式數(shù)據(jù)庫連接類似,但與ODBC還是有一定的差別,JDBC是一個真正跨平臺的API,而ODBC是一個C語言程序接口,必須在本地執(zhí)行。大多數(shù)ODBC驅(qū)動程序需要安裝一系列的代碼模塊在客戶機上,而JDBC可以直接在本地或在遠程服務(wù)器上執(zhí)行,且JDBC的維護和部署工作更簡單。JDBC提供了四種連接數(shù)據(jù)庫的驅(qū)動程序方法。第一種是JDBC-ODBC橋驅(qū)動程序。第二種是本機代碼和Java驅(qū)動程序。第三種是純Java驅(qū)動程序。第四種是本機協(xié)議Java驅(qū)動程序。利用JDBC實現(xiàn)數(shù)據(jù)庫的操作一般可分為以下幾個步驟?!?加載JDBC驅(qū)動程序?!?獲取連接接口?!?創(chuàng)建Statement對象?!?執(zhí)行Statement對象?!?查看返回的結(jié)果集?!?關(guān)閉結(jié)果集對象?!?關(guān)閉Statement對象?!?關(guān)閉連接接口。2.2.3MySQL數(shù)據(jù)庫網(wǎng)絡(luò)數(shù)據(jù)庫,就是指把數(shù)據(jù)庫技術(shù)引入到計算機網(wǎng)絡(luò)系統(tǒng)中,借助于網(wǎng)絡(luò)技術(shù)將存儲在數(shù)據(jù)庫中的大量信息及時發(fā)布出去,實現(xiàn)用戶與數(shù)據(jù)庫的實時動態(tài)交互。常用的網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng)有SQLServer、Oracle、IBMDB2、MySQL、Sybase及Access等。其中MySQL由瑞典的公司負責(zé)開發(fā)和維護,是一個快速、多線程、多用戶和強壯的SQL數(shù)據(jù)庫服務(wù)器。SQL是世界上最流行的標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是具有客戶機/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng),是完全網(wǎng)絡(luò)化的跨平臺關(guān)系型數(shù)據(jù)庫系統(tǒng),是目前運行速度較快的SQL語言數(shù)據(jù)庫。MySQL具有功能強,使用簡便、管理方便、運行速度快、安全可靠性強等優(yōu)點,總結(jié)其主要特點有〔1完全支持ISO8859-1標(biāo)準(zhǔn)。〔2同時訪問數(shù)據(jù)庫的用戶數(shù)量不受限制?!?可以保存超過5千萬條記錄,即處理大型數(shù)據(jù)?!?完全支持多線程,適于多CPU使用?!?提供多種語言的API接口,以及為windows等操作系統(tǒng)提供ODBC接口?!?支持多種平臺。在Unix系統(tǒng)上該軟件支持多線程運行方式,從而能獲得相當(dāng)好的性能。在WindowsNT系統(tǒng)上以系統(tǒng)服務(wù)方式運行,或者在Windows95/98系統(tǒng)上以普通進程方式運行。〔7開放式的分發(fā),可以獲得幫助且源代碼公開?!?提供多樣的數(shù)據(jù)類型,支持多種語言?!?支持靈活和安全的權(quán)限設(shè)置、密碼加密等?!?0無內(nèi)存泄露。3系統(tǒng)分析對于一個項目,前期的總體分析規(guī)劃是很重要的。好的規(guī)劃能避免后期大規(guī)模修改程序。開發(fā)快遞單打印管理軟件系統(tǒng)必須進行一個詳細規(guī)劃從而使開發(fā)人員朝著規(guī)劃好的目標(biāo)發(fā)展。系統(tǒng)分析過程是整個系統(tǒng)開發(fā)規(guī)劃的重要階段。分析的成功與否,決定著整個系統(tǒng)功能的完善性以及穩(wěn)定性。3.1系統(tǒng)需求分析功能需求分析傳統(tǒng)的快遞單多由人工來管理。由工作人員手工寫客戶信息,并且全都是紙質(zhì)單據(jù),導(dǎo)致存放大量的文件,不僅查詢客戶信息麻煩,而且不易保存,還有人為失誤。而且隨著快遞行業(yè)的迅速發(fā)展,現(xiàn)有的人工管理方式已經(jīng)不能完全勝任。廣大快遞行業(yè)經(jīng)營者已經(jīng)意識到使用計算機信息技術(shù)的重要性。本系統(tǒng)是基于一般快遞公司便于管理快件的系統(tǒng),該系統(tǒng)主要包括工作人員的登錄,快遞信息的查詢,修改,添加,快遞單管理,打印,系統(tǒng)設(shè)置,數(shù)據(jù)庫備份。在一些小公司,這些功能完全可以實現(xiàn)快遞單的管理功能,在公司內(nèi)部有幾個快件的管理人員,可以根據(jù)其在后臺添加幾個用戶。不同的快件管理人員有自己的用戶名和密碼。這是系統(tǒng)必須擁有的模塊??旒奶砑?查詢,修改是系統(tǒng)的最重要的部分,對不同的寄件在管理員的操控下可以根據(jù)實際情況去更改。所有的功能都是圍繞快遞單打印而存在,此功能與計算機操作系統(tǒng)上自帶的打印管理相結(jié)合。附加有打印設(shè)置管理,讓打印的東西更具有選擇性。還需要附帶一個數(shù)據(jù)備份功能,當(dāng)在不用系統(tǒng)的時候或是已經(jīng)打印后的信息可以對其進行一個備份,在系統(tǒng)數(shù)據(jù)丟失或是需要再查詢以前舊數(shù)據(jù)的時候,把其導(dǎo)入系統(tǒng)。方便進行操作和數(shù)據(jù)的保護。同時這幾個模塊既相互聯(lián)系又是相互獨立的。3.1.2性能需求分析〔1時間響應(yīng)特性查詢服務(wù)部分:用戶通過電腦提交查詢命令到返回結(jié)果不超過5秒鐘。數(shù)據(jù)管理部分:提交某一數(shù)據(jù)錄入到結(jié)果返回不超過5秒鐘?!?數(shù)據(jù)量大系統(tǒng)要記錄每個快件和活動的記錄,因此,整個系統(tǒng)對信息量的要求相對較高,開發(fā)者應(yīng)采取相應(yīng)措施,解決存儲量大的問題,同時還要兼顧信息的方便利用?!?系統(tǒng)實用性為了提高系統(tǒng)效率,系統(tǒng)提供了多種形式的對話框,并在設(shè)計過程中考慮盡量減少用戶的輸入?!?安全可靠性本系統(tǒng)運行在Internet上,要考慮可能會受到外來的安全威脅;操作員口令應(yīng)采用加密存放方式,不同權(quán)限的用戶對數(shù)據(jù)有不同層次的訪問;要適當(dāng)?shù)膶ο到y(tǒng)數(shù)據(jù)進行備份存檔,避免數(shù)據(jù)的丟失帶來不便。3.1.3界面需求分析<1界面美觀、操作人性化;<2運行響應(yīng)速度快,存儲數(shù)據(jù)速度快;<3有相應(yīng)的錯誤信息提示;<4系統(tǒng)的工作量大但要有限制;<5維護、更新、擴展等功能的容易實現(xiàn)。3.2系統(tǒng)可行性分析經(jīng)濟可行性分析經(jīng)濟可行性研究的是對開發(fā)軟件的成本估算和成本效益分析,以確定待開發(fā)軟件是否有開發(fā)的價值。對于本系統(tǒng)的開發(fā),能幫助公司對客戶的信息管提高工作效率,并且能非常方便的對其進行一系列的管理和維護,是以前的手工管理不能做到的。而且如今的信息化管理顯得尤為重要,公司要想更好的發(fā)展就得花費一定的資金來購買此系統(tǒng)產(chǎn)品,而開發(fā)此系統(tǒng)并不需要投入多大的人力和物力,只需掌握相關(guān)的知識和技術(shù)就能很快的得以實現(xiàn),因此在經(jīng)濟上是可行的。3.2.2技術(shù)可行性分析技術(shù)方面的可行性就是根據(jù)現(xiàn)有的技術(shù)條件,能否實現(xiàn)系統(tǒng)的各項要求。就硬件方面來說,該系統(tǒng)對所需的硬件設(shè)備,如服務(wù)器、pc機等的性能要求一般,現(xiàn)有設(shè)備的性能完全能夠滿足系統(tǒng)功能的要求。而軟件方面來說,本系統(tǒng)屬于數(shù)據(jù)庫應(yīng)用程序,本系統(tǒng)需要一個數(shù)據(jù)庫服務(wù)器及其運行的操作系統(tǒng)平臺,根據(jù)客戶的數(shù)據(jù)量并不是十分巨大,我們選擇目前市場比較流行的數(shù)據(jù)庫服務(wù)器產(chǎn)品mysql數(shù)據(jù)庫及配套的平臺Windows7即可。而前臺開發(fā)工具采用myeclipse,利用其可視化的開發(fā)環(huán)境、豐富的控件資源,能快速開發(fā)出應(yīng)用程序。這些軟件在中小型MIS開發(fā)中已被大量應(yīng)用,技術(shù)上都比較成熟。且本方案技術(shù)要求不高,系統(tǒng)涉及范圍不大,子系統(tǒng)間聯(lián)系緊密,安全性、可靠性強??梢?從技術(shù)上是完全能滿足基本功能需要的。3.2.3運行可行性分析本系統(tǒng)在技術(shù)上采用java作為編程語言、以MYSQL作為后臺數(shù)據(jù)管理,兩者形成數(shù)據(jù)庫訪問技術(shù)。通過系統(tǒng)分析可知系統(tǒng)各功能之間存在一個嚴(yán)密的邏輯關(guān)系,只要把自己分析邏輯上的表連接起來就可以實現(xiàn)本系統(tǒng)的數(shù)據(jù)庫架構(gòu)。其實說到底該系統(tǒng)就是對后臺的數(shù)據(jù)庫信息進行訪問、處理等操作,因此建一個合理而又完善的數(shù)據(jù)庫是相當(dāng)重要的,如果數(shù)據(jù)結(jié)構(gòu)建立的不完善將直接會影響軟件的速度,訪問效率。所以,只要建立一個合理、完善的數(shù)據(jù)庫,在C/S下結(jié)合ODBC技術(shù)。采用java輔助編程,就能夠?qū)崿F(xiàn)快遞單打印信息管理系統(tǒng)的運行。操作可行性分析該系統(tǒng)主要面向一般方便快遞公司管理自己的業(yè)務(wù)而開發(fā)。系統(tǒng)界面簡潔易懂,操作方便快捷。由于現(xiàn)在快遞管理層次的人員都具備一定的計算機操作水平,所以能夠方便的使用該系統(tǒng)。對于一般用戶即使是沒有試用過計算機的用戶,只需點擊一下鼠標(biāo)就可以進行信息查詢、添加、刪除等功能,此系統(tǒng)具有良好的可操作性。4系統(tǒng)概要設(shè)計4.1前臺顯示說明〔1本打印軟件首先是一個登陸界面,所有公司員工必須擁有公司授予的登陸賬號以及密碼,從而進行對公司客戶信息的修改以及維護?!?進入系統(tǒng)后,系統(tǒng)頁面內(nèi)含有快遞單據(jù)管理,其中包括快遞單查詢,修改快遞單,刪除快遞單等功能。除了快遞單據(jù)管理,還有打印管理,查詢用戶,修改用戶密碼,數(shù)據(jù)備份等功能。4.2架構(gòu)設(shè)計目標(biāo)軟件架構(gòu)設(shè)計要達到如下的目標(biāo):<1可行性〔Feasible。架構(gòu)具有可行性是架構(gòu)設(shè)計的基石。<2可靠性〔Reliable。軟件系統(tǒng)對于用戶的商業(yè)經(jīng)營和管理來說極為重要,因此軟件系統(tǒng)必須非??煽俊?lt;3安全行〔Secure。軟件系統(tǒng)所承擔(dān)的交易的商業(yè)價值極高,系統(tǒng)的安全性非常重要。<4可定制化〔Customizable。同樣的一套軟件,可以根據(jù)客戶群的不同和市場需求的變化進行調(diào)整。<5可擴展性〔Extensible。在新技術(shù)出現(xiàn)的時候,一個軟件系統(tǒng)應(yīng)當(dāng)允許導(dǎo)入新技術(shù),從而對現(xiàn)有系統(tǒng)進行功能和性能的擴展。<6可維護性〔Maintainable。軟件系統(tǒng)的維護包括兩方面,一是排除現(xiàn)有的錯誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。一個易于維護的系統(tǒng)可以有效地降低技術(shù)支持的花費。4.3系統(tǒng)功能模塊設(shè)計本系統(tǒng)根據(jù)實際要求,經(jīng)過需求分析,系統(tǒng)分析后得出主要組成包括:用戶登錄、單據(jù)管理、快遞單管理、數(shù)據(jù)管理、系統(tǒng)選項,幫助,如圖4-1所示??爝f單管理保存填寫快遞單數(shù)據(jù)管理系統(tǒng)選項單據(jù)打印收件人數(shù)據(jù)關(guān)于用戶管理修改信息系統(tǒng)幫助幫助還原數(shù)據(jù)備份數(shù)據(jù)單據(jù)模板導(dǎo)出單據(jù)模板導(dǎo)入發(fā)件人數(shù)據(jù)定制新單據(jù)歷史快遞單查詢快遞單打印系統(tǒng)快遞單管理保存填寫快遞單數(shù)據(jù)管理系統(tǒng)選項單據(jù)打印收件人數(shù)據(jù)關(guān)于用戶管理修改信息系統(tǒng)幫助幫助還原數(shù)據(jù)備份數(shù)據(jù)單據(jù)模板導(dǎo)出單據(jù)模板導(dǎo)入發(fā)件人數(shù)據(jù)定制新單據(jù)歷史快遞單查詢快遞單打印系統(tǒng)打印快遞單打印快遞單圖4-1系統(tǒng)主要組成部分〔1用戶登錄考慮到系統(tǒng)的安全性,本系統(tǒng)的用戶登錄不能在系統(tǒng)本身注冊登錄。只能由系統(tǒng)設(shè)計人員,在管理界面添加用戶,但系統(tǒng)登錄成功后可以在本系統(tǒng)中去更改自己的登錄密碼,使用戶更好地管理自己的密碼,如圖4-2所示。圖4-2系統(tǒng)登錄界面單據(jù)管理單據(jù)管理界面下面有二個子功能:打印快遞單和填寫快遞單??爝f打印根據(jù)后臺用戶添加的信息一條一條地把信息導(dǎo)入界面,用戶可以根據(jù)需要打印的要求對其進行打印設(shè)置,打印出預(yù)期的效果??梢粭l一條打印,也可以批量打印。此模塊最主要的功能是打印功能,本系統(tǒng)全部的工作基本上都是為這個功能在服務(wù),打印按鈕連接著計算機操作系統(tǒng)的打印管理軟件,對于不同的計算機操作系統(tǒng)可能會出現(xiàn)不兼容的問題。但是對于一般的xp和win7系統(tǒng)都沒有這樣的問題。填寫快遞單可以自己根據(jù)自己的需求,如果以前就有的用戶,可以直接從模版中導(dǎo)出打印,新用戶在填寫快遞單后,會保存一個模版,在以后此用戶再來寄快遞的時候直接從模版中導(dǎo)入。<3>快遞單管理快遞單管理下有:歷史快遞單查詢,定制新單據(jù)功能。當(dāng)一個顧客在寄完一次快遞后,系統(tǒng)就會把他的信息保存到系統(tǒng),當(dāng)用戶以后再次需要寄快遞時根據(jù)用戶id或者姓名經(jīng)行查找,直接導(dǎo)入快遞單模版進行打印。定制新單據(jù)是系統(tǒng)第一次添加一個新顧客時,需要一個一個去添加到后臺數(shù)據(jù)庫,以方便在后來的快件打印時進行批量處理。<4>數(shù)據(jù)管理此模塊中有:收件人數(shù)據(jù),發(fā)件人數(shù)據(jù),單據(jù)模版導(dǎo)入,單據(jù)模版導(dǎo)出,備份數(shù)據(jù),還原數(shù)據(jù)。收件人數(shù)據(jù)和發(fā)件人用來記錄在此系統(tǒng)中有過寄件信息或收件信息的用戶,當(dāng)此用戶在以后寄件或收件記錄中,可以直接導(dǎo)入到模版中,不用再一個一個添加方便快捷。單據(jù)模版導(dǎo)入是根據(jù)需求可以自己來設(shè)定自己想要的模版信息,寄件信息和寄件的模版都可以自行定義這樣才是一個好的快遞單打印系統(tǒng),所以此功能是一個重點信息,單據(jù)模版的導(dǎo)出就是把當(dāng)前的模版導(dǎo)出到系統(tǒng)之外去保存,當(dāng)下次想用此模版是直接導(dǎo)入系統(tǒng)。數(shù)據(jù)的備份和恢復(fù)是把系統(tǒng)的所存在的用戶信息,自定義模版,和一些重要的系統(tǒng)內(nèi)數(shù)據(jù)進行保存,防止數(shù)據(jù)的丟失造成的損失?!?系統(tǒng)選項系統(tǒng)選項下面有兩個自功能:用戶管理和修改信息,系統(tǒng)管理員可以根據(jù)需求來添加和刪除用戶,用戶可以自行更改自己的密碼。<6>幫助幫助下面有系統(tǒng)和關(guān)于兩個功能,幫助是用來指導(dǎo)用戶怎樣使用該系統(tǒng),怎樣使用才能體現(xiàn)出系統(tǒng)的價值。關(guān)于是一些關(guān)于此系統(tǒng)的一些開發(fā)者,運行環(huán)境等的說明。5數(shù)據(jù)庫設(shè)計5.1數(shù)據(jù)庫概念設(shè)計在設(shè)計數(shù)據(jù)庫時,需要計劃要存儲有關(guān)哪些事物的信息,以及要保存有關(guān)各個事物的哪些信息。您還需要確定這些事物的相互關(guān)系。如果使用數(shù)據(jù)庫設(shè)計中的術(shù)語,在這一步創(chuàng)建的數(shù)據(jù)庫原型就稱作概念數(shù)據(jù)庫模型。概念結(jié)構(gòu)設(shè)計的目的概念結(jié)構(gòu)設(shè)計階段的目標(biāo)是通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。概念結(jié)構(gòu)的設(shè)計方法有兩種:<1>集中式模式設(shè)計法:這種方法是根據(jù)需求由一個統(tǒng)一機構(gòu)或人員設(shè)計一個綜合的全局模式。這種方法簡單方便,適用于小型或不復(fù)雜的系統(tǒng)設(shè)計,由于該方法很難描述復(fù)雜的語義關(guān)聯(lián),而不適于大型的或復(fù)雜的系統(tǒng)設(shè)計。<2>視圖集成設(shè)計法:這種方法是將一個系統(tǒng)分解成若干個子系統(tǒng),首先對每一個子系統(tǒng)進行模式設(shè)計,建立各個局部視圖,然后將這些局部視圖進行集成,最終形成整個系統(tǒng)的全局模式。概念結(jié)構(gòu)設(shè)計的過程數(shù)據(jù)庫概念設(shè)計是使用E-R模型和視圖集成設(shè)計法進行設(shè)計的。它的設(shè)計過程設(shè)計局部應(yīng)用視圖<局部E-R圖>,然后經(jīng)行分析,為后面的數(shù)據(jù)庫設(shè)計做必要的準(zhǔn)備,根據(jù)需求分析,得出需要建立的實體屬性圖分別如下:<1>admin是系統(tǒng)管理員的基本信息,實體屬性主要有編號、生日、性別、性別、名字、密碼、地址、注冊時間等,其實體屬性圖如圖5-1所示。passwordaddressregist-daybirthdaysexnameNOadminpasswordaddressregist-daybirthdaysexnameNOadmin圖5-1管理員實體圖<2Experss是快遞單信息管理,存放系統(tǒng)的全部快遞單信息,主要的實體屬性有id號、寄件人id號,收件人id號,模板id號,還有日期,其實體屬性圖如圖5-2所示。sendidsendidtimereceiveIdtimereceiveIdIdIdtemplateidtemplateidExpressExpress圖5-2快遞單實體圖<3receivePerson對收件人信息進行管理,主要的實體屬性有id號,收件人姓名,收件人電話,收件人地址,收件人公司,收件人郵編,其實體屬性圖如圖5-3所示。receivenamereceivenameReceivetelIdReceivetelIdreceivepersonreceivepersonreceivecompanyreceivecompanyreceiveaddressreceivepostcodereceiveaddressreceivepostcode圖5-3收件人實體圖<4SendPerson是對發(fā)件人信息進行管理,主要實體屬性有id號,發(fā)件人姓名,發(fā)件人電話,發(fā)件人公司,發(fā)件人地址,發(fā)件人郵編等,其實體屬性圖如圖5-4所示。sendnameIdsendnameIdsendtelsendtelsendpersonsendpersonsendaddresssendaddresssendcompanysendcompanysendpostcodesendpostcode圖5-4發(fā)件人實體圖<5Template是對系統(tǒng)中的快遞模版進行管理,主要的實體屬性有id號,名字,圖片,日期,位置等,其實體屬性圖如圖5-5。timepositionimagenameIdtemplatetimepositionimagenameIdtemplate圖5-5模板實體圖<6Users是對系統(tǒng)工作人員的基本信息進行管理,主要的實體屬性有編號,密碼,地址,注冊時間,性別,姓名,生日,其實體屬性圖如圖5-6。regist-datetimesexNObirthdayusernamepasswordaddressusersregist-datetimesexNObirthdayusernamepasswordaddressusers圖5-6員工實體圖<7>根據(jù)各個實體圖設(shè)計出整體E-R圖,其中管理員與發(fā)件人,收件人,模板,快遞單都有關(guān)系,管理員具有查詢,刪除,修改收件人和發(fā)件人信息的功能,管理員和收件人發(fā)件人是一對多的關(guān)系,發(fā)件人可以自定義模板,填寫快遞單,因此發(fā)件人和模板還有快遞單是多對多的關(guān)系,根據(jù)分析設(shè)計出總體E-R圖,如圖5-7所示。sendpersonreceivepersonsendpersonreceiveperson查詢查詢查詢查詢定制admin定制admin填寫template填寫templateexpressexpress圖5-7整體E-R圖5.2表設(shè)計現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為MYSQL數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。在上面實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關(guān)系,快遞單打印管理系統(tǒng)數(shù)據(jù)庫中表格的設(shè)計分別如以下表所示。每個表格表示在數(shù)據(jù)庫中的一個表。根據(jù)實際情況的系統(tǒng)分析,本系統(tǒng)在mysql數(shù)據(jù)庫中建立了DB數(shù)據(jù)庫。其中表有admin表,express表,receivePerson表,SendPerson表,template表,users表?!?admin表用來記錄系統(tǒng)管理員的用戶名,密碼,生日,性別,注冊日期,真實姓名等基本信息,如表5-8所示。表5-8admin信息表序號字段說明類型長度〔字符1NO用戶名〔主鍵varchar502password密碼varchar503birthday生日data4sex性別varchar105regist_day注冊日期datatime6name姓名varchar507address地址varchar50〔2Experss表是一個寄件信息表,也是此系統(tǒng)最重要的一張表,里面有快件id,發(fā)件人id,收件人id,所使用的快件模版和快件所產(chǎn)生的時間等信息,如表5-9所示。表5-9Experss信息表序號字段說明類型長度〔字符1id模版編號〔主鍵int42sendId發(fā)件人編號int43receiveId收件人編號int44templateid模版編號int45time發(fā)件時間datatime〔3receivePerson表是一個收件人信息表,包括收件人id,姓名,電話,所在公司,地址,郵編等一些寄件必要的信息,如表5-10所示。圖5-10receivePerson信息表序號字段說明類型長度〔字符1id收件人編號〔主鍵int42receiveName收件人姓名Varchar503receiveTel收件人電話Varchar104receiveCompary收件公司data505receiveAddress收件地址Varchar506receivePostCode收件郵編int10〔4SendPerson表是一個發(fā)件人信息表,用來記錄所以系統(tǒng)中有過發(fā)件信息人的基本信息,包括發(fā)件人id,姓名,電話,所在公司,地址,郵編等一些寄件必要的信息,如表5-11所示。圖5-11SendPerson信息表序號字段說明類型長度〔字符1id發(fā)件人編號〔主鍵int42sendName發(fā)件人姓名Varchar503sendTel發(fā)件人電話Varchar104sendCompary發(fā)件公司Varchar505sendAddress發(fā)件地址Varchar506sendPostCode發(fā)件郵編int10〔5Template表是一個模版表,用來記錄此系統(tǒng)中所用的模版信息,方便以后直接調(diào)入前臺使用,其中的信息包括模版的id號,名字,位置,時間,圖片等一些必要信息,如表5-12所示。表5-12Template信息表序號字段說明類型長度〔字符1id模版編號〔主鍵int42name模版名稱Varchar103image模版圖片路徑Varchar504position模版上控件位置,大小,類型Varcharmax5time模版添加時間datatime〔6users表是用戶信息表,用來存儲所有使用該系統(tǒng)的員工信息,便于系統(tǒng)后臺的管理,有用戶名,密碼,真實姓名,生日,性別,注冊時間,電話,地址等信息,如表5-13所示。表5-13users信息表序號字段說明類型長度〔字符1NO用戶編號〔主鍵int42password密碼varchar503username用戶名varchar504birthday生日data5sex性別varchar106regist_datetime注冊時間datatime7address地址varchar505.3數(shù)據(jù)庫的實現(xiàn)與維護根據(jù)數(shù)據(jù)庫的概念設(shè)計和邏輯結(jié)構(gòu)設(shè)計的結(jié)果,利用特定的DBMS在計算機系統(tǒng)上建立實際的數(shù)據(jù)庫結(jié)構(gòu)、裝入數(shù)據(jù)、測試和試運行的過程稱為數(shù)據(jù)庫的實現(xiàn)階段。該階段主要完成以下3項工作:〔1建立實際數(shù)據(jù)庫結(jié)構(gòu)。利用數(shù)據(jù)庫管理系統(tǒng)或應(yīng)用開發(fā)平臺的數(shù)據(jù)庫設(shè)計工具設(shè)計出實際的數(shù)據(jù)庫結(jié)構(gòu)?!?裝入實驗數(shù)據(jù)對應(yīng)用程序進行調(diào)試。實驗數(shù)據(jù)可以是實際數(shù)據(jù),也可由手工生成或用隨機數(shù)發(fā)生器生成。應(yīng)使測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況?!?裝入實際數(shù)據(jù),進入試運行狀態(tài),測量系統(tǒng)的性能指標(biāo),看是否符合設(shè)計目標(biāo)。如果不符合設(shè)計目標(biāo),則返回前面幾步修改數(shù)據(jù)庫的物力結(jié)構(gòu),甚至邏輯結(jié)構(gòu)。在使用數(shù)據(jù)庫時,有時用戶非法操作或系統(tǒng)發(fā)生突發(fā)事件都會對數(shù)據(jù)庫產(chǎn)生不同程度的影響,所以系統(tǒng)需要時常對數(shù)據(jù)庫進行維護。對于任何一個與數(shù)據(jù)庫掛鉤的軟件,數(shù)據(jù)庫都可以稱的上是該軟件的心臟,如果"心臟"都壞了。就意味著系統(tǒng)的奔潰,所以后臺數(shù)據(jù)庫的維護是相當(dāng)重要的。本文對數(shù)據(jù)庫的維護有以下幾點建議:=1\*GB3①對事務(wù)日志進行備份,對數(shù)據(jù)庫進行備份。=2\*GB3②為了防止用戶的失誤操作和外人的蓄意破壞,除管理員身份外應(yīng)對其他身份的用戶權(quán)限進行設(shè)置。根據(jù)用戶的要求對數(shù)據(jù)庫現(xiàn)有功能進行擴充。=3\*GB3③及時改正運行中發(fā)現(xiàn)的系統(tǒng)錯誤。6系統(tǒng)詳細設(shè)計與實現(xiàn)6.1系統(tǒng)主框架的實現(xiàn)與設(shè)計本系統(tǒng)網(wǎng)站的主界面設(shè)計結(jié)構(gòu)采用了彈出窗體的結(jié)構(gòu),上部分為主功能菜單區(qū),主要是顯示網(wǎng)站的主功能,分別有單據(jù)打印,快遞單管理,數(shù)據(jù)管理,系統(tǒng)選項,幫助,界面設(shè)計如圖6-1所示。圖6-1系統(tǒng)主框架實現(xiàn)核心代碼如下: publicstaticvoidmain<String[]args>{ SwingUtilities.invokeLater<newRunnable<>{ publicvoidrun<>{ newMainFrame<1>; } }>; } privatevoidinitButton<>{ this.jb_PrintExpress=createFrameButton<"打印快遞單">; this.jb_PrintExpress.addMouseListener<MainFrameListener.getPrintExpress<>>; this.jb_WriteExpress=createFrameButton<"填寫快遞單">; this.jb_WriteExpress.addMouseListener<MainFrameListener.getWriteExpress<jp> this.jb_HistoryQuery=createFrameButton<"歷史快遞單查詢">; 6.2快遞單定制功能的實現(xiàn)〔1實現(xiàn)目標(biāo)快遞單定制功能,是根據(jù)系統(tǒng)需求,用戶想用什么快遞發(fā)快件就從系統(tǒng)外導(dǎo)入圖片到自定義模塊中,可以根據(jù)在系統(tǒng)數(shù)據(jù)庫中的寄件人信息和發(fā)件人信息直接導(dǎo)入其中,也可以根據(jù)需求使用texbox按鈕和checkbox按鈕來自己在導(dǎo)入的模版中自定義需要添加的信息。添加到模版后可以在快遞模版中進行保存,方便以后在再次使用到此模塊或者寄件人收件人信息的時候直接導(dǎo)入,界面設(shè)計如圖6-2所示。圖6-2快遞單定制功能〔2實現(xiàn)過程所屬頁面名:template.java通過template頁面去其他頁面調(diào)用,實現(xiàn)此模塊的功能。核心代碼如下:publicArrayList<Template>queryAll<>{ //TODOAuto-generatedmethodstub ArrayList<Template>list=newArrayList<Template><>; DBCondb=newDBCon<>; Connectioncon=db.getConnection<>;try{ PreparedStatementps=con.prepareStatement<"select*fromtemplate">; ResultSetrs=ps.executeQuery<>;while<rs.next<>>{ Templatet=newTemplate<>; t.setId<rs.getInt<"id">>; t.setImage<rs.getString<"image">>; t.setName<rs.getString<"name">>; t.setPosition<rs.getString<"position">>; t.setTime<rs.getString<"time">>; list.add<t>; } }catch<SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace<>; }finally{ db.close<>; }returnlist; } @OverridepublicbooleanaddTemplate<Stringname,Stringimage,Stringposition,Stringtime>{ //TODOAuto-generatedmethodstub DBCondb=newDBCon<>; Connectioncon=db.getConnection<>;booleanok=true;try{ PreparedStatementps=con.prepareStatement<"insertintotemplate<name,image,position,time>values<?,?,?,?>">; ps.setString<1,name>; ps.setString<2,image>; ps.setString<3,position>; ps.setString<4,time>; ps.executeUpdate<>; }catch<SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace<>; ok=false; }finally{ db.close<>; }returnok; }6.3快遞單打印功能的實現(xiàn)快遞單打印功能是實現(xiàn)快遞單的打印,員工通過登錄系統(tǒng),進入主界面,然后填寫快遞單的信息,填寫完快遞單的信息,點擊打印按鈕,就會出現(xiàn)如圖6-3的界面。圖6-3快遞單保存功能實現(xiàn)的核心代碼如下:@OverridepublicvoidmouseDragged<MouseEvente>{ //TODOAuto-generatedmethodstub Pointposition=jp.getMousePosition<>; com.setLocation<position.x-jp.getInsets<>.left-com.getWidth<>/2,position.y-jp.getInsets<>.top-com.getHeight<>/2>; CreateNewE=<Component>e.getSource<>; } @OverridepublicvoidmouseMoved<MouseEvente>{ //TODOAuto-generatedmethodstub } }在上圖6-3顯示的頁面中選擇是按鈕,接下來就可以進行打印了,如果計算機沒有連接打印機,那么系統(tǒng)就會保存成一個PDF格式的圖片,如果還想修改快遞單的信息,直接點擊否按鈕,不想打印快遞單,直接點擊取消按鈕,實現(xiàn)的界面如圖6-4。圖6-4快遞單打印功能實現(xiàn)的核心代碼如下:@OverridepublicvoidvalueChanged<ListSelectionEvente>{ Componentcoms[]=jp.getComponents<>;for<inti=0;i<coms.length;++i>{ jp.remove<coms[i]>; }intindex=nlist.getSelectedIndex<>; jp.repaint<tlist.get<index>.getImage<>>;add<jp,tlist.get<index>.getPosition<>>; WriteExpress.templateId=tlist.get<index>.getId<>; jp.repaint<>; } }; }publicstaticvoidadd<finalWriteExpress.JpLeftjp,finalStringposition>{ Stringpos[]=position.split<";">;for<inti=0;i<pos.length;++i>{ Stringcom[]=pos[i].split<"">;System.out.println<com.length>;if<com[0].equals<"tf">>{ Textjtf=newText<>; jtf.setContentType<com[1]>; jtf.setSize<Integer.valueOf<com[2].trim<>>,20>; jtf.setLocation<Integer.valueOf<com[3].trim<>>,Integer.valueOf<com[4].trim<>>>;// System.out.println<"w:"+jtf.getWidth<>>;// System.out.println<"x:"+jtf.getX<>>;ln<"y:"+jtf.getY<>>; jp.add<jtf>; }else{ JCheckBoxjcb=newJCheckBox<>; jcb.setSize<Integer.valueOf<com[1].trim<>>,20>; jcb.setLocation<Integer.valueOf<com[2].trim<>>,Integer.valueOf<com[3]>>; jp.add<jcb>; } jp.repaint<>; jp.validate<>; } }6.4用戶管理功能的實現(xiàn)〔1實現(xiàn)目標(biāo)用戶管理功能模塊是系統(tǒng)對系統(tǒng)工作人員基本信息的管理,當(dāng)一個系統(tǒng)到了一定達到一定的程度,就得需要對其進行管理。當(dāng)用戶進入時,只能看到自己的信息,更改基本信息,但是不能更改工號。當(dāng)系統(tǒng)管理員進入系統(tǒng)后,可以看到所以的信息,可以添加新用戶,對用戶進行權(quán)限的管理,實現(xiàn)界面如圖6-5所示。圖6-5用戶管理界面〔2實現(xiàn)過程所屬頁面名:UserManager.java實現(xiàn)的核心代碼如下:@OverridepublicvoidmouseClicked<MouseEvente>{ //TODOAuto-generatedmethodstubintrow=jt.getSelectedRow<>;if<row==-1>{ JOptionPane.showMessageDialog<null,"請選中一行??!">; }else{intoption=JOptionPane.showConfirmDialog<null,"確定要刪除嗎?">;if<option==JOptionPane.OK_OPTION>{ <newUserImple<>>.deleteUser<jt.getValueAt<row,0>.toString<>>; <<DefaultTableModel><jt.getModel<>>>.removeRow<row>; <<DefaultTableModel><jt.getModel<>>>.fireTableDataChanged<>; } } } }; }〔3管理員添加用過程需要添加的信息有工號,名字,性別,生日,地址,注冊時間,原始密碼。當(dāng)用戶在使用系統(tǒng)時可以進入系統(tǒng)對原始密碼進行更改,添加用戶界面如圖6-6所示。圖6-6用戶添加界面實現(xiàn)的核心代碼如下:publicclassAdmin{privateStringNO;privateStringpassword;privateStringusername;privateStringbirthday;privateStringsex;privateStringregist_date;privateStringaddress;publicStringgetNO<>{returnNO; }publicvoidsetNO<StringnO>{ NO=nO; }publicStringgetPassword<>{returnpassword; }publicvoidsetPassword<Stringpassword>{this.password=password; }publicStringgetUsername<>{returnusername; }publicvoidsetUsername<Stringusername>{this.username=username; }publicStringgetBirthday<>{returnbirthday; }publicvoidsetBirthday<Stringbirthday>{this.birthday=birthday; }publicStringgetSex<>{returnsex; }6.5快遞查詢功能的實現(xiàn)〔1實現(xiàn)目標(biāo)快遞單查詢可以查詢根據(jù)需求查詢出自己想要的信息進行保存,在想編輯快遞單的時候直接導(dǎo)入模塊。系統(tǒng)可以進行模糊查詢,根據(jù)想要的需求,查詢出想要的結(jié)果??爝f單修改時用到了添加的界面,直接把系統(tǒng)后臺的數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入界面,用戶可自行在界面上任意修改其已經(jīng)存在的數(shù)據(jù)。保存成功后提示用戶修改成功,界面如圖6-7所示。圖6-7系統(tǒng)查詢功能界面〔2實現(xiàn)過程所屬頁面名:templateinterface.java6.6數(shù)據(jù)庫恢復(fù)與備份功能的實現(xiàn)數(shù)據(jù)備份功能直接把系統(tǒng)所有的寄件信息、用戶信息、快遞模版?zhèn)浞莩蒪ak文件。本系統(tǒng)可以指定幾個用戶同時使用,用戶可根據(jù)自己的需求在使用完系統(tǒng)后對自己的數(shù)據(jù)經(jīng)行備份,或是把已打印完成的訂單導(dǎo)出數(shù)據(jù)庫進行備份,在有需求的時候,或是需要查詢訂單信息的時候直接導(dǎo)入系統(tǒng)經(jīng)行需求性的查詢,界面如下圖6-8所示。圖6-8數(shù)據(jù)備份界面6.7數(shù)據(jù)庫連接實現(xiàn)Java數(shù)據(jù)庫連接,〔JavaDatabaseConnectivity,簡稱JDBC是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。JDBC也是SunMicrosystems的商標(biāo)。它JDBC是面向關(guān)系型數(shù)據(jù)庫的。JDBC處理SQL一致性問題是提供ODBC風(fēng)格的轉(zhuǎn)義子句,是整個連接關(guān)系中的核心。轉(zhuǎn)義語法為幾個常見的SQL分歧提供了一種標(biāo)準(zhǔn)的JDBC語法。例如,對日期文字和已儲存過程的調(diào)用都有轉(zhuǎn)義語法。一個好的系統(tǒng),數(shù)據(jù)庫的連接技術(shù)是一個非常重要的系統(tǒng),它關(guān)系到系統(tǒng)的安全,只有做好這方面的工作,系統(tǒng)的安全系數(shù),才會得到保證。在系統(tǒng)的其他訪問數(shù)據(jù)庫的過程中,應(yīng)該把語句完全封裝在一個包或類中,這樣既方便系統(tǒng)開發(fā)人員對其代碼的可讀性,又加強系統(tǒng)的嚴(yán)謹性。本系統(tǒng)數(shù)據(jù)庫訪問實現(xiàn)代碼如下:〔1DBCon.java:packagecom.jby.util;importjava.sql.Connection;importjava.sql.DriverManager;publicclassDBCon{publicDBCon<>{}PrivateStringDBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver"; privateStringDBURL="jdbc:sqlserver://localhost:1433;database=DB"; privateConnectionconn=null; publicConnectiongetConnection<>{ try{ Class.forName<DBDRIVER>; this.conn=DriverManager.getConnection<DBURL>; }catch<Exceptione>{ e.printStackTrace<>; } returnthis.conn; }publicvoidclose<>{try{conn.close<>;}catch<Exceptione>{e.printStackTrace<>;}}}〔2FileManager.java:packagecom.jby.util;importjava.io.*;publicclassFileManager{ publicstaticvoidcopy<FilefSource,Filedestination> try{ FileInputStreamfis=newFileInputStream<fSource>; FileOutputStreamfos=newFileOutputStream<destination>; inti; while<<i=fis.read<>>!=-1>{ fos.write<i>; } }catch<IOExceptione>{ e.printStackTrace<>; } } publicstaticvoiddelete<Filef>{ if<f.exists<>>{ f.delete<>; } }}7系統(tǒng)測試與評價7.1系統(tǒng)測試系統(tǒng)測試〔SystemTesting是對已經(jīng)集成好的軟件系統(tǒng)進行徹底地測試,以驗證軟件系統(tǒng)的正確性

溫馨提示

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

評論

0/150

提交評論