軟件工程課程設計長途汽車聯(lián)網(wǎng)售票系統(tǒng)后臺售票管理
《軟件工程課程設計長途汽車聯(lián)網(wǎng)售票系統(tǒng)后臺售票管理》由會員分享,可在線閱讀,更多相關《軟件工程課程設計長途汽車聯(lián)網(wǎng)售票系統(tǒng)后臺售票管理(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、西華大學課程設計報告 數(shù)學與計算機學院 課程設計說明書 課 程 名 稱: 軟件工程-課程設計 課 程 代 碼: 8404131 題 目:長途汽車聯(lián)網(wǎng)售票系統(tǒng)-后臺售票管理 年級/專業(yè)/班: 09級-軟件工程-4班 學 生 姓 名: 學 號: 開
2、 始 時 間: 11 年 5 月 23 日 完 成 時 間: 11 年 6 月 日 課程設計成績: 學習態(tài)度及平時成績(30) 技術水平與實際能力(20) 創(chuàng)新(5) 說明書(計算書、圖紙、分析報告)撰寫質(zhì)量(45) 總 分(100) 指導教師簽名: 年 月 日 XX課 程 設 計 任 務 書 學院名稱: 數(shù)學與計算機學院 課程代碼:___8404131___ 專業(yè): 軟件工程 年級: 0
3、9級 一、設計題目 長途汽車聯(lián)網(wǎng)售票系統(tǒng)(CS)—實現(xiàn)后臺票務管理 二、主要內(nèi)容 本課程設計長途汽車聯(lián)網(wǎng)售票系統(tǒng)-實現(xiàn)后臺票務管理,本系統(tǒng)主要模塊: 一、基本信息管理 : 票務信息;二、臨時車次管理:增加、刪除、更改發(fā)車時間;三、查詢當前票務情況; 三、具體要求及應提交的材料 設計要求: 1. 分析設計要求,給出解決方案(要說明設計實現(xiàn)所用的原理,采用的數(shù)據(jù)結(jié)構); 2. 模塊化程序設計,畫出程序的基本結(jié)構框圖和流程圖; 3. 對程序的每一部分要有詳細的設計分析說明; 4. 程序執(zhí)行的每個步驟要有具體的提示內(nèi)容或輸出; 5. 源代碼格式規(guī)
4、范(鋸齒型書寫格式),注釋不少于三分之一; 6. 設計合適的測試用例,對得到的運行結(jié)果要有分析; 7. 設計中遇到的問題,設計的心得體會。 設計結(jié)束后,每位同學必須上交如下材料: 1.《課程設計說明書》打印稿一份; 2.《課程設計說明書》電子文檔及課程設計的程序源代碼 刻盤 四、主要技術路線提示 首先根據(jù)要解決的問題進行分析和總體設計,得到要定義的數(shù)據(jù)結(jié)構和函數(shù),然后進行 詳細編碼,在主函數(shù)中對各功能函數(shù)進行測試。 五、進度安排 二周完成。4天查閱資料和分析,6天編寫軟件,4天寫出課程設計報告并上交。 六、推薦參考資料(不少于3篇) [1] 張海藩.軟件工程導論(
5、第五版)[M].北京:清華大學出版社,2008 [2] 王紅梅,胡明,王濤.數(shù)據(jù)結(jié)構(C++版)[M].北京:清華大學出版社,2005 [3] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006 [4] Bain T.SQL Server2000數(shù)據(jù)倉庫[M].北京.電力出版社,2003 [5] Google Web APIs Reference[EB/OL]. 指導教師 簽名日期 年 月 日 系 主 任 審核日期 年 月 日 目 錄 1. 前言
6、 …………………………………………………………………………… 1 2. 需求分析 ……………………………………………………………………… 2 2.1. 功能分析 …………………………………………………………………… 2 2.2. 方案分析 …………………………………………………………………… 2 3. 概要設計 ……………………………………………………………………… 3 3.1. 數(shù)據(jù)結(jié)構 …………………………………………………………………… 3 3.2. 邏輯結(jié)構與物理結(jié)構 ……………………………………………………… 3 3.3. 功能模塊劃分 …………………………………………
7、…………………… 4 3.3.1.結(jié)構框圖……………………………………………………………………5 3.3.2.程序流圖……………………………………………………………………7 3.3.3.模塊功能分析及外部設計…………………………………………………8 3.4.抽象數(shù)據(jù)類定義………………………………………………………………9 4. 詳細設計 ……………………………………………………………………… 9 4.1. 數(shù)據(jù)類型定義…………………………………………………………………9 4.2. 主要模塊內(nèi)部設計 …………………………………………………………10 4.2.1.輸入信息……………
8、…………………………………………………… 11 4.2.1.1.實現(xiàn)算法…………………………………………………………… 12 4.2.1.2.流程圖……………………………………………………………… 13 4.2.2. 更改數(shù)據(jù) ……………………………………………………………… 15 4.2.3. 查找信息 …………………………………………………………………16 5.實現(xiàn)與調(diào)試分析……………………………………………………………… 16 5.1.實現(xiàn)環(huán)境…………………………………………………………………… 16 5.2.語言選擇……………………………………………………………………
9、16 5.3.調(diào)試分析…………………………………………………………………… 16 6.測試分析……………………………………………………………………… 17 6.1.測試用例…………………………………………………………………… 17 6.2.測試結(jié)果………………………………………………………………………18 6.3.性能分析………………………………………………………………………18 7.用戶手冊………………………………………………………… …………… 18 8.總結(jié) …………………………………………………………………………… 20 9.參考文獻 …………………………………………
10、…………………………… 20 1. 前言 自從人類進入21世紀,也就進入了一個高速發(fā)展的信息時代,高新技術發(fā)展的同時,計算機的使用范圍也大大擴展,它已經(jīng)涉及到人類生活的方方面面。計算機使用的方便,快捷,使它在越來越多的方面顯示出比傳統(tǒng)手工制作更迅速和準確的優(yōu)點,尤其在信息記錄,檢索和查詢方面,避免了不必要的麻煩。 一個性能良好的長途汽車聯(lián)網(wǎng)售票系統(tǒng)能夠使管理員快速方便的對長途汽車站的相關信息,如汽車路線信息,汽車基本信息,車票等進行各種諸如添加,查詢,刪除,修改操作。使用傳統(tǒng)的手工方式管理長途汽車車站相關信息,不僅讓管理員感到非常的厭倦,也存在著不可避免的缺點,如效率
11、太低,管理不夠科學等等。 使用計算機對長途汽車信息管理,有著傳統(tǒng)的手工管理所沒法比擬的優(yōu)點。例如:查找方便,可靠性高,科學性好。這些優(yōu)點能夠極大地提高長途汽車信息方面的具體需求,利用VC++ 6.0,使用軟件工程開發(fā)的方法,開發(fā)了這套長途汽車聯(lián)網(wǎng)售票系統(tǒng)---后臺服務售票。 2. 需求分析 2.1. 功能分析 長途汽車聯(lián)網(wǎng)售票系統(tǒng)---后臺銷售管理的主要功能: 1. 輸入汽車的基本信息 2. 查找發(fā)車時間、票價、車次等信息 3. 對發(fā)車車次、時間的修改,包括:增加、刪除、修改發(fā)車時間 4. 將信息存盤 5. 輸出基本信息
12、 2.2方案分析 長途汽車聯(lián)網(wǎng)售票系統(tǒng)---后臺銷售管理為售票員提供簡單、方便、快捷 的功能,后臺銷售員可以進行查詢、瀏覽、添加、刪除等操作,使售票員能夠 快速、準確的實現(xiàn)售票服務,極大地為旅客節(jié)約了時間。 延時到達 準時到達 客車路線申請 行駛計劃 開始售票 售票結(jié)束 車票售完 啟 程 批準申請
13、 申請失敗 最后一張票 啟程前30分鐘 異常情況 狀態(tài)圖 關 機 開 機 關 機 開 機 車 票 添加 查 詢 購買 旅客 售票員 管
14、理員 用例圖 3. 概要設計 3.1. 數(shù)據(jù)結(jié)構 數(shù)據(jù)元素 包括后臺管理人員,售票員,操作系統(tǒng),旅客,汽車,車票等 后臺管理人員: 讀入,修改基本信息; 售票員 : 售票過程中的具體的操作; 操作系統(tǒng) : 處理各種票務管理的平臺; 旅客 : 查詢票價,發(fā)車時間等信息; 汽車 : 運送旅客; 車票 : 旅客坐車的憑證 價 格 發(fā)車時間 編 號 系 統(tǒng) 車 票 汽 車 售 票 員
15、 后臺管理員 類 型 E—R 圖 數(shù)據(jù)字典 1.名字 : 車票 別名 : 描述 : 旅客坐車旅行的唯一憑證 定義 : 車票 = 發(fā)車時間 + 汽車編號 + 票價 + 站臺號+ 座位號 位置 : 輸出到打印機 2. 名字 : 客車 別名 : 汽車 描述 : 客車 = 類型 + 編號 位置 : 站臺
16、 3.數(shù)據(jù)流圖 售票員 旅 客 后臺管理員 售 票 系 統(tǒng) 零層數(shù)據(jù)流圖 3.2. 邏輯結(jié)構與物理結(jié)構 邏輯結(jié)構 : 用線性結(jié)構來處理數(shù)據(jù)元素之間的關系, 將元素一項項的寫下去 物理結(jié)構 : 采用順序存儲的方式來儲存所有的數(shù)據(jù) 3.3. 功能模塊劃分 3.3.1.結(jié)構框圖 長途汽車聯(lián)網(wǎng)售票系統(tǒng)---后臺銷售管理: 后臺管理員 售票員 輸入基本信息 添加車次 刪除車次 修改信息 查詢信息 售票服務
17、 圖1 結(jié)構框圖 3.3.2.程序流圖 進 入 主 界 面 操作選擇 輸 入 選 擇 返回主界面 更改車輛 更改票價 更改發(fā)車時間 退出系統(tǒng) 刪除車次 操作選擇 更 改 增加車次 顯示所有信息 輸入基本信息 輸 入 選 擇 開 始 圖 2 流程圖 3.3.3.模塊功能分析及外部設計
18、 功能分析 外部設計 輸入基本信息 :將汽車,車票,車站的全部信息輸入系統(tǒng)并儲存; 顯示所有信息 :在屏幕上打印出輸入的信息; 修改信息 :包括添加,刪除,更改等操作; 3.4.抽象數(shù)據(jù)類定義 ADT Ticket { 數(shù)據(jù)對象 : Price,CarType,CarNum,Time, Destination,StartTime 基本操作 : Init(); Show(); ChangPrice(int p0); ChangCar(char n[],char t[]); Chan
19、gTime(int a,int b,int c); Find(char d1[]); Position(char n1[]); GetCarNum(); GetCarType(); GetDestination(); GetPrice(); GetStartTime(); }ADT Ticket 4. 詳細設計 4.1. 數(shù)據(jù)類型定義 時間(StartTime),目的地(Destination),汽車編號
20、(CarNum),票價(Price),
汽車類型(CarType)
4.2. 主要模塊內(nèi)部設計
4.2.1.輸入信息
4.2.1.1.實現(xiàn)算法
cs.Init();
c.push_back(cs);
ch=getchar();
4.2.1.2.流程圖
開 始
輸入所有內(nèi)容
返回主界面
結(jié) 束
4.2.2. 更改信息
1 .更改票價
實現(xiàn)算法
for(i=0;i
21、i].ChangPrice(p1);
c[i].Show();
f=0;
break;
}
else f=1;
}
流程圖
沒有改信息
輸入編號
輸入更改
結(jié) 束
2. 更改車輛
實現(xiàn)算法
cout<<"輸入汽車編號 : ";cin>>n;
for(i=0;i
22、<"輸入更改車的類型 : ";
cin>>t1;
c[i].ChangCar(n1,t1);
c[i].Show();
f=0;
break;
}
流程圖
結(jié) 束
輸入更改
輸入編號
沒有改信息
3. 更改發(fā)車時間
實現(xiàn)算法
cout<<"輸入汽車編號 : ";cin>>n3;
for(i=0;i 23、
cin>>h>>j>>k;
c[i].ChangTime(h,j,k);
c[i].Show();
f=0;
break;
}
流程圖
結(jié) 束
輸入更改
輸入編號
沒有改信息
4.2.3. 查出信息
實現(xiàn)算法
cout<<"輸入終點站 : ";
cin>>d1;
for(int i=0;i 24、 break;
}
else
f=1;
}
if(f)
cout<<"沒有該路線"< 25、售票員成功進入系統(tǒng),根據(jù)當前情況售票
3. 旅客能夠通過系統(tǒng)查詢自己所需的信息
7. 用戶手冊
進入系統(tǒng),根據(jù)界面的提示進行相應的操作
8. 總結(jié)
由于此次項目開發(fā)時間短,且沒有該行業(yè)開發(fā)背景對開發(fā)環(huán)境不熟,但經(jīng)過
為期數(shù)天的努力工作,終于按時將產(chǎn)品按要求完成,基本實現(xiàn)了預期的目標
9. 參考文獻
10. 張海藩.軟件工程導論(第五版)[M].北京:清華大學出版社,2008
11. 王紅梅,胡明,王濤.數(shù)據(jù)結(jié)構(C++版)[M].北京:清華大學出版社,2005
12. 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006 26、
13. Bain T.SQL Server2000數(shù)據(jù)倉庫[M].北京.電力出版社,2003
14. Google Web APIs Reference[EB/OL].
//Time.h
#include 27、 GetHour();
int GetMinute();
int GetSecond();
};
void time ::SetTime(int x,int y,int z)
{
Hour=x;Minute=y;Second=z;
}
int time ::GetHour()
{
return Hour;
}
int time ::GetMinute()
{
return Minute;
}
int time ::GetSecond()
{
return Second;
}
//car.cpp
#include "Time.h"
#i 28、nclude 29、 //終點站
time StartTime; //發(fā)車時間
public:
Car(char n[]="",char t[]="" ,int p=0,char d[]="",int x=0,int y=0,int z=0) : StartTime (x,y,z)
{
strcpy(CarNum,n);
strcpy(CarType,t);
Price=p;
strcpy(Destination,d);
}
friend ostream & operator << (ostream & s,const Car 30、& C);
void Init();
void Show();
void ChangPrice(int p0);
void ChangCar(char n[],char t[]);
void ChangTime(int a,int b,int c);
bool Find(char d1[]);
bool Position(char n1[]);
char GetCarNum();
char GetCarType();
char GetDestination();
int GetPrice();
time GetStartTime();
31、};
ostream & operator << (ostream & s,const Car & C)
{
s <<"汽車編號 : "<< C.CarNum << " " <<"汽車類型 : "<< C.CarType << " " <<"目的地 : " < 32、urn s;
}
void Car ::Init()
{
cout<<"輸入汽車編號:";
cin>>CarNum;
cout << "輸入汽車類型:";
cin>>CarType;
cout << "輸入目的地:";
cin>>Destination;
cout << "輸入發(fā)車時間:";
cin>>StartTime.Hour>>StartTime.Minute>>StartTime.Second;
cout<< "輸入票價:";
cin>>Price;
}
void Car ::Show()
{
cout<<"汽車編號 : "<< 33、CarNum<<" "<<"汽車類型 : "< 34、rcpy(CarNum,n);
strcpy(CarType,t);
}
void Car ::ChangTime(int a,int b,int c)
{
StartTime.Hour=a;
StartTime.Minute=b;
StartTime.Second=c;
}
bool Car ::Find(char d1[])
{
if(strcmp(Destination,d1)==0)
return 1;
else
return 0;
}
bool Car ::Position(char n1[])
{
if(strcmp( 35、CarNum,n1)==0)
return 1;
else
return 0;
}
char Car ::GetCarNum()
{
return CarNum[7];
}
char Car ::GetCarType()
{
return CarType[3];
}
char Car ::GetDestination()
{
return Destination[10];
}
int Car ::GetPrice()
{
return Price;
}
time Car ::GetStartTime()
{
return Sta 36、rtTime;
}
void MainMenu()
{
cout<<"*************************長途汽車聯(lián)網(wǎng)售票系統(tǒng)************************"< 37、 3. 更改車輛的信息 "< 38、
void SonMenu()
{
cout<<"***********************歡迎進入客車信息更改界面**********************"< 39、發(fā)車時間 "< 40、oice>6||choice<1)
cout<<"您的操作不正確,從新輸入"< 41、ak;
case 3 :
{
int a;
do
{
SonMenu();
cout<<"輸入您的操作(1---4) ( )\b\b";
cin>>a;
if(a>4||a<1)
cout<<"您的操作不正確,請重新輸入操作";
switch(a)
{
case 1 :
{
int p1;
char n[7];
int i;
bool f=1;
cout< 42、<"輸入汽車編碼 : ";
cin>>n;
for(i=0;i 43、==1)
cout<<"沒有該信息"< 44、
cout<<"輸入更改車的編號 : ";
cin>>n1;
cout<<"輸入更改車的類型 : ";
cin>>t1;
c[i].ChangCar(n1,t1);
c[i].Show();
f=0;
break;
}
else f=1;
if(f==1)
cout<<"沒有該信息"< 45、char();
}
break;
case 3 :
{
int i;
char n3[7];
bool f=1;
cout<<"輸入汽車編號 : ";cin>>n3;
for(i=0;i 46、;
c[i].ChangTime(h,j,k);
c[i].Show();
f=0;
break;
}
else
f=1;
}
if(f==1)
cout<<"沒有該信息"< 47、tchar();
}
break;
case 4 :
{
bool f=1;
char d1[10];
cout<<"輸入終點站 : ";
cin>>d1;
for(int i=0;i 48、線"< 49、stination()<
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。