倉(cāng)庫(kù)貨物管理系統(tǒng)-論文_第1頁(yè)
倉(cāng)庫(kù)貨物管理系統(tǒng)-論文_第2頁(yè)
倉(cāng)庫(kù)貨物管理系統(tǒng)-論文_第3頁(yè)
倉(cāng)庫(kù)貨物管理系統(tǒng)-論文_第4頁(yè)
倉(cāng)庫(kù)貨物管理系統(tǒng)-論文_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

(論文)摘 要倉(cāng)庫(kù)貨物管理系統(tǒng)是當(dāng)今企業(yè)必不可少的部分,一個(gè)優(yōu)秀的倉(cāng)庫(kù)貨物管理系統(tǒng)可以為企業(yè)的發(fā)展和經(jīng)營(yíng)提供堅(jiān)實(shí)的技術(shù)后盾。隨著科學(xué)技術(shù)的蓬勃發(fā)展,應(yīng)用信息技術(shù)對(duì)倉(cāng)庫(kù)進(jìn)行管理,具有人工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如,易查詢、速度快、成本低、壽命長(zhǎng)、準(zhǔn)確性高等。這些優(yōu)點(diǎn)能極大地提高企業(yè)倉(cāng)庫(kù)貨物管理的效率 ,使企業(yè)的倉(cāng)庫(kù)貨物管理井井有條,為企業(yè)的健康發(fā)展創(chuàng)造良好的條件。本文在分析現(xiàn)有管理系統(tǒng)開(kāi)發(fā)技術(shù)的基礎(chǔ)上,實(shí)現(xiàn)了以Eclipse為開(kāi)發(fā)平臺(tái)的基于 JSP的以MySql作為后臺(tái)數(shù)據(jù)庫(kù)的倉(cāng)庫(kù)管理系統(tǒng)。該系統(tǒng)主要具備基本信息管理、庫(kù)存管理、信息查詢、用戶管理等功能模塊,本系統(tǒng)基于 B/S模式,嚴(yán)格遵循MVC三層架構(gòu)。關(guān)鍵詞JSP;Servlet;B/S模式;MVC;MYSQL1 1論文AbstractCargowarehousemanagementsystemisanessentialpartoftoday'sbusiness,agoodcargowarehousemanagementsystemcanprovideasolidtechnicalsupportforbusinessdevelopmentandoperations.Withtherapiddevelopmentofscienceandtechnology,theapplicationofinformationtechnologyforwarehousemanagement,labormanagementhasincomparableadvantages.Forexample,thequeryiseasy,fast,low-cost,longlife,higheraccuracy.Theseadvantagescangreatlyimprovetheefficiencyofwarehousecargomanagement,enterprisemanagementorganizedstorageofgoods,andcreatefavorableconditionsforthehealthydevelopmentofenterprises.Basedontheanalysisoftheexistingmanagementsystemdevelopmenttechnology,toachievetheEclipse-baseddevelopmentplatformtoJSPasawarehousemanagementsystemMySqlbackenddatabase.Thesystemhasthebasicinformationmanagement,inventorymanagement,informationinquiry,usermanagementandotherfunctionalmodules,thissystemisbasedonB/Smode,strictlyfollowtheMVCthree-tierarchitecture.Key words JSP ; Servlet ; B/S ; MVC ; SQLServer2 2論文目錄摘要1ABSTRACT2第1章緒論41.1選題背景41.2研究現(xiàn)狀41.3課題的研究意義6第2章開(kāi)發(fā)環(huán)境介紹82.3MYECLIPSE102.3JSP102.4MYSQL錯(cuò)誤!未定義書簽。3.1MVC框架12第3章系統(tǒng)需求分析113.1可行性分析113.3業(yè)務(wù)流程分析13第4章系統(tǒng)實(shí)現(xiàn)134.1功能模塊134.2系統(tǒng)用例圖144.3數(shù)據(jù)庫(kù)設(shè)計(jì)154.3.1概念結(jié)構(gòu)設(shè)計(jì)174.3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)17第5章詳細(xì)設(shè)計(jì)195.1管理員登陸195.2修改學(xué)生225.3預(yù)備選課29第6章系統(tǒng)測(cè)試396.1軟件測(cè)試的定義396.2軟件測(cè)試的過(guò)程396.4系統(tǒng)不足40結(jié)論313論文致 謝 32參考文獻(xiàn) 33第1章緒論1.1選題背景在計(jì)算機(jī)飛速發(fā)展的今天,將計(jì)算機(jī)這一高效的信息處理工具應(yīng)用于倉(cāng)庫(kù)的日常管理已是勢(shì)在必行,而且這也將為倉(cāng)庫(kù)管理帶來(lái)前所未有的改變,它可以帶來(lái)意想不到的效益,同時(shí)也會(huì)為企業(yè)的飛速發(fā)展提供無(wú)限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為倉(cāng)庫(kù)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給企業(yè)管理來(lái)了明顯的經(jīng)濟(jì)效益和社會(huì)效益。由于企業(yè)的物資供應(yīng)管理往往是很復(fù)雜、繁鎖的。所掌握的物資種類眾多,訂貨、管理、發(fā)放的渠道各有差異,各個(gè)企業(yè)之間的管理體制不盡相同,各類統(tǒng)計(jì)計(jì)劃報(bào)表繁多,因此物資管理必須實(shí)現(xiàn)計(jì)算化,而且必須根據(jù)企業(yè)的具體情況制定相應(yīng)的方案以便提高工作效率。以往企事業(yè)倉(cāng)庫(kù)管理員由于缺乏適當(dāng)?shù)能浖o其工作上如物資的計(jì)劃,訂貨,核銷拖收,驗(yàn)收入庫(kù),根據(jù)企業(yè)各個(gè)部門的需要來(lái)發(fā)送物資設(shè)備,并隨時(shí)按期進(jìn)行庫(kù)存盤點(diǎn),作臺(tái)帳,根據(jù)企業(yè)領(lǐng)導(dǎo)和自身管理的需要按月,季,年進(jìn)行統(tǒng)計(jì)分析,產(chǎn)生相應(yīng)的報(bào)表時(shí)帶來(lái)了很多不便,期間復(fù)雜,繁瑣的業(yè)務(wù)讓管理人員極多不便。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),人們對(duì)生活質(zhì)量及工作環(huán)境的要求也越來(lái)越高,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)信息進(jìn)行管理,具有與手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。如何通過(guò)計(jì)算機(jī)為我們完成更多的事情,進(jìn)而達(dá)到辦公自動(dòng)化和優(yōu)化日常工作的目的,也就成了一個(gè)大眾化的課題。倉(cāng)庫(kù)管理是與我們?nèi)粘I钕⑾⑾嚓P(guān)的問(wèn)題。大到公司、超市的倉(cāng)庫(kù)管理,小到圖書館的藏書管理,都可以認(rèn)為是各種各樣的倉(cāng)庫(kù)管理需求。 隨著我國(guó)改革開(kāi)放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存、發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗4論文之地,沒(méi)有現(xiàn)代化的管理是萬(wàn)萬(wàn)不行的,倉(cāng)庫(kù)管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了加快倉(cāng)庫(kù)管理自動(dòng)化的步伐,提高倉(cāng)庫(kù)的管理業(yè)務(wù)處理效率,建立倉(cāng)庫(kù)管理系統(tǒng),盡可能地減少倉(cāng)庫(kù)管理的重復(fù)性和低效性,已變得十分必要。倉(cāng)庫(kù)管理的操作自動(dòng)化和信息的電子化,從而全面提高了倉(cāng)庫(kù)的管理水平。雖然,最近又出現(xiàn)了很多新的管理模式,如:基于零庫(kù)存思想的沃爾瑪特管理方式,但這些新的思想在中國(guó)大部分企業(yè)的管理中還是難以實(shí)現(xiàn)的。所以如何設(shè)計(jì)好倉(cāng)庫(kù)管理系統(tǒng),盡可能地減少倉(cāng)庫(kù)管理的重復(fù)性和低效性就成為當(dāng)前最為重要的問(wèn)題。 倉(cāng)庫(kù)管理系統(tǒng)的核心是入庫(kù)、庫(kù)存和出庫(kù)之間的聯(lián)系,如何處理好三者之間的關(guān)系是系統(tǒng)最為關(guān)鍵的部分。另外,員工信息和供應(yīng)商信息管理也是倉(cāng)庫(kù)管理中一個(gè)必不可少的部分,它提供著與入庫(kù)和出庫(kù)相關(guān)的地一些信息,使得整個(gè)系統(tǒng)更加完整,更加實(shí)用。人工管理階段和文件系統(tǒng)階段都有著相當(dāng)多的缺陷,諸如數(shù)據(jù)冗余性 ,數(shù)據(jù)不一致性以及數(shù)據(jù)聯(lián)系弱等等。也正是由于這些原因,促使人們研究新的數(shù)據(jù)管理技術(shù),從而產(chǎn)生了數(shù)據(jù)庫(kù)技術(shù)。20世紀(jì)60年代末發(fā)生的三件大事,層次模型IMS系統(tǒng)的推出、關(guān)于網(wǎng)狀模型DBTG報(bào)告的發(fā)表以及關(guān)于關(guān)系模型論文的連續(xù)發(fā)表標(biāo)志著數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫(kù)階段。進(jìn)入70年代以后,數(shù)據(jù)庫(kù)技術(shù)得到迅速發(fā)展,開(kāi)發(fā)了許多有效的產(chǎn)品并投入運(yùn)行。數(shù)據(jù)庫(kù)系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對(duì)數(shù)據(jù)更高級(jí)更有效的管理。當(dāng)進(jìn)入數(shù)據(jù)庫(kù)階段后,隨著數(shù)據(jù)管理規(guī)模一再擴(kuò)大,數(shù)據(jù)量急劇增加,為了提高效率,開(kāi)始時(shí),人們只是對(duì)文件系統(tǒng)加以擴(kuò)充,在應(yīng)用文件中建立了許多輔助索引,形成倒排文件系統(tǒng)。但這并不能最終解決問(wèn)題。在20世紀(jì)60年代末,磁盤技術(shù)取得重要進(jìn)展,具有數(shù)百兆容量和快速存取的磁盤陸續(xù)進(jìn)入市場(chǎng), 成本也不高,為數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生提供了良好的物質(zhì)條件。 40多年來(lái)數(shù)據(jù)庫(kù)技術(shù)得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實(shí)用系統(tǒng)。并且,近年來(lái),隨著 WorldWideWeb(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,數(shù)據(jù)庫(kù)技術(shù)成為最熱門技術(shù)之一。 面向?qū)ο筌浖拈_(kāi)發(fā)技術(shù),也大大保障了軟件開(kāi)發(fā)的速度和效果。隨著計(jì)算機(jī)的普及,計(jì)算機(jī)等硬件價(jià)格也已經(jīng)不再是什么天文數(shù)字。 因此,不管是從技術(shù)上,還是經(jīng)濟(jì)上,設(shè)計(jì)和開(kāi)發(fā)一個(gè)倉(cāng)庫(kù)管理系統(tǒng)都已經(jīng)具有較好的可行性。5論文1.2研究現(xiàn)狀倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分, 它的內(nèi)容對(duì)于企業(yè)的管理者和倉(cāng)管人員來(lái)說(shuō)都至關(guān)重要,為企業(yè)減少人力物力,為倉(cāng)庫(kù)管理帶來(lái)方便,提高效益,倉(cāng)庫(kù)管理系統(tǒng)是針對(duì)企業(yè)倉(cāng)庫(kù)的商品貨物的經(jīng)常出入庫(kù)和查詢統(tǒng)計(jì)等方面工作而開(kāi)發(fā)的管理軟件。倉(cāng)庫(kù)管理系統(tǒng)是用于完成眾多倉(cāng)庫(kù)管理業(yè)務(wù)所面臨的日常工作。根據(jù)用戶的要求,實(shí)現(xiàn)倉(cāng)庫(kù)的商品管理、出入庫(kù)管理、查詢管理及用戶管理等功能。用戶通過(guò)相應(yīng)的模塊,對(duì)倉(cāng)庫(kù)里的商品的基本情況進(jìn)行更新、刪除和查詢,對(duì)商品的出庫(kù)和入庫(kù)進(jìn)行管理,對(duì)出入庫(kù)明細(xì)進(jìn)行查詢,對(duì)使用該系統(tǒng)的用戶進(jìn)行更新、刪除和查詢,對(duì)庫(kù)存數(shù)量進(jìn)行查詢,用戶通過(guò)簡(jiǎn)單的操作即可輕松的管理倉(cāng)庫(kù)。倉(cāng)庫(kù)管理系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)企業(yè)物資設(shè)備管理的系統(tǒng)化、 規(guī)范化和自動(dòng)化,從而達(dá)到提高倉(cāng)庫(kù)管理效率的目的。簡(jiǎn)潔一致,操作便利圖形化界面,完備的物資管理功能,本系統(tǒng)基于好用、易用、美觀的原則設(shè)計(jì)了統(tǒng)一的人機(jī)界面。隨著我國(guó)社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的確立和發(fā)展, 商業(yè)流通領(lǐng)域進(jìn)入了一個(gè)空前發(fā)展階段,面臨商界的激烈競(jìng)爭(zhēng),只有在多變的貨品和顧客中挖掘并掌握市場(chǎng)需求, 企業(yè)才能在競(jìng)爭(zhēng)中生存和發(fā)展, 如果能夠選擇一個(gè)好管理系統(tǒng), 把大量繁雜、看似毫無(wú)關(guān)系的數(shù)據(jù),有機(jī)地結(jié)合起來(lái),就能夠?yàn)榈贸稣_的決策做出事半功倍的效果。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。6論文1.3研究方法本文通過(guò)對(duì)企業(yè)的倉(cāng)庫(kù)管理現(xiàn)狀及發(fā)展趨勢(shì)分析,提出了基于 B/S和MES的倉(cāng)庫(kù)管理系統(tǒng)方案。通過(guò)理解B/S三層體系結(jié)構(gòu)及有關(guān)方面的知識(shí), 實(shí)現(xiàn)系統(tǒng)的總體架構(gòu)進(jìn)行分析與設(shè)計(jì),通過(guò)系統(tǒng)總體架構(gòu)細(xì)分各個(gè)功能模塊, 并對(duì)倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)過(guò)(1)簡(jiǎn)述闡要倉(cāng)庫(kù)管理的研究背景,國(guó)內(nèi)外的現(xiàn)狀及發(fā)展趨勢(shì),存在的問(wèn)題,以及倉(cāng)庫(kù)管理的重要性及意義。(2)通過(guò)分析倉(cāng)庫(kù)管理系統(tǒng),確定系統(tǒng)的各功能模塊。(3)簡(jiǎn)要了解B/S模式的三層體系結(jié)構(gòu)、特點(diǎn)及工作原理,通過(guò)面向?qū)ο蠹夹g(shù)進(jìn)行系統(tǒng)分析、建模,實(shí)現(xiàn)系統(tǒng)總體架構(gòu)設(shè)計(jì)和功能模塊詳細(xì)設(shè)計(jì)的工作,確定實(shí)現(xiàn)倉(cāng)庫(kù)管理系統(tǒng)的策略和目標(biāo),以及類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)操作的方法,并最終用Java語(yǔ)言實(shí)現(xiàn)系統(tǒng),使開(kāi)發(fā)的倉(cāng)庫(kù)管理系統(tǒng)能夠滿足用戶需求。(4)根據(jù)倉(cāng)庫(kù)管理系統(tǒng)功能模塊,用面向?qū)ο蟮募夹g(shù)建立數(shù)據(jù)庫(kù)模型。(5)采用面向?qū)ο蟮募夹g(shù)進(jìn)行界面設(shè)計(jì)及有關(guān)代碼的開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中對(duì)系統(tǒng)進(jìn)行調(diào)試,以保證開(kāi)發(fā)系統(tǒng)的質(zhì)量。(6)根據(jù)開(kāi)發(fā)的系統(tǒng)進(jìn)行總結(jié),為以后進(jìn)一步研究及開(kāi)發(fā)做準(zhǔn)備。7論文第2章 開(kāi)發(fā)環(huán)境介紹2.1MYECLIPSEMyEclipse,是在eclipse基礎(chǔ)上加上自己的插件開(kāi)發(fā)而成的功能強(qiáng)大的企業(yè)級(jí)集成開(kāi)發(fā)環(huán)境,主要用于Java、JavaEE以及移動(dòng)應(yīng)用的開(kāi)發(fā)。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持相當(dāng)不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持 HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā) Java,J2EE的 Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。8論文2.2JSPJSP全名為JavaServerPages,中文名叫java服務(wù)器頁(yè)面,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),它是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件,后綴名為(*.jsp)。用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。它實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè) HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動(dòng)態(tài)頁(yè)面技術(shù),它的主要目的是將表示邏輯從 Servlet中分離出來(lái)。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要 JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。9論文2.3MYSQL簡(jiǎn)介MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開(kāi)發(fā),目前屬于Oracle公司。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。 MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。由于其社區(qū)版的性能卓越,搭配 PHP和Apache可組成良好的開(kāi)發(fā)環(huán)境。與其他的大型數(shù)據(jù)庫(kù)例如 Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,但是這絲毫也沒(méi)有減少它受歡迎的程度。 對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),PHP/Perl/Python作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是免費(fèi)或開(kāi)放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開(kāi)人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng),被業(yè)界稱為“LAMP“或“LNMP”組合。1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測(cè)試, 保證源代碼的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。3.為多種編程語(yǔ)言提供了 API。這些編程語(yǔ)言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等。4.支持多線程,充分利用 CPU資源。5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中。7.提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。8.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。10.支持大型的數(shù)據(jù)庫(kù)??梢蕴幚?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。10論文2.4MVC模式MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來(lái)用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。MVC開(kāi)始是存在于桌面程序中的,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型-視圖-控制器(MVC)是XeroxPARC在二十世紀(jì)八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,已被廣泛使用。后來(lái)被推薦為 Oracle旗下Sun公司JavaEE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用 ColdFusion和PHP的開(kāi)發(fā)者的歡迎。模型-視圖-控制器模式是一個(gè)有用的工具箱, 它有很多好處,但也有一些缺點(diǎn)。11論文第3章 系統(tǒng)需求分析3.1可行性分析在實(shí)施一個(gè)項(xiàng)目之前,首先要對(duì)將要實(shí)施的項(xiàng)目進(jìn)行可行性分析,確定項(xiàng)目是否值得進(jìn)行。并不是所有的問(wèn)題都有簡(jiǎn)單明顯的解決辦法,事實(shí)上,許多問(wèn)題不可能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問(wèn)題沒(méi)有可行解的話,那么花費(fèi)在這項(xiàng)工程上的任何時(shí)間、資源、人力和經(jīng)費(fèi)都是浪費(fèi)的??尚行苑治龅哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題能否解決??尚行匝芯康哪康牟皇墙鉀Q問(wèn)題,而是確定問(wèn)題是否值得去解。如果是正確的就加以肯定??尚行苑治龅膶?shí)現(xiàn),不能靠主觀猜想,只能客觀分析達(dá)到這個(gè)目的,所以就必須分析幾種方法解決可能的弊端,從而判斷原定的系統(tǒng)目標(biāo)和規(guī)模是否實(shí)現(xiàn),系統(tǒng)完成后所能帶來(lái)的價(jià)值是否大于開(kāi)發(fā)這個(gè)系統(tǒng)的投資價(jià)值。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大的壓縮簡(jiǎn)化了系統(tǒng)分析和設(shè)計(jì)的過(guò)程。我們應(yīng)該給出系統(tǒng)的邏輯模型,然后從系統(tǒng)邏輯模型出發(fā),尋找可供選擇的解法,研究每一種解法的可行性。一般說(shuō)來(lái),應(yīng)從技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性等方面進(jìn)行研究。管理可行性:信息化的倉(cāng)儲(chǔ)管理在如今的信息時(shí)代是大勢(shì)所趨, 而且隨著現(xiàn)代管理理念、方法和途徑的發(fā)展,倉(cāng)儲(chǔ)信息化管理手段日漸成熟,也必定會(huì)突飛猛進(jìn),所以從長(zhǎng)遠(yuǎn)利益出發(fā),主管領(lǐng)導(dǎo)對(duì)該項(xiàng)目的開(kāi)發(fā)與實(shí)施會(huì)大力支持。技術(shù)可行性:本系統(tǒng)數(shù)據(jù)庫(kù)選用 MYSQL,開(kāi)發(fā)IDE選擇MyEclipse10,開(kāi)發(fā)框架采用 JSP+Servlet+JavaBean,技術(shù)成熟,系統(tǒng)穩(wěn)定。經(jīng)濟(jì)可行性:采用倉(cāng)儲(chǔ)管理信息系統(tǒng)可取代原系統(tǒng)的單據(jù)手工傳遞工作, 減少人工開(kāi)支,節(jié)省資金,并且可大大提高信息量的取得,縮短信息處理周期,規(guī)劃企業(yè)資源,使企業(yè)管理質(zhì)量更上一個(gè)臺(tái)階。營(yíng)運(yùn)可行性:本系統(tǒng)操作簡(jiǎn)單,易于理解,只需通過(guò)簡(jiǎn)單熟悉,上手較快,庫(kù)管人員均能進(jìn)行操作,營(yíng)運(yùn)環(huán)境要求低。面對(duì)于系統(tǒng)設(shè)計(jì)還應(yīng)該以“標(biāo)準(zhǔn)性、安全性、兼容性、高效性、保密性、可維護(hù)性”為標(biāo)準(zhǔn),在著眼于當(dāng)前實(shí)用的基礎(chǔ)上,為將來(lái)系統(tǒng)的擴(kuò)展,升級(jí)留有余地。軟件的開(kāi)發(fā)應(yīng)能在較長(zhǎng)時(shí)間內(nèi)滿足學(xué)校的發(fā)展需要。通過(guò)可行性分析研究,認(rèn)為系統(tǒng)的開(kāi)發(fā)方案切實(shí)可行,可進(jìn)行開(kāi)發(fā)。12論文3.2業(yè)務(wù)流程分析系統(tǒng)允許管理員和普通用戶兩種角色進(jìn)行登錄,管理員是整個(gè)系統(tǒng)的管理者,通過(guò)他的行為來(lái)管理系統(tǒng)的各項(xiàng)資源,包括分類,貨物,員工,客戶,出庫(kù),入庫(kù),同時(shí),管理員也可以進(jìn)行人員管理,角色管理,權(quán)限管理。普通用戶是系統(tǒng)的參與者,他可以修改個(gè)人信息,也可以進(jìn)行一些簡(jiǎn)單模塊的管理。管理員和普通用戶可以增刪查改貨物的分類,之后可以增刪查改貨物,每項(xiàng)貨物必須屬于一個(gè)貨物分類,還可以增刪查改員工和客戶,入庫(kù)操作時(shí),通過(guò)已有的客戶和已有的貨物創(chuàng)建入庫(kù)指令,出庫(kù)時(shí)根據(jù)庫(kù)存和客戶創(chuàng)造出庫(kù)指令,如果庫(kù)存足夠,則出庫(kù)成功,否則出庫(kù)失敗。進(jìn)行每一項(xiàng)操作,系統(tǒng)都會(huì)記錄在日志管理中,所有人均可查看。同時(shí),管理員還單獨(dú)有用戶管理,角色管理,權(quán)限管理這三個(gè)模塊的權(quán)限。權(quán)限管理用于規(guī)定系統(tǒng)中所有的權(quán)限,角色管理指定系統(tǒng)所有的角色,同時(shí)為各種角色配屬權(quán)限,用戶管理用于管理系統(tǒng)的使用者。13論文第4章 系統(tǒng)實(shí)現(xiàn)4.1功能模塊后臺(tái)管理功能模塊1.1密碼修改管理員登錄后點(diǎn)擊密碼修改模塊,在舊密碼處輸入現(xiàn)在的登錄密碼,在新密碼及確認(rèn)密碼處輸入修改后的密碼點(diǎn)擊修改就會(huì)出現(xiàn)修改成功的對(duì)話框,下次登錄就是用修改后的密碼登錄了。1.2貨物分類管理點(diǎn)擊貨物分類管理后可以對(duì)分類信息進(jìn)行審核,發(fā)現(xiàn)需要修改刪除的管理員可以進(jìn)行相應(yīng)的操作,當(dāng)有新的貨物分類時(shí)需要增加時(shí)點(diǎn)擊界面上的添加分類可以進(jìn)行相應(yīng)的增加。1.3貨物信息管理管理員可以查看,修改,刪除現(xiàn)有的貨物,每次增加貨物時(shí),也相當(dāng)于在倉(cāng)庫(kù)中為這個(gè)貨物注冊(cè)一個(gè)位置。1.4員工信息管理點(diǎn)擊員工管理后可以對(duì)員工信息進(jìn)行審核,發(fā)現(xiàn)需要修改刪除的管理員可以進(jìn)行相應(yīng)的操作,當(dāng)有新的員工時(shí)需要增加時(shí)點(diǎn)擊界面上的添加員工可以進(jìn)行相應(yīng)的增加。1.5客戶信息管理點(diǎn)擊客戶管理后可以對(duì)客戶信息進(jìn)行審核, 發(fā)現(xiàn)需要修改刪除的管理員可以進(jìn)行相應(yīng)的操作,當(dāng)有新的客戶時(shí)需要增加時(shí)點(diǎn)擊界面上的添加客戶可以進(jìn)行相應(yīng)的增加。1.6庫(kù)存管理點(diǎn)擊庫(kù)存管理后可以對(duì)庫(kù)存信息進(jìn)行審核, 點(diǎn)擊入庫(kù)按鈕可以進(jìn)行入庫(kù)操作, 入庫(kù)商品必須是系統(tǒng)中已注冊(cè)的貨物, 入庫(kù)成功后庫(kù)存中會(huì)增加相應(yīng)數(shù)目, 點(diǎn)擊出庫(kù)按鈕進(jìn)行出庫(kù)操作,如果庫(kù)存不足會(huì)提示并出庫(kù)失敗,出庫(kù)成功庫(kù)存會(huì)減去相應(yīng)數(shù)目。1.7日志管理用戶所有的操作系統(tǒng)均會(huì)自動(dòng)記錄,通過(guò)日志管理可查看所有用戶的操作和時(shí)間。14論文1.8權(quán)限管理用戶可對(duì)權(quán)限進(jìn)行增刪查改,通過(guò)對(duì)權(quán)限的操作可以控制系統(tǒng)左側(cè)功能按鈕的數(shù)目。1.9角色管理用戶可對(duì)角色進(jìn)行增刪查改,不同的角色登錄系統(tǒng)時(shí)的功能權(quán)限不同。1.10用戶信息管理點(diǎn)擊用戶管理后可以對(duì)用戶信息進(jìn)行審核,發(fā)現(xiàn)需要修改刪除的管理員可以進(jìn)行相應(yīng)的操作,當(dāng)有新的用戶時(shí)需要增加時(shí)點(diǎn)擊界面上的添加用戶可以進(jìn)行相應(yīng)的增加,每增加一個(gè)用戶相當(dāng)于為系統(tǒng)添加一個(gè)賬戶。4.2系統(tǒng)用例圖15論文4.3數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù), 是信息系統(tǒng)開(kāi)發(fā)和建設(shè)中的核心技術(shù),具體說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。大型數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā)是一項(xiàng)龐大的工程, 是涉及多學(xué)科的綜合性技術(shù)。其開(kāi)發(fā)周期長(zhǎng)、耗資多、失敗的風(fēng)險(xiǎn)也大。必須把軟件工程的原理和方法應(yīng)用到數(shù)據(jù)庫(kù)建設(shè)中來(lái)。對(duì)于從事數(shù)據(jù)庫(kù)設(shè)計(jì)的專業(yè)人員來(lái)講, 應(yīng)該具備多方面的技術(shù)和知識(shí)。 主要有:1.?dāng)?shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)計(jì)論述;2.計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的方法和技術(shù);3.軟件工程的原理和方法;4.應(yīng)用領(lǐng)域的知識(shí)。在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫(kù),通過(guò)決策機(jī)構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷了三個(gè)領(lǐng)域:信息世界,數(shù)據(jù)世界,現(xiàn)實(shí)世界?,F(xiàn)實(shí)世界的事物反映到人的頭腦中,人的大腦對(duì)它有個(gè)認(rèn)識(shí)過(guò)程,經(jīng)過(guò)分析(選擇、命名、分類等)進(jìn)入信息世界。這些信息再進(jìn)一步加工、編碼,然后進(jìn)數(shù)據(jù)世界,而軟件系統(tǒng)的開(kāi)發(fā)工作需要考慮這兩個(gè)方面的問(wèn)題,也就是要考慮系統(tǒng)開(kāi)發(fā)所需要的數(shù)據(jù),以及如何對(duì)這些數(shù)據(jù)進(jìn)行操作。這兩個(gè)問(wèn)題貫穿了整個(gè)軟件系統(tǒng)的開(kāi)發(fā)過(guò)程,這也就是數(shù)據(jù)庫(kù)的設(shè)計(jì)問(wèn)題,軟件設(shè)計(jì)的一個(gè)核心數(shù)據(jù)庫(kù)可以被定義為是在計(jì)算機(jī)存儲(chǔ)設(shè)備上合理存放的,相互關(guān)聯(lián)的數(shù)據(jù)集合,這種集合具有以下特點(diǎn):·以一定的數(shù)據(jù)模型來(lái)組織數(shù)據(jù),數(shù)據(jù)盡可能的不重復(fù)?!ひ宰顑?yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù)?!て鋽?shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序?!?duì)數(shù)據(jù)的定義、操縱和控制,由數(shù)據(jù)庫(kù)管理信息系統(tǒng)統(tǒng)一管理。數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)是針對(duì)一個(gè)給定的應(yīng)用環(huán)境,在給定的硬件環(huán)境、操作系統(tǒng)、以及數(shù)據(jù)庫(kù)管理信息系統(tǒng)等軟件環(huán)境下,創(chuàng)建一個(gè)性能良好的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能有效地收集、存儲(chǔ)、操作和管理數(shù)據(jù),滿足用戶地各類16論文需求。數(shù)據(jù)庫(kù)設(shè)計(jì)通常是在一個(gè)通用的DBMS支持下,即利用現(xiàn)成的DBMS作為開(kāi)發(fā)的基礎(chǔ)。概念設(shè)計(jì)在系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中 ,先要對(duì)系統(tǒng)分析得到的數(shù)據(jù)詞典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,分析數(shù)據(jù)存儲(chǔ)之間的關(guān)系,然后得出系統(tǒng)關(guān)系模式。邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E-R圖,轉(zhuǎn)換為與選用的具體機(jī)器上的數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品所支持得逞數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。根據(jù)數(shù)據(jù)庫(kù)中的幾個(gè)表分別繪制數(shù)據(jù)庫(kù)的實(shí)體圖。管理員的實(shí)體圖如圖客戶的實(shí)體圖如圖17論文商品實(shí)體圖如圖18論文4.3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有MYSQL,SQLServer,Oracle等。我采用了MYSQL數(shù)據(jù)庫(kù)管理系統(tǒng)。主要數(shù)據(jù)庫(kù)表詳細(xì)信息如下:admin(管理員表)主要用于保存管理員的基本信息,該表的結(jié)構(gòu)如表所示列名說(shuō)明類型(備注adminid管理員IDInt不允許空adminnumber管理員編號(hào)Varchar(20)不允許空password密碼Varchar(20)不允許空Adminname管理員姓名Varchar(20)不允許空roleid角色I(xiàn)DInt不允許空goods(商品表)主要用于記錄商品信息,該表的結(jié)構(gòu)如表所示。字段說(shuō)明類型(長(zhǎng)度)備注goodstididint主鍵typeid分類int不允許空goodsname名稱varchar(50)不允許空price價(jià)格double不允許空remark備注varchar(50)不允許空status狀態(tài)int不允許空19論文第5章 詳細(xì)設(shè)計(jì)5.1管理員登陸用戶登錄實(shí)現(xiàn)的過(guò)程主要有幾個(gè)步驟,首先對(duì)用戶輸入的信息進(jìn)行保存,首先判斷驗(yàn)證碼是否相同,如果相同再利用從數(shù)據(jù)庫(kù)中獲取的數(shù)據(jù)進(jìn)行檢索看是不是有用戶輸入的信息在數(shù)據(jù)庫(kù)中是否存在如果存在就返回正確的結(jié)果,如果不正確就返回錯(cuò)誤的結(jié)果。如果結(jié)果數(shù)據(jù)庫(kù)中存在就顯示登錄成功,如果數(shù)據(jù)庫(kù)不存在就顯示失敗請(qǐng)重新登錄。登錄頁(yè)面的頁(yè)面效果如下:用戶登錄的主要代碼如下:publicStringgetCheckCode(){intwidth=90;intheight=26;BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);response().setContentType("image/jpeg");OutputStreamout=null;try{out=response().getOutputStream();}catch(IOExceptione1){e1.printStackTrace();}Graphicsgs=image.getGraphics();gs.setColor(Color.white);gs.fillRect(0,0,width,height);gs.setFont(newFont("黑體",Font.BOLD,27));Randomrandom=newRandom();for(inti=0;i<10;i++){gs.setColor(newColor(random.nextInt(255),random.nextInt(255),random.nextInt(255)));20論文gs.drawLine(random.nextInt(90),random.nextInt(30),random.nextInt(90),random.nextInt(30));}StringBuildersub=newStringBuilder();for(inti=0;i<4;i++){gs.setColor(newColor(random.nextInt(255),random.nextInt(255),random.nextInt(255)));Stringstr=String.valueOf(random.nextInt(10));gs.drawString(str,15*(i+1),25);sub.append(str);}session().setAttribute("checkCode",sub.toString());try{ImageIO.write(image,"jpeg",out);}catch(IOExceptione){e.printStackTrace();}finally{if(out!=null){try{out.close();}catch(IOExceptione){e.printStackTrace();}}}returnnull;}publicStringvalidateCheckCode(){StringcheckCode=(String)session().getAttribute("checkCode");Stringcaptcha=request().getParameter("captcha");if(checkCode.equals(captcha)){return"true";}else{message="驗(yàn)證碼錯(cuò)誤!";21論文return"false";}}publicStringvalidateSpecialist(){SpecialistServicespecialistService=newSpecialistService();Specialistspe=specialistService.validateSpecialistService(specialist);if(spe!=null){session().setAttribute("specialist",spe);LogServicelogService=newLogService();logService.addLogService("登錄",getSpecialistId());return"login";}else{request().setAttribute("message","用戶名或密碼錯(cuò)誤!");return"error";}}分頁(yè)器各種頁(yè)面上的分頁(yè)主要代碼如下:packagecom.hygj.util;importjava.util.List;publicclassPager<E>{privateintpageIndex;privateintpageSize;privateintpageOffset;privateinttotalRecord;privateinttotalPage;privateList<E>datas;privateStringstyle;publicintgetPageIndex(){returnpageIndex;}22論文publicvoidsetPageIndex(intpageIndex){this.pageIndex=pageIndex;}publicintgetPageSize(){returnpageSize;}publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;}publicintgetTotalRecord(){returntotalRecord;}publicvoidsetTotalRecord(inttotalRecord){this.totalRecord=totalRecord;}publicintgetTotalPage(){return(int)Math.ceil((double)totalRecord/pageSize);}publicvoidsetTotalPage(inttotalPage){this.totalPage=totalPage;}publicList<E>getDatas(){returndatas;}publicvoidsetDatas(List<E>datas){this.datas=datas;}publicintgetPageOffset(){returnpageOffset;}publicvoidsetPageOffset(intpageOffset){this.pageOffset=pageOffset;}publicStringgetStyle(){if(totalRecord==0){23論文StringBuildersub=newStringBuilder();sub.append("<tableborder=0cellpadding=0cellspacing=0id=\"paging-table\">");sub.append("<tr>");sub.append("<td><imgclass=\"far-left\"></td>");sub.append("<td><imgclass=\"left\"></td>");sub.append("<td>     Page0/0     </td>");sub.append("<td><imgclass=\"right\"></td>");sub.append("<td><imgclass=\"far-right\"></td>");sub.append("<td>");sub.append("</td>");sub.append("</tr>");sub.append("</table>");returnsub.toString();}else{StringBuildersub=newStringBuilder();sub.append("<tableborder=0cellpadding=0cellspacing=0id=\"paging-table\">");sub.append("<tr>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value=1;document.forms[0].submit();><imgclass=\"far-left\"></a></td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+(this.getPageIndex()==1?1:this.getPageIndex()-1)+";document.forms[0].submit();><imgclass=\"left\"></a></td>");sub.append("<td>     Page"+(this.getPageIndex())+"/"+this.getTotalPage()+"     </td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+(this.getPageIndex()==thi24論文s.getTotalPage()?this.getTotalPage():this.getPageIndex()+1)+";document.forms[0].submit();><imgclass=\"right\"></a></td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+this.getTotalPage()+";document.forms[0].submit();><imgclass=\"far-right\"></a></td>");sub.append("<td>");sub.append("<selectonchange=\"javascript:document.getElementById('pageIndex').value=this.value;document.forms[0].submit();\">");for(inti=1;i<=this.getTotalPage();i++){sub.append("<option"+(this.getPageIndex()==i?"selected='selected'":"")+"value="+i+">第"+i+"頁(yè)</option>");}sub.append("</select>");sub.append("</td>");sub.append("</tr>");sub.append("</table>");returnsub.toString();}}publicStringgetSecondStyle(){if(totalRecord==0){StringBuildersub=newStringBuilder();sub.append("<tableborder=0cellpadding=0cellspacing=0id=\"paging-table\">");sub.append("<tr>");sub.append("<td><imgclass=\"far-left\"></td>");sub.append("<td><imgclass=\"left\"></td>");sub.append("<td>     Page0/0     </td>");sub.append("<td><imgclass=\"right\"></td>");sub.append("<td><imgclass=\"far-right\"></td>");sub.append("<td>");sub.append("</td>");25論文sub.append("</tr>");sub.append("</table>");returnsub.toString();}else{StringBuildersub=newStringBuilder();sub.append("<tableborder=0cellpadding=0cellspacing=0id=\"paging-table\">");sub.append("<tr>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value=1;document.forms[1].submit();><imgclass=\"far-left\"></a></td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+(this.getPageIndex()==1?1:this.getPageIndex()-1)+";document.forms[1].submit();><imgclass=\"left\"></a></td>");sub.append("<td>     Page"+(this.getPageIndex())+"/"+this.getTotalPage()+"     </td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+(this.getPageIndex()==this.getTotalPage()?this.getTotalPage():this.getPageIndex()+1)+";document.forms[1].submit();><imgclass=\"right\"></a></td>");sub.append("<td><ahref=javascript:document.getElementById('pageIndex').value="+this.getTotalPage()+";document.forms[1].submit();><imgclass=\"far-right\"></a></td>");sub.append("<td>");sub.append("<selectonchange=\"javascript:document.getElementById('pageIndex').value=this.value;document.forms[1].submit();\">");for(inti=1;i<=this.getTotalPage();i++){sub.append("<option"+(this.getPageIndex()==i?"selected='selected'":"")+"value="+i+">第"+i+"頁(yè)</option>");}sub.append("</select>");26論文sub.append("</td>");sub.append("</tr>");sub.append("</table>");returnsub.toString();}}}Mybatis框架sql統(tǒng)一寫在xml中用戶sql語(yǔ)句的實(shí)現(xiàn)效果如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-////DTDMapper3.0//EN""/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.hygj.mapper.SpecialistMapper"><select id="validateSpecialist" parameterType="Specialist"resultType="Specialist">select specialistid,specialistname,password,roleidfrom specialist wherespecialistname=#{specialistName}andpassword=#{password}</select><updateid="deleteSpecialistByRoleId"parameterType="int">updatespecialistsetstatus=0whereroleid=#{roleId}</update><selectid="findSpecialistList"parameterType="Map"resultType="Specialist">selects.specialistidspecialistid,s.specialistnamespecialistname,s.roleidroleid,r.rolenamerolename,s.ageage,s.sexidsexidfromspecialists,rolerwheres.roleid=r.roleidandstatus=1<iftest="specialistName!=null">ands.specialistnamelike#{specialistName}</if><iftest="roleId!=null">ands.roleid=#{roleId}</if><iftest="sexId!=null">ands.sexid=#{sexId}</if>orderbys.${sort}${order}limit#{pageOffset},#{pageSize}</select><selectid="countSpecialist"parameterType="Map"resultType="int">selectcount(s.specialistid)fromspecialists,rolerwheres.roleid=r.roleidandstatus=127論文<iftest="specialistName!=null">ands.specialistnamelike#{specialistName}</if><iftest="roleId!=null">ands.roleid=#{roleId}</if><iftest="sexId!=null">ands.sexid=#{sexId}</if></select><insertid="addSpecialist"parameterType="Specialist">insertintospecialist(specialistname,password,roleid,age,sexid,mobilephone,qq,address,status)values(#{specialistName},#{specialistName},#{roleId},#{age},#{sexId},#{mobilePhone},#{qq},#{address},1)</insert><updateid="deleteSpecialist"parameterType="int">updatespecialistsetstatus=0wherespecialistid=#{specialistId}</update><selectid="getSpecialist"parameterType="int"resultType="Specialist">selects.specialistidspecialistid,s.specialistnamespecialistname,r.rolenamerolename,s.ageage,s.sexidsexid,s.mobilephonemobilephone,s.qqqq,s.addressaddressfromspecialists,rolerwheres.specialistid=#{specialistId}ands.roleid=r.roleid</select><updateid="updateSpecialist"parameterType="Specialist">updatespecialistsetspecialistname=#{specialistName},roleid=#{roleId},age=#{age},sexid=#{sexId},mobilephone=#{mobilePhone},qq=#{qq},address=#{address}wherespecialistid=#{specialistId}</update><updateid="changePassword"parameterType="Specialist">updatespecialistsetpassword=#{password}wherespecialistId=#{specialistId}</update><deleteid="roll">deletefromspecialist</delete><updateid="personalUpdate"parameterType="Specialist">updatespecialistsetspecialistname=#{specialistName},age=#{age},sexid=#{sexId},mobilephone=#{mobilePhone},qq=#{qq},address=#{address}wherespecialistid=#{specialistId}28論文</update><selectid="getLabourSpecialistList"resultType="Specialist">selectspecialistid,specialistnamefromspecialistwhereroleid=2andstatus=1</select><selectid="getSpecialistNameById"parameterType="int"resultType="String">selectspecialistnamefromspecialistwherespecialistid=#{specialistId}</select><selectid="getManagerList"resultType="Specialist">selectspecialistid,specialistnamefromspecialistwherestatus=1androleid=1</select></mapper>第6章 系統(tǒng)測(cè)試6.1軟件測(cè)試的定義測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(fā)現(xiàn)所開(kāi)發(fā)程序的錯(cuò)誤。系統(tǒng)測(cè)試完整的定義應(yīng)該是:在精心控制的系統(tǒng)環(huán)境下,采用相應(yīng)的技術(shù)手段,利用一組事先構(gòu)造好的測(cè)試實(shí)例(TestCases)執(zhí)行程序以發(fā)現(xiàn)程序中存在的錯(cuò)誤,并確認(rèn)系統(tǒng)功能、性能符合需求的一個(gè)綜合過(guò)程。系統(tǒng)的開(kāi)發(fā)過(guò)程中,面對(duì)著人員、技術(shù)、環(huán)境等一系列錯(cuò)綜復(fù)雜的問(wèn)題,開(kāi)發(fā)人員對(duì)問(wèn)題的認(rèn)識(shí)與實(shí)際狀況可能會(huì)存在一定的差異,項(xiàng)目組相關(guān)人員之間的交流和協(xié)調(diào)也不可能完美無(wú)缺,因此,在軟件生存周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生差錯(cuò)。我們力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格的技術(shù)審查,盡可能早地發(fā)現(xiàn)并糾正差錯(cuò)。但是,經(jīng)驗(yàn)表明,審查并不能發(fā)現(xiàn)所有差錯(cuò),而前一階段的差錯(cuò)還可能導(dǎo)致后續(xù)階段更多的差錯(cuò)。如果在軟件投入生產(chǎn)性運(yùn)行之前,沒(méi)有發(fā)現(xiàn)并及時(shí)糾正存在的大部分差錯(cuò),則這些差錯(cuò)遲早會(huì)在運(yùn)行過(guò)程中暴露出來(lái)。那時(shí)不僅改正這些錯(cuò)誤的代價(jià)更高,而且往往會(huì)造成非常嚴(yán)重的后果。對(duì)于軟件開(kāi)發(fā)機(jī)構(gòu)來(lái)說(shuō),將整個(gè)項(xiàng)目工作量的40%用于軟件測(cè)試的情況并不少見(jiàn)。軟件測(cè)試的工作量與系統(tǒng)的可靠性要求成正比關(guān)系。極端情況下,測(cè)試一個(gè)與人類安全有密切關(guān)系的軟件(如航空/航天飛行控制、核反應(yīng)推監(jiān)控、導(dǎo)彈控制等)的費(fèi)用可能是軟件開(kāi)發(fā)總費(fèi)用的3到5倍!軟件測(cè)試的目標(biāo)是:以最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷。如對(duì)軟件實(shí)施了嚴(yán)格、規(guī)范的測(cè)試,就能夠發(fā)現(xiàn)其中大部分的錯(cuò)誤。軟件測(cè)試能夠確認(rèn)29論文軟件實(shí)現(xiàn)的功能和性能與用戶需求說(shuō)明的一致性。軟件測(cè)試還能收集到足夠的測(cè)試結(jié)果為軟件可靠性評(píng)價(jià)提供依據(jù)。6.2軟件測(cè)試的過(guò)程上節(jié)中介紹了軟件測(cè)試的概念以及方法,下面就要對(duì)我所做的程序進(jìn)行一下實(shí)際的測(cè)試,來(lái)驗(yàn)證一下網(wǎng)站系統(tǒng)的安全性、可靠性以及穩(wěn)定性。為了保證測(cè)試的可靠性,還找來(lái)了其它非開(kāi)發(fā)人員來(lái)協(xié)助進(jìn)行測(cè)試。因?yàn)檫@個(gè)網(wǎng)站系統(tǒng)是自己開(kāi)發(fā)的,自己所做的測(cè)試難免會(huì)有遺漏之處,而找來(lái)其他的人來(lái)進(jìn)行測(cè)試會(huì)更有效的達(dá)到測(cè)試的效果。測(cè)試主要按照下面的順序進(jìn)行。6.3系統(tǒng)不足由于時(shí)間倉(cāng)促在開(kāi)發(fā)系統(tǒng)中難免不會(huì)那面全面,所以系統(tǒng)中會(huì)存在一些不足。頁(yè)面不是很美觀,頁(yè)面美觀對(duì)一個(gè)網(wǎng)站有很重要的,給用戶提供一個(gè)友好美觀的頁(yè)面對(duì)一個(gè)系統(tǒng)來(lái)說(shuō)至關(guān)重要。系統(tǒng)對(duì)課程的描述熟悉比較少,應(yīng)該對(duì)課程信息進(jìn)行詳細(xì)的描述,例如增加課程周數(shù),課程授課老師等信息。對(duì)大型網(wǎng)站的開(kāi)發(fā)緩存技術(shù)的應(yīng)用很重要,當(dāng)網(wǎng)速慢或者同時(shí)在線用戶很多的時(shí)候要對(duì)系統(tǒng)使用緩存技術(shù)。系統(tǒng)體驗(yàn),后臺(tái)添加動(dòng)態(tài)信息的時(shí)候沒(méi)有做到頁(yè)面不刷新也就是Ajax技術(shù),如果能好的應(yīng)用Ajax技術(shù)對(duì)系統(tǒng)的用戶體驗(yàn)將有更大的提高。系統(tǒng)的搜索比較簡(jiǎn)單,有的只能按但條件進(jìn)行搜索,這樣對(duì)用查找對(duì)象的時(shí)候不會(huì)太準(zhǔn)確。所以系統(tǒng)還有很多欠缺的地方在今后的學(xué)習(xí)和開(kāi)發(fā)系統(tǒng)的時(shí)候要盡力對(duì)系統(tǒng)做好架構(gòu),能夠盡力開(kāi)發(fā)出一套成熟,快速高效的系統(tǒng)。30論文結(jié) 論歷時(shí)一個(gè)學(xué)期,我的畢業(yè)設(shè)計(jì)在線花店系統(tǒng)網(wǎng)站終于完成了。 在這段時(shí)間里,對(duì)進(jìn)行網(wǎng)站整體規(guī)劃、設(shè)計(jì)與實(shí)現(xiàn)有了比較深入細(xì)致地了解。 對(duì)于網(wǎng)頁(yè)設(shè)計(jì)方面,以前在做課程設(shè)計(jì)時(shí)接觸過(guò),所以在設(shè)計(jì)前,我在較短地時(shí)間里就很快地對(duì) MicrosoftVisualStudio做了較為詳細(xì)地復(fù)習(xí)和鞏固,這樣在設(shè)計(jì)時(shí),就能很快的上手進(jìn)行網(wǎng)站界面的設(shè)計(jì)了。在具體設(shè)計(jì)時(shí),考慮到網(wǎng)頁(yè)的整體美觀和整齊化,我使用表格、框架來(lái)規(guī)范頁(yè)面,收到了比較滿意的效果。在一個(gè)網(wǎng)站的設(shè)計(jì)中,數(shù)據(jù)庫(kù)的建立也是很重要的。這里我使用SQLServer2000來(lái)建數(shù)據(jù)庫(kù),因?yàn)樗僮髌饋?lái)相對(duì)比較簡(jiǎn)單。數(shù)據(jù)庫(kù)建好后就用ASP.NET腳本語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)與網(wǎng)頁(yè)的連接。網(wǎng)站后臺(tái)管理系統(tǒng)的基本功能都已經(jīng)實(shí)現(xiàn), 管理員可以對(duì)訪客信息以及給本購(gòu)物系統(tǒng)網(wǎng)站的留言等內(nèi)容進(jìn)行管理。遺憾的是由于時(shí)間、知識(shí)能力等各種因素的影響,本網(wǎng)站客戶端的小部分程序沒(méi)有完全實(shí)現(xiàn),惆悵何似!通過(guò)這次畢業(yè)設(shè)計(jì),我基本明確了一個(gè)網(wǎng)站系統(tǒng)從設(shè)計(jì)到開(kāi)發(fā)的大致流程和重點(diǎn)關(guān)注的方向,對(duì)各個(gè)主流設(shè)計(jì)軟件有了很深刻的了解。同時(shí)對(duì)ASP.NET技術(shù)也有了基本的了解和掌握,使我受益匪淺。在這幾個(gè)月中,從當(dāng)初的懵懵懂懂,到現(xiàn)在的完成,期間不僅是分析與設(shè)計(jì)的過(guò)程,更是學(xué)習(xí)的過(guò)程。畢業(yè)設(shè)計(jì)讓我將三年半的所學(xué)知識(shí)從書面的了解, 到認(rèn)真的復(fù)習(xí),再到設(shè)計(jì)過(guò)程中的應(yīng)用。經(jīng)過(guò)這三個(gè)階段,對(duì)于大學(xué)本科所學(xué)的知識(shí),不再是考試以前知道的,考后就會(huì)忘記,讓我真正的達(dá)到了融會(huì)貫通,當(dāng)然,計(jì)算機(jī)各個(gè)相關(guān)領(lǐng)域的知識(shí)是很淵博的,與其他專業(yè)相比知識(shí)的更新更是迅速的, 不可能在這三個(gè)月內(nèi)都全部掌握,但在設(shè)計(jì)的過(guò)程中,做到處處有知識(shí),處處皆推敲,這樣的過(guò)程才是真正的學(xué)習(xí)與提高。在這三個(gè)月中,所學(xué)的,所看的,所用的雖然都是以前的所學(xué),但為了考試而學(xué)和真正的應(yīng)用而學(xué)讓我的所得真正的有很大的不同。 實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),我們對(duì)于科學(xué),對(duì)于專業(yè)的態(tài)度就是要做到這一點(diǎn)。在設(shè)計(jì)過(guò)程中,有一點(diǎn)讓我體會(huì)很深,那就是在設(shè)計(jì)之前一定要有一個(gè)具體詳細(xì)的計(jì)劃,將設(shè)計(jì)任務(wù)分塊,明確在什么時(shí)間段完成什么任務(wù),然后有計(jì)劃有步驟的一步步完成畢業(yè)設(shè)計(jì),而不是開(kāi)始松散,到最后加班。這次的畢業(yè)設(shè)計(jì)是對(duì)我的一個(gè)很好的鍛煉,我所選的畢業(yè)設(shè)計(jì)題目是利用 ASP建立購(gòu)物系統(tǒng)網(wǎng)站系統(tǒng),在設(shè)計(jì)之前我甚至連 ASP是什么都不清楚,但是在我不斷的自主學(xué)習(xí)、請(qǐng)教老師以及和同學(xué)探討之后,我已基本熟悉和掌握了 ASP技術(shù),并最終將畢業(yè)設(shè)計(jì)按時(shí)完成。31論文致 謝本論文是在指導(dǎo)老師的精心指導(dǎo)下完成的。論文從選題、撰寫、修改到定稿,老師都給予了悉心的指導(dǎo)且傾注了大量的心血。并且我從老師身上學(xué)到了很多東西。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無(wú)論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到不少的提高,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。在此對(duì)老師表示最誠(chéng)摯的感謝!在畢業(yè)設(shè)計(jì)過(guò)程中,每當(dāng)我徘徊不前時(shí)許多老師和同學(xué)給了我很多的啟示和幫助,從而使我能順利進(jìn)行并完成我的畢業(yè)設(shè)計(jì)。在此我十分感謝這些給過(guò)我?guī)椭睦蠋熀屯瑢W(xué)。32論文參考文獻(xiàn)郭瑞軍,李杰,初曉璐.ASP數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例精粹.北京:電子工業(yè)出版社,2005.金秀,馮沃輝,施鴻翔.ASP動(dòng)態(tài)網(wǎng)頁(yè)培訓(xùn)教程.北京:冶金工業(yè)出版社,2000.宋彥浩.ASP建網(wǎng)技術(shù)源代碼公開(kāi).北京:中國(guó)水利水電出版社,2001.沈精虎.Dreamweaver中文版基礎(chǔ)培訓(xùn)教程.北京:人民郵電出版社,2002.張堪,候世國(guó),所玉君.Access2000中文版入門與提高.北京:清華大學(xué)出版社,1999.魏洪斌,周鑫,劉志江.DreamweaverMX網(wǎng)頁(yè)設(shè)計(jì).北京:清華大學(xué)出版社,2004.[7]李世杰.ActiveServerPages(ASP)3.0網(wǎng)頁(yè)設(shè)計(jì)手冊(cè).北京:清華大學(xué)出版社,1999奚江華.ASP.NET2.0開(kāi)發(fā)詳解.電子工業(yè)出版社,2006孫踐知.網(wǎng)絡(luò)程序設(shè)計(jì)案例教程—ASP.NET+SQLServer(C#實(shí)現(xiàn)).北京:清華大學(xué)出版社,2005.[10]陳偉編著.SQLServer2005數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程.北京:清華大學(xué)出版社,2007朱玉超、鞠艷、王代勇編著.ASP.NET項(xiàng)目開(kāi)發(fā)教程.北京:電子工業(yè)出版社,2005ChristianWenz.ProgrammingASP.NETAJAX.南京:東南大學(xué)出版社,2005.ALZabir,Omar.BuildingaWeb2.0PortalwithASP.NET3.5.南京:東南大學(xué)出版社,2005.BenfengChen,VincentY.Shen.TransformingWebPagestoBecomeStandard-CompliantthroughReverseEngineering.ACMNewYork,NY,USA,200633論文基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論