[畢業(yè)論文]基于C#的列車時刻系統(tǒng)論文_第1頁
[畢業(yè)論文]基于C#的列車時刻系統(tǒng)論文_第2頁
[畢業(yè)論文]基于C#的列車時刻系統(tǒng)論文_第3頁
[畢業(yè)論文]基于C#的列車時刻系統(tǒng)論文_第4頁
[畢業(yè)論文]基于C#的列車時刻系統(tǒng)論文_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、河南科技大學(xué)本科畢業(yè)設(shè)計(論文)列車時刻系統(tǒng)摘 要交通是一個國家的經(jīng)濟(jì)命脈,交通分為水路,陸路,空路三種。其中列車交通是當(dāng)今世界運(yùn)輸量最高的運(yùn)輸方式。列車時刻系統(tǒng)都是它們不可或缺的信息交流門戶和平臺。所以能否設(shè)計一個簡單、易用、方便管理、擴(kuò)展性強(qiáng)的列車售票管理系統(tǒng)是很重要的。本系統(tǒng)以簡潔的界面實(shí)現(xiàn)了列車訂票、列車售票管理、退票管理、系統(tǒng)管理以及版權(quán)管理等功能。并闡述系統(tǒng)的結(jié)構(gòu)設(shè)計和功能設(shè)計,以及數(shù)據(jù)庫的實(shí)現(xiàn)。本系統(tǒng)是利用.net技術(shù)開發(fā)的列車時刻系統(tǒng)列車售票管理系統(tǒng),實(shí)現(xiàn)了列車售票的動態(tài)管理,使得對信息的管理更加及時、高效,提高了工作效率。列車時刻系統(tǒng)是一個網(wǎng)絡(luò)應(yīng)用系統(tǒng)。系統(tǒng)是按照標(biāo)準(zhǔn)軟件開發(fā)

2、流程,逐步設(shè)計開發(fā)完成的。用戶可以通過登錄本系統(tǒng),來實(shí)現(xiàn)對列車訂票查詢、列車售票管理、退票管理、系統(tǒng)管理以及版權(quán)管理等功能。同時也可以進(jìn)行業(yè)務(wù)的統(tǒng)計管理工作。本系統(tǒng)采用微軟公司的.net作為系統(tǒng)開發(fā)的工具,使用該平臺下集成的web application創(chuàng)建應(yīng)用程序項目,并且系統(tǒng)設(shè)計采用了c/s的設(shè)計模式,從而使系統(tǒng)實(shí)現(xiàn)相對簡單。列車時刻系統(tǒng)基本上實(shí)現(xiàn)了列車訂票查詢、列車售票管理、退票管理、系統(tǒng)管理以及版權(quán)管理等功能。關(guān)鍵詞:列車售票, 列車售票管理, .net, sql 2000air ticketing system abstracttraffic is the lifeline of a

3、 countrys economic. traffic is divided into waterways, land and air routes in three, which air traffic is the worlds most efficient transportation mode of transport. the air ticketing system is their indispensable information exchange gate way and the platform。whether therefore designs to be simple,

4、 the extended strong information is very important。this system has realized air booking inquiries, air ticket management, user management, refund management, system management as well as rights management by the succinct contact surface。and elaboration system structural design and functional design,

5、 as well as database realization。this system is uses the .net technology development the system management system。has realized the management,even more promptly caused to the information management, to be highly effective, enhanced the working efficiency.the system is a client system. the system is

6、designed by associate software development process. the users can m air booking inquiries, air ticket management, user management, refund management. and the users can also statistics the business sales. the system uses .net as tools for the design of the systems, and use of the platform under the i

7、ntegrated web application project to create applications, and use the c / s model in the design of the system, so the implementation of the system is relatively simple.the system basically realized the functions of air booking inquiries, air ticket management, user management, refund management and

8、so on.key words:news issue, news management,.net, sql 20001目錄前言1第1章 系統(tǒng)概述21.1 系統(tǒng)的設(shè)計背景21.2 系統(tǒng)的發(fā)展前景31.3 系統(tǒng)開發(fā)平臺41.4 系統(tǒng)簡介5第2章 系統(tǒng)需求分析62.1 系統(tǒng)可行性分析62.2 系統(tǒng)技術(shù)性需求72.3 系統(tǒng)功能規(guī)定8第3章 數(shù)據(jù)庫設(shè)計93.1 概念結(jié)構(gòu)設(shè)計93.2 邏輯結(jié)構(gòu)設(shè)計103.3 物理結(jié)構(gòu)設(shè)計11第4章 總體設(shè)計134.1 基本設(shè)計概念和設(shè)計流程134.2 功能需求與程序的關(guān)系154.3 系統(tǒng)功能模塊簡介16第5章 系統(tǒng)實(shí)現(xiàn)185.1 關(guān)鍵業(yè)務(wù)流程描述185.1.1 列車售票管

9、理185.1.2 管理員管理流程185.2 創(chuàng)建窗體及界面195.2.1 主功能界面195.2.2 其他功能界面205.3 模塊實(shí)現(xiàn)285.3.1 列車訂票查詢模塊285.3.2 列車售票管理模塊295.3.3 系統(tǒng)管理模塊29第6章 系統(tǒng)測試306.1 軟件測試的目標(biāo)306.2 軟件測試中的錯誤及排除30結(jié)論32參考文獻(xiàn)33致謝35前言改革開放以來,我國經(jīng)濟(jì)建設(shè)隨著時間的推移,逐步進(jìn)入了網(wǎng)絡(luò)時代。在這個時代,長途客運(yùn)作為一種新的經(jīng)濟(jì)模式,滲透了人們的生活??瓦\(yùn)企業(yè)依靠其靈活多樣的經(jīng)營方式,產(chǎn)生巨大的規(guī)模效益。而步入網(wǎng)絡(luò)時代以后,信息交流及時性明顯影響到企業(yè)的發(fā)展。因此,作為企業(yè)很有必要采用現(xiàn)

