公交查詢系統(tǒng)_第1頁
公交查詢系統(tǒng)_第2頁
公交查詢系統(tǒng)_第3頁
公交查詢系統(tǒng)_第4頁
公交查詢系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、南京航空航天大學計算機實踐實驗報告課程名稱:軟件技術基礎專 題: 學生成績管理系統(tǒng)學生姓名: 孟寧 羅龍城班級學號:0 . 0專業(yè)名稱:探測制導與控制2011年11月一、引言編寫目的在當今社會中,交通問題已經(jīng)成為很重要的社會性問題,而公交成為解決交通問題 的一個關鍵因素。大力發(fā)展公共交通是解決城市交通擁擠問題的首選措施。但是一種公交 是不能滿足所有人的出行需求的,人們可能無法通過乘坐一輛公交車到達目的地,這時候 就需要換乘來解決該問題,經(jīng)調(diào)查路程最短和換乘次數(shù)是人們最關心的問題。根據(jù)這些問 題,需要開發(fā)一套公交查詢系統(tǒng),從而方便人們出行前進行查詢。項目背景本系統(tǒng)主要面向廣大的城市居民和外來的旅

2、游者,為不同需求的用戶提供全面、準 確的公交信息。在該系統(tǒng)中還需要提供多種公交查詢方式,并且該系統(tǒng)中要給出管理功能, 方便公交發(fā)生變化后及時對路線進行調(diào)整。根據(jù)需求我們可以將系統(tǒng)分為兩大功能模塊,分別是前臺查詢公交模塊和后臺公交管理 模塊。下面分別來看一下兩個模塊的具體功能。前臺公交查詢模塊:該模塊是被普通用戶使用的,其中包括線路查詢、站點查詢、站站 查詢等多種核心公交查詢功能。后臺公交管理模塊:該模塊是由系統(tǒng)管理員操作的,包括站點管理和路線管理兩大功能。 在站點功能中包括向新線路中添加站點和修改原線路站點的功能。在線路管理中包括修改線 路原有信息的功能,其信息包括起始和結(jié)束時間、起始站和終點

3、站等。開發(fā)軟件名稱:南京市公交線路查詢系統(tǒng)項目任務提出者:計算機指導老師儲劍波項目開發(fā)者:羅龍成孟寧用戶:暫無實現(xiàn)軟件單位:南京航空航天大學項目與其他軟件系統(tǒng)關系:本項目以Microsoft Visual C+為開發(fā)環(huán)境。定義(1)數(shù)據(jù)流圖:描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪 信息在系統(tǒng)中流動和處理的情況,它表示了數(shù)據(jù)和處理過程的關系。 數(shù)據(jù)流圖有四種基本符號:正方形(或立方體)表示數(shù)據(jù)的源點或終點。圓角矩形(或圓形)代表變換數(shù)據(jù)的處理。處理不一定是一個程序。一個處理框可以代表一系列程 序,單個程序或者程序的一個模塊;它甚至可以代表一種人工處理過程。開口矩形(或兩條平行橫

4、線)代表數(shù)據(jù)存儲。數(shù)據(jù)存儲可以表示一個文件,文件的一部分,數(shù)據(jù)庫的 元素或紀錄的一部分等等。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù)。箭頭代表數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向。數(shù)據(jù)流是處于運動中的數(shù)據(jù)。還有幾種附加符號:星號表示數(shù)據(jù)流之間是“與”關系加號表示“或”關系異或符號表示只能從中選一個(2)數(shù)據(jù)字典:是對系統(tǒng)中各類數(shù)據(jù)描述的集合,是各類數(shù)據(jù)屬性清單,是進行 詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。它通常包括以下五個部分:數(shù)據(jù)項,是數(shù)據(jù)的最小的單位。數(shù)據(jù)結(jié)構,是若干數(shù)據(jù)項有意義的集合。數(shù)據(jù)流,可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構,表示某 一處理過程的輸入或輸出。數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù)。常常是手工憑證

