

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 通過對洛陽、新鄉(xiāng)等站點(diǎn)進(jìn)行實(shí)地考察以及利用網(wǎng)絡(luò)等多種渠道,了解到我國在鐵路信息服務(wù)方面仍存在一些不盡如人意的地方:一些小型站點(diǎn)的信息查詢?nèi)匀恢皇遣捎脗鹘y(tǒng)的人工咨詢方式,而一些較大的站點(diǎn)雖然已經(jīng)率先采用觸摸屏式查詢系統(tǒng),但也只是基于簡單的終始站查詢,一定程度上很難滿足旅客獲取多方面信息的需要和對優(yōu)良服務(wù)的需求?;诖耍瑓㈤啲F(xiàn)有的一
2、些查詢系統(tǒng),利用PowerBuilder作為開發(fā)工具,開發(fā)此智能鐵路查詢系統(tǒng)。</p><p> 該系統(tǒng)最基本的功能就是向旅客提供充足的信息和快捷方便的查詢;系統(tǒng)可將所有乘車供選方案顯示或打印出來供旅客參考;管理員可以依據(jù)訪問日志統(tǒng)計訪問流量,從而為本部門制定各項(xiàng)服務(wù)措施提供依據(jù);此外系統(tǒng)還為旅客提供精品列車查詢、臨時列車查詢、車票代售點(diǎn)查詢和各地賓館酒店查詢等多項(xiàng)綜合服務(wù)信息。其核心之處在于其查詢功能:查詢方
3、式多樣化,旅客可以輸入車次、終點(diǎn)站、任意兩個站點(diǎn)等條件來查詢所需要的時刻和票價信息;對于有特殊要求的旅客,可以進(jìn)行定點(diǎn)中轉(zhuǎn)查詢,方便旅客的出行。</p><p> 關(guān)鍵詞:智能查詢;PowerBuilder;定點(diǎn)中轉(zhuǎn);鐵路信息 </p><p><b> Abstract</b></p><p> Through on-the-spo
4、t investigation into station of luoyang and xinxiang as well as the utilization of internet and other various channels,I have learned that there are still some points that cannot entirely fill customers’ desire in the
5、railroad information service aspect:some small stations still use traditional way of manual consultation,while other bigger station have taken lead to use the touching type of inquiry system,but only contain some simple
6、 inquiry of station from beginning to en</p><p> The most basical function of this system is to provide sufficient information and timely convenient inquiry for passengers .It may display or print all the
7、alternative routes for passengers to make a decision . The manager may calculate the current visit capacity according to the dairy visit statistics. In addition the system also provides the inquiry of the temporary train
8、, the high-quality train, hotels of various places , ticket retail and such comprehensive service information.The core funct</p><p> Keywords:Automatic inquiry ; PowerBuilder ; Fixed-point transfer ; Inform
9、ation of railway </p><p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 系統(tǒng)開發(fā)背景1</p><p> 1.2 系統(tǒng)研究目的和意義1</p><p> 1.3 可行性分析2
10、</p><p> 第2章 系統(tǒng)需求分析3</p><p> 2.1 用戶功能需求分析3</p><p> 2.2 系統(tǒng)性能要求3</p><p> 2.3 業(yè)務(wù)流程分析4</p><p> 第3章 系統(tǒng)總體設(shè)計5</p><p> 3.1 系統(tǒng)功能模塊分析5</p
11、><p> 3.1.1 系統(tǒng)管理5</p><p> 3.1.2 用戶管理5</p><p> 3.1.3 信息的添加和刪除5</p><p> 3.1.4 信息的瀏覽和查詢5</p><p> 3.1.5 數(shù)據(jù)管理6</p><p> 3.1.6 綜合服務(wù)6</p&g
12、t;<p> 3.2 實(shí)體聯(lián)系圖6</p><p> 3.3 系統(tǒng)總體設(shè)計9</p><p> 第4章 系統(tǒng)詳細(xì)設(shè)計11</p><p> 4.1 開發(fā)工具簡介11</p><p> 4.2 數(shù)據(jù)庫設(shè)計11</p><p> 4.3 用戶界面設(shè)計14</p><
13、p> 4.3.1 登錄界面14</p><p> 4.3.2 系統(tǒng)管理界面17</p><p> 4.3.3 用戶管理界面27</p><p> 4.3.4 信息更新界面33</p><p> 4.3.5 信息瀏覽查詢界面39</p><p> 第5章 軟件測試和調(diào)試51</p>
14、;<p> 5.1 白盒測試法51</p><p> 5.2 黑盒測試法52</p><p> 第6章 工作總結(jié)和展望54</p><p><b> 參考文獻(xiàn)55</b></p><p><b> 致 謝56</b></p><p><
15、;b> 第1章 緒論</b></p><p> 1.1 系統(tǒng)開發(fā)背景 </p><p> 隨著國民經(jīng)濟(jì)的高速發(fā)展和人民生活水平的快速提高,人們對鐵路客運(yùn)無論在運(yùn)輸能力上還是在服務(wù)質(zhì)量上都提出了更高的要求,高速公路和民航的迅速發(fā)展,也給鐵路提出了越來越嚴(yán)峻的挑戰(zhàn)。發(fā)達(dá)國家鐵路大量采用先進(jìn)的查詢系統(tǒng)、客票預(yù)訂系統(tǒng)、自動售、檢票系統(tǒng)等,以先進(jìn)的服務(wù)設(shè)施、舒適的旅行環(huán)境來吸
16、引客流。我國鐵路也開始利用電子計算機(jī)及網(wǎng)絡(luò),實(shí)現(xiàn)旅客運(yùn)營管理現(xiàn)代化。而我國鐵路現(xiàn)代化的一個重要內(nèi)容就是向旅客提供實(shí)時和可靠的列車信息。</p><p> 通過對洛陽、新鄉(xiāng)等站點(diǎn)進(jìn)行實(shí)地考察以及利用網(wǎng)絡(luò)等多種渠道,了解到我國在鐵路信息查詢方面的一些現(xiàn)狀:諸如洛陽等一些小型站點(diǎn)的信息查詢?nèi)匀恢皇遣捎萌斯ぷ稍兊姆绞?,這種傳統(tǒng)的,手工的,低效率的勞動密集型工作方式,顯然已經(jīng)不能適應(yīng)現(xiàn)代化的公共交通事業(yè)面向新世紀(jì)的需要;
17、另外諸如北京、上海等一些較大的站點(diǎn)雖然已經(jīng)率先采用觸摸屏式查詢系統(tǒng),但也只是基于簡單的終始站查詢,一定程度上很難滿足旅客獲取多方面信息的需要和對優(yōu)良服務(wù)的需求。例如:當(dāng)兩站間沒有直達(dá)的列車或者旅客有特殊需求,需要在其它站進(jìn)行中轉(zhuǎn)時,系統(tǒng)并不能應(yīng)旅客的需求,提供最佳的中轉(zhuǎn)方案等。</p><p> 1.2 系統(tǒng)研究目的和意義</p><p> 基于我國在鐵路信息查詢方面的諸多現(xiàn)狀,經(jīng)過多
18、方面的調(diào)查,參閱現(xiàn)有的一些查詢系統(tǒng),如全國鐵路交通查詢系統(tǒng)、中國鐵路網(wǎng)、悠悠旅行網(wǎng)等,開發(fā)此智能鐵路查詢系統(tǒng),其主要目的是滿足旅客獲取多方面信息的需要和對優(yōu)良服務(wù)的需求。 </p><p> 該系統(tǒng)最基本的功能就是向旅客提供充足的信息和快捷方便的查詢;系統(tǒng)可將所有乘車供選方案顯示或打印出來供旅客參考,旅客可以按照需要來選擇自己的乘車路線;管理員可以依據(jù)訪問日志統(tǒng)計訪問流量,從而更好的為站點(diǎn)的各項(xiàng)管理提供數(shù)據(jù)參考
19、;此外系統(tǒng)還為旅客提供多項(xiàng)綜合服務(wù)信息等。其核心之處在于其查詢功能,查詢方式多樣化,旅客可以輸入車次、終點(diǎn)站、任意兩個站點(diǎn)等來查詢所需要的時刻和票價信息;對于有特殊要求的旅客,可以進(jìn)行定點(diǎn)中轉(zhuǎn)查詢,方便旅客的出行。</p><p> 系統(tǒng)具有傳統(tǒng)的人工服務(wù)方式所不可比擬的優(yōu)越性:智能鐵路查詢系統(tǒng)可以及時地將數(shù)據(jù)信息完全共享給用戶,用戶無需再通過電話查詢或者當(dāng)面咨詢便可得到想要的具體信息,這樣一方面提高了企業(yè)的服
20、務(wù)質(zhì)量,為旅客出行提供更加人性化的服務(wù),另一方面也豐富了鐵路服務(wù)的內(nèi)容,提高了鐵路的競爭力;同時優(yōu)化了客流,使運(yùn)輸設(shè)備得以充分利用。</p><p><b> 1.3 可行性分析</b></p><p> 該系統(tǒng)采用 PowerBuilder8.0軟件作為工具進(jìn)行系統(tǒng)開發(fā)。PowerBuilder8.0工具軟件以其功能強(qiáng)大、使用靈活的數(shù)據(jù)窗口,其面向?qū)ο蟮拈_發(fā)能力
21、等優(yōu)勢在數(shù)據(jù)庫應(yīng)用程序開發(fā)領(lǐng)域占據(jù)了領(lǐng)先地位,這些特點(diǎn)為開發(fā)功能全面的應(yīng)用程序創(chuàng)造了良好的條件。因此利用它作為開發(fā)鐵路查詢系統(tǒng)的工具是完全可行的。</p><p> 此智能鐵路查詢系統(tǒng),查詢方便,簡單易讀,修改簡便,非常方便顧客查詢。且對管理人員不需要太多的專業(yè)培訓(xùn)。主要可以應(yīng)用于候車室、售票口等地,便于旅客就地獲取所需的信息。因此具有良好的操作可行性。</p><p> 第2章 系統(tǒng)
22、需求分析</p><p> 2.1 用戶功能需求分析</p><p> 設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求,本人通過對洛陽、新鄉(xiāng)等站點(diǎn)進(jìn)行詳細(xì)的實(shí)地考察以及利用網(wǎng)絡(luò)等多種渠道,了解了我國在鐵路信息查詢方面的一些現(xiàn)狀以及旅客、鐵路部門工作人員對智能鐵路查詢系統(tǒng)的各種要求,調(diào)研結(jié)果如下:</p><p> 普通用戶
23、(一般旅客):不僅可以依據(jù)車次、站點(diǎn)等進(jìn)行簡單的時刻、票價等信息的查詢,還要能夠應(yīng)旅客的特殊需求(定點(diǎn)中轉(zhuǎn)、最優(yōu)路徑中轉(zhuǎn)等),進(jìn)行智能中轉(zhuǎn)查詢;并隨著人們出外旅游的日益普遍化,一些相關(guān)的服務(wù)信息也應(yīng)能夠及時提供給旅客,如:各地賓館酒店查詢、車票代售點(diǎn)查詢、臨時列車和精品線路列車查詢;報表的生成及打印等;</p><p> 一般管理員(業(yè)務(wù)操作員):擁有普通用戶的所有權(quán)限,可以對所有數(shù)據(jù)信息進(jìn)行添加、刪除和修改;
24、對系統(tǒng)數(shù)據(jù)庫備份和還原;查看系統(tǒng)日志文件和統(tǒng)計訪問流量,從而為鐵路部門制定相關(guān)政策提供數(shù)據(jù)參考等;</p><p> 特級管理員(部門管理者):擁有一般管理員的所有權(quán)限;可以對管理員進(jìn)行管理等;可以使用系統(tǒng)的一切功能;并且應(yīng)該能夠保證系統(tǒng)的安全性;</p><p> 系統(tǒng)雖然是基于洛陽站進(jìn)行開發(fā)的,但是應(yīng)具有廣泛的適用性。利用系統(tǒng)自身的初始化功能,輸入新的數(shù)據(jù)信息,便可以構(gòu)建成一個簡單
25、實(shí)用的外地鐵路查詢系統(tǒng)。</p><p> 2.2 系統(tǒng)性能要求</p><p><b> 1.安全性</b></p><p> 該系統(tǒng)的安全性主要是防止他人非法進(jìn)入系統(tǒng),從而保證了數(shù)據(jù)的安全性,數(shù)據(jù)存儲的完整性和數(shù)據(jù)的可靠性。設(shè)置三種不同的身份進(jìn)行登錄,即特級管理員、一般管理員和普通用戶;系統(tǒng)也設(shè)立了數(shù)據(jù)備份和恢復(fù)機(jī)制,從一定程度上可以
26、降低數(shù)據(jù)的損壞程度。</p><p><b> 2.高效性</b></p><p> 使用此智能鐵路查詢系統(tǒng)既可以方便旅客及時獲取所需的信息,又可以大大減輕鐵路工作人員的負(fù)擔(dān),與人工服務(wù)相比效率得到了很大的提高。 </p><p><b> 3.便捷性</b></p><p> 本系統(tǒng)的界面
27、友好,操作方便,能夠達(dá)到所見即所得的效果,方便用戶的使用。</p><p> 2.3 業(yè)務(wù)流程分析</p><p> 依據(jù)系統(tǒng)的需求分析,得到系統(tǒng)的流程圖如圖2-1所示:</p><p> 圖2-1 系統(tǒng)流程圖</p><p> 第3章 系統(tǒng)總體設(shè)計</p><p> 系統(tǒng)總體設(shè)計需完成的主要功能是概念和邏輯
28、結(jié)構(gòu)設(shè)計,其中概念結(jié)構(gòu)設(shè)計是將需求分析得到的用戶需求抽象為概念模型的過程,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)化為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型所符合的邏輯結(jié)構(gòu)。</p><p> 3.1 系統(tǒng)功能模塊分析</p><p> 本系統(tǒng)主要分為系統(tǒng)管理、用戶管理、信息的添加和刪除、信息的瀏覽和查詢、數(shù)據(jù)管理、綜合服務(wù)等六個功能模塊。&l
29、t;/p><p> 3.1.1 系統(tǒng)管理</p><p> 可以記錄訪問日志,統(tǒng)計訪問流量,統(tǒng)計旅客去向,還可對系統(tǒng)數(shù)據(jù)庫進(jìn)行初始化操作等。</p><p> 3.1.2 用戶管理</p><p> 對用戶信息進(jìn)行管理維護(hù);添加和刪除管理員,更改用戶密碼和權(quán)限;登錄時判斷用戶密碼是否正確,每個用戶按照不同的級別享有不同的權(quán)限。</p
30、><p> 3.1.3 信息的添加和刪除</p><p> 列車信息的更新包括:</p><p><b> 車次添加和刪除;</b></p><p> 時刻信息的添加、刪除和修改;</p><p> 票價信息的添加、刪除和修改。</p><p> 服務(wù)信息的更新包括
31、:</p><p> 1.臨時列車和精品列車的添加、刪除和修改;</p><p> 2.車票代售點(diǎn)和各地賓館酒店信息的添加、刪除和修改等。</p><p> 3.1.4 信息的瀏覽和查詢</p><p><b> 信息瀏覽包括:</b></p><p> 車次、票價、時刻信息瀏覽;<
32、;/p><p> 精品列車、臨時列車信息瀏覽;</p><p> 車票代售點(diǎn)和賓館信息瀏覽等。</p><p><b> 信息查詢包括:</b></p><p> 1.基于車次的查詢;</p><p> 2.基于站點(diǎn)的查詢;</p><p> 3.基于兩站間的查詢;
33、</p><p><b> 4.智能中轉(zhuǎn)查詢;</b></p><p><b> 5.車票查詢;</b></p><p> 6.服務(wù)信息查詢等。</p><p> 3.1.5 數(shù)據(jù)管理</p><p> 進(jìn)行數(shù)據(jù)庫的備份、還原,票價的計算等。</p>
34、<p> 3.1.6 綜合服務(wù)</p><p> 包括系統(tǒng)查詢說明,溫馨提示,洛陽售票網(wǎng)點(diǎn),各地旅游點(diǎn)推薦,各地賓館酒店信息提供等。</p><p><b> 3.2 實(shí)體聯(lián)系圖</b></p><p> 通過需求分析,現(xiàn)定義以下每個實(shí)體的屬性:</p><p> 操作員表(編號,用戶名,密碼,用戶類
35、型)</p><p> 車次表(車次,起始站,終點(diǎn)站,車輛類型,行駛里程)</p><p> 站點(diǎn)表(車次,站序,站號,站名)</p><p> 時刻表(站號,到站時間,出站時間,里程)</p><p> 票價表(站號,硬座,軟座,硬臥上,硬臥中,硬臥下,軟臥上,軟臥下)</p><p> 精品列車表(車次,
36、起始站,發(fā)車時間,終點(diǎn)站,到站時間)</p><p> 臨時列車表(車次,起始站,發(fā)車時間,終點(diǎn)站,到站時間)</p><p> 營業(yè)網(wǎng)點(diǎn)表(序號,車站,代售點(diǎn)名稱,代售點(diǎn)地址,聯(lián)系電話)</p><p> 賓館表(編號,酒店,城市,訂位電話,星級)</p><p> 日志表(用戶名,登錄日期)</p><p>
37、; 1. 操作員信息實(shí)體屬性圖如圖3-1所示:</p><p> 圖3-1 操作員信息實(shí)體屬性圖</p><p> 2. 車次信息實(shí)體屬性圖如圖3-2所示:</p><p> 圖3-2 車次信息實(shí)體屬性圖</p><p> 3. 站點(diǎn)信息實(shí)體屬性圖如圖3-3所示:</p><p> 圖3-3 站點(diǎn)信息實(shí)體屬
38、性圖</p><p> 4. 時刻信息實(shí)體屬性圖如圖3-4所示:</p><p> 圖3-4 時刻信息實(shí)體屬性圖</p><p> 5. 票價信息實(shí)體屬性圖如圖3-5所示:</p><p> 圖3-5 票價信息實(shí)體屬性圖</p><p> 6. 精品、臨時列車信息實(shí)體屬性圖如圖3-6所示:</p>
39、<p> 圖3-6 精品、臨時列車信息實(shí)體屬性圖</p><p> 7. 營業(yè)網(wǎng)點(diǎn)信息實(shí)體屬性圖如圖3-7所示:</p><p> 圖3-7 營業(yè)點(diǎn)信息實(shí)體屬性圖</p><p> 8. 賓館信息實(shí)體屬性圖如圖3-8所示:</p><p> 圖3-8 賓館信息實(shí)體屬性圖</p><p> 實(shí)體
40、之間關(guān)系的E-R圖如圖3-9所示:</p><p> 圖3-9 總的實(shí)體聯(lián)系圖</p><p> 3.3 系統(tǒng)總體設(shè)計</p><p> 系統(tǒng)設(shè)置了三種身份的登錄,包括特級管理員、一般管理員和普通用戶。其中特級管理員和一般管理員需依靠用戶名和密碼登錄,普通用戶則可以進(jìn)行匿名登錄。以特級管理員的身份登錄,可以操作數(shù)據(jù)庫中所有的功能模塊,而以其他身份登錄只是在此功
41、能上對一些模塊給予限制而已。如圖3-10就是系統(tǒng)的總體結(jié)構(gòu)框圖:</p><p> 圖3-10 系統(tǒng)總體結(jié)構(gòu)框圖</p><p> 第4章 系統(tǒng)詳細(xì)設(shè)計</p><p> 4.1 開發(fā)工具簡介</p><p> PowerBuilder工具軟件是Sybase公司開發(fā)的分布式數(shù)據(jù)庫應(yīng)用程序的前端開發(fā)工具,使用它可以以一種所見即所得的方式
42、快速開發(fā)一些實(shí)用的數(shù)據(jù)庫信息系統(tǒng)管理軟件。PowerBuilder8.0功能強(qiáng)大、操作簡單、容易上手,它可以與幾乎所有主流數(shù)據(jù)庫進(jìn)行連接,使用它可以大大提高企事業(yè)單位的辦事效率和節(jié)約成本。同時,它具有描述多個數(shù)據(jù)庫連接與檢索的能力,能從大多數(shù)流行的RDBMS中存取數(shù)據(jù),目前正在成為客戶/服務(wù)器開發(fā)的標(biāo)準(zhǔn)。相對于其他客戶/服務(wù)器開發(fā)環(huán)境,PowerBuilder8.0具有工作更快、成本更低、質(zhì)量更高、功能更強(qiáng)等特點(diǎn)。自問世以來,深受廣大數(shù)
43、據(jù)庫開發(fā)人員的青睞。</p><p> PowerBuilder作為目前較為流行的一種開發(fā)工具,其獨(dú)到之處在于其數(shù)據(jù)窗口功能??梢哉f,數(shù)據(jù)窗口是PowerBuilder的核心,它不但是連接服務(wù)器和客戶端的橋梁,同時也是用來瀏覽、查詢、插入和刪除數(shù)據(jù)等操作的舞臺;在對數(shù)據(jù)庫的開發(fā)過程中,無論是錄入、查詢、統(tǒng)計還是報表等,都離不開數(shù)據(jù)窗口。通過數(shù)據(jù)窗口,不但可以對每個數(shù)據(jù)庫中的表執(zhí)行檢索、查詢、插入、刪除及更新等操
44、作,還可以為數(shù)據(jù)指定輸入、輸出格式及顯示風(fēng)格。此外,還可以在其中添加對象、統(tǒng)計圖以及生成報表等。數(shù)據(jù)窗口由數(shù)據(jù)窗口控件和數(shù)據(jù)窗口對象兩部分組成。數(shù)據(jù)窗口控件是窗口中的一個控件,是數(shù)據(jù)窗口對象與窗口連接的界面。數(shù)據(jù)窗口對象是應(yīng)用程序與數(shù)據(jù)庫的接口,是一個用于檢索、操作和顯示關(guān)系數(shù)據(jù)庫或其它數(shù)據(jù)源中的對象,其功能非常豐富。</p><p> 使用數(shù)據(jù)窗口可以很容易的對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行操作,而無需編寫復(fù)雜的SQL語句
45、,當(dāng)使用數(shù)據(jù)窗口時,只需要讓數(shù)據(jù)窗口知道做什么而不需要對數(shù)據(jù)庫進(jìn)行直接操作,大大降低了用戶的使用難度,這也是數(shù)據(jù)窗口的特點(diǎn)和優(yōu)點(diǎn)。</p><p><b> 4.2 數(shù)據(jù)庫設(shè)計</b></p><p> 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)
46、據(jù)的完整和一致。</p><p> 本系統(tǒng)主要用到了以下11張表:</p><p><b> 1. 操作員信息:</b></p><p><b> 表4-1 操作員表</b></p><p><b> 2. 車次信息:</b></p><p>&
47、lt;b> 表4-2 車次表</b></p><p><b> 3. 票價信息:</b></p><p><b> 表4-3 票價表</b></p><p><b> 4. 時刻信息:</b></p><p><b> 表4-4 時刻表&l
48、t;/b></p><p><b> 5. 站點(diǎn)信息:</b></p><p><b> 表4-5 站點(diǎn)表</b></p><p> 6. 精品列車信息:</p><p><b> 表4-6 精品列車</b></p><p> 7. 臨時
49、列車信息:</p><p><b> 表4-7 臨時列車</b></p><p><b> 8. 營業(yè)網(wǎng)信息:</b></p><p> 表4-8 營業(yè)網(wǎng)點(diǎn)表</p><p> 9. 各主要城市賓館酒店信息: </p><p><b> 表4-9 賓館表&
50、lt;/b></p><p> 10. 日志信息: </p><p><b> 表4-10 日志表</b></p><p> 11. 旅客去向統(tǒng)計: </p><p> 表4-11 旅客去向表</p><p> 4.3 用戶界面設(shè)計</p><p> 4.
51、3.1 登錄界面</p><p><b> 1. 系統(tǒng)主界面</b></p><p> 圖4-1 系統(tǒng)主界面</p><p> index界面中open事件代碼如下</p><p> /*…………………………………權(quán)限設(shè)置………………………………………</p><p> 特級管理員擁有最
52、高權(quán)限,可以使用系統(tǒng)內(nèi)的所有功能;而一般管理員和普通用戶登錄時,操作受到相應(yīng)的限制,即部分菜單項(xiàng)呈灰色顯示。</p><p> ………………………………………………………………………………………*/</p><p> choose case leixing</p><p> case "一般管理員"</p><p>
53、 mainmenu.m_用戶管理.m_權(quán)限修改.enabled=false</p><p> mainmenu.m_用戶管理.m_管理員信息.enabled=false</p><p> mainmenu.m_用戶管理.m_鎖定管理員.enabled=false</p><p> mainmenu.m_數(shù)據(jù)管理.m_系統(tǒng)初始化.enabled=false&l
54、t;/p><p><b> case ""</b></p><p> mainmenu.m_系統(tǒng)設(shè)置.m_訪問流量.enabled=false</p><p> mainmenu.m_系統(tǒng)設(shè)置.m_查看日志文件.enabled=false</p><p> mainmenu.m_系統(tǒng)設(shè)置.m_旅客
55、去向統(tǒng)計.enabled=false</p><p> mainmenu.m_數(shù)據(jù)管理.m_數(shù)據(jù)備份.enabled=false</p><p> mainmenu.m_數(shù)據(jù)管理.m_數(shù)據(jù)恢復(fù).enabled=false</p><p> mainmenu.m_數(shù)據(jù)管理.m_系統(tǒng)初始化.enabled=false</p><p> m
56、ainmenu.m_信息維護(hù).enabled=false</p><p> mainmenu.m_用戶管理.enabled=false</p><p> end choose</p><p><b> 2. 登錄界面</b></p><p><b> 圖4-2 登錄界面</b></p&
57、gt;<p> /*…………………………………………………………………………………………………</p><p> 管理員可以通過用戶名和密碼進(jìn)行登錄,一般用戶可直接進(jìn)行匿名登錄,</p><p> 登錄時系統(tǒng)會自動記錄登錄的用戶和登錄時間,便于進(jìn)行訪問流量統(tǒng)計</p><p> ………………………………………………………………………………………
58、…………*/</p><p> open事件代碼如下:</p><p> // Profile Traindatabase</p><p> SQLCA.DBMS = "ODBC"</p><p> SQLCA.AutoCommit = False</p><p> SQLCA.DBPar
59、m = "Connectstring='DSN=traindatabase'"</p><p><b> connect;</b></p><p> st_6.text="當(dāng)前系統(tǒng)時間為:"+string(year(today()))+'年'&</p><p>
60、 +string(month(today()))+'月'&</p><p> +string(day(today()))+'日'&</p><p> +string(hour(now()))+'點(diǎn)'&</p><p> +string(minute(now()))+'分'
61、&</p><p> +string(second(now()))+'秒'</p><p> st_7.text="(如果系統(tǒng)時間有誤,請修改系統(tǒng)時間后再進(jìn)入)"</p><p> “登錄”按鈕clicked事件代碼如下:</p><p> //檢索用戶名和密碼記錄</p>&
62、lt;p> select 操作員表.用戶名,操作員表.密碼,操作員表.用戶類型</p><p> into :username,:pass_word,:leixing from 操作員表</p><p> where 操作員表.用戶名=:sle_1.text;</p><p> //判斷用戶輸入的用戶名是否正確</p><p&
63、gt; if num<2 then</p><p> if username="" or pass_word="" then</p><p><b> num=num+1</b></p><p> messagebox("錯誤!","請輸入用戶名和密碼,或者選擇
64、匿名登錄")</p><p> sle_1.text=""</p><p> sle_2.text=""</p><p> sle_1.setfocus()</p><p><b> else </b></p><p> if usern
65、ame=sle_1.text and pass_word=sle_2.text then</p><p> if leixing="特級管理員" then</p><p> messagebox("登錄!","你是特級管理員,你有權(quán)修改所有數(shù)據(jù)")</p><p><b> else&l
66、t;/b></p><p> messagebox("登錄!","你是一般管理員,你有權(quán)修改部分?jǐn)?shù)據(jù)")</p><p><b> end if</b></p><p> /*……………………………………………………………………………………………將用戶登錄時使用的用戶名和獲取的系統(tǒng)時間寫入日志
67、文件,從而為統(tǒng)計系統(tǒng)的訪問流量提供依據(jù)</p><p> ……………………………………………………………………………………………*/</p><p><b> insert </b></p><p> into 日志表(用戶名,登錄日期)</p><p> values(:sle_1.text,:sle_3.te
68、xt);</p><p> open(index)</p><p> close(parent) </p><p><b> else</b></p><p><b> num=num+1</b></p><p> messagebox("錯誤!&q
69、uot;,"用戶名或密碼不正確,你還有"+string(3-num)+"次機(jī)會",exclamation!,ok!,2)</p><p> sle_1.text=""</p><p> sle_2.text=""</p><p> sle_1.setfocus()</p>
70、;<p><b> end if</b></p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("警告","你沒有權(quán)進(jìn)入該系統(tǒng)",exclamation!,ok!
71、,2)</p><p> close(parent)</p><p><b> end if</b></p><p> “匿名登錄”按鈕clicked事件代碼如下:</p><p> messagebox("提示","你可以匿名登錄,但僅能瀏覽部分?jǐn)?shù)據(jù)")</p>
72、;<p> /*…………………………………………………………………………………………………</p><p> 將用戶登錄時使用的用戶名和獲取的系統(tǒng)時間寫入日志文件,從而為統(tǒng)計系統(tǒng)的</p><p> 訪問流量提供依據(jù);匿名登錄時記錄的用戶名為“匿名”</p><p> …………………………………………………………………………………………………*
73、/</p><p><b> insert </b></p><p> into 日志表(用戶名,登錄日期)</p><p> values('匿名',:sle_3.text);</p><p> open(index)</p><p> close(parent)<
74、;/p><p> 4.3.2 系統(tǒng)管理界面</p><p><b> 1. 查看訪問日志</b></p><p> “確定”按鈕clicked事件代碼如下:</p><p> /*………………………………………………………………………………………………</p><p> 可以統(tǒng)計某個用戶登錄
75、系統(tǒng)的所有時間;也可對某天登錄系統(tǒng)的所有人員進(jìn)行統(tǒng)計;</p><p> ………………………………………………………………………………………………*/</p><p> if rb_1.checked=true then</p><p> dw_1.setfilter("用戶名='"+ddlb_1.text+"'&
76、quot;)</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數(shù)據(jù)</p><p><b> end if</b></p><p> if rb_2.checked=true then</p><p> dw_1.set
77、filter("登錄日期 like"+"'%"+sle_1.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數(shù)據(jù)</p><p><b> end if</b></p&
78、gt;<p><b> 圖4-3 日志文件</b></p><p> “流量統(tǒng)計”按鈕clicked事件代碼如下:</p><p> open(fangwenliul)</p><p><b> 2. 訪問流量統(tǒng)計</b></p><p> “瀏覽”按鈕clicked事件代碼
79、如下:</p><p> if rb_1.checked=true then</p><p> dw_1.setfilter("登錄日期 like"+"'%"+ddlb_1.text+'年'+ddlb_2.text+'月'+ddlb_3.text+"%'")</p>
80、<p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數(shù)據(jù)</p><p><b> end if</b></p><p> if rb_2.checked=true then</p><p> dw_1.setfilter("登錄日期
81、 like"+"'%"+ddlb_4.text+'年'+ddlb_5.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數(shù)據(jù)</p><p><b> end if</b>
82、;</p><p> if rb_3.checked=true then</p><p> dw_1.setfilter("登錄日期 like"+"'%"+ddlb_6.text+"%'")</p><p> dw_1.settrans(sqlca)</p><p&
83、gt; dw_1.retrieve()//檢索數(shù)據(jù)</p><p><b> end if</b></p><p> 圖4-4 訪問流量統(tǒng)計</p><p> “流量統(tǒng)計“按鈕clicked事件代碼如下:</p><p> /*……………………………………………………………………………………</p>
84、<p> 可以對系統(tǒng)某天、某月、某年的訪問流量進(jìn)行統(tǒng)計,從而為鐵路部門提供相應(yīng)的</p><p><b> 數(shù)據(jù)參考。</b></p><p> ……………………………………………………………………………………*/</p><p><b> int sum</b></p><p&g
85、t; sum=dw_1.rowcount()</p><p> sle_1.text=string(sum)</p><p> “rb_1”中clicked事件代碼如下:</p><p> if rb_1.checked=true then</p><p> ddlb_1.enabled=true </p><p
86、> ddlb_2.enabled=true</p><p> ddlb_3.enabled=true </p><p> ddlb_4.enabled=false</p><p> ddlb_5.enabled=false</p><p> ddlb_6.enabled=false</p><p>&l
87、t;b> end if</b></p><p> “rb_2”中clicked事件代碼如下:</p><p> if rb_2.checked=true then</p><p> ddlb_4.enabled=true </p><p> ddlb_5.enabled=true</p><p&
88、gt; ddlb_3.enabled=false </p><p> ddlb_1.enabled=false</p><p> ddlb_2.enabled=false</p><p> ddlb_6.enabled=false</p><p><b> end if</b></p><p
89、> “rb_3”中clicked事件代碼如下:</p><p> if rb_3.checked=true then</p><p> ddlb_4.enabled=false</p><p> ddlb_5.enabled=false</p><p> ddlb_3.enabled=false </p><
90、;p> ddlb_1.enabled=false</p><p> ddlb_2.enabled=false</p><p> ddlb_6.enabled=true</p><p><b> end if</b></p><p><b> 3. 旅客去向統(tǒng)計</b></p&g
91、t;<p> /*……………………………………………………………………………………………</p><p> 將用戶每次登錄系統(tǒng)進(jìn)行查詢時輸入的起始站和終點(diǎn)站寫入數(shù)據(jù)表,便于統(tǒng)計所用; </p><p> ……………………………………………………………………………………………*/</p><p> “確定”按鈕clicked事件代碼如下:<
92、/p><p> dw_1.setfilter("終點(diǎn)站='"+ddlb_1.text+"'")</p><p> dw_1.settrans(sqlca)</p><p> dw_1.retrieve()//檢索數(shù)據(jù)</p><p> 圖4-5 旅客去向統(tǒng)計界面</p>
93、<p> “統(tǒng)計”按鈕clicked事件代碼如下:</p><p> sle_1.text=string(dw_1.rowcount())</p><p> “清空”按鈕clicked事件代碼如下:</p><p> int row1,value1,value2</p><p> value1=messagebox(&q
94、uot;系統(tǒng)提示!","你確定要刪除嗎?這一操作將會刪除該表中所有記錄",question!,yesno!)</p><p> if value1=1 then</p><p> select count(*) into :row1 from 旅客去向表;</p><p> if row1 >0 then</p>
95、<p> value2=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value2=1 then</p><p> delete from 旅客去向表;</p><p> messagebox("系統(tǒng)提示!",&
96、quot;信息已經(jīng)清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!", "表中已經(jīng)無信息!")</p><p><b> e
97、nd if </b></p><p><b> end if</b></p><p><b> 4. 數(shù)據(jù)備份</b></p><p> 4-6 數(shù)據(jù)備份界面</p><p> Timer事件代碼如下:</p><p><b> i++<
98、/b></p><p> hpb_1.position=i</p><p> st_4.text="已完成"+string(i)+"%"</p><p> if i=100 then </p><p><b> timer(0)</b></p><
99、p> st_4.text="已完成100%"</p><p> messagebox("提示信息","數(shù)據(jù)備份完畢!")</p><p> close(g_ssbf)</p><p><b> end if</b></p><p> “備份”按鈕
100、clicked事件代碼如下:</p><p> disconnect using sqlca;</p><p> //string a,b</p><p><b> int m</b></p><p> if sle_1.text="" then</p><p> m
101、essagebox("未指定源數(shù)據(jù)庫!","您未指定源數(shù)據(jù)庫!")</p><p> elseif sle_2.text="" then</p><p> messagebox("未指定數(shù)據(jù)庫備份文件!","您未指定數(shù)據(jù)庫備份文件!")</p><p><b
102、> else </b></p><p> m=filecopy(sle_1.text,sle_2.text,false) </p><p> if m=1 then</p><p> timer(0.06)</p><p> elseif m=-1 then</p><p> messag
103、ebox("備份失敗!","不能打開源文件")</p><p><b> else </b></p><p> messagebox("備份失敗!","不能寫入目標(biāo)文件")</p><p><b> end if</b></p&
104、gt;<p><b> end if</b></p><p> 第一個“瀏覽”按鈕clicked事件代碼如下:</p><p> disconnect using sqlca;</p><p> string txtname, named</p><p> string defext = &quo
105、t;db"</p><p> string Filter = "data Files (*.*), *.*"</p><p> GetFileOpenName("databases (*.*)", txtname, named, defext, filter)</p><p> sle_1.text=txtna
106、me</p><p> 第二個“瀏覽”按鈕clicked事件代碼如下:</p><p> messagebox("提示!","備份時應(yīng)注明文件的擴(kuò)展名!")</p><p> string txtname, named</p><p> string defext = "*"
107、</p><p> string Filter = "data Files (*.*), *.*"</p><p> GetfilesaveName("Open datafile", txtname, named, defext, filter)</p><p> sle_2.text=txtname</p>
108、<p><b> 5. 數(shù)據(jù)恢復(fù)</b></p><p> 圖4-7 數(shù)據(jù)恢復(fù)界面</p><p> “搜索”按鈕代碼同“數(shù)據(jù)備份”中“瀏覽”按鈕代碼;</p><p> “恢復(fù)”按鈕代碼如下:</p><p> disconnect using sqlca;</p><p&g
109、t; //string a,b</p><p><b> int m</b></p><p> if sle_1.text="" then</p><p> messagebox("信息提示!","您未指定源數(shù)據(jù)庫!")</p><p> elseif
110、 sle_2.text="" then</p><p> messagebox("信息提示!","您未指定目標(biāo)文件!")</p><p><b> else </b></p><p> m=filecopy(sle_1.text,sle_2.text,false) </p&
111、gt;<p> if m=1 then</p><p> timer(0.06)</p><p> elseif m=-1 then</p><p> messagebox("恢復(fù)失敗!","不能打開源文件")</p><p><b> else </b>
112、;</p><p> messagebox("恢復(fù)失敗!","不能寫入目標(biāo)文件")</p><p><b> end if</b></p><p><b> end if</b></p><p><b> 6. 系統(tǒng)初始化</b>
113、</p><p> 圖4-8 系統(tǒng)初始化界面</p><p> /*…………………………………………………………………………………………………</p><p> 利用系統(tǒng)自身的初始化功能,可以將所有數(shù)據(jù)信息清空,輸入新的數(shù)據(jù)信息,就可以很快構(gòu)建成一個簡單實(shí)用的本地鐵路查詢系統(tǒng),應(yīng)用前景廣泛。</p><p> ………………………………
114、…………………………………………………………………*/</p><p> “確定“按鈕clicked事件代碼如下:</p><p><b> long row</b></p><p><b> int value</b></p><p> choose case ddlb_1.text<
115、;/p><p><b> case ""</b></p><p> messagebox("系統(tǒng)提示!","請選擇你要初始化的表!")</p><p> case "時刻表"</p><p> select count(*) into :
116、row from 時刻表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete fro
117、m 時刻表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經(jīng)清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox(
118、"系統(tǒng)提示!",ddlb_1.text + "已經(jīng)無信息!")</p><p><b> end if </b></p><p> case "票價表"</p><p> select count(*) into :row from 票價表;</p><p&g
119、t; if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 票價表;</p><p> me
120、ssagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經(jīng)清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text +
121、 "已無信息!")</p><p> end if </p><p> case "站點(diǎn)表"</p><p> select count(*) into :row from 站點(diǎn)表;</p><p> if row >0 then</p><p> valu
122、e=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 站點(diǎn)表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息
123、已經(jīng)清除!")</p><p><b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b>
124、 end if </b></p><p> case "車次表"</p><p> select count(*) into :row from 車次表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!",&
125、quot;你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><p> delete from 車次表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經(jīng)清除!")</p><p>
126、;<b> end if</b></p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if</b></p>&l
127、t;p> case "操作員表"</p><p> select count(*) into :row from 操作員表;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,ye
128、sno!)</p><p> if value=1 then</p><p> delete from 操作員表;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經(jīng)清除!")</p><p><b> end if</b><
129、;/p><p><b> else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if </b></p><p> case "臨時列車表"
130、;</p><p> select count(*) into :row from 臨時列車;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> i
131、f value=1 then</p><p> delete from 臨時列車;</p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "信息已經(jīng)清除!")</p><p><b> end if</b></p><p><b>
132、else</b></p><p> messagebox("系統(tǒng)提示!",ddlb_1.text + "已無信息!")</p><p><b> end if </b></p><p> case "精品列車表"</p><p> selec
133、t count(*) into :row from 精品列車;</p><p> if row >0 then</p><p> value=messagebox("系統(tǒng)提示!","你確定要刪除嗎?",question!,yesno!)</p><p> if value=1 then</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管網(wǎng)查詢系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--公交系統(tǒng)查詢
- 畢業(yè)設(shè)計----成績查詢系統(tǒng)
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)
- 公交查詢系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---- 公交在線查詢系統(tǒng)
- 畢業(yè)設(shè)計論文 公交查詢系統(tǒng)設(shè)計
- 城市公交查詢系統(tǒng)畢業(yè)設(shè)計
- 醫(yī)院門診查詢系統(tǒng)畢業(yè)設(shè)計
- 智能稱重系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 公交路線查詢系統(tǒng)畢業(yè)設(shè)計論文
- 智能小車系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計論文-公交車查詢系統(tǒng)
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 智能家居系統(tǒng)畢業(yè)設(shè)計
- 智能樓宇系統(tǒng)的畢業(yè)設(shè)計
- 礦燈智能管理系統(tǒng)畢業(yè)設(shè)計
- 智能家居系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計 樓宇智能監(jiān)控系統(tǒng)設(shè)計
- 家居智能安保系統(tǒng)設(shè)計畢業(yè)設(shè)計
評論
0/150
提交評論