2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計說明書</b></p><p><b>  課程設計任務書</b></p><p>  課程名稱:服務外包軟件工程實訓Ⅲ</p><p>  設計題目:城市公交查詢軟件</p><p>  已知技術參數(shù)和設計要求:</p><p><

2、;b>  需求說明及要求</b></p><p><b>  1.主要功能模塊:</b></p><p><b>  (1)用戶管理</b></p><p>  用戶管理模塊為用戶提供用戶信息管理的功能,包括用戶注冊、用戶登陸、用戶信息修改、用戶密碼修改、用戶注銷等功能。</p><p

3、>  用戶注冊:用戶可以利用此功能完成注冊,用戶在界面輸入注冊信息,回車后,軟件將注冊信息保存到用戶信息數(shù)據文件中。</p><p>  用戶登陸:用戶可以利用此功能完成登陸,用戶在界面輸入登陸信息,回車后,軟件驗證登錄信息,登陸成功后,軟件進入主功能選擇界面。</p><p>  用戶信息修改:用戶可以利用此功能完成用戶信息修改。</p><p>  用戶密

4、碼修改:用戶可以利用此功能完成密碼修改。</p><p>  用戶注銷:用戶可以利用此功能完成用戶信息注銷,某用戶注銷后,便不能再次登錄。</p><p><b>  (2)線路管理</b></p><p>  線路管理模塊為用戶提供公交線路數(shù)據的管理和維護,包括線路添加、線路修改、線路刪除等功能。</p><p>  

5、線路添加:用戶可以利用此功能增加一條線路。</p><p>  線路修改:用戶可以利用此功能修改一條線路。</p><p>  線路刪除:用戶可以利用此功能刪除一條線路。</p><p><b> ?。?)站點管理</b></p><p>  站點管理模塊為用戶提供公交站點數(shù)據的管理和維護,包括站點添加、站點修改、站點刪

6、除等功能。</p><p>  站點添加:用戶可以利用此功能增加一個站點。</p><p>  站點修改:用戶可以利用此功能修改一個站點。</p><p>  站點刪除:用戶可以利用此功能刪除一個站點。</p><p><b> ?。?)公交查詢</b></p><p>  公交查詢模塊為用戶提供

7、公交信息查詢的功能,包括站點查詢、線路查詢、站站查詢、最短距離查詢、最少換乘查詢等功能。</p><p>  站點查詢:用戶可以利用此功能查看某個站點所??康墓痪€路。</p><p>  線路查詢:用戶可以利用此功能查看某條線路所路經的公交站點。</p><p>  站站查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間的所有公交乘車方案。</p>&l

8、t;p>  最短距離查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間最短距離的公交乘車方案。</p><p>  最少換乘查詢:用戶可以利用此功能查詢出發(fā)地和目的地之間最少換乘的公交乘車方案。</p><p>  3.要求:界面友好,易于操作;數(shù)據結構運用靈活,編碼規(guī)范,設計合理。</p><p><b>  各階段具體要求:</b>&l

9、t;/p><p><b>  1、需求分析階段</b></p><p>  (1)寫出需求分析(做什么) </p><p> ?。?)要求問題分析和功能定義準確</p><p><b>  2、系統(tǒng)設計階段</b></p><p> ?。?)根據問題描述,設計系統(tǒng)的結構</

10、p><p> ?。?)完成數(shù)據結構中各個函數(shù)的定義</p><p>  (4)用戶界面的設計</p><p> ?。?)要求數(shù)據結構定義合理,類層次結構清晰</p><p><b>  3、編碼實現(xiàn)階段</b></p><p> ?。?)完成代碼編寫 </p><p> ?。?

11、)要求代碼編寫規(guī)范</p><p><b>  4、系統(tǒng)測試階段</b></p><p><b>  (1)完成功能調試</b></p><p> ?。?)要求完成必要的測試工作</p><p><b>  5、交付實施階段</b></p><p>  

12、(1)提交可正常執(zhí)行的系統(tǒng)</p><p> ?。?)提交系統(tǒng)需求說明書、設計說明書、程序代碼</p><p> ?。?)撰寫實訓報告書</p><p>  (4)要求規(guī)范地書寫文檔</p><p><b>  設計工作量:</b></p><p> ?。?)軟件設計:完成問題陳述中所提到的所有需

13、求功能。</p><p><b> ?。?)40課時。</b></p><p><b>  工作計劃:</b></p><p>  安排兩周時間進行課程設計,軟件開發(fā)步驟如下,第一周完成1~3,第二周完成4~8,論文同步進行;</p><p><b>  1)選定題目</b>

14、</p><p><b>  2)需求分析</b></p><p><b>  3)系統(tǒng)設計</b></p><p><b>  4)編碼實現(xiàn)</b></p><p><b>  5)系統(tǒng)測試</b></p><p><

15、;b>  6)交付實施</b></p><p>  指導教師簽名:       日期:     </p><p>  教研室主任簽名:        日期:        </p><p>  系主任簽名:          日期:        </p><p>  長沙學院課程設計鑒定表&l

16、t;/p><p><b>  摘要</b></p><p>  隨著我國公交系統(tǒng)的蓬勃發(fā)展,公交線路的數(shù)目和站點愈加完善,在給市民提供方便的同時,市民出行過程中隊公交線路的查詢往往不知所措。在此背景下,我們開發(fā)了這個應用程序----城市公交查詢系統(tǒng)。本次設計,首先我們結合公交實際的運營情況以及乘客的實際需求,了解到在公交乘坐過程中主要包括了對線路、站名、站點區(qū)間以及線路圖

17、等幾方面的查詢,與此相結合開發(fā)對應的功能;因此在開發(fā)過程中建立了核心模塊----查詢模塊:其中包括按線路查詢、按站點查詢、按兩站點查詢等;管理模塊:其中包括公交站點管理和公交線路管理等功能。</p><p>  關鍵字:公交查詢系統(tǒng)軟件</p><p><b>  目錄</b></p><p><b>  摘要5</b>

18、</p><p><b>  1.引言7</b></p><p>  1.1 編寫目的7</p><p>  1.2 項目背景7</p><p>  1.3 名詞解釋7</p><p><b>  2.需求規(guī)約8</b></p><p>  

19、2.1 業(yè)務描述8</p><p>  2.2 功能需求8</p><p>  2.2.1 用戶管理功能模塊8</p><p>  2.3 性能需求10</p><p>  2.4 數(shù)據需求11</p><p>  3、軟件總體設計12</p><p>  3.1 軟件框架設計12

20、</p><p>  3.2 軟件模塊劃分12</p><p>  3.3軟件數(shù)據設計13</p><p>  4、軟件詳細設計14</p><p>  4.1 軟件模塊劃分14</p><p>  4.1.1 用戶注冊功能點14</p><p>  4.1.2用戶登陸功能模塊詳細設計

21、:16</p><p>  4.1.3用戶查詢功能模塊詳細設計:17</p><p>  4.1.4用戶修改功能模塊詳細設計:18</p><p>  4.1.5用戶注銷功能模塊詳細設計:21</p><p><b>  5.軟件測試23</b></p><p>  5.1功能點性測試

22、23</p><p>  5.1.1測試用例用戶注冊23</p><p>  5.1.2測試用例用戶登錄24</p><p>  5.1.3測試用例用戶查詢25</p><p>  5.1.4測試用例用戶修改25</p><p>  5.1.5測試用例用戶注銷26</p><p>  

23、5.2.數(shù)據測試27</p><p>  5.2.1用測試用例用戶注冊27</p><p>  5.2.2用測試用例用戶登錄27</p><p>  5.2.3測試用例用戶查詢28</p><p>  5.2.4測試用例用戶修改28</p><p>  5.2.5測試用例用戶注銷28</p>

24、<p><b>  6、總結29</b></p><p><b>  參考文獻30</b></p><p><b>  附錄31</b></p><p><b>  1.引言</b></p><p><b>  1.1 編寫目的&

25、lt;/b></p><p>  編寫該文檔的目的是為了讓別人更了解我們所完成的城市公交查詢系統(tǒng)的各個功能,同時并詳細介紹了該功能是怎么、如何實現(xiàn)的。也可以清晰的表現(xiàn)出這個項目的優(yōu)點和缺點。</p><p>  該文檔是介紹本項目的用戶管理功能。主要操作有用戶注冊,用戶登錄,用戶注銷,信息查詢,以及用戶信息修改。該文檔詳細介紹了這幾個功能的具體實現(xiàn)。</p><p

26、><b>  1.2 項目背景</b></p><p>  城市公共交通運輸以其覆蓋面廣、經濟快捷的特點,目前,仍然是絕大多數(shù)出行者的首選方式,許多國家和城市都在積極地研究和發(fā)展本地的公共交通設施與服務,不斷地對交通路線和人口的分布進行優(yōu)化和合理調度。如果能提供一種服務,為市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人提供方便、快捷、經濟、高效地利用公共線路的方案,將極大的方

27、便他們出行和生活,同時減少不必要的交通流量,提高交通運輸?shù)男屎统鞘械牡匚弧?lt;/p><p>  湖南城交集團(虛擬化名)是一個具有數(shù)十年歷史的交通管理公司。該集團長沙分公司希望通過信息化的手段,為長沙市民以及外來旅客提供理想的公共線路方案,特出資招商開發(fā)一套“城市公交查詢軟件”,該軟件將為公司的日常運營提供用戶管理、站點管理、線路管理等功能,同時為廣大人民群眾提供方便快捷的公交查詢功能,為社會又回饋一份便捷。&

28、lt;/p><p><b>  1.3 名詞解釋</b></p><p>  UserCopy();//聲明復制函數(shù) Start();//聲明函數(shù)</p><p>  Administrator();//聲明管理員函數(shù) Regist();//聲明注冊函數(shù)</p><p>  Login();/

29、/聲明登錄函數(shù) Menu();//聲明主菜單函數(shù)</p><p>  UserQuery();//聲明查詢函數(shù) LoginAdministrator();//聲明函數(shù)</p><p>  UpdatePassword();//聲明改密函數(shù) UpdateName();//聲明修改名字函數(shù)</p><p>  Up

30、dateAge();//聲明修改年齡函數(shù) UpdateAddr();//聲明修改地址函數(shù)</p><p>  UpdateInfo();//聲明修改菜單選擇函數(shù) UserDelete();//聲明注銷用戶函數(shù)</p><p>  UserMaintain(); UserSave();//聲明保存函數(shù)</p><p&g

31、t;<b>  2.需求規(guī)約</b></p><p><b>  2.1 業(yè)務描述</b></p><p>  鑒于目前中國的經濟發(fā)展情況,中國人出行還是以公交車為主,所以每個城市的公交查詢系統(tǒng)比較龐大發(fā)達。而且無法迅速,準確地查到所需要目的地以及各車次所經過站點的信息,帶來了很大的不便。因此結合實際操作,開發(fā)出適合與公交查詢的管理軟件,不僅可以

32、讓管理員從現(xiàn)有的繁重的信息手工錄入、查詢中解放出來,提高工作效率。</p><p>  隨著公路規(guī)模的不斷擴大,公交數(shù)量的急劇增加,有關公交管理的各種信息量也在不斷的增長,面對龐大的信息量,就需要有公交信息管理系統(tǒng)來提高公交車管理工作的效率,通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了工作量。</p><p>  我國城市公交查詢系統(tǒng)的發(fā)展還處于一個比較落后的水平,公交

33、信息的完整性和準確性得不到保證,而且還沒有專門的機構負責信息的發(fā)布和管理。乘客可以獲得的公交信息很少,而且獲取方式以常規(guī)手段為主。所以從國內的發(fā)展趨勢來看,需要建立一個以高效的公交數(shù)據庫為基礎的、面向公交路線的在線公交車線路查詢軟件。</p><p>  本軟件主要分為兩個模式,分別為普通用戶模式和管理員模式。在普通用戶模式下, 新用戶可以進行注冊,老用戶就可直接登錄進行下一步操作。其中在這個模式下,用戶可以進行

34、的操作有,用戶信息查詢,用戶信息修改,用戶注銷,線路查詢,以及站點查詢,最短路徑,最少站點的查詢。在管理員模式下,管理員需登錄然后進行下一步操作。其中,管理員可以對站點查詢,修改,增加和刪除,對線路進行增加,刪除和查詢。</p><p><b>  2.2 功能需求</b></p><p>  2.2.1 用戶管理功能模塊</p><p>&l

35、t;b>  1、用戶注冊功能點</b></p><p>  表2.1 “用戶注冊”功能需求分析用例</p><p><b>  2、用戶登錄功能點</b></p><p>  表2.2 “用戶登錄”功能需求分析用例</p><p>  3、用戶信息查詢功能</p><p>  表

36、2.3 “用戶信息查詢”功能需求分析用例</p><p>  4、用戶信息修改功能</p><p>  表2.4 “用戶信息修改”功能需求分析用例</p><p>  5、用戶信息注銷功能</p><p>  表2.5 “用戶信息注銷”功能需求分析用例</p><p><b>  2.3 性能需求</b

37、></p><p>  為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,城市公交查詢系統(tǒng)應該滿足以下的性能需求。</p><p>  系統(tǒng)處理的準確性和及時性</p><p>  系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應時間能夠滿足企業(yè)對信息處理的需求。</p&

38、gt;<p>  由于公交查詢系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據來源,而車票數(shù)量和時間又影響企業(yè)的決策活動,其準確性很大程度上決定了公交查詢系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。</p><p>  系統(tǒng)的開放性和系統(tǒng)的可擴充性</p><p>  公交查詢系統(tǒng)在開發(fā)過程中,應該充分考慮以后的可擴充性。例如網上查

39、詢的用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調整和擴充。而要實現(xiàn)這一點,應通過系統(tǒng)的開放性來完成,既系統(tǒng)應是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。</p><p>  系統(tǒng)的易用性和易維護性</p><p>  公交查詢系統(tǒng)是直接面對使用人員的,而使用人員往往對

40、計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p>  公交查詢系統(tǒng)中涉及到的數(shù)據是公交公司的相當重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護人員進行數(shù)據的備份,日常的安全管理,系統(tǒng)意外崩潰時數(shù)據的恢復等工作。</p>

41、<p><b>  系統(tǒng)的標準性</b></p><p>  系統(tǒng)在設計開發(fā)使51用aspx過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。例如在開發(fā)中使用的操作系統(tǒng)、網絡系統(tǒng)、開發(fā)工具都必須符合通用標準。如規(guī)范的數(shù)據庫操縱界面、作為業(yè)界標準的TCP/IP網絡協(xié)議及ISO9002標準所要求的質量規(guī)范等;同時,在自主開發(fā)本系統(tǒng)時,要進行良好的設計工

42、作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。</p><p><b>  系統(tǒng)的先進性</b></p><p>  目前計算系統(tǒng)的技術發(fā)展相當快,做為公交查詢系統(tǒng)工程,應該保證系統(tǒng)在下個世紀仍舊是先進的,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一

43、方面,在系統(tǒng)設計和開發(fā)的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發(fā)展前途的產品。</p><p><b>  系統(tǒng)的響應速度</b></p><p>  公交查詢系統(tǒng)在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據所需數(shù)據量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。</p>

44、<p><b>  2.4 數(shù)據需求</b></p><p>  數(shù)據在城市公交查詢軟件中占有非常重要的地位,數(shù)據結構設計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產生影響。合理的數(shù)據結構設計可以提高數(shù)據存儲的效率,保證數(shù)據的完整和一致。目前軟件開發(fā)行業(yè)中,軟件開發(fā)人員對軟件數(shù)據的存儲無非借助三個方法:內存數(shù)據存儲、磁盤文件存儲和數(shù)據庫存儲。</p><p&

45、gt;  用戶信息記錄的數(shù)據項如下:</p><p>  用戶編號、用戶登錄名、用戶登錄密碼、用戶真實姓名、用戶性別、用戶年齡、用戶籍貫。數(shù)據類型為char型與int型。</p><p><b>  3、軟件總體設計</b></p><p>  3.1 軟件框架設計</p><p>  我們將設計為三個部分:業(yè)務處理、數(shù)

46、據處理和存儲處理。系統(tǒng)結構如圖3-1所示。</p><p>  業(yè)務處理部分實現(xiàn)系統(tǒng)與用戶的接口,業(yè)務處理部分完成數(shù)據的輸入和呈現(xiàn),該部分包含軟件需求的所有業(yè)務功能。</p><p>  數(shù)據處理部分實現(xiàn)數(shù)據格式的轉換,將用戶界面獲取的數(shù)據轉換成相應的邏輯結構進行文件存儲,或者將文件存儲的數(shù)據轉成相應的邏輯結構進行界面展示。軟件產生的業(yè)務數(shù)據可以不做任何處理,直接以字符串記錄的形式存儲在磁

47、盤上,但是如此一來對數(shù)據讀取和操作的效率就會十分低下,為了解決這個問題,我們引入適當?shù)臄?shù)據結構進行數(shù)據處理,例如鏈表、二叉樹、圖等數(shù)據結構。</p><p>  存儲處理部分實現(xiàn)數(shù)據的存儲,將所有數(shù)據以文件的形式存儲。</p><p><b>  圖3.1系統(tǒng)結構圖</b></p><p><b>  圖3-1系統(tǒng)結構</b&g

48、t;</p><p>  3.2 軟件模塊劃分</p><p>  該城市公交查詢系統(tǒng)的用戶管理功能分為兩個大模塊。其中一個為普通用戶模塊,供新老用戶使用。用戶登錄成功后可以進行用戶信息修改,用戶信息查詢,用戶登錄以及用戶注冊。</p><p><b>  框架結構圖如下:</b></p><p>  圖3-2 軟件模塊

49、劃分</p><p><b>  3.3軟件數(shù)據設計</b></p><p>  表3-3.1用戶信息記錄</p><p><b>  4、軟件詳細設計</b></p><p>  4.1 軟件模塊劃分</p><p>  4.1.1 用戶注冊功能點</p>&

50、lt;p><b>  【功能點編號】</b></p><p><b>  Joy1-1</b></p><p><b>  【功能點名稱】</b></p><p><b>  用戶注冊</b></p><p><b>  【功能點描述】&l

51、t;/b></p><p>  用戶能通過本功能完成注冊的操作</p><p><b>  【實現(xiàn)函數(shù)/文件】</b></p><p>  頭文件user.c、實現(xiàn)函數(shù)void Regist()、void Menu()</p><p><b>  【界面設計】</b></p>&

52、lt;p><b>  注冊成功界面:</b></p><p>  圖4-1注冊界面設計1</p><p><b>  【輸入數(shù)據】</b></p><p>  用戶名 char LoginName[L]、密碼char UserPassword[6]、性別int UserSex、年齡int age、char User

53、Name[L]、char UserAddr[L];</p><p><b>  【輸出數(shù)據】</b></p><p><b>  主功能業(yè)務處理界面</b></p><p><b>  【流程設計】</b></p><p>  圖4-2用戶注冊流程圖</p>&l

54、t;p>  4.1.2用戶登陸功能模塊詳細設計:</p><p>  【功能點編號】Joy1-2</p><p>  【功能點名稱】用戶登錄</p><p>  【功能點描述】管理員通過本功能完成用戶登錄操作</p><p><b>  【實現(xiàn)函數(shù)/文件】</b></p><p>  頭文件

55、user.c、實現(xiàn)函數(shù)void UserLogin()、void Menu()</p><p><b>  【界面設計】</b></p><p><b>  登錄成功界面</b></p><p>  圖4-3登錄界面設計1</p><p><b>  登錄失敗界面</b><

56、;/p><p>  圖4-4登錄界面設計2</p><p><b>  【輸入數(shù)據】</b></p><p>  用戶名 char UserName[L] ,密碼:char UserPassword[6]</p><p><b>  【輸出數(shù)據】</b></p><p><

57、b>  用戶管理界面</b></p><p><b>  【流程設計】</b></p><p>  圖4-5登錄界面流程圖</p><p>  4.1.3用戶查詢功能模塊詳細設計:</p><p><b>  【功能名稱】</b></p><p><b

58、>  用戶查詢</b></p><p><b>  【功能描述】</b></p><p>  通過此功能能夠實現(xiàn)用戶查詢功能</p><p><b>  【實現(xiàn)函數(shù)】</b></p><p>  頭文件:user.c 實現(xiàn)函數(shù):void Menu() ;void UserQue

59、ry();</p><p>  void UpdateInfo();//聲明修改菜單選擇函數(shù) </p><p><b>  【界面設計】</b></p><p><b>  查詢功能界面</b></p><p>  圖4-6查詢界面設計</p><p><b>

60、  【輸入數(shù)據】</b></p><p><b>  數(shù)據1或2 </b></p><p><b>  【輸出數(shù)據】</b></p><p>  用戶名 p->UserName 年齡:p->UserAge 性別:p->UserSex 地址:p->UserAddr</p>

61、;<p><b>  【流程設計】</b></p><p>  圖4-7用戶信息查詢流程圖</p><p>  4.1.4用戶修改功能模塊詳細設計:</p><p><b>  【功能名稱】</b></p><p><b>  用戶修改功能模塊</b></p

62、><p><b>  【功能描述】</b></p><p>  通過此功能能夠實現(xiàn)用戶修改功能</p><p>  【實現(xiàn)函數(shù)/頭文件】</p><p>  頭文件:user.c 實現(xiàn)函數(shù)void UserQuery();//聲明查詢函數(shù)</p><p>  void LoginAdminist

63、rator();//聲明函數(shù) UpdatePassword();//聲明改密函數(shù)</p><p>  void UpdateName();//聲明修改名字函數(shù)void UpdateAge();//聲明修改年齡函數(shù)</p><p>  void UpdateAddr();//聲明修改地址函數(shù)void UpdateInfo();//聲明修改菜單選擇函數(shù)</p><p&g

64、t;<b>  【界面設計】</b></p><p><b>  用戶信息修改界面</b></p><p>  圖4-8修改界面設計1</p><p>  圖4-9修改界面設計2</p><p>  圖4-10修改界面設計3</p><p><b>  【輸入數(shù)據】

65、</b></p><p>  用戶名 char NewName[40]、密碼int NewPassword、性別char NewSex[40]、年齡int NewAge、char NewAddr[40]</p><p><b>  【輸出數(shù)據】</b></p><p>  用戶名 char NewName[40]、密碼int New

66、Password、性別char NewSex[40]、年齡int NewAge、char NewAddr[40]</p><p><b>  【流程設計】</b></p><p>  4.1.5用戶注銷功能模塊詳細設計:</p><p><b>  【用戶名稱】</b></p><p><b&

67、gt;  用戶注銷</b></p><p><b>  【功能描述】</b></p><p>  通過此功能能夠實現(xiàn)用戶注銷功能</p><p><b>  【實現(xiàn)函數(shù)】</b></p><p>  頭文件:user.c void UserDelete();//聲明注銷用戶函數(shù)<

68、;/p><p><b>  【界面設計】</b></p><p><b>  注銷界面設計:</b></p><p>  圖4-12注銷界面設計</p><p><b>  【輸入數(shù)據】</b></p><p>  用戶名:char User name[40

69、];</p><p><b>  【輸出數(shù)據】</b></p><p><b>  管理員界面</b></p><p><b>  【流程設計】</b></p><p>  圖4-13用戶注銷流程圖</p><p><b>  5.軟件測試&l

70、t;/b></p><p><b>  5.1功能點性測試</b></p><p>  5.1.1測試用例用戶注冊</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶注冊</b></p><p><b>

71、  【測試輸入】</b></p><p>  用戶名、密碼、性別、年齡、用戶籍貫</p><p><b>  【測試輸出】</b></p><p>  若成功注冊,則輸出主功能處理界面;若注冊失敗,則重新輸入</p><p><b>  【測試結論】</b></p><

72、;p><b>  注冊成功界面:</b></p><p><b>  圖5-1注冊界面1</b></p><p><b>  注冊失敗界面:</b></p><p><b>  圖5-2注冊界面2</b></p><p>  5.1.2測試用例用戶登

73、錄</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶登錄</b></p><p><b>  【測試輸入】</b></p><p><b>  用戶名、密碼</b></p><p><b&g

74、t;  【測試輸出】</b></p><p>  若用戶名密碼正確,則輸出主功能業(yè)務處理界面;若用戶名或密碼錯誤,則重新輸入</p><p><b>  【測試結論】</b></p><p><b>  登錄成功界面</b></p><p><b>  圖5-3登錄界面1<

75、;/b></p><p><b>  登錄失敗界面</b></p><p><b>  圖5-4登錄界面2</b></p><p>  5.1.3測試用例用戶查詢</p><p><b>  【覆蓋功能點】</b></p><p><b>

76、;  用戶查詢</b></p><p><b>  【測試輸入】</b></p><p><b>  用戶名</b></p><p><b>  【測試輸出】</b></p><p><b>  用戶查詢的信息</b></p>&

77、lt;p><b>  【測試結論】</b></p><p><b>  查詢成功界面</b></p><p><b>  圖5-5查詢界面</b></p><p>  5.1.4測試用例用戶修改</p><p><b>  【覆蓋功能點】</b>&l

78、t;/p><p><b>  用戶修改</b></p><p><b>  【測試輸入】</b></p><p>  用戶真實姓名、密碼、性別、年齡、地址</p><p><b>  【測試輸出】</b></p><p><b>  用戶修改后的信

79、息</b></p><p><b>  【測試結論】</b></p><p><b>  用戶信息修改界面</b></p><p>  圖5-6用戶信息修改1</p><p>  圖5-7用戶信息修改2</p><p>  圖5-8用戶信息修改3</p>

80、;<p>  圖5-9用戶信息修改4</p><p>  5.1.5測試用例用戶注銷</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶注銷</b></p><p><b>  【測試輸入】</b></p><

81、p><b>  用戶名</b></p><p><b>  【測試輸出】</b></p><p>  若該用戶存在,則成功注銷,輸出管理員界面;若不存在,則重新輸入</p><p><b>  【測試結論】</b></p><p><b>  注銷成功界面<

82、;/b></p><p>  圖5-10注銷用戶1</p><p><b>  注銷失敗界面:</b></p><p>  圖5-10注銷用戶2</p><p><b>  5.2.數(shù)據測試</b></p><p>  5.2.1用測試用例用戶注冊</p>

83、<p><b>  【覆蓋功能點】</b></p><p><b>  用戶注冊</b></p><p><b>  【測試輸入】</b></p><p>  用戶名:znn 密碼:2 性別:2 年齡:19 地址:2</p><p><b>  【測試輸出

84、】</b></p><p><b>  恭喜你,注冊成功!</b></p><p><b>  【測試結論】</b></p><p>  提示“注冊成功”表示注冊成功!并核對注冊信息。提示“注冊失敗”,表示注冊失敗,原因可能用戶名已存在、兩次密碼輸入錯誤、數(shù)據格式輸入錯誤。</p><p&g

85、t;  5.2.2用測試用例用戶登錄</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶登錄</b></p><p><b>  【測試輸入】</b></p><p>  用戶名:znn 密碼:2</p><p><

86、;b>  【測試輸出】</b></p><p>  登錄失敗、登錄成功,用戶名已存在</p><p><b>  【測試結果】</b></p><p>  提示“登錄成功”表示登錄成功!成功跳轉到用戶管理界面,提示“登錄失敗”,表示注冊失敗,原因可能用戶名已存在。</p><p>  5.2.3測試用例

87、用戶查詢</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶查詢</b></p><p><b>  【測試輸入】</b></p><p><b>  用戶名</b></p><p><b&g

88、t;  【測試輸出】</b></p><p>  查詢失敗、查詢成功,未登錄</p><p><b>  【測試結論】</b></p><p>  提示“查詢成功”表示查詢成功!顯示查詢的內容。提示“查詢失敗”,表示查詢失敗,原因可能沒登陸。</p><p>  5.2.4測試用例用戶修改</p>

89、<p><b>  【覆蓋功能點】</b></p><p><b>  用戶修改</b></p><p><b>  【測試輸入】</b></p><p>  用戶名、密碼、性別、年齡、聯(lián)系方式</p><p><b>  【測試輸出】</b>

90、;</p><p>  用戶名、密碼、性別、年齡、聯(lián)系方式、修改成功、修改失敗、格式輸入錯誤、兩次密碼輸入錯誤</p><p><b>  【測試結論】</b></p><p>  提示“修改成功”表示查詢成功!顯示修改的內容。提示“修改失敗”,表示修改失敗,原因格式輸入錯誤、兩次密碼輸入錯誤。</p><p>  5.

91、2.5測試用例用戶注銷</p><p><b>  【覆蓋功能點】</b></p><p><b>  用戶注銷</b></p><p><b>  【測試輸入】</b></p><p><b>  用戶名</b></p><p>

92、<b>  【測試輸出】</b></p><p>  若用戶名不存在,則注銷失??;若存在,則成功注銷。</p><p><b>  【測試結論】</b></p><p>  提示“注銷成功”表示注銷成功!公交系統(tǒng)不存在該用戶的信息。提示“注銷失敗”,表示注銷失敗,原因未管理員登錄、用戶名不存在</p><

93、;p><b>  6、總結</b></p><p>  這次的城市公交查詢系統(tǒng)軟件實訓跟以往的實訓有些不同。這次是分工合作,每個人做一部分,然后由組長把它組合起來。</p><p>  這次實訓總共分為五塊,用戶管理、站點查詢、站點增加、數(shù)據的處理與存儲、還有界面以及框架設計。而我負責的是用戶管理這一塊,相對于其它來說,這是比較容易完成的吧。</p>

94、<p>  用戶管理又分為用戶注冊、用戶登錄、用戶注銷、用戶查詢、以及用戶信息修改。對于這些還是比較熟悉的,因為在去年的ATM實訓中,這個都有做過,所以,要完成這些,對我來說,難度還是不大。</p><p>  當然,在編寫代碼的時候還是遇到了一些問題,自己問了同組的組員,很快問題得到了解決??偟膩碚f,這次讓我感觸最深的便是一種團隊精神吧。這是在從前的實訓中,從未有過的感覺。在實訓的這些日子里,我們

95、組的幾個人總是坐在一起,互相討論,互相交流,那種感覺真的很美好,也讓我學到了很多。</p><p>  當然,也有遺憾和不足,就是對于其他同學做的那部分,自己還不是特別的了解,也沒有花太多的心思去了解,恰好那些又是跟這學期學的知識內容息息相關的。我想,回家了有空還是要把其他模塊看一下,以彌補那一點點的遺憾吧。</p><p>  剛開始,本來以為我們這組會是最先答辯的,后來,由于我們組做站

96、點的那位同學沒做完,不得不等他,因為要全部組合在一起才能答辯。后來,我們組的另外兩個同學還把他反鎖在寢室,要他寫代碼,說是沒做出來就不準出來。</p><p>  這次的實訓確實感觸很深,因為都努力的付出了吧。每個人都最少熬了兩個通宵,不斷的改錯,不斷的尋找漏洞,以求達到最好。我也深深地被我們的組員們感動著,為那種團結、進取的精神感動著。</p><p>  最后,對我們組的所有成員還有我

97、們的實訓老師說聲:謝謝,辛苦了!</p><p><b>  參考文獻</b></p><p>  [1] 嚴蔚敏,吳偉民,數(shù)據結構(C語言版)。清華大學出版社。1997年四月份(連續(xù)出版物:ISBN978-7-302-02368-5。1-321頁)</p><p>  [2] 李根強,數(shù)據結構(C++版)(第二版)習題解答及實訓指導。中國水利

98、水電出版社。2009年(連續(xù)出版物:ISBN978-7-5084-6559-3。1-246頁)</p><p>  [3] 譚浩強,C程序設計。清華大學出版社。2005年(2007年重?。ㄟB續(xù)出版物:ISBN978-7-302-10853-5。1-363頁)</p><p>  [4] 譚浩強,C程序設計題解與上機指導。清華大學出版社。2005年(2007年重?。ㄟB續(xù)出版物:ISBN9

99、78-7-302-11217-4。1-250頁</p><p><b>  附錄</b></p><p>  #define STU struct customer//宏定義</p><p>  #define LEN sizeof(struct customer)//宏定義</p><p>  #define L 40

100、</p><p>  struct customer//定義結構體</p><p><b>  {</b></p><p>  char loginName[L];//登錄名</p><p>  char userName[L];//真實姓名</p><p>  char userId[5];//

101、用戶編號</p><p>  int userSex;//性別</p><p>  char userAddr[L];//地址</p><p>  char password[6];//密碼</p><p>  int userAge;//年齡</p><p>  struct customer *next;</

102、p><p><b>  };</b></p><p>  STU *customer();</p><p>  STU *compare(char IDcard1[L]);</p><p>  STU *Pass();</p><p>  STU *p=NULL;</p><p&g

103、t;  STU *head=NULL;//定義頭指針,并賦為空</p><p>  void UserCopy();//聲明復制函數(shù)</p><p>  void Start();//聲明函數(shù)</p><p>  void Administrator();//聲明管理員函數(shù)</p><p>  void Regist();//聲明注冊函數(shù)&l

104、t;/p><p>  void Login();//聲明登錄函數(shù)</p><p>  void Menu();//聲明主菜單函數(shù)</p><p>  void UserQuery();//聲明查詢函數(shù)</p><p>  void LoginAdministrator();//聲明函數(shù)</p><p>  void Upd

105、atePassword();//聲明改密函數(shù)</p><p>  void UpdateName();//聲明修改名字函數(shù)</p><p>  void UpdateAge();//聲明修改年齡函數(shù)</p><p>  void UpdateAddr();//聲明修改地址函數(shù)</p><p>  void UpdateInfo();//聲明修

106、改菜單選擇函數(shù)</p><p>  void UserDelete();//聲明注銷用戶函數(shù)</p><p>  void UserMaintain();</p><p>  void UserSave();//聲明保存函數(shù)</p><p>  void RoadMaintain(MGraph G);</p><p>

107、  void StationMaintain(MGraph G);</p><p>  void Skip();//聲明跳轉函數(shù)</p><p>  void Help();</p><p>  void Again();//聲明返回函數(shù)</p><p>  void EXITSYSTEM();//聲明退出函數(shù)</p><

108、p>  void speedDown();//聲明減速函數(shù)</p><p>  /************************************************************************************/</p><p>  //從文件中復制出信息</p><p>  void UserCopy()</p&