5、, 手工文檔,計算機文件。處理過程。它們的描述內(nèi)容如下:數(shù)據(jù)項描述=數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名,類 型,長度,取值范圍,與其他數(shù)據(jù)項的邏輯關系取值范圍,與其他數(shù)據(jù)項的邏輯關系定義了數(shù)據(jù)的完整性 約束條件,是設計數(shù)據(jù)檢驗功能的依據(jù)。數(shù)據(jù)結(jié)構描述=數(shù)據(jù)結(jié)構名,含義說明,組成:數(shù)據(jù)結(jié)構或數(shù)據(jù)項數(shù)據(jù)流=數(shù)據(jù)流名,說明,流出過程,流入過程,組 成:數(shù)據(jù)結(jié)構或數(shù)據(jù)項流出過程,說明該數(shù)據(jù)流由什么過程來。流入過程,說明該數(shù)據(jù)流到什么過程去。數(shù)據(jù)存儲=數(shù)據(jù)存儲名,說明,輸入數(shù)據(jù)流,輸出數(shù)據(jù)流,組成:數(shù)據(jù)結(jié)構或數(shù)據(jù)項,數(shù)據(jù)量,存取方式數(shù)據(jù)量,說明每次存取多少數(shù)據(jù),每天(或每小時, 或每周)存取幾次的信息。存取

6、方法,指的是批處理,還是聯(lián)機處理;是檢索還是更新;是順序檢索還是隨機檢索;盡可能詳細收集并加 以說明。處理過程=處理過程名,說明,輸入:數(shù)據(jù)流,輸 出:數(shù)據(jù)流,處理:簡要說明簡要說明中主要說明該處理過程的功能,艮“做什么”(不 是怎么做);處理頻度要求,如每小時(或每分鐘)處理多少事務,多少數(shù)據(jù)量;響應時間要求等。這些處理要求是后面 物理設計的輸入及性能評價的標準。參考資料1、軟件技術基礎教程,萬曉東、施玉霞、孔德明,南京 航空航天大學。2、C+程序設計教程,皮德常,機械工業(yè)出版社。3、ML 用戶指南,Grady Booch James Rumbaugh Ivar Jacobson著,邵維忠等

7、譯。4、軟件工程導論(第五版),張海藩著,清華大學出版社。5、Visual C+實用教程,丁有和 鄭進 周怡君 著, 電子工業(yè)出版社。6、算法設計與分析,王紅梅著,清華大學出版社。7、數(shù)據(jù)庫系統(tǒng)概論(第四版),王珊薩師煊 著,高 等教育出版社二 、 可 行 性 分 析可行性研究的前提要求:功能:使用人員通過此軟件使出行輕松方便。性能:查詢效率盡可能做到精準,信息維護功能做到簡單易用。輸入:簡單、易用。輸出:快速、精確。完成期限:4個月基本數(shù)據(jù)處理流程目標:開發(fā)出一套用于公交車查詢的軟件,幫助出行人員方便、 高效的進行對自己的出行管理,并通過此次軟件開發(fā)過程全面提高自 身的綜合素質(zhì)。條件、假定和

8、限制:開發(fā)時間:5周。最遲完成時間:2011年11月25日決定可行性的主要因素:資金到位、現(xiàn)有技術可完全承擔開發(fā) 任務、軟件能被原有工作人員快速接受。進行可行性研究的方法通過調(diào)查分析寶雞市公交車查詢系統(tǒng)現(xiàn)階段所具備的能力及實 現(xiàn)的方法、確定主體結(jié)構。利用JAVA和數(shù)據(jù)庫編程所能達到的能力, 以最簡潔、最容易的辦法,邊開發(fā)邊測試,實現(xiàn)一個初級應用軟件。 即采用面向?qū)ο蟮姆椒ㄩ_發(fā)此軟件。評價尺度以能夠達到幫助出行人員提高行程管理效率、減少額外人力、物 力資源開銷為評價標準。3.對現(xiàn)有系統(tǒng)的分析目前市場存在的公交查詢系統(tǒng)軟件,大多是公交公司提供,為網(wǎng) 絡版。實時性好是他們的優(yōu)勢,但是存在以下問題:產(chǎn)

9、品的交互界面方面。公交公司所提供的網(wǎng)絡版查詢系統(tǒng)在很大 程度上只是為了使用,對交互界面的設計并沒有從用戶的方面過多考 慮。產(chǎn)品的功能方面。在前期的市場調(diào)查中,我們發(fā)現(xiàn)網(wǎng)絡版查詢系統(tǒng)具有或 多或少的各方缺陷。如只提供終點起點的查詢,在起點和終點之間的中間站沒 有提供查詢。在起點和終點沒有宣達車時,無法提供相關的轉(zhuǎn)車信息。在查詢 時顯示不直接、明確等問題。產(chǎn)品的優(yōu)化方面。對一個初級系統(tǒng)是無法做到盡善盡美的,因此要在用戶 的使用過程中發(fā)現(xiàn)問題,從而進行基本結(jié)構的添加、修改,對應用軟件進行優(yōu) 化、升級。網(wǎng)絡版的查詢系統(tǒng)是無法做到這一點的。技術可行性分析公交查詢系統(tǒng)編程已經(jīng)具備了完備、成熟的理論和體系結(jié)

