数 据 结 构 课 程 设 计
任 务 书
东北大学软件学院
2009 年 03 月
数据结构(SSD5)课程设计任务书
数 据 结 构 课 程 设 计.....................................................................................................................1
任 务 书...............................................................................................................................................1
东北大学软件学院.............................................................................................................................1
2009 年 03 月.......................................................................................................................................1
.............................................................................................................................................................2
一 课程基本信息................................................................................................................................3
二 教学目的和基本要求:................................................................................................................3
三.课程设计的内容和安排.............................................................................................................3
四 课程设计的题目............................................................................................................................4
五 考核的方法和成绩的评定............................................................................................................4
六 时间的安排....................................................................................................................................4
七 课程设计报告的格式....................................................................................................................4
八 课程设计结果的提交....................................................................................................................4
九 课程设计题目说明........................................................................................................................5
Description..........................................................................................................................5
class Date.....................................................................................................................5
class Advertisement.....................................................................................................5
class Client..................................................................................................................6
Description..........................................................................................................................6
class Listing.................................................................................................................7
class Group..................................................................................................................7
Description..........................................................................................................................1
class Category.............................................................................................................1
class Categories...........................................................................................................1
Description..........................................................................................................................2
Changes to class Listing..............................................................................................2
Description..........................................................................................................................3
class Bid......................................................................................................................3
Changes to class Advertisement..................................................................................3
Changes to class Client...............................................................................................3
Prerequisites, Goals, and Outcomes....................................................................................4
Description..........................................................................................................................5
附录 1:..............................................................................................................................................1
2
数据结构(SSD5)课程设计任务书
一 课程基本信息
1、 课程设计名称:数据结构课程设计
2、 课程设计编号:
3、 课程设计学分:2 学分
4、 课程设计周数(学时):2 周(32 学时)
5、 课程设计授课单位:软件工程研究所
6、 指导方式:集体辅导和个别辅导相结合
7、 适用专业:软件工程(高起本、1+3)
8、 课程设计教材及主要参考资料:
[1]《数据结构(用面向对象方法与 c++描述)》,殷人昆、陶永雷等著,清华大学出
版社,2004.2
[2] http://www.icarnegie.com/
二 教学目的和基本要求:
1、 了解并掌握数据结构和算法设计的方法,具备初步的独立分析和设计能力
2、 初步掌握软件开发过程的问题分析分析、系统设计、程序编码和测试等基本方法
和技能。
3、 提高综合运用所学的理论只是和方法,独立分析和解决问题的能力。
4、 训练用系统的观点和软件开发一般规范进行软件的开发,培养软件工作着所具备
的科学工作方法和作风。
三.课程设计的内容和安排
1、 问题分和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要
求做什么,限制的条件是什么。
2、 逻辑设计:对问题中涉及到的操作对象定义相应的数据类型,并按照以数据结构
为中心的原则划分模块,定义主程序和各抽象数据类型,逻辑设计的结果应写出
每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),
各个主要模块的算法,并画出模块之间的调用关系图。
3、 物理设计:定义相应的存储结构并写出个函数的伪码算法。在这个过程中,要综
合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的
实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结
果是对数据结构和基本操作做出进一步的求精,写出数据结构存储结构的类型定
义,写出函数形式的算法框架。
4、 程序编码:把详细设计的结果进一步求精为程序设计语言。同时加入一些注解和
断言,使程序中逻辑概;念清晰。
5、 程序调试和测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌
握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过
它。调试正确后,认真整理源程序和注释,形成格式和风格良好的源程序清单和
结果。
6、 结果分析:程序运行结果包括正确的输入及其输出结果、含有错误的输入和输出
3
数据结构(SSD5)课程设计任务书
结果、算法时间复杂度和空间复杂度分析。
7、 撰写课程设计报告:总结和提升上述过程和步骤,写出结构严谨、表述清楚、符
合设计规范的报告。
四 课程设计的题目
本课程实践完成一个网上拍卖系统的实现,该系统共分六个部分,前四部分是必做的,
五六部分为选做。最后需要对所做系统书写实验报告一份,格式见附录 1。
课外选题目见附录 2。
五 考核的方法和成绩的评定
考核成绩分为两个部分:
(1)验收程序部分:占 50%。
按照以下几个指标进行验收
程序的正确性
程序的运行和存储效率
程序代码编写规范程度,代码的可读性、
界面是否友好
程序设计的创新性
(2)实验报告(50%)
实验报告结构是否清晰,问题叙述是否具有逻辑性
关键代码设计是否正确无误
程序设计的时间、空间复杂性分析是否正确
六 时间的安排
共两周,10 天。题目共分六个部分,由浅入深,每个同学可以根据自身实际情况掌握
进度,最后一天验收程序。也可以分部分验收。
七 课程设计报告的格式
(1) 问题的概述、分析和研究意义
(2) 数据结构的逻辑设计和物理存储设计
(3) 重要算法的设计、流程描述和代码描述
(4) 数据结构的时间、空间复杂性分析和重要算法的复杂度分析。
(5) 程序的最终实现结果(包括重点界面的抓取,能说明问题的重要实验结果数据的打
印或其可视化结果)。
(6) 参考文献
(7) 附录:关键数据结构的定义及关键算法的源代码。
具体格式参见附录 1。
八 课程设计结果的提交
(1) 课程设计报告(一份、A4 纸打印,同时包括一份电子文档)
(2) 完整的程序系统(电子方式提交),能够对输入产生相应的输出,同时尽量完成可
视化演示。
(3) 源程序文档(电子方式提交),源程序代码要求适当缩进编排、结构清晰、可读性
4
数据结构(SSD5)课程设计任务书
好,对源程序的类说明(如采用面向对象方法设计)、函数说明、接口说明、关键
变量说明等要进行注释。
(4) 答辩报告(制作 PPT 报告,电子方式提交),要求重点突出,思路清晰,同时就此
报告准备答辩。
所有电子方式提交的文件全部存放在一个目录中,并对其进行压缩,压缩后的文件
按规定格式进行命名,命名格式为:班级号+学号+姓名。
九 课程设计题目说明
网上拍卖系统的实现,根据题目描述及附加的框架代码,完成一个网上拍卖系统。该系
统共分为六部分实现,从第二部分开始,可以通过提供的 Apache HTTP Server 测试,各部
分题目如下:
1.Building the Core classes
Description
This assessment requires the creation of three of the core classes of the auction project.
Class Date, class Advertisement, and class Client are three of the fundamental
classes in the system.
class Date
Class Date models a date and time. This class contains private data members to store the
day, month, and year of a date and the hour, minute, and second of a time. The class
declaration includes the following public members.
Default constructor
Initializes the private data members to default values
Six parameter constructor
Accepts integers for the day, month, year, hour, minute, and second
Accessors and Mutators
Provides access to the private data members listed previously
operator==
Compares Date objects for equality
operator<
Compares Date objects, returns true if the invoking Date object is less than the
other Date object
operator<<
Outputs a Date object to an output stream in the form "mm/dd/yyyy hh:nn:ss"
operator>>
This operator reads a Date object from an input stream. The date will be read
from a stream in the following form.
mm/dd/yyyy hh:nn:ss \n
Notice that the format is terminated by a newline character ('\n'). Make sure your
implementation reads this ending newline character from the stream. Also, the 'nn'
in the format represents the minute portion of the date.
class Advertisement
5