第一篇:2009级软件工程数据结构课程设计任务与要求
数据结构课程设计任务书
一、选题
选题原则是数据结构算法实现及在具体问题中的应用。可选择下列与实际应用紧密结合的较综合性的题目,也可自选(自选题必须通过任课教师认可)。要求通过课程设计的实践,在数据结构的表示、数据结构的选择及应用、算法设计与实现等方面加深对数据结构课程基本内容的理解和综合运用能力的提高。对下列题目每个同学的课设任务按下式确定:
每个同学完成两个题目,其中题1(哈夫曼树应用)每个同学必做,其它任选一题。
1.哈夫曼树应用
功能:
(1)从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
(2)利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint中。
(3)利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。分步实施:
1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2)完成最低要求:完成功能1;
3)进一步要求:完成功能2和3。有兴趣的同学可以自己扩充系统功能。
要求:1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
2.运动会分数统计
任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)功能要求:
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称
输出形式:有合理的提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指
明你用到的存储结构;
测试数据:要求使用
1、全部合法数据;
2、整体非法数据;
3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
3.飞机订票系统
任务:通过此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
4.宿舍管理查询软件
1)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:
A.采用交互工作方式
B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2)查询菜单:(用二分查找实现以下操作)
A.按姓名查询
B.按学号查询
C.按房号查询
3)打印任一查询结果(可以连续操作)
5.校园导航问题
设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
6.教学计划编制问题
设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
7.图书借阅管理系统
主要分为两大功能:
1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);
2)会员管理(增加会员、查询会员、删除会员、借书信息);
8.学生成绩管理
实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。
9.散列表的设计与实现
【问题描述】
设计散列表实现电话号码查找系统。
【基本要求】
1)设每个记录有下列数据项:电话号码、用户名、地址;
2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
3)采用一定的方法解决冲突;
4)查找并显示给定电话号码的记录;
5)查找并显示给定用户名的记录。
【进一步完成内容】
1)系统功能的完善;
2)设计不同的散列函数,比较冲突率;
3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
10.简易文本编辑器
要求:
1)具有图形菜单界面;
2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除
3)可正确存盘、取盘;
4)正确显示总行数。
11.二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
要求:遍历的内容应是千姿百态的。
树与二叉树的转换的实现。以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
要求:遍历的内容应是千姿百态的。
12.排序综合利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。
要求:
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
3)如果采用4种或4种以上的方法者,可适当加分。
13.学生成绩管理系统
现有学生成绩信息文件1(1.txt),内容如下
姓名学号语文数学英语
张明明01677882
李成友02789188
张辉灿03688256
王露04564577
陈东明05673847
….......…
学生成绩信息文件2(2.txt),内容如下:
姓名学号语文数学英语
陈果31576882
李华明32889068
张明东33484256
李明国34504587
陈道亮35475877
….......…
试编写一管理系统,要求如下:
1)实现对两个文件数据进行合并,生成新文件3.txt
2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt
3)合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)
4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)
5)要求使用结构体,链或数组等实现上述要求.6)采用多种方法且算法正确者,可适当加分.14.图的遍历的实现
要求:
1)先任意创建一个图;
2)图的DFS,BFS的递归和非递归算法的实现
3)要求用有向图和无向图分别实现
4)要求用邻接矩阵、邻接表多种结构存储实现
15.树的应用
要求:实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。
16.文本文件单词的检索与计数
设计要求与分析:
要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。该设计要求可分为三个部分实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
(1).建立文本文件
(2)给定单词的计数
(3)检索单词出现在文本文件中的行号、次数及其位置
(4)主控菜单程序的结构
① 头文件包含
② 菜单选项包含建立文件、单词定位、单词计数、退出程序
③ 选择1-4执行相应的操作,其他字符为非法。
17.任意长的整数加法
问题描述:设计一个程序实现两个任意长的整数的求和运算。
基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
18.串的查找和替换
问题描述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。
19.客户消费积分管理系统
问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:
1.采用一定的存储结构进行客户信息的存储;
2.对客户的信息可以进行修改、删除、添加;
3.能够根据消费情况进行客户积分的计算;
4.根据积分情况实行不同程度的打折优惠;
20.产品进销存管理系统
问题描述:针对某一种行业的库房的产品进销存情况进行管理。
基本要求:
1.采用一定的存储结构对库房的货品及其数量进行分类管理;
2.可以进行产品类的添加、产品的添加、产品数量的添加;
3.能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;
二、课程设计的基本要求
每人必须独立规定的任务。
课余时间完成源程序和课程设计报告等文档书写工作,上机时间只能做调试工作。
上机时带上源程序、数据结构教材、C语言教材或C++教材。
最后一天收集课程设计报告等文档资料,并进行面试。发现课程设计基本雷同,一律不及格。学生应提交的资料:
纸质的课程设计报告1份;
课程设计心得1份纸质文档(1~2页);
源程序(电子文档)
将源程序、课程设计报告、课程设计心得的电子文档按规定的文件名称和格式放在自己学号所建的文件夹下,并拷贝到指导教师指定的文件夹中。
三、课程设计成绩的评定
通过程序实现、总结报告和学习态度进行综合考评,并结合学生的动手能力、独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。考核标准包括:
答辩情况:把握问题、分析问题以及解决问题等诸多方面的表达能力。(20%)
程序实现的正确性,包括程序整体结构是否合理、编程风格是否规范等。(30%)
学生的工作态度、独立工作能力。(30%)
课程设计报告(含课程设计心得)。
四、课程设计报告封面见模板。
第二篇:数据结构课程设计要求
光盘内容说明
本光盘有8个目录,对应于课程设计教材中第2至5章的8个案例。每个目录以ch0x0y命名,代表第x章第y节的案例,内容包含该案例的源程序及教材中描述的测试数据。除“文件目录结构的显示”案例为.C++源程序外,其他均为C源程序。
各目录中的内容及说明:
1.ch0201:表达式求值,在VC++6.0环境下测试通过
文件main.c:案例源程序;
文件input.txt:案例测试输入数据文件;
文件output.txt:案例测试输出结果文件;
2.ch0202:文件目录结构的显示,在VC++6.0环境下测试通过
文件main.c:案例源程序;
文件input.txt:案例测试输入数据文件;
文件bad_input_cases.txt:案例容错测试输入数据文件;
文件output.txt:案例测试输入input.txt的输出结果文件;
3.ch0301:拯救007,在VC++6.0环境下测试通过
文件main.c、graph.c、deque.c、error.c、graph.h、deque.h、error.h:案例源程序。编译时需通过应用工程文件(console project)。
文件input.txt:案例测试输入数据文件;
文件output.txt:案例测试输出结果文件;
4.ch0302:迷宫问题,在TC2.0环境下测试通过
文件main.c:案例源程序;
说明:测试时可选择自动生成测试数据,读者也可按照教材中提供的数据进行测试;
5.ch0401:快速排序详析,在VC++6.0环境下测试通过
文件main.c:案例源程序;
文件input.txt:案例测试输入数据文件,包含顺序、逆序和随机等三种类型的测试数据;
文件output.txt:案例测试输出结果文件;
6.ch0402:插队买票,在VC++6.0环境下测试通过
文件main.c:案例源程序;
文件input.txt:案例测试输入数据文件;
文件output.txt:案例测试输出结果文件;
7.ch0501:搜索算法效率比较,在VC++6.0环境下测试通过
文件main.c:案例源程序;
说明:读者可按照教材中提供的数据进行测试;
8.ch0502:任务调度问题,在VC++6.0环境下测试通过
文件main.c:案例源程序;
说明:读者可按照教材中提供的数据进行测试;
第三篇:数据结构课程设计要求
《数据结构》课程设计要求
一、课程设计的目的及要求
1.课程设计目的
课程设计是《数据结构》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。2.课程设计要求
1)明确课设任务,复习与查阅有关资料
2)按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。3)每人完成一个项目。
4)应用程序应具有一定的可用性:
5)凡等候用户输入时,给出足够的提示信息,如“Please Select(1—3):”提示用户选择。
6)格式明显易懂,配上适当的颜色、声音等辅助效果,能方便地改正输入时的错误,使用户感到方便、好用。
7)有联机求助功能。用户能直接从系统得到必要的提示,不查手册也能解决一些疑难。8)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行: 9)对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。
10)当可能的回答有多种时,应允许输入任何一种回答。11)对删除数据应给出警告。
二、课程设计任务、内容及时间安排
1.课程设计任务、内容
课程设计的题目可由教师指定,如可在下列选题中选择,或由教师另外选择,也可由学生自行选择。但选题内容、难度要适当,要有一定的实际意义,并能达到进一步巩固和强化本课程所学知识的效果。
选题1.停车场管理问题。
问题描述:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排以便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场时,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。
基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。
实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(„A‟,1,5)表示1号牌照车在5这个时刻到达,而(„D‟,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(„E‟,0,0)时结束。本题可用栈和队列来实现。
选题2.一元多项式简单计算
问题描述:设计一个一元多项式简单的计算器。基本要求:一元多项式简单计算器的基本功能为:(1)输入并建立多项式;(2)输出多项式:
(3)两个多项式相加减、相乘,建立并输出多项式。
实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数(如项数等)。
选题3.迷宫问题。
问题描述:迷宫实验是取自心理学的一个古典的实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻拦。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次试验终于得到它学习走通迷宫的路线。设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
基本要求:要求程序输出:
(1)一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。
(2)用一种标志(如数字8)在二维数组中标出该条通路,并在屏幕上输出二维数组。
实现提示:可以利用一个二维数组maze[i][j]表示迷宫,其中1≦i≦m,1≦j≦n。数组元素值为1表示该位置是墙壁,不能通行;元素值为0表示该位置是通路。假定从maze[1][1]出发,出口位于maze[m][n],移动方向可以是8个方向(东、东南、南、西南、西、西北、北和东北)。
选题4.算术表达式求值演示。选题5.哈夫曼编/译码器。选题6.简单行编辑程序。选题7.各种图的算法的演示。选题8.汉诺塔的演示。2.时间安排
课程设计,安排在本课程的最后部分,时间一周。周1上午:设计动员,分组,布置课程设计任务。周1下午:查阅资料。
周2全天:进行程序总体设计和详细设计。周3~4全天:详细设计, 系统调试。
周5上午:系统调试,整理,撰写设计(或调研)报告。周5下午:验收,答辩,提交设计(或调研)报告,评定成绩。
四、报告内容及要求
课程设计报告应不少于1000字。报告中应包括需求分析、概要设计、详细设计、调试分析、用户手册、测试结果、附录等,具体地:
(1)设计报告中应首先包括设计题目、班级、姓名、学号、完成日期。
(2)概要设计中应包括设计思想、实现方法、系统中主要模块及各模块间的关系的描述。
(3)用户手册应详细、具体,使具有程序设计语言基础的人在阅读用户手册后能使用和退出应用程序。
(4)附录中包括源程序、设计体会等。源程序中应有注解,说明每个模块的功能,使别人能比较容易地读懂源程序;设计体会中应包括本系统的不足之处以及可改进的地方,还应说明系统的特色、新的发明、创造等等。
第四篇:《软件工程》课程设计要求
《软件工程》课程设计要求
一、课程设计目的
《软件工程》是一门实践性极强的课程。课程设计通过一个实际的项目,培养学生分析问题和解决实际问题的能力,培养学生综合应用软件工程的基本原理,方法和技术的能力,做到学以致用。
在教师的指导下,以实际应用中自选的中、小型题目为主,根据不同的题目类型选择一种开发模式,完成从系统定义、可行性研究、软件需求分析、软件设计、软件实现(编程)、软件测试,直到运行的软件生存周期各阶段的任务。
要求学生能把软件工程的基本原理和方法应用到软件的实际开发中。强化软件开发的团队协作意识,合作完成一个项目的开发过程。
二、课程设计基本要求
1、由学生自行选定题目。
2、根据学生的意愿,两人组成一个小组,也可单独完成。
3、采用学生自主完成项目为主,教师辅导答疑为辅的教学方式。
4、严格按照时间要求和进度安排,独立完成各阶段的任务。
5、课程设计的工作量,因选题不同,可以略有不同。
6、开发工具和程序设计语言自行确定。
7、要求每个小组的设计报告不少于50页。
三、课程设计报告的验收
每个小组必须提交一份完整的报告文档,包含如下八个方面的内容:
1、系统规格说明书
2、可行性分析报告
3、软件需求规格说明书
4、软件设计说明书
5、模块开发卷宗(源代码清单)和单元测试
6、软件测试计划和测试分析报告
7、软件安装手册、用户操作手册
8、项目开发总结报告
四、排版要求
1、文档内容完善,格式规范,基本符合国家标准。
2、课程设计报告的各级标题为黑体三号,正文为小四号宋体字,默认A4纸,行距为固定值22磅。
第五篇:计算机网络课程设计任务与要求
2012春计算机网络课程设计任务与要求
一、课程目标
深入理解计算机网络基本原理,将书本上抽象的概念与具体的实现技术相结合,体会网络协议的设计与实现过程,以及专业技术人员所使用的基本方法和技巧;熟悉相关应用开发工具,掌握网络协议应用开发技术;进一步熟悉网络设备,学习组网技术,掌握网络规划与设计的基本方法;培养一定的自学能力和独立分析问题、解决问题的能力;对设计中遇到的问题,能通过独立思考、查阅资料、参考文献,寻求解决方案。
二、设计题目说明
设计题目设置上,采取了分类、分级的形式。
分5个类别,分别是:网络协议或算法、网络服务、组网设计、网络应用编程、理论与应用研究。分3个级别,从高至低分别是A、B、C。题目的级别综合依据创新性、综合性、实用性、难度等因素,不同级别,成绩起评分数有别。
A级题目(良-优):较难;综合性强、有明显或突出的创新、探究性较强、实际课题或项目的一部分(实用性);工作量非常饱满;富有建设性;有很强的分析问题与解决问题的能力。
B级题目(中-良):难度适中;工作内容侧重于设计或研究或较高水平应用;有一定综合性、有一定创新、有一定实用性;工作量饱满;有较强的分析问题与解决问题的能力。
C级题目(及格-中):难度不大或偏小;工作内容侧重于验证或学习或简单应用;基本上无创新;工作量不大;有一定的分析问题与解决问题的能力。
三、任务完成形式
(1)交付课程设计说明书(纸质+电子版)(2)通过现场验收或答辩
(3)交付完整的设计作品(或能体现自己工作的视频课件)
对于第一、四类题目,必须交付设计作品,设计作品指的是完整的源程序代码、相关数据文件; 对于第三类题目,必须交付设计作品,设计作品指的是网络拓扑文件、网络仿真配置文件; 对于第二、五类题目,必须交付能体现自己工作的视频课件,要求有一定的文字或声音解说。课程设计说明书(纸质+电子版),对于对于第一、四类题目,内容包括:设计任务、系统分析、总体设计、详细设计(相应地给出关键的代码)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。
四、工作计划与进度安排
根据所选题目,合理安排进度计划,总体上需要50个小时以上(不包含查资料时间)。以下仅供参考:
1.原理知识
8小时以上
2.实用技术(编程、或组网、服务器技术)
8小时以上 3.环境与工具(系统平台、开发或仿真工具)4小时以上 4.总体设计、关键环节的详细设计
10小时 5.系统实现(编码与调试、或配置与测试)
12小时 6.课程设计说明书
8小时
五、成绩评定
总评成绩=平时成绩x20﹪+验收或答辩成绩x50﹪+报告成绩x30﹪
六、设计题目及选题
以班为单位组织选题,每人限选一题,每题限一人(除特别声明外);可自拟题目,需申报待批,自拟题目不能与已有的题目重复。题目分五类、三个级别,根据个人的兴趣及基础自行选择。
自拟题目要求:
(1)主要内容须与本课程相关(属于上述五种题目类型中某类);(2)原则上仅限A、B级
(3)在课程设计正式开始前(至少提前三天),提交“课程设计自拟题目”申请报告,等待指导老师审批,申请报告内容分以下几部分,注意内容一定要具体,否则不予批准:
题目、类别、级别、申请人学号/姓名/专业、设计任务/内容、选题背景、相关的原理/技术/方法、系统平台与开发工具(语言)、可能的创新或特色之处、工作计划、参考文献。
第一类题目: 网络协议、算法
要求:
(1)推荐采用图形界面实现。
(2)程序代码书写规范,有充足的注释。
(3)绿色软件:程序运行不需安装,避免写系统和注册表;(4)开发平台、开发语言不限。
(5)明确题目的意图,设计上应有足够的工作量 1.网络协议解析(基于文件)
(1)使用报文分析工具软件,捕获报文并进行存储,获得报文数据文件。(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对ieee802.3、icmp协议进行解码【B】(5)对ftp协议进行解码【A】
2.网络协议解析(基于Raw Socket)
(1)编程,基于socket API接口,使用raw socket捕获网络报文,过滤得到指定格式的报文(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对ieee802.3、arp协议进行解码【B】(5)对http协议进行解码【A】
3.网络协议解析(基于Winpcap接口)
(1)编程,基于winpcap接口,捕获网络报文,过滤得到指定格式的报文(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对IPV6、ICMPV6协议进行简单的解码【B】(5)对除ftp、http外的某种应用层协议进行解码【A】
4.模拟共享网络中Ethernet帧的发送过程
使用至少2个线程模拟Ethernet上主机的数据发送流程。发送流程必须遵循CSMA/CD协议【C】。5.发送和解析Ethernet ARP包
熟悉ARP协议并了解Winpcap编程,构造ARP包;先在主机A,ARP包发送出给主机B。再在主机B上解析此ARP包。【C】 6.模拟TCP协议通信过程
编程,基于图形界面,仿真两个对等的tcp通信实体,完成一次文件(数据较长)传输的通信过程。要求具有如下的交互能力:(1)数据文件的长度的设置
(2)双方发送、接收窗口大小的设置
(3)报文丢失、出错、重复、顺序的人为设置(可定义有关策略(4)发送、或接收能力的设置(假设一方主机很忙)(5)设置可采取预先设置、也可中途设置(6)可自动演示、可单步操作
(7)每一步报文都可给出tcp头部数据,并进行说明【B】
(8)给出时间轴,以起始时间为0,适当考虑网络发送、接收处理及传输延迟,给出每个报文发送与 接收时间
7.RIP路由仿真配置与测试程序设计
以图形化界面形式,对多个路由器组成的网络,实现RIP路由仿真配置与测试。路由学习建议采用多线程方式实现。【A】 8.FTP客户端设计(基于winsock接口)
实现的ftp客户端,能列出/更改目录,上下传文件,显示文件列表等选项。【A】 9.HTTP客户端的设计与实现(基于winsock接口)
开发一HTTP客户端,使其能够向web服务器请求文件、和向服务器提交数据,以便服务器做出相应的处理。【A】 10.电子邮件客户端的设计与实现(基于winsock接口)
完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面。能批量发送邮件。【A】
11.软件路由器的设计与实现(基于Winpcap接口)
(1)编程实现一个简易的路由器(具有路由功能)
(2)具有图形化界面、显示所有的过路、已路由、已丢弃报文(3)对ethernet_ii、简单的ip、tcp、udp协议进行解码(4)支持静态路由的配置【B】
(5)可以人为地对可路由报文进行延迟发送、删除、修改、改变发送顺序等操作【A】 12.利用RTP协议完成多媒体数据流传输
(1)消化理解实时传输协议RTP及其源代码(可以从网上下载)
(2)分别编写个服务器、客户端程序,使用RTP协议来实时传输视频数据或音频数据【A】 13.自定义应用层协议的设计与实现(基于UDP)
协议名称:myqq
协议功能:实现简单的聊天系统功能(1)注册
(2)登入与注销(3)获取在线用户表
(4)对指定用户发送聊天报文(5)群发聊天报文【A】 14.TCP通信仿真课件设计
设计一个课件程序,采用图形化设计,主要功能:
(1)能读取wireshark或sniffer工具所捕获的数据文件(2)能以直观形式表达TCP连接的建立、释放过程(3)能以直观形式表达报文序号变化、应答机制【B】(4)能以直观形式仿真报文的丢失与重传(5)*能以直观形式表达流量控制【A】 15.扩展UDP实现SR可靠数据传输
(1)熟悉流水线可靠数据传输机制(GBN);(2)熟悉TCP/UDP协议规范;
(3)基于UDP的SR(选择重传)可靠数据传输机制分析与设计(4)UDP Socket程序设计
(5)利用UDP实现可靠数据传输服务的验证系统设计与实现【A】 16.TRACERT图形化工具
(1)另写一个程序,取代Windows 下的Tracert命令,并以图形界面显示输出结果。(2)能解析主机的域名(将域名解析成对应的IP)(3)支持对物理网络的跟踪【B】
(4)支持逻辑网络的定义、及对逻辑网络的跟踪【A】 17.OSPF实现
熟悉OSPF协议,寻求指定有向图的最短路径。要求用图形显示求解过程。【A】
第二类题目: 网络服务
要求:
(1)在虚拟机环境下搭建操作系统平台,虚拟机网卡与物理网络进行桥接(2)网络操作系统类型为linux、ubuntu或windows server 2003/2008(3)学习相关服务器理论知识和配置、应用方法(4)合理规划所要求提供的服务
(5)完成相关的配置,并进行相应的应用测试(6)对所遇到的问题进行分析和解决,(7)应有足够的工作量
1.某单位网络应用服务器的搭建与测试(一)(基于linux或ubuntu平台)
(1)网络操作系统安装(在虚拟机环境下)
(2)DNS、DHCP服务器
(3)邮件服务器
(4)FTP服务器
(5)WEB服务器
(6)TELNET服务、NFS服务
2.某单位网络应用服务器的搭建与测试(二)(基于linux或ubuntu平台)
(1)网络操作系统安装(在虚拟机环境下)
(2)防火墙服务
(3)SSH服务器
(4)VNC服务器
(5)VPN服务
*(6)P2P服务器
3.某单位网络应用服务器的搭建与测试(一)(基于windows server 2003/2008平台)
(1)网络操作系统安装(在虚拟机环境下)
(2)AD、DNS、DHCP服务
(3)Exchange邮件服务
*(4)ISA服务
(5)VPN远程访问
(6)、远程管理
4.Windows服务器集群的部署与测试(基于Vmware)(1)网络操作系统安装(在虚拟机环境下)(2)Windows服务器集群的部署(3)集群的应用测试
第三类题目: 组网设计
(以方案设计为主,以网络仿真为辅,仿真部分需要验收)网络工程专业同学不宜选该类题目 要求:
(1)论文论述详尽,主要内容有:
设计任务、需求分析、总体设计方案与拓扑图、设备选型、关键设计、仿真配置与测试、结论。(3)对方案中关键设计,尽可能用仿真软件进行仿真配置与测试。
组网仿真软件建议采用packet tracer(只能仿真cisco的部分中低端网络设备),当然为了能在该软件中进行仿真,对原方案中的设计进行必要的简化、设备作必要的变通是必然的。(4)题目中的“某”,必须为具体的单位名称(最好为自己所熟悉的)
(5)没有特别说明时,目标网络规模为中等规模的园区网络(信息节点数为500个到5000个之间)(6)没有特别说明时,VLAN技术、RIP或OSPF动态路由技术必须运用到设计中(7)没有特别说明时,支持internet接入
1.某校园网组网路由方案设计(基于Packet Tracer)
某大学网络有20000余信息节点,分办公、教学、学生宿舍、家属四个区,请结合实际分析其需求,重新对其网络进行规划设计:(1)技术选型、总体设计(2)设备选型
(3)详细的拓扑设计
(4)详细的IP规划(从网段到节点)
(5)给出合理的路由方案、含internet出口与教育网出口路由(6)实现仿真配置与测试(7)支持远程用户访问
2.某校园网内网VLAN方案设计(基于Packet Tracer)
某大学网络有20000余信息节点,分办公、教学、学生宿舍、家属四个区,请结合实际分析其需求,重新对其网络进行规划设计,不考虑与外网的互联:(1)技术选型、总体设计(2)设备选型
(3)详细的拓扑设计
(4)IP规划、VLAN设计、(5)VLAN路由设计(6)实现仿真配置与测试
3.某校园网的扩容方案及实施(基于Packet Tracer)
对某校已有的校园网,根据新校区的建立和更多的要求对其进行扩容方案的设计与实施。4.某单位(企业、医院、社区、学生公寓、学校、酒店)网络规划与设计(基于Packet Tracer)对某单位的网络进行需求分析,完成下列设计任务:(1)给出技术选型、总体设计(2)给出设备选型
(3)给出详细的拓扑设计
(4)给出VLAN设计、ip规划(5)给出路由设计(6)实现仿真配置与测试
5.园区网络的路由设计(基于gns3环境)6.园区网络的防火墙设计(基于gns3环境)7.基于H3C网络设备的园区网络设计
8.园区网络的路由冗余与链路聚合设计(基于gns3环境)
第四类题目: 网络应用编程
要求:
(1)推荐采用图形界面实现。
(2)程序代码书写规范,有充足的注释。
(3)绿色软件:程序运行不需安装,避免写系统和注册表;(4)开发平台、开发语言不限。
(5)明确题目的意图,设计上应有足够的工作量 1.LAN小助手
编程实现以下功能:
(1)发送ICMP数据包,以获取指定IP网段中的活动主机,并将结果显示在标准输出设备或输出到文件中。
(2)显示这些主机的的IP地址与对应的MAC地址的关系表(3)能显示本地机所有可用的网络接口与对应的ip地址(4)能修改本地机指定网络接口的ip地址
(5)能解析主机的域名(将域名解析成对应的IP)2.网络流量统计(基于raw socket)
监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来。3.网络流量统计(基于Winpcap接口)
监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来。4.包过滤防火墙的设计与实现(基于Winsock SPI接口)
要求实现一个简单的包过滤防火墙,能够根据 IP 地址范围阻塞或允许客户机对 FTP 服务的访问。5.包过滤防火墙的设计与实现(基于linux/Ubuntu)
要求实现一个简单的包过滤防火墙,能够根据 IP 地址范围阻塞或允许客户机对 FTP 服务的访问。6.简易HTTP代理服务器的设计与实现
代理服务器使用侦听socket在指定的端口上侦听web访问请求,对于客户端每次访问都自动创建一个线程,解析客户端Host头域里面的值,获取目标web服务器地址,并使用socket进行连接,以“中继”方式,转发 双方的http包。7.基于UDP协议网上聊天程序
实现一简单的聊天程序实现网上聊天,包括服务器和客户端。要求:(1)支持多人聊天。
(2)客户端具有图形化用户界面。8.基于TCP协议网上聊天程序
实现一简单的聊天程序实现网上聊天,包括服务器和客户端。要求:(1)支持多人聊天。
(2)客户端具有图形化用户界面。9.FTP服务器设计
实现一FTP服务器,能列出/更改目录,上下传文件,显示文件列表,支持NOOP/PASV/BIN等选项。10.FTP客户端设计(基于与FTP协议相关的类)
实现的ftp客户端,能列出/更改目录,上下传文件,显示文件列表等选项。11.简单的端口扫描器(1人)
实现一个端口扫描程序,判断指定的主机有哪些端口可以提供服务, 并把扫描得知的结果记录下来。12.简单Web服务器的设计与实现(1人)
完成一个简单的Web服务器,要求能够通过HTTP Get命令获得一个简单的HTML文件。(可以带图片。)13.HTTP客户端的设计与实现(基于与HTTP协议相关的类)
开发一HTTP客户端,使其能够向web服务器请求文件、和向服务器提交数据,以便服务器做出相应的处理。
14.简单电子邮件客户端的设计与实现(基于与邮件协议相关的类)
完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面。提示:可选用基于JavaMail网络包实现。15.P2P文件传输平台的设计与实现
分别设计一个服务器、客户端程序,客户端使用 p2p协议从“服务器端”进行文件下载。16.综合扫描器程序的实现
(1)ARP扫描实现(2)ICMP扫描实现(3)TCP扫描实现(4)UDP扫描实现 17.利用组播实现网络屏幕广播
(1)通过socket接口,引用UDP协议,设置成组播通信方式(2)分别设计教师机端程序、学生机端程序,(3)教师机端程序将本机屏幕画面,定时地以多播方式传给学生机端程序显示 18.本地网络信息设置与网络对时程序设计
主要功能如下:
(1)本地网络信息的获取
计算机名称、IP地址、网卡地址、DNS设置、安装的协议、提供的服务、TCP/IP运行信息。(2)修改本地计算机的网络设置
(3)采用ntp协议从internet上某个时间服务器,获取时间信息,准确地更新本地机时钟,支持手动、定时自动两种方式
19.基于IPV6的文件传输程序设计
程序分文件发送端、文件接收端两部分。功能是发送端能向接收端传输文件。通信双方采用ipv6地址,在传输层上采用 TCP协议传数据。20.基于多播的文件传输程序设计 程序分文件发送端、文件接收端两部分。功能是文件发送端能同时向n个接收端传输文件。要求采用UDP协议并以多播(组播)方式实现通信。21.基于多线程的文件传输程序设计
程序分服务器端、客户端两部分。功能是服务器端能同时响应n个客户端的tcp连接请求,提供指定文件下载。服务器端要求采用多线程编程技术。22.点对点语音聊天程序设计
程序主要由语音采集、语音发送、语音接收、语音播放四个部分组成。
通信协议采用UDP;图形化界面;语音采集与播放采用windows API(ACM)接口。23.网络对弈程序设计
运用tcp协议设计一个五子棋联机对弈程序,采用图形化方式设计。24.网络U盘(2人)
(1)实现远程主机上管理自己的文件:如创建、打开、复制、删除文件或目录以及远程文件上传、下载;
(2)程序包括客户端和服务器端两部分: 客户端使用图形用户界面发出各种管理命令;接收服务器返回的操作结果。服务器为每个用户建立一个目录(网络U盘),服务器维护用户对目录操作权限的列表,负责验证用户对文件的操作权限;接收和执行授权用户的命令并返回操作结果;
(3)用户界面:服务器端界面显示用户登录及认证信息和操作日志;客户端界面可以设置远程主机名;显示远程文件列表;操作命令可以采用菜单、按钮及弹出菜单来实现。要求界面布局合理、简洁美观。
(4)运用Socket 技术,使用TCP协议 25.机房网络试题发放与回收软件设计(2人)
软件的结构是C/S模式
(1)分别设计教师机端、学生端程序(2)学生端程序主要功能是:
运行后可以登录到教师端程序(考试系统)、自动打开试题文档、提示考试相关信息、自动锁定键盘(考试计时结束)(3)教师端程序主要功能是:
导入考生名单、核对登录者身份、向学生端发放试题文件(自动或手动)、启动考试计时、自动回收答题文件、自动清除学生端主机指定位置文件 26.网络投票系统设计
服务器端:能编辑候选人名单、能发布投票的结果、能接收投票、能设置投票的起止时间、能记录每个投票者得名字、主机的ip、主机的cpu id、投票的时间、能制定和实施合理的投票规则。
客户端:能查看候选人名单、投票的结果、能投票
第五类题目: 理论与应用研究
本类题目需要答辩验收。要求:
(1)内容涉及本课程相关领域的前沿、有良好的应用前景。(2)目前已经实用化或初步实用化
(3)对普通学习者技术门槛还比较高、但很有应用、借鉴价值(4)系统学习相关的理论知识和应用技术,与具体应用结合起来
(5)综合运用所学的知识,运用恰当的方法、手段或工具,对某些实际问题进行分析、实践,并给出自己的见解或结论。(6)有足够的工作量
1.Windows与Linux系统网络架构及编程接口研究 2.基于Linux平台的路由器源代码的剖析 3.网络翻墙的机制与应用 4.网络分布式计算技术及应用 5.IPV6技术及应用 6.P2P技术及应用
7.Windows系统下网卡驱动程序开发技术 8.Linux系统下网卡驱动程序开发技术 9.蓝牙通信技术及应用
10.长中短距离无线通信技术及应用 11.国内城域网主流技术与最新进展 12.三网融合及其发展
七、参考教材
[1] Andrew S.Tanenbaum、David J.Wetherall.计算机网络(英文版•第5版).机械工业出版社 [2]谢希仁.计算机网络(第5版).电子工业出版社
[3]吴功宜.计算机网络课程设计.机械工业出版社 //C语言编程
[4] 王勇.计算机网络课程设计(计算机课程设计与综合实践规划教材).清华大学出版社 //Java编程
[5] 叶树华.网络编程实用教程(第2版).人民邮电出版社.2010 //适合初学者 [6] 王艳平.Windows网络与通信程序设计(第二版).人民邮电出版社 //适合高手 [7] 金华.C#网络编程技术教程(21世纪高等院校网络工程规划教材).人民邮电出版社 [8] 思科网络技术学院CCNA Exploration4.0——LAN交换和无线 [9] 思科网络技术学院CCNA Exploration4.0——路由协议和概念
[10] 恒逸资讯, 吕政周.Windows Server 2008系统管理员实用全书.电子工业出版社 [11] 冷罡华.Ubuntu Server最佳方案.电子工业出版社
八、上机与验收安排
1、上机指导时间:
第1周的周一、二、五下午 第2周的周二、三、五下午
2、验收时间:
第2周周日上午、下午
3、上机指导与验收地点: 5407、5405、54044、指导老师联系方式:
孙晋永:*** 杨兵:
***