李小恩 王 進(jìn)
摘要:
按照設(shè)計(jì)的模型及流程邏輯,采用Asp語(yǔ)言加Access(SQLserver)數(shù)據(jù)庫(kù),瀏覽器—服務(wù)器B/S結(jié)構(gòu)運(yùn)行模式,先框架后模塊的順序,分別編制了委托、檢驗(yàn)、審核和維護(hù)四個(gè)一級(jí)模塊及相應(yīng)的二級(jí)模塊,結(jié)合相關(guān)的標(biāo)識(shí)與參數(shù),構(gòu)成產(chǎn)品檢驗(yàn)與評(píng)價(jià)自動(dòng)運(yùn)行平臺(tái)。確保程序安全的措施是:編寫數(shù)據(jù)庫(kù)連接程序加密包,將數(shù)據(jù)庫(kù)密碼封裝到用VB制作的加密包,并在服務(wù)器上注冊(cè)。為操作簡(jiǎn)易靈活,專門建立了二級(jí)專用功能模塊連接程序并維護(hù)界面。
關(guān)鍵詞:Asp語(yǔ)言;流程邏輯;標(biāo)識(shí)與參數(shù);加密包;模塊維護(hù)
本系統(tǒng)軟件是為檢驗(yàn)機(jī)構(gòu)和實(shí)驗(yàn)室進(jìn)行產(chǎn)品檢驗(yàn),特別是涉及多種類產(chǎn)品檢驗(yàn)運(yùn)行自動(dòng)化提供技術(shù)支撐的。項(xiàng)目最初設(shè)定的目標(biāo)是:使產(chǎn)品檢驗(yàn)過(guò)程的受理委托、樣品流轉(zhuǎn)、檢驗(yàn)、審核、報(bào)告等,實(shí)現(xiàn)信息記錄、質(zhì)量評(píng)價(jià)、報(bào)告編制、數(shù)據(jù)統(tǒng)計(jì)運(yùn)行自動(dòng)化。據(jù)此我們選用Asp語(yǔ)言,進(jìn)行程序設(shè)計(jì),并結(jié)合項(xiàng)目所涉及的纖維、紡織品、皮革和塑料等材料學(xué),相關(guān)的產(chǎn)品質(zhì)量與標(biāo)準(zhǔn)化,數(shù)理化學(xué)統(tǒng)計(jì)分析等技術(shù),構(gòu)建數(shù)據(jù)庫(kù)及相關(guān)模塊,形成技術(shù)體系,實(shí)現(xiàn)產(chǎn)品檢驗(yàn)與評(píng)價(jià)的自動(dòng)運(yùn)行。
1對(duì)Asp語(yǔ)言的優(yōu)勢(shì)利用
當(dāng)前的計(jì)算機(jī)語(yǔ)言以VC、VB、Delphi為代表,其優(yōu)點(diǎn)是語(yǔ)法結(jié)構(gòu)嚴(yán)謹(jǐn),編寫的軟件運(yùn)行速度快。然而缺點(diǎn)也很明顯:與網(wǎng)絡(luò)結(jié)合性差;對(duì)計(jì)算機(jī)硬件要求高;因其運(yùn)行構(gòu)成包括服務(wù)器端和客戶端兩部分,聯(lián)網(wǎng)計(jì)算機(jī)需安裝客戶端軟件界面并做連接維護(hù)才能使用,因此一般只運(yùn)行于局域網(wǎng)。Asp語(yǔ)言屬解釋性語(yǔ)言,功能強(qiáng)大且使用非常方便,其軟件可很方便地運(yùn)行于各種網(wǎng)絡(luò)。首先,將其安裝到服務(wù)器上,客戶端只需使用Windows系統(tǒng)自帶的瀏覽器即可訪問(wèn)。其次,充分利用Asp語(yǔ)言的優(yōu)勢(shì)與靈活性,能很好地解決以上計(jì)算機(jī)語(yǔ)言不能夠解決的許多問(wèn)題。如通過(guò)對(duì)數(shù)據(jù)庫(kù)和程序結(jié)構(gòu)的合理設(shè)計(jì),很容易使系統(tǒng)程序達(dá)到“包容性強(qiáng)”、“擴(kuò)展性強(qiáng)”、“可維護(hù)性強(qiáng)”的目的。鑒于此,我們選擇Asp語(yǔ)言編制本系統(tǒng)程序。
在系統(tǒng)程序編寫中,我們利用Asp語(yǔ)言的優(yōu)勢(shì)包括:
1)編寫操作容易。Asp語(yǔ)言語(yǔ)法與VB很接近,學(xué)過(guò)Basic語(yǔ)言的人很容易掌握。
2)對(duì)編寫環(huán)境條件要求不高。以Asp為代表的解釋性語(yǔ)言具有很高的靈活性,一般使用Dreamweaver或者Frontpage作為編寫工具,當(dāng)隨身攜帶的電腦上沒(méi)有安裝這些軟件時(shí),也可以使用Windows自帶記事本來(lái)編寫。
3)良好的相容性。當(dāng)需要時(shí)可以將Asp語(yǔ)言嵌套在超文本文檔中,使其在HTML文檔中所需要的地方出現(xiàn)。
4)強(qiáng)大的擴(kuò)充功能。通過(guò)應(yīng)用Visual Basic、Java、Visual C ++ 等多種程序語(yǔ)言制作ActiveX Server Component,滿足了項(xiàng)目程序的特殊需要。
5)簡(jiǎn)化復(fù)雜問(wèn)題的功能。用Asp語(yǔ)言編寫的程序通過(guò)集中技術(shù)解決方案,能使當(dāng)前面臨的移動(dòng)辦公、伴隨移動(dòng)、分散化辦公管理的社會(huì)難題得到解決。
6)可以利用css(網(wǎng)頁(yè)美化代碼)對(duì)其程序顯示界面進(jìn)行美化。人們平時(shí)上網(wǎng)會(huì)看到很多功能強(qiáng)大、界面漂亮的網(wǎng)頁(yè),就是利用css的杰作。
7)程序軟件更新、升級(jí)容易。對(duì)于Asp語(yǔ)言程序升級(jí)只要將服務(wù)器上的代碼更新即可,操作極為簡(jiǎn)單。
8)在客戶機(jī)上瀏覽用Asp語(yǔ)言編寫的系統(tǒng)程序操作簡(jiǎn)便易行。因?yàn)榭蛻魴C(jī)只要Windows系統(tǒng)自帶瀏覽器即可訪問(wèn),不需安裝其他操作軟件,所以本系統(tǒng)程序能夠很方便地運(yùn)行于單機(jī)、局域網(wǎng)或互聯(lián)網(wǎng)。這為以后產(chǎn)品檢驗(yàn)在多平臺(tái)、多用戶的網(wǎng)絡(luò)環(huán)境下運(yùn)行,產(chǎn)品檢驗(yàn)的遠(yuǎn)程化、網(wǎng)絡(luò)化、信息化提供了保障。
2對(duì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)概述
按照設(shè)計(jì)的模型及流程邏輯,采用Asp語(yǔ)言加Access(SQLserver)數(shù)據(jù)庫(kù),瀏覽器—服務(wù)器B/S結(jié)構(gòu)運(yùn)行模式,先框架后模塊的順序,分別編制了委托、檢驗(yàn)、審核和維護(hù)四個(gè)一級(jí)模塊及相應(yīng)的二級(jí)模塊,結(jié)合相關(guān)的標(biāo)識(shí)與參數(shù)設(shè)置,構(gòu)成產(chǎn)品檢驗(yàn)與評(píng)價(jià)自動(dòng)運(yùn)行平臺(tái)?,F(xiàn)舉幾例做簡(jiǎn)要介紹。
2.1系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖
程序運(yùn)行中按照操作者的身份不同分為四個(gè)一級(jí)模塊:委托模塊,檢驗(yàn)?zāi)K,審核模塊,維護(hù)模塊。如圖1。
2.2委托模塊
1)模塊描述:作用是產(chǎn)品檢驗(yàn)運(yùn)行中委托與受理委托的甲乙雙方建立委托協(xié)議的錄入界面。
2)功能:操作者可依據(jù)一個(gè)或者多個(gè)標(biāo)準(zhǔn),或合同約定對(duì)檢驗(yàn)樣品進(jìn)行委托。如圖2。
3)性能:可同時(shí)進(jìn)行多客戶委托。
4)輸入項(xiàng):如表1。
5)流程邏輯:如圖3。
6)接口:如圖4和表2。
2.3檢驗(yàn)?zāi)K
1)程序描述:檢驗(yàn)者在權(quán)限范圍內(nèi)將委托項(xiàng)目的檢驗(yàn)結(jié)果錄入。所有(或部分)項(xiàng)目檢驗(yàn)結(jié)果錄完提交之后,系統(tǒng)會(huì)自動(dòng)給出評(píng)價(jià)。
2)功能:如圖5。
3)性能:可同時(shí)進(jìn)行多個(gè)實(shí)驗(yàn)室檢驗(yàn)結(jié)果的錄入。
4)輸入項(xiàng):如表3。
5)輸出項(xiàng):對(duì)單個(gè)檢驗(yàn)項(xiàng)目來(lái)說(shuō),輸出項(xiàng)數(shù)據(jù)類型為文本,格式是“合格”和“不合格”;對(duì)已檢驗(yàn)提交的協(xié)議來(lái)說(shuō):輸出項(xiàng)為“該產(chǎn)品所檢項(xiàng)目合格”和“該產(chǎn)品所檢項(xiàng)目不合格”等(對(duì)輸出項(xiàng)可進(jìn)行若干條格式語(yǔ)句維護(hù)),數(shù)據(jù)類型為文本。
6)算法:檢驗(yàn)結(jié)果為“符合”判定為合格,檢驗(yàn)結(jié)果為“不符合”判定為不合格;檢驗(yàn)結(jié)果為數(shù)值,則將其與技術(shù)要求進(jìn)行比較,滿足條件判定合格,不滿足條件判定為不合格。
7)接口:如圖6和表4。
2.4維護(hù)模塊
1)程序描述:為管理員對(duì)產(chǎn)品管理、標(biāo)準(zhǔn)數(shù)據(jù)、專用模塊、客戶管理、實(shí)驗(yàn)室和人員管理以及其他信息進(jìn)行添加、刪除和更改的操作平臺(tái)。
2)接口:如圖7和表5。
3關(guān)于Asp語(yǔ)言的安全性問(wèn)題
在實(shí)際應(yīng)用中,各種軟件的安全性問(wèn)題是不容忽視的,包括在互聯(lián)網(wǎng)上的安全性問(wèn)題,對(duì)用戶內(nèi)部工作人員的防范問(wèn)題。
Asp語(yǔ)言對(duì)來(lái)自客戶端的安全威脅有著很好的防護(hù)功能。由于源程序不會(huì)被傳到客戶瀏覽器,在客戶端看到的代碼都是運(yùn)行結(jié)果的顯示代碼,而非真正的源代碼,所以避免了源程序被他人剽竊;通過(guò)對(duì)數(shù)據(jù)庫(kù)的密碼加密,并將其放置在禁止下載的文件夾中,防止了對(duì)數(shù)據(jù)庫(kù)的惡意下載。
Asp 語(yǔ)言真正的安全問(wèn)題是在服務(wù)器端。當(dāng)服務(wù)器被黑客攻陷,或者其他原因被非法控制,不法行為者即可通過(guò)瀏覽源代碼而獲得數(shù)據(jù)庫(kù)密碼,取得對(duì)數(shù)據(jù)庫(kù)的管理權(quán),從而給系統(tǒng)運(yùn)行安全造成極大威脅。所以對(duì)軟件本身進(jìn)行加密是非常必須要的。
軟件工程師們?yōu)榻鉀QAsp語(yǔ)言軟件加密問(wèn)題編制出了各種各樣的代碼加密軟件。有的軟件公司聲稱專門編制了能保證代碼安全的加密軟件。其實(shí)其可靠性是值得懷疑的。也經(jīng)常有人就此問(wèn)題推薦使用微軟的screnc加密小軟件,加密后的軟件程序雖然正常運(yùn)行,但顯現(xiàn)的卻是亂碼,不能識(shí)讀??墒侨藗兒苋菀自诨ヂ?lián)網(wǎng)上找到對(duì)該加密小軟件的解碼程序。
實(shí)際上,真正意義上的加密還得靠程序編制者自己。我們采取的措施是使用VB制作一個(gè)數(shù)據(jù)庫(kù)連接程序的加密包,將數(shù)據(jù)庫(kù)密碼封裝在這個(gè)加密包內(nèi),然后在服務(wù)器上注冊(cè)。經(jīng)此處理的系統(tǒng)程序運(yùn)行時(shí),即使服務(wù)器的管理員也不能獲取數(shù)據(jù)庫(kù)密碼。
4程序編寫中的幾個(gè)問(wèn)題與解決方案
在整個(gè)系統(tǒng)程序編制過(guò)程中曾出現(xiàn)許許多多的問(wèn)題,經(jīng)過(guò)修改設(shè)計(jì)方案,或改變編寫路徑等,最后經(jīng)測(cè)試均獲得了很好的效果?,F(xiàn)舉幾例。
4.1打印
在Asp頁(yè)面實(shí)施打印一般解決的途徑有:導(dǎo)出為Word格式,導(dǎo)出為Excel格式,采用IE內(nèi)置模塊。因?yàn)槭褂肳ord格式和Excel格式調(diào)出的數(shù)據(jù)和格式允許被修改,這是本項(xiàng)目的設(shè)計(jì)者所不能接受的。我們采用的IE內(nèi)置打印模塊,能做到調(diào)出的數(shù)據(jù)和格式不被修改,確保了打印界面的固定,打印內(nèi)容和形式的唯一性。同時(shí)我們還采用css對(duì)輸出的表格進(jìn)行修飾,對(duì)不需要打印的控件進(jìn)行隱藏,對(duì)分頁(yè)進(jìn)行控制,起到了簡(jiǎn)潔美化打印界面,合理布局打印頁(yè)面的良好效果。
4.2對(duì)功能模塊維護(hù)界面設(shè)定
本系統(tǒng)程序現(xiàn)已匯集了多個(gè)功能模塊,隨著技術(shù)標(biāo)準(zhǔn)的改進(jìn),還會(huì)有新的檢驗(yàn)項(xiàng)目對(duì)新的功能模塊的需求。按照常規(guī)將新編寫的功能模塊加載到總模塊上,編寫人員要在繁雜的程序中尋找連接接口,是要花費(fèi)一番工夫的。一般產(chǎn)品檢驗(yàn)技術(shù)人員對(duì)系統(tǒng)進(jìn)行標(biāo)準(zhǔn)數(shù)據(jù)維護(hù)時(shí),也難以進(jìn)行檢驗(yàn)項(xiàng)目與特定功能模塊連接。針對(duì)現(xiàn)有的和以后可能要出現(xiàn)的各種功能模塊在種類和數(shù)量上的增加,還有檢驗(yàn)人員在標(biāo)準(zhǔn)數(shù)據(jù)維護(hù)時(shí)的需要,我們專門建立了簡(jiǎn)易靈活的功能模塊連接程序并維護(hù)界面。
4.3關(guān)于規(guī)格設(shè)置問(wèn)題
設(shè)置規(guī)格的目的是為了使本系統(tǒng)適用范圍得到進(jìn)一步擴(kuò)展,涵蓋更多的產(chǎn)品。不同的產(chǎn)品標(biāo)準(zhǔn)對(duì)規(guī)格的設(shè)定和要求差異很大,有的產(chǎn)品的規(guī)格還要作為檢驗(yàn)項(xiàng)目,有相應(yīng)的技術(shù)要求。將各種產(chǎn)品的不同規(guī)格元素進(jìn)行有效整合,使之在程序運(yùn)行中能夠高效地調(diào)動(dòng)相關(guān)數(shù)據(jù),是一個(gè)較復(fù)雜的過(guò)程。我們?cè)黾恿俗罡?個(gè)層級(jí)的規(guī)格模型設(shè)計(jì),在一定程度上優(yōu)化了數(shù)據(jù)庫(kù)結(jié)構(gòu)。目前本應(yīng)用軟件基本能夠適用絕大部分產(chǎn)品標(biāo)準(zhǔn)對(duì)質(zhì)量檢驗(yàn)與評(píng)價(jià)的要求(對(duì)報(bào)告評(píng)價(jià)格式有另外要求的需重新設(shè)計(jì))。
4.4對(duì)技術(shù)要求的調(diào)取
技術(shù)要求是標(biāo)準(zhǔn)中的一項(xiàng)重要數(shù)據(jù),是判定產(chǎn)品質(zhì)量是否合格的唯一指標(biāo)。在檢驗(yàn)運(yùn)行時(shí),要求程序能夠根據(jù)委托的參數(shù),自動(dòng)在多組技術(shù)要求數(shù)據(jù)中搜索,正確選取其中一組,是一個(gè)難題。我們利用設(shè)置的規(guī)格、等級(jí)等規(guī)則及與其他參數(shù)關(guān)聯(lián)技術(shù),保證了系統(tǒng)在檢驗(yàn)運(yùn)行時(shí)能夠準(zhǔn)確調(diào)取相應(yīng)的技術(shù)要求,并與檢驗(yàn)結(jié)果進(jìn)行比較判定。
構(gòu)建一個(gè)功能齊全、系統(tǒng)靈活、實(shí)用范圍廣、自動(dòng)化程度高的檢驗(yàn)與評(píng)價(jià)技術(shù)體系,是一個(gè)復(fù)雜的過(guò)程,特別是在程序編寫與數(shù)據(jù)庫(kù)構(gòu)建中,必須嚴(yán)格遵循預(yù)設(shè)條件與目標(biāo),進(jìn)行詳細(xì)設(shè)計(jì),一絲不茍地執(zhí)行方能夠?qū)崿F(xiàn)。
(作者單位:陜西省纖維檢驗(yàn)局)