109、gt;<p><b>  {</b></p><p>  FILE *fp;//定義文件類型的指針</p><p>  STU *p1=NULL,*p2=NULL;//定義結構體類型的指針</p><p>  if((fp=fopen("customer.txt","r"))==NULL)&

110、lt;/p><p><b>  {</b></p><p>  printf("\n\n\n\n\n\n\t\t\t當前系統(tǒng)為空,請您先注冊!謝謝合作!\n");</p><p>  speedDown();//延長時間,是界面變得更美觀</p><p><b>  return;</b&

111、gt;</p><p><b>  }</b></p><p>  head=(STU *)malloc(LEN);//申請一個長度為“LEN”的空間</p><p>  p2=head;//把地址賦給p2</p><p>  while((!feof(fp))&&(p2->next!=NULL))

112、//直到文件末尾并且p2所指的下一節(jié)點不為空時</p><p><b>  {</b></p><p>  p1=(STU *)malloc(LEN);//申請一個長度為“LEN”的空間</p><p>  p2->next=p1;</p><p>  fread(p1,LEN,1,fp);//讀出一個長度為LEN

113、的數(shù)據</p><p><b>  p2=p1;</b></p><p><b>  }</b></p><p>  fclose(fp);//關閉文件</p><p><b>  }</b></p><p>  /*******************

114、*****************************************************************/</p><p><b>  //開始界面</b></p><p>  void Start()</p><p><b>  {</b></p><p>  syste

115、m("cls");</p><p><b>  char ch;</b></p><p>  printf("\n\n @@歡迎您進入0.0公交查詢系統(tǒng)@@\n");</p><p>  printf("

116、 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");</p&

117、gt;<p>  printf(" & 1.注冊 &\n");</p><p>  printf(" & &\n"

118、;);</p><p>  printf(" & &\n");</p><p>  printf(" & 2.登錄 &a

119、mp;\n");</p><p>  printf(" & &\n");</p><p>  printf(" &

120、 &\n");</p><p>  printf(" & 3.管理員 &\n");</p><p>  printf(" &

121、 &\n");</p><p>  printf(" & &\n");</p><p>  printf(" &

122、 0.退出系統(tǒng) &\n");</p><p>  printf(" & &\n");</p><p>  printf(" &

123、; &\n");</p><p>  printf(" &&&&&&&&&&&&&&&&&&&&&&am

124、p;&&&&&&&&&&&&&&&&&&\n");</p><p>  printf(" 請輸入數(shù)字:0~3:\n");</p><p>  printf("

125、 ");</p><p>  scanf("%s",&ch);</p><p>  switch(ch)</p><p><b>  {</b></p><p>  case '1':Regist();break;</p>

126、<p>  case '2':Login();break;</p><p>  case '3':LoginAdministrator();break;</p><p>  case '0':EXITSYSTEM();break;</p><p>  default:printf("您的輸入有誤

127、!請重新輸入!\n");</p><p>  speedDown();//延長時間,是界面變得更美觀</p><p>  system("cls");//清屏</p><p><b>  Start();</b></p><p><b>  }</b></p>

128、;<p><b>  }</b></p><p>  /************************************************************************************/</p><p><b>  //比對管理員密碼</b></p><p>  voi

129、d LoginAdministrator()</p><p><b>  {</b></p><p><b>  int n;</b></p><p>  char secret2[L]="";</p><p>  system("cls");//清屏<

130、/p><p>  printf("\n\n\n\n\n\t\t\t請輸入管理員指令:");</p><p>  for (n=0;n<L;n++)</p><p><b>  {</b></p><p>  secret2[n]=getch();</p><p>  if (

131、secret2[n]=='\x0d')break;//等于回車鍵時,結束</p><p>  printf("*");</p><p><b>  }</b></p><p>  system("cls");//清屏</p><p>  if(strcmp(secr

132、et2,"1240\x0d")==0)Administrator();</p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("\n\n\n\n\n\t\t\t對不起!管理員指令錯誤!請確認!");</p>

133、<p><b>  char a;</b></p><p>  printf("\n\n\n\t\t\t1.繼續(xù)----------2.返回\n\n\t\t\t");</p><p>  scanf("%s",&a);</p><p><b>  switch(a)<

134、/b></p><p><b>  {</b></p><p>  case '1':LoginAdministrator();break;</p><p>  case '2':Start();break; </p><p>  default:printf("\n\n\

135、n\t\t\t輸入有誤,返回上一層!");</p><p>  Skip();//調用跳轉函數(shù)</p><p>  speedDown();//延長時間,是界面變得更美觀</p><p><b>  Start();</b></p><p><b>  }</b></p>&

136、lt;p><b>  }</b></p><p><b>  }</b></p><p>  /************************************************************************************/</p><p><b>  //管理員界

137、面</b></p><p>  void Administrator()</p><p><b>  {</b></p><p><b>  char ch;</b></p><p><b>  MGraph G;</b></p><p> 

溫馨提示

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

評論

0/150

提交評論