10、構,JAVA編程與 數(shù)據(jù)庫相結(jié)合進行開發(fā)的技術也日趨成熟,在以上限制條件下利用現(xiàn)有技術和 人員,本系統(tǒng)的開發(fā)完全可行。與工程產(chǎn)品相關的關鍵技術概述本工程產(chǎn)品的關鍵技術在于JAVA編程的程序設計與數(shù)據(jù)庫的結(jié)合,將 所有的數(shù)據(jù)信息都放入數(shù)據(jù)庫中進行存儲,而這些數(shù)據(jù)信息的調(diào)用則完全由程 序來完成,即“程序設計數(shù)據(jù)化,數(shù)據(jù)管理程序化”思想。關鍵技術的理論基礎依據(jù)“程序設計數(shù)據(jù)化,數(shù)據(jù)管理程序化”的設計思想,將數(shù)據(jù)庫文件 與程序設計緊密的集合在一起。技術可行性評價完全可以實現(xiàn)預期目標。投資及效益分析(略)社會因素方面可行性公交車應用普及,對個人的出行參考的合理化是可行的;該產(chǎn)品使用簡單方便,略懂計算機的

11、用戶就可以沒有任何困難地使用該產(chǎn) 品;結(jié)論技術、經(jīng)濟、操作都有可行性,可以立即開始進行。三、需求分析隨著我國經(jīng)濟的高速發(fā)展,人們生活水平的提高,越來越多的人開始熱衷 于到外地旅游。那么對于這些外來旅游者,首先搞清這個城市的公交路線顯的 很重要!南京,作為一個六朝古都,每年都要吸引大量的游客,為了滿足這些 游客熟悉公交路線的需求,特以公交查詢系統(tǒng)為設計課題。本軟件不僅能給游 客帶來方便,也能給廣大市民提供方便。我認為這樣的系統(tǒng)應該具有很好的實 用性!開發(fā)本系統(tǒng)的目標就是立足廣大乘客的實際,著眼于公交業(yè)的未來發(fā)展, 規(guī)范公交管理,提高服務質(zhì)量,方便乘客查詢,并為此設計該系統(tǒng)。1用戶功能需求分析所有

12、乘客可以使用該系統(tǒng)進行車次及路線的查詢。本系統(tǒng)應具有簡單易用功能強大特點,有較強的糾錯能力(隨著軟件的版 本升級功能和糾錯能力也可以不斷得到提高)。如果在網(wǎng)絡上運行,應有數(shù)據(jù)在 線更新的能力以及在線查詢的能力。由于畢業(yè)設計時間有限,本系統(tǒng)沒有設計成 網(wǎng)絡運行版的,在以后的時間會進一步完善該系統(tǒng)。由于車次經(jīng)常會變化所以需要一個管理員身份去管理這個公交查詢系統(tǒng)方 便更改車次的信息以及車輛的出行線路。2系統(tǒng)功能分析本系統(tǒng)提供了的車次查詢功能、路線查詢功能。乘客可以方便的進行查詢, 以防乘錯車次。同時管理員身份方便管理車輛的車次和出行線路。當然有些功能 的智能化不是很強,系統(tǒng)有待進一步來完善。也希望老

13、師及朋友給予指導,提出 您們的建議!在此,先向您們表示感謝!檔案(公交路線信息資料)管理模塊:一般瀏覽者只能查看檔案, 不能對檔案做任何的修改。不同的用戶級別所操作的檔案類型是有限 制的。管理員用戶可向里面添加、修改和刪除檔案。也可設置檔案級 別,以加強它們的保密性。查詢管理模塊:是給管理員用的,是為了方便管理員查找檔案, 也有關鍵字搜索和模糊搜索。查到記錄后,也可雙擊記錄即可顯示詳 細信息。系統(tǒng)維護模塊:僅限管理員使用。其中可以添加、修改、刪除操 作員工,設置他們的權限、級別及密碼。對性能的規(guī)定數(shù)據(jù)精確度:查詢時要保證查全率,所有相應域包含查詢關鍵字 的記錄都應能查到。因為通常有文件的記錄會

