數(shù)據(jù)結構大型實驗要求_第1頁
數(shù)據(jù)結構大型實驗要求_第2頁
數(shù)據(jù)結構大型實驗要求_第3頁
數(shù)據(jù)結構大型實驗要求_第4頁
數(shù)據(jù)結構大型實驗要求_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)結構大型實驗要求第一頁,共二十四頁,2022年,8月28日面向對象的程設計(OOP)方法與一般的設計方法不同,它使編程人員可以把精力集中在操作的對象而不是軟件要完成的功能上。它將系統(tǒng)看作是對象的集合,通過對象之間的相互作用(消息傳遞)完成任務,通過類和對象把數(shù)據(jù)和處理數(shù)據(jù)的操作結合為一個整體。第二頁,共二十四頁,2022年,8月28日設計步驟需求分析和任務定義軟件設計編碼及靜態(tài)檢查測試總結和書寫大型實驗報告第三頁,共二十四頁,2022年,8月28日對復雜軟件系統(tǒng)的設計,幾乎所有的設計方法都采用某種分而治之的策略。面向對象的程序設計以對象作為設計的基礎,具有一下優(yōu)點:

便于重復使用已有代碼,節(jié)省開發(fā)時間。程序具有較好的結構性??梢砸灶悶閱挝华毩⑦M行程序測試。容易根據(jù)用戶的需要進行擴充。第四頁,共二十四頁,2022年,8月28日需求分析和任務定義

問題要做什么?限制條件是什么?對所需要完成的任務作出明確的回答輸入數(shù)據(jù)的要求輸出數(shù)據(jù)的要求界面的要求解決問題的途徑,確定具體算法確定合法的和非合法的測試數(shù)據(jù)第五頁,共二十四頁,2022年,8月28日系統(tǒng)設計在設計這一步驟中分數(shù)據(jù)結構設計、對象設計和消息設計:數(shù)據(jù)結構設計。確定主要的數(shù)據(jù)結構,包括元素類型(對象)以及相關的操作。對象設計。定義內(nèi)部類,為類屬性確定具體的數(shù)據(jù)結構,并確定類之間的關系。消息設計。使用對象間的協(xié)作和對象-關系模型,設計消息模型。第六頁,共二十四頁,2022年,8月28日第七頁,共二十四頁,2022年,8月28日綜合考慮系統(tǒng)功能,對系統(tǒng)進行求精操作:使得系統(tǒng)類結構清晰、合理、便于操作和易于測試;對數(shù)據(jù)結構和基本操作的規(guī)格說明做出進一步的求精,補充類的屬性和操作;對操作算法進行規(guī)范性描述(用圖形工具進行算法描述)。在求精過程中,盡量避免陷入語言細節(jié),不必過早表述輔助存儲結構和局部變量。第八頁,共二十四頁,2022年,8月28日編碼實現(xiàn)

靜態(tài)檢查編碼是把系統(tǒng)設計的結果進一步求精為程序設計語言的過程。源代碼除了要實現(xiàn)具體的算法外,還必須一定的組織結構和視覺效果:

每個函數(shù)體,一般不超過80行,最長不超過100行,否則應分割成較小的函數(shù);給源代碼相應的程序段或語句加上適當?shù)淖⑨?;源代碼采用縮格書寫。第九頁,共二十四頁,2022年,8月28日認真的靜態(tài)檢查是必不可少的:源代碼是否真正實現(xiàn)具體的算法描述;在源代碼易于理解的基礎上,簡化及優(yōu)化源代碼;用一組測試數(shù)據(jù)手工執(zhí)行程序;通過閱讀或給別人見解自己的程序而深入全面地理解程序邏輯,在這個過程中加入一些新的注釋和斷言。在靜態(tài)檢查中對于非法的數(shù)據(jù)輸入和操作要加以控制和處理。第十頁,共二十四頁,2022年,8月28日測試的目的是為了發(fā)現(xiàn)軟件中存在的問題,并加以修正。面向對象的測試可以分為兩個部分:對象測試,在對象設計階段進行測試,檢查成員函數(shù)對各種輸入?yún)?shù)能否正確完成設計的功能,得到正確的結果。消息傳遞測試,測試各對象之間的函數(shù)調(diào)用與被調(diào)用聯(lián)系,以確保消息傳遞的正確性。第十一頁,共二十四頁,2022年,8月28日測試的一般步驟包括:設計一組或幾組測試用例,包括合法的和非法的測試數(shù)據(jù);根據(jù)測試用例,得到預期的結果;將測試用例作為輸入數(shù)據(jù)代入軟件系統(tǒng)并運行系統(tǒng)。如果運行結果與預期的結果一致,則說明算法或源代碼正確;否則,要修改算法和源代碼。第十二頁,共二十四頁,2022年,8月28日上機準備