10、代智能化的管理方式。本人的設(shè)計主要針對列車行業(yè)發(fā)展的現(xiàn)狀,精心打造,量身定做的一款辦公自動化管理系統(tǒng)(office automatization 即oa系統(tǒng))。通過該系統(tǒng),可以實(shí)時監(jiān)測列車時刻系統(tǒng)的銷售經(jīng)營信息。該系統(tǒng)采用三層系統(tǒng)架構(gòu),前臺用戶層,中間服務(wù)層,后臺數(shù)據(jù)庫層,因此數(shù)據(jù)獨(dú)立于應(yīng)用程序運(yùn)行,為數(shù)據(jù)提供了相對安全的環(huán)境。系統(tǒng)用戶依靠驗(yàn)證登錄系統(tǒng),登錄后才可以對權(quán)限范圍內(nèi)的內(nèi)容進(jìn)行操作。在本系統(tǒng)設(shè)計過程中,使用微軟公司的.net作為開發(fā)工具,嚴(yán)格遵照軟件工程的開發(fā)流程,采用.net的應(yīng)用程序框架,利用集成application開發(fā)技術(shù),實(shí)現(xiàn)了列車售票業(yè)務(wù)的辦公自動化管理系統(tǒng)。第1章 系統(tǒng)

11、概述1.1 系統(tǒng)的設(shè)計背景我所選擇的畢業(yè)設(shè)計課題是列車時刻系統(tǒng)的設(shè)計。近幾年,列車運(yùn)輸行業(yè)發(fā)展迅速,傳統(tǒng)的人工管理已經(jīng)無法正常進(jìn)行,隨著計算機(jī)的普及,辦公自動化正在隨之普及。我所選擇的課題正好屬于辦公自動化方面的課題。我所要編寫的系統(tǒng)是按照軟件設(shè)計的規(guī)范流程設(shè)計開發(fā)的。在每個開發(fā)階段對該系統(tǒng)的分析設(shè)計都要總結(jié)整理出文檔資料。該列車售票管理系統(tǒng)按照四級模式進(jìn)行規(guī)劃設(shè)計。由于網(wǎng)絡(luò)的日益普及,網(wǎng)絡(luò)的復(fù)雜性也隨之顯得更加突出,數(shù)據(jù)的安全性問題也隨之提上日程。列車時刻系統(tǒng)的系統(tǒng)結(jié)構(gòu)設(shè)計直接關(guān)系到數(shù)據(jù)的安全,在本系統(tǒng)設(shè)計中將采用三層結(jié)構(gòu)體系,保證了數(shù)據(jù)的安全性。從兩方面對系統(tǒng)的總體需求進(jìn)行分析。功能需求主

12、要是分析系統(tǒng)具體要完成和實(shí)現(xiàn)什么功能模塊,而系統(tǒng)需求則以整個系統(tǒng)作為出發(fā)點(diǎn),分析要達(dá)到什么要求才能保證所有功能的實(shí)現(xiàn)。本系統(tǒng)中關(guān)于不同對象即普通用戶、普通管理員的功能需求主要有以下幾點(diǎn):對于普通管理員可以對票據(jù)信息進(jìn)行添加、修改、刪除等功能。針對不同用戶需求,對系統(tǒng)要求必須比較完善:對于普通用戶來說,系統(tǒng)必須要有瀏覽的功能。鏈接完善。對于普通管理員,系統(tǒng)要實(shí)現(xiàn)對票據(jù)信息數(shù)據(jù)的添加、修改和刪除等功能1.2 系統(tǒng)的發(fā)展前景列車時刻系統(tǒng)屬于辦公軟件,即包括在辦公自動化軟件的范圍內(nèi)。在我國此類軟件的設(shè)計起步比較晚,國外的系統(tǒng)技術(shù)研究領(lǐng)先于國內(nèi),但目前國際的合作頻繁,國外和國內(nèi)同樣都向智能化人性化的方向

13、發(fā)展。列車時刻系統(tǒng)作為當(dāng)今社會列車售票管理的主要信息管理載體,發(fā)展趨勢正日益普及。用戶對列車時刻系統(tǒng)安全性、可靠性以及功能上的要求也在不斷提高。因此,必須提供更安全、更可靠、功能更豐富的服務(wù)。如何構(gòu)建高效、穩(wěn)定、安全、易用、可擴(kuò)展、功能豐富的列車售票管理系統(tǒng)呢?列車售票管理系統(tǒng)下階段的發(fā)展重點(diǎn)在以下幾個方面: 對于普通管理員可以對票據(jù)信息進(jìn)行添加、修改、刪除等功能。對于超級管理員不但可以對票據(jù)信息內(nèi)容進(jìn)行添加、修改、刪除等功能之外,還能對用戶角色進(jìn)行管理,比如添加用戶、設(shè)置用戶級別、修改刪除用戶,角色分配等一系列功能。針對不同用戶需求,對系統(tǒng)要求必須比較完善:對于普通用戶來說,系統(tǒng)必須要有瀏覽

14、的功能。鏈接完善。對于普通管理員,系統(tǒng)要實(shí)現(xiàn)對票據(jù)信息數(shù)據(jù)的添加、修改和刪除等功能超級管理員的工作認(rèn)為則要求系統(tǒng)處理對用戶、角色以及用戶所屬的角色分配,如角色添加、角色名稱修改、和角色刪除等功能。分配角色所管轄的票據(jù)信息種類功能。1.3 系統(tǒng)開發(fā)平臺列車時刻系統(tǒng)是采用微軟公司的.net開發(fā)的,以下介紹下.net的一些常識知識。列車時刻系統(tǒng)應(yīng)用于內(nèi)部局域網(wǎng)的企業(yè)內(nèi)部的軟件系統(tǒng)。本軟件系統(tǒng)使用.net作為開發(fā)平臺以c#作為開發(fā)語言。.net具有4個重點(diǎn)特點(diǎn),分別為基于xml的共同語言,定制服務(wù)軟件,融合多平臺和設(shè)備以及新一代人機(jī)交互面。和microsoft visual studio.net 20