14、很多,所以本系統(tǒng)采用 了兩種方法進行查詢:直接查詢和模糊查詢。時間特性:一般操作的響應時間應在12秒內(nèi)。基本數(shù)據(jù)處理流程輸入輸出要求:輸入操作簡便,容錯性好,輸出界面給人以全新的感覺,一目了然。給操作用戶帶來了極大的便利,對用戶友好。對 鼠標和鍵盤單獨支持。數(shù)據(jù)管理能力要求:系統(tǒng)管理員可以及時對數(shù)據(jù)進行更新(添加、 修改、刪除等),同時對數(shù)據(jù)進行權限設置、安全設置以及備份等操 作。故障處理要求:正常使用時不應出錯,若運行時遇到不可恢復的系統(tǒng)錯誤,也必須保證數(shù)據(jù)庫完好無損。其他要求系統(tǒng)的容錯性:用戶輸錯數(shù)據(jù)都有提示信息,具有較好的容錯性能。系統(tǒng)的封閉性:用戶的封閉性較好,用戶基本上在提示信息下輸

15、數(shù)據(jù)。數(shù)據(jù)字典與流圖2公交站點查詢程圖:3公交線路查詢流程圖:4公交換乘方案流程圖:系統(tǒng)數(shù)據(jù)字典,如下表所示。數(shù)據(jù)項數(shù)據(jù)項關鍵字數(shù)據(jù)項含義數(shù)據(jù)類型數(shù)據(jù)要求系統(tǒng)管理員編號AdminID管理員的唯一編號整型系統(tǒng)管理員用戶 名Adiminname管理員用戶名字符型2-50系統(tǒng)管理員密碼Adminpw管理員密碼字符型2-50普通用戶編號UserID普通用戶的唯一編號整型普通用戶用戶名Username普通用戶用戶名字符型2-50普通用戶密碼Userpw普通用戶密碼字符型2-50線路編 號RoutelD每一條線路的編號整型線路名 稱Routename每一條線路的名稱字符型50車次編 號BusID車次編號整

16、型車次名 稱BusName每一趟車次的名稱字符型50車次種 類Busclass每一車次屬于哪條線路整型站點編 號StationlD每一個站點的編 號整型站點名 稱StationName每一個站點的名稱字符型2-50站點種 類StationClass每一個站點屬于哪條線路整型始班車 時間Starttime始班車時間日期末班車 時間Endtime末班車時間日期四概要設計說明書4. 1需求規(guī)定表1輸入輸出需求輸入項目處理輸 出項 目車次輸入要查詢的車次即可本車次的??苛⒄季€ 路表站點輸入站點,查處經(jīng)過本站點的所有車次車 次起點&查詢出經(jīng)過這兩個站點的直達車或換成車終點 h、八、建議次無(鼠 標)輸出

17、公交車運營時間表時 間表4. 2運行環(huán)境客戶端適用于所有運行JVM的機器上。4. 3基本設計概念和處理流程數(shù)據(jù)庫圖2總體處理流程圖4. 4結(jié)構5功能需求與程序的關系(略)6人工處理過程向數(shù)據(jù)庫插入必要的線路信息。2. 7尚未問決的問題(無)4、5接口設計4.用戶接口本系統(tǒng)只實現(xiàn)查詢功能,故根據(jù)用戶在GUI中輸入的查詢信息提供具體回 答。其中,輸入車次為數(shù)字型字符,站點為字符串類型。輸入信息具體見表1。2外部接口 (略)3內(nèi)部接口 (略)4、6運行設計運行模塊組合程序初始化后,啟用輸入接受數(shù)據(jù)。判斷接受的數(shù)據(jù)從而調(diào)用不同模塊產(chǎn) 生各自進程和功能。實時反饋信息、更新界面。運行控制運行控制以接受鍵盤

18、事件和鼠標事件來控制。信息反饋方面通過不同的模塊功能,實現(xiàn)信息更新顯示等。4.運行時間(略)系統(tǒng)數(shù)據(jù)結(jié)構設計4.邏輯結(jié)構設計要點gjc_up公交車上行線路表列 名數(shù)據(jù)類 型可否為空說明bus_novarchar(3)Not null車次(主鍵為bus_no和st_no1)st_namevarchar(8)Not null站點名st_ nolvarchar(2)Not null站點號gjc_down公交車下行線路表(可能不需要)列 名數(shù)據(jù)類 型可否為空說明bus_novarchar(3)Not null車次(主鍵為bus_no和 st_no2)st_namevarchar(8)Not null站