上機測試上機準備包括:高級語言文本的擴充和限制;熟悉機器的操作系統(tǒng)和語言集成環(huán)境的用戶手冊,尤其是常用的命令的操作;掌握調(diào)試工具,考慮調(diào)試方案,設計測試數(shù)據(jù)并手工得出正確結果。上機測試時,要帶一本高級語言教材或手冊。首先,在每個對象設計時要進行對象測試;然后,在程序流程調(diào)試時要測試對象之間的關系和作用。往往整個測試過程是以上兩個部分的反復迭代過程。測試后,認真整理源程序及其注釋,印出帶有完整注釋的且格式良好的源程序清單和結果。第十三頁,共二十四頁,2022年,8月28日實

規(guī)

范1軟件需求分析1.1軟件達到的目的1.2軟件功能說明1.3設計環(huán)境2系統(tǒng)設計2.1數(shù)據(jù)結構設計2.1.1主要數(shù)據(jù)結構類型的分析與選擇(邏輯結構)2.1.2數(shù)據(jù)結構中的數(shù)據(jù)對象以及具體的操作的確定2.2對象設計

2.2.1系統(tǒng)中的類及對象2.2.2類圖設計2.3消息設計2.3.1對象之間的消息傳遞說明2.3.2關鍵算法設計2.4界面設計3系統(tǒng)實現(xiàn)3.1類的定義(存儲結構)3.2關鍵源代碼的實現(xiàn)3.2.1主函數(shù)源代碼3.2.2主要功能的實現(xiàn)(功能描述、流程圖或N-S圖)3.3軟件測試(包括有效測試數(shù)據(jù)和無效測試數(shù)據(jù))4結果分析與總結4.1結果分析4.2總結第十四頁,共二十四頁,2022年,8月28日大型實驗課題集合運算及實現(xiàn)校園導游咨詢系統(tǒng)的實現(xiàn)哈夫曼編/譯碼器的實現(xiàn)航空客運訂票系統(tǒng)的設計與實現(xiàn)小型圖書管理系統(tǒng)的設計與實現(xiàn)課程管理系統(tǒng)的設計與實現(xiàn)內(nèi)部排序算法的實現(xiàn)停車場管理系統(tǒng)的設計與實現(xiàn)第十五頁,共二十四頁,2022年,8月28日集

現(xiàn)【問題描述】

實現(xiàn)集合的基本操作:并、差、交及包含判斷?!净疽蟆?、集合中數(shù)據(jù)的規(guī)范約定(按字符序列排列)

2、兩個集合的并、差、交運算

3、集合包含判斷(子集判斷)

4、元素的包含判斷

5、各種操作提示明確?!緶y試數(shù)據(jù)】

由合法的或非法的數(shù)據(jù)產(chǎn)生規(guī)范的集合【實現(xiàn)要求】1.用帶表頭結點的順序表或鏈表有序存儲集合中元素;

2.采用合適的算法提高集合的操作,例如交集可以用差集實現(xiàn);順序表中查詢可以二分查找方法,等等。第十六頁,共二十四頁,2022年,8月28日校

統(tǒng)

現(xiàn)【問題描述】

設計一個校園導游程序,為來訪的客人提供各種信息查詢服務。各種操作提示明確。【基本要求】

1、設計你的學校的校園的平面圖,所含景點不少于10個。以圖中頂點表示校內(nèi)各景點,存放景點名稱、代號、簡介等信息;以邊表示路徑,存放路徑長度。

2、為來訪客人提供圖中任意景點相關信息的查詢。

3、為來訪客人提供圖中任意景點的問路查詢,即查詢?nèi)我鈨蓚€景點間的一條最短的簡單路徑。

4、景點可以添加或者刪除(更新后信息存入文件)。【測試數(shù)據(jù)】

根據(jù)實際情況指定(以學院為例)?!緦崿F(xiàn)要求】1.可以查詢某兩個景點之間的最短距離,也可以求出所有景點之間的最短距離(用Dijkstra算法)。

2.用文件實現(xiàn)景點信息的初始化。第十七頁,共二十四頁,2022年,8月28日哈

/

現(xiàn)【問題描述】

設計一個哈夫曼的編碼/譯碼器?!净疽蟆?/p>

1、初始化:建立一棵哈夫曼樹,并輸出其樹形。

2、編碼:利用建立好的哈夫曼樹進行編碼,結果存入code.txt文件中。

3、利用哈夫曼樹將code.txt中的代碼進行譯碼,結果存入decode.txt文件中。

4、區(qū)分譯碼失敗的各種情況,并輸出信息。

5、各種操作提示明確?!緶y試數(shù)據(jù)】

可以利用教科書中實例調(diào)試程序【實現(xiàn)要求】

1、用順序表存儲哈夫曼樹

2、用貪心算法建立哈夫曼樹

第十八頁,共二十四頁,2022年,8月28日航

統(tǒng)

現(xiàn)【問題描述】

航空客運訂票的業(yè)務活動包括:查詢航線、預訂票和退票等。【基本要求】

1、每條航線所擁有的信息有:航班號、終點、乘員定額、余票量、已訂票量和已訂票客戶名單(包括姓名、身份證號碼、電話、訂票量)。

2、系統(tǒng)主要實現(xiàn)的功能有:

(1)初始化:輸入每條航線的原始信息,訂票客戶名單為空;

(2)查詢航線和訂票信息:根據(jù)客戶提出的終點信息,輸出相關的航班和訂票信息(是兩個獨立的查詢功能);

(3)訂票:根據(jù)用戶提出的要求(終點站名,訂票數(shù)額)查詢航班號及余票額情況,若尚有余票,則為用戶辦理訂票手續(xù);若余票額少于訂票數(shù)額,則將該乘客安排到等票隊伍。

(4)退票:根據(jù)客戶提出的要求,為客戶辦理退票手續(xù)。

3、要有簡明的界面,且各種操作的提示明確。

【測試數(shù)據(jù)】

對輸入數(shù)據(jù)要有合法和非法約定【實現(xiàn)要求】

1.訂票客戶名單用鏈表存儲,且按身份證號碼升序排列

2.退票后,安排等票的客戶辦理訂票手續(xù)第十九頁,共二十四頁,2022年,8月28日第二十頁,共二十四頁,2022年,8月28日小

統(tǒng)

現(xiàn)【問題描述】

圖書管理基本業(yè)務包括:對書的采編入庫、清除庫存、查閱圖書、以及借閱和歸還等等?!净疽蟆?、每種書的登記內(nèi)容至少包括:書號、書名、作者、現(xiàn)存量和總庫存量(同一個書號的圖書可以有多本)。

2、系統(tǒng)實現(xiàn)的功能如下:(1)采編入庫:將新書添加到圖書帳目中。如果書已存在,則只增加總庫存量。(2)清除庫存:將指定的書從圖書帳目中刪除。(3)查閱圖書及借閱情況:查閱指定書名的圖書信息(模糊查詢);能靈活查找圖書借閱情況以及讀者借閱情況。(4)借閱:若現(xiàn)存量大于0,則登記借閱信息及改變現(xiàn)存量。(5)歸還:注銷對借閱者的登記,改變現(xiàn)存量。

3、各種操作的提示明確?!緶y試數(shù)據(jù)】

對輸入數(shù)據(jù)要有合法和非法約定【實現(xiàn)要求】

1、確定系統(tǒng)中所有類,以及類之間關系

2、用順序表或者鏈表存儲圖書信息(按書號有序排列)第二十一頁,共二十四頁,2022年,8月28日內(nèi)

現(xiàn)

較【問題描述】

設定隨機數(shù)據(jù)比較指定排序算法的關鍵字比較和關鍵子移動次數(shù)?!净疽蟆?/p>

1、對以下6中排序方法進行比較:起泡排序、快速排序、希爾排序、堆排序、歸并排序以及基數(shù)排序。

2、用隨機函數(shù)產(chǎn)生不少于100個1~1000的整數(shù)關鍵字。

3、輸出排序后的序列(每行輸出10個)。

4、輸出各排序方法的比較次數(shù)和移動次數(shù)的比較結果。【測試數(shù)據(jù)】

數(shù)據(jù)由隨機產(chǎn)生器生成?!緦崿F(xiàn)提示】

根據(jù)不同排序方法確定不同的存儲結構。第二十二頁,共二十四頁,2022年,8月28日課

統(tǒng)

現(xiàn)【問題描述】

設計一個簡易的課程管理系統(tǒng),有求對學生的課程成績可以進行查詢、輸入以及輸出?!净疽蟆?、基礎信息輸入。如班級信息、學生信息以及課程信息

2、查詢信息。以個人、班級名義查詢指定或所有課程成績,也可以查詢某門課程的學生成績。

3、成績輸入。輸入指定班級的某個課程成績

4、修改和撤銷成績。修改和刪除個別學生的課程成績

5、統(tǒng)計成績。統(tǒng)計統(tǒng)一門課程的分數(shù)分布情況

6、各種操作提示明確?!緶y試數(shù)據(jù)】

輸入數(shù)據(jù)的格式規(guī)范要求【實現(xiàn)要求】1、確定系統(tǒng)中所有類,并確定類之間關系

2、用順序表或者鏈表存儲相關信息

3、靈活實現(xiàn)課程信息的查詢(學生或班級---》課程成績,課程---》學生成績)第二十三頁,共二十四頁,2022年,8月28日停

統(tǒng)

現(xiàn)【問題描述】

假設停車場是個多個雙向通道,設計一個簡易的停車場收費系統(tǒng)管理車輛的進出及等候停車操作,并計算停車費用?!净疽蟆?、停車及計時:按照停車通道序號進行停車(停車的車道和車位從小到大),停車成功后開始計時(只需記錄整時);

2、離開及收費:當車輛離開時,留出車位,并收取停車費用,并及時輸出空車位狀態(tài);

3、停車狀

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論