15、03相比較,microsoft visual studio.net 2005的功能得到了很大的改進(jìn),大多數(shù)web常用控件開箱即可使用,使得建立列車時刻系統(tǒng)和維護(hù)比以前更加簡單,使用的代碼頁比以前少。 c#是一個語言,asp.net是一個平臺,上面支持用c#或者vb.net寫代碼。 另外,c#不但可以開發(fā)基于asp.net的應(yīng)用程序,也可以開發(fā)基于winform的程序。 若是單純以概念來說,你可以把.net當(dāng)做一個工作平臺一般,它是一個開發(fā)環(huán)境的基底,提供你開發(fā)windows、web、mobile、xml.等應(yīng)用程式一個共通的平臺,若是要了解深一點(diǎn),則再去了解其運(yùn)作的相關(guān)機(jī)制那是有助于你利用它來

16、開發(fā).c#和.net主要是應(yīng)用在網(wǎng)際網(wǎng)路. c#(讀做c-sharp)編程語言是由微軟公司的anders hejlsberg和 scott willamette領(lǐng)導(dǎo)的開發(fā)小組專門為.net平臺設(shè)計的語言,它可以使程序員移植到.net上。這種移植對于廣大的程序員來說是比較容易的,因?yàn)閏#從c,c+和java發(fā)展而來,它采用了這三種語言最優(yōu)秀的特點(diǎn),并加入了它自己的特性。c#是事件的驅(qū)動的,完全面向?qū)ο蟮目梢暬幊陶Z言,我們可以使用集成開發(fā)環(huán)境來編寫c#程序。使用ide,程序員可以方便的建立,運(yùn)行,測試和調(diào)試c#程序,這就將開發(fā)一個可用程序的時間減少到不用ide開發(fā)時所用時間的一小部分。使用ide

17、迅速建立一個應(yīng)用程序的過程稱為快速反映開發(fā)。.net支持xml/soap的語言開發(fā)標(biāo)準(zhǔn),并且融合了多種開發(fā)語言,諸如c#、c+、java等等,因此開發(fā)人員可以很容易的找到適合自己的開發(fā)語言。.net平臺上開發(fā)出來的程序真正實(shí)現(xiàn)了“代碼重用”,即運(yùn)行時和具體的語言分開,所有的資源管理、內(nèi)存分配和變量類型的軍郵公共語言運(yùn)行庫處理。例如,用c#寫的類就可以直接用在c/c+程序中。asp.net是asp的升級版,集成了c#、c+、java、vb等多種語言,才用代碼隱藏機(jī)制(code behind),將web應(yīng)用程序邏輯從表示層中分離出來,為程序的開發(fā)提供了靈活的開發(fā)環(huán)境,通過邏輯和表示相分離,asp.

18、net 允許多個頁面使用相同的代碼,從而使維護(hù)更加的容易。1.4 系統(tǒng)簡介列車時刻系統(tǒng)是基于網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。系統(tǒng)管理員即列車時刻系統(tǒng)管理員負(fù)責(zé)列車信息、用戶信息、票據(jù)信息的管理等。用戶即列車時刻系統(tǒng)普通管理員可以對列車信息的查看,票據(jù)信息進(jìn)行添加、修改、刪除等功能。要求使用asp.net和sql server進(jìn)行開發(fā)。通過該系統(tǒng)的設(shè)計與實(shí)現(xiàn)可以掌握開發(fā)一個電子商務(wù)列車時刻系統(tǒng)的模式、架構(gòu)以及用.net技術(shù)開發(fā)web應(yīng)用程序的方法1. 功能需求(1) 本系統(tǒng)中關(guān)于不同對象即普通管理員、超級管理員所要實(shí)現(xiàn)的功能需求主要有以下幾點(diǎn):(2)對于普通管理員可以對列車信息的查看,票據(jù)信息進(jìn)行添加、修改、刪

19、除等功能。(3) 對于超級管理員不但可以對列車和票據(jù)信息內(nèi)容進(jìn)行添加、修改、刪除等功能之外,還能對用戶角色進(jìn)行管理,比如添加用戶、設(shè)置用戶級別、修改刪除用戶,角色分配等一系列功能。系統(tǒng)需求2. 針對不同用戶需求,對系統(tǒng)要求必須比較完善:(1) 對于普通管理員,系統(tǒng)要實(shí)現(xiàn)對票據(jù)信息數(shù)據(jù)的添加、修改和刪除等功能。(3) 超級管理員的工作認(rèn)為則要求系統(tǒng)處理對用戶、角色以及用戶所屬的角色分配,如角色添加、角色名稱修改、和角色刪除等功能。分配角色所管轄的票據(jù)信息種類功能。第2章 系統(tǒng)需求分析2.1 系統(tǒng)可行性分析該系統(tǒng)是提供給列車售票行業(yè)部門列車售票服務(wù)使用的。列車售票行業(yè)近幾年在我國發(fā)展的速度很迅速,

20、規(guī)模不斷的得到擴(kuò)大。而目前其管理水平卻遠(yuǎn)遠(yuǎn)滯后于行業(yè)的發(fā)展速度,成為制約行業(yè)發(fā)展的瓶頸。列車售票行業(yè)的發(fā)展迫切要求有一種軟件能夠輔助列車售票管理的需要。經(jīng)過了將近10年的發(fā)展,我國的計算機(jī)互聯(lián)網(wǎng)已經(jīng)基本得到普及,越來越多的信息開始轉(zhuǎn)向依靠管理系統(tǒng)來管理。傳統(tǒng)的列車售票管理使用各類紙張來手工記錄數(shù)據(jù),最后需要盤點(diǎn)或統(tǒng)計時也需要消耗大量的時間和人力。規(guī)模龐大的列車售票行業(yè)為列車售票管理軟件提供了廣闊的市場空間,同時普及的互聯(lián)網(wǎng)為管理軟件的搭建提供了良好的網(wǎng)絡(luò)條件。列車售票管理系統(tǒng)是為列車售票行業(yè)配送列車售票管理量身定做的列車售票管理軟件。通過系統(tǒng)可以解決列車售票行業(yè)目前面臨的管理問題,同時系統(tǒng)留有

