数据结构课程设计任务书.docx

上传人:b****2 文档编号:24210555 上传时间:2023-05-25 格式:DOCX 页数:17 大小:30.64KB
下载 相关 举报
数据结构课程设计任务书.docx_第1页
第1页 / 共17页
数据结构课程设计任务书.docx_第2页
第2页 / 共17页
数据结构课程设计任务书.docx_第3页
第3页 / 共17页
数据结构课程设计任务书.docx_第4页
第4页 / 共17页
数据结构课程设计任务书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据结构课程设计任务书.docx

《数据结构课程设计任务书.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书.docx(17页珍藏版)》请在冰豆网上搜索。

数据结构课程设计任务书.docx

数据结构课程设计任务书

 

数据结构课程设计

任务书

 

东北大学软件学院

2013年9月

一.课程基本信息3

二.教学目的和基本要求:

3

三.课程设计的内容和安排3

四.课程设计的题目4

五.考核的方法和成绩的评定4

六.时间的安排5

七.课程设计报告的格式5

八.课程设计结果的提交5

九.课程设计题目说明5

附录19

一课程基本信息

1、课程设计名称:

数据结构课程设计

2、课程设计编号:

3、课程设计学分:

2学分

4、课程设计周数(学时):

2周(40学时)

5、课程设计授课单位:

软件工程研究所

6、指导方式:

集体辅导和个别辅导相结合

7、适用专业:

软件工程(高起本、1+3)

8、课程设计教材及主要参考资料:

[1]《数据结构(用面向对象方法与c++描述)》,殷人昆、陶永雷等著,清华大学出版社,2004.2

[2]

二教学目的和基本要求:

1、了解并掌握数据结构和算法设计的方法,具备初步的独立分析和设计能力

2、初步掌握软件开发过程的问题分析分析、系统设计、程序编码和测试等基本方法和技能。

3、提高综合运用所学的理论只是和方法,独立分析和解决问题的能力。

4、训练用系统的观点和软件开发一般规范进行软件的开发,培养软件工作着所具备的科学工作方法和作风。

三.课程设计的内容和安排

1、问题分和任务定义:

根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制的条件是什么。

2、逻辑设计:

对问题中涉及到的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序和各抽象数据类型,逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。

3、物理设计:

定义相应的存储结构并写出个函数的伪码算法。

在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。

详细设计的结果是对数据结构和基本操作做出进一步的求精,写出数据结构存储结构的类型定义,写出函数形式的算法框架。

4、程序编码:

把详细设计的结果进一步求精为程序设计语言。

同时加入一些注解和断言,使程序中逻辑概;念清晰。

5、程序调试和测试:

采用自底向上,分模块进行,即先调试低层函数。

能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。

调试正确后,认真整理源程序和注释,形成格式和风格良好的源程序清单和结果。

6、结果分析:

程序运行结果包括正确的输入及其输出结果、含有错误的输入和输出结果、算法时间复杂度和空间复杂度分析。

7、撰写课程设计报告:

总结和提升上述过程和步骤,写出结构严谨、表述清楚、符合设计规范的报告。

四课程设计的题目

本课程实践完成一个网上拍卖系统的实现,该系统共分五个部分,前四部分是必做的,最后一部分为选做。

最后需要对所做系统书写实验报告一份,格式见附页。

五考核的方法和成绩的评定

考核成绩分为两个部分:

(1)验收程序部分:

占50%。

按照以下几个指标进行验收

程序的正确性

程序的运行和存储效率

程序代码编写规范程度,代码的可读性、

界面是否友好

程序设计的创新性

(2)实验报告(50%)

实验报告结构是否清晰,问题叙述是否具有逻辑性

关键代码设计是否正确无误

程序设计的时间、空间复杂性分析是否正确

六时间的安排

共两周,10天。

题目共分五个部分,由浅入深,每个同学可以根据自身实际情况掌握进度,最后一天验收程序。

也可以分部分验收。

七课程设计报告的格式

(1)问题的概述、分析和研究意义

(2)数据结构的逻辑设计和物理存储设计

(3)重要算法的设计、流程描述和代码描述

(4)数据结构的时间、空间复杂性分析和重要算法的复杂度分析。

(5)程序的最终实现结果(包括重点界面的抓取,能说明问题的重要实验结果数据的打印或其可视化结果)。

(6)参考文献

(7)附录:

