第一篇:基于C#運(yùn)用遺傳算法的排課系統(tǒng)概要
第18卷 V01.18 第12期 No.12 電子設(shè)計(jì)工程
Electronic Design Engineering 2010年12月 Dec.2010 基于C舟運(yùn)用遺傳算法的排課系統(tǒng) 王軍.陳建云
(南京信息工程大學(xué)計(jì)算機(jī)軟件學(xué)院,江蘇南京210044 摘要:排課問題是典型的組合優(yōu)化和不確定性調(diào)度問題,并且是NP完全問題。隨著高校的發(fā)展,在教務(wù)管理系統(tǒng)中 使用的排課模型也變得越來越復(fù)雜,針對(duì)遺傳算法排課中存在的初始解生成不合理及一周多學(xué)時(shí)課程不好安排的問 題,為了避免同一門課程在一周內(nèi)的不合理上課情況。針對(duì)這種情況。給出了排課問題的數(shù)學(xué)模型.提出了基于C群運(yùn) 用遺傳算法解決方案。結(jié)果表明,該算法能比較有效的解決排課問題。該方法易于學(xué)習(xí)和應(yīng)用,且不毖依賴特殊的實(shí) 現(xiàn)模式。
關(guān)鍵詞:排課;數(shù)學(xué)模型;C#;遺傳算法
中圖分類號(hào):TP3ll 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674—6236(201012—0085加3 Apply genetic algorithm to design timetabling system based on C sharp WANG Jun,CHEN Jian—yun(Department ofComputer Science and Technology,Nanjing Univers以ofInformation Science&Technology,Nanjing 210044,China
Abstract:The problem of timetabling system is the typical of combinatorial optimization and uncertainty,and it also is NP--completeness problem.With the development of colleges and universities,the class arrangement model is also becoming more and more complicated in the educational administration system.In view of this situation.the paper presented the mathematical model of the problem,and proposed solutions to apply genetic algorithm based on C sharp.The results show that the algorithm c肋solve the timetabling problem effectively.This method is easy to learn and apply.And it does not need any special realization model.Key words:timetabhng;mathematical model;C群:genetic algorithm 隨著高校的發(fā)展,課程安排已成為教務(wù)部門頭痛的事 情,經(jīng)常會(huì)出現(xiàn)課程排列沖突,比如:一個(gè)教師在同一時(shí)間上 兩門課,有兩個(gè)教師同時(shí)去一個(gè)教室上不同的課程.有些教 師在特定時(shí)間不可以上課但卻安排有課。如果沒有很好地解 決這些沖突,必將產(chǎn)生教學(xué)混亂等現(xiàn)象??梢?排課算法的正 確性、高效性是非常關(guān)鍵的。
1排課問題的數(shù)學(xué)模型
學(xué)校排課問題本質(zhì)上是時(shí)間表問題的一類典型應(yīng)用實(shí) 例.是為了解決課程安排對(duì)時(shí)間和空間資源的有效利用并避 免相互沖突。在排課過程中,需要考慮課程教學(xué)效果、滿足教 師特殊要求等多項(xiàng)優(yōu)化指標(biāo),將各門課程安排到相應(yīng)的時(shí)間 和教室需要付出一定的成本。
1.1符號(hào)與約束條件
設(shè)課程集合:P-{pl,p2,...,P。,...,p.I;教師集合:肘={m-, m2,...,nap,...,mPI;教室集合:S=f8l,s2,...,吼,...,sK};班級(jí)集合: C=fcl,c2,...,c……cNl;時(shí)間集合:r={tI,t2,...,td,...,tDI;時(shí)間與 教室對(duì)的笛卡爾積為:G=T?S=(tI,SI,(tl,s2,...,(tD,SK;G中
收稿日期:2010--05—26稿件編號(hào):201005094 的元素稱為時(shí)間教室對(duì);課表問題的求解過程就轉(zhuǎn)化成為每 一門課程尋找一個(gè)合適的時(shí)間教室對(duì)。
排課過程中必須滿足各種約束條件.各種約束條件可以 歸納成2類,這樣能簡化分析過程。
1.1.1硬約束條件
硬約束條件是在排課過程中由于各類資源的有限.因此 必須滿足而無法變更的約束條件,通常只要滿足下面3類硬 約束條件就能夠保證在排課的過程中不發(fā)生此類沖突。1同一時(shí)間,一個(gè)教師只能上一門課程,記為X1,且Xl ≤l,其中:p=l,...,P;d=l,....D。當(dāng)XI=I時(shí),教師‰在時(shí)間 td和教室敏上課pm;當(dāng)J1=o時(shí),不成立。
2同一時(shí)問。一個(gè)班級(jí)只能上一門課,記為X2,且X2≤ l,其中:n=l,..,N;d=l,...,D。當(dāng)X2=I時(shí),班級(jí)C。在時(shí)間td 上教師lIIp的課程pm;當(dāng)X2=0時(shí),不成立。
3同一時(shí)間.一個(gè)教室只能上一門課,記為X3,且X3≤l,其中:k=l,...,K;d=l….,D。當(dāng)X3=l時(shí),教室st在時(shí)間td 由教師IIlp上課程pm;當(dāng)X3=0時(shí),不成立。
1.1.2軟約束條件
軟約束條件是在排課過程中可以滿足又可以不完全滿
作者簡介:王軍(1970-一,男,安徽銅陵人,教授。研究方向:軟件工程、CSCW、信息系統(tǒng)應(yīng)用。
—-85..萬方數(shù)據(jù)
《電子設(shè)計(jì)工程2010年第12期
足的約束條件,是排課過程中在滿足硬約束條件的基礎(chǔ)上能 盡量要求滿足的約束條件。軟約束條件會(huì)因不同的教學(xué)情況 而有所差異。通常也可以通過調(diào)節(jié)軟約
束條件的滿足程度而 改變排課的效果??梢詫⒁欢ㄒ獫M足的軟約束條件轉(zhuǎn)換為 “硬約束條件”。
以下是排課過程中常用的軟約束條件: 1教師①老師一天之中連續(xù)上課節(jié)數(shù);②老師課程大 部分在上午或下午;③總學(xué)分為奇數(shù)的課程一次連上三小 節(jié);④早上8點(diǎn)(第一節(jié)是否排課;⑤下午4點(diǎn)以后(最后 一節(jié)是否排課;⑥中午12點(diǎn)(第五節(jié)是否排課;⑦一門課 盡量分散在一個(gè)星期中。
2學(xué)生①中午(12:00盡量不要排課;(參上完體育課 盡量不要排課;③共同科目同班級(jí)一起上;④選修科目各班 級(jí)分開選課;⑤對(duì)于總學(xué)分為偶數(shù)的課程采取兩學(xué)分課連 上;⑥對(duì)于總學(xué)分為奇數(shù)的課程采取三學(xué)分課連上;⑦學(xué)生 課表中的上課時(shí)間不能過分集中。應(yīng)避免一天課程很滿而另 一天卻一整天沒課的情況。
2排課問題的算法 2.1算法流程
遺傳操作流程如圖l所示。圖1遺傳操作流程圖
Fig.1How chart of Genetic operation 2.2染色體編碼
遺傳算法(GA中首要考慮的是如何表現(xiàn)其問題,即如 何對(duì)染色體編碼,使之適用于GA操作。在經(jīng)典的遺傳算法 中,常采用浮點(diǎn)數(shù)或二進(jìn)制的編碼方法,而研究中,每條染色 體代表每位教師的課表,其結(jié)構(gòu)表示如圖2所示。
圖2課表用染色體表示的結(jié)構(gòu)
Fig.2Structu陀of schedfle《chromosomes
班級(jí)ID染色體在程序中可用十進(jìn)制數(shù)編碼,例如:某一 個(gè)教師編號(hào)為1234,要教“計(jì)算機(jī)基礎(chǔ)’’這門課,課程編號(hào)為 5678,周學(xué)時(shí)為4,班級(jí)為JSJ08001、JSJ08002,隨機(jī)產(chǎn)生上課--86-時(shí)間,隨機(jī)選擇大于兩班總?cè)藬?shù)的教室,則可生成染色體如:“JSJ08001JSJ***401224l”其中0240l,2241分別代表教室及上課時(shí)間星期二第二個(gè)教學(xué)單元(即上午3、4節(jié)和星期四第一個(gè)教學(xué)單元(即上午1、2節(jié)。
按如上編碼,兩條染色體對(duì)后9位作交叉操作,不會(huì)影 響到每位教師所教授的課程。也不會(huì)造成教師課表內(nèi)含其他 教師的教授課程或每代演化后染色體結(jié)構(gòu)不合理等同題。2-3初始種群生成
一個(gè)染色體就是一個(gè)可能的排課結(jié)果.是一個(gè)mx26的 數(shù)組,需處理的數(shù)據(jù)量較大,結(jié)構(gòu)相對(duì)比較復(fù)雜。如果初始 種群中個(gè)體的分布不好。將很容易使整個(gè)排課結(jié)果陷入局部 最優(yōu)而得不到好的排課結(jié)果.因此初始種群的生成對(duì)整個(gè)算 法的影響較大。
2.4選擇操作
在排課表問題中。選擇操作方式采用輪盤賭方法。按照 輪盤中的比例進(jìn)行區(qū)域的分配。適應(yīng)度較高的方案占據(jù)區(qū)域 較大,選中的概率也較大,適應(yīng)度低的方案占據(jù)區(qū)域較小,選 中的概率也較小。
2.5交叉操作
編排課時(shí).根據(jù)點(diǎn)交叉算子的思想。可在P個(gè)開課時(shí)間 和教師課表中隨機(jī)采樣兩個(gè)厶,對(duì)所有只和瓦的值進(jìn)行互 換。將互換后的兩個(gè)個(gè)體作為兩個(gè)子代插入新種群。也可以 選擇某個(gè)班級(jí)的課表TC和學(xué)生課表s。,對(duì)TC集合和S集 合中的所有時(shí)間安排進(jìn)行互換。此時(shí).交換的基因是若干個(gè) £時(shí)間安排組成的集合。
2.6變異操作
變異雖然以很小的概率發(fā)生.但是它保證種群的多樣 性。防止搜索得到的解陷入次優(yōu)解。有效抑制遺傳早熟現(xiàn)象 的發(fā)生。隨機(jī)的方法可以保證個(gè)體的迥異,從而保證初始解 在解空間的均勻性。在變異操作中隨機(jī)選擇一個(gè)個(gè)體的基 因,這個(gè)基因可以是時(shí)間也可以是教室等,讓它隨機(jī)變換成 另一個(gè)時(shí)間或者教室.使其在原始空問位置做輕微擾動(dòng),有 利于搜索空間逐漸向全局最優(yōu)空間靠攏。
2.7適應(yīng)函數(shù)
編排課表主要將以下幾方面因素作為排課表所要達(dá)到 的目標(biāo):教師對(duì)時(shí)間的期望滿意度、教師課時(shí)分布密度、班級(jí) 課時(shí)日分布均勻度、大多數(shù)學(xué)生愿意上此節(jié)課的程度。將以 上4個(gè)目標(biāo)分別賦予不同的權(quán)值蚍,運(yùn)用線性加權(quán)法,得適 44 應(yīng)函數(shù)為:F(茹=a∑WiXi,∑毗=1,Wa E【0,l】,a∈【o,11。式 ‘:I j=l
中,a代表可行系數(shù),當(dāng)進(jìn)行交叉形成不可行的課表(出現(xiàn)了 教師、教室、時(shí)間等的沖突時(shí),則該方案的適應(yīng)度為O,在求 解過程中直接被剔除。由于在交叉過程中會(huì)產(chǎn)生許多適應(yīng)度 為0的方案.所以采用隨機(jī)生成初始種群的辦法不斷形成等 量的可行解,以保持群體規(guī)模,避免算法的過早收斂。
2.8停止規(guī)則
如果一輪適應(yīng)度計(jì)算比較以后。利用輪盤賭的方法按照 萬方數(shù)據(jù)
王軍,等基于C#運(yùn)用遺傳算法的排課系統(tǒng)一定的概率進(jìn)行選擇操作,將適應(yīng)度較高的個(gè)體選擇出來, 在實(shí)際應(yīng)用中也町能沒有終止條件,目的是可以依次提供不 以便于保留優(yōu)秀的個(gè)體為以后的操作,沒有達(dá)到理想的狀 同的可行解以供使用者選擇直到所有解給完或者使用者終 態(tài).則按照一定的交叉概率進(jìn)行個(gè)體之間的交叉和遺傳變異 止。如果只考慮最優(yōu)解的問題,可以使用迭代的適應(yīng)度幾乎 操作,重組個(gè)體后再計(jì)算下一代的適應(yīng)度。直到有一代的適 不變作為終止條件或者規(guī)定迭代次數(shù)。值得一提的是,有些 應(yīng)度達(dá)到預(yù)期要求。如
果遺傳的代數(shù)達(dá)到了最大數(shù),則將結(jié) 實(shí)際問題的可行解可能是唯一的,比如教學(xué)場地或教師資源 果輸出,若滿足適應(yīng)度.且各個(gè)約束條件都已經(jīng)不存在沖突, 緊缺的情況,更嚴(yán)重的是如果約束條件太苛刻,甚至可能沒 則認(rèn)為排課結(jié)果比較合理,宣告遺傳算法正常結(jié)束。有可行解,在此類情況下人工干預(yù)還是有必要的。系統(tǒng)結(jié)果展示
煮:曩.遺傳算法的基本理論與應(yīng)用【M】.北京:科學(xué)出版 開發(fā)排課系統(tǒng)。簡要介紹C#運(yùn)用遺傳算法的實(shí)現(xiàn)過程。
在VS2005運(yùn)行。生成主頁面排課系統(tǒng),有排課向?qū)?如圖3所示。然后輸入教師lD號(hào)、教師姓名、所教課程與優(yōu)先級(jí)排 課。輸入完之后點(diǎn)擊下一步,到最后有開始排課,就會(huì)給出排 課的各種方案。如圖4所示。
圖3排課系統(tǒng)主頁面 Fig.3 Main page of timetabling system
圖4排課后的方案 Fig.4 Scheme after the timetabling 4結(jié)論
該模型與求解方法已在實(shí)際中得到應(yīng)用.取得了較好的 效果。在使用遺傳算法優(yōu)化后排課算法的實(shí)際效率有極大的 提高。因此用遺傳算法實(shí)現(xiàn)類似排課問題的最優(yōu)解也是一種 比較簡單實(shí)用的方法。收斂速度很快,時(shí)間段分配均勻。但是
社.2002.【2】韋玉,馮速.免疫遺傳算法在排課問題中的應(yīng)用叨.北京師 范大學(xué)學(xué)報(bào),2008。44(2:168—172.WEI Yu。FENG Su.1he印plication of immune genetic algo-rithm int the proble of timetabling[J1.Journal of Beijing Normal University。2008,44(2:168—172.【3】魏平熊,偉清.用遺傳算法解組卷問題的設(shè)計(jì)與實(shí)現(xiàn)明.微 電子學(xué)與計(jì)算機(jī)。2002,8(4:44—50.WEI Ping-xiong,WEI Qins.Test paper problem solving by generic algorithm【J】-Microelectronics&Computer,2002,8(4:4和50.【4】4 Salem M,AIYakoob,Hanif D S.A mixed-integer program— ming approach to a class timetabling problem:a case study witll gender policies and traffic considerations【J】.European Journal of Operational Research。2007(180:1028.【5】膝姿,鄧輝文,楊久俊.基于遺傳算法的排課系統(tǒng)的設(shè)計(jì)與 實(shí)現(xiàn)【J】.計(jì)算機(jī)應(yīng)用,2007,27(12:199—201.QI Zi,DENG Hui—wen,YANG Jiu-jun.Timetabling system’s
design and implementation based on the genetic algorithm[J1.Journal of Computer Application,2007。27(12:199-201.【61陳靜.自動(dòng)排課系統(tǒng)算法的分析與設(shè)計(jì)叨.科技情報(bào)開發(fā) 與經(jīng)濟(jì),2007。17(34:217—219.CHEN Jing.Analysis on and design of the algorithm of the auto-arranging curriculum system[J].Sci-techinformation dev-elopment&economy。2007,17(34:217-219.【7】唐慧豐.遺傳算法原理與應(yīng)用[EB/OL].(2006-05—20 [2010-03—20I.http://wenku.baidu.com/view/0732d180d4d8d? 15abe234e35.html.一87— 萬方數(shù)據(jù)
基于C#運(yùn)用遺傳算法的排課系統(tǒng)
作者:王軍 , 陳建云 , WANG Jun, CHEN Jian-yun 作者單位:南京信息工程大學(xué),計(jì)算機(jī)軟件學(xué)院,江蘇,南京,210044 刊名: 電子設(shè)計(jì)工程
英文刊名:ELECTRONIC DESIGN ENGINEERING 年,卷(期:2010,18(12 參考文獻(xiàn)(7條
1.李敏強(qiáng).遺傳算法的基本理論與應(yīng)用[M].北京:科學(xué)出版社.2002.2.韋玉,馮速.免疫遺傳算法在排課問題中的應(yīng)用[J].北京師范大學(xué)學(xué)報(bào),2008,44(2:168-172.WEI Yu,FENG Su.The application of immune genetic algo-rithm int the proble of timetabling[J].Journal of Beijing Normal University,2008,44(2:168-172.3.魏平熊,偉清.用遺傳算法解組卷問題的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2002,8(4:44-50.WEI Ping-xiong,WEI Qing.Test paper problem solving by generic algorithm[J].Mieroelectronies & Computer,2002,8(4:44-50.4.Salem M,AIYakoob,Hanif D S.A mixed-integer program-ming approach to a class timetabling problem:a ease study with gender policies and traffic considerations[J].European Journal of Operational Research,2007(180:1028.5.膝姿,鄧輝文,揚(yáng)久俊.基于遺傳算法的排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2007,27(12:199-201.QI zi,DENG Hui-wen,YANG Jiu-jun.Timetabling system's design and implementation based on the genetic algorithm[J].Journal of Computer Application,2007,27(12:199-201.6.陳靜.自動(dòng)排課系統(tǒng)算法的分析與設(shè)計(jì)[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2007,17(34:217-219.CHEN Jing.Analysis on and design of the algorithm of the auto-arranging curriculum system[J].Sci-techinformation dev-elopment & economy,2007,17(34:217-219.7.唐慧豐.遺傳算法原理與應(yīng)用[EB/OL].(2006-05-20[2010-03-20].http://wenku.baidu.com/view/0732d180d4d8d-15abe234e35.html.本文鏈接:http://d.g.wanfangdata.com.cn/Periodical_dzsjgc201012024.aspx
第二篇:基于遺傳算法的排課系統(tǒng)設(shè)計(jì) 開題報(bào)告
基于遺傳算法的排課系統(tǒng)設(shè)計(jì)開題報(bào)告 課題的意義
每個(gè)新學(xué)期開始,對(duì)于學(xué)校教務(wù)科來說首要而急需完成的任務(wù)是:如何合理而高效的排課。其本質(zhì)是將課程、教師和學(xué)生在合適的時(shí)間段內(nèi)分配到合適的教室中。但由于涉及到的問題較多,同時(shí)學(xué)校擴(kuò)招,學(xué)生和課程數(shù)量比以往大大增加,教室資源明顯不足,在這種情況下排課很難在同時(shí)兼顧多重條件限制的情況下用人工方式排出令教師和學(xué)生都滿意的課表。
雖然排課問題很早以前就成為眾多科研人員和軟件公司的研究課題,但是真正投入使用的排課軟件卻很少。原因是多方面的,其中算法的選擇是最關(guān)鍵的一個(gè)問題,S.Even等人在1975年的研究中證明了排課問題是一個(gè)NP-Complete問題,即若是用“窮舉法”之外的算法找出最佳解是不可能的。然而由于窮舉法成本太高,時(shí)間太長,根本無法在計(jì)算機(jī)上實(shí)現(xiàn)。如果假設(shè)一個(gè)星期有n個(gè)時(shí)段可排課,有m位教師需要參與排課,平均每位教師一個(gè)星期上k節(jié)課,在不考慮其他限制情況下,能夠推出的可能組合就有nm*k種,如此高的復(fù)雜度是目前計(jì)算機(jī)所無法承受的。而遺傳算法的出現(xiàn)正好解決了排課在算法上的問題,可以很有效的求出最優(yōu)解。輕松而快速的解決了困擾教務(wù)科的一大難題,能在短時(shí)間內(nèi)排出符合各項(xiàng)條件的課程表。國內(nèi)外研究現(xiàn)狀
計(jì)算機(jī)排課問題是一個(gè)多目標(biāo),有限資源,帶有模糊約束條件的組合規(guī)劃問題,是計(jì)算機(jī)應(yīng)用領(lǐng)域一個(gè)具有代表性的問題。20世紀(jì)60年代末,Gotlieb.C.C教授就對(duì)課程表問題進(jìn)行了形式化描述。隨后,此類研究發(fā)展起來。70年代中期,S.Even等人就論證了課表問題是NP完全類問題,將該問題理論化,同時(shí)也說明課表問題有其自身的理論化模型,即課表問題存在解。并且能找到解。但是根據(jù)計(jì)算和難解性理論,目前還沒有解決NP完全類問題的多項(xiàng)式算法。到1979年,Schmit 和Strohein在文獻(xiàn)中就列出了 300多篇已發(fā)表的文獻(xiàn)。近年來研究這一問題的人員不斷增多,國外的運(yùn)籌學(xué)雜志幾乎每年都有相關(guān)內(nèi)容的文章那個(gè)發(fā)表,此外它還廣泛的出現(xiàn)在計(jì)算機(jī),應(yīng)用數(shù)學(xué),教育管理等雜志上。80年代初,我國的很多大學(xué)也開始研究排課系統(tǒng)軟件。大體上說這些排課系統(tǒng)軟件可以分為兩大類:第一類以所謂班——教員模型為主,它是在Gotlieb.C.C工作的基礎(chǔ)上發(fā)展起來的。主要討論此模型的定義擴(kuò)充,解的特性及分析,不斷提出新的猜測(cè)和推論?;灸P妥兓淮?,并且這類模型適合課程長度一致,無合班教室的情況,并不適合一般院校的實(shí)際情況。第二類事所謂的課程調(diào)度問題,多于圖的節(jié)點(diǎn)的著色問題有關(guān),模型一旦產(chǎn)生,它的變量往往太多,規(guī)模太大,此外根據(jù)具體的校情對(duì)模型提出的各式各樣要求對(duì)模型影響較大,有的甚至沒有具體的模型可尋。通過對(duì)資料的查閱發(fā)現(xiàn)以往對(duì)課程問題的研究多側(cè)重于自動(dòng)生成,難度較大實(shí)現(xiàn)不易,往往是理論研究上的工作多,而實(shí)際應(yīng)用方面的工作很少。有一些實(shí)際的例子,也往往是特定條件下對(duì)實(shí)際情況簡化得到的,至今還沒有自動(dòng)生成可課表系統(tǒng)的軟件應(yīng)用于實(shí)際。對(duì)計(jì)算機(jī)而言,不像人工編排那樣可以對(duì)任何情況進(jìn)行合理的取舍,因此不存在完全沖突的課表很難排出來。
國內(nèi)高校排課系統(tǒng)中,大連理工大學(xué)是從事此類軟件開發(fā)較早單位。1987年該校開發(fā)了《教學(xué)組織管理及課程調(diào)度系統(tǒng)》1.00版本,之后在此基礎(chǔ)上又推出了《教學(xué)組織管理及課程調(diào)度系統(tǒng)》2.00版本,1902年又推出了《教學(xué)組織管理及課程調(diào)度系統(tǒng)》2.01版本和安排考試補(bǔ)考的《考試調(diào)度系統(tǒng)》。1994年又推出了《教學(xué)調(diào)度系統(tǒng)》2.20版本。1998年 年推出的在Windows下運(yùn)行的3.00版,現(xiàn)在在各大高校使用比較多,反映較好的有大連理工大學(xué)開發(fā)的系統(tǒng)和清華大學(xué)開發(fā)的《綜合教務(wù)排課系統(tǒng)》,以及北京大學(xué)開發(fā)上的一套比較新的排課管理系統(tǒng)。
3畢業(yè)設(shè)計(jì)論文的主要內(nèi)容
1.遺傳算法的形成及基本應(yīng)用,遺傳算法的基本實(shí)現(xiàn)技術(shù)和特點(diǎn)。
2.排課中所要考慮的約束條件,課表編排的基本規(guī)則和課表編排中存在的矛盾和問題 3.將遺傳算法應(yīng)用于排課系統(tǒng);
4.所采用的方法、手段以及步驟等
1.詳細(xì)了解課表編排中存在的矛盾和課表編排的規(guī)則,將其逐條列舉出來,選取必須兼顧的重要的約束條件,2.分析學(xué)生,教師,課程,教室之間的關(guān)系建立概念模型和邏輯模型 3.產(chǎn)生初試種群
4沖突檢測(cè)和消除:對(duì)各種沖突進(jìn)行檢測(cè),如有沖突則消除它 5計(jì)算適應(yīng)度函數(shù) 期望值
6遺傳操作包括選擇 交叉 變異 7可行課表的生成
5.階段進(jìn)度計(jì)劃
第一周——第三周:查閱資料,學(xué)習(xí)遺傳算法的基本理論,查閱相關(guān)文獻(xiàn)完成 開題報(bào)告
第四周——第五周:詳細(xì)學(xué)習(xí)遺產(chǎn)算法,并對(duì)所做課題進(jìn)行詳細(xì)構(gòu)思
第六周——第七周: 完成英文資料的翻譯
第八周——第九周 :分析調(diào)查排課問題所面臨的具體問題和矛盾以及縮影可考慮的因素,分析找出座位乖蹇的約束條件
第七周——第九周:對(duì)各個(gè)模塊進(jìn)行設(shè)計(jì) 第十周——第十一周:對(duì)各個(gè)部分進(jìn)行分析完善 第十二周——第十三周:撰寫論文
第十四周:完成PowerPoint制作的論文答辯電子稿
第十五周——第十六周:論文答辯 6參考文獻(xiàn)
周明 孫樹棟《遺傳算法原理及應(yīng)用》國防工業(yè)出版社 1996.6 徐艷斌 基于遺傳算法的高校排課系統(tǒng)設(shè)計(jì)與分析(碩士生論文)
第三篇:畢業(yè)設(shè)計(jì) C#倉庫管理系統(tǒng)摘要
漁陽建業(yè)有限公司倉庫管理信息系統(tǒng)設(shè)計(jì)
與實(shí)現(xiàn)
摘要
在傳統(tǒng)倉庫管理過程中,表單填寫與查詢管理都非常的耗費(fèi)人力物力,最后需要盤點(diǎn)或統(tǒng)計(jì)十分耗費(fèi)時(shí)間和人力。同時(shí)由于采用手工操作,不可避免造成一些的錯(cuò)誤?,F(xiàn)在許多公司都采用計(jì)算機(jī)來管理倉庫信息,避免了手工操作的不足。采用倉庫管理信息對(duì)物資的出入情況進(jìn)行管理,可以很方便地完成各類統(tǒng)計(jì),為生產(chǎn)銷售人員及時(shí)提供相關(guān)信息。
本系統(tǒng)主要實(shí)現(xiàn)倉庫管理的自動(dòng)化,包括貨物的入庫、出庫、調(diào)庫等操作,及貨物有關(guān)信息的管理,如倉庫單位管理、貨物類別管理、供貨商信息管理、客戶檔案管理和倉庫管事操作員信息管理等。本系統(tǒng)采用sql 2005作為后臺(tái)的數(shù)據(jù)管理系統(tǒng),以visual studio 2005作為前端開發(fā)工具,對(duì)數(shù)據(jù)進(jìn)行添加、修改、保存、刪除等處理,具有很強(qiáng)的實(shí)用性。
本系統(tǒng)主要功能是以管理員身份登錄能夠完成對(duì)庫存等諸多信息進(jìn)行實(shí)時(shí)管理功能。系統(tǒng)以提供操作簡單、方便、易懂易用為開發(fā)目標(biāo),用戶界面友好,及具有高效的數(shù)據(jù)處理能力。
關(guān)鍵詞:倉庫管理信息管理系統(tǒng)自動(dòng)化
The Design and Implementation ofYuyang Warehouse Management
Information System
ABSTRACT
In the traditional warehouse management process, it is very costly to
第四篇:基于C#的家政服務(wù)管理系統(tǒng)
C#系統(tǒng)開發(fā)
題目:家政服務(wù)管理系統(tǒng)
系別:計(jì)算機(jī)科學(xué)與技術(shù)系 班級(jí):軟件102 學(xué)號(hào):101012241 姓名:呂明敬 輔導(dǎo)老師:孫波 日期:2012-6-14
摘要
家政服務(wù)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面.對(duì)于前者要求建立數(shù)據(jù)一致性和完整性強(qiáng),數(shù)據(jù)安全性好的數(shù)據(jù)庫.而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。
隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,人們對(duì)計(jì)算機(jī)的依賴性越來越強(qiáng),特別是用計(jì)算機(jī)開發(fā)的數(shù)據(jù)庫以及數(shù)據(jù)管理系統(tǒng)在生活應(yīng)用中表現(xiàn)得更為突出,為此開發(fā)此系統(tǒng)。通過使用家政服務(wù)管理系統(tǒng),使家政服務(wù)店的管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化、簡易化、智能化,從而達(dá)到提高家政服務(wù)管理效率的目的。
一、緒論
在現(xiàn)代社會(huì)中管理的作用越來越顯得重要和突出。一般來講,管理通過計(jì)劃、組織、指導(dǎo)與領(lǐng)導(dǎo)、控制等手段,為組織制定目標(biāo),應(yīng)用組織的各種要素,以實(shí)現(xiàn)組織的目標(biāo)。傳統(tǒng)的管理活動(dòng)中,把人、才、物作為企業(yè)的主要資源。但是隨著社會(huì)化大生產(chǎn)的不斷擴(kuò)大和社會(huì)對(duì)產(chǎn)品多樣化的需求,人們?cè)絹碓街匾曅畔⒃谏a(chǎn)經(jīng)營及企業(yè)管理中的作用,并把它當(dāng)做企業(yè)的一種極其重要的資源,人們稱之為“信息資源”,信息資源的處理已經(jīng)成為當(dāng)今世界上一項(xiàng)主要的社會(huì)活動(dòng)。
本世紀(jì)以來,由于社會(huì)生產(chǎn)力的迅速發(fā)展和科學(xué)技術(shù)的突飛猛進(jìn),人們進(jìn)行信息交流的深度和廣度不斷增加,管理所需要的信息量急劇增長,同時(shí)對(duì)信息的處理要求及時(shí)、準(zhǔn)確,這導(dǎo)致了傳統(tǒng)的信息處理方法和手段已不能適應(yīng)現(xiàn)代管理的需要;電子計(jì)算機(jī)的誕生和在信息處理中的應(yīng)用,標(biāo)志著一個(gè)嶄新時(shí)代——“信息時(shí)代”的開始,它使企業(yè)管理現(xiàn)代化成為可能。
一定意義上說,管理信息系統(tǒng)的產(chǎn)生和發(fā)展是建立在電子計(jì)算機(jī)基礎(chǔ)之上的。硬件方面,自1946年第一臺(tái)電子計(jì)算機(jī)誕生以來,計(jì)算機(jī)技術(shù)的發(fā)展可謂日新月異,從龐大的只能在實(shí)驗(yàn)室里供研究使用的計(jì)算機(jī)到如今能適應(yīng)不同環(huán)境滿足不同需求的各種各樣的計(jì)算機(jī);運(yùn)算速度從每秒幾千次到每秒幾百億次;處理器從焊有上百萬個(gè)電子管的大的驚人的電子板到只有指甲大小的集成電路;現(xiàn)在計(jì)算機(jī)在硬件方面的發(fā)展已達(dá)到了每三個(gè)月更新?lián)Q代一次的驚人速度。軟件方面,也已從機(jī)器語言、匯編語言、高級(jí)語言發(fā)展到現(xiàn)如今的第四代語言——非結(jié)構(gòu)化、面向?qū)ο?、可視化的語言。管理信息系統(tǒng)的發(fā)展 管理信息系統(tǒng)通過對(duì)企業(yè)當(dāng)前運(yùn)行的數(shù)據(jù)進(jìn)行處理來獲得有關(guān)信息,以控制企業(yè)的行為;利用過去和現(xiàn)在的數(shù)據(jù)及相應(yīng)的模型,對(duì)未來的發(fā)展進(jìn)行預(yù)測(cè);能從全局目標(biāo)出發(fā),對(duì)企業(yè)的管理決策活動(dòng)予以輔助。從工業(yè)發(fā)達(dá)國家來看,管理信息系統(tǒng)的發(fā)展經(jīng)歷了以下幾個(gè)階段。
第一階段:(1953年至1965年)單項(xiàng)數(shù)據(jù)處理階段,也稱電子數(shù)據(jù)處理(EDP)階段。這是電子計(jì)算機(jī)在管理領(lǐng)域應(yīng)用的起步階段。這一階段,由于當(dāng)時(shí)計(jì)算機(jī)硬、軟件的限制,數(shù)據(jù)處理的性質(zhì)只是使用計(jì)算機(jī)代替人的手工勞動(dòng),進(jìn)行簡單的單項(xiàng)數(shù)據(jù)處理工作,如計(jì)算工資、數(shù)據(jù)統(tǒng)計(jì)、報(bào)表登記、編制計(jì)劃等。這個(gè)階段的處理方式主要是集中式的批處理。
第二階段:(1965年至1970年)綜合數(shù)據(jù)處理階段,也稱事務(wù)處理系統(tǒng)(TPS)階段。這個(gè)階段計(jì)算機(jī)硬、軟件有了很大的發(fā)展,出現(xiàn)了多用戶的分時(shí)系統(tǒng),計(jì)算機(jī)開始應(yīng)用于對(duì)某一個(gè)管理子系統(tǒng)的控制,并具有一定的反饋功能。如庫存管理系統(tǒng)、生產(chǎn)調(diào)度系統(tǒng)、學(xué)籍管理系統(tǒng)等。這個(gè)階段的處理方式已發(fā)展為面向終端的聯(lián)機(jī)實(shí)時(shí)處理。
第三階段:(1970年至今)管理信息系統(tǒng)(MIS)階段。這個(gè)階段是在企業(yè)中全面的使用計(jì)算機(jī)把各種管理子系統(tǒng)的功能集中起來,構(gòu)成了計(jì)算機(jī)化的全方位的信息系統(tǒng),即現(xiàn)代管理信息系統(tǒng)。這個(gè)階段的處理方式是在數(shù)據(jù)庫和網(wǎng)絡(luò)基礎(chǔ)上組成分布式處理系統(tǒng)。它的特點(diǎn)是使用數(shù)據(jù)庫和分時(shí)處理的計(jì)算機(jī)網(wǎng)絡(luò),并充分利用運(yùn)籌學(xué)等數(shù)學(xué)方法,實(shí)現(xiàn)了硬件、軟件和數(shù)據(jù)資源的共享。
總的說來,計(jì)算機(jī)技術(shù)的發(fā)展,其性價(jià)比大幅的下降,使得其被大量廣泛的使用。針對(duì)現(xiàn)實(shí)中的各種應(yīng)用需求,相應(yīng)的產(chǎn)生很多技術(shù)體系、技術(shù)標(biāo)準(zhǔn),如J2EE、。NET,COM/COM+等。這又大大的推動(dòng)了企業(yè)的信息化進(jìn)程。其影響可以歸納為如下兩點(diǎn):
(1)計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:
今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面:
①計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng); ②計(jì)算機(jī)可以節(jié)省許多資源;
③計(jì)算機(jī)可以大大的提高人們的工作效率; ④計(jì)算機(jī)可以使敏感文檔更加安全,等等。(2)開發(fā)家政服務(wù)管理信息系統(tǒng)的意義
家政服務(wù)管理系統(tǒng)的使用,加強(qiáng)對(duì)客戶資料的管理。通過對(duì)客戶使用情況的分析,可以掌握用戶的喜好,而有針對(duì)性的采購家政,減少了不必的家政的購置,加快資金的流轉(zhuǎn)速度。另一方面,家政服務(wù)店的管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化、簡易化、智能化,從而提高家政服務(wù)管理效率。
二、需求分析
1、系統(tǒng)的初步調(diào)查:
建立一個(gè)好的管理信息系統(tǒng),必須要有一個(gè)好的管理基礎(chǔ)。所謂好的管理基礎(chǔ),指的是合理的管理體制、完善的制度、科學(xué)的管理方法和準(zhǔn)確的原始數(shù)據(jù)。與企業(yè)管理相比,我國的企業(yè)管理在這方面占有較大的優(yōu)勢(shì)。
應(yīng)該看到,我國發(fā)展管理信息系統(tǒng)的時(shí)間還不長,設(shè)計(jì)開發(fā)的實(shí)際經(jīng)驗(yàn)也很不足。要使管理信息系統(tǒng)在企業(yè)建立、使用,并從中獲得巨大的效益,必須具備以下基本條件。
(1)領(lǐng)導(dǎo)重視、管理人員積極性高
管理信息系統(tǒng)的建立,需要企業(yè)提供資源、經(jīng)費(fèi)、人力和時(shí)間,要涉及管理體制、規(guī)章制度的變化、調(diào)整和大量數(shù)據(jù)的編碼、表格形式協(xié)調(diào)等工作,這些企業(yè)管理的全局性問題必須在企業(yè)高層領(lǐng)導(dǎo)的重視和支持下才能獲得解決。
管理人員的積極性也是不容忽視的條件。管理人員是管理信息系統(tǒng)的直接用戶,它們的積極性和配合程度,關(guān)系到管理信息系統(tǒng)的使用效果和生命力。
(2)具備一定的資源條件
管理信息系統(tǒng)的資源主要包括計(jì)算機(jī)硬、軟件設(shè)備,不間斷電源(UPS)、空調(diào)等輔助設(shè)備和計(jì)算機(jī)房設(shè)施等,有條件的企業(yè)應(yīng)盡量發(fā)掘和利用現(xiàn)有計(jì)算機(jī)設(shè)備。管理信息系統(tǒng)的費(fèi)用可分為開發(fā)費(fèi)用和運(yùn)行費(fèi)用,前者包括設(shè)備購置、人員工資、培訓(xùn)和開發(fā)過程中的一系列支出等,后者包括機(jī)器運(yùn)行、維護(hù)和修理費(fèi),人員工資和水、電、紙張和軟盤等日常開支。
要有足夠的資金保證,才能順利完成整個(gè)系統(tǒng)的開發(fā)工作。當(dāng)然,資金的投入也可以在開發(fā)和運(yùn)行過程中分階段進(jìn)行,在逐步取得階段成果的基礎(chǔ)上補(bǔ)充更多的資源。(3)組織一個(gè)強(qiáng)有力的開發(fā)小組
管理信息系統(tǒng)的質(zhì)量,在某種意義上直接取決于開發(fā)人員的水平和素質(zhì)。開發(fā)小組的人數(shù)因系統(tǒng)規(guī)模大小而異,通常包括系統(tǒng)分析員、程序員、數(shù)據(jù)錄入員和硬、軟件維護(hù)人員。由于管理信息系統(tǒng)的開發(fā)通常是從逐個(gè)子系統(tǒng)分期分批進(jìn)行的,同時(shí),已開發(fā)完畢投入使用的系統(tǒng)仍需不斷維護(hù)、改進(jìn)和完善,因此這個(gè)開發(fā)小組應(yīng)該在相當(dāng)長的時(shí)期內(nèi)存在。
在正式的立項(xiàng)之前必須進(jìn)行可行性分析,而可行性分析主要是對(duì)現(xiàn)行系統(tǒng)進(jìn)行充分的調(diào)查研究,細(xì)致了解現(xiàn)行系統(tǒng)的現(xiàn)狀流程,以及存在的主要問題,在此基礎(chǔ)上提出新的系統(tǒng)的邏輯模型。
詳細(xì)的現(xiàn)狀調(diào)查目的是為了弄清現(xiàn)行系統(tǒng)的基本功能及信息流程,為了新系統(tǒng)邏輯模型提供基礎(chǔ)。它是建立新系統(tǒng)的前期工作,也是進(jìn)行系統(tǒng)分析和設(shè)計(jì)的重要基礎(chǔ)。因此要建立新的家政管理系統(tǒng)就必須對(duì)家政店現(xiàn)行租借流程進(jìn)行分析,以導(dǎo)入邏輯模型,進(jìn)爾形成目標(biāo)系統(tǒng)的邏輯模型。
2、系統(tǒng)的可行性分析
系統(tǒng)的可行性分析包括兩個(gè)詳細(xì)的部分:分析開發(fā)新的系統(tǒng)的必要性和可能性。必要性在前面系統(tǒng)初步調(diào)查中已經(jīng)作了詳細(xì)的分析,在這里就不再贅述;可能性主要包括經(jīng)濟(jì)可行性、技術(shù)可行性和運(yùn)行可行性三個(gè)方面。
經(jīng)濟(jì)可行性研究是對(duì)組織的經(jīng)濟(jì)現(xiàn)狀和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè)運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)和經(jīng)濟(jì)效益進(jìn)行估計(jì)。
技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。家政服務(wù)管理系統(tǒng)用的是VF開發(fā)語言,調(diào)試相對(duì)簡單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行。硬件方面,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。
運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)、設(shè)施設(shè)施和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前我們信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。
3、系統(tǒng)的開發(fā)步驟
一般說來,管理信息系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開發(fā)和系統(tǒng)運(yùn)行三個(gè)階段,其中系統(tǒng)開發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等工作環(huán)節(jié)。上述各個(gè)階段排列成一個(gè)嚴(yán)格的線性開發(fā)序列,在每個(gè)工作階段均產(chǎn)生完整的技術(shù)文檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對(duì)文檔進(jìn)行評(píng)審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時(shí)在以后的工作中不能輕易改變前面經(jīng)過評(píng)審的成果。
上述開發(fā)方式的主要優(yōu)點(diǎn)是便于開發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開發(fā)的復(fù)雜性。國內(nèi)外許多系統(tǒng)開發(fā)的實(shí)例都證明這是一種行之有效的開發(fā)方式。
國外曾有人對(duì)一些軟件項(xiàng)目開發(fā)各階段的工作量進(jìn)行了統(tǒng)計(jì),結(jié)果表明,在開發(fā)過程中各工作階段所占全部工作量的比重分別達(dá)到系統(tǒng)分析:系統(tǒng)設(shè)計(jì):編程:模塊調(diào)試:系統(tǒng)調(diào)試=20%:15%:20%:25%:20%。由此可見,程序編寫在開發(fā)工作中只占很小比例,而調(diào)試工作卻占整個(gè)開發(fā)工作量的一半左右,因此“系統(tǒng)開發(fā)就是編程”的習(xí)慣說法顯然是片面的。另據(jù)統(tǒng)計(jì),在建立管理信息系統(tǒng)的三個(gè)階段中,總體規(guī)劃和系統(tǒng)開發(fā)階段的工作量約占整個(gè)工作量的2/3,而運(yùn)行、維護(hù)階段要占1/3,這說明一個(gè)管理信息系統(tǒng)開發(fā)后,仍應(yīng)十分重視它的維護(hù)工作,以便使系統(tǒng)不斷完善并充分發(fā)揮其作用。
4、對(duì)本系統(tǒng)的分析 對(duì)本系統(tǒng)的目標(biāo)設(shè)計(jì)
通過使用家政服務(wù)管理系統(tǒng),使家政服務(wù)店的管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化、簡易化、智能化,從而達(dá)到提高家政服務(wù)管理效率的目的。
(1)開發(fā)設(shè)計(jì)思想:
①盡量利用基礎(chǔ)軟硬環(huán)境,采用先進(jìn)的管理系統(tǒng)開發(fā)方案從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的;
②系統(tǒng)應(yīng)符合家政服務(wù)管理的規(guī)定,滿足家政店相關(guān)人員日常使用需要,并達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求;
③系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護(hù)人員進(jìn)行補(bǔ)充、維護(hù);
④系統(tǒng)應(yīng)具有各種票據(jù)的打印功能,并有這些票據(jù)的存根,報(bào)表; ⑤系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及根據(jù)用戶需求進(jìn)行數(shù)據(jù)的刪除、備份等操作。
(2)現(xiàn)狀分析
當(dāng)家政公司的客戶較少時(shí),能較好的安排員工為客戶提供服務(wù)。但當(dāng)客戶較多時(shí),對(duì)客戶信息及員工的信息的管理,會(huì)花費(fèi)大量人力及物力,結(jié)果往往不理想,比如,不能及時(shí)更新客戶聯(lián)系信息,以致使不能及時(shí)的聯(lián)系客戶,更甚者失去客戶。其次,在對(duì)客戶的服務(wù)進(jìn)行計(jì)費(fèi),對(duì)員工的工作進(jìn)行計(jì)酬,往往存在著分岐。
(3)系統(tǒng)功能分析
①員工資料管理:可以完成對(duì)員工信息的查詢,添加,刪除,修改等操作。②員工服務(wù)安排管理:可以根據(jù)員工編號(hào)查看員工具體的分工。③客戶服務(wù)跟蹤管理
④客戶查詢:提供客戶對(duì)基本信息的查詢。⑤員工查詢:可以查看員工的基本信息。⑥相關(guān)表冊(cè)打印:打印相關(guān)聯(lián)的信息。
三、系統(tǒng)設(shè)計(jì)
1、功能模塊
管理信息系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映了用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理(技術(shù))方案。
具體要求對(duì)系統(tǒng)進(jìn)行功能分解,不斷下去,直到分解成含義明確,功能單一的單元功能模塊,從而繪制出系統(tǒng)的功能模塊圖,即HIPO圖。家政服務(wù)管理信息系統(tǒng)的HIPO圖如下:
家政服務(wù)管理系統(tǒng)用戶操作公司概況數(shù)據(jù)查詢報(bào)表打印添加用戶刪除用戶刪除用戶公司信息重新登錄服務(wù)情況客戶預(yù)約查詢服務(wù)項(xiàng)目價(jià)格員工信息客戶預(yù)約添加客戶資料用戶切換退出系統(tǒng)
2.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)
在數(shù)據(jù)庫設(shè)計(jì)中,先要對(duì)系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,然后得出系統(tǒng)的關(guān)系模式,可以采用實(shí)體——聯(lián)系圖(簡稱E——R圖)的方法進(jìn)行數(shù)據(jù)結(jié)構(gòu)的描述。E——R圖由實(shí)體、屬性、聯(lián)系三部分組成。
3、數(shù)據(jù)表如下:
普通用戶表:
公司信息表:
管理員表:
員工信息表
服務(wù)項(xiàng)目價(jià)格表:
客戶意見表:
服務(wù)情況表:
預(yù)約表:
客戶資料表:
4、數(shù)據(jù)庫的安全性、完整性、并發(fā)控制和恢復(fù)
信息數(shù)據(jù)是是一種非常重要的資源,因此保證數(shù)據(jù)庫的安全可靠、正確有效是非常重要的問題。一般的數(shù)據(jù)庫管理系統(tǒng)(DBMS)都有提供了一定的數(shù)據(jù)保護(hù)功能。數(shù)據(jù)庫保護(hù)也稱為數(shù)據(jù)控制,主要包括數(shù)據(jù)的安全性、完整性、并發(fā)控制和數(shù)據(jù)庫的恢復(fù)
四、系統(tǒng)編碼與實(shí)現(xiàn)
1、登錄界面的設(shè)計(jì)及實(shí)現(xiàn)
2、刪除用戶
3、添加員工信息
4、服務(wù)信息表
服務(wù)情況代碼:
namespace jiazheng { public partial class Form10 : Form { SqlDataAdapter adapter;
public Form10(){ InitializeComponent();this.StartPosition = FormStartPosition.CenterScreen;}
private void Form10_Load(object sender, EventArgs e){
// TODO: 這行代碼將數(shù)據(jù)加載到表“dbbaseDataSet.服務(wù)情況表”中。您可以根據(jù)需要移動(dòng)或移除它。
this.服務(wù)情況表TableAdapter.Fill(this.dbbaseDataSet.服務(wù)情況表);BindingSource tableBindingSource = new BindingSource();tableBindingSource.DataSource = dbbaseDataSet.服務(wù)情況表;
}
private void button1_Click(object sender, EventArgs e){
string xiangmu = textBox1.Text;string bianhao = textBox2.Text;string name = textBox3.Text;string dianhua = textBox4.Text;string diqu = textBox5.Text;string sql = string.Format(“insert into 服務(wù)情況表(服務(wù)項(xiàng)目,客戶編號(hào),客戶姓名,聯(lián)系電話,居住地區(qū))values('{0}','{1}','{2}','{3}','{4}')”,xiangmu ,bianhao ,name ,dianhua ,diqu);try { SqlCommand command = new SqlCommand(sql, Class1.connection);Class1.connection.Open();int result = command.ExecuteNonQuery();if(result!= 1){ MessageBox.Show(“添加失敗!”);} else { MessageBox.Show(“添加成功!”);} } catch(Exception ex){ MessageBox.Show(ex.Message);Console.WriteLine(ex.Message);} finally { Class1.connection.Close();}
}
private void button2_Click(object sender, EventArgs e){ if(dataGridView1.SelectedRows.Count == 0){ MessageBox.Show(“請(qǐng)先單擊最左邊的空白列選擇要?jiǎng)h除的行,可以按住
string name = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();MessageBox.Show(name);string sql = “delete from 服務(wù)情況表 where 服務(wù)項(xiàng)目='” + name + “'”;adapter = new SqlDataAdapter(sql, Properties.Settings.Default.dbbaseConnectionString);adapter.Fill(dbbaseDataSet.服務(wù)情況表);bindingSource1.DataSource = 服務(wù)情況表BindingSource;dataGridView1.DataSource = bindingSource1;textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox4.Clear();textBox5.Clear();} }
}
private void button3_Click(object sender, EventArgs e){ this.Validate();try {
MessageBox.Show(“保存成功!”);this.服務(wù)情況表TableAdapter.Fill(dbbaseDataSet.服務(wù)情況表);
} catch(Exception ex){ MessageBox.Show(ex.Message, “保存失??!”);}
}
private void groupBox1_Enter(object sender, EventArgs e){
}
private void label2_Click(object sender, EventArgs e){
}
private void label1_Click(object sender, EventArgs e){
}
private void label3_Click(object sender, EventArgs e){
}
private void label5_Click(object sender, EventArgs e){
}
private void label4_Click(object sender, EventArgs e){
} } }
5、預(yù)約項(xiàng)目表
6、用戶操作表
7、主界面
8、公司信息表
9、客戶預(yù)約表
客戶預(yù)約代碼:
namespace jiazheng { public partial class Form11 : Form { SqlDataAdapter adapter;
public Form11(){ InitializeComponent();this.StartPosition = FormStartPosition.CenterScreen;}
private void Form11_Load(object sender, EventArgs e){ // TODO: 這行代碼將數(shù)據(jù)加載到表“dbbaseDataSet.預(yù)約表”中。您可以根據(jù)需要移動(dòng)或移除它。
this.預(yù)約表TableAdapter.Fill(this.dbbaseDataSet.預(yù)約表);// TODO: 這行代碼將數(shù)據(jù)加載到表“dbbaseDataSet.預(yù)約表”中。您可以根據(jù)需要移動(dòng)或移除它。
this.預(yù)約表TableAdapter.Fill(this.dbbaseDataSet.預(yù)約表);BindingSource tableBindingSource = new BindingSource();tableBindingSource.DataSource = dbbaseDataSet.預(yù)約表;}
private void button1_Click(object sender, EventArgs e){ string yuyuehao = textBox1.Text;string fuwuming = textBox2.Text;string kehuming= textBox3.Text;string haoma = textBox4.Text;string dianhua = textBox5.Text;string sql = string.Format(“insert into 預(yù)約表(預(yù)約號(hào),服務(wù)項(xiàng)目名,客戶名稱,樓牌號(hào)碼,聯(lián)系電話)values('{0}','{1}','{2}','{3}','{4}')”,yuyuehao,fuwuming,kehuming,haoma,dianhua);try { SqlCommand command = new SqlCommand(sql, Class1.connection);Class1.connection.Open();int result = command.ExecuteNonQuery();if(result!= 1){ MessageBox.Show(“添加失敗!”);} else { MessageBox.Show(“添加成功!”);} } catch(Exception ex){ MessageBox.Show(ex.Message);Console.WriteLine(ex.Message);} finally { Class1.connection.Close();} }
private void button2_Click(object sender, EventArgs e){ if(dataGridView1.SelectedRows.Count == 0){ MessageBox.Show(“請(qǐng)先單擊最左邊的空白列選擇要?jiǎng)h除的行,可以按住
string name = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();MessageBox.Show(name);string yuyuehao = textBox1.Text;string sql = “delete from 預(yù)約表 where 預(yù)約號(hào)='”+yuyuehao+“'”;adapter = new SqlDataAdapter(sql, Properties.Settings.Default.dbbaseConnectionString);adapter.Fill(dbbaseDataSet.預(yù)約表);bindingSource1.DataSource = 預(yù)約表BindingSource;dataGridView1.DataSource = bindingSource1;textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox4.Clear();textBox5.Clear();} }
}
private void button3_Click_1(object sender, EventArgs e){ this.Validate();try {
MessageBox.Show(“保存成功!”);this.預(yù)約表TableAdapter.Fill(this.dbbaseDataSet.預(yù)約表);
} catch(Exception ex){ MessageBox.Show(ex.Message, “保存失??!”);}
}
} }
五、實(shí)驗(yàn)小結(jié):
通過本次做的家政服務(wù)管理系統(tǒng),在設(shè)計(jì)期間,我也遇到了不少的困難和問題,例如,知識(shí)掌握的不牢固,不能靈活的運(yùn)用所學(xué)的知識(shí),實(shí)踐動(dòng)手能力不強(qiáng)等,但是,本著學(xué)習(xí)和實(shí)踐的目的,我認(rèn)著的查閱了相關(guān)的資料,并積極,虛心的向老師和同學(xué)請(qǐng)教,解決了不少的問題,在解決問題的同時(shí),還使我學(xué)習(xí)到了更多的專業(yè)知識(shí),也使我對(duì)所學(xué)知識(shí)掌握的更加的牢固。也使因?yàn)檫@樣,才使我提高了獨(dú)立分析問題,解決問題的能力,也提高了我的動(dòng)手操作的能力。
第五篇:計(jì)算機(jī)實(shí)驗(yàn)室自主排課系統(tǒng)的設(shè)計(jì)
計(jì)算機(jī)實(shí)驗(yàn)室自主排課系統(tǒng)的設(shè)計(jì)
計(jì)算機(jī)實(shí)驗(yàn)室自主排課系統(tǒng)的設(shè)計(jì)
劉毅,俞炘
(江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇鎮(zhèn)江212013)
摘要:本文總結(jié)了目前計(jì)算機(jī)實(shí)驗(yàn)室自主排課系統(tǒng)的主要模式,針對(duì)當(dāng)前各類移動(dòng)終端的普及,為了進(jìn)一步提高計(jì)算機(jī)實(shí)驗(yàn)室的服務(wù)水平和管理效率,利用目前最新的跨平臺(tái)開發(fā)框架PhoneGap,結(jié)合使用HTML5等新技術(shù),設(shè)計(jì)了一套移動(dòng)計(jì)算機(jī)實(shí)驗(yàn)室自主排課系統(tǒng),實(shí)現(xiàn)了計(jì)算機(jī)實(shí)驗(yàn)室自主排課從PC端到移動(dòng)端的轉(zhuǎn)移,系統(tǒng)使用的離線緩存機(jī)制,提高了系統(tǒng)的健壯性和用戶體驗(yàn)。
關(guān)鍵詞:實(shí)驗(yàn)室管理;排課系統(tǒng);
跨平臺(tái);PhoneGap;HTML5
基金項(xiàng)目:江蘇省普通高校研究生科研創(chuàng)新計(jì)劃(CXZZ11_0575);江蘇省自然科學(xué)基金(BK20130529);中國博士后科學(xué)基金(2013M541616)
作者簡介:劉毅(1979-),男,江蘇張家港人,碩士,實(shí)驗(yàn)師,研究方向:信息安全、嵌入式系統(tǒng)、人工智能。
一、引言
從運(yùn)行方式的角度來看,目前高校計(jì)算機(jī)實(shí)驗(yàn)室的排課系統(tǒng)主要有兩種:一種是將計(jì)算機(jī)上機(jī)課和教室課程混合在一起,由教務(wù)系統(tǒng)的排課系統(tǒng)通過智能算法統(tǒng)一來排。這種方式需要教務(wù)系統(tǒng)掌握計(jì)算機(jī)實(shí)驗(yàn)室的詳細(xì)情況,包括機(jī)器數(shù)、操作系統(tǒng)、軟件等。其優(yōu)點(diǎn)是不需要人干預(yù),完全自動(dòng)實(shí)現(xiàn)排課。其缺點(diǎn)是不容易實(shí)現(xiàn)。首先計(jì)算機(jī)實(shí)驗(yàn)室的操作系統(tǒng)、軟件每隔一段時(shí)間可能有更新,需要教務(wù)系統(tǒng)能夠及時(shí)的同步相關(guān)信息,而目前大部分教務(wù)系統(tǒng)都是獨(dú)立運(yùn)行的,并沒有與計(jì)算機(jī)實(shí)驗(yàn)室連接。
其次,對(duì)于自動(dòng)排課來說,計(jì)算機(jī)實(shí)驗(yàn)課不同于普通的教室排課,不僅要保證時(shí)間、地點(diǎn)、人數(shù)的統(tǒng)一,而且對(duì)于不同課程所使用的軟件也要分別對(duì)應(yīng),增加了系統(tǒng)自動(dòng)排課的難度。因此,目前的智能排課系統(tǒng)很難做到能夠完全滿足智能排課需求。第二種是計(jì)算機(jī)實(shí)驗(yàn)課和教務(wù)系統(tǒng)分開排的情況,實(shí)驗(yàn)課的編排由任課教師自主到計(jì)算機(jī)實(shí)驗(yàn)室預(yù)約完成。這種方式的優(yōu)點(diǎn)是技術(shù)上比較容易實(shí)現(xiàn),同時(shí)對(duì)于教師、學(xué)生或者機(jī)房來說比較靈活。筆者所在的江蘇大學(xué)計(jì)算中心便是這種方式,因此本文主要討論第二種方式。
從系統(tǒng)實(shí)現(xiàn)的架構(gòu)來看,自主式的計(jì)算機(jī)實(shí)驗(yàn)室排課系統(tǒng)主要有兩種一種是C/S(Client/Server)架構(gòu),另一種是B/S(Browser/Server)架構(gòu)。C/S架構(gòu)的優(yōu)點(diǎn)在于事務(wù)處理能力強(qiáng)、響應(yīng)速度快;缺點(diǎn)在于系統(tǒng)部署、維護(hù)、升級(jí)需要在每臺(tái)客戶端進(jìn)行,增加了難度和成本。B/S架構(gòu)由于是基于網(wǎng)頁瀏覽模式的,只
要有瀏覽器可以上網(wǎng)就可以使用,其優(yōu)點(diǎn)是系統(tǒng)的部署、維護(hù)和升級(jí)只要在服務(wù)器端就可以完成,不需要在客戶端操作。因此對(duì)于排課系統(tǒng)這種對(duì)實(shí)時(shí)性要求不高的系統(tǒng)來說,B/S架構(gòu)比C/S架構(gòu)具有更大的優(yōu)勢(shì)。
現(xiàn)有的排課系統(tǒng)絕大多數(shù)都是用于PC端的,只能運(yùn)行在PC機(jī)上,即使是B/S架構(gòu)的,通過瀏覽器訪問系統(tǒng)也不能適應(yīng)移動(dòng)端如手機(jī)、平板電腦的屏幕大小。而隨著無線通信技術(shù)及嵌入式技術(shù)的發(fā)展,通過智能手機(jī)、平板電腦上網(wǎng)越來越成為一種主流的上網(wǎng)方式。開發(fā)移動(dòng)端的排課系統(tǒng),讓老師隨時(shí)隨地可以預(yù)約計(jì)算機(jī)實(shí)驗(yàn)課,學(xué)生可以隨時(shí)隨地查詢計(jì)算機(jī)實(shí)驗(yàn)課表,將大大節(jié)省師生的時(shí)間,對(duì)于提高計(jì)算機(jī)實(shí)驗(yàn)管理的效率具有重要的意義。
本文將從上述思想出發(fā),針對(duì)目前計(jì)算機(jī)實(shí)驗(yàn)排課系統(tǒng)的問題,運(yùn)用最新的跨平臺(tái)開發(fā)技術(shù),設(shè)計(jì)一套可以在移動(dòng)端如手機(jī)、平板電腦運(yùn)行的自主排課
系統(tǒng),以進(jìn)一步提高計(jì)算機(jī)實(shí)驗(yàn)室的服務(wù)水平和管理效率。
二、移動(dòng)應(yīng)用開發(fā)
(一)移動(dòng)應(yīng)用開發(fā)簡介
移動(dòng)應(yīng)用開發(fā)就是在移動(dòng)設(shè)備(如智能手機(jī)、平板電腦等)上開發(fā)應(yīng)用程序。由于目前不同的移動(dòng)設(shè)備往往基于不同的操作系統(tǒng)平臺(tái),若要讓應(yīng)用程序在不同的移動(dòng)設(shè)備上運(yùn)行,就需要分別在相應(yīng)的平臺(tái)上開發(fā)不同版本的程序。目前主要的移動(dòng)操作系統(tǒng)平臺(tái)有:安卓(Android)、iOS、Windows Phone、黑莓(Black-Berry OS)等。在不同平臺(tái)上,開發(fā)應(yīng)用的編程語言或者開發(fā)環(huán)境都是不同的,對(duì)于開發(fā)者來說,這無疑大大增加了開發(fā)的難度和維護(hù)成本。如下表1是目前最流行的四種操作系統(tǒng)所使用的開發(fā)語言。
(二)跨平臺(tái)開發(fā)及PhoneGap
一款移動(dòng)應(yīng)用軟件為了在不同的移動(dòng)終端上需要進(jìn)行多次的開發(fā),大大
增加了開發(fā)、運(yùn)營、維護(hù)的成本。為了解決這一問題,跨平臺(tái)開發(fā)技術(shù)應(yīng)運(yùn)而生。利用跨平臺(tái)開發(fā)技術(shù),開發(fā)者只要開發(fā)一次應(yīng)用便可以讓程序在不同的平臺(tái)上運(yùn)行,開發(fā)者不再需要為不同的移動(dòng)終端平臺(tái)重復(fù)開發(fā),以大大降低開發(fā)成本和難度,縮短開發(fā)周期。根據(jù)實(shí)現(xiàn)方式的不同,現(xiàn)有的跨平臺(tái)開發(fā)技術(shù)主要通過兩種技術(shù)來實(shí)現(xiàn),跨平臺(tái)運(yùn)行引擎技術(shù)和跨平臺(tái)應(yīng)用編譯技術(shù)。跨平臺(tái)運(yùn)行引擎技術(shù)主要是通過安裝在目標(biāo)設(shè)備上的引擎來屏蔽終端底層操作系統(tǒng)差異來實(shí)現(xiàn),開發(fā)者開發(fā)應(yīng)用部署或編譯打包后,用戶下載到目標(biāo)設(shè)備上由引擎解釋執(zhí)行;跨平臺(tái)應(yīng)用編譯技術(shù)則通常采用一種標(biāo)準(zhǔn)開發(fā)語言開發(fā)應(yīng)用,應(yīng)用開發(fā)完成后由代碼編譯器針對(duì)不同目標(biāo)終端平臺(tái)分別進(jìn)行編譯,生成有針對(duì)性的可執(zhí)行程序。
跨平臺(tái)開發(fā)技術(shù)的優(yōu)越性,也吸引了很多公司來開發(fā)跨平臺(tái)開發(fā)工具。根據(jù)VisionMobile 2012年移動(dòng)開發(fā)者跨平
臺(tái)開發(fā)工具報(bào)告,現(xiàn)有的跨平臺(tái)開發(fā)工具包括Flex、Titanium、AppMobi、PhoneGap、Mono-Touch/Droid等,其中被用的最多的是PhoneGap。
PhoneGap是Adobe公司的一款基于WEB的開源跨平臺(tái)開發(fā)框架,通過PhoneGap框架提供的API開發(fā)者可以非常方便調(diào)用移動(dòng)設(shè)備的核心功能,包括GPS、攝像頭、重力感應(yīng)、陀螺儀等功能。利用PhoneGap提供的開發(fā)平臺(tái),開發(fā)者使用HTML5、JavaScript和CSS就可以快速開發(fā)出跨平臺(tái)的移動(dòng)應(yīng)用程序,并發(fā)布到AppleStore、Google Play等各個(gè)平臺(tái)應(yīng)用商店。目前PhoneGap已支持幾乎所有主流移動(dòng)操作系統(tǒng)包括Android、iOS、BlackBerry、WindowsPhone、Symbian等。
PhoneGap是作為一套優(yōu)秀的跨平臺(tái)開發(fā)框架,具有如下特點(diǎn):(1)開源、免費(fèi)。(2)支持主流多數(shù)移動(dòng)平臺(tái),支持云端編譯功能編譯成各種平臺(tái)下的應(yīng)用。(3)基于HTML5標(biāo)準(zhǔn)的手機(jī)應(yīng)用
框架,支持HTML5、CSS3、JavaScript等Web技術(shù)。(4)提供非常豐富的API,它們包括Accelerometer移動(dòng)感應(yīng)器、Camera攝像頭、Notification等。(5)提供硬件訪問控制,比起傳統(tǒng)的Web程序,PhoneGap提供了一些列的JavaScript類,可以直接訪問硬件,比如加速、相機(jī)、指南針、GPS、文件訪問等。
三、系統(tǒng)設(shè)計(jì)
(一)系統(tǒng)體系結(jié)構(gòu)及功能
本文設(shè)計(jì)的跨平臺(tái)機(jī)房預(yù)約系統(tǒng)也是一種基于B/S結(jié)構(gòu)的系統(tǒng)。根據(jù)用戶角色的不同,系統(tǒng)包含了三個(gè)主要功能模塊,分別是訪客模塊、教師模塊和管理員模塊,如圖1所示,登錄界面提供不同角色的選擇引導(dǎo)用戶進(jìn)入相應(yīng)模塊。下面分別介紹這三大模塊的主要功能。
1.訪客模塊。訪客指的是那些僅僅想查看實(shí)驗(yàn)室排課情況、實(shí)驗(yàn)室公告或者計(jì)算機(jī)有關(guān)信息的人。訪客不用登錄系統(tǒng),可以查看本學(xué)期的實(shí)驗(yàn)室預(yù)約情
況,實(shí)驗(yàn)室公告(如實(shí)驗(yàn)室否有考試等活動(dòng)通知),實(shí)驗(yàn)室不同教室計(jì)算機(jī)的配置、軟件等。訪客的功能方便學(xué)生、教師等快速的了解實(shí)驗(yàn)室的狀況。
2.教師模塊。教師模塊主要有五部分功能。①預(yù)約機(jī)房。教師可以根據(jù)機(jī)房狀況(機(jī)房是否空閑、機(jī)器配置、所裝軟件)和課程情況預(yù)約相應(yīng)機(jī)房。②班級(jí)管理。教師可以增加刪除自己所帶的班級(jí)。③課程管理。教師可以增加刪除自己所帶的課程。④個(gè)人信息管理。教師可以修改自己的密碼、聯(lián)系方式等個(gè)人信息。⑤統(tǒng)計(jì)查詢。教師可以統(tǒng)計(jì)查詢自己預(yù)約或歷史上機(jī)情況,導(dǎo)出自己的課表。
3.管理員模塊。管理員由計(jì)算機(jī)實(shí)驗(yàn)室的系統(tǒng)管理擔(dān)任,管理員模塊主要包括如下功能模塊。①機(jī)房信息管理,包括計(jì)算機(jī)機(jī)房的數(shù)量、計(jì)算機(jī)的配置、計(jì)算機(jī)上所安裝的軟件等信息的更新維護(hù)。②人員信息,主要包括新注冊(cè)用戶的審核,教師密碼的初始化等。③公告
管理,主要是有關(guān)公告通知的發(fā)布。④統(tǒng)計(jì)查詢,主要是針對(duì)所有機(jī)房,機(jī)時(shí)、費(fèi)用、人員等相關(guān)新的查詢、統(tǒng)計(jì)和匯總,可以將結(jié)果導(dǎo)出到EXCEL表中,方便統(tǒng)計(jì)和報(bào)告,為實(shí)驗(yàn)室管理提供數(shù)據(jù)支撐。⑤系統(tǒng)設(shè)置模塊。
(二)關(guān)鍵技術(shù)實(shí)現(xiàn)
本系統(tǒng)的實(shí)現(xiàn)使用最新的跨平臺(tái)開發(fā)框架PhoneGap,前端頁面使用HTML5、CSS3、Javascript,為了兼容現(xiàn)有的桌面版的排課系統(tǒng),后臺(tái)數(shù)據(jù)庫沒有變化還是使用現(xiàn)有的SQL Server 2008。
運(yùn)行在移動(dòng)終端的程序和PC端的程序最大的變化就是網(wǎng)絡(luò)不穩(wěn)定。一般情況下在程序運(yùn)行過程中如果出現(xiàn)網(wǎng)絡(luò)中斷的情況,可能會(huì)導(dǎo)致程序界面鎖死、程序崩潰等問題,因此如何保證在網(wǎng)絡(luò)狀況不佳的情況下能夠保持系統(tǒng)的穩(wěn)定運(yùn)行,是無線應(yīng)用APP開發(fā)的一個(gè)關(guān)鍵問題。
本系統(tǒng)使用了離線緩存機(jī)制,在網(wǎng)絡(luò)正常時(shí),將用戶的個(gè)人排課信息讀取并保存在本地緩存文件中,正常情況下程序直接通過網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查操作。網(wǎng)絡(luò)中斷時(shí),用戶的增刪改查操作先記錄到本地緩存文件,等到網(wǎng)絡(luò)通暢再與數(shù)據(jù)庫進(jìn)行同步。離線緩存機(jī)制如圖2所示。
四、結(jié)語
在智能手機(jī)、平板電腦等移動(dòng)設(shè)備日益流行的今天,各個(gè)系統(tǒng)在移動(dòng)端的開發(fā)是目前軟件開發(fā)的一個(gè)流行趨勢(shì)。大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室是培養(yǎng)學(xué)生實(shí)踐能力的一個(gè)重要基地,開發(fā)移動(dòng)計(jì)算機(jī)實(shí)驗(yàn)室排課系統(tǒng),方便教師、學(xué)生的查詢預(yù)約,可以提高計(jì)算機(jī)實(shí)驗(yàn)室的服務(wù)水平和管理效率。本文利用目前最新的跨平臺(tái)框架PhoneGap開發(fā)了一套移動(dòng)計(jì)算機(jī)實(shí)驗(yàn)室排課系統(tǒng),實(shí)現(xiàn)了不同智能終端平臺(tái)上的系統(tǒng)的運(yùn)行,從而實(shí)現(xiàn)師生隨時(shí)隨地進(jìn)行排課預(yù)約與查詢等工作。
系統(tǒng)使用的離線緩存機(jī)制確保了終端程序能夠在網(wǎng)絡(luò)環(huán)境不理想的環(huán)境下系統(tǒng)的流暢運(yùn)行,提高了系統(tǒng)的健壯性和用戶的體驗(yàn)。此系統(tǒng)的不僅可用于計(jì)算機(jī)實(shí)驗(yàn)室,通過修改也可用于教室或別的類型的實(shí)驗(yàn)室。
參考文獻(xiàn):
[1]孟昭霞。高校實(shí)驗(yàn)室創(chuàng)新性管理[J].實(shí)驗(yàn)室研究與探索,2013,(06)。
[2]厲旭云,梅汝煥,葉治國,等。高校實(shí)驗(yàn)教學(xué)研究的發(fā)展及趨勢(shì)[J].實(shí)驗(yàn)室研究與探索,2014,(03)。
[3]宗薇。高校智能排課系統(tǒng)算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2011,(12)