19、點名st_ no2varchar(2)Not null站點號表3數(shù)據(jù)庫邏輯結(jié)構圖表4.物理結(jié)構設計要點系統(tǒng)的物理結(jié)構具體由數(shù)據(jù)庫來設計與生成,此處略。4.數(shù)據(jù)結(jié)構與程序的關系(略)4、8系統(tǒng)出錯處理設計4.出錯信息1)JTextFieldl輸入格式不是數(shù)字型字符。2)JTextField2、JTextField3輸入格式不是字符串類型。3)JTextFieldl、JTextField2 及 JTextField3 的輸入的相關信息不存在。處理:彈出對話框顯示“抱歉:xxx站不存在! ”或“抱歉:xx車次不存在! ”。五、測試結(jié)果及分析在上述運行環(huán)境下運行程序,會相繼得到下面的各種運行結(jié)果。按提

20、示語進行操作;如在主菜單選項下,選擇1會進入“公交線路查詢”功能選項下,再次按提示語操輸 入要查詢的公交路線,如8路就輸入8,就會顯示8路所經(jīng)過的站點。六、設計總結(jié)這次完成的這個學生成績管理系統(tǒng)確實給我留下了很深的印象, 也讓我更深刻的認識到了動手的必要性。一方面,這次的這個作業(yè)鍛 煉了我自己的動手能力和動腦能力,使自己可以在電腦前靜下心來認 真的思考學習,領會老師講過的設計思想,從而鍛煉自己編程的能力。 雖然平時也會寫些小的程序,但都達不到鍛煉自己的目的,往往由于 過于急躁而放棄,但是。這次我強迫自己必須靜下心一點點做成了, 有一種成就感。但更多的是鍛煉了自己的思維能力和動手能力和分析 解決

21、問題的能力。另一方面,我體會最深的那就是一個我們必須學會 調(diào)試自己的程序,當遇到輸出結(jié)果和預想的有出入是,自己經(jīng)過思考 一點一點的去調(diào)試自己的程序,找出問題的所在,然后靜下心慢慢的 解決它,我覺得這是一個程序員必須具備的能力。出錯了并不可怕, 要自己一點一點的解決。另外,在做之前,一定要先明白目的,這樣設計起來才有根據(jù), 設計出來的系統(tǒng)才能是正確的總之,經(jīng)過我的努力,算是完成了這一次的作業(yè),不能說圓滿, 因為有些思想是借鑒的參考書上的,但起碼我真真切切的自己實踐 了,自己也掌握了一些方法和技巧,對軟件的了解也有了更深一層的 認識;比如以前從不認為編程之后還要寫文檔;但經(jīng)過這次的文檔編 寫使得我

22、很快就為編寫程序開了一個好頭;比沒寫文檔的時候還要 快;因為思路理清楚了;結(jié)果編出來的程序也沒有太多的錯誤需要一 個個查;希望老師以后多多舉行一些這種獨立完成一個系統(tǒng)的作業(yè); 讓我們不再對單獨完成整套系統(tǒng)不再恐懼。七附錄:/源代碼*公交查詢系統(tǒng)源代碼此文件中包含改程序的所有代碼;用戶模塊的子模塊包括:公交換乘、公交線路、公交站點.編碼主程序主菜單:#include #include #include #include #include ”#define MAX_NUM_OF_BUS_STATIONS 4000 typedef struct char name50;int staNum,staO

23、rd100;ame, staName);elseif(!(staName, order, ignore) ame, staName);(staName, order);g_Lineg_LineNum.staOrd g_Lineg_LineNum.staNum+ = order; ine g_Stationorder.lineNum+ = g_LineNum; ame, g_LinepreL, g_S);ineNum; i+) inei;for(j=0; jg_LinetmpLine.staNum; j+) taOrdj;if(!visitedtmpS

24、ta)visitedtmpSta = true;(tmpSta);pStatmpSta = k;pLinetmpSta = tmpLine;PrintPath(d,pSta,pLine);free(visited);free(pSta);free(pLine);int main()FILE *fi = fopen(,r);char str1024;int ignore,current,destination;while(fgets(str, 1024, fi)SliceOff(str); rd = 0;hashListi.staName0 = 0;usedi = false;taName)!=0)Collision(p);if(strcmp(key, hashListp.staName)=0) e = hashListp.ord; return SUCCESS;elsereturn UNSUCCESS;rd = e;strcpy(hashListp.staName, key); usedp = 1;return SUCCESS;2

溫馨提示

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

評論

0/150

提交評論