关键数据结构的定义及关键算法的源代码。

具体格式参见附录1。

八课程设计结果的提交

(1)课程设计报告(一份、A4纸打印,同时包括一份电子文档)

(2)完整的程序系统(电子方式提交),能够对输入产生相应的输出,同时尽量完成可视化演示。

(3)源程序文档(电子方式提交),源程序代码要求适当缩进编排、结构清晰、可读性好,对源程序的类说明(如采用面向对象方法设计)、函数说明、接口说明、关键变量说明等要进行注释。

(4)答辩报告(制作PPT报告,电子方式提交),要求重点突出,思路清晰,同时就此报告准备答辩。

所有电子方式提交的文件全部存放在一个目录中,并对其进行压缩,压缩后的文件按规定格式进行命名,命名格式为:

班级号+学号+姓名。

九课程设计题目说明

网上拍卖系统的实现,根据题目描述及附加的框架代码,完成一个网上拍卖系统。

该系统共分为五部分实现,从第二部分开始,可以通过提供的ApacheHTTPServer测试,各部分题目如下:

1.BuildingtheCoreclasses

Description

Thisassessmentrequiresthecreationofthreeofthecoreclassesoftheauctionproject.ClassDate,classAdvertisement,andclassClientarethreeofthefundamentalclassesinthesystem.

classDate

ClassDatemodelsadateandtime.Thisclasscontainsprivatedatamemberstostoretheday,month,andyearofadateandthehour,minute,andsecondofatime.Theclassdeclarationincludesthefollowingpublicmembers.

Defaultconstructor

Initializestheprivatedatamemberstodefaultvalues

Sixparameterconstructor

Acceptsintegersfortheday,month,year,hour,minute,andsecond

AccessorsandMutators

Providesaccesstotheprivatedatamemberslistedpreviously

operator==

ComparesDateobjectsforequality

operator<

ComparesDateobjects,returnstrueiftheinvokingDateobjectislessthantheotherDateobject

operator<<

OutputsaDateobjecttoanoutputstreamintheform"mm/dd/yyyyhh:

nn:

ss"

operator>>

ThisoperatorreadsaDateobjectfromaninputstream.Thedatewillbereadfromastreaminthefollowingform.

mm/dd/yyyyhh:

nn:

ss\n

Noticethattheformatisterminatedbyanewlinecharacter('\n').Makesureyourimplementationreadsthisendingnewlinecharacterfromthestream.Also,the'nn'intheformatrepresentstheminuteportionofthedate.

classAdvertisement

ClassAdvertisementmodelstheadvertisementofanitemforsale.Thisclasscontainsprivatedatamemberstostoreauniqueidentificationnumber,atitle,astartingdate,aclosingdate,adescription,thequantity,andtheemailaddressoftheseller.Theclassdeclarationincludesthefollowingpublicmembers.

Defaultconstructor

Initializestheprivatedatamemberstodefaultvalues

Sixparameterconstructor

Acceptsparameterstoinitializetheprivatedatamembers

Copyconstructor

MakesacopyofaAdvertisementobject

Accessorsandmutators

Provideaccesstotheprivatedatamembers

operator==

ComparesAdvertisementobjectsforequality.TwoAdvertisementobjectsareequaliftheiridentificationnumbersareequal.

operator>>

ThismethodreadsanAdvertisementobjectfromaninputstream.Theadvertisementshouldbeinputthefollowingdatamembersoftheclassinthefollowingform.

title\nemail\nquantity\nstart-date\nclose-date\nbody\n

Informationcorrespondingtothenumberprivatedatamemberisnotreadfromtheinputstream.

classClient

ClassClientmodelsaregistereduseroftheauctionsystem.Thisclasscontainsprivatedatamemberstostorethefirstname,lastname,emailaddress,andpasswordoftheuser.Theclassdeclarationincludesthefollowingpublicmembers.

Defaultconstructor

Initializestheprivatedatamemberstodefaultvalues

Fourparameterconstructor

Acceptsparameterstoinitializetheprivatedatamembers

Copyconstructor

MakesacopyofaClientobject

Accessorsandmutators

Provideaccesstotheprivatedatamembers

virtualboolverifyPasswd(stringpasswd);

Returnstrueiftheinvokingobject'spasswordmatchesthepasswordgivenintheparameter,falseifotherwise.

operator>>

