软件工程综合型实验
實(shí)驗(yàn)名稱:軟件工程綜合實(shí)驗(yàn)
實(shí)驗(yàn)類別:設(shè)計(jì)型實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?#xff1a;了解軟件工程開(kāi)發(fā)過(guò)程,學(xué)會(huì)寫(xiě)可行性分析、需求分析(兩個(gè)分析),掌握總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)(兩個(gè)設(shè)計(jì))。
高鐵訂票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
前言
? ?經(jīng)過(guò)30年的改革開(kāi)放,中國(guó)經(jīng)濟(jì)得到快速發(fā)展,技術(shù)得到長(zhǎng)足進(jìn)步。目前我國(guó)高速鐵路的工程的技術(shù)不僅達(dá)到了世界先進(jìn)水平,而且形成了具有自主知識(shí)產(chǎn)權(quán)的高速鐵路成套技術(shù)體系。高鐵現(xiàn)在已經(jīng)滲透到了我們生活旅游的方方面面,給人們的出行帶來(lái)了極大的便利。高鐵訂票系統(tǒng)是通過(guò)網(wǎng)絡(luò),旅客預(yù)訂或者退訂高速鐵路列車(chē)車(chē)票的系統(tǒng),避免排長(zhǎng)隊(duì)購(gòu)票或退票的麻煩。通過(guò)網(wǎng)絡(luò)該系統(tǒng)能夠?yàn)槁每陀脩魝兲峁┮粋€(gè)高鐵車(chē)票預(yù)訂、退訂快捷,便利的渠道,對(duì)促進(jìn)我國(guó)高速鐵路運(yùn)輸業(yè)的發(fā)展具有重要意義。
一、需求分析
1、功能需求
該高鐵訂票系統(tǒng)應(yīng)該具備如下功能:?
(1)前臺(tái)模塊
用戶登錄注冊(cè)模塊:此系統(tǒng)通過(guò)注冊(cè)會(huì)員成為本系統(tǒng)的會(huì)員, 來(lái)獲得用戶名和密碼, 才能進(jìn)入本系統(tǒng)。
要求:1)該模塊需要包含訂票須知模塊,閱讀過(guò)該模塊內(nèi)容才能成為會(huì)員通過(guò)訂票須知, 可以回答用戶一些簡(jiǎn)單的疑惑, 如高鐵上不允許帶的違禁物品, 坐高鐵要注意的事項(xiàng), 多少升高以下的兒童可以免票等相應(yīng)的情況,用戶可以通過(guò)訂票須知知道。 因此, 在訂票之前, 不妨仔細(xì)閱讀一下須知, 詳細(xì)了解樂(lè)坐高鐵的種種事項(xiàng)后, 再開(kāi)始訂票。
車(chē)票車(chē)次查詢模塊:分為對(duì)車(chē)次信息的查詢和客戶對(duì)已訂車(chē)票信息的查詢。
要求:?
1)對(duì)車(chē)次的查詢,可以按照發(fā)車(chē)車(chē)次進(jìn)行查詢;?
2)車(chē)次信息包括:火車(chē)列次、出發(fā)地、目的地、發(fā)車(chē)日期、開(kāi)出時(shí)刻、票價(jià)。?
3)座位類型設(shè)定。?
4)車(chē)次信息只允許用戶查詢,不能修改。?
訂單管理模塊:在車(chē)票車(chē)次查詢模塊,根據(jù)用戶自己的需求找到滿意的車(chē)次,再輸入個(gè)人信息后,進(jìn)入訂單管理模塊,直接通過(guò)網(wǎng)上確定已預(yù)訂選中的車(chē)票,同時(shí)由于某些原因, 或者突發(fā)情況, 無(wú)法趕到預(yù)定車(chē)票的時(shí)間或者想換車(chē)次, 客戶通過(guò)退回車(chē)票, 可以找到預(yù)定的車(chē)票, 可以通過(guò)取消預(yù)定來(lái)退去已購(gòu)車(chē)票。
要求:?
1)該模塊需要包含車(chē)票預(yù)訂,車(chē)票退訂,車(chē)票改簽,訂單記錄模塊。
2)售票記錄應(yīng)包括:會(huì)員名、車(chē)號(hào)、發(fā)車(chē)日期、訂購(gòu)票數(shù)、總價(jià)。?
意見(jiàn)反饋模塊:
用戶可以通過(guò)該模塊發(fā)表心中的疑惑, 對(duì)售票人員的服務(wù)滿意度, 對(duì)高鐵上服務(wù)人員的看法等問(wèn)題都可以通過(guò)該模塊來(lái)留言, 讓管理人員及時(shí)了解情況, 以便迅速做出調(diào)整, 做到每一個(gè)乘客滿意放心。
(2)后臺(tái)模塊
管理員登錄模塊:管理員需要輸入密碼正確才能進(jìn)入本系統(tǒng)。
要求:?該模塊需要包含信息修改與密碼修改模塊。
車(chē)票管理模塊:提供車(chē)次信息、票價(jià)修改、站點(diǎn)修改、增加車(chē)次,減少車(chē)次、車(chē)次的臨時(shí)調(diào)度和臨時(shí)路線更改等操作。?
車(chē)次管理模塊:將要統(tǒng)計(jì)的車(chē)次號(hào)輸進(jìn)到統(tǒng)計(jì)界面,根據(jù)車(chē)次的售票情況作出銷售額、客流情況統(tǒng)計(jì)表。
公告發(fā)布模塊:通過(guò)信息公告, 可以讓用戶知道高鐵是否運(yùn)行, 有時(shí)可能由于天氣原因等情況, 火車(chē)站會(huì)采取停止高鐵的運(yùn)行, 這些信息可以通過(guò)信息公告來(lái)知道,以便乘客能夠及時(shí)知曉, 對(duì)訂票有很大的幫助。
用戶管理模塊:管理員可以查看所有會(huì)員的信息,還可以刪除用戶。
要求:此模塊包含從前臺(tái)的意見(jiàn)反饋模塊里提供用戶反饋的內(nèi)容供管理員閱讀以及回復(fù)。
2、性能需求
1) 系統(tǒng)要有能讓人快速適應(yīng)的人機(jī)界面。
2)要有簡(jiǎn)易方便的增加、修改、車(chē)次車(chē)票信息的功能。
3) 要有快速準(zhǔn)確的車(chē)次、車(chē)票信息查詢,并且要支持多條件的查詢。
4) 要有快速定退票功能。
5) 修改數(shù)據(jù)要方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性要好。
3、數(shù)據(jù)流圖
基礎(chǔ)數(shù)據(jù)流圖
功能級(jí)數(shù)據(jù)流圖
第二層數(shù)據(jù)流圖
二、系統(tǒng)功能模塊的設(shè)計(jì)
系統(tǒng)模塊結(jié)構(gòu)圖如下:
?用戶注冊(cè)或登錄進(jìn)入高鐵訂票系統(tǒng)主頁(yè)面(前臺(tái)),能夠?qū)崟r(shí)地了解高速鐵路票務(wù)情況的相關(guān)信息。通過(guò)查詢模塊功能,選擇時(shí)間和乘車(chē)區(qū)間,能夠找出自己想乘坐的車(chē)次,然后進(jìn)入訂票管理模塊進(jìn)行車(chē)票的預(yù)訂,如果想要退票或者轉(zhuǎn)班也可進(jìn)入訂單管理模塊進(jìn)行這些操作,同時(shí)這些操作都會(huì)在訂單記錄模塊有記錄。
同時(shí),管理員用密碼以管理員的身份進(jìn)入系統(tǒng)管理模塊(后臺(tái)),能對(duì)系統(tǒng)進(jìn)行各種查詢及維護(hù)等操作,包括車(chē)次信息的更新,車(chē)票信息的更新以及如果出現(xiàn)突發(fā)事件能夠在系統(tǒng)發(fā)布公告以提醒來(lái)訂票的用戶。
三、軟件測(cè)試
這里選擇用戶注冊(cè)登錄模塊進(jìn)行白盒測(cè)試。
代碼如下:
void dl(){int i;system("pause");system("cls");printf("\n\n\t\t\t歡迎使用高鐵訂票登錄系統(tǒng)\n\n");for(i=1;i<=3;i++) //三次登錄驗(yàn)證{printf("\t\t請(qǐng)輸入用戶名:");scanf("%s",on_name);printf("\n\t\t請(qǐng)輸入密碼:");scanf("%s",on_pwd);if(strcmp(reg_name,on_name)==0&&strcmp(reg_pwd,on_pwd)==0){printf("\n\n\t\t登錄成功,歡迎使用高鐵訂票系統(tǒng)\n\n");break;}else{printf("\n\n\t\t登錄失敗,請(qǐng)重新登錄,您還有%d次機(jī)會(huì)\n\n",3-i);}}?}程序流程圖如下:
白盒測(cè)試(假設(shè)用戶名為she,密碼為123456):
邏輯覆蓋:
1.語(yǔ)句覆蓋
(1)輸入: 輸入用戶名she,密碼123456
測(cè)試路徑:sabcdhi
(2)輸入: 輸入用戶名syy,密碼123456,連續(xù)三次
測(cè)試路徑:sabcdefbcdefbcgi
2.判定/條件覆蓋
| 輸入內(nèi)容 | 輸入次數(shù) | 備注 | 測(cè)試路徑 |
| 輸入用戶名she 密碼123456 | 1 | 用戶名與密碼都正確 | sabcdhi |
| 輸入用戶名she 密碼1234567 | 3 | 用戶名正確, 密碼不正確 | sabcdefbcdefbcgi |
| 輸入用戶名syy 密碼123456 | 3 | 用戶名不正確,密碼正確 | sabcdefbcdefbcgi |
| 輸入用戶名syy 密碼1234567 | 3 | 用戶名與密碼都不正確 | sabcdefbcdefbcgi |
控制結(jié)構(gòu)測(cè)試:
循環(huán)測(cè)試
| 輸入內(nèi)容 | 輸入次數(shù)(循環(huán)次數(shù)為其減1) | 備注 | 測(cè)試路徑 |
| 輸入用戶名she 密碼123456 | 1 | 用戶名與密碼都正確 | sabcdhi |
| 先輸入用戶名she 密碼1234567,后輸入用戶名she 密碼123456 | 2 | 開(kāi)始用戶名正確, 密碼不正確; 之后,用戶名與密碼都正確 | sabcdefbcdbcdhi |
| 先輸入兩次輸入用戶名syy 密碼123456,在輸入輸入用戶名she 密碼123456 | 3 | 開(kāi)始用戶名不正確,密碼正確 之后,用戶名與密碼都正確 | sabcdefbcdefbcdhi |
| 輸入用戶名syy 密碼123456,連續(xù)3次 | 4 | 用戶名不正確,密碼正確 | sabcdefbcdefbcdefbcgi |
總結(jié)
- 上一篇: 轻量级DITA - 让公司全员贡献结构化
- 下一篇: POI的不同版本的兼容问题