




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE47哈爾濱工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)摘要隨著現(xiàn)代工業(yè)的發(fā)展,計(jì)算機(jī)信息管理系統(tǒng)越來(lái)越受到企業(yè)的重視。庫(kù)存管理系統(tǒng)是一個(gè)企事業(yè)單位不可缺少的一部分,對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都是至關(guān)重要的,因此,庫(kù)存管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂焖俚牟樵兪侄巍L貏e是隨著企業(yè)規(guī)模的不斷擴(kuò)大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會(huì)不斷地更新,有關(guān)產(chǎn)品的各種信息量也會(huì)成倍增長(zhǎng)。面對(duì)龐大的產(chǎn)品信息量,如何有效地管理庫(kù)存產(chǎn)品,及時(shí)反饋庫(kù)存管理的相關(guān)信息,是確保企業(yè)正常運(yùn)行的必要手段,也是企業(yè)物流管理中不可或缺的一部分。系統(tǒng)設(shè)計(jì)基于B/S架構(gòu),采用MyEclipse作為開發(fā)工具,后臺(tái)數(shù)據(jù)庫(kù)采用Mysql數(shù)據(jù)庫(kù)設(shè)計(jì)。本系統(tǒng)采用Struts、Hibernate二大主流框架開發(fā)的。關(guān)鍵詞庫(kù)存管理;B/S;Mysql;Struts;HibernateAbstractWiththedevelopmentofmodernindustry,theinformationmanagementsystemofthecomputerisbeingpaidattentiontobyenterprises.Inventorymanagementsystemisapartofenterprises,forbusinessdecision-makersandmanagersiscritical,so,inventorymanagementsystemshouldbeabletoprovideuserswithsufficientinformationandthequickinquirymethod.Especiallywiththecontinuousexpansionofbusinessscale,productquantitysharpincrease,theproductionoftheproducttypeswillbeconstantlyupdated,theproductoftheamountofinformationalsowillbedoubled.Inthefaceofthehugeamountofproductinformation,howtoeffectivelymanagetheinventoryofproducts,timelyfeedbackofinventorymanagementinformation,istoensurethenormaloperationofenterprisesthenecessarymeans,alsoistheenterpriseanintegralpartoflogisticsmanagement.SystemdesignbasedonB/Sstructure,usingMyEclipseasadevelopmenttool,databaseusingMysqldatabasedesign.ThesystemusesStruts,Hibernatetwomainstreamdevelopmentframework.KeywordsInventorymanagementB/SMysqlStrutsHibernate
目錄摘要 IAbstract II第1章緒論 11.1課題背景 11.2目的和意義 11.3系統(tǒng)設(shè)計(jì)思想 21.4系統(tǒng)開發(fā)環(huán)境 31.4.1B/S結(jié)構(gòu)的數(shù)據(jù)庫(kù)訪問(wèn)模式 31.4.2MyEclipse簡(jiǎn)介 41.4.3Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介 51.5論文的工作內(nèi)容及論文的結(jié)構(gòu) 5第2章可行性分析 72.1經(jīng)濟(jì)可行性 72.2技術(shù)可行性 82.3操作可行性 92.4系統(tǒng)流程圖 92.5本章小結(jié) 11第3章需求分析 123.1物流庫(kù)存管理系統(tǒng)的需求分析 123.2物流庫(kù)存管理系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典 123.2.1數(shù)據(jù)流圖 123.2.2數(shù)據(jù)字典 143.3本章小結(jié) 16第4章總體設(shè)計(jì) 174.1系統(tǒng)模塊總體設(shè)計(jì) 174.2數(shù)據(jù)庫(kù)設(shè)計(jì) 184.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述 194.2.2數(shù)據(jù)分析 194.3數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì) 194.3.1數(shù)據(jù)庫(kù)的E-R圖的設(shè)計(jì) 204.3.2數(shù)據(jù)表的設(shè)計(jì) 224.4本章小結(jié) 23第5章詳細(xì)設(shè)計(jì) 245.1系統(tǒng)運(yùn)行平臺(tái)設(shè)置 245.2網(wǎng)站主界面設(shè)計(jì) 245.3用戶登錄網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn) 255.4商品管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 275.5入庫(kù)及需求管理的設(shè)計(jì)與實(shí)現(xiàn) 285.6本章小結(jié) 29第6章軟件測(cè)試 306.1測(cè)試的基本概念 306.2測(cè)試的任務(wù)和目標(biāo) 306.2.1測(cè)試的任務(wù) 306.2.2測(cè)試的目標(biāo) 316.2.3測(cè)試的準(zhǔn)則 316.3系統(tǒng)整體測(cè)試步驟 326.4本系統(tǒng)測(cè)試 326.4.1用戶登錄模塊測(cè)試 336.4.2出庫(kù)商品模塊測(cè)試 336.4.3入庫(kù)與需求模塊測(cè)試 346.5本章小結(jié) 35結(jié)論 36致謝 37參考文獻(xiàn) 38附錄1譯文 39附錄2英文參考資料 42緒論課題背景物流庫(kù)存管理系統(tǒng)是一個(gè)物流企業(yè)不可缺少的部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以物流庫(kù)存管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠?lái)人們使用傳統(tǒng)人工的方式管理倉(cāng)庫(kù)中的各種物資設(shè)備,這種管理方式存在著許多缺點(diǎn),如:效率低、另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(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ī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套物流庫(kù)存管理軟件成為很有必要的事情。目的和意義旭日物流公司是一家剛起步的小型物流公司,公司管理體系不是很完善,尤其是在庫(kù)存管理這一部分,時(shí)不時(shí)會(huì)出現(xiàn)丟貨、沒(méi)有及時(shí)回饋當(dāng)天的庫(kù)存信息,還在用舊年代的那種用人工管理庫(kù)存的方法,不僅是提供公司的成本,而且管理的效率非常低。所以開發(fā)一個(gè)成本低、查詢高效、保密性好、存儲(chǔ)量大等特點(diǎn)的物流庫(kù)存管理系統(tǒng)刻不容緩。這是一家小型物流公司想在如今社會(huì)成長(zhǎng)起來(lái)走向正規(guī)道路不可或缺的信息時(shí)代的管理手段。大多數(shù)庫(kù)存管理理論認(rèn)為,庫(kù)存是物理上和邏輯上庫(kù)房庫(kù)位的所有有形和無(wú)形物料極其價(jià)值的總和,具體包括成品、原材料、在制品、在途品、生產(chǎn)前物料、備品備件等。雖然持有一些庫(kù)存是必要的,過(guò)量的庫(kù)存卻非但沒(méi)有用處而且占用了資金。占用的資金對(duì)于公司發(fā)展、新產(chǎn)品開發(fā)等都是非常需要的;減少資金占用還可以大大減少來(lái)自銀行貸款的利息和風(fēng)險(xiǎn)。對(duì)那些采購(gòu)量特別大、采購(gòu)件市場(chǎng)價(jià)格有波動(dòng)的物料庫(kù)存,加強(qiáng)庫(kù)存管理效果更為明顯。因此,平衡公司庫(kù)存投資與其它資金需求至關(guān)重要。隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營(yíng)管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲(chǔ)存在倉(cāng)庫(kù)中,對(duì)于每個(gè)企業(yè)來(lái)說(shuō),隨著企業(yè)規(guī)模的不斷擴(kuò)大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會(huì)不斷地更新與發(fā)展,有關(guān)產(chǎn)品的各種信息量也會(huì)成倍增長(zhǎng)。面對(duì)龐大的產(chǎn)品信息量,如何有效地管理庫(kù)存產(chǎn)品,對(duì)這些企業(yè)來(lái)說(shuō)是非常重要的,庫(kù)存管理的重點(diǎn)是銷售信息能否及時(shí)反饋,從而確保企業(yè)運(yùn)行效益。而庫(kù)存管理又涉及入庫(kù)、出庫(kù)的產(chǎn)品、操作人員及客戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項(xiàng)復(fù)雜的系統(tǒng)工程,充分考驗(yàn)著倉(cāng)庫(kù)管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由庫(kù)存管理系統(tǒng)來(lái)提高庫(kù)存管理工作的效率,這對(duì)信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,減少管理方面的工作量,同時(shí)對(duì)于調(diào)動(dòng)廣大員工的工作積極性,提高企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實(shí)意義。系統(tǒng)設(shè)計(jì)思想一個(gè)方便用戶訪問(wèn)的網(wǎng)站應(yīng)該具備體積小,操作界面友好,基本功能穩(wěn)定,運(yùn)行速度較快,通過(guò)計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)結(jié)合開發(fā)出客戶端與服務(wù)器端,以便方便快捷清晰的進(jìn)行數(shù)據(jù)傳輸,和簡(jiǎn)易通訊功能。(1)實(shí)用性:系統(tǒng)以用戶需求為目標(biāo),以方便用戶為原則。根據(jù)用戶實(shí)際的需求情況,度身訂造一套先進(jìn)的局域網(wǎng)數(shù)據(jù)傳輸,從用戶角度出發(fā)盡可能的方便用戶使用,滿足基本的用戶需要,成為公司學(xué)校等通用的網(wǎng)絡(luò)軟件。(2)先進(jìn)性:本設(shè)計(jì)將充分應(yīng)用現(xiàn)有成熟的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、軟件開發(fā)技術(shù)。以Myeclipse8.5為主要開發(fā)環(huán)境,其優(yōu)秀的編碼體制和強(qiáng)大的編譯器是此系統(tǒng)的強(qiáng)力支柱。(3)高可靠性:一個(gè)實(shí)用的系統(tǒng)同時(shí)必須是可靠的,本設(shè)計(jì)通過(guò)合理而先進(jìn)的網(wǎng)絡(luò)設(shè)計(jì)以及軟、硬件的優(yōu)化選型,可保證系統(tǒng)數(shù)據(jù)傳輸?shù)恼_性。(4)高安全性:在設(shè)計(jì)中,將充分利用網(wǎng)絡(luò)軟、硬件提供的各種安全措施,既可以保證用戶共享資源,同時(shí)也可保證關(guān)鍵數(shù)據(jù)的安全性。(5)采用標(biāo)準(zhǔn)技術(shù):本系統(tǒng)的所有設(shè)計(jì)遵循國(guó)際上現(xiàn)行的標(biāo)準(zhǔn)進(jìn)行,以提高系統(tǒng)的開放性。(6)可維護(hù)性:系統(tǒng)的設(shè)計(jì)要求方便維護(hù),包括硬件的維護(hù),軟件的維護(hù)(更改,升級(jí)等)和網(wǎng)絡(luò)的維護(hù)。(7)可擴(kuò)展性及靈活性:系統(tǒng)的設(shè)計(jì)以方便未來(lái)業(yè)務(wù)的擴(kuò)展和系統(tǒng)擴(kuò)充為目標(biāo),系統(tǒng)要求能夠方便的升級(jí),充分保護(hù)系統(tǒng)的投資。(8)智能性:系統(tǒng)在設(shè)計(jì)時(shí),充分考慮系統(tǒng)運(yùn)行的智能性,在使用系統(tǒng)一段時(shí)間后,系統(tǒng)可以適應(yīng)于任何局域網(wǎng)。本系統(tǒng)會(huì)采用基于MVC(Model-View-Controller,模型-視圖-控制器)的框架模式,MVC模式是經(jīng)典的B/S結(jié)構(gòu)程序所采用的設(shè)計(jì)模式,為了充分挖掘MVC的優(yōu)勢(shì),本系統(tǒng)將采用struts框架。Struts1提供的功能解決了Web應(yīng)用程序的一些常見(jiàn)問(wèn)題。在本項(xiàng)目中使用Struts1來(lái)規(guī)范開發(fā)流程并且簡(jiǎn)化開發(fā)難度。Struts1自己封裝的標(biāo)簽,對(duì)提高程序的編寫效率有很大的作用。由于在項(xiàng)目中涉及圖片上傳功能,為了解決此問(wèn)題將會(huì)使用ServletFileUpload類來(lái)實(shí)現(xiàn)。代替的傳統(tǒng)的JDBC連接數(shù)據(jù)庫(kù)的方法,使用了Hibernate框架,代碼更面向?qū)ο螅赜眯愿摺G芭_(tái)則采用JSP網(wǎng)頁(yè)表示技術(shù),使用它的目的在于建立一個(gè)人機(jī)交互界面。將設(shè)計(jì)好的界面運(yùn)行在服務(wù)器上。而且JSP技術(shù)能將許多功能封裝成一個(gè)標(biāo)簽,開發(fā)人員可以直接使用定義好的標(biāo)簽,它可以節(jié)省開發(fā)的時(shí)間。該系統(tǒng)平臺(tái)采用MyEclipse8.5作為系統(tǒng)開發(fā)平臺(tái),開發(fā)語(yǔ)言使用Java,并結(jié)合Tomcat服務(wù)開發(fā),該種方式是當(dāng)今能夠快速、高效解決網(wǎng)絡(luò)編程邏輯的開發(fā)方案。數(shù)據(jù)庫(kù)則采用Mysql數(shù)據(jù)庫(kù),該種開發(fā)方式可與硬件設(shè)備產(chǎn)品達(dá)到很好的融合性,為平臺(tái)的安全性起到至關(guān)重要的作用。系統(tǒng)開發(fā)環(huán)境本系統(tǒng)采用structs和hibernate技術(shù),使用MyEclipse開發(fā)平臺(tái),Mysql數(shù)據(jù)庫(kù)作為網(wǎng)站后臺(tái)據(jù)庫(kù)。B/S結(jié)構(gòu)的數(shù)據(jù)庫(kù)訪問(wèn)模式三層體系結(jié)構(gòu)的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過(guò)與中間層通訊建立連接,再經(jīng)由中間層與數(shù)據(jù)庫(kù)進(jìn)行交互。B/S結(jié)構(gòu)三層體系結(jié)構(gòu)圖,如圖1-1所示。圖1-1三層體系結(jié)構(gòu)組成CGI,ASP,PHP等技術(shù)的出現(xiàn),使得開發(fā)動(dòng)態(tài)交互式的Web應(yīng)用得以實(shí)現(xiàn)。用戶通過(guò)瀏覽器向服務(wù)器發(fā)送請(qǐng)求,Web服務(wù)器接收客戶端發(fā)送來(lái)的請(qǐng)求,對(duì)請(qǐng)求進(jìn)行分析,如果請(qǐng)求是靜態(tài)頁(yè)面,那么就將所請(qǐng)求的頁(yè)面發(fā)送到客戶端;如果請(qǐng)求的是動(dòng)態(tài)頁(yè)面,那么就執(zhí)行此動(dòng)態(tài)頁(yè)面,并將執(zhí)行結(jié)果發(fā)送給客戶端。動(dòng)態(tài)頁(yè)面中的腳本程序可以和數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行交互。Web服務(wù)器可以根據(jù)用戶的請(qǐng)求動(dòng)態(tài)更新頁(yè)面上的信息,Web信息提供者可以通過(guò)改變數(shù)據(jù)庫(kù)中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個(gè)更改頁(yè)面。用戶可以通過(guò)這些動(dòng)態(tài)頁(yè)面向數(shù)據(jù)庫(kù)中輸入信息,從而增強(qiáng)了用戶和服務(wù)器之間的交互性。MyEclipse簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái),簡(jiǎn)稱MyEclipse,是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,SP,CSS,Javascript,SQL,Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1.JavaEE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應(yīng)用程序服務(wù)器的連接器5.JavaEE項(xiàng)目部署服務(wù)6.?dāng)?shù)據(jù)庫(kù)服務(wù)7.MyEclipse整合幫助對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。Mysql數(shù)據(jù)庫(kù)簡(jiǎn)介MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)開發(fā)者為瑞典MySQLAB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu).對(duì)于Mysql的前途,沒(méi)有任何人抱樂(lè)觀的態(tài)度。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低尤其是開放源碼這一特點(diǎn)許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MYSQL是一個(gè)真正的多用戶多線程的結(jié)構(gòu)化查詢語(yǔ)言數(shù)據(jù)服務(wù)器它以客戶機(jī)/服務(wù)器的結(jié)構(gòu)實(shí)現(xiàn)并且還具有以下優(yōu)勢(shì)。(1)速度快開發(fā)者聲稱MYSQL數(shù)據(jù)庫(kù)可能是目前得到的最快的數(shù)據(jù)庫(kù)。(2)連接性和安全性MYSQL是完全網(wǎng)絡(luò)化的其數(shù)據(jù)庫(kù)可在因特網(wǎng)上訪問(wèn)因此可以和任何地方的任何人共享數(shù)據(jù)庫(kù)而且MYSQL還能進(jìn)行訪問(wèn)控制能夠控制特定用戶不允許其訪問(wèn)數(shù)據(jù)庫(kù)。(3)可移植性MYSQL可運(yùn)行在各種版本的UNIX系統(tǒng)及其他費(fèi)NUXI系統(tǒng)上從家用的PC到高級(jí)服務(wù)器都可運(yùn)行MYSQL。(4)它支持SQL語(yǔ)言MYSQL支持支持這種現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)都選用的語(yǔ)言。(5)容易使用MYSQL是一個(gè)高性能且相對(duì)簡(jiǎn)單的數(shù)據(jù)庫(kù)易于操作。(6)成本優(yōu)勢(shì)MYSQL對(duì)于大多數(shù)個(gè)人用戶來(lái)說(shuō)是免費(fèi)的。論文的工作內(nèi)容及論文的結(jié)構(gòu)在本論文中,主要介紹了物流庫(kù)存管理系統(tǒng)的開發(fā)過(guò)程。本論文共6章。第1章概括介紹了選題的背景、目的和意義,開發(fā)工具的簡(jiǎn)單介紹。第2章介紹了系統(tǒng)的可行性分析,主要從經(jīng)濟(jì)可行生、技術(shù)可行性、操作可行性等幾個(gè)方面進(jìn)行分析說(shuō)明。第3章介紹了系統(tǒng)的需求分析,簡(jiǎn)單分析了建立物流庫(kù)存管理系統(tǒng)是否可行。第4章、第5章對(duì)系統(tǒng)設(shè)計(jì)做了簡(jiǎn)單介紹,在設(shè)計(jì)中通過(guò)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)對(duì)系統(tǒng)進(jìn)行說(shuō)明。第6章介紹了軟件的測(cè)試,對(duì)物流庫(kù)存管理系統(tǒng)進(jìn)行了簡(jiǎn)單的測(cè)試,通過(guò)測(cè)試可以知道系統(tǒng)是否能正常使用。正文后面有兩個(gè)附錄,附錄1是JSP中文簡(jiǎn)介,附錄2是JSP英文簡(jiǎn)介。可行性分析可行性分析的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。本章主要從經(jīng)濟(jì)可行生、技術(shù)可行性、操作可行性等幾個(gè)方面進(jìn)行分析說(shuō)明。經(jīng)濟(jì)可行性該系統(tǒng)規(guī)模不大,價(jià)格并不昂貴,完全可以支付,又恰恰是在企業(yè)尋求發(fā)展的開始階段提出,迎合了決策者的想法。在采用該系統(tǒng)后,還可以做到減員增效的作用,提高工作效率,讓決策者的決策更加直觀。(1)系統(tǒng)初期投資系統(tǒng)初期投資如表2-1所示。表2-1物流庫(kù)存管理系統(tǒng)初期投資序號(hào)任務(wù)人工(人·日)單價(jià)(元)合計(jì)(元)1需求分析2100060002總體設(shè)計(jì)3100090003基本信息子系統(tǒng)詳細(xì)設(shè)計(jì)1100030004庫(kù)存進(jìn)出各子系統(tǒng)詳細(xì)設(shè)計(jì)3100090005工程實(shí)際成本數(shù)據(jù)庫(kù)實(shí)現(xiàn)1100030006編碼實(shí)現(xiàn)5100010000續(xù)表2-17單體測(cè)試2100060008系統(tǒng)集成測(cè)試2100060009說(shuō)明手冊(cè)編制11000300010總計(jì)55000(2)貨幣的時(shí)間價(jià)值系統(tǒng)貨幣時(shí)間價(jià)值如表2-2所示。表2-2物流庫(kù)存管理系統(tǒng)貨幣時(shí)間價(jià)值年份將來(lái)值(元)(1+i)n現(xiàn)在值(元)累計(jì)的現(xiàn)在值(元)1200001.0519047190472200001.102518140371873200001.157617277544644200001.21551645470918(3)投資回收期引入物流庫(kù)存管理系統(tǒng)三年后,可以節(jié)省54464元,比最初投資還少536元。但第四年可以節(jié)省16454元。即:投資回收期=3+(55000-54464)/16454=3.033年(4)純收入純收入=4年累計(jì)的當(dāng)前值-系統(tǒng)投資=70918-55000=15918(元)當(dāng)然,如果想要在四年后得到預(yù)計(jì)的純收入,那么首先就應(yīng)拿出初期投資的55000元。而且考慮到開發(fā)本系統(tǒng)將為以后帶來(lái)的利益,拿出55000元來(lái)進(jìn)行物流庫(kù)存管理系統(tǒng)的開發(fā),是絕對(duì)必要。經(jīng)過(guò)以上分析,物流庫(kù)存管理系統(tǒng)的開發(fā)是可行的。技術(shù)可行性技術(shù)可行性是對(duì)待開發(fā)的系統(tǒng)進(jìn)行功能、性能和限制條件的分析,確定在現(xiàn)有的資源的條件下,技術(shù)風(fēng)險(xiǎn)有多大,系統(tǒng)是否能實(shí)現(xiàn)。這里,資源包括已有的或可以搞到的硬件、軟件資源,現(xiàn)有技術(shù)人員的技術(shù)水平與已有的工作基礎(chǔ)。根據(jù)該系統(tǒng)目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般可從軟硬件的性能要求、環(huán)境條件、操作人員水平和數(shù)量等方面去考慮和分析。在硬件方面,則選擇空間較大,只要是奔4系列及以上的計(jì)算機(jī),內(nèi)存在1G以上,硬盤在80G以上,都可以滿足系統(tǒng)的開發(fā)需要。當(dāng)然,硬件的配置越高,系統(tǒng)的開發(fā)與運(yùn)行會(huì)更流暢。考慮到如今的家用或商用電腦硬件的整體配置水平,系統(tǒng)在硬件方面是可行的。在軟件方面,考慮到系統(tǒng)實(shí)施的可行性,在軟件方面選擇了如今較流行的Java語(yǔ)言來(lái)進(jìn)行系統(tǒng)的設(shè)計(jì)和開發(fā),使用Mysql數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。在開發(fā)環(huán)境的選擇上采用了當(dāng)前非常流行的集成開發(fā)環(huán)境MyEclipse8.5。由于MyEclipse和Mysql是兩個(gè)非常成熟的開發(fā)工具,無(wú)論在安全性、可用性和可靠性方面都毫無(wú)置疑,因此在開發(fā)環(huán)境方面上采用MyEclipse和Mysql是可行的。在選擇系統(tǒng)的運(yùn)行環(huán)境問(wèn)題上,經(jīng)過(guò)結(jié)合考慮了本系統(tǒng)硬件環(huán)境后,得出結(jié)論:本系統(tǒng)可以運(yùn)行在Windows系列的操作系統(tǒng)上、Linux系列的操作系統(tǒng)上和各種Unix操作系統(tǒng)上。為本系統(tǒng)的設(shè)計(jì)與開發(fā)者,本人推薦使用Windows系統(tǒng)的WindowsXP及以上版本的操作系統(tǒng)。因?yàn)閃indowsXP操作系統(tǒng)在中國(guó)的普及程度之廣,無(wú)人能及。所以本系統(tǒng)和其他應(yīng)用程序在WindowsXP上運(yùn)行時(shí)幾乎可以不用考慮兼容性問(wèn)題。綜上所述,開發(fā)系統(tǒng)在技術(shù)可行性方面,是完全可行的。操作可行性操作可行性是指系統(tǒng)對(duì)組織機(jī)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)、設(shè)施、環(huán)境等對(duì)系統(tǒng)的適應(yīng)性以及進(jìn)行人員培訓(xùn)的補(bǔ)充計(jì)劃可行性。從新系統(tǒng)使用難易程度上來(lái)看,新系統(tǒng)使用起來(lái)并不復(fù)雜,界面設(shè)計(jì)親切,容易使用,通過(guò)接觸了解到公司的員工有接受新事物的能力,大多數(shù)平時(shí)都有過(guò)使用電腦的經(jīng)歷,學(xué)習(xí)該系統(tǒng)的使用應(yīng)該不會(huì)困難。該系統(tǒng)的實(shí)施對(duì)公司的組織機(jī)構(gòu)不會(huì)有太大的影響。在今后的維護(hù)過(guò)程中,領(lǐng)導(dǎo)者可在店面里挑選或培養(yǎng)一、兩名對(duì)計(jì)算機(jī)知識(shí)比較了解的員工深入學(xué)習(xí)該系統(tǒng),系統(tǒng)的開發(fā)人員也會(huì)在系統(tǒng)實(shí)施后的半年時(shí)間內(nèi)不計(jì)酬的隨時(shí)解決系統(tǒng)出現(xiàn)的一些技術(shù)性問(wèn)題。經(jīng)過(guò)上述論述分析,新系統(tǒng)的實(shí)施非常可行。系統(tǒng)流程圖根據(jù)物流庫(kù)存管理系統(tǒng)的具體情況,物流庫(kù)存管理系統(tǒng)的主要功能系統(tǒng)流程如下:系統(tǒng)登錄模塊:包括查詢用戶,登錄請(qǐng)求,登錄頁(yè)面。庫(kù)存商品類別信息模塊:包括庫(kù)存商品類別的添加,庫(kù)存商品類別的查看,類別的修改與刪除,庫(kù)存商品類別統(tǒng)計(jì)。庫(kù)存商品信息管理模塊:包括庫(kù)存商品信息的添加和修改,分頁(yè)查看所有庫(kù)存商品,查看庫(kù)存商品詳細(xì)信息,模糊查詢庫(kù)存商品,查看庫(kù)存,庫(kù)存商品的批量刪除。出庫(kù)商品管理模塊:包括選擇出庫(kù)的商品,結(jié)算。出庫(kù)明細(xì)管理模塊:包括查看庫(kù)存物品出庫(kù)的明細(xì)管理,出庫(kù)商品排行統(tǒng)計(jì)查詢。進(jìn)貨/需求管理模塊:包括庫(kù)存商品需求的詳細(xì)信息。物流庫(kù)存管理系統(tǒng)系統(tǒng)流程圖如圖2-1所示。圖2-1物流庫(kù)存管理系統(tǒng)系統(tǒng)流程圖本章小結(jié)在本章中主要對(duì)系統(tǒng)進(jìn)行可行性分析。可行性分析是通過(guò)對(duì)項(xiàng)目的主要內(nèi)容和配套條件,如市場(chǎng)需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見(jiàn),為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。可行性分析應(yīng)具有預(yù)見(jiàn)性、公正性、可靠性、科學(xué)性的特點(diǎn)。本系統(tǒng)主要從經(jīng)濟(jì)可行生、技術(shù)可行性、操作可行性等幾個(gè)方面進(jìn)行分析說(shuō)明。分析系統(tǒng)在各個(gè)方面是否可行的,通過(guò)簡(jiǎn)單的分析,本系統(tǒng)是可行的。需求分析需求分析是軟件生存周期中最重要的一步。只有通過(guò)需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,進(jìn)而奠定軟件開發(fā)的基礎(chǔ)。物流庫(kù)存管理系統(tǒng)的需求分析需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問(wèn)題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析過(guò)程是整個(gè)系統(tǒng)開發(fā)的重要階段,分析的成功與否,決定著整個(gè)系統(tǒng)功能的完善性以及穩(wěn)定性。在該階段需求分析人員需要確定整個(gè)產(chǎn)品的功能要求,并且將現(xiàn)實(shí)事務(wù)抽象成對(duì)象并建模。需求分析過(guò)程是整個(gè)系統(tǒng)開發(fā)的重要階段,是發(fā)現(xiàn)、求精、建模、規(guī)格說(shuō)明的和復(fù)審的過(guò)程。分析的好與壞,直接決定了整個(gè)系統(tǒng)的完整、準(zhǔn)確和具體的需求。在該階段需求分析人員需要確定整個(gè)系統(tǒng)的功能要求,并且將邏輯模型轉(zhuǎn)變成物理模型。因此,該系統(tǒng)需求應(yīng)從功能進(jìn)行分析。物流庫(kù)存管理系統(tǒng)數(shù)據(jù)流圖和數(shù)據(jù)字典本節(jié)中主要介紹物流庫(kù)存管理系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,通常數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。沒(méi)有數(shù)據(jù)字典精確定義數(shù)據(jù)流圖中每個(gè)元素,數(shù)據(jù)流圖就不夠嚴(yán)密;然而沒(méi)有數(shù)據(jù)流圖,數(shù)據(jù)字典也很難發(fā)揮作用。數(shù)據(jù)流圖物流庫(kù)存管理系統(tǒng)數(shù)據(jù)流圖如圖3-1所示。圖3-1數(shù)據(jù)流圖用戶進(jìn)入物流庫(kù)管理系統(tǒng)可以進(jìn)行設(shè)置管理員操作,進(jìn)行商品入庫(kù),通過(guò)添加商品類別,確定添加商品類別,進(jìn)而入庫(kù)商品,還可進(jìn)行商品出庫(kù),可通過(guò)選擇出庫(kù)商品決定出庫(kù)什么商品,還可通過(guò)查詢?nèi)掌趤?lái)查看每日進(jìn)出庫(kù)的商品信息,并能進(jìn)行日期查詢等詳細(xì)操作。數(shù)據(jù)字典數(shù)據(jù)字典是在系統(tǒng)數(shù)據(jù)流程圖的基礎(chǔ)上。進(jìn)一步定義和描述所有的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)、處理過(guò)程和外部實(shí)體的詳細(xì)邏輯內(nèi)容與特征的工具。數(shù)據(jù)字典的任務(wù)是對(duì)于數(shù)據(jù)流程圖中出現(xiàn)的元素的名字都有一個(gè)確切的解釋。因此,建立數(shù)據(jù)字典的工作量很大,相當(dāng)煩瑣。但這是一項(xiàng)必不可少的工作。數(shù)據(jù)字典在系統(tǒng)開發(fā)中具有十分重要的意義,不僅在系統(tǒng)分析階段要使用它,在系統(tǒng)的整個(gè)研制過(guò)程中以及系統(tǒng)運(yùn)行中都要使用它提供幫助。庫(kù)存管理系統(tǒng)的數(shù)據(jù)項(xiàng)定義,如表3-1所示。表3-1物流庫(kù)存管理系統(tǒng)數(shù)據(jù)項(xiàng)定義編號(hào)名稱別名類型長(zhǎng)度I01-01username用戶名varchar50I01-02password用戶密碼varchar50I01-03createTime創(chuàng)建時(shí)間varchardefaultI01-04proNo商品編號(hào)varchar100I01-05name商品名稱varchar200I01-06factoryAdd出廠地址varchar200I01-07description商品描述textdefaultI01-08price價(jià)格doubledefaultI01-09proCount庫(kù)存數(shù)量int11I01-10reqCount需求數(shù)量int11I01-11photoPath圖片路徑varchar255I01-12name商品類別名稱varchar100I01-13description商品類別描述textdefaultI01-14createTime創(chuàng)建時(shí)間datetimedefaultI01-15outName名稱varchar200I01-16outPrice單價(jià)doubledefaultI01-17outCount出庫(kù)數(shù)量int11I01-18outTime出庫(kù)日期datetimedefault數(shù)據(jù)流定義:數(shù)據(jù)流編號(hào):D1-01數(shù)據(jù)流名稱:每日出庫(kù)信息數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-10數(shù)據(jù)流組成:I01-01+I01-15+I01-16+I01-17+I01-18數(shù)據(jù)流編號(hào):D1-02數(shù)據(jù)流名稱:添加管理員信息數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-03數(shù)據(jù)流組成:I01-01+I01-02+I01-03數(shù)據(jù)流編號(hào):D1-03數(shù)據(jù)流名稱:高級(jí)查詢數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-04數(shù)據(jù)流組成:I01-01+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09+I01-11數(shù)據(jù)流編號(hào):D1-04數(shù)據(jù)流名稱:商品出庫(kù)數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-09數(shù)據(jù)流組成:I01-01+I01-10+I01-09+I01-15+I01-16+I01-17+I01-18數(shù)據(jù)流編號(hào):D1-05數(shù)據(jù)流名稱:入庫(kù)類別數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-01數(shù)據(jù)流組成:I01-01+I01-12+I01-13+I01-14數(shù)據(jù)流編號(hào):D1-15數(shù)據(jù)流名稱:商品入庫(kù)數(shù)據(jù)流來(lái)源:用戶數(shù)據(jù)流去向:P1-11數(shù)據(jù)流組成:I01-01+I01-04+I01-05+I01-06+I01-07+I01-08+I01-10+I01-11本章小結(jié)需求分析應(yīng)該確定系統(tǒng)必須具有的功能、性能、可靠性和可用性,必須實(shí)現(xiàn)的出錯(cuò)處理需求、接口需求和逆向需求,必須滿足的約束條件以及數(shù)據(jù)需求,并且預(yù)測(cè)系統(tǒng)的發(fā)展前景。數(shù)據(jù)流圖是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒(méi)有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典描述在數(shù)據(jù)模型、功能模型和行為模型中出現(xiàn)的數(shù)據(jù)對(duì)象及控制信息的特性,給出它們的準(zhǔn)確定義。總體設(shè)計(jì)經(jīng)過(guò)需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎么做”的時(shí)候了。總體設(shè)計(jì)的基本目的就是回答“概括地說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”這個(gè)問(wèn)題,因此,總體設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。系統(tǒng)模塊總體設(shè)計(jì)該系統(tǒng)包括六大模塊:系統(tǒng)管理、庫(kù)存商品信息管理、庫(kù)存商品類別信息管理、入庫(kù)管理、出庫(kù)管理、進(jìn)貨與需求管理。1.庫(kù)存商品信息管理分為四個(gè)模塊:添加商品、查看商品、高級(jí)查詢、查看庫(kù)存。2.庫(kù)存商品類別信息管理分為三個(gè)模塊:添加類別、查看類別、類別統(tǒng)計(jì)。3.入庫(kù)管理分為二個(gè)模塊:選購(gòu)商品,查看選購(gòu)商品。4.出庫(kù)管理分為四個(gè)模塊:查看明細(xì),今日明細(xì),日期查詢,出庫(kù)商品排行。5.進(jìn)貨與需求管理分為二個(gè)模塊:添加進(jìn)貨、查看進(jìn)貨。6.系統(tǒng)管理分為五個(gè)模塊:添加管理員、查看所有管理員、修改密碼、系統(tǒng)初始化、退出系統(tǒng)。如圖4-1所示。圖4-1物流庫(kù)存管理系統(tǒng)功能模塊圖數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。由于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的復(fù)雜性,為了支持相關(guān)程序運(yùn)行,數(shù)據(jù)庫(kù)設(shè)計(jì)就變得異常復(fù)雜,因此最佳設(shè)計(jì)不可能一蹴而就,而只能是一種“反復(fù)探尋,逐步求精”的過(guò)程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象以及這些數(shù)據(jù)對(duì)象之間關(guān)系的過(guò)程。人們?cè)诳偨Y(jié)信息資源開發(fā)、管理和服務(wù)的各種手段時(shí),認(rèn)為最有效的是數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)應(yīng)用已越來(lái)越廣泛。從小弄的單項(xiàng)事務(wù)處理系統(tǒng)到大型復(fù)雜的信息系統(tǒng)都用先進(jìn)的數(shù)據(jù)庫(kù)技術(shù)來(lái)保持系統(tǒng)數(shù)據(jù)的整體性、完整性和共享性。一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù),可以使系統(tǒng)的實(shí)現(xiàn)變的非常簡(jiǎn)單,同時(shí),也可以使系統(tǒng)的執(zhí)行速度變的很快。反之,一個(gè)設(shè)計(jì)混亂的數(shù)據(jù)庫(kù),不僅增加了信息的管理實(shí)現(xiàn)過(guò)程,同時(shí)在系統(tǒng)的執(zhí)行過(guò)程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫(kù)的設(shè)計(jì)是一個(gè)系統(tǒng)設(shè)計(jì)很重要的步驟。數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)是指導(dǎo)對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求。設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù)與設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是密不可分的。一個(gè)好的數(shù)據(jù)庫(kù)結(jié)構(gòu)是應(yīng)用系統(tǒng)的基礎(chǔ)。特別在實(shí)際的系統(tǒng)開發(fā)項(xiàng)目中兩者更是密切相關(guān)、并行進(jìn)行的。數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個(gè)信息基礎(chǔ)設(shè)施和高效率的運(yùn)行環(huán)境。數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是已一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有Access、SQLServer、ORACLE、MySQL等。本系統(tǒng)采用了Mysq進(jìn)行設(shè)計(jì)數(shù)據(jù)庫(kù)。數(shù)據(jù)分析數(shù)據(jù)分析過(guò)程同數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)密切相關(guān),需要確定、編制、組織、篩選應(yīng)用程序所使用的信息。它以一種能夠分析和分類的方式來(lái)捕獲用戶的所有信息,這使得某一模型可以直接轉(zhuǎn)化成數(shù)據(jù)庫(kù)結(jié)構(gòu)。數(shù)據(jù)分析主要由識(shí)別信息需求、收集數(shù)據(jù)、分析數(shù)據(jù)、評(píng)價(jià)并改進(jìn)數(shù)據(jù)分析的有效性組成。識(shí)別信息需求是確保數(shù)據(jù)分析過(guò)程有效性的首要條件,可以為收集數(shù)據(jù)、分析數(shù)據(jù)提供清晰的目標(biāo)。識(shí)別信息需求是管理者的職責(zé)管理者應(yīng)根據(jù)決策和過(guò)程控制的需求,提出對(duì)信息的需求。就過(guò)程控制而言,管理者應(yīng)識(shí)別需求要利用那些信息支持評(píng)審過(guò)程輸入、過(guò)程輸出、資源配置的合理性、過(guò)程活動(dòng)的優(yōu)化方案和過(guò)程異常變異的發(fā)現(xiàn)。有目的的收集數(shù)據(jù),是確保數(shù)據(jù)分析過(guò)程有效的基礎(chǔ)。組織需要對(duì)收集數(shù)據(jù)的內(nèi)容、渠道、方法進(jìn)行策劃。將識(shí)別的需求轉(zhuǎn)化為具體的要求,如評(píng)價(jià)供方時(shí),需要收集的數(shù)據(jù)可能包括其過(guò)程能力、測(cè)量系統(tǒng)不確定度等相關(guān)數(shù)據(jù)。明確由誰(shuí)在何時(shí)何處,通過(guò)何種渠道和方法收集數(shù)據(jù)。記錄表應(yīng)便于使用。采取有效措施,防止數(shù)據(jù)丟失和虛假數(shù)據(jù)對(duì)系統(tǒng)的干擾。數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,需求分析和概念設(shè)計(jì)可以獨(dú)立于任何數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行。邏輯設(shè)計(jì)和物理設(shè)計(jì)與選用的DBMS密切相關(guān)。按照規(guī)范設(shè)計(jì)的方法,考慮數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開發(fā)全過(guò)程,將數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)階段。1.需求分析階段需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。作為“地基”的需求分析是否做為得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。在做本系統(tǒng)的數(shù)據(jù)庫(kù)時(shí),需要弄清楚系統(tǒng)數(shù)據(jù)的基本流程,數(shù)據(jù)的增、刪、改、查等操作。2.概念結(jié)構(gòu)設(shè)計(jì)階段概念模型設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。如采用基于E-R模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法,該階段即將所設(shè)計(jì)的對(duì)象抽象出E-R模型;如采用用戶視圖法,則應(yīng)設(shè)計(jì)出不同的用戶視圖。本數(shù)據(jù)庫(kù)設(shè)計(jì)采用E-R模型的設(shè)計(jì)方法。3.邏輯結(jié)構(gòu)設(shè)計(jì)階段主要工作是將現(xiàn)實(shí)世界的概念數(shù)據(jù)模型設(shè)計(jì)成數(shù)據(jù)庫(kù)的一種邏輯模式,即適應(yīng)于某種特定數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。4.物理設(shè)計(jì)階段根據(jù)特定數(shù)據(jù)庫(kù)管理系統(tǒng)所提供的多種存儲(chǔ)結(jié)構(gòu)和存取方法等依賴于具體計(jì)算機(jī)結(jié)構(gòu)的各項(xiàng)物理設(shè)計(jì)措施,對(duì)具體的應(yīng)用任務(wù)選定最合適的物理存儲(chǔ)結(jié)構(gòu)、存取方法和存取路徑等。5.?dāng)?shù)據(jù)庫(kù)實(shí)施階段在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)庫(kù)語(yǔ)言及其語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)度應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。6.?dāng)?shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。數(shù)據(jù)庫(kù)的E-R圖的設(shè)計(jì)E-R圖也稱實(shí)體-聯(lián)系圖,提供了表示實(shí)體類型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。本系統(tǒng)局部E-R圖,如圖4-2所示。圖4-2系統(tǒng)局部E-R圖在系統(tǒng)操作過(guò)程中,用戶是主要的系統(tǒng)操作者。用戶通過(guò)查看和修改各個(gè)表中的數(shù)據(jù)。在本系統(tǒng)中,用戶進(jìn)入物流庫(kù)存管理系統(tǒng)中,進(jìn)行各種操作時(shí),都是對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行操作。數(shù)據(jù)表的設(shè)計(jì)一個(gè)完整的系統(tǒng)中,要有后臺(tái)數(shù)據(jù)庫(kù)表的支持,在前臺(tái)頁(yè)面中的操作,多數(shù)是對(duì)數(shù)據(jù)庫(kù)表的操作。物流庫(kù)存管理系統(tǒng)也需要數(shù)據(jù)庫(kù)表的支持,下面是物流庫(kù)存管理系統(tǒng)的數(shù)據(jù)表設(shè)計(jì)。用戶表是對(duì)實(shí)現(xiàn)對(duì)用戶的各種操作和基本信息,包括用戶ID,用戶名,用戶密碼,創(chuàng)建時(shí)間。如表4-1所示。表4-1sm_user(用戶表)序號(hào)字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述1idint11不允許用戶ID2usernamevarchar50不允許用戶名3passwordvarchar50不允許用戶密碼4createTimevarchardefault允許創(chuàng)建時(shí)間商品表是對(duì)庫(kù)存商品中商品做一些簡(jiǎn)單的描述的表,包括商品ID,商品編號(hào),商品名稱,出廠地址,商品描述,價(jià)格,庫(kù)存數(shù)量,需求數(shù)量,圖片路徑,商品類別ID等屬性。如表4-2所示。表4-2sm_product(商品表)序號(hào)字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述1idint11不允許商品ID2proNovarchar100不允許商品編號(hào)3namevarchar200不允許商品名稱4factoryAddvarchar200允許出廠地址5descriptiontextdefault允許商品描述6pricedoubledefault不允許價(jià)格7proCountint11允許庫(kù)存數(shù)量8reqCountint11允許需求數(shù)量9photoPathvarchar255允許圖片路徑10categoryIdint200允許商品類別ID商品類別表主要描述了商品的類別信息,包括商品類別ID,商品類別名稱,商品類別描述,創(chuàng)建時(shí)間等屬性。如表4-3所示。表4-3sm_category(商品類別表)序號(hào)字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述1idint11不允許商品類別ID2namevarchar100不允許商品類別名稱3descriptiontextdefault允許商品類別描述4createTimedatetimedefault允許創(chuàng)建時(shí)間出庫(kù)明細(xì)表主要是對(duì)物流商品的出庫(kù)進(jìn)行操作,包括出庫(kù)明細(xì)ID,名稱,單價(jià),出庫(kù)數(shù)量,出庫(kù)日期,用戶ID,商品ID等屬性。如表4-6所示。表4-4sm_out(出庫(kù)明細(xì)表)序號(hào)字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述1idint11不允許出庫(kù)明細(xì)ID2outNamevarchar200不允許名稱3outPricedoubledefault不允許單價(jià)4outCountint11不允許出庫(kù)數(shù)量5outTimedatetimedefault不允許出庫(kù)日期6proidint11允許用戶ID7useridint11允許商品ID本章小結(jié)在本章中,主要介紹了系統(tǒng)總體的設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)。在需求分析的基礎(chǔ)上規(guī)劃出了系統(tǒng)的功能模塊,定義了各個(gè)功能作用。在需求分析的基礎(chǔ)之上規(guī)劃出了系統(tǒng)的功能模塊,定義各個(gè)功能模塊的作用,以及在此分析基礎(chǔ)上設(shè)計(jì)出具體的、可以滿足本系統(tǒng)全部需求的數(shù)據(jù)庫(kù)根據(jù)本系統(tǒng)業(yè)務(wù)流程與數(shù)據(jù)處理過(guò)程,創(chuàng)建系統(tǒng)數(shù)據(jù)庫(kù),定義表結(jié)構(gòu)。對(duì)物流庫(kù)存管理系統(tǒng)所需的數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)和分析,數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成某種程序設(shè)計(jì)語(yǔ)言書寫的程序。詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計(jì)“藍(lán)圖”,在以后的編程過(guò)程中將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼。因此,詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。系統(tǒng)運(yùn)行平臺(tái)設(shè)置1.硬件環(huán)境:筆記本電腦一臺(tái),運(yùn)行環(huán)境硬件配置,如表5-1所示。表5-1運(yùn)行環(huán)境硬件配置硬件配置CPU奔騰雙核內(nèi)存2G硬盤空間320G2.軟件環(huán)境:Windows7旗艦版操作系統(tǒng)。網(wǎng)站主界面設(shè)計(jì)用戶進(jìn)入物流庫(kù)存管理系統(tǒng),可以實(shí)現(xiàn)對(duì)商品管理、類別管理、出庫(kù)商品、出庫(kù)管理、入庫(kù)/需求管理、系統(tǒng)管理等模塊進(jìn)行詳細(xì)的操作。每個(gè)模塊都自己的子操作。讓用戶可以簡(jiǎn)易的通過(guò)此系統(tǒng)對(duì)庫(kù)存商品的進(jìn)出庫(kù)進(jìn)行詳細(xì)的管理,界面分為中文版和英文版,如圖5-1所示。圖5-1物流庫(kù)存系統(tǒng)中英文主界面用戶登錄網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)在多數(shù)網(wǎng)站設(shè)計(jì)中,都要有用戶注冊(cè)與登錄的功能,這樣能使網(wǎng)站更加簡(jiǎn)捷,趨向人性化的生活。本節(jié)主要介紹了用戶注冊(cè)與登錄功能的設(shè)計(jì)與實(shí)現(xiàn)。用戶進(jìn)入交友平臺(tái)系統(tǒng)主頁(yè)面時(shí),在界面上方填寫用戶名和密碼文本框,單擊“登錄”,進(jìn)入到物流庫(kù)存管理系統(tǒng)主頁(yè)中。如果驗(yàn)證失敗,將不會(huì)進(jìn)入到主頁(yè)中,也不會(huì)對(duì)系統(tǒng)進(jìn)行各種操作。用戶登錄界面分為英文版和中文版,如圖5-2所示。圖5-2登錄中英文界面1.用戶登錄流程描述用戶登錄流程圖,如圖5-3所示。圖5-3用戶登錄程序流程圖2.實(shí)現(xiàn)目標(biāo)登錄在主界面上顯示,用戶可以直接輸入用戶名和密碼進(jìn)入到物流庫(kù)存管理系統(tǒng)中。當(dāng)用戶輸入用戶名和密碼時(shí),單擊“確定”。服務(wù)器接收數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比較,當(dāng)界面輸入數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)相等時(shí),登錄成功。否則失敗。3.實(shí)現(xiàn)過(guò)程登錄頁(yè)面為:login.jsp。如果用戶已經(jīng)登錄,那么界面中將不會(huì)顯示登錄框。頁(yè)面中利用form表單實(shí)現(xiàn)的。在登錄時(shí),用戶填寫的數(shù)據(jù)保存到form中,如果填寫的信息符合要求,通過(guò)UserDao.java與數(shù)據(jù)庫(kù)表中的用戶信息進(jìn)行交互在LoginAction.javal類中進(jìn)行比較。如果相等,則進(jìn)入系統(tǒng)主頁(yè)中,不相等,則提示用戶名或密碼輸入錯(cuò)誤。商品管理模塊的設(shè)計(jì)與實(shí)現(xiàn)物流庫(kù)存管理系統(tǒng)的主要功能之一就是對(duì)庫(kù)存商品信息進(jìn)行基本的維護(hù)和管理,此模塊包含對(duì)商品的入庫(kù),刪除,查詢等操作。本節(jié)主要介紹了物流庫(kù)存管理系統(tǒng)的商品管理模塊的設(shè)計(jì)與實(shí)現(xiàn),如圖5-4所示。圖5-4商品管理界面1.實(shí)現(xiàn)目標(biāo)實(shí)現(xiàn)對(duì)商品信息的入庫(kù)和修改,分頁(yè)查看所有藥品,查看藥品詳細(xì)信息,模糊查詢藥品,高級(jí)查詢,查看庫(kù)存,商品的批量刪除等操作。2.實(shí)現(xiàn)過(guò)程首先對(duì)藥品對(duì)象持久層進(jìn)行設(shè)計(jì),ProductDao類是對(duì)商品對(duì)象的數(shù)據(jù)庫(kù)操作類,它繼承SupperDao類,主要包含三個(gè)方法loadProduct()、loadProductAndCategory()、findProductByProNo(),其中l(wèi)oadProduct()與findProductByProNo()方法用于根據(jù)商品id和商品編碼查詢商品信息,loadProductAndCategory()用于商品信息與商品類別信息。通過(guò)對(duì)應(yīng)的Dao層和控制層Action,最后顯示到JSP頁(yè)面上。入庫(kù)及需求管理的設(shè)計(jì)與實(shí)現(xiàn)本系統(tǒng)對(duì)于入庫(kù)及需求管理進(jìn)行了詳細(xì)的實(shí)現(xiàn),用戶可以通過(guò)查看商品信息,點(diǎn)擊對(duì)應(yīng)的進(jìn)貨按鈕可以實(shí)現(xiàn)入庫(kù)功能,而且在庫(kù)存不足的情況下,也做了詳細(xì)的需求管理措施和對(duì)應(yīng)的警報(bào)處理。本節(jié)主要介紹進(jìn)貨及需求管理的設(shè)計(jì)與實(shí)現(xiàn)。如圖5-5所示。圖5-5入庫(kù)與需求管理界面1.實(shí)現(xiàn)目標(biāo)主要是對(duì)商品的需求信息進(jìn)行增、刪、改、查的等數(shù)據(jù)庫(kù)操作,如果數(shù)據(jù)庫(kù)中已存在所添加的商品的需求信息,則更新商品需求的數(shù)量即可,否則將錄入一個(gè)新的商品需求信息到數(shù)據(jù)庫(kù)中。2.實(shí)現(xiàn)過(guò)程入庫(kù)與需求管理的頁(yè)面有:req_add.jsp、req_list.jsp、req_save.jsp、req_update.jsp。在RequireAction中查詢需求的商品信息是否已存在,若存在對(duì)數(shù)據(jù)中商品的需求數(shù)量進(jìn)行更新,否則在sm_product表中添加一個(gè)新的商品需求信息,最后把數(shù)據(jù)傳遞到對(duì)應(yīng)的jsp頁(yè)面。本章小結(jié)在本章中主要介紹各個(gè)功能模塊的開發(fā)過(guò)程和系統(tǒng)功能詳細(xì)設(shè)計(jì)。包括各個(gè)模塊具體開發(fā)過(guò)程中要完成的功能和各個(gè)模塊的詳細(xì)設(shè)計(jì)。在本章中做了比較詳細(xì)的介紹。并在實(shí)現(xiàn)過(guò)程描述中對(duì)部分技術(shù)也做了一些描述。在本章中可以對(duì)系統(tǒng)程序有進(jìn)一步更深的了解。軟件測(cè)試軟件測(cè)試的目的就是找出程序中有錯(cuò)誤,不能按照預(yù)定要求正確工作。暴露問(wèn)題并不是軟件測(cè)試的最終目的,發(fā)現(xiàn)問(wèn)題是為了解決問(wèn)題,測(cè)試階段的根本目標(biāo)是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。測(cè)試的基本概念使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果實(shí)際結(jié)果之間的差別。它是幫助識(shí)別開發(fā)完成的計(jì)算機(jī)軟件的正確度、完全度和質(zhì)量的軟件過(guò)程;是軟件質(zhì)量保證的重要子域。測(cè)試的任務(wù)和目標(biāo)在測(cè)試中,測(cè)試人員要明確測(cè)試的任務(wù)和目標(biāo)是什么,這樣可以直接、準(zhǔn)確地對(duì)系統(tǒng)進(jìn)行測(cè)試。本節(jié)主要介紹了測(cè)試的任務(wù)和目標(biāo)。測(cè)試的任務(wù)軟件測(cè)試主要工作內(nèi)容是驗(yàn)證和確認(rèn)。驗(yàn)證是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng),即保證軟件做了所期望的事情。1.確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過(guò)程;2.程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計(jì)規(guī)約規(guī)定的過(guò)程;3.評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。確認(rèn)是一系列的活動(dòng)和過(guò)程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來(lái)做了這個(gè)事件。1.靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過(guò)人工或程序分析來(lái)證明軟件的正確性;2.動(dòng)態(tài)確認(rèn),通過(guò)執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問(wèn)題。軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試,軟件測(cè)試應(yīng)該包括整個(gè)軟件開發(fā)期間各個(gè)階段所產(chǎn)生的文檔,如需求規(guī)格說(shuō)明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔,當(dāng)然軟件測(cè)試的主要對(duì)象還是源程序。測(cè)試的目標(biāo)測(cè)試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程”。正確認(rèn)識(shí)測(cè)試的目標(biāo)是十分重要的,測(cè)試目標(biāo)決定了測(cè)試測(cè)試方案的設(shè)計(jì)。如果為了表明程序是正確的進(jìn)行測(cè)試,就會(huì)設(shè)計(jì)一些不易暴露錯(cuò)誤的測(cè)試方案;相反,如果測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤,就會(huì)力求設(shè)計(jì)出最能暴露錯(cuò)誤的測(cè)試方案。1.測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。2.好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。3.成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。測(cè)試的準(zhǔn)則為了能設(shè)計(jì)出有效的測(cè)試方案,測(cè)試人員必須深入理解并正確運(yùn)用指導(dǎo)軟件測(cè)試的基本準(zhǔn)則。1.所有測(cè)試都應(yīng)該能追溯到用戶需求。從用戶的角度看,最嚴(yán)重的錯(cuò)誤是導(dǎo)致程序不能滿足用戶需求的那些錯(cuò)誤。2.應(yīng)該遠(yuǎn)在測(cè)試開始之前就制定出測(cè)試計(jì)劃。實(shí)際上,一旦完成了需求模型就可以著手制定測(cè)試計(jì)劃,在建立了設(shè)計(jì)模型之后就可以立即開始設(shè)計(jì)詳細(xì)的測(cè)試方案。因此,在編碼之前就可以對(duì)所有測(cè)試工作進(jìn)行計(jì)劃和設(shè)計(jì)。3.把Pareto原理應(yīng)用到軟件測(cè)試中。Pareto原理說(shuō)明,測(cè)試發(fā)現(xiàn)的錯(cuò)誤中的80%很可能是由程序中20%的模塊造成的。當(dāng)然,問(wèn)題是怎樣找出這些可疑的模塊并徹底地測(cè)試它們。4.應(yīng)該從“小規(guī)模”測(cè)試開始,并逐步進(jìn)行“大規(guī)模”測(cè)試。通常,首先重點(diǎn)測(cè)試單個(gè)程序模塊,然后把測(cè)試重點(diǎn)轉(zhuǎn)向在集成的模塊簇中尋找錯(cuò)誤,最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。5.窮舉測(cè)試是不可能的。所謂窮舉測(cè)試就是反程序所有執(zhí)行路徑都檢查一遍的測(cè)試。即使是一個(gè)中等規(guī)模的程序,其執(zhí)行路徑的排列數(shù)也十分龐大,由于受時(shí)間、人力以及其他資源的限制,在測(cè)試過(guò)程中不可能執(zhí)行每個(gè)路徑。因此,測(cè)試只能證明程序中有錯(cuò)誤,不能證明程序中沒(méi)有錯(cuò)誤。但是精心地設(shè)計(jì)測(cè)試方案,有可能充分覆蓋程序邏輯并使程序達(dá)到所要求的可靠性。6.為了達(dá)到最佳的測(cè)試效果,應(yīng)該由獨(dú)立的第三方從事測(cè)試工作。系統(tǒng)整體測(cè)試步驟軟件測(cè)試的主要步驟有單元測(cè)試、集成測(cè)試和確認(rèn)測(cè)試。1.單元測(cè)試單元測(cè)試也稱模塊測(cè)試。通常單元測(cè)試可放在編碼階段,程序員在編寫好一個(gè)模塊后,總會(huì)對(duì)自己編寫的模塊進(jìn)行測(cè)試,檢查它是否實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)說(shuō)明書中規(guī)定的模塊功能和算法。單元測(cè)試主要發(fā)現(xiàn)編碼和詳細(xì)設(shè)計(jì)中產(chǎn)生的錯(cuò)誤,通常采用白盒測(cè)試。2.集成測(cè)試集成測(cè)試也稱組裝測(cè)試,它是對(duì)由各模塊組裝而成的程序進(jìn)行測(cè)試,主要檢查模塊間的接口和通信。集成測(cè)試主要發(fā)現(xiàn)設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,通常采用黑盒測(cè)試。3.確認(rèn)測(cè)試確認(rèn)測(cè)試的任務(wù)是檢查軟件的功能、性能及其他特征與用戶需求是否一致,它是以需求規(guī)格說(shuō)明書作為依據(jù)的測(cè)試。確認(rèn)測(cè)試通常采用黑盒測(cè)試。確認(rèn)測(cè)試產(chǎn)生測(cè)試程序是否滿足需求規(guī)格說(shuō)明書所列的各項(xiàng)要求,然后要進(jìn)行軟件配置復(fù)查,特別是有關(guān)文檔是否齊全,各方面的質(zhì)量是否符合要求等。如果一個(gè)軟件是為某個(gè)客戶定制的,那么最后由客戶來(lái)實(shí)施驗(yàn)收測(cè)試,以便客戶確認(rèn)該軟件是他所需要的。如果一個(gè)軟件是作為產(chǎn)品被許多客戶使用的話,那不可能為每個(gè)客戶進(jìn)行驗(yàn)收測(cè)試。大多數(shù)軟件生產(chǎn)者使用一種Alpha測(cè)試和Beta測(cè)試的過(guò)程,來(lái)揭露僅由最終用戶才能發(fā)現(xiàn)的錯(cuò)誤。本系統(tǒng)測(cè)試軟件測(cè)試方法從測(cè)試人員角度看,可分為手動(dòng)測(cè)試和自動(dòng)測(cè)試。從源代碼的角度可分為單元測(cè)試和功能測(cè)試。從理論定義來(lái)分,可分為黑盒測(cè)試,白盒測(cè)試。對(duì)軟件測(cè)試而言,黑盒測(cè)試法把程序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。也就是說(shuō),黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運(yùn)行過(guò)程中能否保持外部信息的完整性。黑盒測(cè)試又稱為功能測(cè)試。白盒測(cè)試法與黑盒測(cè)試法相反,它的前提是可以把程序看成裝在一個(gè)透明的白盒子里,測(cè)試者完全知道程序的結(jié)構(gòu)和處理算法。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程序中的主要執(zhí)行通路是否按預(yù)定要求正確工作。白盒測(cè)試又稱結(jié)構(gòu)測(cè)試。用戶登錄模塊測(cè)試所用戶登錄注冊(cè)模塊測(cè)試,首先要進(jìn)行注冊(cè)信息的輸入,當(dāng)輸入的信息與程序中設(shè)定的條件不符時(shí),會(huì)提示錯(cuò)誤信息。注冊(cè)用戶名不能與數(shù)據(jù)庫(kù)表中的用戶名重復(fù)。當(dāng)用戶信息填寫不正確時(shí),會(huì)提示錯(cuò)誤信息,如圖6-1所示。圖6-1錯(cuò)誤信息提示出庫(kù)商品模塊測(cè)試列舉一個(gè)測(cè)試用例,葡萄干庫(kù)存數(shù)量為40,出庫(kù)數(shù)量為60,如果點(diǎn)擊出庫(kù)會(huì)造成庫(kù)存不足的錯(cuò)誤,成功的程序會(huì)顯示出提示錯(cuò)誤信息如圖6-2所示。圖6-2提示錯(cuò)誤信息入庫(kù)與需求模塊測(cè)試在入庫(kù)商品時(shí),現(xiàn)列舉一個(gè)測(cè)試用例,葡萄干庫(kù)存數(shù)量為40,現(xiàn)進(jìn)貨20,成功之后庫(kù)存數(shù)量會(huì)顯示為60,如下圖6-3所示。圖6-3入庫(kù)成功本章小結(jié)目前軟件測(cè)試仍然是保證軟件可靠性的主要手段。測(cè)試階段的根本任務(wù)是發(fā)現(xiàn)并改正軟件中的錯(cuò)誤。軟件測(cè)試是軟件開發(fā)過(guò)程中最艱巨繁重的任務(wù),大型軟件的測(cè)試應(yīng)該分階段地進(jìn)行,通常至少分為單元測(cè)試、集成測(cè)試和確認(rèn)測(cè)試3個(gè)基本階段。在測(cè)試過(guò)程中,各主要功能模塊符合測(cè)試要求,能夠按照功能要求正常運(yùn)行。結(jié)論旭日物流庫(kù)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)至此已全部完成。在畢業(yè)設(shè)計(jì)期間學(xué)到了更深的專業(yè)知識(shí),在今后的工作和學(xué)習(xí)中還有更多的知識(shí)要學(xué)習(xí)。在整個(gè)論文中的寫作過(guò)程中,除了加深對(duì)以前所學(xué)習(xí)的知識(shí)的復(fù)習(xí)之外,更多的結(jié)合了這三年的時(shí)間在學(xué)校里所學(xué)的理論知識(shí),將這些零散的東西更加系統(tǒng)的進(jìn)行了總結(jié)。本系統(tǒng)我采用四層結(jié)構(gòu)設(shè)計(jì),遵循MVC結(jié)構(gòu)設(shè)計(jì),這四層結(jié)構(gòu)分別為表示層、業(yè)務(wù)邏輯層、持久層與數(shù)據(jù)庫(kù)層。既然用到MVC結(jié)構(gòu)設(shè)計(jì)需要用到Struts架構(gòu),會(huì)用到j(luò)sp、ActonForm、Structs標(biāo)簽等技術(shù),業(yè)務(wù)邏輯層也是用到Struts架構(gòu),持久層為了減少使用SQL和JDBC處理數(shù)據(jù)的時(shí)間,采用了Hibernate框架,Hibernate框架不僅能夠管理java類到數(shù)據(jù)庫(kù)表的映射,還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法。數(shù)據(jù)庫(kù)層采用如今開源,使用方便,占用空間小巧的MySQL數(shù)據(jù)庫(kù),因?yàn)椴簧婕皬?fù)雜的事務(wù)處理,所以沒(méi)有采用大型的數(shù)據(jù)庫(kù)。本系統(tǒng)具有實(shí)用可靠、安全性好、查詢方便快速及易于操作、易于維護(hù)等特點(diǎn)。它的設(shè)計(jì)與實(shí)現(xiàn)都是從實(shí)際情況出發(fā),使用管理物流的庫(kù)存管理工作更加簡(jiǎn)便、更加規(guī)范化。由于設(shè)計(jì)時(shí)間較短,個(gè)人精力有限所以本系統(tǒng)還有一些不足,比如沒(méi)有實(shí)現(xiàn)比較功能健全的系統(tǒng),在今后的學(xué)習(xí)和使用過(guò)程中慢慢的改善和學(xué)習(xí)。致謝經(jīng)過(guò)這三個(gè)多月時(shí)間的忙碌,畢業(yè)設(shè)計(jì)終于完成,能完成這次畢業(yè)設(shè)計(jì)與指導(dǎo)老師和同學(xué)的幫助和支持是密不可分的。本次畢業(yè)設(shè)計(jì)在指導(dǎo)老師的精心指導(dǎo)下完成。為了讓同學(xué)們的畢業(yè)設(shè)計(jì)能夠按時(shí)完成,幫助同學(xué)們把握進(jìn)度,老師們放棄了自己的休息時(shí)間,為同學(xué)們指導(dǎo)。翟霞導(dǎo)師以淵博的知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度深深的影響著本人。每次與翟老師交流時(shí),翟老師給予本人耐心細(xì)致的指導(dǎo)和幫助,也給本人提出了很多極為有益的意見(jiàn)和建議,使本人的畢業(yè)設(shè)計(jì)逐步地趨于完善。讓本人學(xué)到很多東西。在本次畢業(yè)設(shè)計(jì)階段中,給本人留下了深刻的印象,可以想象,如果沒(méi)有老師的幫助,本人的畢業(yè)設(shè)計(jì)是不可能完成的。在此,對(duì)老師表示衷心的感謝。謝謝您。同時(shí),在本次畢業(yè)設(shè)計(jì)過(guò)程中也得到了同學(xué)們的熱心幫助,感謝在整個(gè)畢業(yè)設(shè)計(jì)期間和我密切合作的同學(xué),和曾經(jīng)在各個(gè)方面給予過(guò)本人幫助的伙伴們,在此,本人再一次真誠(chéng)地向幫助過(guò)所有老師和同學(xué)表示感謝。參考文獻(xiàn)1王磊杰.JavaEE開發(fā)指南.人民郵電出版社,2007:102-1202張海藩.軟件工程導(dǎo)論.清華大學(xué)出版社,2007:50-1003周競(jìng)濤.Eclipse完全手冊(cè).電子工業(yè)出版社,2006:10-314結(jié)城浩.設(shè)計(jì)模式:java語(yǔ)言中的應(yīng)用.中國(guó)鐵道出版社,2007:40-505孫衛(wèi)琴.JAVA面向?qū)ο缶幊?電子工業(yè)出版社,2006:43-566閃四清.Mysql基礎(chǔ)教程.清華大學(xué)出版社,2007:45-507曹廣鑫.ava企業(yè)開發(fā)項(xiàng)目實(shí)踐.清華大學(xué)出版社,2004:20-308薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論.高等教育出版社,2000:25-559王磊杰.JavaEE開發(fā)指南.人民郵電出版社,2007:100-123士平.JSP編程技巧.機(jī)械工業(yè)出版社,2000:100-14211PhilHanna.JSP技術(shù)大全.機(jī)械工業(yè)出版社,2002:123-14012孫衛(wèi)琴.基于JavaWeb設(shè)計(jì)與開發(fā).電子工業(yè)出版社,2004:20-3613RogerS.pressman.SoftwareEngineering.JasonAronson,2002:12-6514StevenHolzner.Struts:EssentialSkills.McGraw-Hill,2007:35-4615NicolaiM.Josuttis.CoreJava.Monkeywrench,2003:42-4616ArnoldDoray.JSPTechnology.ApressL.P.,2005:28-43附錄1譯文數(shù)據(jù)庫(kù)的優(yōu)化數(shù)據(jù)庫(kù)是企業(yè)信息的核心,其應(yīng)用水平的高低直接影響到企業(yè)管理水平。選擇了一個(gè)高性能的數(shù)據(jù)庫(kù)產(chǎn)品不等于就有一個(gè)好的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),如果數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)不合理,不僅會(huì)增加客戶端和服務(wù)器端程序的編程和維護(hù)的難度,而且還會(huì)影響系統(tǒng)實(shí)際運(yùn)行的性能。本專題主要講解數(shù)據(jù)庫(kù)各種性能優(yōu)化技術(shù),從而避免磁盤I/O瓶頸、減少CPU利用率和減少資源競(jìng)爭(zhēng)。優(yōu)化一個(gè)設(shè)計(jì)得很糟糕或者索引創(chuàng)建得很差的數(shù)據(jù)庫(kù)可以成數(shù)量級(jí)的提高性能。如果你想得到高性能的話,你就必須根據(jù)你即將運(yùn)行的SQL來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)和索引。同時(shí)你應(yīng)該對(duì)于不同類型的查詢性能的需求有一個(gè)預(yù)估,因?yàn)閷?duì)于一類查詢的修改或者表結(jié)構(gòu)的改變可能會(huì)影響其他的行為。比如說(shuō),為了提高查詢效率而增加的索引會(huì)降低更新的速度。同樣的,一個(gè)非歸一化的表結(jié)構(gòu)可能在提高一些類型的查詢效率的同時(shí)降低另外一些的效率。添加計(jì)數(shù)和匯總表是一個(gè)優(yōu)化查詢的好路子,但是它也會(huì)帶來(lái)維護(hù)上的問(wèn)題。有時(shí)候你需要超越一個(gè)開發(fā)者的職能,去質(zhì)疑提到你面前的業(yè)務(wù)需求。那些不懂?dāng)?shù)據(jù)庫(kù)系統(tǒng)的人通常會(huì)提出一些會(huì)影響性能的業(yè)務(wù)需求。如果你告訴他們,一個(gè)很小的功能可能會(huì)要求兩倍于現(xiàn)在的硬件時(shí),他們很可能砍掉這個(gè)需求。表結(jié)構(gòu)優(yōu)化以及建立索引不僅需要對(duì)系統(tǒng)有一個(gè)整體的把握,同時(shí)也要求對(duì)細(xì)節(jié)有足夠的關(guān)注。你需要理解整個(gè)系統(tǒng)以及明白系統(tǒng)的各個(gè)部分之間是如何相互影響的。本章從數(shù)據(jù)類型的討論開始,接下來(lái)到索引策略以及歸一化。最后針對(duì)存儲(chǔ)引擎提前了一些注意點(diǎn)。1.選擇最優(yōu)的數(shù)據(jù)類型MySQL支持許多種數(shù)據(jù)類型,因此選取正確的數(shù)據(jù)類型來(lái)存儲(chǔ)你的數(shù)據(jù)是提高性能一個(gè)很重要的指標(biāo)。下面是一些很簡(jiǎn)單的指標(biāo),它可以幫助你來(lái)做出正確的選擇,不管你正在存儲(chǔ)的是什么類型的數(shù)據(jù)。2.越小越好一般來(lái)說(shuō),盡量使用可以正確存儲(chǔ)和表示你的最小數(shù)據(jù)類型。數(shù)據(jù)越小一般來(lái)說(shuō)也就越快,因?yàn)樗麄冋加玫拇疟P空間、內(nèi)存以及CPU緩存更小。他們一般也會(huì)使用更小的CPU周期來(lái)處理。確保你沒(méi)有低估你需要存儲(chǔ)的數(shù)據(jù)的范圍,因?yàn)槿绻愦_實(shí)需要增加數(shù)據(jù)類型的范圍的話,你會(huì)發(fā)現(xiàn)這是一個(gè)很費(fèi)時(shí)費(fèi)力的事情。如果你對(duì)于選擇哪一種數(shù)據(jù)類型有疑惑,那么就選擇你認(rèn)為不會(huì)超過(guò)數(shù)據(jù)范圍的最小類型(如果系統(tǒng)負(fù)載不是很重,或者沒(méi)有存儲(chǔ)很多數(shù)據(jù)的話,或者你正在處于設(shè)計(jì)的前期的話,你可以在以后很容易的修改它)。3.簡(jiǎn)單即美越簡(jiǎn)單的數(shù)據(jù)類型一般也就需要越少的CPU周期去處理。比如說(shuō),整數(shù)就比字符串更容易比較大小,因?yàn)樽址约八谋容^規(guī)則使得字符串比較變得更加復(fù)雜。這里有兩個(gè)例子:在MySQL中你應(yīng)該使用它的內(nèi)置類型而不是字符串來(lái)存儲(chǔ)日期和時(shí)間,另外你也應(yīng)該使用整數(shù)來(lái)存儲(chǔ)IP地址。這些內(nèi)容我們會(huì)在后面的章節(jié)中詳細(xì)討論。4.盡可能避免NULL如果可能的話,你需要將所有的列定義為NOTNULL的。許多表包括了一些可以為NULL的列,甚至應(yīng)用中根本就不需要存儲(chǔ)NULL(即沒(méi)有數(shù)據(jù)),這一切僅僅是因?yàn)樗哪J(rèn)值是NULL。除非你確認(rèn)需要使用NULL,否則你都要把那些列設(shè)置為NOTNULL。建立“適當(dāng)”的索引是實(shí)現(xiàn)查詢優(yōu)化的首要前提。索引(index)是除表之外另一個(gè)重要的、用戶定義的存儲(chǔ)在物理介質(zhì)上的數(shù)據(jù)結(jié)構(gòu)。當(dāng)根據(jù)索引碼的值搜索數(shù)據(jù)時(shí),索引提供了對(duì)數(shù)據(jù)的快速訪問(wèn)。事實(shí)上,沒(méi)有索引,數(shù)據(jù)庫(kù)也能根據(jù)SELECT語(yǔ)句成功地檢索到結(jié)果,但隨著表變得越來(lái)越大,使用“適當(dāng)”的索引的效果就越來(lái)越明顯。其實(shí),我們漢語(yǔ)字典的正文本身就是一個(gè)聚集索引。比如,我們要查“安”字,就會(huì)很自然地翻開字典的前幾頁(yè),因?yàn)椤鞍病钡钠匆羰恰癮n”,而按照拼音排序漢字的字典是以英文字母“a”開頭并以“z”結(jié)尾的,那么“安”字就自然地排在字典的前部。如果您翻閱了所有以“a”開頭的部分仍然找不到這個(gè)字,那么就說(shuō)明您的字典中沒(méi)有這個(gè)字。也就是說(shuō),字典的正文部分本身就是一個(gè)目錄,您不需要再去查其他目錄來(lái)找到您需要找的內(nèi)容。建立一個(gè)web應(yīng)用,分頁(yè)瀏覽功能必不可少。這個(gè)問(wèn)題是數(shù)據(jù)庫(kù)處理中十分常見(jiàn)的問(wèn)題。經(jīng)典的數(shù)據(jù)分頁(yè)方法是:ADO紀(jì)錄集分頁(yè)法,也就是利用ADO自帶的分頁(yè)功能來(lái)實(shí)現(xiàn)分頁(yè)。但這種分頁(yè)方法僅適用于較小數(shù)據(jù)量的情形,因?yàn)橛螛?biāo)本身有缺點(diǎn):游標(biāo)是存放在內(nèi)存中,很費(fèi)內(nèi)存。游標(biāo)一旦建立,就將相關(guān)的記錄鎖住,直到取消游標(biāo)。游標(biāo)提供了對(duì)特定集合中逐行掃描的手段,一般使用游標(biāo)來(lái)逐行遍歷數(shù)據(jù),根據(jù)取出數(shù)據(jù)條件的不同進(jìn)行不同的操作。而對(duì)于多表和大表中定義的游標(biāo)循環(huán)很容易使程序進(jìn)入一個(gè)漫長(zhǎng)的等待甚至死機(jī)。在分頁(yè)時(shí),由于這個(gè)聚集索引列存在著重復(fù)記錄,所以無(wú)法使用max或min來(lái)最為分頁(yè)的參照物,進(jìn)而無(wú)法實(shí)現(xiàn)更為高效的排序。而如果將ID主鍵列作為聚集索引,那么聚集索引除了用以排序之外,沒(méi)有任何用處,實(shí)際上是浪費(fèi)了聚集索引這個(gè)寶貴的資源。為解決這個(gè)矛盾,又添加了一個(gè)日期列,其默認(rèn)值為getdate()。用戶在寫入記錄時(shí),這個(gè)列自動(dòng)寫入當(dāng)時(shí)的時(shí)間,時(shí)間精確到毫秒。即使這樣,為了避免可能性很小的重合,還要在此列上創(chuàng)建UNIQUE約束。將此日期列作為聚集索引列。有了這個(gè)時(shí)間型聚集索引列之后,用戶就既可以用這個(gè)列查找用戶在插入數(shù)據(jù)時(shí)的某個(gè)時(shí)間段的查詢,又可以作為唯一列來(lái)實(shí)現(xiàn)max或min,成為分頁(yè)算法的參照物。經(jīng)過(guò)這樣的優(yōu)化,無(wú)論是大數(shù)據(jù)量的情況下還是小數(shù)據(jù)量的情況下,分頁(yè)速度一般都是幾十毫秒,甚至0毫秒。而用日期段縮小范圍的查詢速度和原來(lái)相比也沒(méi)有任何遲鈍。附錄2英文參考資料DatabaseoptimizationThedatabaseistheenterpriseinformationcore,itsapplicationlevelheightimmediateinfluencetobusinessmanagementlevel.Choseahighperformancedatabaseproductnottobeequaltothathadagooddatabaseapplicationsystem,ifthedatabasesystemdesignwereunreasonable,notonlywillincreasetheclientsideandtheserverendprocedureprogrammingandthemaintenancedifficulty,willalsoaffectthesystemactualmovementtheperformance.Thisspecialmainexplanationdatabaseeachperformanceoptimizationtechniques,thusavoids
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲化學(xué)習(xí)平臺(tái)的用戶體驗(yàn)優(yōu)化
- 2024年度浙江省專利代理師科目一(專利法律知識(shí))題庫(kù)檢測(cè)試卷A卷附答案
- 2024年度浙江省專利代理師科目一(專利法律知識(shí))高分通關(guān)題庫(kù)A4可打印版
- 武漢晴川學(xué)院《西牙文學(xué)選讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津醫(yī)學(xué)高等專科學(xué)校《四史》2023-2024學(xué)年第二學(xué)期期末試卷
- 旅游產(chǎn)品設(shè)計(jì)與創(chuàng)新思維
- 廣州工商學(xué)院《油畫肖像》2023-2024學(xué)年第二學(xué)期期末試卷
- 扎蘭屯職業(yè)學(xué)院《篆書》2023-2024學(xué)年第二學(xué)期期末試卷
- 重癥肌無(wú)力中藥治療講課件
- 江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《媒體內(nèi)容存儲(chǔ)與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 中華文化選講(吉林師范大學(xué))知到課后答案智慧樹章節(jié)測(cè)試答案2025年春吉林師范大學(xué)
- 二年級(jí)下冊(cè)數(shù)學(xué)人教版導(dǎo)學(xué)案有余數(shù)的除法例6學(xué)案
- 我是小廚師(廚藝體驗(yàn))主題班會(huì)
- 物業(yè)管理行業(yè)公共區(qū)域安全免責(zé)協(xié)議
- 健康管理中心崗位職責(zé)與要求
- 中國(guó)肥胖及代謝疾病外科治療指南(2024版)解讀
- 2025年西師新版四年級(jí)英語(yǔ)下冊(cè)階段測(cè)試試卷
- 體育場(chǎng)所應(yīng)急預(yù)案
- 南開區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末道德與法治試題
- 《電磁兼容性(EMC)培訓(xùn)》課件
- 孕期預(yù)防產(chǎn)后出血
評(píng)論
0/150
提交評(píng)論