ThismethodreadsaClientobjectfromaninputstream.Theadvertisementshouldbeinputthefollowingdatamembersoftheclassinthefollowingform.

firstname\nlastname\nemail\npassword\n

2.PostingAdvertisements

Atanypointintime,atypicalonlineauctionsystemcontainsmanythousandsofitemsupforauction.

Description

Thisassessmentcreatesaninitialversionoftheauctionprojectthatallowsusertoregister,login,andlogout.Registereduserscanpostitems(advertisements)forauction.

Tocompletethisexercise,youwillhavetofinishtheimplementationofclassListingandclassGroup.

classListing

ClassListingmodelsacollectionofadvertisements.Thisclasscontainsaprivatedatamemberoftypevector.ThisvectorstorespointerstoAdvertisementobjects.

NoticefromthedeclarationofclassListingthatthekeywordtypedefhasbeenusedtocreatealternatenamesfortypesvectorandvector:

:

iterator.Usethesealternatenamesthroughouttheauctionproject.

virtualvoidadd(Advertisement*ptr);

AddstheAdvertisementpointergivenbytheparametertothevectorobjects.

virtualiteratorbegin();

ThisreturnsaniteratortothefirstAdvertisement*invectorobjects.

virtualiteratorend();

ThisreturnsaniteratortothelastAdvertisement*invectorobjects.

virtualAdvertisement*operator[](constint&number);

ThisreturnstheAdvertisementpointerwhosenumberequalstheparameternumber.Note,thisisnotthesameasreturningthepointerthatexistsandatindexnumber.

classGroup

ClassGroupmodelsacollectionofclients.Thisclasscontainsaprivatedatamemberoftypevector.ThisvectorstorespointerstoClientobjects.

AsinclassListing,thedeclarationofclassClientusesthekeywordtypedeftocreatealternatenamesfortypesvectorandvector:

:

iterator.Usethesealternatenamesthroughouttheauctionproject.

virtualvoidadd(Client*ptr);

AddstheClientpointergivenbytheparametertothevectorobjects.

virtualiteratorbegin();

ThisreturnsaniteratortothefirstClient*invectorobjects.

virtualiteratorend();

ThisreturnsaniteratortothelastClient*invectorobjects.

virtualClient*operator[](conststring&email);

ThisreturnstheClientpointerwhoseobject'semailequalstheparameteremail.

Atanypointintime,atypicalonlineauctionsystemcontainsmanythousandsofitemsupforauction.

3ViewingAdvertisementsbyCategory

Typicalonlineauctionsystemsdisplayadvertiseditemsforsaleincategories.

Description

ThisassessmentextendstheAuctionprojecttoallowitemstobegroupedanddisplayedincategories.Registeredusersofthesystemwillhavetheabilitytochooseacategorywhenpostinganadvertisement.Regularusersofthesystemcanfilterthelistofadvertisementsbasedoncategory.Twofiltersexist.Thefirstfilterdisplaysonlythoseitemsthatappearinaselectedcategory.Thesecondfilterdisplaysthoseitemsthatappearinaselectedcategoryandallofitssub-categories.

Tocompletethisexercise,youwillcompletetheimplementationofclassCategoryandclassCategories.

classCategory

ClassCategorymodelsacategory.Thisclasscontainsprivatedatamembersforthecategoryname,identificationnumber,andparentidentificationnumber.Avectorstorestheuniqueidentificationnumbersoftheadvertisementsthatbelongtothiscategory.Avectorstorespointerstothesub-categoriesofeachcategory.

Defaultconstructor

Initializestheprivatedatamemberstodefaultvalues

Twoparameterconstructor

Acceptsparametersforparentidandname

Accessorsandmutators

Providesaccesstothedatamembersoftheclass

virtualvector:

:

iteratoritemsBegin();

Returnsabeginiteratorfortheitemsvector

virtualvector:

:

iteratoritemsEnd();

Returnsanenditeratorfortheitemsvector

virtualvector:

:

iteratorsubCategoriesBegin();

Returnsabeginiteratorforthesub_categoriesvector

virtualvector:

:

iteratorsubCategoriesEnd();

Returnsanenditeratorforthesub_categoriesvector

virtualvoidaddItem(intitem);

Addsanadvertisementnumbertotheitemsvector

virtualvoidaddSubCategory(Category*);

Addsacategorytothesub_categoriesvector

virtualvoidfindOfferings(Listing

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1