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