21、充分的擴(kuò)展性,為今后業(yè)務(wù)拓展提供擴(kuò)展空間。采用自動列車售票對列車售票情況進(jìn)行管理,可以很方便地完成各類統(tǒng)計,為列車售票及時提供相關(guān)信息。采用軟件管理列車售票后,信息的錄入雖然仍采用手工錄入的方式。但是信息錄入節(jié)約了大量的人力物力資源,信息一經(jīng)錄入以后,不用再次錄入,而且在盤點(diǎn)處理,統(tǒng)計處理時可以由系統(tǒng)自動化完成。軟件的一次性投資可以通過成本節(jié)約抵消,其產(chǎn)生的巨大經(jīng)濟(jì)效益是顯而易見的。同時,信息的傳遞是實(shí)時的,列車售票通過系統(tǒng)可以動態(tài)監(jiān)測列車售票狀況。通過系統(tǒng)統(tǒng)計列車售票狀況,可以通過列車售票完成,在列車售票中包含有數(shù)據(jù)統(tǒng)計圖,可以直觀的反應(yīng)銷售的比例,并且報表可以以word、excel等多種形

22、式的文導(dǎo)出或者直接打印成文檔形式。系統(tǒng)中為用戶提供了信息的檢索查看功能,用戶通過關(guān)鍵字可以很迅速的檢索到自己所要查詢的信息,同傳統(tǒng)的紙質(zhì)文檔檢索速度相比,軟件的效率是很明顯的。 2.2 系統(tǒng)技術(shù)性需求本系統(tǒng)中關(guān)于不同對象即普通管理員、超級管理員所要實(shí)現(xiàn)的功能需求主要有以下幾點(diǎn):對于普通管理員可以對票據(jù)信息進(jìn)行添加、修改、刪除等功能。對于超級管理員不但可以對票據(jù)信息內(nèi)容進(jìn)行添加、修改、刪除等功能之外,還能對用戶角色進(jìn)行管理,比如添加用戶、設(shè)置用戶級別、修改刪除用戶,角色分配等一系列功能。針對不同用戶需求,對系統(tǒng)要求必須比較完善:對于普通管理員,系統(tǒng)要實(shí)現(xiàn)對票據(jù)信息數(shù)據(jù)的添加、修改和刪除等功能。超

23、級管理員的工作認(rèn)為則要求系統(tǒng)處理對用戶、角色以及用戶所屬的角色分配,如角色添加、角色名稱修改、和角色刪除等功能。分配角色所管轄的票據(jù)信息種類功能。2.3 系統(tǒng)功能規(guī)定列車時刻系統(tǒng)主要包括列車訂票查詢、列車售票管理、用戶管理、列車退票管理、系統(tǒng)管理等功能,各個功能的具體描述如下:1列車訂票查詢(1)添加新的票據(jù)信息種類,票據(jù)信息種類為票據(jù)信息的上級目錄;(2)修改票據(jù)信息種類;(3)刪除票據(jù)信息種類;2.列車售票管理(1)添加新的票據(jù)信息,票據(jù)信息為系統(tǒng)的主要內(nèi)容,其中票據(jù)信息又包括普通票據(jù)信息、圖片票據(jù)信息和附件票據(jù)信息幾個大類;(2)修改票據(jù)信息,同時可以更新票據(jù)信息的附件;(3)刪除票據(jù)信

24、息,同時從服務(wù)器上刪除該票據(jù)信息所包括的附件;3用戶管理(1)添加系統(tǒng)管理用戶,包括系統(tǒng)用戶和列車售票管理用戶,其中系統(tǒng)用戶維護(hù)系統(tǒng)的正常運(yùn)行,列車售票管理用戶管理系統(tǒng)的票據(jù)信息信息及其資源;(2)修改系統(tǒng)管理用戶,該項功能主要是修改用戶的權(quán)限等;(3)刪除系統(tǒng)管理用戶以及該用戶的權(quán)限;(4)管理用戶更新自己的密碼。4用戶角色管理 用戶角色管理主要是管理系統(tǒng)的角色,如系統(tǒng)管理員、普通管理員等。系統(tǒng)中的不同角色管理權(quán)限是不相同的。它的具體功能如下:(1)添加新的用戶角色;(2)修改用戶角色;(3)刪除用戶角色。第3章 數(shù)據(jù)庫設(shè)計該系統(tǒng)所采用的數(shù)據(jù)庫是microsoft公司的sql 2000。數(shù)據(jù)

25、庫設(shè)計采用了子母表,視圖等方法來處理表之間的關(guān)系。對于每個票據(jù)信息單獨(dú)建立一張票據(jù)信息的信息表,所有的票據(jù)信息信息表都包含在子表當(dāng)中。同時子表的id作為母表的外鍵,通過母表可以順利的檢索到子表的信息。而表和表之間的聯(lián)系通過視圖來處理。3.1 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計的任務(wù)是在需求分析階段產(chǎn)生的需求說明書的基礎(chǔ)上,按照特定的方法把它們抽象為一個不依賴于任何具體機(jī)器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計者的注意力能夠從復(fù)雜的實(shí)現(xiàn)細(xì)節(jié)中解脫出來,而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。概念模型具有以下的特點(diǎn): 1.概念模型是對現(xiàn)實(shí)世界的抽象和概括,它真實(shí)、充分地反映了現(xiàn)實(shí)世界中事物和事物之間的

