小型開關電源設計報告及小型企業固定資產管理信息系統的設計與實現-功能設計與實現_第1頁
小型開關電源設計報告及小型企業固定資產管理信息系統的設計與實現-功能設計與實現_第2頁
小型開關電源設計報告及小型企業固定資產管理信息系統的設計與實現-功能設計與實現_第3頁
小型開關電源設計報告及小型企業固定資產管理信息系統的設計與實現-功能設計與實現_第4頁
小型開關電源設計報告及小型企業固定資產管理信息系統的設計與實現-功能設計與實現_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

鄭州大學本科畢業設計論文PAGEPAGE39目錄TOC\o"1-2"\h\z\u第一章、分析開關電源的結構及功能 21什么是開關原電源 22開關電源的結構 23開關電源的功能 3第二章、介紹小型開關電源設計要求和方案選擇 41設計要求 42設計條件 43方案選擇 4第三章、小型開關電源主電路設計 41主電路及主開關的選用和原則 42主電路的設計及分析 53元器件定額及選型 7第四章、小型開關電源控制電路設計及元器件選型 91反饋電路 92過壓保護電路 103功率管驅動電路 11第五章、小型開關電源變壓器設計 11第六章、設計總電路圖 15第七章總結與體會 16第八章參考文獻及網頁 17第一章、分析開關電源的結構及功能1什么是開關原電源凡是用半導體功率管做開關,將一種電源形態轉換成另一種形態的電路,叫做開關變換電路。在轉換時,以自動控制穩定輸出并有各種保護環節的電路,稱為開關電源。要求開關電源具有高穩定性和可以實現小型化。2開關電源的結構開關電源的結構形式很多,按PWM方式來分有以下幾種。A、反激式變換器所謂反激式是指變壓器的初級極性與次級極性相反。如果變壓器的初級上端為正,則次級上端為負。反激式變換器效率高,線路簡單,能提供多路輸出,所以得到了廣泛應用。但是在次級輸出的電壓中,有較大的紋波電壓。為了解決這一問題,只有加大輸出慮波電容和電感,但這樣做的結果是增大了電源的體積。B、反激式雙晶體管變換器開關電源的功率在200W以上,不宜采用單管反激式電路,這時可以利用反激式雙晶體管結構,兩管可用雙極型晶體管或長效應管。其中場效應管特別適用,無論是固定頻率,可變頻率,完全和不完全能量傳遞方式,用場效應管代替雙極型晶體管是首選方案。C、正激式變換器正激式變換器純粹是個隔離元件,它是利用電感L儲能及傳遞電能的。變壓器的初級和次級線圈是相同的同名端,由于電感L的存在,它的電感折算到初級,使初級電感增大,而電流卻減小。正激式變換器的優點是銅耗低,因為使用無氣隙磁芯,電感量較高,變壓器的峰值電流比較小,輸出電壓紋波低;缺點是電路較為復雜,所用元器件多,如果有假負載存在,效率較低。它適用于低電壓,大電流的開關電源,多用于150W以下的小功率場合。它還具有多臺電源并聯使用而互不影響的特點,而且可以自動均很,而反激式卻做不到這點。D、正激式雙晶體管變換器正激式雙晶體管是在單管正激式的電路上再串接一只三極管而組成的,這對于高壓大功率的開關電源來說更加安全可靠。安全可靠是最大的效益,所以,雙管正激式變換器得到了廣泛應用。E、半橋式變換器為了減小開關三極管的電壓應力,可以采用半橋式變換器,它是離線式開關電源較好的拓撲結構。F、橋式變換器G、推挽式變換器推挽式變換器的電路比較復雜,尤其是變壓器的初級和次級都需要兩個繞組,但是它的利用率高,效率高,輸出紋波電壓小,適合用于百瓦級至千瓦級的開關電源中。H、RCC變換器RCC變換器是節流式阻尼變換器,是一種自激式振蕩電路,它的工作頻率隨著輸入電壓的高低和輸出電流的大小而變化。因此,在高功率、大電流場合,它的工作不很穩定,只適用于50W以下的小功率場合。但是其電路簡單,成本低,制作、調試容易,因此,有一定的應用價值。3開關電源的功能給用電設備提供特定電壓、電流,功率的電源。開關電源具有三個條件開關:電力電子器件工作在開關狀態而不是線性狀態高頻:電力電子器件工作在高頻而不是接近工頻的低頻直流:開關電源輸出的是直流而不是交流第二章、介紹小型開關電源設計要求和方案選擇1設計要求思路清晰,給出整體設計和電路圖;給出具體設計思路和電路;寫出設計報告;2設計條件電機控制器中需要性能可靠的電源,否則弱電控制失效,強電設備將會損失嚴重。本設計性能可靠的小型開關電源,為電機控制器的弱電控制部分提供輔助電源,輔助電源要求如下:輸入電源是三相交流220VAC,50HZ,輸出電壓是直流電壓±15.0V,0.1A;±12.0V,0.05A;+15.0V,0.2A;+5.0V,0.8A。3方案選擇由設計條件可知要設計的開關電源是一個小功率(輸出功率為10W),多輸出小型開關電源,結合上面介紹的開關電源的結構形式,顯然選用單端反激式結構。第三章、小型開關電源主電路設計1主電路及主開關的選用和原則為使電源結構簡單,緊湊,工作可靠,減少成本,小功率開關穩壓電源常采用單端反激型電路或單端正激型電路。由設計要求,設計的開關電源是一個小功率,多輸出電源,而反激式變換器效率高,線路簡單,能提供多路輸出。故主電路選用單端反激式變換電路。由于電源輸出的是小功率,所以在這里可以采用MOSFET。MOSFET從驅動模式上來分,屬于電壓控制器件,驅動電路比較簡單,驅動功率甚微,在啟動或穩定工作條件下的峰值電流要比采用雙極型功率晶體管小的多。2主電路的設計及分析A、主電路設計圖如下圖2.1開關電源的主電路B、設計思路由下開關電源的總體工作原理框圖,結合主電路的相關選擇,并查閱相關資料。主電路包括低壓慮波,一次整流,有源調整電路,電子開關,高頻變壓器,二次整流,平滑濾波七個環節。根據夏老師的指導,這次的主電路設計中,低壓濾波部分可以不要。電子開關平滑慮波采樣輸出誤差放大脈寬調制基準電壓電子開關平滑慮波采樣輸出誤差放大脈寬調制基準電壓比較器脈沖驅動低壓濾波一次整流二次整流高頻變壓器有源調整圖2.2開關電源工作原理框圖a一次整流電路采用單相橋式不可控整流,將輸入的220v交流整成電壓范圍為242V~264V的直流電。b有源調整電路包括一次濾波電路和吸收電路兩個部分。其中開關電源一般采用電容輸入型整流濾波電路。吸收回路如下圖所示,它是利用電阻、電容、和阻塞二極管組成的嵌位電路,可有效地保護開關電源功率管不受損壞。c電子開關就是開關電源的主開關,即是開關功率管,它是開關電源的重要部分,是關系帶電源損耗、功率效率的關鍵器件。它的主要參數既不是選用的開關管反向耐壓越大越好,也不是放大倍數越高越好,而是綜合電路參數及其承受的應力平衡。電子開關器件相關電路圖見下邊變換器圖形右邊d高頻變壓器是相對于音頻和工頻變壓器而言的。但是,由于高頻的范圍太廣,要明確的劃分是困難的。因此,我們可將工作頻率在音頻以上的變壓器統稱為高頻變壓器。應該說,這種叫法是不嚴格的。單端反激開關電源的變壓器實質上是一個耦合電感,它承擔著要儲能、變壓,傳遞能量等工作。本次設計的開關電源要實現單輸入,多輸出,所以變換器的繞組有六個,分別為一個一次繞組,四個二次繞組分別對應四個輸出,還有一個反饋繞組,用來控制輸出。個人認為在這次的設計中高頻變壓器的設計是罪為關鍵和復雜的一部分。因為涉及到很多直接與輸出相關的參數計算。變換器如下圖(左)所示。圖2.3左圖高頻變壓器結構圖右圖開關功率管e從高頻變壓器出來的是交流電,必須在經過二次整流才可以得到直流輸出,我采用的是每個輸出端接一個二極管實現整流。f經過變壓器調壓及二次整流后的電源信號中海含有很多的紋波電壓,必須經過處理才能得到理想的輸出。其中部分電路圖如下圖2.4輸出濾波電路主要用作濾波的器件是兩個點解電容和一個扼流電感。3元器件定額及選型a整流二極管的定額及選擇開關電源的整流橋是由4只二極管組成的,沒兩只二極管串聯起來完成交流電壓半周期整流。因此,每只二極管中流過的電流只有整流平均值的一半;每個二極管所承受的電壓是最大反向電壓的一半。輸入回路的峰值電流計算如下:輸入有效電流Ids=Po/Vmax=10/311=0.032A,輸入回路平均電流Idc=Ids*Dmax=0.016A,交流輸入電流峰值Iacp=3.5*Idc=0.056A。輸入回路的最大輸入電流直流電壓Vmax2=2*1.414*220≈622(V),參考《開關電源設計技術與應用實例》書中的表2—6,選用BYV26D型號的快恢復二極管,它的最大反向電壓為Vrm為800V額定整定電流為2.3Ab濾波電容的定額及選擇平均輸入電流I≈0.016A紋波電流為ΔI=0.0032AC=K*Pi=2*12.5=25μF,最大反向電壓為整流輸出最大電壓264V。所以應該選用額定電壓大于264V的,選額定電壓為400V、額定容量為25μF的電解電容器。c吸收回路器件定額與選擇初級繞組Np的電壓Vp=1.414*220≈311(V)加在功率管的電壓峰值Vdsp≈497(V),Dmi=0.2,T=20μs,則To=4μs,則吸收回路的電阻R1=4*(Vdsp/Vp-1)2*(Lp*T)/(To2)=1.43*0.039*20*10-6/(0.4*10-3)2≈7kΩ,時間常數常比周期大的多,一般取5倍左右,則:C1=5*T/R1=100*10-6/(7*103)≈14.3*10-9F≈0.01μF。用開關MOSFET上的峰值電壓減去R1兩端的電壓,就是阻塞二極管所承受的電壓。VR1=1.5*Vs/n,其中Vs是變換器的次級電壓,Vs=15.8V,n是變壓器的變比,n=34/665。VR1=1.5*15.8*665/34≈464(V),所以,VD1所承受的電壓為497-464=33V,選用耐壓值為50V以上的,電流值為3A的肖特基二極管UF5822。d功率管的定額及選擇最大輸入直流電壓為1.414*220≈311(V),Lp是變壓器圓邊繞組的電感為0.039H。Vdsp≈900(V),所以開關功率管的額定電壓要取1000V以上的。才能正常安全工作。e輸出濾波回路器件的定額及選擇扼流圈電感L1-L4起著平滑濾波的作用,流過扼流線圈的電流一般是輸出電流的20%。ΔIL1=Io1*20%=0.8*20%=0.16(A)ΔIL2=Io2*20%=0.2*20%=0.04(A)ΔIL3=ΔIL4=0.1*20%=0.02(A)L=(Vs-Vf-Vo)*To/ΔIL其中Vs=(Vo+VL+VvD)/D所以L1=(5.8/0.51-0.6-5)*10.1/0.16=364.39(μH)L2=(15.8/0.51-0.6-15)*10.1/0.04=3883.55(μH)L3=L4=2L2=7767.1(μH)要求各路輸出紋波電壓應小于此路輸出電壓的1%。第四章、小型開關電源控制電路設計及元器件選型控制電路這要由功率管驅動電路、過壓保護電路和反饋電路三個部分組成,其整體電路圖如下圖4.1控制電路整體電路圖多路輸出是以開關電源總功率不變為前提,還要注意改善負載調整率,減小電磁干擾,消除峰值雙倍磁通效應,增強軟件啟動功能,實現多路對稱輸出。1反饋電路如圖,電阻R5、R6、R7、R8的一端接并接在R9上,另一端各接各組電壓輸出端。這樣,各組輸出電壓都得到了極好的穩定,各組輸出的負載電流從10%變化到100%輸出的負載調整率可以得到計算。下面重點介紹各組反饋電阻的計算方法。圖4.2反饋電路電路圖Vo1(5V)輸出的反饋量由電阻R5的阻值決定,Vo2(15V)輸出的反饋量由R6的阻值決定,Vo3(-15V)輸出的反饋量由R7的阻值決定,Vo4(+15V)輸出的反饋量由R8的阻值決定。首先,計算各路反饋電流If1~~If4。總的反饋電流為:If=Vref/R9=2.5*106/(10*103)=250(μA)輸出總電流:Io=Io1+Io2+Io3+Io4=0.1+0.1+0.2+0.8=1.2(mA)反饋比例系數K1、K2、K3、K4分別為:K1=Io1/Io=2/3K2=Io2/Io=1/6K3=Io3/Io=1/12K4=Io4/Io=1/12各組反饋電流為Ifn=Io*Kn所以可求得各反饋電阻阻值為:R5=(Vo1-2.5)/(If1*10-6)≈15kΩ同理可得R6=300kΩR7=840kΩR8=600kΩ2過壓保護電路本次設計的過壓保護電路采用的是光電耦合方式進行保護的,電路圖見上面的反饋電路。當輸出電壓Vo1由于某種原因急劇升高時,使光電耦合器NEC2501中的發光二極管的電流增大,同時光敏三極管的電流也增大,使可控硅觸發而導通。3功率管驅動電路功率管驅動電路主要用到的一個器件是UC3842,它是在國內應用廣泛的一種電源集成控制器,即可制成正激式也可以制成反激式。圖4.3驅動電路電路圖如圖4.3所示,其中6口輸出的就是功率管的觸發信號。R10、C14是決定該電路工作頻率的重要原件。在本次設計中,開關頻率為50kHz,C14=4700pF,由f=1.8*103/(R10*C14),所以R10=7.7kΩ。C15是消噪電容,C15=0.01μF。管腳1、2接反饋回路。實現根據輸出的變化自動調節輸入。第五章、小型開關電源變壓器設計輸入電壓為220V(50Hz),輸出參數為+15V0.1A;-15V0.1A;+15V0.2A;+5V0.8A.Np是主繞組,Nf是反饋繞組,N1~N4為二次繞組。1選擇磁芯的大小輸出功率Po=Vo1*Io1+Vo2*Io2+Vo3*Io3+Vo4*Io4=15*0.1+15*0.1+15*0.2+5*0.8=10(W)取電源效率為80%,則輸入功率Pi=Po/η=10/0.8=12.5(W)根據輸入功率選擇EE19磁芯,EE19磁芯的有效截面面積Ae=20mm2設工作頻率為f=50KHz,則工作周期T=1/f=20微秒2計算To初級繞組開關晶體管VT1的最大導通時間對應于最低輸入電壓和最大負載。D取0.5To=D*T=0.5*20=10(us)3計算直流輸入電壓變壓器的輸入電壓Vp=220*1.414≈311(V)選擇工作時的磁通密度,對一般形狀、材料的鐵氧體磁芯,當工作頻率為50KHz時,ΔBac=234mT是一個良好的工作區。4計算原邊匝數作用電壓是一個方波,一個導通時間的伏秒值與原邊匝數的關系為:Np=(Vp*To)/(ΔBac*Ae)=(311*10)/(0.234*20)≈665(匝)其中,Np為原邊匝數,Vp為原邊所加直流電壓,To為導通時間,Ae為鐵芯有效面積計算次級匝數設肖特基二極管的管壓降為0.4V,電感濾波線圈的電壓降為0.4V,N1的總電壓值為5.8V初級繞組每伏匝數n=Vp/Np=311/665≈0.47(伏/匝)各次級繞組匝數分別為N1=5.8/0.47≈12(匝)N3和N4的總電壓值都為15.8VN2=15.8/0.47≈34(匝)N3=N4=N2Nf=5.4/0.47≈11(匝)計算選定匝數下占空比的輔助輸出匝數由于N1取12匝,新的每匝反激電壓是5.8/12=0.48(伏/匝),占空比必須以同樣比率變化來維持伏秒值相等。To=(T*0.48)/(0.48+0.47)≈10.1(us),所以占空比D為:D=To/T=10.1/20≈0.51N1=5.8/0.48≈12(匝)N2=N3=N4=15.8/0.48≈33(匝)確定氣隙大小帶氣隙的磁芯在一個更大的磁場強度H下才會產生飽和,因此磁芯可經受一個更大的直流成分。另外,當H=0時,Br更小,磁芯的磁場強度有一個更大的可用工作范圍ΔB。最后有氣隙時,導通能力降低,導致每匝的電感量減小,繞組的總電感值減小。但是,氣隙的存在減小了磁芯里直流成分磁場產生的磁通,對磁飽和是有利的。實際上開發人員是通過氣隙來調整初級電感量,選定能量傳遞方式的。在完全能量傳遞方式中個,傳遞能量的峰值電流是很高的,開關晶體管、整流二極管和電解電容器產生的損耗也是最大的,變壓器產生的損耗也是很大。對于不完全能量傳遞方式只要初級電感適中,它的峰值電流大小合理,峰值與直流有效值的比值恰當,氣隙大小合理,就能得到比較好的傳遞方式,工作噪聲小,效率會很高。將磁芯錯開0.5mm氣息,用脈沖寬度調試儀并接在開關電源脈沖發生器的輸出端,在變壓器的初級上串接一只電流表。開關電源通電后,緩慢調整脈沖調試儀。在額定輸入電壓下接好額定負載,觀察電流特性波形的形狀,一至調到所要求的輸入電壓和電流,這時再調節氣隙,最后帶到要求。這時快速調整氣隙的方法。如果變壓器不能按原設計工作在高溫狀態下以及元器件的誤差改變了電路電感,需要重新調整。計算氣隙平均輸入電流Ip為Ip=Pi/Vp=12.5/311≈0.04(A)相應的最大值Im為Im=Ip*T/To=0.04*20/10.1≈0.08(A)Ip1=Im/2=0.08/2≈0.04(A)Ip2=3Ip1=3*0.04≈0.12(A)在To期間,電流變化量ΔI為ΔI=Ip2-Ip1=0.08(A)原邊電感Lp=Vp*To/ΔI*10-6=311*10.1/0.08*10-6H≈39.26mH氣隙δ=(4*3.1415*10-7*Np2、*Ae)/Lp=12.56*10-7*665*665*20/39.26≈0.28(mm)檢查、測量磁芯的磁通密度和飽和區間檢查、測量磁芯的最大磁感應強度是必要的,以便提供一個最大工作值和飽和值之間的合適空間。在任何條件下(包括瞬時負載和高溫環境)下,應避免出現磁芯飽和。把輸入電壓設置到能控制的最低值,負載調整到功率值為10W,在示波器上觀察變壓器初級繞組的電流波形。這時慢慢減小工作頻率,直到調制脈沖結束,電流忽然上升,這時就是磁飽和出現的時間,幾下該時間并與正常值比較,由所增加的百分比可得出磁感應強度的邊界范圍。此時,還應考慮在高溫下磁感應強度還會降低。要求瞬時變壓變化有10%的余地。如果保留的邊界不足10%,應增加氣隙,進行調整。計算磁飽和邊界交流磁通所產生的感應強度變化強度為:ΔBac=Vp*To/(Np*Ae)=311*10.1/(665*20)≈0.236(T)利用磁感應強度與直流磁通密度的關系,計算直流成分Bdc。假設磁芯所有磁阻都集中在氣隙里,可以求得直流磁感應強度Bdc為:Bdc=u*H=Uo*Np*Idc/(δ*10-3)式中:Uo=4π*10-7(H/m);Np為初級線圈的匝數;Idc為有效直流電流開始導通是的電流值(A);δ為氣隙長度長度(mm);Bdc為直流作用的磁感應強度(T)。Bdc=4π*10-7*665*0.04/(0.28*10-3)(T)≈119.4(mT)交流和直流磁感應強度的和為磁感應強度最大值。Bmax=ΔBac+Bdc=236+119.4=355.4(mT)檢查在100攝氏度時的磁芯材料特性的邊界。應檢查磁芯磁通在輸入電壓最低和最大脈寬條件下是否臨近飽和值。由于輸入值電壓較高時,脈沖寬度會變窄,所以磁芯是遠離飽和的。如果變壓器按輸入高電壓的寬脈沖進行設計,使鐵芯工作在低密度磁通的條件下,可將變壓器初級匝數增多,變壓器的效率下降。這時開關電源控制電路應在高靈敏度狀態下工作。輸入電壓出現時,能快速限定脈寬或高壓保護電路。一般脈寬調制是按反饋電壓量來調制的,也有按電流來調制脈寬的。在脈寬比較器的輸入端用電感輸出的電流信號與誤差放大器輸出信號進行比較來調節占空比,使輸出峰值電流跟隨誤差電壓變化而變化。有些電源在結構上有電壓環、電流環雙環控制系統,因此,凡具有電壓調整、電流調整的開關電源的負載調整率、電壓調整率和瞬態響應特性都有很大提高。第六章、設計總電路圖第七章總結與體會本次課程設計,我感覺壓力好大。首先,平時學習時,自我感覺良好,根本就沒有仔細取思考我們所學的那些電路原理以及是否有改進的可能性,只是滿足于知道了書上的結論。所以當老師的課題布置下來后,我去圖書館借來了相關書籍,把書看過兩篇之后,把我認為與此次設計相關的內容作了相應的記錄。把設計的大體方向(即:使用單端反激式變換電路)確定下來。完成這一步的時候,我還以為不怎么有困難。但是,當我設計到變壓器時,它的相關參數搞的我頭都大的,在問過謝老師后很多問題都得到了解決,到我心里還是由謝地方不太明白。我覺得我的本次的設計根本就無法成為事實,僅僅能在理論上說的過去。其次,在元器件定額時,輸出回路濾波電容的定額與扼流電感的定額。我查看了好幾篇書籍,才勉強得出了結論。再次,就是一些細節上的問題,在設計時,我是我們這組最先動手的,卻是最后一個完成的。我想設計出有機子特點的東西,又發現實力有限。最后,就是看圖的能力,在《開關電源設計技術與應用實例》書上找到類似的圖形后,我看了好久才勉強弄懂其中的細節。在這次的設計中我的收獲還是蠻大的。首先,在選擇和設計主電路的過程中,我學會了設計要先把大方向確定,明確自己的設計思路和設計目標。在設計中有問題不用怕,更不要著急,慢慢來,充分利用網絡和書上的資源。遇到問題時,勤動腦,勤動手,再大的難題也會得到解決。其次,在設計變壓器時,我知道了,設計中有不少的數據是要我們查閱相關資料的,所以設計與其說是在考驗你的學習,好不如說是在考驗你運用所學知識的能力以及提升所學的境界。最后,也是我感觸最深的,學習過程中一定要具有認真細致,重視細節。在元器件定額時,我倍感吃力,因為在平時的學習中我覺得那絕不會是考試的內容而不重視它,結果費了好大的勁才勉強知道其原理。在這次設計的過程中,因為我們所學的《電力電子技術》中有關開關電源介紹的很少,所以我主要參考的都是在圖書館借的書。我的設計思路是先設計主電路,然后是控制電路。然后把這兩部分再細化。最后確定到各個元器件。本著多看、多想、多問、勤查資料這“三多一勤”的原則,我相信我將來能夠設計出更好的課題。最后,感謝謝老師對我們的指導。第八章參考文獻及網頁1、《電力電子技術》(第5版)王兆安劉進軍主編機械工業出版社2、《開關電源設計》(第三版)(美)AbrahamI.PressmanKeithBillingsTaylorMorey著電子工業出版社3、《開關電源設計技術與應用實例》趙同賀主編人民郵電出版社鄭州大學畢業設計(論文)題目:小型企業固定資產管理信息系統的設計與實現——功能設計與實現指導教師:職稱:學生姓名:學號:專業:計算機科學與技術院(系):信息工程完成時間:小型企業固定資產管理信息系統的設計與實現——功能設計與實現摘要本文按照軟件工程的工程過程:分析設計實現,詳細介紹一個具體的基于B/S結構的固定資產管理信息系統的設計和實現。第一部分根據需求,給出系統的數據流圖和模塊劃分。第二部分給出系統的結構和模塊的處理邏輯,第三部分介紹實現過程中用到的關鍵技術。本系統是采用ASP技術,服務器端的程序用Vbscript編寫,它是默認的語言,能充分利用ASP和IIS提供的各種功能。客戶端的程序用JavaScript編寫,以適應不同的瀏覽器。本系統實現了固定資產的“申請”,“審批”,“資金分配”,“查詢”,“調撥”等功能,同時也實現了系統使用人員的管理。關鍵字:管理信息系統,B/S模式,ASP,固定資產管理。AbstractThetextparticularlyintroducethedesignandrealizationofamaterialFixedAssetsManagementInformationSystem,whichbasesonB/Sstructure,intermoftheprocessofsoftwareengineering,thatis“analyzing”“designing”“realizing”.Inthefirstpart,wewillgiveouttheDataStreamGraphicsandthepartitionofthemodules,accordingtotherequirement.Inthesecondpart,wewillintroducethestructureofthesystemandthedealinglogicofeachmodule.Inthirdpart,youcanseethekeytechnologybeingusedinthisproject.ThesystemisdevelopedwithASP.WewritetheprogramrunninginserverendwithVbscript,itisthedefaultlanguage,whichcantakefulladvantageofthefunctionofASPandIIS.Inordertoadapttodifferentbrowsers,theprogramrunninginbrowserendwillbewrittenwithJavaScript.Withthissystem,youcanapply,examineandapprove,lookup,transferandallotfundsfortheFixedAssets.Alsothesystemhasactualizedthefunctionofmanagingthesystem-users.Keywords:MIS,B/Smode,ASP,FixedAssetsManagement目錄前言31.系統分析51.1需求描述51.2B/S結構系統的邏輯模型51.3系統的數據流圖61.4模塊功能描述72.系統設計92.1系統結構圖92.2模塊處理邏輯和接口描述92.3安全設計133.系統實現153.1相關技術介紹153.1.1數據庫操作方法153.1.2ASP技術介紹173.1.3界面中用戶是否登陸驗證代碼183.1.4框架的使用方法183.1.5瀏覽器菜單欄工具欄地址欄的隱藏193.2界面功能實現203.2.1登陸界面203.2.2財務處管理界面213.2.3申請界面223.2.4審批界面233.2.5綜合管理界面233.2.6查找界面244.結論275.致謝286.參考文獻29前言管理信息系統是信息科學,管理科學,行為科學,計算機科學,決策科學,系統科學和通訊技術相結合的綜合性,交叉性獨具特色的應用學科。信息系統是一個人造系統,一般由人,計算機硬件及軟件,和數據資源組成。其作用是及時正確地收集,加工,存儲,傳遞和提供決策所需的信息,實現組織中各項活動的管理,調節和控制。信息系統的根本目的是利用信息技術實現信息資源的開發利用。1985年,管理信息系統的創始人——明尼蘇達大學卡爾森管理學院的著名教授高登.戴維斯(GordonB.Davis)給管理信息系統的定義:“它是一個利用計算機硬件和軟件,手工作業,分析,計劃,控制和決策模型以及數據庫的用戶——機器系統,它能提供信息支持企業或組織的運行,管理和決策功能。”我國著名專家薛華成教授于1999年在《管理信息系統》一書中重新描述了管理信息系統的定義:“管理信息系統是一個以人為主導,利用計算機硬件,軟件,網絡通訊設備以及其它辦公設備,進行信息的收集,傳輸,加工,存儲,更新和維護,以企業戰略競優,提高效益和效率為目的,支持企業高層決策,中層控制,基層運作的集成化的人機系統。”無論是微軟的.NET思想,還是SUN公司的SUNONE思想歸根到底也就是操作系統和應用軟件的網絡化,這將是計算機業的發展方向。B/S模式的管理信息開發平臺模型就是順應這一趨勢而提出的,無疑,基于B/S模式的MIS開發系統將成為未來MIS的主流結構。在這種模式下:整個系統實際上分為三層:第一層是用戶層。包括系統的所有使用者。這一層屬于客戶機部分,在瀏覽器上工作,主要完成用戶接口的功能。第二層是應用程序層。包括Web服務器,主要完成客戶的應用功能。這一層存放應用程序腳本。Web服務器介于Web瀏覽器與數據庫服務器之間,負責用戶輸入信息的接收。第三層是數據層。包括多個數據庫服務器,這些數據庫服務器上的數據庫可以是同構的數據庫,也可以是異構的數據庫。在實際的應用中,系統往往是把應用程序層和數據層合并在一起,放到同一個服務器上面。B/S模式有其特有的優勢:1.基于B/S的MIS開發系統解決了傳統MIS開發系統的開發環境配置困難的問題;用傳統的MIS開發系統來開發MIS系統,在系統開發前我們必須配置相應的前后臺環境;系統開發完畢,把系統交給用戶后,開發人員又必須為用戶搭建相應的使用環境。這樣就大大延長了系統開發時間,而且配置環境對技術水平要求較高,對一般用戶來說,這是比較困難的一項任務。而B/S模式的系統直接利用客戶瀏覽器和現有的WWW網絡協議,無需特殊配置。2.基于B/S的MIS開發系統提高了開發軟件的效率:基于B/S模式開發出來的MIS系統,客戶不需要再進行安裝,只需要登陸到這個系統的所在的網站就可以運行。這樣提高了開發軟件的效率。開發B/S模式的管理信息系統,主要有兩種方法:ASP和JSP,本系統是采用ASP,服務器端的程序用Vbscript編寫,它是默認的語言,能充分利用ASP和IIS提供的各種功能。客戶端的程序用JavaScript編寫,以適應不同的瀏覽器。1.系統分析1.1需求描述在固定資產的日常管理中,通常涉及“申請”、“審批”、“資金分配”、“調撥”、“報廢”等相關工作,按照傳統的方式,申請人要找審批人審批,然后找財務處要錢。調撥的時候也要從大量的資產記錄中找到對應的表格,然后修改信息。這些過程中都包含長時間的人員走動,和手工的信息查找,浪費了大量的人力資源,工作效率是非常低的。為了減少人力資源的損失,提高工作效率,急需一種網絡化,自動化的方法來改善這種管理。在固定資產管理中,根據職權的不同,主要有分為三個管理范圍:普通部門管理,領導管理和財務處管理。普通部門只能申請固定資產,廠長負責申請的審批,財務處根據審批結果和資金狀況分配資金給申請部門,申請部門負責資產的購買,買來之后要到財務處進行登記。日常管理工作由財務處負責,主要有:在不同的使用人之間調撥資產,在不同的使用部門之間調撥資產,資產的報廢登記,如果資產暫時沒有人使用,而且沒有到報廢的地步,那么財務處要進行封停處理。在管理過程中用到的數據:申請表,審批表,資金分配表,資產調撥記錄,資產報廢記錄,資產封停記錄,資產登記表,資產使用情況表。根據以上需求,第一部分將給出系統的數據流圖和功能模塊的劃分,以及各模塊的功能描述。1.2B/S結構系統的邏輯模型圖1.1系統邏輯模型邏輯模型中(如圖1.1),客戶端以瀏覽器為載體,負責界面的顯示,和簡單數據的處理。它通過TCP/IP協議之上的HTTP協議與服務器進行數據交換。服務器進行復雜的數據處理,并通過ADO等中間件操作數據庫。1.3系統的數據流圖圖1.2系統數據流圖1圖1.3系統數據流圖2系統流程圖說明第一層(如圖1.2)中矩形表示外部數據源,兩條粗橫線表示數據文件即數據庫中的表。圓表示數據處理,帶箭頭的弧線表示數據流向。圖表示的基本工作流程是:各部門提交申請表——>廠長審批——>財務處根據審批結果分配申請的資金。整個流程期間,申請部門可以查詢本部門的申請的審批結果,資金是否到位等相關的信息。其它模塊,L5資產查詢處理,L6入庫登記處理,L7人員管理處理,L8綜合管理處理,相互獨立性比較強,L7人員管理跟其它模塊沒有任何關聯。L5資產查詢處理、L6入庫登記處理、L8綜合管理處理在功能上沒有關系,也沒有時間先后關系,但是它們操作的是相同的數據表。第二層(如圖1.3)中矩形表示外部數據源,即第一層中的數據庫中的表。L7是對第一層中L7人員管理的細化。可見人員管理包含四種操作也即是后面講到的子功能模塊:“添加”、“查詢”、“刪除”、“修改”。其中“添加”和“查詢”可以獨立處理,而“刪除”和“修改”,與“查詢”有時序關系。必須先查找的要刪除或修改的記錄項,然后根據選擇,進行刪除或修改操作。L8是對第一層中L8綜合管理的細化。綜合管理也包含四個子功能模塊:“查詢”、“調撥”、“封停”、“報廢”。“查詢”和其它三個模塊有時序關系,必須查找到相關的記錄項之后,才能進行后續的調撥、封停和報廢操作。1.4模塊功能描述根據用戶的實際需求和計算機的功能,將用戶的功能需求抽象為如下模塊。系統的功能模塊有:(1)登陸模塊,(2)申請模塊,(3)審批模塊,(4)資金分配模塊,(5)入庫登記模塊,(6)綜合管理模塊,(7)部門信息管理模塊,(8)人員管理模塊,(9)修改密碼模塊,(6_1)查詢子模塊,(6_2)調撥子模塊,(6_3)封停子模塊,(6_4)報廢子模塊,(8_1)添加子模塊,(8_2)查詢子模塊,(8_3)刪除子模塊,(8_4)修改子模塊。(1)登陸模塊:負責提供登陸信息輸入界面,接收用戶登陸信息的輸入,數據格式驗證,用戶的身份驗證,會話期間使用人信息的記錄,并根據使用人員的身份,把用戶引導到不同的工作界面:“部門管理界面”、“財務處管理界面”、“領導管理界面”。(2)申請模塊:填寫申請表,并提交,等待廠長的審批和財務部門分配資金。(3)審批模塊:提取申請部門提交的還沒有審批的申請表,審批,把申請表標記為“批準”或者“不準”,并記錄“審批表”。(4)資金分配模塊:提取已經獲得批準但是還沒有分配資金的申請表,根據資金狀況分配資金,將申請表標記為“已分配資金”,對分配資金的申請表,記錄“資金分配表”。(5)入庫登記模塊:登記資產的基本信息。(6)綜合管理模塊:負責固定資產形成之后,其各種日常管理工作。在公司不斷發展的進程中,該模塊的功能需求會不斷的變化。當前要完成“查詢”、“調撥”、“封停”、“報廢”四項功能。(6_1)查詢子模塊:根據用戶輸入的基本信息,查找對應的資產記錄。(6_2)調撥子模塊:負責把資產在不同使用人或不同使用部門之間調撥,并記錄調撥時間和操作人,源部門,接收部門信息。(6_3)封停子模塊:修改資產的基本信息,將“使用人”和“使用部門”置空,標記資產狀態為“封停”。(6_4)報廢子模塊:修改資產的基本信息,標記資產狀態為“報廢”。(7)部門信息管理模塊:負責本部門申請表的審核和分配資金狀況的查詢。(8)人員管理模塊:根據系統的實際需求添加的模塊,對系統使用人員的基本信息進行管理。完成“添加”、“查詢”、“刪除”、“修改”四項功能。(8_1)添加子模塊:添加新用戶,記錄其基本信息。(8_2)查詢子模塊:根據基本信息,查找到用戶的基本信息記錄。(8_3)刪除子模塊:消去用戶基本信息記錄。(8_4)修改子模塊:修改用戶的基本信息記錄。(9)修改密碼模塊:讓每個用戶可以根據自己的情況修改登陸密碼。2.系統設計2.1系統結構圖圖2.1系統結構圖系統結構圖說明該圖(如圖2.1)用層次的形式描述了系統的結構,這種層次結構清楚地表現出了各功能模塊的從屬關系和工作流程。由圖可見,系統可分為三個管理模塊(第二層):部門管理,財務處管理,領導管理。這種劃分是基于管理人員的職權進行的,在第三層中可以體現出這一點。普通部門只能進行“申請”,“部門信息管理”,“修改密碼”這些一般性的操作,財務處除了具有普通部門的管理工作外,還擁有“綜合管理”,“入庫登記”和“資金分配”的權力。而領導管理工作只是“審批”,“人員管理”和“資產查詢”。在這里把普通部門劃分出來,主要是從安全的角度來考慮的,這樣可以從界面上就限制了普通部門管理人員的權力,避免了合法用戶進行越權操作。第四層是第三層兩個模塊的更細劃分。2.2模塊處理邏輯和接口設計(1)登陸模塊:輸入數據:“用戶名稱”,“所屬部門”,“登陸密碼”處理邏輯:接收用戶輸入;//客戶端處理數據格式驗證;//客戶端處理提交數據到服務器;//以下程序服務器端運行If(數據庫中有對應的記錄)記錄用戶的“名稱”,“所屬部門”,“職位”到session變量;If(所屬部門==廠長辦公室&&職位==廠長){進入領導管理界面;Return();}If(所屬部門==財務處){進入財務處管理界面;Return();}進入部門管理界面;Return();(2)申請模塊:輸入數據:申請表(見數據庫設計)輸出數據:規格化的申請表處理邏輯:從session變量中得到“申請人”,“申請部門”信息;//轉到瀏覽器端處理自動生成當前時間作為申請時間;接受用戶輸入剩下的信息;數據格式驗證;提交到服務器;//下面的處理在服務器端進行將申請表插入數據庫;Return();(3)審批模塊:輸出數據:項目審核表處理邏輯://以下處理在服務器端進行從數據庫中讀取“審核狀態”=“待批”的申請表放人session;以表格的形式顯示在審批界面;If(指令==批準){從session中獲取用戶選擇的申請表;While(選擇的申請表沒有處理完){把數據庫中用戶選擇的申請表的“審核狀態”置“批準”;從session中獲取用戶的“名稱”作為“申請人”;自動生成當前時間作為審核時間;產生“審核表”;將“審核表”插入數據庫;If(插入出錯){將本次循環中修改過的申請表還原;提示出錯;Return();}}(while結束)提示操作成功;Return();}(if結束)If(指令==不準){處理與上同,只是將“審核狀態”變為“不準”}Return();(4)資金分配模塊:輸出數據:資金分配表處理邏輯:讀取“審核狀態”為“批準”且“資金狀態”為“等待”的申請;以下處理邏輯與審批模塊相同,只是記錄的數據有別,在此略;(5)入庫登記模塊:輸入數據:固定資產基本信息輸出信息:資產基本信息表,使用情況表處理邏輯:接收用戶輸入;//瀏覽器端處理數據格式驗證;數據庫中添加信息;//轉入服務器端處理Return();(6)綜合管理模塊:處理邏輯://查詢條件接收及驗證在瀏覽器端處理//以下處理在服務器端進行根據用戶輸入的信息查詢數據庫;將查詢結果放入session;If(指令==調撥)調用調撥模塊;ElseIf(指令==封停)調用封停模塊;Elseif(指令==報廢)調用報廢模塊;Return();(6_1)調撥模塊:輸入數據:session中的用戶選擇的資產信息處理邏輯:將session中用戶選的資產的信息顯示在界面上;接收用戶的修改;根據用戶的修改來改變數據庫中的記錄;從session中獲取用戶的名稱作為操作人;自動生成當前時間為調撥時間;生成調撥記錄;將調撥記錄插入數據庫;Return();注:封停模塊,報廢模塊,以及人員管理中的刪除模塊,修改模塊與此基本相同,將省略。(7)部門信息管理模塊:另述;(8)人員管理模塊:該模塊的處理與綜合管理模塊的處理基本相同,在此略;(9)修改密碼模塊:輸入數據:舊密碼,新密碼,確認碼輸出數據:新密碼處理邏輯:接收用戶的輸入;數據格式驗證;//在瀏覽器端進行處理從session中獲取用戶的“名稱”和“所屬部門”;一并提交所有數據到服務器;//此后轉服務器端處理If(數據庫中有相關記錄){將“登陸密碼”改為“新密碼”;Return();}Else{提示用戶舊密碼輸入錯誤;Return();}2.3安全設計為了屏蔽頁面的具體位置,在瀏覽器端取消菜單欄、工具欄和地址欄的顯示,只用頁面提供的各種按鈕完成相關的操作。整個系統分為三個主要的工作界面:部門管理界面,財務處管理界面,領導管理界面。各界面所具有的功能不同,是按照管理的職權劃分各個界面的功能的,用戶登陸的時候根據其身份,進入相應的工作界面,防止了合法用戶進行不合法的操作。為防止用戶不通過登陸界面直接進入管理界面,我們在每個管理界面中都要加入身份驗證,以確定用戶是否有權力進行相關的管理,如果沒有,則轉入空頁面,提示用戶通過登陸界面進入,并根據用戶的選擇進入登陸界面或者離開。為避免同一帳戶同時兩處登陸,也是從另一個方面對用戶進行身份驗證,要查看是否該用戶已經登陸。對于每一個成功登陸的用戶,系統都記錄一個全局的application變量,標記帳戶已經登陸。因此登陸時要檢查該用戶是否已經登陸,如果已經該帳戶已經登陸,則提示出錯。3.系統實現3.1相關技術介紹3.1.1數據庫操作1.數據庫連接方法創建服務器端的數據庫連接對象,其中server是ASP提供的內置對象,用來進行服務器端的操作,createobject方法創建外部對象。ADODB.Connection是ADO的連接對象。setconn=Server.CreateObject("ADODB.Connection")用連接對象的open方法打開數據庫連接,參數sing提供數據庫驅動的類型和數據庫路徑。sing="DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&server.MapPath("\數據庫\zcgl1.mdb")conn.Opensingconn.close()方法用來關閉連接。Conn.execute(sql)方法用來執行數據庫操作語句。對象使用完要:conn.close()setconn=Noting2.數據庫查詢方法查詢數據庫用ADO對象Recordset來實現,它能執行查詢語句,并把查詢的結果存放在對象中。可以通過它得到相關的數據如:setrecord=server.CreateObject("adodb.Recordset")sql="select*from職工信息where姓名='"&username&"'and登陸密碼='"&tpassword&"'and所屬部門='"&department&"'"record.opensql,conn,1,1,adcmdtextrecordset的open方法打開對象,參數意義:spl是數據源,在此為查詢語句,conn為數據庫連接對象,1表是記錄指針的類型為可以上下移動,1表示所有記錄的“鎖”類型為只讀,adcmdtext表示第一個參數為查詢語句。可以用record("職位")獲取查詢結果的,當前指針指向的記錄項的“職位”字段的值。Record.movefirst();方法使指針指向第一條記錄。Record.movenext()方法使指針指向當前記錄的下一條記錄。Record.EOF=true表示指針指向最后一條記錄之后,如果查詢后其為真,則說明沒有找到符合查詢語句的記錄。Record.recordcount屬性指示查找到的記錄的數目。對象使用完要record.close()setrecord=Noting3.更新數據庫方法用connection對象的execute方法。如:sql="update職工信息set所屬部門='"&department&"',職位='"&appointment&"',登陸密碼='"&wpassword&"'where職工編號='"&workercode&"'"conn.execute(sql);4.插入數據庫方法用connection對象的execute方法,如:sql="insertinto職工信息(姓名,所屬部門,職位,登陸密碼)values('"&username&"','"&department&"','"&userappointment&"','666666')"conn.execute(sql)//執行SQL語句5.數據庫操作中的錯誤處理使用Error對象,Error對象是由數據源產生的,當執行SQL語句過程中出現錯誤時Error對象的Description屬性被置為錯誤描述信息,Number屬性被置為錯誤碼,為“0”表示沒有錯誤。使用該對象,要在程序中加入如下語句:Onerrorresumenext錯誤判斷及處理:iferr.number<>0then 錯誤處理代碼…… endif6.特殊查詢實現模糊查詢實現按如下方式寫查詢語句即可:sql1="select*from資產基本信息where資產名稱like'%"&pname&"%'"連接查詢的實現按如下方式寫查詢語句即可:Sql="select*from資產基本信息,資產使用情況where資產基本信息.資產ID=資產使用情況.資產ID"3.1.21.ASP語法ASP語句使服務器端運行的指令,每個ASP程序段都要放在<%和%>內,并且要在文件的開頭加上<%@language=vbscript%>語句。其中language參數可以是ASP支持的其他腳本語言。ASP程序中可以有變量,判斷語句和循環語句,其中變量可以是基本數據,也可以是對象.ASP語句可以插入到HTML標記的任何位置。2.會話信息的保存session的使用方法Session對象是ASP的內置對象,用來存儲會話信息。HTTP是無狀態協議,無法跟蹤用戶的請求。Session正好彌補了這一缺點。可以記錄會話期間任何相關的記錄,比如本系統中,用戶的“名稱”、“部門”就是用Session變量記錄的。session("Sysusername")=username 該語句創建一個session變量Sysusername,把用戶名賦給它,會話期間在用戶訪問的任何頁面都可以以同樣的方式得到該變量的值Session中也可以定義對象如:Session(“conn”)=server.createobject(“adodb.connction”)Session的工作原理每一個Session都對應Web服務器指定的唯一標識SessionID,在瀏覽器端使用Cookie來存儲這個標識,而真正的Session數據則存放在服務器上。當用戶第一次訪問ASP頁面時創建該對象,以后每次該用戶訪問一個ASP頁面,ASP就查找該Cookie,如果發現該Cookie,則將其發送到服務器端,然后通過SessionID變量使客戶與服務器內存中的相應的Session建立聯系。當關閉瀏覽器的時候Session也隨之銷毀。Request對象的應用Request對象用于訪問HTTP請求傳遞的信息,也就是客戶在請求頁面或者提交表單的時候提供的所有信息。提交信息的方式有兩種:Get和Post。如<formMethod=POST>或者<formMethod=GET>HTTP請求頁面是通過GET方法傳遞數據的,如:<ahref=”chaxun.asp?sort=100”當提交方式時Get時,服務器端可以通過如下方法獲得提交的數據:Request.QueryString(“變量名”)當提交方式為Post時,可以用如下方法獲得數據:Request.form(“變量名”)3.1.3界面中用戶ifsession("Sysusername")=""orsession("Sysdepartment")=""orsession("Sysappointment")=""then//數據的取得與判斷response.write("你還沒有登陸,無權訪問該網頁!")response.end()//終止程序的執行endif3.1.<framesetrows="84,560*"frameborder="no"><framename="banner"scr="top.asp"><framesetcols="191,600*"frameborer="no"><framename="contents"src="部門管理left.html"target="main"><framename="main"src="申請.asp?sort=1""target="_self"></frameset></frameset>每一個框架都要包含在frameset標記里,上述代碼中定義了上下兩個大框架,下面的框架又被分成左右兩個框架,scr屬性指示在框架中顯示的頁面。Target屬性指示目標框架,也就是說,當點擊該框架中的連接時,連接的頁面會在target屬性指示的框架內顯示。本系統的管理界面就是用框架實現的,左邊框架的是菜單,通過選擇菜單,在目標框架(右面的框架)內顯示相應的操作界面。如圖3.1示圖3.1框架頁顯示3.<scriptlanguage='javascript'>//使用腳本標記open('財務處管理.htm','','top=0,left=0,fullscreen,toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,status=no');</script>Open()方法是用來打開新的瀏覽器窗口,參數toolbar=no,menubar=no,location=no,fullscreen,分別實現:隱藏工具欄,隱藏菜單,隱藏地址欄和全屏顯示。3.2界面功能實現3.2.1登陸界面1.提供一個表單接收用戶輸入,要求輸入的數據有:用戶名,所屬部門,和登陸密碼。數據提交到服務器的“轉換界面.asp”進行處理,通過如下代碼實現<formmethod="POST"action="轉換界面.asp"name="theonly">。這部分是在瀏覽器端運行的。2.接下來的處理在服務器端進行。“轉換界面.asp”連接數據庫驗證用戶身份,對不合法的用戶提示無權使用系統。對合法用戶,記錄身份信息到session中,保存在服務器端。session("Sysusername")=username//session變量賦值session("Sysdepartment")=departmentsession("Sysappointment")=record("職位")3.為避免同一帳戶同時兩處登陸,也是從另一個方面對用戶進行身份驗證,要查看是否該用戶已經登陸。對于每一個成功登陸的用戶,系統都記錄一個全局的application變量,變量名是用戶名和所屬部門組成的字符串,變量的值是0或1,“1”表示登陸,這些變量在各處理程序之間是共享的。因此要檢查該用戶是否已經登陸,只要看以該用戶名和所屬部門命名的變量的值是不是1,如果是,則表明該用戶已經登陸,提示當前用戶帳戶有問題。如果不是,表明可以登陸,則產生以當前用戶名和所屬部門命名的application變量,賦值為“1”。Application(session(“Sysusername”)&session(“Sysdepartment”))=14.對通過身份驗證的用戶,如果是廠長則進入領導管理界面,如果是財務處人員則進入財務處管理界面,其他的進入部門管理界面。<%ifdepartment="財務處"then%>//財務處人員open('財務處管理.htm','','……');<%elseifdepartment="廠長辦公室"andrecord("職位")="廠長"orrecord("職位")="副廠長"then%>//廠長登陸open('領導管理.htm','','……');<% else%>//普通部門人員登陸open('部門管理.htm','','……');3.2.2財務處管理界面1.財務處管理界面(如圖3.2),領導管理界面和部門管理界面是三個主工作界面,(它們的結構相同,其它兩個省略)其他的操作都包含在其中。界面由三個框架組成:頂層顯示“top.asp”頁,左邊顯示“財務處left.htm”頁,右面是具體工作頁,即:當用戶在左邊菜單中選擇那個操作,右面就顯示相應的工作頁面,其處理在服務器端進行,然后把結果傳輸到瀏覽器端顯示。這種連接關系是通過frame標記的target屬性實現的。<frameset><framename="banner"scr="top.asp">//頂端頁面<frameset>//左頁面<framename="contents"src="財務處left.html"target="main">//右頁面<framename="main"src="資金分配.asp?sort=1""target="_self"></frameset></frameset>2.由于用戶登陸信息是以application和session變量存放在服務器端的,這兩種變量都有相應的保持時間,可以用程序設定。如果用戶通過“退出”按鈕正常的退出,這些變量會在退出處理程序中銷毀。而如果用戶是直接關閉瀏覽器來退出程序的,那么該用戶的session和application變量會在設定的時間之后才能由系統來銷毀。根據登陸時的驗證流程可知,application變量沒有銷毀之前,該用戶是無法再登陸的。為了縮短用戶兩次登陸之間的時間間隔,也減少系統內存的壓力,我們把變量的保存時間設定為很短(30秒)。又為了能使變量持續保持,我們不斷地刷新top.asp頁面,即框架的頂端的頁面。在top.asp在服務器端,刷新session和application變量,從而避免系統銷毀變量。而top.asp頁面的內容是非常的少,刷新速度很快,顯示空間也盡可能的小,也不是實際操作界面,故不會對整個工作界面產生太大影響。top.asp頁面中做如下處理://設置刷新時間<metahttp-equiv="Refresh"content="30"url="top.asp">//用戶登陸標記變量刷新application(session("Sysusername")&session("Sysdepartment"))=1圖3.2財務處管理界面3.2.3申請界面該界面提供輸入表單,在服務器端,從session中獲取“用戶名”和“所屬部門”作為表單的“申請人”和“申請部門”的值,且不允許用戶修改。document.application.rname.value='<%=session("Sysusername")%>';document.application.pdepartment.value='<%=session("Sysdepartment")%>'在瀏覽器端,自動設當前系統時間為“申請時間”。ymd=daytime.getFullYear()+"-"+(parseInt(daytime.getMonth())+1)+"-"+daytime.getDate();document.application.ptime.value=ymd;//瀏覽器端文本框賦值表單數據提交到“申請.asp”處理。<formmethod="POST"action="申請.asp"name="application">申請.asp將表單數據插入數據庫相關技術見3.1.1。2.2.4審批界面“審批.asp”在服務器端,從數據庫中查找出“還沒有審批的申請”,顯示在瀏覽器的工作界面(如圖3.3),并提供選擇框和操作按鈕,其操作處理程序是其本身,為區別是“數據顯示”還是“操作處理”,處理請求時傳遞一個不同的參數給它。<formmethod="POST"action="審批.asp?sort=2">程序根據不同參數值進行相應的操作。<%ifrequest.querystring("sort")=1then%>圖3.3審批界面

溫馨提示

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

評論

0/150

提交評論