馬 黎
(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476100)
我國水產(chǎn)品的發(fā)展歷史不長,也不是特別成熟,水產(chǎn)養(yǎng)殖戶是沿海居民的主體.可想而知,他們的思維頗為有限.他們中的大多數(shù)人會利用當(dāng)?shù)刭Y源進(jìn)行水產(chǎn)養(yǎng)殖和配送,但不會考慮利用高科技完成水產(chǎn)品的配送.因此,在引進(jìn)先進(jìn)的配送系統(tǒng)的同時,引進(jìn)相應(yīng)的系統(tǒng)構(gòu)建的原則和系統(tǒng)框架是很有必要的,尤其是在水產(chǎn)品的配送上,在該系統(tǒng)的設(shè)計時應(yīng)注重的是相應(yīng)的配送和庫存,要想配送系統(tǒng)足夠完善,必須同時滿足業(yè)務(wù)人員日常工作的需求和管理人員的管理分析的需求[1]51-53,56.在物流方面,中國也增加了基礎(chǔ)設(shè)施的規(guī)模,近年來,隨著網(wǎng)絡(luò)的發(fā)展我國的運輸量也在增加,政府對物流也給予了各種政策支持.在當(dāng)今信息時代,特別是在這樣一個網(wǎng)絡(luò)飛速發(fā)展的時代,要想產(chǎn)品的每一個環(huán)節(jié)都能做到精準(zhǔn)完善,我們就必須利用信息時代的優(yōu)勢,追求產(chǎn)品運輸效率的最大化,實現(xiàn)利益的最大化.
在中國有很多中小企業(yè), 他們無法像集團(tuán)一樣,擁有完善工作流程, 往往多數(shù)工作都以簡單筆記為主,大量的工作模塊相對獨立, 這給企業(yè)的備錄以及管理都造成了很大的不便.我們目前接觸到的大多數(shù)配送系統(tǒng)都是針對離散型企業(yè).因此,在設(shè)計和構(gòu)建系統(tǒng)時應(yīng)該建立科學(xué)統(tǒng)一的標(biāo)準(zhǔn).一是應(yīng)遵循可操作性原則,盡可能地簡化系統(tǒng);二是遵循本質(zhì)突出原則,選擇典型代表;三是繼承和創(chuàng)新的原則,即在現(xiàn)有指標(biāo)的基礎(chǔ)上補充和完善[2]23-25.在配送方面,為了提高配送效率,需要依靠強大的網(wǎng)絡(luò)和智能系統(tǒng).現(xiàn)如今,許多企業(yè)都在使用ERP系統(tǒng).該系統(tǒng)可以解決公司整個生產(chǎn)、運輸和管理中存在的諸多問題,特別是配送系統(tǒng),既為運輸提供了便利,又為分析各種數(shù)據(jù)提供了原始數(shù)據(jù).
系統(tǒng)設(shè)計的模式是B/S模式.該系統(tǒng)對密鑰數(shù)據(jù)庫的要求非常高,需要數(shù)據(jù)足夠安全,只有強大的數(shù)據(jù)庫支持, 才可以為軟件系統(tǒng)的對接提供足夠的資源數(shù)據(jù).
系統(tǒng)的組成分為3層,瀏覽器可以作為媒介.客戶端可以模擬上述操作,完成數(shù)據(jù)的下載和仿真操作,并在JSP頁面上顯示瀏覽器的性能邏輯.它的內(nèi)部JavaBean組件用于在系統(tǒng)中實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯.通過JSP語言的編譯,實現(xiàn)在JSP服務(wù)器上運行JavaBean組件并返回客戶端瀏覽器.系統(tǒng)對數(shù)據(jù)庫的訪問不是直接進(jìn)行的,而是通過一個名為JDBC的中間組件進(jìn)行訪問.系統(tǒng)的操作是在服務(wù)器端進(jìn)行,系統(tǒng)本身的兩個邏輯——事物邏輯和數(shù)據(jù)邏輯是根據(jù)數(shù)據(jù)庫的服務(wù)器來定義.系統(tǒng)的性能表現(xiàn)手段是JSP技術(shù),該系統(tǒng)的JSP驅(qū)動引擎是使用Tomcat 5.0.3作為系統(tǒng)服務(wù)器,JDBC驅(qū)動程序用來完成系統(tǒng)的業(yè)務(wù)邏輯并實現(xiàn)數(shù)據(jù)庫訪問,如圖1所示.
Java是Sun公司的科研結(jié)晶,而JDBC則是JavaSoft實現(xiàn)鏈接數(shù)據(jù)庫的一門技術(shù),該技術(shù)能夠?qū)⒏鞣N通用數(shù)據(jù)庫完美的鏈接起來.JDBC之于Web相當(dāng)于ODBC之于Windows.簡單地說,JDBC具備3種功能:和同一個數(shù)據(jù)庫搭建連接線路;向目標(biāo)數(shù)據(jù)庫傳輸特定得SQL語句;可以對數(shù)據(jù)庫回饋回來的數(shù)據(jù)做進(jìn)一步處理.
JDBC作為一種編程接口,其特殊之處在于它可以執(zhí)行SQL語句.JDBC是基于Java語言進(jìn)行編寫.為了方便程序開發(fā)人員和數(shù)據(jù)庫開發(fā)人員使用,JDBC有一些標(biāo)準(zhǔn)化的接口.因此,開發(fā)人員可以用Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序[3]175-176.
使用JDBC技術(shù),開發(fā)人員可以輕松地將SQL語句轉(zhuǎn)移到數(shù)據(jù)庫中.換句話說,開發(fā)人員需要編寫用于訪問Sybase的程序,再編寫一個用來訪問Oracle的程序,通過Java編寫的程序兼容所有的Java平臺,避免了多次開發(fā)的重復(fù)動作.Java和JDBC兩種語言都能夠?qū)崿F(xiàn)“write once, run every where”,與其他語言相比,Java是健壯的、安全的、易于移植的,并且可以在基于數(shù)據(jù)庫的軟件開發(fā)的基礎(chǔ)上自動下載.這是一種非常實用的編程需求,易于實現(xiàn)數(shù)據(jù)庫的連接工作.它的重點是將Java應(yīng)用程序鏈接到各種數(shù)據(jù)庫和JDBC中.
數(shù)據(jù)庫對象以及方法均選用Java語言和SQL技術(shù).因此,次序為importjava-SQL-*-連接數(shù)據(jù)庫,首先需要被轉(zhuǎn)移到數(shù)據(jù)庫中.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");這是JDBC-ODBC的驅(qū)動程序.
如果想要鏈接到指定的數(shù)據(jù)庫,就必須找到一個構(gòu)建連接類的實際示例.
String url = "jdbc:odbc:Groge";
Connection con = Driver Manager.get Connection(url);
值得關(guān)注的是,ODBC在設(shè)置控制板上寫入的資源名稱就將作為數(shù)據(jù)的使用名稱.URL語法上也會受到數(shù)據(jù)庫的差異性影響.目前廣泛使用的語法規(guī)則是:jdbc:subprotocol:subname, JDBC會作為標(biāo)志放在前面,緊跟其后的是子協(xié)議,最后才是ODBC的名字.
本系統(tǒng)使用的是JDBC和ODBC相結(jié)合的驅(qū)動,通過它來實現(xiàn)數(shù)據(jù)庫的鏈接通過JavaBean可以很好地規(guī)避代碼重復(fù)的風(fēng)險.
系統(tǒng)主要管理模塊:
1)商品類別管理:不同品類商品的銷售、編碼、含單一品類、編碼、包裝等,能夠節(jié)約時間,商品數(shù)量(包括重量以及余量);
2)訂單管理:訂單編碼、商品、日期、總量、客戶地址和姓名.配送服務(wù)主要基于需求安排.現(xiàn)代管理系統(tǒng)要求實現(xiàn)人性化,可以根據(jù)實際需求配送,并盡量降低成本.以分銷訂單為基礎(chǔ)的配送組合能夠顯著提升配送工作的效率水平;
3)客戶管理:主要有顧客單位或姓名、送貨地址、編碼以及電話等;
4)人員管理:司機編碼、人數(shù)、倉儲人員姓名、電話、職責(zé)等;
5)車輛管理:車輛種類、車號、行駛距離、路線、駕駛員;
6)出入庫管理:倉庫的位置、對貨物名稱、貨物數(shù)量、貨運量、列車的號碼、司機姓名、司機的數(shù)量、倉庫的位置、storeworker名稱、庫房的成員數(shù)量、裝運日期、物流的成本和電話號碼.
根據(jù)系統(tǒng)管理模塊的功能需求,設(shè)計系統(tǒng)功能圖,如圖2所示.
圖2 系統(tǒng)功能結(jié)構(gòu)圖
在系統(tǒng)設(shè)計過程中,是否存在問題和漏洞,需要在調(diào)試的過程中進(jìn)行運行測試.在試運行過程中,如果出現(xiàn)簡單的語法錯誤,系統(tǒng)會做出相應(yīng)的提示,要求程序設(shè)計者立即糾正.因此,找出這樣的錯誤并不困難.真正困難的問題是更深層次的,可能是由邏輯錯誤引起的問題,也可能是由某些公式的錯誤操作導(dǎo)致的問題.
4.2.1 測試的重要性和目的性
1)測試的重要性
軟件測試是整個軟件在服務(wù)過程中必不可少的一部分.軟件測試不能產(chǎn)生直接的價值,但它是軟件正常運行的保證.近年來,軟件工程領(lǐng)域出現(xiàn)了一種新的觀點,即測試過程應(yīng)該存在于軟件生命周期的每個階段.
事實上,即使先進(jìn)的技術(shù)和合理的方法也無法達(dá)到零錯誤的可能性.誠然,采用先進(jìn)的設(shè)計需求,最新的開發(fā)方法和完善的開發(fā)鏈接可以在一定程度上消除或減少一部分人為的錯誤,但不會消除全部可能存在的錯誤.只有通過軟件測試階段,才能進(jìn)行誤差密度估計.在重要的軟件項目中,超過40%的工作負(fù)載用于測試軟件,30%~50%的總成本用于測試.
軟件測試的困難之處在于測試人員職業(yè)素養(yǎng),在測試中時常出現(xiàn)錯誤的觀點和錯誤的態(tài)度,包括:在傳統(tǒng)的認(rèn)知中,測試工作并不像其他工作能迅速帶來成效;一名否定的負(fù)責(zé)人在測試中可能發(fā)生錯位,在測試中發(fā)現(xiàn)的軟件錯誤不是建設(shè)性的而是破壞性的;測試工作比較艱苦且要求特別細(xì)致; 程序員過度的自信產(chǎn)生偏激心理,即使出現(xiàn)了錯誤,也不允許別人做出有損自己能力的事情.
2)測試目的
測試的主要目的是發(fā)現(xiàn)設(shè)計錯誤.因此,它的核心是指向最容易出錯的地方或設(shè)計非常復(fù)雜的位置.
所謂軟件測試是帶著尋找錯誤的目的而進(jìn)行的一系列程序操作; 良好的測試工作能夠找出前期尚未發(fā)現(xiàn)的錯誤;對測試工作進(jìn)行評價,判定其是否成功的核心標(biāo)準(zhǔn)是能否找到潛在錯誤.這使我們清楚地認(rèn)識到,測試的意義不是為了展示功能,而是查找錯誤.有些人認(rèn)為軟件一定是錯的,不試圖去發(fā)現(xiàn)所謂的錯誤就不善罷甘休,認(rèn)為這才是測試的目的,這個觀點顯然是錯誤的.
對于測試的認(rèn)識不能只是停留在尋找錯誤的層面上.它還可以通過發(fā)現(xiàn)錯誤分析錯誤產(chǎn)生的原因和錯誤的特征,從而幫助管理者發(fā)現(xiàn)軟件設(shè)計的漏洞,方便進(jìn)一步的改進(jìn).通過測試日志,還可以幫助測試員進(jìn)行有針對性的測試,進(jìn)一步提供測試的權(quán)威性.即使在測試完成之后,沒有發(fā)現(xiàn)錯誤,也不代表測試過程毫無意義,至少,它可以用于質(zhì)量評估.
4.2.2 測試的步驟
測試工作與開發(fā)工作相同,都有其特定的步驟.只有確保正確地完成了預(yù)定步驟,才能進(jìn)行下一步測試.一般來說,考慮到大型軟件系統(tǒng)的結(jié)構(gòu),可以將其分為若干個子系統(tǒng),并根據(jù)各子系統(tǒng)的功能對各子系統(tǒng)的功能單元進(jìn)行測試.
1)單元測試:這個在軟件中最常出現(xiàn)的問題就是編碼不正確或者設(shè)計不當(dāng);
2)系統(tǒng)測試:在此處經(jīng)常會出現(xiàn)軟件設(shè)計錯誤,對需求的描述也不恰當(dāng);
3)驗收測試:在測試過程中,系統(tǒng)的設(shè)計可能與需求規(guī)范不同.
4.2.3 測試的主要內(nèi)容
1)單元測試
單元測試的目的是非常明確的,它是設(shè)計檢測中最不可分割的最小功能單元,查看該單元的顯示功能是否與模塊定義的功能相同,以確保沒有功能偏差.
2)集成測試
集成測試即為根據(jù)設(shè)計目的,將所有系統(tǒng)功能模塊組合在一起,同時檢測功能是否正常,查看是否存在接口問題.在單元和單元的拼裝過程中,一些人為疏忽可能導(dǎo)致危害整個系統(tǒng)的問題可能出現(xiàn),或組合不當(dāng)沒有實現(xiàn)預(yù)定的功能.換句話說,單元中存在的可以忽略的小問題,一旦組合拼裝后,可能會逐步累計,達(dá)到系統(tǒng)無法正常運行的程度,使得整個數(shù)據(jù)結(jié)構(gòu)受到影響.
3)確認(rèn)測試
測試的主要目的是向未來用戶演示系統(tǒng),并確定能夠達(dá)到預(yù)測效果.通過綜合測試,可以進(jìn)行下一步檢驗軟件有效性測試,其目的是為了驗證測試、性能和功能的預(yù)期.
4)系統(tǒng)測試
當(dāng)軟件設(shè)計工作結(jié)束后,系統(tǒng)將結(jié)合全部子系統(tǒng)來測試系統(tǒng)的性能.具體步驟包括功能測試、系統(tǒng)強度測試和安全測試.
系統(tǒng)功能測試:驗證功能是否滿足開發(fā)需求;是否符合設(shè)計所追求的功能;能否滿足用戶的需求.
強度測試:其目的是軟件在重載條件下的功能實現(xiàn).
安全測試:實踐證明,在系統(tǒng)中安裝的保護(hù)裝置可以起到保護(hù)作用,避免各種干擾.該系統(tǒng)主要檢測權(quán)限系統(tǒng),同時可以檢測無效數(shù)據(jù)、錯誤數(shù)據(jù)和非法數(shù)據(jù).
本文在基于JDBC技術(shù)的配送管理系統(tǒng)是將JSP語言和SQL Server 2000數(shù)據(jù)庫相結(jié)合,對于養(yǎng)殖管理系統(tǒng)的設(shè)計、整合與實現(xiàn),系統(tǒng)的安全在整個開發(fā)過程是一個必須考慮的問題,特別是含有重要信息或敏感數(shù)據(jù)的單元.本系統(tǒng)基于現(xiàn)有技術(shù),并結(jié)合網(wǎng)站的實際需要,探討了利用JDBC技術(shù)開發(fā)管理系統(tǒng)的過程.