版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、長(zhǎng) 沙 學(xué) 院課程設(shè)計(jì)說明書題目系(部)專業(yè)(班級(jí))姓名學(xué)號(hào)指導(dǎo)教師起止日期課程設(shè)計(jì)任務(wù)書課程名稱:軟件工程基礎(chǔ)實(shí)訓(xùn)設(shè)計(jì)題目:城市公交查詢軟件已知技術(shù)參數(shù)和設(shè)計(jì)要求:需求說明及要求1.主要功能模塊:(1)用戶管理用戶管理模塊為用戶提供用戶信息管理的功能,包括用戶注冊(cè)、用戶登錄、用戶信息修改、用戶密碼修改、用戶注銷等功能。用戶注冊(cè):用戶可以利用此功能完成注冊(cè),用戶在界面輸入注冊(cè)信息,回車后,軟件將注冊(cè)信息保存到用戶信息數(shù)據(jù)文件中。用戶登錄:用戶可以利用此功能完成登錄,用戶在界面輸入登錄信息,回車后,軟件驗(yàn)證登錄信息,登錄成功后,軟件進(jìn)入主功能選擇界面。用戶信息修改:用戶可以利用此功能完成用戶信息
2、修改。用戶密碼修改:用戶可以利用此功能完成密碼修改。用戶注銷:用戶可以利用此功能完成用戶信息注銷,某用戶注銷后,便不能再次登錄。(2)線路管理線路管理模塊為用戶提供公交線路數(shù)據(jù)的管理和維護(hù),包括線路添加、線路修改、線路刪除等功能。線路添加:用戶可以利用此功能增加一條線路。線路修改:用戶可以利用此功能修改一條線路。線路刪除:用戶可以利用此功能刪除一條線路。(3)站點(diǎn)管理站點(diǎn)管理模塊為用戶提供公交站點(diǎn)數(shù)據(jù)的管理和維護(hù),包括站點(diǎn)添加、站點(diǎn)修改、站點(diǎn)刪除等功能。站點(diǎn)添加:用戶可以利用此功能增加一個(gè)站點(diǎn)。站點(diǎn)修改:用戶可以利用此功能修改一個(gè)站點(diǎn)。站點(diǎn)刪除:用戶可以利用此功能刪除一個(gè)站點(diǎn)。(4)公交查詢公
3、交查詢模塊為用戶提供公交信息查詢的功能,包括站點(diǎn)查詢、線路查詢、站站查詢、最短距離查詢、最少換乘查詢等功能。站點(diǎn)查詢:用戶可以利用此功能查看某個(gè)站點(diǎn)所停靠的公交線路。線路查詢:用戶可以利用此功能查看某條線路所路經(jīng)的公交站點(diǎn)。站站查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間的所有公交乘車方案。最短距離查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間最短距離的公交乘車方案。最少換乘查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間最少換乘的公交乘車方案。 3.要求:界面友好,易于操作;數(shù)據(jù)結(jié)構(gòu)運(yùn)用靈活,編碼規(guī)范,設(shè)計(jì)合理。各階段具體要求:1、需求分析階段(1)寫出需求分析(做什么) (2)要求問題分析
4、和功能定義準(zhǔn)確2、系統(tǒng)設(shè)計(jì)階段(1)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)(3)完成數(shù)據(jù)結(jié)構(gòu)中各個(gè)函數(shù)的定義(4)用戶界面的設(shè)計(jì)(5)要求數(shù)據(jù)結(jié)構(gòu)定義合理,類層次結(jié)構(gòu)清晰3、編碼實(shí)現(xiàn)階段(1)完成代碼編寫 (2)要求代碼編寫規(guī)范4、系統(tǒng)測(cè)試階段(1)完成功能調(diào)試(2)要求完成必要的測(cè)試工作5、交付實(shí)施階段(1)提交可正常執(zhí)行的系統(tǒng)(2)提交系統(tǒng)需求說明書、設(shè)計(jì)說明書、程序代碼(3)撰寫實(shí)訓(xùn)報(bào)告書(4)要求規(guī)范地書寫文檔設(shè)計(jì)工作量:(1)軟件設(shè)計(jì):完成問題陳述中所提到的所有需求功能。(2)論文:要求撰寫不少于3000個(gè)文字的文檔,詳細(xì)說明各階段具體要求。工作計(jì)劃:安排兩周時(shí)間進(jìn)行課程設(shè)計(jì),軟件開發(fā)步驟如下
5、,2天完成13,3-5天完成46,論文同步進(jìn)行;1)選定題目2)需求分析3)系統(tǒng)設(shè)計(jì)4)編碼實(shí)現(xiàn)5)系統(tǒng)測(cè)試6)交付實(shí)施注意事項(xiàng)n 提交文檔Ø 長(zhǎng)沙學(xué)院實(shí)訓(xùn)任務(wù)書(每學(xué)生1份)Ø 長(zhǎng)沙學(xué)院實(shí)訓(xùn)說明書(每學(xué)生1份)Ø 長(zhǎng)沙學(xué)院實(shí)訓(xùn)鑒定表(每學(xué)生1份)指導(dǎo)教師簽名: 日期: 教研室主任簽名: 日期:系主任簽名: 日期:長(zhǎng)沙學(xué)院課程設(shè)計(jì)鑒定表姓名學(xué)號(hào)班級(jí)設(shè)計(jì)題目城市公交查詢軟件指導(dǎo)教師指導(dǎo)教師意見:評(píng)定成績(jī): 教師簽名: 日期: 答辯小組意見:評(píng)定成績(jī):答辯小組長(zhǎng)簽名:日期:教研室意見:最終評(píng)定等級(jí):教研室主任簽名:日期:說明課程設(shè)計(jì)成績(jī)分“優(yōu)秀”、“良好”、“中等”、
6、“及格”、“不及格”五等。摘要c語(yǔ)言編寫的一個(gè)公交查詢軟件,分為管理用戶和普通用戶,管理用戶可以實(shí)現(xiàn)用戶管理、站點(diǎn)管理、線路管理幾個(gè)模塊,而普通用戶可以實(shí)現(xiàn)用戶管理、公交查詢兩個(gè)模塊。用結(jié)構(gòu)體來存儲(chǔ)數(shù)據(jù),并采用鄰接矩陣構(gòu)造一個(gè)有權(quán)無向網(wǎng),使迪杰斯特拉算法對(duì)圖進(jìn)行查詢。關(guān)鍵詞:圖,最短路徑,公交查詢目錄一、引言11.1 編寫目的11.2 參考資料1二、需求規(guī)約22.1 功能需求22.2 界面需求112.2 數(shù)據(jù)需求11三、概要設(shè)計(jì)113.1系統(tǒng)結(jié)構(gòu)113.2 界面設(shè)計(jì)123.3數(shù)據(jù)設(shè)計(jì)14四、詳細(xì)設(shè)計(jì)154.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明154.2 管理員用戶主界面用例設(shè)計(jì)說明154.3普通用戶主界面用例
7、設(shè)計(jì)說明16五、測(cè)試用例設(shè)計(jì)16六、總結(jié)17附錄17附錄1 程序運(yùn)行結(jié)果17附錄2 程序源代碼28一、引言1.1 編寫目的本文檔是“城市公交查詢軟件”的軟件設(shè)計(jì)說明書,編寫目的是:明確軟件需求、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和功能測(cè)試用例,為軟件后續(xù)開發(fā)和維護(hù)提供指導(dǎo)。本文檔的讀者對(duì)象是需求分析人員、系統(tǒng)設(shè)計(jì)人員、系統(tǒng)開發(fā)人員、系統(tǒng)測(cè)試人員。1.2 參考資料列出有關(guān)資料的名稱、作者、文件編號(hào)或版本等。1 嚴(yán)蔚敏,吳偉明.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版). 北京:清華大學(xué)出版社,2007(2015.5重?。? 嚴(yán)蔚敏,吳偉明.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版). 北京:清華大學(xué)出版社,1996二、需求規(guī)約2.1 功能需求功能點(diǎn)編號(hào)1
8、功能點(diǎn)名稱管理員用戶注冊(cè)角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成注冊(cè)操作。事件流程1、 管理員用戶輸入用戶名并回車2、 軟件判斷用戶名是否重復(fù)3、 輸入兩次密碼,軟件檢驗(yàn)兩次輸入的密碼是否相同4、 若正確,則跳到管理員功能處理界面 前置條件無后置條件管理員用戶成功進(jìn)入軟件管理員主功能處理界面。輸入數(shù)據(jù)用戶名和密碼輸出數(shù)據(jù)管理員主功能處理界面?zhèn)渥o功能點(diǎn)編號(hào)2功能點(diǎn)名稱普通用戶注冊(cè)角色普通用戶功能說明普通用戶能通過本功能點(diǎn)完成注冊(cè)操作。事件流程1、 普通用戶輸入用戶名并回車2、 軟件判斷用戶名是否重復(fù)3、 輸入兩次密碼,軟件檢驗(yàn)兩次輸入的密碼是否相同4、 若正確,則跳到普通用戶主功能處理界
9、面 前置條件無后置條件普通用戶成功進(jìn)入軟件管理員功能處理界面。輸入數(shù)據(jù)用戶名和密碼輸出數(shù)據(jù)普通用戶主功能處理界面?zhèn)渥o功能點(diǎn)編號(hào)3功能點(diǎn)名稱登陸角色管理員或者普通用戶功能說明管理員用戶或者普通用戶能通過本功能點(diǎn)完成登陸操作。事件流程1、 輸入用戶名和密碼,并回車。2、 軟件校驗(yàn)用戶名和密碼格式是否合法。3、 軟件校驗(yàn)用戶名和密碼是否正確。4、 若正確,則跳轉(zhuǎn)到主功能處理界面;否則,提示“用戶或密碼輸入錯(cuò)誤,請(qǐng)重新輸入!”。前置條件管理員或普通用戶成功注冊(cè)。后置條件管理員用戶或普通用戶成功進(jìn)入軟件主功能處理界面。輸入數(shù)據(jù)用戶名和密碼輸出數(shù)據(jù)軟件主功能處理界面?zhèn)渥o功能點(diǎn)編號(hào)4功能點(diǎn)名稱修改信息角
10、色管理員或者普通用戶功能說明管理員用戶或者普通用戶能通過本功能點(diǎn)完成修改信息操作。事件流程1、 管理員或者普通用戶輸入曾經(jīng)的用戶名2、 如果曾經(jīng)的用戶名和當(dāng)前用戶相同,則提示輸入新的用戶名3、 判斷新用戶名是否和已經(jīng)注冊(cè)的用戶名沖突4、若沒有沖突,則提示修改成功,返回用戶管理界面;若沖突,直接返回用戶管理界面前置條件管理員或普通用戶成功登陸,并進(jìn)入用戶管理界面后置條件登陸、注冊(cè)界面輸入數(shù)據(jù)老用戶名和新用戶名輸出數(shù)據(jù)登陸、注冊(cè)界面?zhèn)渥o功能點(diǎn)編號(hào)5功能點(diǎn)名稱修改密碼角色管理員或者普通用戶功能說明管理員用戶或者普通用戶能通過本功能點(diǎn)完成密碼信息操作。事件流程1、 管理員或者普通用戶輸入原來的密碼2
11、、 如果密碼正確,則提示輸入新的密碼;若不正確,返回用戶管理界面3、 提示修改成功,返回用戶管理界面前置條件管理員或普通用戶成功登陸,并進(jìn)入用戶管理界面后置條件登陸、注冊(cè)界面輸入數(shù)據(jù)舊密碼和新密碼輸出數(shù)據(jù)用戶管理界面?zhèn)渥o功能點(diǎn)編號(hào)6功能點(diǎn)名稱注銷用戶角色管理員或者普通用戶功能說明管理員用戶或者普通用戶能通過本功能點(diǎn)完成注銷操作。事件流程1、 輸入select,確定是否注銷2、 如果確定注銷,則提示注銷成功,返回登陸、注冊(cè)界面;若不注銷返回用戶管理界面前置條件管理員或普通用戶成功登陸,并進(jìn)入用戶管理界面后置條件登陸、注冊(cè)界面輸入數(shù)據(jù)Select輸出數(shù)據(jù)登陸、注冊(cè)界面?zhèn)渥o功能點(diǎn)編號(hào)7功能點(diǎn)名稱
12、線路添加角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成線路添加操作。事件流程1、 輸入添加的線路n,添加的多少個(gè)站點(diǎn)m,輸入添加的站點(diǎn)編號(hào)2、 將所添加的線路寫進(jìn)文件3、 輸出所有線路前置條件管理員成功登陸,并進(jìn)入線路管理界面后置條件線路管理界面輸入數(shù)據(jù)添加的線路n,站點(diǎn)數(shù)m,站點(diǎn)編號(hào)輸出數(shù)據(jù)所有線路備注無功能點(diǎn)編號(hào)8功能點(diǎn)名稱線路修改角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成線路修改操作。事件流程1、 輸入修改的類型2、 把修改的路線全部寫進(jìn)文件3、 輸出所有線路前置條件管理員成功登陸,并進(jìn)入線路管理界面中的線路修改界面后置條件線路修改界面輸入數(shù)據(jù)線路修改的類型輸出數(shù)據(jù)所有線路備注無功能
13、點(diǎn)編號(hào)9功能點(diǎn)名稱線路刪除角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成線路刪除操作。事件流程1、 輸出所有的線路2、 輸入要?jiǎng)h除的線路編號(hào)3、 輸出刪除后的所有線路前置條件管理員成功登陸,并進(jìn)入線路管理界面后置條件線路管理界面輸入數(shù)據(jù)刪除線路編號(hào)輸出數(shù)據(jù)所有線路備注無功能點(diǎn)編號(hào)10功能點(diǎn)名稱站點(diǎn)添加角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成站點(diǎn)添加操作。事件流程1、 輸出所有的原有的所有站點(diǎn)2、 輸入所要增加的站點(diǎn)的名稱和與相鄰站點(diǎn)的距離3、 寫入文件,并輸出添加后的所有站點(diǎn)前置條件管理員成功登陸,并進(jìn)入站點(diǎn)管理界面后置條件站點(diǎn)管理界面輸入數(shù)據(jù)站點(diǎn)名稱和與相鄰站點(diǎn)的距離輸出數(shù)據(jù)添加前后的
14、所有站點(diǎn)備注無功能點(diǎn)編號(hào)11功能點(diǎn)名稱站點(diǎn)修改角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成站點(diǎn)修改操作。事件流程1、 輸出所有的原有的所有站點(diǎn)2、 輸入所要修改站點(diǎn)的編號(hào)和新站點(diǎn)的名稱3、 寫入文件,并輸出修改后的所有站點(diǎn)前置條件管理員成功登陸,并進(jìn)入站點(diǎn)管理界面后置條件站點(diǎn)管理界面輸入數(shù)據(jù)修改的站點(diǎn)的編號(hào)和新站點(diǎn)名稱輸出數(shù)據(jù)修改前后的所有站點(diǎn)備注無功能點(diǎn)編號(hào)12功能點(diǎn)名稱站點(diǎn)刪除角色管理員功能說明管理員用戶能通過本功能點(diǎn)完成站點(diǎn)刪除操作。事件流程1、 輸出所有的原有的所有站點(diǎn)2、 輸入所要?jiǎng)h除站點(diǎn)的編號(hào)3、 寫入文件,并輸出刪除后的所有站點(diǎn)前置條件管理員成功登陸,并進(jìn)入站點(diǎn)管理界面后置條件
15、站點(diǎn)管理界面輸入數(shù)據(jù)刪除站點(diǎn)的編號(hào)輸出數(shù)據(jù)刪除前后的所有站點(diǎn)備注無功能點(diǎn)編號(hào)13功能點(diǎn)名稱站點(diǎn)查詢角色普通用戶功能說明普通用戶能通過本功能點(diǎn)完成站點(diǎn)操作。事件流程1、 輸入所在站點(diǎn)的編號(hào)2、 輸出經(jīng)過該站點(diǎn)所有線路的名稱和所經(jīng)過的站點(diǎn)3、 返回公交查詢界面前置條件普通用戶成功登陸,并進(jìn)入公交查詢界面后置條件公交查詢界面輸入數(shù)據(jù)所在站點(diǎn)的編號(hào)輸出數(shù)據(jù)線路名稱和經(jīng)過的站點(diǎn)備注無功能點(diǎn)編號(hào)13功能點(diǎn)名稱線線查詢角色普通用戶功能說明普通用戶能通過本功能點(diǎn)完成線線查詢操作。事件流程1、 輸入要查詢的公交路線的編號(hào)2、 輸出該線路所經(jīng)過的所有站點(diǎn)的編號(hào)3、 查詢成功,返回公交查詢界面前置條件管理員成功登陸
16、,并進(jìn)入公交查詢界面后置條件公交查詢界面輸入數(shù)據(jù)查詢的線路的編號(hào)輸出數(shù)據(jù)該線路所經(jīng)過的站點(diǎn)備注無功能點(diǎn)編號(hào)14功能點(diǎn)名稱站站查詢角色普通用戶功能說明管理員用戶能通過本功能點(diǎn)完成站站查詢操作。事件流程1、 輸入起點(diǎn)和終點(diǎn)的站點(diǎn)編號(hào)2、 輸出所有的乘車方案3、 返回公交查詢界面前置條件普通用戶成功登陸,并進(jìn)入公交查詢界面后置條件公交查詢界面輸入數(shù)據(jù)起點(diǎn)和終點(diǎn)的編號(hào)輸出數(shù)據(jù)所有的乘車方案?jìng)渥⒁鬀]有實(shí)現(xiàn)功能點(diǎn)編號(hào)14功能點(diǎn)名稱最短距離查詢角色普通用戶功能說明普通用戶能通過本功能點(diǎn)完成最短距離查詢操作。事件流程1、 起點(diǎn)和終點(diǎn)的編號(hào)2、 用迪杰斯特拉算法求出最短路徑3、 輸出最短路徑,返回公交查詢界面
17、前置條件普通用戶成功登陸,并進(jìn)入公交查詢界面后置條件公交查詢界面輸入數(shù)據(jù)起點(diǎn)和終點(diǎn)站點(diǎn)的編號(hào)輸出數(shù)據(jù)最短路徑備注沒有實(shí)現(xiàn)最短路徑乘車方案功能點(diǎn)編號(hào)15功能點(diǎn)名稱最少換乘查詢角色普通用戶功能說明普通用戶能通過本功能點(diǎn)完成最少換乘操作。事件流程1、 輸入起點(diǎn)和終點(diǎn)站點(diǎn)的編號(hào)2、 輸出最少換乘乘車方案3、 返回公交查詢界面前置條件普通用戶成功登陸,并進(jìn)入公交查詢界面后置條件公交查詢界面輸入數(shù)據(jù)起點(diǎn)和終點(diǎn)站點(diǎn)的編號(hào)輸出數(shù)據(jù)最少換乘方案?jìng)渥]有實(shí)現(xiàn)最少換乘查詢2.2 界面需求能夠用鍵盤輸入,進(jìn)行最簡(jiǎn)單的人機(jī)交互。2.2 數(shù)據(jù)需求表2.1 管理員用戶實(shí)體屬性名稱類型 長(zhǎng)度是否為空唯一標(biāo)識(shí)說明姓名字符串5否
18、是用戶名表2.2 普通用戶實(shí)體屬性名稱類型 長(zhǎng)度是否為空唯一標(biāo)識(shí)說明姓名字符串5否是用戶名三、概要設(shè)計(jì)這里陳述總體設(shè)計(jì)思路。說明系統(tǒng)需求中的每個(gè)功能實(shí)現(xiàn)思路。3.1系統(tǒng)結(jié)構(gòu)初始界面main_menu()管理員界面menu()普通用戶界面menu()用戶管理模塊User_Mangement()站點(diǎn)管理模塊Site_Mangement()線路管理模塊Line_Mangement()用戶管理模塊User_Mangement()公交查詢模塊bus_query() 圖3.1 程序結(jié)圖功能與程序模塊的關(guān)系說明用戶管理模塊對(duì)用戶進(jìn)行信息修改、密碼修改、用戶注銷站點(diǎn)管理模塊對(duì)站點(diǎn)進(jìn)行添加、修改、刪除線路管理模
19、塊對(duì)線路進(jìn)行添加、修改、刪除公交查詢模塊進(jìn)行站點(diǎn)查詢、線路查詢、站站查詢、最短距離查詢、最少換乘查詢3.2 界面設(shè)計(jì)說明每個(gè)界面的布局(要求畫布局圖,如圖3.3所示),若果采用圖形界面,則要說明每個(gè)界面的控件(列表說明,如表3.1所示)。簡(jiǎn)要說明交互過程。- 開福區(qū)公交查詢系統(tǒng) - 1.注冊(cè) - 2.登陸 - 3.退出系統(tǒng) - 請(qǐng)輸入你所要的服務(wù)! 圖3.2用戶登錄對(duì)話框-公交查詢系統(tǒng)主界面-1.用戶管理-2.站點(diǎn)管理-3.線路管理-4.返回-請(qǐng)輸入您要的功能:圖3.3管理員用戶對(duì)話框-公交查詢系統(tǒng)主界面-1.用戶管理-2.公交查詢-3.返回-請(qǐng)輸入您要的功能:圖3.4普通用戶對(duì)話框-用戶管理
20、界面-1.信息修改-2.密碼修改-3.用戶注銷-4.返回-請(qǐng)輸入您要的功能:圖3.5用戶管理對(duì)話框-線路管理界面-1.線路添加-2.線路修改-3.線路刪除-4.返回-請(qǐng)輸入您要的功能:圖3.6線路管理對(duì)話框-站點(diǎn)管理界面-1.站點(diǎn)添加-2.站點(diǎn)修改-3.站點(diǎn)刪除-4.返回-請(qǐng)輸入您要的功能:圖3.7站點(diǎn)管理對(duì)話框-公交查詢界面-1.站點(diǎn)查詢-2.線路查詢-3.站站查詢-4.最短距離查詢-5.最少換乘查詢-6.返回-請(qǐng)輸入您要的功能:圖3.8公交查詢對(duì)話框3.3數(shù)據(jù)設(shè)計(jì)說明采用那些數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)的存儲(chǔ)方式??闪斜磔敵觯绫?.2所示。表3.2 用戶信息數(shù)據(jù)記錄數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長(zhǎng)度是否為空唯一標(biāo)
21、識(shí)說明useridchar4否是loginNamechar20否否用戶登錄名loginPassWdInt6否否用戶登錄密碼主要結(jié)構(gòu)體: typedef struct user char name5;int password;int power;struct user *next;user;user *active_user;struct busGraph char stationName25;int theStationToOthersPathMAX_STATION;int busLinesMAX_LINE;int linesCount;int exist;struct busLinesInf
22、ormationint saveStationInLineMAX_STATION;int stationCount;bool vistMax_Vertex_Num;typedef char Vertxtype25;typedef int VerType;typedef struct ArcCell VerType adj;/距離ArcCell, AdjMatrixMax_Vertex_NumMax_Vertex_Num;typedef struct Vertxtype vexsMax_Vertex_Num;AdjMatrix arcs;int vexnum;int arcnum;MGraph;
23、四、詳細(xì)設(shè)計(jì)要求逐個(gè)地給出需求規(guī)格的每個(gè)用例的設(shè)計(jì)考慮。要求給出所有用例的實(shí)現(xiàn)方法。4.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明給出每個(gè)數(shù)據(jù)結(jié)構(gòu)的C語(yǔ)言定義。4.2 管理員用戶主界面用例設(shè)計(jì)說明表4.1 主處理函數(shù)函數(shù)名menu()源文件主程序.cpp參數(shù)void返回值int類型,0表示成功,-1表示失敗功能描述實(shí)現(xiàn)主功能界面的繪制和菜單處理設(shè)計(jì)方案1、利用while循環(huán),在界面上繪制主功能選擇菜單項(xiàng),且對(duì)每個(gè)選項(xiàng)進(jìn)行編號(hào)。2、利用switch結(jié)構(gòu),根據(jù)用戶輸入的功能選項(xiàng),調(diào)用相應(yīng)模塊的業(yè)務(wù)處理主函數(shù),進(jìn)入不同的業(yè)務(wù)模塊進(jìn)行處理。4.3普通用戶主界面用例設(shè)計(jì)說明表4.2 普通用戶主界面函數(shù)函數(shù)名menu()源文件
24、主程序.cpp參數(shù)void返回值int類型,0表示成功,-1表示失敗功能描述實(shí)現(xiàn)主功能界面的繪制和菜單處理設(shè)計(jì)方案1、利用while循環(huán),在界面上繪制主功能選擇菜單項(xiàng),且對(duì)每個(gè)選項(xiàng)進(jìn)行編號(hào)。2、利用switch結(jié)構(gòu),根據(jù)用戶輸入的功能選項(xiàng),調(diào)用相應(yīng)模塊的業(yè)務(wù)處理主函數(shù),進(jìn)入不同的業(yè)務(wù)模塊進(jìn)行處理。五、測(cè)試用例設(shè)計(jì)表6.1 登錄-注冊(cè)測(cè)試用例功能用例編號(hào)操作步驟(輸入條件)測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)際結(jié)果/判定登錄yl-001輸入用戶名和密碼admin,123456登錄成功通過yl-002admin,1234567登錄失敗通過yl-003admin1,123456登錄失敗通過yl-004admin,空登
25、錄失敗通過yl-005空,123456登錄失敗通過yl-006admin,一個(gè)空格登錄失敗通過yl-007一個(gè)空格,123456登錄失敗通過yl-008admin,密碼不為數(shù)字登錄失敗通過yl-009用戶名超過5,123456登錄失敗通過注冊(cè)yl-010用戶名,密碼,確認(rèn)密碼 Tony,123456創(chuàng)建成功通過六、總結(jié)城市公交系統(tǒng)的主要的難點(diǎn)在于線路管理模塊的站點(diǎn)修改以及查詢模塊中的站站查詢、最短距離查詢、最少換乘查詢,其中站站查詢、最短距離查詢、最少換乘查詢這幾個(gè)功能也可以說成一個(gè)功能,可以通過枚舉出兩站點(diǎn)之間的所有路徑,在對(duì)其距離和換乘進(jìn)行排序,就可以得到,但很難實(shí)現(xiàn)。整個(gè)公交網(wǎng)絡(luò)采用鄰接
26、矩陣進(jìn)行存儲(chǔ),運(yùn)用了迪杰斯特拉算法;對(duì)于用戶用鏈表進(jìn)行數(shù)據(jù)存儲(chǔ),要注意的是:在對(duì)用戶的信息進(jìn)行修改的時(shí)候要注意指針的使用。本次設(shè)計(jì)不足的是:在進(jìn)行站點(diǎn)刪除是沒有考慮到刪除該站點(diǎn)對(duì)于其他站點(diǎn)的影響;在進(jìn)行線路添加的時(shí)候沒有判斷添加的站點(diǎn)之間是否是連通;在查詢模塊中,站站查詢和最少換乘查詢兩個(gè)功能沒有實(shí)現(xiàn),而最短距離查詢中,只求出起點(diǎn)和終點(diǎn)之間的最短路徑,沒有轉(zhuǎn)換成乘車方案。附錄附錄1 程序運(yùn)行結(jié)果 圖1.主界面圖2.用戶注冊(cè)模塊圖3.管理員用戶主界面圖4.站點(diǎn)管理主界面圖5.站點(diǎn)添加圖6.站點(diǎn)修改圖7.站點(diǎn)刪除圖8.線路添加圖9.線路修改中的站點(diǎn)添加圖10.線路修改中的站點(diǎn)刪除圖11.線路修改中
27、的線路名稱修改圖12.線路刪除圖13.公交查詢之站點(diǎn)查詢圖14,公交查詢之線路查詢圖15.公交查詢之最短距離查詢圖16.用戶管理之信息修改圖17.用戶管理之密碼修改圖18.用戶管理之用戶注銷附錄2 程序源代碼1. 后臺(tái)站點(diǎn)文件#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;#define MAX_USER 100#define INIT_STATION 30#define MAX_STATION 50#define MAX_LINE 10/#define INT_MA
28、X 0x3f3f3f3f struct busGraph char stationName25; int theStationToOthersPathMAX_STATION; int busLinesMAX_LINE; int linesCount; int exist; int main() struct busGraph BGMAX_STATION; /* 0 汽車北站 1 開福區(qū)政府 2 伍家?guī)X北 3馬場(chǎng) 4 八家大屋 5 洪山橋 6 長(zhǎng)沙大學(xué) 7 月湖公園 8 世界之窗 9 汽車東站 10華夏 11九尾沖 12 國(guó)防科大 13喻家沖 14 三一大道口 15德雅路口 16長(zhǎng)沙晚報(bào) 17
29、南湖大市場(chǎng) 18 車站北路口 19 蓉園小區(qū) 20 五里牌 21火車站 22 袁家?guī)X 23 省軍區(qū) 24 中山亭 25 湘雅醫(yī)院 26省博物館 27長(zhǎng)沙市一中 28烈士公園 29 年嘉湖 */ for(int i = 0 ; i < MAX_STATION ;i+) BGi.exist = 0; for(int j = 0 ; j < MAX_STATION ;j+) BGi .theStationToOthersPathj = INT_MAX; for(int i = 0 ; i < MAX_STATION ;i+) BGi.linesCount = 0; for(int
30、j = 0 ; j < MAX_LINE ; j +) BGi .busLinesj = 0; / BGi .busLinesj = 0; for(int i = 0 ; i < 30 ; i+) BGi.exist = 1; strcpy_s( BG0.stationName ,10,"汽車北站 "); strcpy_s( BG1.stationName ,11,"開福區(qū)政府"); strcpy_s( BG2.stationName ,9,"伍家?guī)X北"); strcpy_s( BG3.stationName ,6,&qu
31、ot;馬場(chǎng) "); strcpy_s( BG4.stationName ,10,"八家大屋 "); strcpy_s( BG5.stationName ,7,"洪山橋"); strcpy_s( BG6.stationName ,9,"長(zhǎng)沙大學(xué)"); strcpy_s( BG7.stationName ,10,"月湖公園 "); strcpy_s( BG8.stationName ,9,"世界之窗"); strcpy_s( BG9.stationName ,10,"汽車東站 &
32、quot;); strcpy_s( BG10.stationName ,5,"華夏"); strcpy_s( BG11.stationName ,7,"九尾沖"); strcpy_s( BG12.stationName ,9,"國(guó)防科大"); strcpy_s( BG13.stationName ,7,"喻家沖"); strcpy_s( BG14.stationName ,11,"三一大道口"); strcpy_s( BG15.stationName ,9,"德雅路口");
33、strcpy_s( BG16.stationName ,9,"長(zhǎng)沙晚報(bào)"); strcpy_s( BG17.stationName ,11,"南湖大市場(chǎng)"); strcpy_s( BG18.stationName ,11,"車站北路口"); strcpy_s( BG19.stationName ,10,"蓉園小區(qū) "); strcpy_s( BG20.stationName ,8," 五里牌"); strcpy_s( BG21.stationName ,7,"火車站"); s
34、trcpy_s( BG22.stationName ,7,"袁家?guī)X"); strcpy_s( BG23.stationName ,7,"省軍區(qū)"); strcpy_s( BG24.stationName ,7,"中山亭"); strcpy_s( BG25.stationName ,9,"湘雅醫(yī)院"); strcpy_s( BG26.stationName ,9,"省博物館"); strcpy_s( BG27.stationName ,12,"長(zhǎng)沙市一中 "); strcpy_
35、s( BG28.stationName ,10,"烈士公園 "); strcpy_s( BG29.stationName ,7,"年嘉湖"); BG0.busLines0=1; BG0.busLines1=1; BG0.busLines2=1; BG0.busLines4=1; BG0.linesCount = 4; BG1.busLines0=1; BG1.busLines1=1; BG1.busLines2=1; BG1.busLines4=1; BG1.linesCount = 4; BG2.busLines0=1; BG2.busLines1=1
36、; BG2.busLines2=1; BG2.busLines4=1; BG2.linesCount = 4; BG3.busLines0=1; BG3.busLines1=1; BG3.linesCount = 2; BG4.busLines0=1; BG4.busLines1=1; BG4.linesCount = 2; BG5.busLines0=1; BG5.busLines1=1; BG5.linesCount = 2; BG6.busLines0=1; BG6.busLines1=1; BG6.busLines5=1; BG6.linesCount = 3; BG7.busLine
37、s0=1; BG7.busLines5=1; BG7.linesCount = 2; BG8.busLines0=1; BG8.busLines2=1; BG8.busLines3=1; BG8.busLines5=1; BG8.linesCount = 3; BG9.busLines0=1; BG9.busLines1=1; BG9.busLines3=1; BG9.busLines5=1; BG9.linesCount = 4; BG10.busLines3=1; BG10.busLines4=1; BG10.linesCount = 2; BG11.busLines2=1; BG11.b
38、usLines4=1; BG11.linesCount = 2; BG12.busLines2=1; BG12.linesCount = 1; BG13.busLines2=1; BG13.linesCount = 1; BG14.busLines1=1; BG14.busLines2=1; BG14.busLines3=1; BG14.linesCount = 3; BG15.busLines1=1; BG15.busLines2=1; BG15.busLines3=1; BG15.busLines5=1; BG15.linesCount = 4; BG16.busLines5=1; BG1
39、6.linesCount = 1; BG17.busLines5=1; BG17.linesCount = 1; BG18.busLines5=1; BG18.linesCount = 1; BG19.busLines5=1; BG19.linesCount = 1; BG20.busLines5=1; BG20.linesCount = 1; BG21.busLines1=1; BG21.busLines4=1; BG21.busLines5=1; BG21.linesCount = 1; BG22.busLines4=1; BG22.linesCount = 1; BG23.busLine
40、s4=1; BG23.linesCount = 1; BG24.busLines4=1; BG24.linesCount = 1; BG25.busLines3=1; BG25.linesCount = 1; BG26.busLines3=1; BG26.linesCount = 1; BG27.busLines3=1; BG27.linesCount = 1; BG28.busLines1=1; BG28.busLines3=1; BG28.linesCount = 2; BG29.busLines1=1; BG29.busLines3=1; BG29.linesCount = 2; BG0
41、.theStationToOthersPath1=100; BG1.theStationToOthersPath0=100; BG1.theStationToOthersPath2=150; BG2.theStationToOthersPath1=150; BG2.theStationToOthersPath3=170; BG2.theStationToOthersPath11=100; BG3.theStationToOthersPath2=170; BG3.theStationToOthersPath4=130; BG4.theStationToOthersPath3=130; BG4.t
42、heStationToOthersPath5=70; BG5.theStationToOthersPath4=70; BG5.theStationToOthersPath6=100; BG6.theStationToOthersPath5=100; BG6.theStationToOthersPath7=50; BG6.theStationToOthersPath15=250; BG7.theStationToOthersPath6=50; BG7.theStationToOthersPath8=170; BG8.theStationToOthersPath7=170; BG8.theStat
43、ionToOthersPath9=160; BG8.theStationToOthersPath15=80; BG9.theStationToOthersPath8=160; BG10.theStationToOthersPath11=100; BG10.theStationToOthersPath24=130; BG10.theStationToOthersPath25=110; BG11.theStationToOthersPath2=100; BG11.theStationToOthersPath10=100; BG11.theStationToOthersPath12=50; BG12
44、.theStationToOthersPath11=50; BG12.theStationToOthersPath13=100; BG13.theStationToOthersPath12=100; BG13.theStationToOthersPath14=150; BG14.theStationToOthersPath13=150; BG14.theStationToOthersPath15=100; BG14.theStationToOthersPath29=120; BG15.theStationToOthersPath6=250; BG15.theStationToOthersPat
45、h8=80; BG15.theStationToOthersPath14=100; BG15.theStationToOthersPath16=120; BG16.theStationToOthersPath15=120; BG16.theStationToOthersPath17=60; BG17.theStationToOthersPath16=60; BG17.theStationToOthersPath18=70; BG18.theStationToOthersPath17=70; BG18.theStationToOthersPath19=90; BG19.theStationToO
46、thersPath18=90; BG19.theStationToOthersPath20=190; BG20.theStationToOthersPath19=190; BG20.theStationToOthersPath21=130; BG21.theStationToOthersPath20=130; BG21.theStationToOthersPath22=100; BG21.theStationToOthersPath28=220; BG22.theStationToOthersPath21=100; BG22.theStationToOthersPath23=110; BG23.theStationToOthersPath22=110; BG23.theS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《天然產(chǎn)物化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽(yáng)職業(yè)技術(shù)學(xué)院《電路》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025福建建筑安全員《B證》考試題庫(kù)
- 2025年安徽省建筑安全員考試題庫(kù)
- 貴陽(yáng)康養(yǎng)職業(yè)大學(xué)《軟件項(xiàng)目管理與軟件工程經(jīng)濟(jì)學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《建筑工程招投標(biāo)沙盤》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年-黑龍江省安全員C證考試(專職安全員)題庫(kù)附答案
- 廣州幼兒師范高等??茖W(xué)?!渡唐坊炷辽a(chǎn)和應(yīng)用技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年浙江省建筑安全員考試題庫(kù)
- 2025年湖北省安全員《A證》考試題庫(kù)及答案
- 2024智慧醫(yī)院醫(yī)用耗材SPD供應(yīng)鏈績(jī)效評(píng)價(jià)指南
- 護(hù)士分級(jí)分類管理規(guī)定及評(píng)價(jià)細(xì)則
- GB/T 15115-2024壓鑄鋁合金
- 玄武巖纖維簡(jiǎn)介演示
- 米什金貨幣金融學(xué)英文版習(xí)題答案chapter1英文習(xí)題
- 建筑公司員工合規(guī)手冊(cè)
- 質(zhì)量保證的基本原則與方法
- 第1講-句子結(jié)構(gòu)
- 鼻腔沖洗護(hù)理技術(shù)團(tuán)體標(biāo)準(zhǔn)解讀
- 紅領(lǐng)巾知識(shí)伴我成長(zhǎng)課件
- 腦血管病的三級(jí)預(yù)防
評(píng)論
0/150
提交評(píng)論