基于ASP.NET的校园二手用品交易和推荐系统的设计与实现毕业论文
2020-04-04 10:53:23
摘 要
如今网络上二手用品交易平台越来越多,然而适合校园安全可信的交易平台却寥寥无几。建立一个规范专业、健康有序的校园二手交易平台,可以规范大学生的交易行为,促进校园二手市场健康有序的发展。
本文紧紧依托校园这个大环境,结合校园内师生的生活习惯进行研究设计。本系统主要基于ASP.NET MVC5框架,运用了前沿的响应式设计框架Bootstrap,设计出一个功能完整的二手商品交易网站。在网站的设计中,通过使用数据注解、自定义的消息/缓存机制,提升了系统的安全性。同时,通过对用户操作数据的采集,为用户定制了个性化的推荐,提升了用户体验。
本文从模块的设计和页面的设计角度,对本系统的详情以及相关技术进行了探讨,设计出了一种适合的校园使用的二手用品交易平台。
关键词:ASP.NET;校园二手品交易;推荐系统
Abstract
Today, more and more second-hand goods trading platforms are available on the Internet, but there are few suitable trading platforms for campus with enough security and credibility. The establishment of a standardized, professional, healthy and orderly campus second-hand goods trading platform can standardize the college students' trading behavior and promote the healthy and orderly development of the market in school campus.
This dissertation closely relies on the campus environment, research and design combined with the living habits of teachers and students on campus. This system is mainly based on the ASP.NET MVC5 framework, using the cutting-edge responsive design framework Bootstrap, to design a second-hand goods trading website with complete function. In the design of the website, the security of the system was improved by using data annotations and a custom message/cache mechanism. At the same time, through the collection of user operation data, personalized recommendations are customized for the user and the user experience is improved.
This dissertation discusses the details of the system and related technologies from the perspective of the design of the module and the design of the page, and designs a second-hand goods trading platform suitable for using on campus.
Key Words:ASP.NET;Second-hand goods trades in campus;Recommender System
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究背景及内容 1
1.2 研究目的及意义 1
1.3 国内外研究现状 2
1.3.1 国内现状研究 2
1.3.2 国外现状研究 2
1.4 本文的组织结构 2
第2章 系统的关键技术 3
2.1 项目的技术方案 3
2.1.1 系统框架:ASP.NET 3
2.1.2 系统结构:MVC模式 3
2.1.3 用户界面:Bootstrap 3
2.2 推荐系统的内容及意义 3
2.3 推荐系统的主要算法 4
2.3.1 基于内容的推荐算法 4
2.3.2 协同过滤推荐算法 4
2.3.3 基于知识的推荐算法 4
第3章 系统功能模块及数据库设计 5
3.1 系统功能模块 5
3.1.1 用户身份信息验证模块 5
3.1.2 商品展示模块 6
3.1.3 用户管理模块 7
3.1.4 管理员模块 8
3.1.5 推荐模块 8
3.2 数据库设计 8
3.2.1 用户信息表 8
3.2.2 商品信息表及其他表 9
第4章 系统详细功能设计 11
4.1 用户身份信息验证设计 11
4.1.1 结合项目数据库和ASP.NET Identity 11
4.1.2 拓展ASP.NET Identity的用户信息 11
4.2 MVC和Bootstrap框架的使用 12
4.2.1 MVC模式在项目中的构建 12
4.2.2 Bootstrap框架的使用 13
4.3 网站页面设计 15
4.3.1 网站名称和图标(Logo)设计 15
4.3.2 网站首页设计 15
4.3.3 商品展示页面设计 16
4.3.4 商品详情页面设计 17
4.3.5 用户界面设计 19
4.3.6 登录注册界面设计 20
4.4 买家购买与卖家出售过程设计 21
4.4.1 买家购买过程 22
4.4.2 消息机制 22
4.4.3 卖家出售过程 23
4.4.4 缓存机制 23
4.5 其他设计 24
4.5.1 Code-First和数据迁移 24
4.5.2 数据注解 24
4.5.3 分部视图 25
4.5.4 推荐数据采集和推荐算法 26
第5章 系统测试 28
5.1 测试环境 28
5.2 关键功能测试 28
5.2.1 发布商品测试 28
5.2.2 购买/出售商品以及消息/缓存机制测试 30
5.2.3 推荐功能测试 32
第6章 总结全文 33
参考文献 34
致 谢 35
第1章 绪论
1.1 研究背景及内容
随着人们生活消费水平的提高,网上购物已经成为大多数人的主要购买方式。足不出户,即可尽览好物;指尖一点,便可送货上门。提供全新的购物体验和快捷的消费方式,网上购物正在取代传统的购物方式。而大学生作为刚刚独立进入社会的群体,对于各种新鲜事物的需求相当旺盛,是网上购物的主力军之一。
网上购物的出现极大的提高了人们的购买力,却在另外一个方面也带来了很多闲置无用的物品。闲置物品置之无用,弃之可惜,因此解决闲置用品问题的二手用品交易平台就此应运而生。在二手用品交易平台上,一方面:卖家可以在平台上将手上闲置的物品变现;另一方面,不介意使用二手商品的买家可以以一个相对低的价格去获得自己需要的商品。二手交易平台的出现,不仅节约了资源,提高了闲置用品的利用率,而且对买卖双方而言都是一种共赢[1]。
本系统的设计思想和内容是建立在校园内实际生活场景的基础上。二手平台的用户由校园内师生组成,在进行相关的交易行为时会要求登录,新用户等要求注册,而注册必须提供校园内部的身份信息。其中用户群体分为卖家和买家两个群体:卖家提供商品的信息图片,以及自己的价格,买家可以浏览信息和购买商品。同时提供合适的推荐功能,以满足大学生的喜好。通过对实际分析发现的校园二手交易的问题进行优化,结合校园自身二手交易的现状,设计便利广大学生群体处理自身闲置物品的一个校园二手用品交易推荐平台。
1.2 研究目的及意义
大学生作为一种特殊的群体,在消费的选择和消费的心理上都有独特之处。
- 大学生的消费需求旺盛:大学生容易接受各类新鲜事物,热衷于对潮流时尚的追求,而在新鲜度过后,很多商品至此成为闲置商品。
- 大学生经济上尚未独立:大学生的生活费主要来源于父母给予的资金支持,而其购买需求而生产能力缺乏,带来闲置物品的增加和自身资金的短缺。
- 大学生毕业带来闲置物品:每年高校都有学生毕业,毕业生不可能将自身的所有用品打包带走,许多物品已成为无益之物。
综上分析可知,大学生的闲置物品数量相当庞大,需要一个合适的二手用品交易平台方便大学生处置这些闲置物品。然而,虽然类似58同城、闲鱼以及赶集网等二手商品交易网站层出不穷,但是商品的质量没有很好的保证,而且买家的权益也不能得到很好的保障。
因此设计一个校园内适合大学生使用的、交易安全放心的二手用品交易平台就显得很有必要。校园二手用品交易平台依托于校园大环境,身份信息可以得到相应的验证,交易模式为面对面交易,可以极大的提高买卖家的安全保障。建立一个交易规范、健康安全的校园二手交易平台,不仅可以规范大学生的交易行为,减少闲置物品带来的浪费。还可以促进校园二手市场健康有序的发展。
1.3 国内外研究现状
相关的推荐算法在国内外的研究中已经比比皆是,但是想要设计一个适合自己系统,达到自己所需要的推荐要求的系统却不容易。所以设计推荐系统时,应参考各种方法,甄选出符合系统推荐要求的方案,可以考虑多方案结合进行操作。
1.3.1 国内现状研究
周苗等人的系统采用了简单的一元线性模型SlopeOne进行相关推荐。该算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based推荐算法[2]。它具有易于实现和维护、运行时可更新、高效率的查询响应和合理的准确性特点。丁一等人采用基于评分机制的推荐算法结合协同过滤的方法,对物品的价值进行定义性的评分,得出最优推荐的方法,即推荐评价等级最好的物品[3]。
1.3.2 国外现状研究
Rahul Katarya等人为了克服协同推荐系统的局限性,提出了一种基于混合聚类和优化的技术来提高电影预测的准确性,将杜鹃搜索优化算法应用于优化结果的k均值算法的结果,具有不错的效果[4]。Junpeng Guo等人关注到现有的推荐系统强调用户对不同项目偏好的准确预测,但很少考虑各种产品类别之间的关系,基于此他们提出了一种根据多种类的以及购买时间和价格的推荐的算法[5]。
1.4 本文的组织结构
第一章 介绍校园二手交易平台的背景及本文研究的内容;
第二章 阐述系统的主要技术以及推荐系统相关的算法;
第三章 介绍校园二手交易平台的主要功能模块和数据库设计;
第四章 介绍校园二手交易平台的详细设计;
第五章 对校园二手交易平台主要功能的测试和分析;
第六章 关于全文的总结。
第2章 系统的关键技术
本章主要基于第一章给出的研究内容,选取了适合系统进行开发设计的关键技术,并简单地介绍了这些技术的基本内容。
2.1 项目的技术方案
项目的开发平台依托于Microsoft Visual Studio 2017,使用C#作为开发语言,采用ASP.NET MVC框架。数据库使用Sql Server进行构建,前端UI设计使用Bootstrap框架,推荐系统使用基于内容的推荐算法。
2.1.1 系统框架:ASP.NET
ASP.NET是由微软在.NET Framework框架中所提供用于开发Web应用程序的类库[6]。ASP.NET在代码的编写方面:将编写页面的逻辑和与后台操作的逻辑分开,使程序代码和显示的内容相互分离。并使用Razor标记,实现页面与业务的交互。
2.1.2 系统结构:MVC模式
MVC模式(Model-View-Controller)是一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)[7]。ASP.NET MVC Framework 是微软基于MVC开发的架构,让应用程序各个模型可以在MVC 架构下运行。
- View:主要用来展示Controller中Action返回的视图
- Model:主要用于定义数据的存储和数据库的构建。
- Controller:主要用于 View 和 Model 之间的联系。
2.1.3 用户界面:Bootstrap
Bootstrap是最早源于 Twitter的一款前端框架[8]。Bootstrap集成了主要的前端功能,响应式设计灵活缩放,跨设备跨浏览器使用,使得页面设计更为简单快捷。
2.2 推荐系统的内容及意义
推荐系统(Recommend Systems)是为用户提供合适的物品建议和指导的技术。这些建议涉及到各类的决策过程,诸如选择购买的物品,听称心的歌曲或是阅读想了解的新闻。推荐系统的主要任务是关联用户和信息。一方面:帮助用户寻找有价值的信息;另一方面:推送信息给感兴趣的用户[9]。推荐系统如今已经渗透到日常生活的每个点点滴滴之中。
一个好的推荐系统,对于一项服务的提供商而言,能直接提升服务的销量、扩大销售的种类,提高用户的满意度和忠诚度以及更好地了解用户的需求。对于用户而言,则可以节约下大量用于寻找服务的时间,更快的找到适合自身需求的服务。可以看出对买卖双方而言,推荐系统都能够提升工作的效率,更快更好地达到自身的需求。因此,设计一个符合用户需求,推荐精准切合的推荐系统是非常有必要的。
2.3 推荐系统的主要算法
推荐系统的算法大致可分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法,其中项目(Item)是用于表达系统向用户推荐的物品(或服务)的专业术语[10]。
2.3.1 基于内容的推荐算法
基于内容的推荐算法(Content-based)指的是系统通过学习用户过去喜欢的项目推荐与其相似的项目。项目的相似性是基于项目之间所关联的特点来计算的[11]。例如,如果用户对一部喜剧电影给出了肯定的评价,系统就将学习去推荐其他的喜剧电影。基于内容的推荐算法可以分析项目之间关联性,甚至一些未被关注的项目,也可以实现推荐。弊端在于推荐的项目很可能出现重复,而且一些项目之间的关联性很难提取出特征进行分类,使得推荐难以实现。
2.3.2 协同过滤推荐算法
协同过滤推荐算法(Collaborative Filtering)指的是你用拥有共同兴趣经验群体可能拥有的共同喜好来推荐项目。这种方法最简单的实现就是向用户推荐过去拥有相似品味的其他用户的项目。两个用户之间的品味相似度是基于用户对项目的评价历史的相似度来计算的,这也是为什么协同过滤被称为“人与人之间的关联”推荐的原因[12]。协同过滤被认为是推荐系统中最广泛采用的技术。这种方法学习的过程比较长,但是学习完成后推荐的效率比较高。
2.3.3 基于知识的推荐算法
基于知识的推荐算法(Knowledge-based)是根据特定领域知识推荐项目,以了解某些项目功能能如何满足用户的需求和偏好,以及项目最终如何对用户产生作用。主要的基于知识的推荐系统都是基于案例的系统[13]。在这些系统中,一个相似性函数估计用户需要多少(即问题描述)与给出的建议(即问题的解决方案)互相匹配。而基于约束的系统是另一种基于知识的推荐系统。
两个系统在使用知识方面都是相似的:收集用户需求,在找不到解决方案的情况下自动提出对不一致需求的维护,并解释推荐结果。主要区别在于:二者的解决方案计算方式不同。基于案例的系统根据相似性度量来确定推荐内容,而基于约束的推荐主要利用预定义的知识库,这些知识库包含如何将客户需求与项目要素相关联的明确规则。
第3章 系统功能模块及数据库设计
本章通过前两章概述的研究内容以及技术方案,设计出本系统应有的功能模块和数据库结构,并详细介绍了模块功能和数据库的表结构。
3.1 系统功能模块
二手商品系统的功能模块主要有如下几个部分:(关系如图3.1所示)
- 用户身份信息验证模块:主要负责对于用户的身份信息进行核验,提供登录、注册和完善信息等功能。
- 商品展示模块:主要用于不同方式展示商品,方便用户进行购买。
- 用户管理模块:包含用户自身信息管理和用户商品管理。自身信息管理保证交易双方的身份信息的实时更新,而商品管理保证用户对于自己发布或购买的商品的查看和管理。
- 管理员模块:主要是对用户信息、角色信息和商品信息的监控和管理。
- 推荐模块:针对用户可能的喜好,提出相应的推荐商品供用户选择。
图3.1 系统主要的功能模块及关系示意图
3.1.1 用户身份信息验证模块
对于一个二手交易平台而言,保障用户的交易质量的关键在于用户身份信息验证。只有验证成功的用户才可以在网站进行发布商品和购买商品的操作。用户身份信息验证不仅仅是一个简单的登录注册模块,它包含在匿名访问某些页面时执行的强制认证过程,以及不同的身份信息能看到的不同的内容。图3.2展示了系统主要的身份信息验证流程。
图3.2 用户身份信息验证过程示意图
3.1.2 商品展示模块
对于一个二手交易平台而言,如何向买家展示商品信息,买家如何获取到想要的商品,都需要一个合适的商品展示。商品展示包含商品小图界面以及商品详情界面。为此设计如下的小模块用于商品发现与展示:
- 搜索框:最简单直接地所需获取商品信息的方式。
- 分类栏:直观的分类也是帮助用户寻找系列商品的方式。
- 全部商品以及筛选:在全部商品界面通过筛选选择最新/价格从低到高/价格从高到低等方式来发现商品。
三个小模块最终得出的结果都是商品小图界面,包含商品的简单信息。而商品详情页是用户从用户小图界面进入的包含商品详细描述的页面。页面包含较好的图片交互和购买选项。下拉可以看到卖家的基本信息和商品的所有参数。图3.3展示了网页功能实际中物品展示的基本构造。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: