第一篇:2009級(jí)軟件工程數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)與要求
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)書
一、選題
選題原則是數(shù)據(jù)結(jié)構(gòu)算法實(shí)現(xiàn)及在具體問題中的應(yīng)用。可選擇下列與實(shí)際應(yīng)用緊密結(jié)合的較綜合性的題目,也可自選(自選題必須通過任課教師認(rèn)可)。要求通過課程設(shè)計(jì)的實(shí)踐,在數(shù)據(jù)結(jié)構(gòu)的表示、數(shù)據(jù)結(jié)構(gòu)的選擇及應(yīng)用、算法設(shè)計(jì)與實(shí)現(xiàn)等方面加深對(duì)數(shù)據(jù)結(jié)構(gòu)課程基本內(nèi)容的理解和綜合運(yùn)用能力的提高。對(duì)下列題目每個(gè)同學(xué)的課設(shè)任務(wù)按下式確定:
每個(gè)同學(xué)完成兩個(gè)題目,其中題1(哈夫曼樹應(yīng)用)每個(gè)同學(xué)必做,其它任選一題。
1.哈夫曼樹應(yīng)用
功能:
(1)從終端讀入字符集大小n,以及n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹并將它存于文件hfmTree中.將已在內(nèi)存中的哈夫曼樹以直觀的方式(比如樹)顯示在終端上;
(2)利用已經(jīng)建好的哈夫曼樹(如不在內(nèi)存,則從文件htmTree中讀入),對(duì)文件ToBeTran中的正文進(jìn)行編碼,然后將結(jié)果存入文件CodeFile中,并輸出結(jié)果,將文件CodeFile以緊湊格式先是在終端上,每行50個(gè)代碼。同時(shí)將此字符形式的編碼文件寫入文件CodePrint中。
(3)利用已建好的哈夫曼樹將文件CodeFile中的代碼進(jìn)行譯碼,結(jié)果存入文件TextFile中,并輸出結(jié)果。分步實(shí)施:
1)初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話的界面,確定函數(shù)個(gè)數(shù);
2)完成最低要求:完成功能1;
3)進(jìn)一步要求:完成功能2和3。有興趣的同學(xué)可以自己擴(kuò)充系統(tǒng)功能。
要求:1)界面友好,函數(shù)功能要?jiǎng)澐趾?/p>
2)總體設(shè)計(jì)應(yīng)畫一流程圖
3)程序要加必要的注釋
4)要提供程序測(cè)試方案
5)程序一定要經(jīng)得起測(cè)試,寧可功能少一些,也要能運(yùn)行起來(lái),不能運(yùn)行的程序是沒有價(jià)值的。
2.運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
任務(wù):參加運(yùn)動(dòng)會(huì)有n個(gè)學(xué)校,學(xué)校編號(hào)為1……n。比賽分成m個(gè)男子項(xiàng)目,和w個(gè)女子項(xiàng)目。項(xiàng)目編號(hào)為男子1……m,女子m+1……m+w。不同的項(xiàng)目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m<=20,n<=20)功能要求:
1)可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī);
2)能統(tǒng)計(jì)各學(xué)校總分,3)可以按學(xué)校編號(hào)或名稱、學(xué)校總分、男女團(tuán)體總分排序輸出;
4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校。
5)數(shù)據(jù)存入文件并能隨時(shí)查詢
6)規(guī)定:輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運(yùn)動(dòng)項(xiàng)目的名稱
輸出形式:有合理的提示,各學(xué)校分?jǐn)?shù)為整形
界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。
存儲(chǔ)結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在c語(yǔ)言程序設(shè)計(jì)的書上,請(qǐng)自學(xué)解決)請(qǐng)?jiān)谧詈蟮纳辖毁Y料中指
明你用到的存儲(chǔ)結(jié)構(gòu);
測(cè)試數(shù)據(jù):要求使用
1、全部合法數(shù)據(jù);
2、整體非法數(shù)據(jù);
3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的穩(wěn)定。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明;
3.飛機(jī)訂票系統(tǒng)
任務(wù):通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:
錄入:
可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)
查詢:
可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉(cāng));
可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;
訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)
可以訂票,如果該航班已經(jīng)無(wú)票,可以提供相關(guān)可選擇航班;
退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;
客戶資料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。
修改航班信息:
當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件
要求:
根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能;
4.宿舍管理查詢軟件
1)任務(wù):為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件, 程序設(shè)計(jì)要求:
A.采用交互工作方式
B.建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排序等任選一種)
2)查詢菜單:(用二分查找實(shí)現(xiàn)以下操作)
A.按姓名查詢
B.按學(xué)號(hào)查詢
C.按房號(hào)查詢
3)打印任一查詢結(jié)果(可以連續(xù)操作)
5.校園導(dǎo)航問題
設(shè)計(jì)要求:設(shè)計(jì)你的學(xué)校的平面圖,至少包括10個(gè)以上的場(chǎng)所,每?jī)蓚€(gè)場(chǎng)所間可以有不同的路,且路長(zhǎng)也可能不同,找出從任意場(chǎng)所到達(dá)另一場(chǎng)所的最佳路徑(最短路徑)。
6.教學(xué)計(jì)劃編制問題
設(shè)計(jì)要求:針對(duì)計(jì)算機(jī)系本科課程,根據(jù)課程之間的依賴關(guān)系(如離散數(shù)學(xué)應(yīng)在數(shù)據(jù)結(jié)構(gòu)之前開設(shè))制定課程安排計(jì)劃,并滿足各學(xué)期課程數(shù)目大致相同。
7.圖書借閱管理系統(tǒng)
主要分為兩大功能:
1)圖書管理(增加圖書、查詢圖書、刪除圖書、圖書借閱、還書);
2)會(huì)員管理(增加會(huì)員、查詢會(huì)員、刪除會(huì)員、借書信息);
8.學(xué)生成績(jī)管理
實(shí)現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類合計(jì)、退出。
9.散列表的設(shè)計(jì)與實(shí)現(xiàn)
【問題描述】
設(shè)計(jì)散列表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)。
【基本要求】
1)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;
2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立散列表;
3)采用一定的方法解決沖突;
4)查找并顯示給定電話號(hào)碼的記錄;
5)查找并顯示給定用戶名的記錄。
【進(jìn)一步完成內(nèi)容】
1)系統(tǒng)功能的完善;
2)設(shè)計(jì)不同的散列函數(shù),比較沖突率;
3)在散列函數(shù)確定的前提下,嘗試各種不同類型處理沖突的方法,考察平均查找長(zhǎng)度的變化。
10.簡(jiǎn)易文本編輯器
要求:
1)具有圖形菜單界面;
2)查找,替換(等長(zhǎng),不等長(zhǎng)),插入(插串,文本塊的插入)、塊移動(dòng)(行塊,列塊移動(dòng)),刪除
3)可正確存盤、取盤;
4)正確顯示總行數(shù)。
11.二叉樹的中序、前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。
要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。
樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。
要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。
12.排序綜合利用隨機(jī)函數(shù)產(chǎn)生N個(gè)隨機(jī)整數(shù)(20000以上),對(duì)這些數(shù)進(jìn)行多種方法進(jìn)行排序。
要求:
1)至少采用三種方法實(shí)現(xiàn)上述問題求解(提示,可采用的方法有插入排序、希爾排序、起泡排序、快速排序、選擇排序、堆排序、歸并排序)。并把排序后的結(jié)果保存在不同的文件中。
2)統(tǒng)計(jì)每一種排序方法的性能(以上機(jī)運(yùn)行程序所花費(fèi)的時(shí)間為準(zhǔn)進(jìn)行對(duì)比),找出其中兩種較快的方法。
3)如果采用4種或4種以上的方法者,可適當(dāng)加分。
13.學(xué)生成績(jī)管理系統(tǒng)
現(xiàn)有學(xué)生成績(jī)信息文件1(1.txt),內(nèi)容如下
姓名學(xué)號(hào)語(yǔ)文數(shù)學(xué)英語(yǔ)
張明明01677882
李成友02789188
張輝燦03688256
王露04564577
陳東明05673847
….......…
學(xué)生成績(jī)信息文件2(2.txt),內(nèi)容如下:
姓名學(xué)號(hào)語(yǔ)文數(shù)學(xué)英語(yǔ)
陳果31576882
李華明32889068
張明東33484256
李明國(guó)34504587
陳道亮35475877
….......…
試編寫一管理系統(tǒng),要求如下:
1)實(shí)現(xiàn)對(duì)兩個(gè)文件數(shù)據(jù)進(jìn)行合并,生成新文件3.txt
2)抽取出三科成績(jī)中有補(bǔ)考的學(xué)生并保存在一個(gè)新文件4.txt
3)合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方法實(shí)現(xiàn))
4)輸入一個(gè)學(xué)生姓名后,能查找到此學(xué)生的信息并輸出結(jié)果(至少采用兩種查找方法實(shí)現(xiàn))
5)要求使用結(jié)構(gòu)體,鏈或數(shù)組等實(shí)現(xiàn)上述要求.6)采用多種方法且算法正確者,可適當(dāng)加分.14.圖的遍歷的實(shí)現(xiàn)
要求:
1)先任意創(chuàng)建一個(gè)圖;
2)圖的DFS,BFS的遞歸和非遞歸算法的實(shí)現(xiàn)
3)要求用有向圖和無(wú)向圖分別實(shí)現(xiàn)
4)要求用鄰接矩陣、鄰接表多種結(jié)構(gòu)存儲(chǔ)實(shí)現(xiàn)
15.樹的應(yīng)用
要求:實(shí)現(xiàn)樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹的前序、后序的遞歸、非遞歸算法,層次序的非遞歸算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。
16.文本文件單詞的檢索與計(jì)數(shù)
設(shè)計(jì)要求與分析:
要求編程建立一個(gè)文本文件,每個(gè)單詞不包含空格且不跨行,單詞由字符序列構(gòu)成且區(qū)分大小寫;統(tǒng)計(jì)給定單詞在文本文件中出現(xiàn)的總次數(shù);檢索輸出某個(gè)單詞出現(xiàn)在文本中的行號(hào)、在該行中出現(xiàn)的次數(shù)以及位置。該設(shè)計(jì)要求可分為三個(gè)部分實(shí)現(xiàn):其一,建立文本文件,文件名由用戶用鍵盤輸入;其二,給定單詞的計(jì)數(shù),輸入一個(gè)不含空格的單詞,統(tǒng)計(jì)輸出該單詞在文本中的出現(xiàn)次數(shù);其三,檢索給定單詞,輸入一個(gè)單詞,檢索并輸出該單詞所在的行號(hào)、該行中出現(xiàn)的次數(shù)以及在該行中的相應(yīng)位置。
(1).建立文本文件
(2)給定單詞的計(jì)數(shù)
(3)檢索單詞出現(xiàn)在文本文件中的行號(hào)、次數(shù)及其位置
(4)主控菜單程序的結(jié)構(gòu)
① 頭文件包含
② 菜單選項(xiàng)包含建立文件、單詞定位、單詞計(jì)數(shù)、退出程序
③ 選擇1-4執(zhí)行相應(yīng)的操作,其他字符為非法。
17.任意長(zhǎng)的整數(shù)加法
問題描述:設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)兩個(gè)任意長(zhǎng)的整數(shù)的求和運(yùn)算。
基本要求:利用雙向循環(huán)鏈表,設(shè)計(jì)一個(gè)實(shí)現(xiàn)任意長(zhǎng)的整數(shù)進(jìn)行加法運(yùn)算的演示程序。要求輸入和輸出每四位一組,組間用逗號(hào)隔開。如:1,0000,0000,0000,0000。
18.串的查找和替換
問題描述:打開一篇英文文章,在該文章中找出所有給定的單詞,然后對(duì)所有給定的單詞替換為另外一個(gè)單詞,再存盤。
19.客戶消費(fèi)積分管理系統(tǒng)
問題描述:針對(duì)客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)行不同程度的打折優(yōu)惠。基本要求:
1.采用一定的存儲(chǔ)結(jié)構(gòu)進(jìn)行客戶信息的存儲(chǔ);
2.對(duì)客戶的信息可以進(jìn)行修改、刪除、添加;
3.能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的計(jì)算;
4.根據(jù)積分情況實(shí)行不同程度的打折優(yōu)惠;
20.產(chǎn)品進(jìn)銷存管理系統(tǒng)
問題描述:針對(duì)某一種行業(yè)的庫(kù)房的產(chǎn)品進(jìn)銷存情況進(jìn)行管理。
基本要求:
1.采用一定的存儲(chǔ)結(jié)構(gòu)對(duì)庫(kù)房的貨品及其數(shù)量進(jìn)行分類管理;
2.可以進(jìn)行產(chǎn)品類的添加、產(chǎn)品的添加、產(chǎn)品數(shù)量的添加;
3.能夠查詢庫(kù)房每種產(chǎn)品的總量、進(jìn)貨日期、銷出數(shù)量、銷售時(shí)間等;
二、課程設(shè)計(jì)的基本要求
? 每人必須獨(dú)立規(guī)定的任務(wù)。
? 課余時(shí)間完成源程序和課程設(shè)計(jì)報(bào)告等文檔書寫工作,上機(jī)時(shí)間只能做調(diào)試工作。
? 上機(jī)時(shí)帶上源程序、數(shù)據(jù)結(jié)構(gòu)教材、C語(yǔ)言教材或C++教材。
?最后一天收集課程設(shè)計(jì)報(bào)告等文檔資料,并進(jìn)行面試。發(fā)現(xiàn)課程設(shè)計(jì)基本雷同,一律不及格。學(xué)生應(yīng)提交的資料:
? 紙質(zhì)的課程設(shè)計(jì)報(bào)告1份;
?課程設(shè)計(jì)心得1份紙質(zhì)文檔(1~2頁(yè));
?源程序(電子文檔)
?將源程序、課程設(shè)計(jì)報(bào)告、課程設(shè)計(jì)心得的電子文檔按規(guī)定的文件名稱和格式放在自己學(xué)號(hào)所建的文件夾下,并拷貝到指導(dǎo)教師指定的文件夾中。
三、課程設(shè)計(jì)成績(jī)的評(píng)定
通過程序?qū)崿F(xiàn)、總結(jié)報(bào)告和學(xué)習(xí)態(tài)度進(jìn)行綜合考評(píng),并結(jié)合學(xué)生的動(dòng)手能力、獨(dú)立分析解決問題的能力和創(chuàng)新精神。成績(jī)分優(yōu)、良、中、及格和不及格五等。考核標(biāo)準(zhǔn)包括:
? 答辯情況:把握問題、分析問題以及解決問題等諸多方面的表達(dá)能力。(20%)
? 程序?qū)崿F(xiàn)的正確性,包括程序整體結(jié)構(gòu)是否合理、編程風(fēng)格是否規(guī)范等。(30%)
?學(xué)生的工作態(tài)度、獨(dú)立工作能力。(30%)
? 課程設(shè)計(jì)報(bào)告(含課程設(shè)計(jì)心得)。
四、課程設(shè)計(jì)報(bào)告封面見模板。
第二篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)要求
光盤內(nèi)容說明
本光盤有8個(gè)目錄,對(duì)應(yīng)于課程設(shè)計(jì)教材中第2至5章的8個(gè)案例。每個(gè)目錄以ch0x0y命名,代表第x章第y節(jié)的案例,內(nèi)容包含該案例的源程序及教材中描述的測(cè)試數(shù)據(jù)。除“文件目錄結(jié)構(gòu)的顯示”案例為.C++源程序外,其他均為C源程序。
各目錄中的內(nèi)容及說明:
1.ch0201:表達(dá)式求值,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 文件input.txt:案例測(cè)試輸入數(shù)據(jù)文件;
? 文件output.txt:案例測(cè)試輸出結(jié)果文件;
2.ch0202:文件目錄結(jié)構(gòu)的顯示,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 文件input.txt:案例測(cè)試輸入數(shù)據(jù)文件;
? 文件bad_input_cases.txt:案例容錯(cuò)測(cè)試輸入數(shù)據(jù)文件;
? 文件output.txt:案例測(cè)試輸入input.txt的輸出結(jié)果文件;
3.ch0301:拯救007,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c、graph.c、deque.c、error.c、graph.h、deque.h、error.h:案例源程序。編譯時(shí)需通過應(yīng)用工程文件(console project)。
? 文件input.txt:案例測(cè)試輸入數(shù)據(jù)文件;
? 文件output.txt:案例測(cè)試輸出結(jié)果文件;
4.ch0302:迷宮問題,在TC2.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 說明:測(cè)試時(shí)可選擇自動(dòng)生成測(cè)試數(shù)據(jù),讀者也可按照教材中提供的數(shù)據(jù)進(jìn)行測(cè)試;
5.ch0401:快速排序詳析,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 文件input.txt:案例測(cè)試輸入數(shù)據(jù)文件,包含順序、逆序和隨機(jī)等三種類型的測(cè)試數(shù)據(jù);
? 文件output.txt:案例測(cè)試輸出結(jié)果文件;
6.ch0402:插隊(duì)買票,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 文件input.txt:案例測(cè)試輸入數(shù)據(jù)文件;
? 文件output.txt:案例測(cè)試輸出結(jié)果文件;
7.ch0501:搜索算法效率比較,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 說明:讀者可按照教材中提供的數(shù)據(jù)進(jìn)行測(cè)試;
8.ch0502:任務(wù)調(diào)度問題,在VC++6.0環(huán)境下測(cè)試通過
? 文件main.c:案例源程序;
? 說明:讀者可按照教材中提供的數(shù)據(jù)進(jìn)行測(cè)試;
第三篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)要求
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)要求
一、課程設(shè)計(jì)的目的及要求
1.課程設(shè)計(jì)目的
課程設(shè)計(jì)是《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)必不可缺的一個(gè)重要環(huán)節(jié),它可加深學(xué)生對(duì)該課程所學(xué)內(nèi)容的進(jìn)一步的理解與鞏固,是將計(jì)算機(jī)課程與實(shí)際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計(jì),能夠提高學(xué)生分析問題、解決問題,從而運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力,因而必須給予足夠的重視。2.課程設(shè)計(jì)要求
1)明確課設(shè)任務(wù),復(fù)習(xí)與查閱有關(guān)資料
2)按要求完成課設(shè)內(nèi)容,課設(shè)報(bào)告要求文字和圖工整、思路清楚、正確。3)每人完成一個(gè)項(xiàng)目。
4)應(yīng)用程序應(yīng)具有一定的可用性:
5)凡等候用戶輸入時(shí),給出足夠的提示信息,如“Please Select(1—3):”提示用戶選擇。
6)格式明顯易懂,配上適當(dāng)?shù)念伾⒙曇舻容o助效果,能方便地改正輸入時(shí)的錯(cuò)誤,使用戶感到方便、好用。
7)有聯(lián)機(jī)求助功能。用戶能直接從系統(tǒng)得到必要的提示,不查手冊(cè)也能解決一些疑難。8)程序具有一定的健壯性,不會(huì)因?yàn)橛脩舻妮斎脲e(cuò)誤引起程序運(yùn)行錯(cuò)誤而中斷執(zhí)行: 9)對(duì)輸入值的類型、大小范圍、字符串的長(zhǎng)度等,進(jìn)行正確性檢查,對(duì)不合法的輸入值給出出錯(cuò)信息,指出錯(cuò)誤類型,等待重新輸入。
10)當(dāng)可能的回答有多種時(shí),應(yīng)允許輸入任何一種回答。11)對(duì)刪除數(shù)據(jù)應(yīng)給出警告。
二、課程設(shè)計(jì)任務(wù)、內(nèi)容及時(shí)間安排
1.課程設(shè)計(jì)任務(wù)、內(nèi)容
課程設(shè)計(jì)的題目可由教師指定,如可在下列選題中選擇,或由教師另外選擇,也可由學(xué)生自行選擇。但選題內(nèi)容、難度要適當(dāng),要有一定的實(shí)際意義,并能達(dá)到進(jìn)一步鞏固和強(qiáng)化本課程所學(xué)知識(shí)的效果。
選題1.停車場(chǎng)管理問題。
問題描述:設(shè)有一個(gè)可以停放n輛汽車的狹長(zhǎng)停車場(chǎng),它只有一個(gè)大門可以供車輛進(jìn)出。車輛按到達(dá)停車場(chǎng)時(shí)間的早晚依次從停車場(chǎng)最里面向大門口處停放(最先到達(dá)的第一輛車放在停車場(chǎng)的最里面)。如果停車場(chǎng)已放滿n輛車,則后來(lái)的車輛只能在停車場(chǎng)大門外的便道上等待,一旦停車場(chǎng)內(nèi)有車開走,則排以便道上的第一輛車就進(jìn)入停車場(chǎng)。停車場(chǎng)內(nèi)如有某輛車要開走,在它之后進(jìn)入停車場(chǎng)的車都必須先退出停車場(chǎng)為它讓路,待其開出停車場(chǎng)后,這些輛再依原來(lái)的次序進(jìn)場(chǎng)。每輛車在離開停車場(chǎng)時(shí),都應(yīng)根據(jù)它在停車場(chǎng)內(nèi)停留的時(shí)間長(zhǎng)短交費(fèi)。如果停留在便道上的車未進(jìn)停車場(chǎng)時(shí),允許其離去,不收停車費(fèi),并且仍然保持在便道上等待的車輛的次序。編制一程序模擬該停車場(chǎng)的管理。
基本要求:要求程序輸出每輛車到達(dá)后的停車位置(停車場(chǎng)或便道上),以及某輛車離開停車場(chǎng)時(shí)應(yīng)交納的費(fèi)用和它在停車場(chǎng)內(nèi)停留的時(shí)間。
實(shí)現(xiàn)提示:汽車的模擬輸入信息格式可以是:(到達(dá)/離去,汽車牌照號(hào)碼,到達(dá)/離去的時(shí)刻)。例如,(?A?,1,5)表示1號(hào)牌照車在5這個(gè)時(shí)刻到達(dá),而(?D?,5,20)表示5號(hào)牌照車在20這個(gè)時(shí)刻離去。整個(gè)程序可以在輸入信息為(?E?,0,0)時(shí)結(jié)束。本題可用棧和隊(duì)列來(lái)實(shí)現(xiàn)。
選題2.一元多項(xiàng)式簡(jiǎn)單計(jì)算
問題描述:設(shè)計(jì)一個(gè)一元多項(xiàng)式簡(jiǎn)單的計(jì)算器。基本要求:一元多項(xiàng)式簡(jiǎn)單計(jì)算器的基本功能為:(1)輸入并建立多項(xiàng)式;(2)輸出多項(xiàng)式:
(3)兩個(gè)多項(xiàng)式相加減、相乘,建立并輸出多項(xiàng)式。
實(shí)現(xiàn)提示:可選擇帶頭結(jié)點(diǎn)的單向循環(huán)鏈表或單鏈表存儲(chǔ)多項(xiàng)式,頭結(jié)點(diǎn)可存放多項(xiàng)式的參數(shù)(如項(xiàng)數(shù)等)。
選題3.迷宮問題。
問題描述:迷宮實(shí)驗(yàn)是取自心理學(xué)的一個(gè)古典的實(shí)驗(yàn)。在該實(shí)驗(yàn)中,把一只老鼠從一個(gè)無(wú)頂大盒子的門放入,在盒中設(shè)置了許多墻,對(duì)行進(jìn)方向形成了多處阻攔。盒子僅有一個(gè)出口,在出口處放置一塊奶酪,吸引老鼠在迷宮中尋找道路以到達(dá)出口。對(duì)同一只老鼠重復(fù)進(jìn)行上述實(shí)驗(yàn),一直到老鼠從入口到出口,而不走錯(cuò)一步。老鼠經(jīng)多次試驗(yàn)終于得到它學(xué)習(xí)走通迷宮的路線。設(shè)計(jì)一個(gè)計(jì)算機(jī)程序?qū)θ我庠O(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論。
基本要求:要求程序輸出:
(1)一條通路的二元組(i,j)數(shù)據(jù)序列,(i,j)表示通路上某一點(diǎn)的坐標(biāo)。
(2)用一種標(biāo)志(如數(shù)字8)在二維數(shù)組中標(biāo)出該條通路,并在屏幕上輸出二維數(shù)組。
實(shí)現(xiàn)提示:可以利用一個(gè)二維數(shù)組maze[i][j]表示迷宮,其中1≦i≦m,1≦j≦n。數(shù)組元素值為1表示該位置是墻壁,不能通行;元素值為0表示該位置是通路。假定從maze[1][1]出發(fā),出口位于maze[m][n],移動(dòng)方向可以是8個(gè)方向(東、東南、南、西南、西、西北、北和東北)。
選題4.算術(shù)表達(dá)式求值演示。選題5.哈夫曼編/譯碼器。選題6.簡(jiǎn)單行編輯程序。選題7.各種圖的算法的演示。選題8.漢諾塔的演示。2.時(shí)間安排
課程設(shè)計(jì),安排在本課程的最后部分,時(shí)間一周。周1上午:設(shè)計(jì)動(dòng)員,分組,布置課程設(shè)計(jì)任務(wù)。周1下午:查閱資料。
周2全天:進(jìn)行程序總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。周3~4全天:詳細(xì)設(shè)計(jì), 系統(tǒng)調(diào)試。
周5上午:系統(tǒng)調(diào)試,整理,撰寫設(shè)計(jì)(或調(diào)研)報(bào)告。周5下午:驗(yàn)收,答辯,提交設(shè)計(jì)(或調(diào)研)報(bào)告,評(píng)定成績(jī)。
四、報(bào)告內(nèi)容及要求
課程設(shè)計(jì)報(bào)告應(yīng)不少于1000字。報(bào)告中應(yīng)包括需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、調(diào)試分析、用戶手冊(cè)、測(cè)試結(jié)果、附錄等,具體地:
(1)設(shè)計(jì)報(bào)告中應(yīng)首先包括設(shè)計(jì)題目、班級(jí)、姓名、學(xué)號(hào)、完成日期。
(2)概要設(shè)計(jì)中應(yīng)包括設(shè)計(jì)思想、實(shí)現(xiàn)方法、系統(tǒng)中主要模塊及各模塊間的關(guān)系的描述。
(3)用戶手冊(cè)應(yīng)詳細(xì)、具體,使具有程序設(shè)計(jì)語(yǔ)言基礎(chǔ)的人在閱讀用戶手冊(cè)后能使用和退出應(yīng)用程序。
(4)附錄中包括源程序、設(shè)計(jì)體會(huì)等。源程序中應(yīng)有注解,說明每個(gè)模塊的功能,使別人能比較容易地讀懂源程序;設(shè)計(jì)體會(huì)中應(yīng)包括本系統(tǒng)的不足之處以及可改進(jìn)的地方,還應(yīng)說明系統(tǒng)的特色、新的發(fā)明、創(chuàng)造等等。
第四篇:《軟件工程》課程設(shè)計(jì)要求
《軟件工程》課程設(shè)計(jì)要求
一、課程設(shè)計(jì)目的
《軟件工程》是一門實(shí)踐性極強(qiáng)的課程。課程設(shè)計(jì)通過一個(gè)實(shí)際的項(xiàng)目,培養(yǎng)學(xué)生分析問題和解決實(shí)際問題的能力,培養(yǎng)學(xué)生綜合應(yīng)用軟件工程的基本原理,方法和技術(shù)的能力,做到學(xué)以致用。
在教師的指導(dǎo)下,以實(shí)際應(yīng)用中自選的中、小型題目為主,根據(jù)不同的題目類型選擇一種開發(fā)模式,完成從系統(tǒng)定義、可行性研究、軟件需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)(編程)、軟件測(cè)試,直到運(yùn)行的軟件生存周期各階段的任務(wù)。
要求學(xué)生能把軟件工程的基本原理和方法應(yīng)用到軟件的實(shí)際開發(fā)中。強(qiáng)化軟件開發(fā)的團(tuán)隊(duì)協(xié)作意識(shí),合作完成一個(gè)項(xiàng)目的開發(fā)過程。
二、課程設(shè)計(jì)基本要求
1、由學(xué)生自行選定題目。
2、根據(jù)學(xué)生的意愿,兩人組成一個(gè)小組,也可單獨(dú)完成。
3、采用學(xué)生自主完成項(xiàng)目為主,教師輔導(dǎo)答疑為輔的教學(xué)方式。
4、嚴(yán)格按照時(shí)間要求和進(jìn)度安排,獨(dú)立完成各階段的任務(wù)。
5、課程設(shè)計(jì)的工作量,因選題不同,可以略有不同。
6、開發(fā)工具和程序設(shè)計(jì)語(yǔ)言自行確定。
7、要求每個(gè)小組的設(shè)計(jì)報(bào)告不少于50頁(yè)。
三、課程設(shè)計(jì)報(bào)告的驗(yàn)收
每個(gè)小組必須提交一份完整的報(bào)告文檔,包含如下八個(gè)方面的內(nèi)容:
1、系統(tǒng)規(guī)格說明書
2、可行性分析報(bào)告
3、軟件需求規(guī)格說明書
4、軟件設(shè)計(jì)說明書
5、模塊開發(fā)卷宗(源代碼清單)和單元測(cè)試
6、軟件測(cè)試計(jì)劃和測(cè)試分析報(bào)告
7、軟件安裝手冊(cè)、用戶操作手冊(cè)
8、項(xiàng)目開發(fā)總結(jié)報(bào)告
四、排版要求
1、文檔內(nèi)容完善,格式規(guī)范,基本符合國(guó)家標(biāo)準(zhǔn)。
2、課程設(shè)計(jì)報(bào)告的各級(jí)標(biāo)題為黑體三號(hào),正文為小四號(hào)宋體字,默認(rèn)A4紙,行距為固定值22磅。
第五篇:計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)任務(wù)與要求
2012春計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)任務(wù)與要求
一、課程目標(biāo)
深入理解計(jì)算機(jī)網(wǎng)絡(luò)基本原理,將書本上抽象的概念與具體的實(shí)現(xiàn)技術(shù)相結(jié)合,體會(huì)網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)過程,以及專業(yè)技術(shù)人員所使用的基本方法和技巧;熟悉相關(guān)應(yīng)用開發(fā)工具,掌握網(wǎng)絡(luò)協(xié)議應(yīng)用開發(fā)技術(shù);進(jìn)一步熟悉網(wǎng)絡(luò)設(shè)備,學(xué)習(xí)組網(wǎng)技術(shù),掌握網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)的基本方法;培養(yǎng)一定的自學(xué)能力和獨(dú)立分析問題、解決問題的能力;對(duì)設(shè)計(jì)中遇到的問題,能通過獨(dú)立思考、查閱資料、參考文獻(xiàn),尋求解決方案。
二、設(shè)計(jì)題目說明
設(shè)計(jì)題目設(shè)置上,采取了分類、分級(jí)的形式。
分5個(gè)類別,分別是:網(wǎng)絡(luò)協(xié)議或算法、網(wǎng)絡(luò)服務(wù)、組網(wǎng)設(shè)計(jì)、網(wǎng)絡(luò)應(yīng)用編程、理論與應(yīng)用研究。分3個(gè)級(jí)別,從高至低分別是A、B、C。題目的級(jí)別綜合依據(jù)創(chuàng)新性、綜合性、實(shí)用性、難度等因素,不同級(jí)別,成績(jī)起評(píng)分?jǐn)?shù)有別。
A級(jí)題目(良-優(yōu)):較難;綜合性強(qiáng)、有明顯或突出的創(chuàng)新、探究性較強(qiáng)、實(shí)際課題或項(xiàng)目的一部分(實(shí)用性);工作量非常飽滿;富有建設(shè)性;有很強(qiáng)的分析問題與解決問題的能力。
B級(jí)題目(中-良):難度適中;工作內(nèi)容側(cè)重于設(shè)計(jì)或研究或較高水平應(yīng)用;有一定綜合性、有一定創(chuàng)新、有一定實(shí)用性;工作量飽滿;有較強(qiáng)的分析問題與解決問題的能力。
C級(jí)題目(及格-中):難度不大或偏小;工作內(nèi)容側(cè)重于驗(yàn)證或?qū)W習(xí)或簡(jiǎn)單應(yīng)用;基本上無(wú)創(chuàng)新;工作量不大;有一定的分析問題與解決問題的能力。
三、任務(wù)完成形式
(1)交付課程設(shè)計(jì)說明書(紙質(zhì)+電子版)(2)通過現(xiàn)場(chǎng)驗(yàn)收或答辯
(3)交付完整的設(shè)計(jì)作品(或能體現(xiàn)自己工作的視頻課件)
對(duì)于第一、四類題目,必須交付設(shè)計(jì)作品,設(shè)計(jì)作品指的是完整的源程序代碼、相關(guān)數(shù)據(jù)文件; 對(duì)于第三類題目,必須交付設(shè)計(jì)作品,設(shè)計(jì)作品指的是網(wǎng)絡(luò)拓?fù)湮募⒕W(wǎng)絡(luò)仿真配置文件; 對(duì)于第二、五類題目,必須交付能體現(xiàn)自己工作的視頻課件,要求有一定的文字或聲音解說。課程設(shè)計(jì)說明書(紙質(zhì)+電子版),對(duì)于對(duì)于第一、四類題目,內(nèi)容包括:設(shè)計(jì)任務(wù)、系統(tǒng)分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)(相應(yīng)地給出關(guān)鍵的代碼)、設(shè)計(jì)總結(jié)(評(píng)價(jià)/遇到的問題/體會(huì)/建議等)、使用說明等。
四、工作計(jì)劃與進(jìn)度安排
根據(jù)所選題目,合理安排進(jìn)度計(jì)劃,總體上需要50個(gè)小時(shí)以上(不包含查資料時(shí)間)。以下僅供參考:
1.原理知識(shí)
8小時(shí)以上
2.實(shí)用技術(shù)(編程、或組網(wǎng)、服務(wù)器技術(shù))
8小時(shí)以上 3.環(huán)境與工具(系統(tǒng)平臺(tái)、開發(fā)或仿真工具)4小時(shí)以上 4.總體設(shè)計(jì)、關(guān)鍵環(huán)節(jié)的詳細(xì)設(shè)計(jì)
10小時(shí) 5.系統(tǒng)實(shí)現(xiàn)(編碼與調(diào)試、或配置與測(cè)試)
12小時(shí) 6.課程設(shè)計(jì)說明書
8小時(shí)
五、成績(jī)?cè)u(píng)定
總評(píng)成績(jī)=平時(shí)成績(jī)x20﹪+驗(yàn)收或答辯成績(jī)x50﹪+報(bào)告成績(jī)x30﹪
六、設(shè)計(jì)題目及選題
以班為單位組織選題,每人限選一題,每題限一人(除特別聲明外);可自擬題目,需申報(bào)待批,自擬題目不能與已有的題目重復(fù)。題目分五類、三個(gè)級(jí)別,根據(jù)個(gè)人的興趣及基礎(chǔ)自行選擇。
自擬題目要求:
(1)主要內(nèi)容須與本課程相關(guān)(屬于上述五種題目類型中某類);(2)原則上僅限A、B級(jí)
(3)在課程設(shè)計(jì)正式開始前(至少提前三天),提交“課程設(shè)計(jì)自擬題目”申請(qǐng)報(bào)告,等待指導(dǎo)老師審批,申請(qǐng)報(bào)告內(nèi)容分以下幾部分,注意內(nèi)容一定要具體,否則不予批準(zhǔn):
題目、類別、級(jí)別、申請(qǐng)人學(xué)號(hào)/姓名/專業(yè)、設(shè)計(jì)任務(wù)/內(nèi)容、選題背景、相關(guān)的原理/技術(shù)/方法、系統(tǒng)平臺(tái)與開發(fā)工具(語(yǔ)言)、可能的創(chuàng)新或特色之處、工作計(jì)劃、參考文獻(xiàn)。
第一類題目: 網(wǎng)絡(luò)協(xié)議、算法
要求:
(1)推薦采用圖形界面實(shí)現(xiàn)。
(2)程序代碼書寫規(guī)范,有充足的注釋。
(3)綠色軟件:程序運(yùn)行不需安裝,避免寫系統(tǒng)和注冊(cè)表;(4)開發(fā)平臺(tái)、開發(fā)語(yǔ)言不限。
(5)明確題目的意圖,設(shè)計(jì)上應(yīng)有足夠的工作量 1.網(wǎng)絡(luò)協(xié)議解析(基于文件)
(1)使用報(bào)文分析工具軟件,捕獲報(bào)文并進(jìn)行存儲(chǔ),獲得報(bào)文數(shù)據(jù)文件。(2)編程,在圖形界面下,對(duì)報(bào)文的協(xié)議進(jìn)行解碼(3)對(duì)ethernet_II、ip、tcp、udp協(xié)議進(jìn)行解碼【C】(4)對(duì)ieee802.3、icmp協(xié)議進(jìn)行解碼【B】(5)對(duì)ftp協(xié)議進(jìn)行解碼【A】
2.網(wǎng)絡(luò)協(xié)議解析(基于Raw Socket)
(1)編程,基于socket API接口,使用raw socket捕獲網(wǎng)絡(luò)報(bào)文,過濾得到指定格式的報(bào)文(2)編程,在圖形界面下,對(duì)報(bào)文的協(xié)議進(jìn)行解碼(3)對(duì)ethernet_II、ip、tcp、udp協(xié)議進(jìn)行解碼【C】(4)對(duì)ieee802.3、arp協(xié)議進(jìn)行解碼【B】(5)對(duì)http協(xié)議進(jìn)行解碼【A】
3.網(wǎng)絡(luò)協(xié)議解析(基于Winpcap接口)
(1)編程,基于winpcap接口,捕獲網(wǎng)絡(luò)報(bào)文,過濾得到指定格式的報(bào)文(2)編程,在圖形界面下,對(duì)報(bào)文的協(xié)議進(jìn)行解碼(3)對(duì)ethernet_II、ip、tcp、udp協(xié)議進(jìn)行解碼【C】(4)對(duì)IPV6、ICMPV6協(xié)議進(jìn)行簡(jiǎn)單的解碼【B】(5)對(duì)除ftp、http外的某種應(yīng)用層協(xié)議進(jìn)行解碼【A】
4.模擬共享網(wǎng)絡(luò)中Ethernet幀的發(fā)送過程
使用至少2個(gè)線程模擬Ethernet上主機(jī)的數(shù)據(jù)發(fā)送流程。發(fā)送流程必須遵循CSMA/CD協(xié)議【C】。5.發(fā)送和解析Ethernet ARP包
熟悉ARP協(xié)議并了解Winpcap編程,構(gòu)造ARP包;先在主機(jī)A,ARP包發(fā)送出給主機(jī)B。再在主機(jī)B上解析此ARP包。【C】 6.模擬TCP協(xié)議通信過程
編程,基于圖形界面,仿真兩個(gè)對(duì)等的tcp通信實(shí)體,完成一次文件(數(shù)據(jù)較長(zhǎng))傳輸?shù)耐ㄐ胚^程。要求具有如下的交互能力:(1)數(shù)據(jù)文件的長(zhǎng)度的設(shè)置
(2)雙方發(fā)送、接收窗口大小的設(shè)置
(3)報(bào)文丟失、出錯(cuò)、重復(fù)、順序的人為設(shè)置(可定義有關(guān)策略(4)發(fā)送、或接收能力的設(shè)置(假設(shè)一方主機(jī)很忙)(5)設(shè)置可采取預(yù)先設(shè)置、也可中途設(shè)置(6)可自動(dòng)演示、可單步操作
(7)每一步報(bào)文都可給出tcp頭部數(shù)據(jù),并進(jìn)行說明【B】
(8)給出時(shí)間軸,以起始時(shí)間為0,適當(dāng)考慮網(wǎng)絡(luò)發(fā)送、接收處理及傳輸延遲,給出每個(gè)報(bào)文發(fā)送與 接收時(shí)間
7.RIP路由仿真配置與測(cè)試程序設(shè)計(jì)
以圖形化界面形式,對(duì)多個(gè)路由器組成的網(wǎng)絡(luò),實(shí)現(xiàn)RIP路由仿真配置與測(cè)試。路由學(xué)習(xí)建議采用多線程方式實(shí)現(xiàn)。【A】 8.FTP客戶端設(shè)計(jì)(基于winsock接口)
實(shí)現(xiàn)的ftp客戶端,能列出/更改目錄,上下傳文件,顯示文件列表等選項(xiàng)。【A】 9.HTTP客戶端的設(shè)計(jì)與實(shí)現(xiàn)(基于winsock接口)
開發(fā)一HTTP客戶端,使其能夠向web服務(wù)器請(qǐng)求文件、和向服務(wù)器提交數(shù)據(jù),以便服務(wù)器做出相應(yīng)的處理。【A】 10.電子郵件客戶端的設(shè)計(jì)與實(shí)現(xiàn)(基于winsock接口)
完成一個(gè)電子郵件客戶端軟件,要求能夠收取郵件、發(fā)送郵件、書寫新郵件、具有圖形化界面。能批量發(fā)送郵件。【A】
11.軟件路由器的設(shè)計(jì)與實(shí)現(xiàn)(基于Winpcap接口)
(1)編程實(shí)現(xiàn)一個(gè)簡(jiǎn)易的路由器(具有路由功能)
(2)具有圖形化界面、顯示所有的過路、已路由、已丟棄報(bào)文(3)對(duì)ethernet_ii、簡(jiǎn)單的ip、tcp、udp協(xié)議進(jìn)行解碼(4)支持靜態(tài)路由的配置【B】
(5)可以人為地對(duì)可路由報(bào)文進(jìn)行延遲發(fā)送、刪除、修改、改變發(fā)送順序等操作【A】 12.利用RTP協(xié)議完成多媒體數(shù)據(jù)流傳輸
(1)消化理解實(shí)時(shí)傳輸協(xié)議RTP及其源代碼(可以從網(wǎng)上下載)
(2)分別編寫個(gè)服務(wù)器、客戶端程序,使用RTP協(xié)議來(lái)實(shí)時(shí)傳輸視頻數(shù)據(jù)或音頻數(shù)據(jù)【A】 13.自定義應(yīng)用層協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)(基于UDP)
協(xié)議名稱:myqq
協(xié)議功能:實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng)功能(1)注冊(cè)
(2)登入與注銷(3)獲取在線用戶表
(4)對(duì)指定用戶發(fā)送聊天報(bào)文(5)群發(fā)聊天報(bào)文【A】 14.TCP通信仿真課件設(shè)計(jì)
設(shè)計(jì)一個(gè)課件程序,采用圖形化設(shè)計(jì),主要功能:
(1)能讀取wireshark或sniffer工具所捕獲的數(shù)據(jù)文件(2)能以直觀形式表達(dá)TCP連接的建立、釋放過程(3)能以直觀形式表達(dá)報(bào)文序號(hào)變化、應(yīng)答機(jī)制【B】(4)能以直觀形式仿真報(bào)文的丟失與重傳(5)*能以直觀形式表達(dá)流量控制【A】 15.擴(kuò)展UDP實(shí)現(xiàn)SR可靠數(shù)據(jù)傳輸
(1)熟悉流水線可靠數(shù)據(jù)傳輸機(jī)制(GBN);(2)熟悉TCP/UDP協(xié)議規(guī)范;
(3)基于UDP的SR(選擇重傳)可靠數(shù)據(jù)傳輸機(jī)制分析與設(shè)計(jì)(4)UDP Socket程序設(shè)計(jì)
(5)利用UDP實(shí)現(xiàn)可靠數(shù)據(jù)傳輸服務(wù)的驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【A】 16.TRACERT圖形化工具
(1)另寫一個(gè)程序,取代Windows 下的Tracert命令,并以圖形界面顯示輸出結(jié)果。(2)能解析主機(jī)的域名(將域名解析成對(duì)應(yīng)的IP)(3)支持對(duì)物理網(wǎng)絡(luò)的跟蹤【B】
(4)支持邏輯網(wǎng)絡(luò)的定義、及對(duì)邏輯網(wǎng)絡(luò)的跟蹤【A】 17.OSPF實(shí)現(xiàn)
熟悉OSPF協(xié)議,尋求指定有向圖的最短路徑。要求用圖形顯示求解過程。【A】
第二類題目: 網(wǎng)絡(luò)服務(wù)
要求:
(1)在虛擬機(jī)環(huán)境下搭建操作系統(tǒng)平臺(tái),虛擬機(jī)網(wǎng)卡與物理網(wǎng)絡(luò)進(jìn)行橋接(2)網(wǎng)絡(luò)操作系統(tǒng)類型為linux、ubuntu或windows server 2003/2008(3)學(xué)習(xí)相關(guān)服務(wù)器理論知識(shí)和配置、應(yīng)用方法(4)合理規(guī)劃所要求提供的服務(wù)
(5)完成相關(guān)的配置,并進(jìn)行相應(yīng)的應(yīng)用測(cè)試(6)對(duì)所遇到的問題進(jìn)行分析和解決,(7)應(yīng)有足夠的工作量
1.某單位網(wǎng)絡(luò)應(yīng)用服務(wù)器的搭建與測(cè)試(一)(基于linux或ubuntu平臺(tái))
(1)網(wǎng)絡(luò)操作系統(tǒng)安裝(在虛擬機(jī)環(huán)境下)
(2)DNS、DHCP服務(wù)器
(3)郵件服務(wù)器
(4)FTP服務(wù)器
(5)WEB服務(wù)器
(6)TELNET服務(wù)、NFS服務(wù)
2.某單位網(wǎng)絡(luò)應(yīng)用服務(wù)器的搭建與測(cè)試(二)(基于linux或ubuntu平臺(tái))
(1)網(wǎng)絡(luò)操作系統(tǒng)安裝(在虛擬機(jī)環(huán)境下)
(2)防火墻服務(wù)
(3)SSH服務(wù)器
(4)VNC服務(wù)器
(5)VPN服務(wù)
*(6)P2P服務(wù)器
3.某單位網(wǎng)絡(luò)應(yīng)用服務(wù)器的搭建與測(cè)試(一)(基于windows server 2003/2008平臺(tái))
(1)網(wǎng)絡(luò)操作系統(tǒng)安裝(在虛擬機(jī)環(huán)境下)
(2)AD、DNS、DHCP服務(wù)
(3)Exchange郵件服務(wù)
*(4)ISA服務(wù)
(5)VPN遠(yuǎn)程訪問
(6)、遠(yuǎn)程管理
4.Windows服務(wù)器集群的部署與測(cè)試(基于Vmware)(1)網(wǎng)絡(luò)操作系統(tǒng)安裝(在虛擬機(jī)環(huán)境下)(2)Windows服務(wù)器集群的部署(3)集群的應(yīng)用測(cè)試
第三類題目: 組網(wǎng)設(shè)計(jì)
(以方案設(shè)計(jì)為主,以網(wǎng)絡(luò)仿真為輔,仿真部分需要驗(yàn)收)網(wǎng)絡(luò)工程專業(yè)同學(xué)不宜選該類題目 要求:
(1)論文論述詳盡,主要內(nèi)容有:
設(shè)計(jì)任務(wù)、需求分析、總體設(shè)計(jì)方案與拓?fù)鋱D、設(shè)備選型、關(guān)鍵設(shè)計(jì)、仿真配置與測(cè)試、結(jié)論。(3)對(duì)方案中關(guān)鍵設(shè)計(jì),盡可能用仿真軟件進(jìn)行仿真配置與測(cè)試。
組網(wǎng)仿真軟件建議采用packet tracer(只能仿真cisco的部分中低端網(wǎng)絡(luò)設(shè)備),當(dāng)然為了能在該軟件中進(jìn)行仿真,對(duì)原方案中的設(shè)計(jì)進(jìn)行必要的簡(jiǎn)化、設(shè)備作必要的變通是必然的。(4)題目中的“某”,必須為具體的單位名稱(最好為自己所熟悉的)
(5)沒有特別說明時(shí),目標(biāo)網(wǎng)絡(luò)規(guī)模為中等規(guī)模的園區(qū)網(wǎng)絡(luò)(信息節(jié)點(diǎn)數(shù)為500個(gè)到5000個(gè)之間)(6)沒有特別說明時(shí),VLAN技術(shù)、RIP或OSPF動(dòng)態(tài)路由技術(shù)必須運(yùn)用到設(shè)計(jì)中(7)沒有特別說明時(shí),支持internet接入
1.某校園網(wǎng)組網(wǎng)路由方案設(shè)計(jì)(基于Packet Tracer)
某大學(xué)網(wǎng)絡(luò)有20000余信息節(jié)點(diǎn),分辦公、教學(xué)、學(xué)生宿舍、家屬四個(gè)區(qū),請(qǐng)結(jié)合實(shí)際分析其需求,重新對(duì)其網(wǎng)絡(luò)進(jìn)行規(guī)劃設(shè)計(jì):(1)技術(shù)選型、總體設(shè)計(jì)(2)設(shè)備選型
(3)詳細(xì)的拓?fù)湓O(shè)計(jì)
(4)詳細(xì)的IP規(guī)劃(從網(wǎng)段到節(jié)點(diǎn))
(5)給出合理的路由方案、含internet出口與教育網(wǎng)出口路由(6)實(shí)現(xiàn)仿真配置與測(cè)試(7)支持遠(yuǎn)程用戶訪問
2.某校園網(wǎng)內(nèi)網(wǎng)VLAN方案設(shè)計(jì)(基于Packet Tracer)
某大學(xué)網(wǎng)絡(luò)有20000余信息節(jié)點(diǎn),分辦公、教學(xué)、學(xué)生宿舍、家屬四個(gè)區(qū),請(qǐng)結(jié)合實(shí)際分析其需求,重新對(duì)其網(wǎng)絡(luò)進(jìn)行規(guī)劃設(shè)計(jì),不考慮與外網(wǎng)的互聯(lián):(1)技術(shù)選型、總體設(shè)計(jì)(2)設(shè)備選型
(3)詳細(xì)的拓?fù)湓O(shè)計(jì)
(4)IP規(guī)劃、VLAN設(shè)計(jì)、(5)VLAN路由設(shè)計(jì)(6)實(shí)現(xiàn)仿真配置與測(cè)試
3.某校園網(wǎng)的擴(kuò)容方案及實(shí)施(基于Packet Tracer)
對(duì)某校已有的校園網(wǎng),根據(jù)新校區(qū)的建立和更多的要求對(duì)其進(jìn)行擴(kuò)容方案的設(shè)計(jì)與實(shí)施。4.某單位(企業(yè)、醫(yī)院、社區(qū)、學(xué)生公寓、學(xué)校、酒店)網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)(基于Packet Tracer)對(duì)某單位的網(wǎng)絡(luò)進(jìn)行需求分析,完成下列設(shè)計(jì)任務(wù):(1)給出技術(shù)選型、總體設(shè)計(jì)(2)給出設(shè)備選型
(3)給出詳細(xì)的拓?fù)湓O(shè)計(jì)
(4)給出VLAN設(shè)計(jì)、ip規(guī)劃(5)給出路由設(shè)計(jì)(6)實(shí)現(xiàn)仿真配置與測(cè)試
5.園區(qū)網(wǎng)絡(luò)的路由設(shè)計(jì)(基于gns3環(huán)境)6.園區(qū)網(wǎng)絡(luò)的防火墻設(shè)計(jì)(基于gns3環(huán)境)7.基于H3C網(wǎng)絡(luò)設(shè)備的園區(qū)網(wǎng)絡(luò)設(shè)計(jì)
8.園區(qū)網(wǎng)絡(luò)的路由冗余與鏈路聚合設(shè)計(jì)(基于gns3環(huán)境)
第四類題目: 網(wǎng)絡(luò)應(yīng)用編程
要求:
(1)推薦采用圖形界面實(shí)現(xiàn)。
(2)程序代碼書寫規(guī)范,有充足的注釋。
(3)綠色軟件:程序運(yùn)行不需安裝,避免寫系統(tǒng)和注冊(cè)表;(4)開發(fā)平臺(tái)、開發(fā)語(yǔ)言不限。
(5)明確題目的意圖,設(shè)計(jì)上應(yīng)有足夠的工作量 1.LAN小助手
編程實(shí)現(xiàn)以下功能:
(1)發(fā)送ICMP數(shù)據(jù)包,以獲取指定IP網(wǎng)段中的活動(dòng)主機(jī),并將結(jié)果顯示在標(biāo)準(zhǔn)輸出設(shè)備或輸出到文件中。
(2)顯示這些主機(jī)的的IP地址與對(duì)應(yīng)的MAC地址的關(guān)系表(3)能顯示本地機(jī)所有可用的網(wǎng)絡(luò)接口與對(duì)應(yīng)的ip地址(4)能修改本地機(jī)指定網(wǎng)絡(luò)接口的ip地址
(5)能解析主機(jī)的域名(將域名解析成對(duì)應(yīng)的IP)2.網(wǎng)絡(luò)流量統(tǒng)計(jì)(基于raw socket)
監(jiān)控網(wǎng)絡(luò),捕獲一段時(shí)間內(nèi)網(wǎng)絡(luò)上的IP數(shù)據(jù)包,按IP數(shù)據(jù)包的源地址統(tǒng)計(jì)出該源地址在該時(shí)間段內(nèi)發(fā)出的IP數(shù)據(jù)包的個(gè)數(shù),并將其用圖形表示出來(lái)。3.網(wǎng)絡(luò)流量統(tǒng)計(jì)(基于Winpcap接口)
監(jiān)控網(wǎng)絡(luò),捕獲一段時(shí)間內(nèi)網(wǎng)絡(luò)上的IP數(shù)據(jù)包,按IP數(shù)據(jù)包的源地址統(tǒng)計(jì)出該源地址在該時(shí)間段內(nèi)發(fā)出的IP數(shù)據(jù)包的個(gè)數(shù),并將其用圖形表示出來(lái)。4.包過濾防火墻的設(shè)計(jì)與實(shí)現(xiàn)(基于Winsock SPI接口)
要求實(shí)現(xiàn)一個(gè)簡(jiǎn)單的包過濾防火墻,能夠根據(jù) IP 地址范圍阻塞或允許客戶機(jī)對(duì) FTP 服務(wù)的訪問。5.包過濾防火墻的設(shè)計(jì)與實(shí)現(xiàn)(基于linux/Ubuntu)
要求實(shí)現(xiàn)一個(gè)簡(jiǎn)單的包過濾防火墻,能夠根據(jù) IP 地址范圍阻塞或允許客戶機(jī)對(duì) FTP 服務(wù)的訪問。6.簡(jiǎn)易HTTP代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
代理服務(wù)器使用偵聽socket在指定的端口上偵聽web訪問請(qǐng)求,對(duì)于客戶端每次訪問都自動(dòng)創(chuàng)建一個(gè)線程,解析客戶端Host頭域里面的值,獲取目標(biāo)web服務(wù)器地址,并使用socket進(jìn)行連接,以“中繼”方式,轉(zhuǎn)發(fā) 雙方的http包。7.基于UDP協(xié)議網(wǎng)上聊天程序
實(shí)現(xiàn)一簡(jiǎn)單的聊天程序?qū)崿F(xiàn)網(wǎng)上聊天,包括服務(wù)器和客戶端。要求:(1)支持多人聊天。
(2)客戶端具有圖形化用戶界面。8.基于TCP協(xié)議網(wǎng)上聊天程序
實(shí)現(xiàn)一簡(jiǎn)單的聊天程序?qū)崿F(xiàn)網(wǎng)上聊天,包括服務(wù)器和客戶端。要求:(1)支持多人聊天。
(2)客戶端具有圖形化用戶界面。9.FTP服務(wù)器設(shè)計(jì)
實(shí)現(xiàn)一FTP服務(wù)器,能列出/更改目錄,上下傳文件,顯示文件列表,支持NOOP/PASV/BIN等選項(xiàng)。10.FTP客戶端設(shè)計(jì)(基于與FTP協(xié)議相關(guān)的類)
實(shí)現(xiàn)的ftp客戶端,能列出/更改目錄,上下傳文件,顯示文件列表等選項(xiàng)。11.簡(jiǎn)單的端口掃描器(1人)
實(shí)現(xiàn)一個(gè)端口掃描程序,判斷指定的主機(jī)有哪些端口可以提供服務(wù), 并把掃描得知的結(jié)果記錄下來(lái)。12.簡(jiǎn)單Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)(1人)
完成一個(gè)簡(jiǎn)單的Web服務(wù)器,要求能夠通過HTTP Get命令獲得一個(gè)簡(jiǎn)單的HTML文件。(可以帶圖片。)13.HTTP客戶端的設(shè)計(jì)與實(shí)現(xiàn)(基于與HTTP協(xié)議相關(guān)的類)
開發(fā)一HTTP客戶端,使其能夠向web服務(wù)器請(qǐng)求文件、和向服務(wù)器提交數(shù)據(jù),以便服務(wù)器做出相應(yīng)的處理。
14.簡(jiǎn)單電子郵件客戶端的設(shè)計(jì)與實(shí)現(xiàn)(基于與郵件協(xié)議相關(guān)的類)
完成一個(gè)電子郵件客戶端軟件,要求能夠收取郵件、發(fā)送郵件、書寫新郵件、具有圖形化界面。提示:可選用基于JavaMail網(wǎng)絡(luò)包實(shí)現(xiàn)。15.P2P文件傳輸平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
分別設(shè)計(jì)一個(gè)服務(wù)器、客戶端程序,客戶端使用 p2p協(xié)議從“服務(wù)器端”進(jìn)行文件下載。16.綜合掃描器程序的實(shí)現(xiàn)
(1)ARP掃描實(shí)現(xiàn)(2)ICMP掃描實(shí)現(xiàn)(3)TCP掃描實(shí)現(xiàn)(4)UDP掃描實(shí)現(xiàn) 17.利用組播實(shí)現(xiàn)網(wǎng)絡(luò)屏幕廣播
(1)通過socket接口,引用UDP協(xié)議,設(shè)置成組播通信方式(2)分別設(shè)計(jì)教師機(jī)端程序、學(xué)生機(jī)端程序,(3)教師機(jī)端程序?qū)⒈緳C(jī)屏幕畫面,定時(shí)地以多播方式傳給學(xué)生機(jī)端程序顯示 18.本地網(wǎng)絡(luò)信息設(shè)置與網(wǎng)絡(luò)對(duì)時(shí)程序設(shè)計(jì)
主要功能如下:
(1)本地網(wǎng)絡(luò)信息的獲取
計(jì)算機(jī)名稱、IP地址、網(wǎng)卡地址、DNS設(shè)置、安裝的協(xié)議、提供的服務(wù)、TCP/IP運(yùn)行信息。(2)修改本地計(jì)算機(jī)的網(wǎng)絡(luò)設(shè)置
(3)采用ntp協(xié)議從internet上某個(gè)時(shí)間服務(wù)器,獲取時(shí)間信息,準(zhǔn)確地更新本地機(jī)時(shí)鐘,支持手動(dòng)、定時(shí)自動(dòng)兩種方式
19.基于IPV6的文件傳輸程序設(shè)計(jì)
程序分文件發(fā)送端、文件接收端兩部分。功能是發(fā)送端能向接收端傳輸文件。通信雙方采用ipv6地址,在傳輸層上采用 TCP協(xié)議傳數(shù)據(jù)。20.基于多播的文件傳輸程序設(shè)計(jì) 程序分文件發(fā)送端、文件接收端兩部分。功能是文件發(fā)送端能同時(shí)向n個(gè)接收端傳輸文件。要求采用UDP協(xié)議并以多播(組播)方式實(shí)現(xiàn)通信。21.基于多線程的文件傳輸程序設(shè)計(jì)
程序分服務(wù)器端、客戶端兩部分。功能是服務(wù)器端能同時(shí)響應(yīng)n個(gè)客戶端的tcp連接請(qǐng)求,提供指定文件下載。服務(wù)器端要求采用多線程編程技術(shù)。22.點(diǎn)對(duì)點(diǎn)語(yǔ)音聊天程序設(shè)計(jì)
程序主要由語(yǔ)音采集、語(yǔ)音發(fā)送、語(yǔ)音接收、語(yǔ)音播放四個(gè)部分組成。
通信協(xié)議采用UDP;圖形化界面;語(yǔ)音采集與播放采用windows API(ACM)接口。23.網(wǎng)絡(luò)對(duì)弈程序設(shè)計(jì)
運(yùn)用tcp協(xié)議設(shè)計(jì)一個(gè)五子棋聯(lián)機(jī)對(duì)弈程序,采用圖形化方式設(shè)計(jì)。24.網(wǎng)絡(luò)U盤(2人)
(1)實(shí)現(xiàn)遠(yuǎn)程主機(jī)上管理自己的文件:如創(chuàng)建、打開、復(fù)制、刪除文件或目錄以及遠(yuǎn)程文件上傳、下載;
(2)程序包括客戶端和服務(wù)器端兩部分: 客戶端使用圖形用戶界面發(fā)出各種管理命令;接收服務(wù)器返回的操作結(jié)果。服務(wù)器為每個(gè)用戶建立一個(gè)目錄(網(wǎng)絡(luò)U盤),服務(wù)器維護(hù)用戶對(duì)目錄操作權(quán)限的列表,負(fù)責(zé)驗(yàn)證用戶對(duì)文件的操作權(quán)限;接收和執(zhí)行授權(quán)用戶的命令并返回操作結(jié)果;
(3)用戶界面:服務(wù)器端界面顯示用戶登錄及認(rèn)證信息和操作日志;客戶端界面可以設(shè)置遠(yuǎn)程主機(jī)名;顯示遠(yuǎn)程文件列表;操作命令可以采用菜單、按鈕及彈出菜單來(lái)實(shí)現(xiàn)。要求界面布局合理、簡(jiǎn)潔美觀。
(4)運(yùn)用Socket 技術(shù),使用TCP協(xié)議 25.機(jī)房網(wǎng)絡(luò)試題發(fā)放與回收軟件設(shè)計(jì)(2人)
軟件的結(jié)構(gòu)是C/S模式
(1)分別設(shè)計(jì)教師機(jī)端、學(xué)生端程序(2)學(xué)生端程序主要功能是:
運(yùn)行后可以登錄到教師端程序(考試系統(tǒng))、自動(dòng)打開試題文檔、提示考試相關(guān)信息、自動(dòng)鎖定鍵盤(考試計(jì)時(shí)結(jié)束)(3)教師端程序主要功能是:
導(dǎo)入考生名單、核對(duì)登錄者身份、向?qū)W生端發(fā)放試題文件(自動(dòng)或手動(dòng))、啟動(dòng)考試計(jì)時(shí)、自動(dòng)回收答題文件、自動(dòng)清除學(xué)生端主機(jī)指定位置文件 26.網(wǎng)絡(luò)投票系統(tǒng)設(shè)計(jì)
服務(wù)器端:能編輯候選人名單、能發(fā)布投票的結(jié)果、能接收投票、能設(shè)置投票的起止時(shí)間、能記錄每個(gè)投票者得名字、主機(jī)的ip、主機(jī)的cpu id、投票的時(shí)間、能制定和實(shí)施合理的投票規(guī)則。
客戶端:能查看候選人名單、投票的結(jié)果、能投票
第五類題目: 理論與應(yīng)用研究
本類題目需要答辯驗(yàn)收。要求:
(1)內(nèi)容涉及本課程相關(guān)領(lǐng)域的前沿、有良好的應(yīng)用前景。(2)目前已經(jīng)實(shí)用化或初步實(shí)用化
(3)對(duì)普通學(xué)習(xí)者技術(shù)門檻還比較高、但很有應(yīng)用、借鑒價(jià)值(4)系統(tǒng)學(xué)習(xí)相關(guān)的理論知識(shí)和應(yīng)用技術(shù),與具體應(yīng)用結(jié)合起來(lái)
(5)綜合運(yùn)用所學(xué)的知識(shí),運(yùn)用恰當(dāng)?shù)姆椒ā⑹侄位蚬ぞ撸瑢?duì)某些實(shí)際問題進(jìn)行分析、實(shí)踐,并給出自己的見解或結(jié)論。(6)有足夠的工作量
1.Windows與Linux系統(tǒng)網(wǎng)絡(luò)架構(gòu)及編程接口研究 2.基于Linux平臺(tái)的路由器源代碼的剖析 3.網(wǎng)絡(luò)翻墻的機(jī)制與應(yīng)用 4.網(wǎng)絡(luò)分布式計(jì)算技術(shù)及應(yīng)用 5.IPV6技術(shù)及應(yīng)用 6.P2P技術(shù)及應(yīng)用
7.Windows系統(tǒng)下網(wǎng)卡驅(qū)動(dòng)程序開發(fā)技術(shù) 8.Linux系統(tǒng)下網(wǎng)卡驅(qū)動(dòng)程序開發(fā)技術(shù) 9.藍(lán)牙通信技術(shù)及應(yīng)用
10.長(zhǎng)中短距離無(wú)線通信技術(shù)及應(yīng)用 11.國(guó)內(nèi)城域網(wǎng)主流技術(shù)與最新進(jìn)展 12.三網(wǎng)融合及其發(fā)展
七、參考教材
[1] Andrew S.Tanenbaum、David J.Wetherall.計(jì)算機(jī)網(wǎng)絡(luò)(英文版?第5版).機(jī)械工業(yè)出版社 [2]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第5版).電子工業(yè)出版社
[3]吳功宜.計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì).機(jī)械工業(yè)出版社 //C語(yǔ)言編程
[4] 王勇.計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)(計(jì)算機(jī)課程設(shè)計(jì)與綜合實(shí)踐規(guī)劃教材).清華大學(xué)出版社 //Java編程
[5] 葉樹華.網(wǎng)絡(luò)編程實(shí)用教程(第2版).人民郵電出版社.2010 //適合初學(xué)者 [6] 王艷平.Windows網(wǎng)絡(luò)與通信程序設(shè)計(jì)(第二版).人民郵電出版社 //適合高手 [7] 金華.C#網(wǎng)絡(luò)編程技術(shù)教程(21世紀(jì)高等院校網(wǎng)絡(luò)工程規(guī)劃教材).人民郵電出版社 [8] 思科網(wǎng)絡(luò)技術(shù)學(xué)院CCNA Exploration4.0——LAN交換和無(wú)線 [9] 思科網(wǎng)絡(luò)技術(shù)學(xué)院CCNA Exploration4.0——路由協(xié)議和概念
[10] 恒逸資訊, 呂政周.Windows Server 2008系統(tǒng)管理員實(shí)用全書.電子工業(yè)出版社 [11] 冷罡華.Ubuntu Server最佳方案.電子工業(yè)出版社
八、上機(jī)與驗(yàn)收安排
1、上機(jī)指導(dǎo)時(shí)間:
第1周的周一、二、五下午 第2周的周二、三、五下午
2、驗(yàn)收時(shí)間:
第2周周日上午、下午
3、上機(jī)指導(dǎo)與驗(yàn)收地點(diǎn): 5407、5405、54044、指導(dǎo)老師聯(lián)系方式:
孫晉永:*** 楊兵:
***