張向明
摘要: 為提高高校大學(xué)生電子設(shè)計(jì)競賽元器件管理效率,提高電子元器件利用率,設(shè)計(jì)和開發(fā)了一套智能化的電子元器件管理系統(tǒng)。系統(tǒng)基于MIDAS和ADO技術(shù),結(jié)合高校電子設(shè)計(jì)競賽日常培訓(xùn)中電子元器件的管理特點(diǎn),采用多層分布式架構(gòu),對電子元器件管理系統(tǒng)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)全程使用條碼化管理。開發(fā)結(jié)果表明,系統(tǒng)具有簡便易用,高效快捷等優(yōu)點(diǎn),將更有利于提高實(shí)驗(yàn)室日常實(shí)訓(xùn)中電子元器件的發(fā)放與回收、采購與庫存預(yù)警等管理工作效率。
關(guān)鍵詞: 多層分布式應(yīng)用服務(wù)包; 電子競賽; 電子元器件管理系統(tǒng); ADO技術(shù)
中圖分類號: TN919?34; TP311 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)08?0108?05
Design and development of?MIDAS?based electronic component management?system
for university electronic design contest
ZHANG Xiang?ming
(College of computer science, South?Central University for Nationalities, Wuhan 430074, China )
Abstract: In order to improve the management efficiency of components for the undergraduate electronic design contest, and raise the utilization rate of electronic components, a set of electronic component management system based on MIDAS (multi?tier distributed application services suite) and ADO technology was designed and developed. In combination with the management features of electronic components in daily training of electronic design contest in colleges and universities, a distributed multi?tier architecture was used in the electronic components management system design and implementation. The bar code technology was adopted in the system. The results show that the developed system has the advantages of simple operation, high efficiency, and can improve the management efficiency of distribution, collection, laboratory procurement and inventory early warning of electronic components.
Keywords: multi?tier distributed application services suite; electronic device competition; electronic component management system; and chips; ADO technology
0引言
隨著中國教育體制改革的不斷推進(jìn),各高校越來越重視學(xué)生創(chuàng)新能力的培養(yǎng)與訓(xùn)練,以期達(dá)到提升學(xué)生創(chuàng)新素質(zhì)、增強(qiáng)學(xué)生適應(yīng)市場和社會的目的。全國大學(xué)生電子設(shè)計(jì)競賽是一項(xiàng)面向理科學(xué)生的重要賽事,其全國競賽組委會由國家教育部、信息產(chǎn)業(yè)部及部分參賽省市教委代表及電子類專家組成,負(fù)責(zé)全國競賽的組織領(lǐng)導(dǎo)、協(xié)調(diào)工作,其重要性不言而喻[1?2]。
競賽要使用到大量的電子元器件,涉及的元器件品種多達(dá)幾百種,且使用數(shù)量繁多。學(xué)生在競賽前期的實(shí)訓(xùn)中,需要頻繁地領(lǐng)用元器件,高校實(shí)驗(yàn)室管理人員需要對元器件的消耗情況進(jìn)行匯總,對貴重器件進(jìn)行登記與跟蹤,同時(shí)還要對元器件庫存有充分的了解,以便對元器件庫進(jìn)行有效合理的補(bǔ)充。目前很多高校的元器件管理工作仍處在于手工管理狀態(tài):仍然以手工方式登記學(xué)生領(lǐng)用情況,以人工方式對器件進(jìn)行跟蹤,目測元器件庫存是否充足,學(xué)生領(lǐng)用元器件查找費(fèi)時(shí),這些問題極大地影響了電子競賽的高效管理[3]。
為提高競賽管理效率及元器件使用率,將構(gòu)建一套智能化的電子元器件管理系統(tǒng)。因競賽實(shí)訓(xùn)工作均在學(xué)校內(nèi)完成,故將系統(tǒng)的架構(gòu)設(shè)計(jì)為三層C/S(客戶/服務(wù)器)結(jié)構(gòu),采用MIDAS和ADO技術(shù)來開發(fā)系統(tǒng),按軟件工程理論和方法對系統(tǒng)的各項(xiàng)模塊進(jìn)行設(shè)計(jì),實(shí)現(xiàn)元器件采購計(jì)劃管理、元器件入庫、學(xué)生領(lǐng)用元器件、元器件查詢、元器件統(tǒng)計(jì)分析等主要功能。
1系統(tǒng)架構(gòu)和開發(fā)環(huán)境
基于高校電子設(shè)計(jì)競賽的實(shí)際情況,系統(tǒng)采用C/S架構(gòu)的多層分布式環(huán)境來開發(fā),使用DELPHI7.0為開發(fā)平臺,充分地運(yùn)用其MIDAS,ADO等技術(shù)來構(gòu)建一個(gè)基于數(shù)據(jù)服務(wù)層、業(yè)務(wù)邏輯應(yīng)用服務(wù)層及客戶層的分布式智能化管理系統(tǒng),開發(fā)過程中使用的一些相關(guān)技術(shù)分析如下:
1.1多層分布式系統(tǒng)
分布式結(jié)構(gòu)實(shí)際上是一種分布式應(yīng)用系統(tǒng),被分成數(shù)個(gè)不同的部分并且被執(zhí)行在不同的機(jī)器之中,引入了應(yīng)用程序服務(wù)器概念,應(yīng)用程序服務(wù)器是一個(gè)包含系統(tǒng)業(yè)務(wù)邏輯的應(yīng)用程序,以一種特定的組件形態(tài),如MicroSoft的COM/DCOM,CORBA等對象,封裝應(yīng)用系統(tǒng)的邏輯程序代碼,執(zhí)行特定企業(yè)功能,然后把這些企業(yè)對象分發(fā)到應(yīng)用服務(wù)器。
1.2體系結(jié)構(gòu)
三層或多層體系結(jié)構(gòu)中比二層C/S結(jié)構(gòu)增加了一個(gè)中間層到客戶端和數(shù)據(jù)庫端間。中間層的實(shí)現(xiàn)有多種方法,目前最常用的是應(yīng)用服務(wù)器,把使用的事務(wù)和消息服務(wù)器看作應(yīng)用系統(tǒng)的基礎(chǔ)“中間件”平臺[4],客戶端程序不直接與數(shù)據(jù)庫服務(wù)器通信,而是通過中間層?應(yīng)用服務(wù)器來訪問,當(dāng)有客戶端程序發(fā)出數(shù)據(jù)請求時(shí),通過指令傳送到應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接到指令后,調(diào)用相應(yīng)函數(shù)(Function)、過程(Procedure)等業(yè)務(wù)邏輯來向數(shù)據(jù)庫服務(wù)器發(fā)出指令,數(shù)據(jù)庫服務(wù)器經(jīng)過運(yùn)算后,將處理結(jié)果反饋至應(yīng)用服務(wù)器,再由應(yīng)用服務(wù)器將中間結(jié)果反饋至客戶端程序,從而大大減少數(shù)據(jù)庫端訪問量過大的開銷,提高數(shù)據(jù)處理能力和系統(tǒng)運(yùn)行效率[5],如圖1所示。
圖1 三層C/S體系結(jié)構(gòu)
1.3MIDAS技術(shù)
多層分布式應(yīng)用服務(wù)包(Multi?tier Distributed Application Services Suite,MIDAS),在Delphi企業(yè)版里被用來創(chuàng)建多層應(yīng)用程序。MIDAS提供了一套高級組件、服務(wù)和核心技術(shù),可以簡化跨平臺(Windows,UNIX,Linux)、跨產(chǎn)品的多級分布式應(yīng)用系統(tǒng)的開發(fā),通過它可以用相同的組件訪問不同的后端應(yīng)用程序服務(wù)器,在帶寬具有挑戰(zhàn)性的網(wǎng)絡(luò)中,與其他解決方案所產(chǎn)生的分布式應(yīng)用相比,具有更快、更容易和更高的特性[6]。
MIDAS三層體系結(jié)構(gòu)指邏輯上的三層,即應(yīng)用表示層、應(yīng)用邏輯層和數(shù)據(jù)層。應(yīng)用表示層主要負(fù)責(zé)用戶端界面,提供給用戶一個(gè)操作方便且簡單快捷的應(yīng)用服務(wù)接口;應(yīng)用邏輯層(或?yàn)閼?yīng)用服務(wù)器)是整個(gè)結(jié)構(gòu)中最重要的部分,實(shí)現(xiàn)應(yīng)用程序的應(yīng)用邏輯處理;數(shù)據(jù)層(又為數(shù)據(jù)庫服務(wù)器)則負(fù)責(zé)數(shù)據(jù)的存取和管理。應(yīng)用邏輯層將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性檢驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過通信協(xié)議與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互。Delphi對多層分布式應(yīng)用程序的支持主要得益于其MIDAS技術(shù),該技術(shù)允許分割數(shù)據(jù)庫應(yīng)用程序,并實(shí)現(xiàn)對商業(yè)規(guī)則和進(jìn)程的集中管理[7]。
2系統(tǒng)分析與設(shè)計(jì)
2.1系統(tǒng)需求分析
在軟件工程理論中,需求分析是軟件工程設(shè)計(jì)最重要的一環(huán),是連通用戶與軟件開發(fā)人員的橋梁,是整個(gè)開發(fā)過程的重要基礎(chǔ)。電子元器件因種類多、設(shè)計(jì)期間用量大、參賽參訓(xùn)人數(shù)多、實(shí)驗(yàn)人員管理雜等特點(diǎn),元器件管理系統(tǒng)需要有準(zhǔn)確、全面的一手用戶需求資料,從而設(shè)計(jì)出符合要求的功能需求,為電子設(shè)計(jì)競賽實(shí)驗(yàn)室管理人員提供高效、準(zhǔn)確的統(tǒng)計(jì)與分析數(shù)據(jù),更好地做好服務(wù)[8]。歸納出以下需求:
(1) 元器件基本要素:元器件是元件和器件的概稱,包括元器件類別、名稱、規(guī)格、型號等要素。
(2) 元器件存放要素:為方便電子設(shè)計(jì)實(shí)訓(xùn)時(shí)學(xué)生快捷領(lǐng)用元器件,在元器件存放時(shí),嚴(yán)格按規(guī)定存放到指定編號的小器件單元,單元按元器件類別分類存放,按序編號。
(3) 元器件采購要素:包括元器件類別、名稱、規(guī)格、型號、日期、數(shù)量、單價(jià)、供應(yīng)商等。
(4) 元器件的出庫要素:學(xué)生領(lǐng)用和元器件調(diào)撥,包括元器件類別、名稱、規(guī)格、型號、數(shù)量、出庫類別、領(lǐng)用人學(xué)號、姓名(或被調(diào)撥單位名稱)、領(lǐng)用日期等要素。
(5) 用戶信息:包括實(shí)驗(yàn)室管理人員、學(xué)生,權(quán)限分為查詢、統(tǒng)計(jì)、入庫、出庫、可領(lǐng)用等。
(6) 系統(tǒng)的功能需求。根據(jù)電子設(shè)計(jì)競賽實(shí)訓(xùn)元器件管理的特性及元器件發(fā)放的流程分析,電子元器件管理系統(tǒng)需要完成的功能有:元器件基本設(shè)置、采購及入庫、元器件發(fā)放(或領(lǐng)用)、元器件調(diào)撥、元器件庫存統(tǒng)計(jì)及預(yù)警、元器件相關(guān)查詢等功能。
2.2系統(tǒng)的功能設(shè)計(jì)
通過上述的系統(tǒng)需要分析,設(shè)計(jì)出本系統(tǒng)應(yīng)完成的具體功能結(jié)構(gòu)(如圖2所示)。
圖2 元器件管理系統(tǒng)功能結(jié)構(gòu)圖
(1) 用戶權(quán)限管理功能模塊。電子設(shè)計(jì)競賽日常培訓(xùn)由實(shí)驗(yàn)室工作人員管理,負(fù)責(zé)元器件的采購計(jì)劃、元器件的發(fā)放與回收、庫存分析等工作。按用戶的實(shí)際操作范圍,生成不同的角色,每一角色具有不同的使用權(quán)限,然后為不同的操作用戶分配不同的角色。權(quán)限分為:普通管理員、超級管理員。
(2) 元器件倉庫管理功能模塊。對元器件倉庫按元器件的類別進(jìn)行分類管理,并按元器件的規(guī)格、型號來分別設(shè)置元器件倉庫存放地點(diǎn),設(shè)置統(tǒng)一編號管理元器件倉庫。可實(shí)現(xiàn)按倉庫編號查元器件名稱、數(shù)量等操作;可根據(jù)元器件查找倉庫,方便學(xué)生領(lǐng)用時(shí)快速尋找元器件。
(3) 元器件進(jìn)庫管理功能模塊。根據(jù)年度采購計(jì)劃;采購后元器件入庫。入庫信息包含供應(yīng)商、價(jià)格、日期、倉存單元編號等信息;該模塊能實(shí)現(xiàn)數(shù)據(jù)的錄入與修改操作及元器件的入庫和查詢匯總操作等功能。
(4) 元器件出庫功能模塊。元器件出庫方式主要有:學(xué)生領(lǐng)用元器件、元器件調(diào)撥。學(xué)生領(lǐng)用元器件,需先經(jīng)遠(yuǎn)程預(yù)約領(lǐng)用,由實(shí)驗(yàn)室人員按預(yù)約進(jìn)行發(fā)放;實(shí)驗(yàn)室人員能根據(jù)預(yù)先設(shè)定的元器件存放地址準(zhǔn)確找到元器件;元器件調(diào)撥必須要有調(diào)入單位信息,需經(jīng)超級管理員審核方可執(zhí)行。
(5) 元器件庫存預(yù)警功能模塊。根據(jù)實(shí)際庫存及系統(tǒng)預(yù)設(shè)預(yù)警數(shù)量,系統(tǒng)自動并作出相應(yīng)庫存預(yù)警。
(6) 元器件倉存統(tǒng)計(jì)查詢功能模塊。按各種統(tǒng)計(jì)要求設(shè)計(jì)各類統(tǒng)計(jì)查詢功能,可統(tǒng)計(jì)某段時(shí)間內(nèi)元器件的使用量,并可生成各類報(bào)表。
(7) 條碼管理。學(xué)生學(xué)號、元器件均采用條碼管理,方便錄入。
2.3系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)
電子元器件管理系統(tǒng)建立在局域網(wǎng)和關(guān)系數(shù)據(jù)庫的基礎(chǔ)之上,將存在于實(shí)際操作和數(shù)據(jù)庫中的數(shù)據(jù)抽象為業(yè)務(wù)邏輯對象,通過對象管理框架進(jìn)行管理。在此基礎(chǔ)上,構(gòu)建若干適應(yīng)電子競賽用元器件實(shí)際情況的功能模塊,通過友好的用戶界面與用戶交互,完成電子設(shè)計(jì)競賽和實(shí)驗(yàn)室人員元器件管理服務(wù)的系統(tǒng)。其中:
(1) 對象管理框架層:提供實(shí)現(xiàn)電子元器件管理的各種功能的核心構(gòu)架;
(2) 系統(tǒng)功能模塊層:在用戶界面層,用戶命令的處理均由各項(xiàng)功能模塊完成;
(3) 圖形用戶界面層:提供友好的交互式的圖形界面,使學(xué)生和實(shí)驗(yàn)室人員可以直觀方便地完成電子元器件管理系統(tǒng)的各項(xiàng)功能;
(4) 系統(tǒng)支持層:電子元器件管理系統(tǒng)是一個(gè)多層分布式的管理系統(tǒng),分布式技術(shù)及網(wǎng)絡(luò)技術(shù)有效支持分散數(shù)據(jù)的集中管理,而關(guān)系數(shù)據(jù)庫的數(shù)據(jù)操作功能有效支持了系統(tǒng)對象在底層數(shù)據(jù)庫的管理[9?10]。
3系統(tǒng)的具體實(shí)現(xiàn)與特點(diǎn)
根據(jù)多層分布式系統(tǒng)的結(jié)構(gòu)和電子元器件管理的特點(diǎn),分別實(shí)現(xiàn)該系統(tǒng)數(shù)據(jù)庫層、業(yè)務(wù)邏輯層、用戶表示層的詳細(xì)設(shè)計(jì)。
3.1系統(tǒng)數(shù)據(jù)庫層服務(wù)器的實(shí)現(xiàn)
根據(jù)電子元器件管理系統(tǒng)的功能要求,選取MicroSoft SQL Server 2000作為后臺數(shù)據(jù)庫。SQL Server2000具有強(qiáng)大的數(shù)據(jù)管理功能,支持?jǐn)?shù)據(jù)的完整性、安全性管理和并發(fā)控制。在數(shù)據(jù)庫服務(wù)器中構(gòu)建關(guān)系數(shù)據(jù)庫(ElecComponentsDb),建立若干個(gè)數(shù)據(jù)表,分別存放用戶權(quán)限管理、元器件類別、元器件入庫資料、元器件領(lǐng)導(dǎo)用管理、元器件調(diào)撥等信息,并設(shè)置若干個(gè)由多個(gè)表JOIN連接的視圖,以設(shè)計(jì)各類管理功能需要的交叉查詢功能。大量在客戶端不能完成的系統(tǒng)功能,全部設(shè)計(jì)為數(shù)據(jù)庫服務(wù)器端的存儲過程,用存儲過程來實(shí)現(xiàn)系統(tǒng)功能,達(dá)到了既快速,又安全的目的。主要存儲過程有:
(1) 元器件領(lǐng)庫存余量計(jì)算算法功能:PROCEDURE ElecChipsCalc;
(2) 元器件分類匯總:PROCEDURE ElecChipsStas;
(3) 元器件進(jìn)倉處理:PROCEDURE ElecCmpsIn;
(4) 元器件領(lǐng)用處理: PROCEDURE ElecCmpsOut等。
3.2應(yīng)用服務(wù)器的建立
(1) 使用數(shù)據(jù)集組件連接遠(yuǎn)程數(shù)據(jù)庫
使用Delphi7.0分布式VCL組件建立一個(gè)OLE Automation服務(wù)器,客戶端程序通過應(yīng)用服務(wù)器的IAppServer接口連接客戶端應(yīng)用程序供其調(diào)用。通過加入讀取INI文件中存儲的服務(wù)器、用戶名、口令等信息的代碼以及授權(quán)等信息碼后。從外置INI文件讀取信息的程序代碼如下:
sf:Tinifile;//INI文件實(shí)例
begin
sf:=Tinifile.Create(ExtractFilePath(Paramstr(0))+'ScunSys.ini');
with sf do
begin
edtserv.text:=readstring('system','Server','(Local)');
edtdb.text:=readstring('system','DbName','scunpersondb'); //
edtuser.text:=readstring('system','UserName','sa');
edtpwd.text:= readstring('system','password','**');
// 讀取服務(wù)器信息、數(shù)據(jù)庫、User用戶信息、Password口令信息等
end;
(2) 通過RDM的IAppServer接口來存取遠(yuǎn)程數(shù)據(jù)庫的數(shù)據(jù)集
在RDM中通過數(shù)據(jù)集組件的方式顯然不能完全解決數(shù)據(jù)的高速存取及數(shù)據(jù)連接池的問題,且安全性不能得到保障,故在本系統(tǒng)中采用了通過設(shè)置IAppServer接口函數(shù)來實(shí)現(xiàn)數(shù)據(jù)集的存取操作.
在系統(tǒng)中,根據(jù)獲取數(shù)據(jù)集、存儲數(shù)據(jù)集及其他功能實(shí)現(xiàn)的方式設(shè)立以下幾種主要的業(yè)務(wù)函數(shù):
① 通過數(shù)據(jù)庫端存儲過程獲取數(shù)據(jù)。(有數(shù)據(jù)集返回)
function AccqDataFromStoreproc (): OleVariant; 該函數(shù)返回值為一數(shù)據(jù)集,直接賦值給DataSet.Data,從客戶端接收SQL語句獲取數(shù)據(jù)。程序代碼如下:
function TScunAppS.AccqDataFromStoreproc(const spName: WideString;Params: OleVariant; const spdname: WideString): OleVariant;
var
i:integer;
sconn:Tadoconnection; //設(shè)置TAdoConnection實(shí)例
fromsp:TadoStoredproc; //設(shè)置TAdo Storedproc;實(shí)例接收客戶端傳遞的存儲過程名稱及其參數(shù)列表
begin
sconn:=Tadoconnection.create(self);
if ScunAppInfo.ConnectDB(sconn) then
begin
fromsp:=TadoStoredproc.Create(self);
spdsp:=Tdatasetprovider.Create(self);
with spdsp do
begin
DataSet:=fromsp;
exported:=true;
resolvetodataset:=true;
name:=spdname;
end;
with fromsp do
begin
close;
connection:=sconn;
Procedurename:=spname;
if (varisarray(params)) then
begin
parameters.Clear;
for i:=vararraylowbound(params,1) to vararrayhighbound(params,1) do
begin
Parameters.Add;
Parameters[i].Value:=params[i];
//從params分離出存儲過程參數(shù)
end;
end
else
exit;
prepared:=true;
try
active:=true;
result:=spdsp.Data; //獲取數(shù)據(jù)集,Variant參數(shù)回傳客戶端
except
on e: Exceptiondoraise;
end;
end;
end;
scunappinfo.stpspname:=spdname;
end;
② 更新數(shù)據(jù)集函數(shù)有兩個(gè):UpdateByScript,UpdateByStoreProc,從客戶端接收SQL語句更新數(shù)據(jù)集。
③ 其他類函數(shù):ECmpLogin, ECmpUnLogin,ReleaseDSProvider,用于對應(yīng)用服務(wù)器的操作和管理。
3.3客戶端應(yīng)用程序的建立
在Delphi中建立一個(gè)項(xiàng)目組,連接應(yīng)用程序服務(wù)器,然后建立一個(gè)新的Application應(yīng)用程序。新建一數(shù)據(jù)模塊,加入一個(gè)MIDAS組件板中的TDCOM Connection組件,設(shè)定其Computer Name屬性值為應(yīng)用程序服務(wù)器位于的主機(jī)名稱。設(shè)定TDCOM Connection要使用的應(yīng)用程序服務(wù)器,設(shè)置應(yīng)用程序服務(wù)器的GUID和填在TDCOM Connection的ServerGUID屬性值。再添加TClientDataSet組件,設(shè)置其Provider Name 屬性值,激活TClient DataSet的實(shí)例,使其通過中間層從數(shù)據(jù)庫服務(wù)器中取得數(shù)據(jù)集。
在多層體系中,應(yīng)用程序?qū)⒋碌臄?shù)據(jù)暫存在客戶端應(yīng)用程序中,系統(tǒng)真正要求將數(shù)據(jù)集更新回?cái)?shù)據(jù)庫時(shí),必須調(diào)用應(yīng)用程序服務(wù)器提供的Apply Updates方法,才會把更新的數(shù)據(jù)集真正的更新回后端數(shù)據(jù)庫中,其更新方法如下:
If(DataModule1.Clientdataset1.changecount>0) then
//判斷數(shù)據(jù)集是否有更新發(fā)生
begin
DataModule1.Clientdataset1.Post;
DataModule1.Clientdataset1.ApplyUpdates(0);
//更新數(shù)據(jù)集至數(shù)據(jù)庫
end;
3.4主要功能模塊的實(shí)現(xiàn)
(1) 根據(jù)系統(tǒng)的功能設(shè)計(jì)詳細(xì)設(shè)計(jì)書,制作程序用戶界面圖,并編寫程序代碼,實(shí)現(xiàn)電子元器件管理系統(tǒng)的各項(xiàng)主要功能。如圖3所示為電子元器件管理系統(tǒng)的主界面窗口。
圖3 電子元器件管理系統(tǒng)主界面圖
(2) 用戶登錄密碼加/解密算法實(shí)現(xiàn)。因使用的數(shù)據(jù)庫SQL Server2000存放用戶信息的表字符均為明文,而管理人員復(fù)雜,登錄用戶密碼易被泄密,故采用異或算法來對用戶密碼明文進(jìn)行加密,讀取密碼時(shí)進(jìn)行解密。具體算法如下:
ss:='';
ts:=trim(passWord.text); //用戶輸入的密碼加密
for i:=1 to length(ts) do
ss:=ss+char(ord(ts[i]) xor 127);
解密算法同樣采用xor算法來實(shí)現(xiàn)。
(3) 元器件入庫管理模塊。系統(tǒng)設(shè)定元器件入庫前必須要有預(yù)算計(jì)劃,每次入庫自動生成一個(gè)入庫單號,然后在該入庫單下進(jìn)行元器件各類參數(shù)信息的錄入。見圖4為元器件入庫管理模塊。
圖4 元器件入庫管理模塊圖
(4) 元器件領(lǐng)用管理模塊。在電子設(shè)計(jì)日常實(shí)訓(xùn)中,學(xué)生經(jīng)常要進(jìn)入實(shí)驗(yàn)室進(jìn)行領(lǐng)用元器件,在領(lǐng)用元器件前學(xué)生必須經(jīng)過系統(tǒng)的預(yù)約,預(yù)約領(lǐng)哪些元器件,并經(jīng)指導(dǎo)老師審核后,方可到實(shí)驗(yàn)室領(lǐng)取所預(yù)約的元器件。元器件領(lǐng)用管理模塊實(shí)現(xiàn)功能如圖5所示。
圖5 元器件領(lǐng)用管理模塊圖
其他功能模塊均已按設(shè)計(jì)要求進(jìn)行實(shí)現(xiàn),并經(jīng)測試使用正常。在系統(tǒng)的使用過程中,學(xué)號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩(wěn)固性及容錯與負(fù)載平衡能力的處理
系統(tǒng)采用了多個(gè)應(yīng)用服務(wù)器來同時(shí)處理客戶端進(jìn)程,系統(tǒng)的穩(wěn)固性必然受到影響,程序在開發(fā)過程中使用DELPHI提供的TSimple Object Broker 組件的內(nèi)置功能來實(shí)現(xiàn)系統(tǒng)的穩(wěn)固性。通過修改TSimple Object Broker的屬性servers值來添加及維護(hù)一個(gè)能夠執(zhí)行應(yīng)用程序服務(wù)器的機(jī)器列表,并設(shè)置TDCOM Connection 或TSocket Connection以連接遠(yuǎn)程服務(wù)器。當(dāng)連結(jié)的主機(jī)故障時(shí), TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個(gè)新的能夠執(zhí)行應(yīng)用程序服務(wù)器的遠(yuǎn)程機(jī)器名稱,然后再連結(jié)到這臺新機(jī)器以取得應(yīng)用程序服務(wù)器的服務(wù)[11]。
本系統(tǒng)采用動態(tài)平衡算法來保證負(fù)載平衡能力,主要依靠TSimple Object Broker組件強(qiáng)大的功能,設(shè)定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負(fù)載平衡能力。這樣當(dāng)某臺應(yīng)用服務(wù)器出現(xiàn)故障時(shí),客戶端系統(tǒng)能通過TSimple Object Broker組件的負(fù)載平衡能力自動尋找正常運(yùn)行的應(yīng)用服務(wù)器,并接管該進(jìn)程的管理功能,從而達(dá)到負(fù)載平衡的功能。
4結(jié)語
通過對全國大學(xué)生電子設(shè)計(jì)競賽元器件管理的現(xiàn)狀和特點(diǎn)進(jìn)行了全面的分析,提出了采用多層分布式結(jié)構(gòu)和C/S架構(gòu)平臺的分析和設(shè)計(jì)方法,充分運(yùn)用成熟的MIDAS框架和ADO技術(shù)來開發(fā)三層體系結(jié)構(gòu)的電子競賽元器件管理系統(tǒng),將電子競賽元器件管理的多項(xiàng)處理業(yè)務(wù)邏輯封裝在中間層應(yīng)用服務(wù)器層,運(yùn)用Delphi 7開發(fā)客戶端程序,構(gòu)建了一個(gè)功能強(qiáng)大的電子元器件管理系統(tǒng)。結(jié)果表明由MIDAS開發(fā)的三層架構(gòu)的電子元器件管理系統(tǒng)易于維護(hù),結(jié)構(gòu)層次優(yōu)化,安全性更高,極大地提高了高校電子設(shè)計(jì)競賽及其實(shí)訓(xùn)電子元器件的管理效率。系統(tǒng)還充分運(yùn)用Delphi開發(fā)平臺解決了應(yīng)用服務(wù)器的多層穩(wěn)固性及容錯與負(fù)載平衡,使應(yīng)用層服務(wù)器運(yùn)行更加穩(wěn)定,運(yùn)行速度更快更高效。
參考文獻(xiàn)
[1] 刁鳴,王松武,李海波.大學(xué)生電子設(shè)計(jì)競賽的實(shí)施與思考[J]. 實(shí)驗(yàn)室技術(shù)與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設(shè)備的電路板元器件定位軟件開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚(yáng).基于B/S 的實(shí)驗(yàn)室EIMS分析與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個(gè)家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):259?262.
[5] 王寧,吳慶學(xué).基于VFP的校園招聘信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數(shù)據(jù)庫系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(6):206?208.
[8] 朱學(xué)寧,林加論,張錦.大學(xué)物理實(shí)驗(yàn)報(bào)告自動批閱系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網(wǎng)上充值卡銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業(yè)應(yīng)用信息系統(tǒng)簡易開發(fā)平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):328?333.
圖5 元器件領(lǐng)用管理模塊圖
其他功能模塊均已按設(shè)計(jì)要求進(jìn)行實(shí)現(xiàn),并經(jīng)測試使用正常。在系統(tǒng)的使用過程中,學(xué)號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩(wěn)固性及容錯與負(fù)載平衡能力的處理
系統(tǒng)采用了多個(gè)應(yīng)用服務(wù)器來同時(shí)處理客戶端進(jìn)程,系統(tǒng)的穩(wěn)固性必然受到影響,程序在開發(fā)過程中使用DELPHI提供的TSimple Object Broker 組件的內(nèi)置功能來實(shí)現(xiàn)系統(tǒng)的穩(wěn)固性。通過修改TSimple Object Broker的屬性servers值來添加及維護(hù)一個(gè)能夠執(zhí)行應(yīng)用程序服務(wù)器的機(jī)器列表,并設(shè)置TDCOM Connection 或TSocket Connection以連接遠(yuǎn)程服務(wù)器。當(dāng)連結(jié)的主機(jī)故障時(shí), TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個(gè)新的能夠執(zhí)行應(yīng)用程序服務(wù)器的遠(yuǎn)程機(jī)器名稱,然后再連結(jié)到這臺新機(jī)器以取得應(yīng)用程序服務(wù)器的服務(wù)[11]。
本系統(tǒng)采用動態(tài)平衡算法來保證負(fù)載平衡能力,主要依靠TSimple Object Broker組件強(qiáng)大的功能,設(shè)定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負(fù)載平衡能力。這樣當(dāng)某臺應(yīng)用服務(wù)器出現(xiàn)故障時(shí),客戶端系統(tǒng)能通過TSimple Object Broker組件的負(fù)載平衡能力自動尋找正常運(yùn)行的應(yīng)用服務(wù)器,并接管該進(jìn)程的管理功能,從而達(dá)到負(fù)載平衡的功能。
4結(jié)語
通過對全國大學(xué)生電子設(shè)計(jì)競賽元器件管理的現(xiàn)狀和特點(diǎn)進(jìn)行了全面的分析,提出了采用多層分布式結(jié)構(gòu)和C/S架構(gòu)平臺的分析和設(shè)計(jì)方法,充分運(yùn)用成熟的MIDAS框架和ADO技術(shù)來開發(fā)三層體系結(jié)構(gòu)的電子競賽元器件管理系統(tǒng),將電子競賽元器件管理的多項(xiàng)處理業(yè)務(wù)邏輯封裝在中間層應(yīng)用服務(wù)器層,運(yùn)用Delphi 7開發(fā)客戶端程序,構(gòu)建了一個(gè)功能強(qiáng)大的電子元器件管理系統(tǒng)。結(jié)果表明由MIDAS開發(fā)的三層架構(gòu)的電子元器件管理系統(tǒng)易于維護(hù),結(jié)構(gòu)層次優(yōu)化,安全性更高,極大地提高了高校電子設(shè)計(jì)競賽及其實(shí)訓(xùn)電子元器件的管理效率。系統(tǒng)還充分運(yùn)用Delphi開發(fā)平臺解決了應(yīng)用服務(wù)器的多層穩(wěn)固性及容錯與負(fù)載平衡,使應(yīng)用層服務(wù)器運(yùn)行更加穩(wěn)定,運(yùn)行速度更快更高效。
參考文獻(xiàn)
[1] 刁鳴,王松武,李海波.大學(xué)生電子設(shè)計(jì)競賽的實(shí)施與思考[J]. 實(shí)驗(yàn)室技術(shù)與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設(shè)備的電路板元器件定位軟件開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚(yáng).基于B/S 的實(shí)驗(yàn)室EIMS分析與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個(gè)家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):259?262.
[5] 王寧,吳慶學(xué).基于VFP的校園招聘信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數(shù)據(jù)庫系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(6):206?208.
[8] 朱學(xué)寧,林加論,張錦.大學(xué)物理實(shí)驗(yàn)報(bào)告自動批閱系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網(wǎng)上充值卡銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業(yè)應(yīng)用信息系統(tǒng)簡易開發(fā)平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):328?333.
圖5 元器件領(lǐng)用管理模塊圖
其他功能模塊均已按設(shè)計(jì)要求進(jìn)行實(shí)現(xiàn),并經(jīng)測試使用正常。在系統(tǒng)的使用過程中,學(xué)號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩(wěn)固性及容錯與負(fù)載平衡能力的處理
系統(tǒng)采用了多個(gè)應(yīng)用服務(wù)器來同時(shí)處理客戶端進(jìn)程,系統(tǒng)的穩(wěn)固性必然受到影響,程序在開發(fā)過程中使用DELPHI提供的TSimple Object Broker 組件的內(nèi)置功能來實(shí)現(xiàn)系統(tǒng)的穩(wěn)固性。通過修改TSimple Object Broker的屬性servers值來添加及維護(hù)一個(gè)能夠執(zhí)行應(yīng)用程序服務(wù)器的機(jī)器列表,并設(shè)置TDCOM Connection 或TSocket Connection以連接遠(yuǎn)程服務(wù)器。當(dāng)連結(jié)的主機(jī)故障時(shí), TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個(gè)新的能夠執(zhí)行應(yīng)用程序服務(wù)器的遠(yuǎn)程機(jī)器名稱,然后再連結(jié)到這臺新機(jī)器以取得應(yīng)用程序服務(wù)器的服務(wù)[11]。
本系統(tǒng)采用動態(tài)平衡算法來保證負(fù)載平衡能力,主要依靠TSimple Object Broker組件強(qiáng)大的功能,設(shè)定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負(fù)載平衡能力。這樣當(dāng)某臺應(yīng)用服務(wù)器出現(xiàn)故障時(shí),客戶端系統(tǒng)能通過TSimple Object Broker組件的負(fù)載平衡能力自動尋找正常運(yùn)行的應(yīng)用服務(wù)器,并接管該進(jìn)程的管理功能,從而達(dá)到負(fù)載平衡的功能。
4結(jié)語
通過對全國大學(xué)生電子設(shè)計(jì)競賽元器件管理的現(xiàn)狀和特點(diǎn)進(jìn)行了全面的分析,提出了采用多層分布式結(jié)構(gòu)和C/S架構(gòu)平臺的分析和設(shè)計(jì)方法,充分運(yùn)用成熟的MIDAS框架和ADO技術(shù)來開發(fā)三層體系結(jié)構(gòu)的電子競賽元器件管理系統(tǒng),將電子競賽元器件管理的多項(xiàng)處理業(yè)務(wù)邏輯封裝在中間層應(yīng)用服務(wù)器層,運(yùn)用Delphi 7開發(fā)客戶端程序,構(gòu)建了一個(gè)功能強(qiáng)大的電子元器件管理系統(tǒng)。結(jié)果表明由MIDAS開發(fā)的三層架構(gòu)的電子元器件管理系統(tǒng)易于維護(hù),結(jié)構(gòu)層次優(yōu)化,安全性更高,極大地提高了高校電子設(shè)計(jì)競賽及其實(shí)訓(xùn)電子元器件的管理效率。系統(tǒng)還充分運(yùn)用Delphi開發(fā)平臺解決了應(yīng)用服務(wù)器的多層穩(wěn)固性及容錯與負(fù)載平衡,使應(yīng)用層服務(wù)器運(yùn)行更加穩(wěn)定,運(yùn)行速度更快更高效。
參考文獻(xiàn)
[1] 刁鳴,王松武,李海波.大學(xué)生電子設(shè)計(jì)競賽的實(shí)施與思考[J]. 實(shí)驗(yàn)室技術(shù)與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設(shè)備的電路板元器件定位軟件開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚(yáng).基于B/S 的實(shí)驗(yàn)室EIMS分析與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個(gè)家庭理財(cái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):259?262.
[5] 王寧,吳慶學(xué).基于VFP的校園招聘信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數(shù)據(jù)庫系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(6):206?208.
[8] 朱學(xué)寧,林加論,張錦.大學(xué)物理實(shí)驗(yàn)報(bào)告自動批閱系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網(wǎng)上充值卡銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業(yè)應(yīng)用信息系統(tǒng)簡易開發(fā)平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):328?333.