商品交易平台

【目的】 1. 利用所学的知识进行一个中型系统级程序的设计,进一步理解和掌握基本数据结构和算法。 2.通过程序中涉及到的排序、查找、树、Hash等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养系统级的程序开发能力。 强调数据结构选择和程序性能的分析。 【内容】 设计一个商品交易平台,用户通过前端菜单进行商品浏览、订购、退订,增加/删除/修改商品信息。用户属性至少包含如下特性: 用户名,姓名,性别,年龄,地址等信息。 商品属性至少包含如下特性: 商品名,商品描述,商品类别,产地,单价,库存数量等信息。 订购信息至少包含如下信息: 用户名,商品名,单价,数量,订购日期。 系统分为三大功能: 1. 前端设计[5分] 前端功能实现用户操作,设计菜单,能够与系统进行交互。设计合适的数据结构存放用户、商品和订购信息。实现如下功能: 1. 用户可以增加/删除/修改商品信息,增加/删除/修改用户信息; 2. 用户可以浏览商品,按一些属性进行浏览,如商品类别、单价; 3. 用户订购/退订某商品,或修改订购商品的数量;浏览本用户的所有订购信息; 4. 性能测试,针对常规操作,测试其性能,数据量至少为10万条记录。 2. 后端设计[5分] 后端设计采用文件型数据库持久化保存整个系统信息,在磁盘上采用树、Hash 表等数据结构保存内存信息。本部分设计强调内存和磁盘数据的一致性,持久性。 关于文件型数据库的设计可以参考《附录1: 数据库函数库》。 另外,也可以参考嵌入式数据库系统SQL lite和Berkeley DB的设计。实现如下功能: 1. 新建/载入/保存数据库; 2. 内存数据保存在磁盘文件,磁盘文件分为索引和数据文件,设计索引和Hash结构,加速数据查询; 3. 磁盘文件管理,能够插入/修改/删除/查找数据; 4. 内存到磁盘的数据一致性刷新方法; 5. 性能测试, 数据文件大小为10M。 3. 高级功能:模糊搜索和多重排序 [5分] 实现交易平台的高级功能, 实现模糊搜索和多重排序。 模糊搜索支持“?”通配符,多重排序支持2个属性的排序,例如可以先按照类别,然后按照单价进行排序。主要功能如下: 1. 模糊搜索(为简化起见,不要求对任意属性进行模糊搜索,可以指定某个属性) 2. 多重排序(为简化起见,不要求对任意属性进行多重排序,可以指定某2个属性) 3. 性能分析,搜索和排序,其数据量至少为10万条记录 4. 文档和源代码 [5分] 请将本次项目的主要设计思想和数据结构的选择和分析写成文档,并给出性能分析的数据和图表。源代码要具有良好的可读性和规范性。本系统的文档至少需要包含系统分析与设计、安装与测试、性能分析等内容。系统设计与编码请考虑系统的健壮性、可读性、可维护性、可扩展性、用户界面友好性,并符合编码规范,可参考google的C++编程规范,见附录4-6。 注意: 1. 开发平台统一用visual studio 2008. 2. 性能分析很重要,可采用随机生成数据,选取典型操作,构成一个测试benchmark,可参考附录1的测试方法或TPC-C(http://www.tpc.org/tpcc/)的性能评测方法。 3. 助教在寒假期间保持联系,如有问题,可通过网上答疑的方式。 4. 提交方式,和课内作业同样的方式提交,包括文档和源代码(去掉中间结果生成文件)。 5. 作业在开学前截止,开学后第一个双休日完成答辩和评分。 6. 可选功能: 如压缩和备份,类SQL查询,事务处理,多核多线程分布式处理,如有兴趣,可考虑实现之。也可实现真正的掌上交易,将本系统迁移到手机上。专业程序代写c++程序代写
原文地址:https://www.cnblogs.com/java20130723/p/3211208.html