26、聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。2.由于概念模型簡潔、明晰、獨(dú)立于計算機(jī),很容易理解,因此可以用概念模型和不熟悉計算機(jī)的用戶交換意見,使用戶能積極參與數(shù)據(jù)庫的設(shè)計工作,保證設(shè)計工作順利進(jìn)行。3.概念模型易于更新,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴(kuò)充。4.概念模型很容易向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是e-r圖。e-r模型是一個面向問題的概念模型,即用簡單的圖形方式(e-r圖)描述現(xiàn)實(shí)世界中的數(shù)據(jù)。這種描述不涉及數(shù)據(jù)在數(shù)據(jù)庫中表示和存取方法,非常接近人的思維方式。后來又提出了擴(kuò)展實(shí)體聯(lián)系模型(extend entity-relationship mo

27、del),簡稱為“eer模型”。eer模型目前已經(jīng)成為一種使用廣泛的概念模型,為面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計提供了有效的工具。3.2 邏輯結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計所得的e-r模型是對用戶需求的一種抽象的表達(dá)形式,它獨(dú)立于任何一種具體的數(shù)據(jù)模型,因而也不能為任何一個具體的dbms所支持。為了能夠建立起最終的物理系統(tǒng),還需要將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為某一dbms所支持的數(shù)據(jù)模型,然后根據(jù)邏輯設(shè)計的準(zhǔn)則、數(shù)據(jù)的語義約束、規(guī)范化理論等對數(shù)據(jù)模型進(jìn)行適當(dāng)?shù)恼{(diào)整和優(yōu)化,形成合理的全局邏輯結(jié)構(gòu),并設(shè)計出用戶子模式。這就是數(shù)據(jù)庫邏輯設(shè)計所要完成的任務(wù)。數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計分為兩個步驟:首先將概念設(shè)計所得的e-r圖轉(zhuǎn)換為關(guān)系模

28、型;然后對關(guān)系模型進(jìn)行優(yōu)化。在列車售票管理系統(tǒng)管理系統(tǒng)當(dāng)中包括了以上幾個er模型向關(guān)系模型的轉(zhuǎn)換:角色表(編號,角色)用戶表(用戶表編號,用戶表名,密碼,真實(shí)姓名,權(quán)限)票據(jù)信息種類表(票據(jù)信息種類表編號,票據(jù)信息種類表名,票據(jù)銷售日期)角色種類關(guān)系表(角色種類關(guān)系表編號,票據(jù)信息種類關(guān)系表)票據(jù)信息表(票據(jù)信息編號,票據(jù)起點(diǎn)站信息,票據(jù)終點(diǎn)站信息,用戶身份證,票據(jù)銷售時間,票據(jù)信息所屬的票據(jù)信息種類)3.3 物理結(jié)構(gòu)設(shè)計在表當(dāng)中,關(guān)鍵字(即編號)都采用自動編號的數(shù)據(jù)類型;日期都采用日期型的數(shù)據(jù)類型;凡是食品等的數(shù)據(jù)量都采用數(shù)據(jù)型的數(shù)據(jù)類型;其他數(shù)據(jù)均采用文本型的數(shù)據(jù)類型。當(dāng)表之間有關(guān)系時通過

29、添加外鍵來處理。當(dāng)表與其他表有關(guān)系時,便給該表建立一張視圖,通過外鍵將兩張表聯(lián)系起來,通過數(shù)據(jù)篩選,把自己想要的信息提取出來,形成一張新的表。其他數(shù)據(jù)設(shè)計具體如下:表3-1 列車時刻系統(tǒng)用戶表編號字段名稱字段類型字段說明1useridint用戶表主鍵2usernamechar用戶名稱3passwordchar用戶密碼4emailchar用戶email地址5roleiddatetime用戶所屬角色表3-2 列車時刻系統(tǒng)種類信息表編號字段名稱字段類型字段說明1newskindidint票據(jù)信息種類表主鍵2kindnamechar票據(jù)信息種類名稱3kindorderdatetime票據(jù)銷售日期表3-

30、3 列車時刻系統(tǒng)票據(jù)信息表列名數(shù)據(jù)類型字段說明1flightchar主鍵2airfirmchar列車公司名稱3startchar起點(diǎn)站4destinationchar終點(diǎn)站5leavetimechar起飛時間6arrivetimechar到達(dá)時間7childfarechar票價8adultfareint收取費(fèi)用9discount1int折扣一10discount2int折扣二11seatint座位12weekint時間13remarkint備注信息數(shù)據(jù)庫中還有其他信息表等等,在這里就不一一列舉了。12第4章 總體設(shè)計4.1 基本設(shè)計概念和設(shè)計流程在本系統(tǒng)設(shè)計過程中提到了很多專業(yè)的名詞和概念,對

31、這些基本設(shè)計概念做出如下解釋:1.軟件系統(tǒng):軟件系統(tǒng)是指列車售票管理系統(tǒng);2.總體設(shè)計:總體設(shè)計是軟件開發(fā)的第二個階段,即軟件的概要設(shè)計;3.系統(tǒng)開發(fā)平臺:開發(fā)當(dāng)前軟件系統(tǒng)所采用的開發(fā)軟件平臺;4.系統(tǒng)技術(shù)性需求:在開發(fā)本系統(tǒng)時所采用到的關(guān)鍵性技術(shù);5.接口:接口是包含一組虛方法的抽象類型,其中每一種方法都有其名稱、參數(shù)和返回值。說明該軟件同其他軟件之間的接口、數(shù)據(jù)通信協(xié)議等;6.控制:說明控制該軟件的運(yùn)行的方法和控制信號,并說明這些控制信號的來源;7.系統(tǒng)功能規(guī)定:是對系統(tǒng)基本包含的功能概要的分析統(tǒng)計結(jié)果;本系統(tǒng)包含兩個子系統(tǒng),其中列車售票中心所使用的是列車售票管理系統(tǒng),而列車售票中心所使用

32、的是管理員用戶子系統(tǒng),管理員用戶子系統(tǒng)又稱為后臺管理子系統(tǒng)。每個子系統(tǒng)包換了若干子功能模塊,每個子功能模塊完成相應(yīng)的處理操作功能。其中管理員的權(quán)限是大于票據(jù)信息用戶的。基本設(shè)計流程如下圖所示:圖4-1 列車時刻系統(tǒng)程序流程圖由圖可知,當(dāng)系統(tǒng)啟動后,用戶需要通過驗(yàn)證進(jìn)入系統(tǒng)。系統(tǒng)根據(jù)用戶的驗(yàn)證判斷用戶的權(quán)限,當(dāng)是管理員用戶登錄時會轉(zhuǎn)入管理員功能模塊,否則轉(zhuǎn)入票據(jù)信息用戶模塊。成功登錄后,用戶可以完成權(quán)限限制內(nèi)的操作,即當(dāng)前可以操作的功能模塊。用戶操作時,系統(tǒng)自動判斷用戶所想要調(diào)用的功能子模塊,并提交給用戶,在用戶完成操作后可以退出系統(tǒng)。4.2 功能需求與程序的關(guān)系我所設(shè)計的后臺管理系統(tǒng)包含四個大

33、的模塊:基本信息管理、列車售票管理、列車訂票查詢和用戶角色管理等。本系統(tǒng)直接建立在sql 2000 數(shù)據(jù)庫上,即應(yīng)用程序的form頁面直接訪問數(shù)據(jù)庫。應(yīng)用程序設(shè)計的層次關(guān)系如圖4-1所示: 數(shù)據(jù)庫form 頁面 圖4-2 系統(tǒng)總體架構(gòu)設(shè)計圖 從系統(tǒng)的功能描述可以看到,系統(tǒng)可以實(shí)現(xiàn)7個完整的功能。我們根據(jù)這些功能,可以設(shè)計出系統(tǒng)的模塊,各個系統(tǒng)功能模塊的之間的關(guān)系如圖4-2所示:圖4-3 列車時刻系統(tǒng)功能模塊設(shè)計圖4.3 系統(tǒng)功能模塊簡介動態(tài)列車時刻系統(tǒng)主要包括列車訂票查詢、列車售票管理、用戶管理、列車售票管理、用戶角色管理、用戶角色分配等功能,各個功能的具體描述如下:1. 列車訂票查詢(1)添

34、加新的票據(jù)信息種類,票據(jù)信息種類為票據(jù)信息的上級目錄;(2)修改票據(jù)信息種類;(3)刪除票據(jù)信息種類;2. 列車售票管理(1)添加新的票據(jù)信息,票據(jù)信息為系統(tǒng)的主要內(nèi)容,其中票據(jù)信息又包括普通票據(jù)信息、圖片票據(jù)信息和附件票據(jù)信息幾個大類;(2)修改票據(jù)信息,同時可以更新票據(jù)信息的附件;(3)刪除票據(jù)信息,同時從服務(wù)器上刪除該票據(jù)信息所包括的附件;3. 用戶管理(1)添加系統(tǒng)管理用戶,包括系統(tǒng)用戶和列車售票管理用戶,其中系統(tǒng)用戶維護(hù)系統(tǒng)的正常運(yùn)行,列車售票管理用戶管理系統(tǒng)的票據(jù)信息信息及其資源;(2)修改系統(tǒng)管理擁護(hù),該項功能主要是修改用戶的權(quán)限等;(3)刪除系統(tǒng)管理用戶以及該用戶的權(quán)限;(4)

35、管理用戶更新自己的密碼。4. 列車售票管理列車售票管理主要是管理系統(tǒng)的票據(jù)銷售管理功能,對需要旅行或外出需要空運(yùn)的旅客售票服務(wù)。它的具體功能如下:(1)添加起始站點(diǎn);(2)添加終點(diǎn)站;(3)添加旅客身份證;(4)售票;5. 列車退票管理 列車退票管理主要是管理系統(tǒng)的退票管理功能,對延誤旅行或因特殊原因需要退票的旅客退票服務(wù)。它的具體功能如下:(1)修改票據(jù)退票標(biāo)示位;(2)添加備注信息;6. 用戶的角色分配管理用戶的角色分配管理主要管理用戶的角色分配問題,不管是系統(tǒng)的新用戶或是已經(jīng)存在的老用戶,系統(tǒng)可以動態(tài)分配給他們的角色。它的具體功能如下:(1)修改用戶的角色;(2)刪除用戶的角色。32第5

36、章 系統(tǒng)實(shí)現(xiàn)5.1 關(guān)鍵業(yè)務(wù)流程描述前臺票據(jù)信息顯示功能模塊組成本系統(tǒng)的前臺系統(tǒng);列車訂票查詢、列車售票管理、用戶管理、列車售票管理、用戶角色管理和用戶的角色分配管理組成本系統(tǒng)的后臺系統(tǒng)。前臺系統(tǒng)主要顯示系統(tǒng)的數(shù)據(jù)內(nèi)容;后臺系統(tǒng)是維護(hù)系統(tǒng)的數(shù)據(jù)、前臺數(shù)據(jù)內(nèi)容顯示的格式和版式,以及用戶、角色的管理等。后臺系統(tǒng)中的列車售票管理流程比較復(fù)雜,它涉及到列車售票管理模塊和列車訂票查詢模塊。5.1.1 列車售票管理后臺系統(tǒng)中的列車售票管理流程比較復(fù)雜,它涉及到列車售票管理模塊和列車訂票查詢模塊,如果票據(jù)信息存在附件,它還需要涉及到上載票據(jù)信息附件等功能。在添加、修改和刪除票據(jù)信息時,首先應(yīng)該選擇該票據(jù)信息

37、所屬的上級目錄票據(jù)信息種類,如果該票據(jù)信息還包括附件,如文件或圖片,則在添加或刪除票據(jù)信息時必須相應(yīng)處理票據(jù)信息的附件。因此在添加或刪除票據(jù)信息時都分別存在兩種添加操作方式。如果該票據(jù)信息沒有包含附件時,則可以直接添加或刪除票據(jù)信息;但是當(dāng)該票據(jù)信息包含附件時,則必須在添加或刪除票據(jù)信息之前添加或刪除票據(jù)信息的附件,最后才添加或刪除該票據(jù)信息。5.1.2 管理員管理流程后臺系統(tǒng)中的用戶及其權(quán)限管理流程也比較復(fù)雜,它涉及到用戶管理、用戶角色管理以及用戶角色分配管理。本系統(tǒng)中的兩種基本角色為系統(tǒng)管理員和普通管理員,系統(tǒng)管理員可以管理普通管理員并設(shè)置他們的權(quán)限,同時還可以添加新的權(quán)限;而普通管理員只

38、能管理自己的信息或票據(jù)信息種類、票據(jù)信息及其附件等信息。系統(tǒng)管理員用戶及其權(quán)限的流程如圖4-4所示:圖5-2 系統(tǒng)管理員的管理流程本系統(tǒng)中,還實(shí)現(xiàn)了用戶角色和票據(jù)信息種類動態(tài)關(guān)聯(lián)功能,即系統(tǒng)管理員在添加某個用戶角色時,可以動態(tài)設(shè)置角色所管轄的票據(jù)信息種類,若再把該角色賦予給某個用戶普通管理員,則該普通管理員就可以管理該角色管轄的票據(jù)信息種類,這樣就實(shí)現(xiàn)了每個用戶可以管轄不同的票據(jù)信息種類。因此當(dāng)普通管理員登錄后臺系統(tǒng)后,他只能看到自己管轄的票據(jù)信息種類,而無法管理其他的票據(jù)信息種類。5.2 創(chuàng)建窗體及界面列車時刻系統(tǒng)主要涉及到五個用戶界面:這些界面基本包括了系統(tǒng)功能規(guī)定的所有功能。以下是關(guān)于這

39、幾個用戶界面當(dāng)中一些主要的功能界面的簡單介紹。5.2.1 主功能界面1.主功能界面主要是作為票據(jù)操作信息使用的,列車售票管理系統(tǒng)的系統(tǒng)使用人員,首先啟動工程,之后便出現(xiàn)主功能界面。在此界面下,用戶可以操作規(guī)定權(quán)限下的功能操作。圖5-7 主功能界面2.登錄界面主要功能調(diào)用(1) 查詢功能調(diào)用票據(jù)查詢功能(2) 訂票功能調(diào)用票據(jù)訂票功能(3) 退票功能調(diào)用票據(jù)退票功能(4) 管理功能調(diào)用票據(jù)管理功能5.2.2 其他功能界面1.票據(jù)查詢界面是用戶進(jìn)行票據(jù)信息查詢操作功能界面。該界面主要完成以下功能,對票據(jù)信息的查看,修改。該功能屬于基本信息管理模塊,如下圖所示,我們可以看到該模塊下具有對信息的管理功

40、能。圖5-8 列車退票管理界面2. 列車票據(jù)查詢界面處理代碼public void actionperformed(actionevent e)trystring sql=;connection con =drivermanager.getconnection(jdbc:odbc:driver=microsoft sql 2000 driver (*.mdb);dbq=db1);stmt = con.createstatement();if(e.getsource() instanceof jbutton)/the textfield of the key word cannot be emp

41、tyif(!radio0.isselected()|(radio0.isselected()&jtf0.gettext().length()=0) joptionpane.showmessagedialog(null,關(guān)鍵字不能為空,錯誤,joptionpane.error_message);else/make sure every textfield selectde is fullfor(int i=2;i=11;i+)if(radioi.isselected()&jtfi.gettext().length()=0)tag=true;break;/if tere is textfield

42、is not seleced if(tag)joptionpane.showmessagedialog(null,信息不能為空,錯誤,joptionpane.error_message);tag = false;elsestring sqlstring = select flight from flight where flight= + jtf0.gettext().trim() + ;resultset rs = stmt.executequery(sqlstring);/decide the filght is exitedint flag1 = 0;while(rs.next()fla

43、g1 = 1;/if it is exitsif (flag1 = 0)joptionpane.showmessagedialog(null,對不起!航班號不存在!,錯誤信息,joptionpane.error_message);return;/update the weekif(radio2.isselected()sql=update flight set airfirm=+jtf2.gettext()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql); /update the airfirm if(radio3.isselect

44、ed()sql=update flight set seat=+integer.parseint(jtf3.gettext().trim()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql); /update the airfirm if(radio4.isselected()sql=update flight set start=+jtf4.gettext()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the airfirm if(radio5.is

45、selected()sql=update flight set destination=+jtf5.gettext()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the airfirm if(radio6.isselected()sql=update flight set leavetime=+jtf6.gettext()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the if(radio7.isselected()sql=up

46、date flight set arrivetime=+jtf7.gettext()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the childfare if(radio8.isselected()sql=update flight set childfare=+float.parsefloat(jtf8.gettext().trim()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the adultfare if(radio9

47、.isselected()sql=update flight set adultfare=+float.parsefloat(jtf9.gettext().trim()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);/update the disount if(radio10.isselected()sql=update flight set discount1=+float.parsefloat(jtf10.gettext().trim()+ where flight=+jtf0.gettext()+;stmt.executeu

48、pdate(sql);/update the tuipiaoliu if(radio11.isselected()sql=update flight set discount2=+float.parsefloat(jtf11.gettext().trim()+ where flight=+jtf0.gettext()+;stmt.executeupdate(sql);joptionpane.showmessagedialog(null,航班信息已經(jīng)更新成功!,成功信息,joptionpane.information_message);其他功能界面如下所示,由于界面太多,就不一一列舉了。圖5-9

49、 主功能界面圖5-10 管理員主功能界面圖5-11 管理員登錄界面圖5-12 列車補(bǔ)票界面5.3 模塊實(shí)現(xiàn)后臺管理子系統(tǒng)主要包含十個功能模塊,以下介紹幾個模塊的實(shí)現(xiàn)。5.3.1 列車訂票查詢模塊列車訂票查詢主要實(shí)現(xiàn)對票據(jù)信息種類的添加、修改和刪除功能。票據(jù)信息種類是系統(tǒng)內(nèi)容的最高級別,所以在添加、修改或刪除票據(jù)信息時,也必須選擇該票據(jù)信息所屬的票據(jù)信息種類。下面是票據(jù)信息種類的添加、修改和刪除功能的具體實(shí)現(xiàn)方法。public void actionperformed(actionevent e)this.flightnumber = flightfield.gettext().trim();i

50、f (flightnumber.length() = 0) /未輸入信息joptionpane.showmessagedialog(null,請輸入航班號或者從列表中選擇,錯誤信息,joptionpane.error_message);return;executeflightquery();public void executeflightquery()string sqlstring = select distinct * from +flight +where flight= + + flightnumber + ;resultset rs = sqlbean.executequery(s

51、qlstring);if (rs != null)showresult(rs);else joptionpane.showmessagedialog(null,沒有連接上數(shù)據(jù)庫!,錯誤信息,joptionpane.error_message);以上是對數(shù)據(jù)添加的程序代碼,該段代碼實(shí)現(xiàn)了獲得用戶數(shù)據(jù)輸入,并把數(shù)據(jù)插入到數(shù)據(jù)庫當(dāng)中的功能。5.3.2 列車售票管理模塊系統(tǒng)的列車售票管理模塊是票據(jù)的銷售功能。票據(jù)信息是站得二級目錄,直屬于票據(jù)信息種類,所以在添加、修改或者擅場票據(jù)信息時,必須先選擇該票據(jù)信息所屬的票據(jù)信息種類。具體程序見工程文件。5.3.3 系統(tǒng)管理模塊系統(tǒng)管理由管理員登錄后對系統(tǒng)進(jìn)行

52、管理,包括用戶管理和列車信息添加兩個部分,現(xiàn)已實(shí)現(xiàn),具體程序見工程文件。第6章 系統(tǒng)測試6.1 軟件測試的目標(biāo) 軟件測試的目標(biāo)是想以最少的時間和人力發(fā)現(xiàn)軟件中潛在的各種錯誤和缺陷。如果成功的實(shí)現(xiàn)了測試,就能夠發(fā)現(xiàn)軟件中的錯誤。測試的另一個收獲是它能夠證明軟件的功能和性能與需求說明相符,同時實(shí)施測試收集到的數(shù)據(jù)為可靠性分析提供了依據(jù)。grenford j.myers就軟件測試的主要目的提出以下觀點(diǎn):1. 測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;2. 一個好的測試用例在于能發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤;3. 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。6.2 軟件測試中的錯誤及排除測試中發(fā)現(xiàn)的錯誤:1

53、. gridview控件的更新刪除操作問題,添加更新事件后,可以正常點(diǎn)擊按鈕,但是無法進(jìn)入處理程序,并作出相應(yīng)的處理操作;2. 當(dāng)點(diǎn)擊gridview控件的更新按鈕時,取得當(dāng)前選中行信息中的兩列值,同時做一下計算,把其中一列的值減去另一列的值,并把得到的新值存儲到另外一張新表里面。3. 數(shù)據(jù)庫存儲過程設(shè)計,對數(shù)據(jù)進(jìn)行插入數(shù)據(jù)庫功能實(shí)現(xiàn)時,用到了數(shù)據(jù)庫存儲過程,但是對這個概念我都沒印象,所以可以說存儲過程根本不會用,以及數(shù)據(jù)庫跨表操作的實(shí)現(xiàn)。問題的解決:1. 剛開始我添加事件處理程序是自己直接在后臺代碼中自己敲出來的,所以造成參數(shù)錯誤,更改參數(shù)后,程序可以正常進(jìn)入處理程序。再通過單步執(zhí)行跟蹤,發(fā)

54、現(xiàn)程序內(nèi)部的處理錯誤,更正后便可以實(shí)現(xiàn)。2. 我簡單的認(rèn)為,通過gridview控件當(dāng)中selectedrow屬性便可以得到當(dāng)前選中的行,并順利的把數(shù)據(jù)取出。但是,這是錯誤的,selectedrow根本無法獲取當(dāng)前選中行中的數(shù)據(jù),它只是對當(dāng)前選中行的一個索引。我通過添加了一個dataset,將數(shù)據(jù)傳入dataset當(dāng)中,再把需要處理的兩列值調(diào)出來,進(jìn)行計算后再用數(shù)據(jù)庫操作將數(shù)據(jù)存入新表當(dāng)中。3. 通過學(xué)習(xí),發(fā)現(xiàn)數(shù)據(jù)存儲過程是數(shù)據(jù)庫當(dāng)中的一個文件。通過新建存儲過程,便可以建立一個新的儲蓄過程,在存儲過程當(dāng)中指明操作的數(shù)據(jù)庫和表,聲明存入的數(shù)據(jù)變量,最終便可以實(shí)現(xiàn)數(shù)據(jù)的插入過程。數(shù)據(jù)庫跨表操作,也是一個十分簡單的問題,解決有兩種辦法??梢酝ㄟ^外鍵來處理表和表之間的關(guān)系,也可以通過視圖來處理表和表之間的關(guān)系。其中我選擇了使用視圖來處理表和表之間的關(guān)系。視圖有使用簡單,操作方便,容易的特點(diǎn),所以我選擇了視圖。通過視圖等于建立了一個新的表,而這個表是幾個表合起來的一個新表,通過視圖便可以進(jìn)行多表的查

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論