注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
摘 要
随着生活水平的不断提高,人们希望能够获取更精致,更个性化的婚礼服务,在自己的婚礼上,对婚纱,策划方案等方面都有了更多的追求,过去线下简单,粗糙的婚庆服务越来越不足以满足新人的需求,为了更好的满足新人,为新人提供更个性化,更便捷的结婚服务,基于Web端的婚庆平台应运而生,婚庆平台可以更好,更快的帮助新人们挑选礼服,选择婚礼策划,预定酒店等。
基于Web端的婚庆平台主要服务于婚礼策划、婚纱摄影、婚宴酒店等领域。平台主要存在管理员、用户、摄影商家、酒店商家和策划公司五种实体,为不同实体提供契合其需求的服务。主要实现的功能包括用户管理,商家管理,咨询信息管理,预约管理,订单管理等。
婚庆平台的设计的目的是为了方便用户、商家和平台管理员。用户可以通过筛选功能进行快速的选择,通过咨询获取更多了解,找到适合自己的婚庆服务。商家可以通过平台展示和推广自己的产品和服务,从而获得更多曝光和流量。平台管理员负责监管平台内容,维护平台稳定性和安全性,以及持续的优化和升级平台功能。
关键词:婚庆;咨询;婚庆服务;预约
目 录
1.1 研究背景
随着我国经济的快速发展,人均消费也在不断提升,尤其是在婚庆方面的消费金额,更是水涨船高。根据腾讯发布的《2021年结婚行业洞察白皮书》数据,即使在2020年受到疫情的影响,平均每对新人结婚的花费也达到了17.4万元,虽然比2019年有所下降,但仍是男女双方月收入总和的8.8倍,并且比2015年增加了2.7倍[1]。虽然我国办理结婚登记的人数已经连续四年下降,但是在过去几年中,婚庆旅游市场增长了75%。据预测,2018年狭义婚嫁消费市场规模将达到超过18000亿元,到2021年将突破30000亿元[2]。这表明未来几年婚庆行业市场潜力巨大。在中国人的传统理念中,结婚消费是人一生中最为重要的消费活动之一,随着居民消费能力的不断提高,婚庆消费将不断保持高速增长的趋势[3]。
2.2 系统用例模型分析
婚庆平台可以帮助用户对婚礼一站式服务,它可以为用户提供各种和婚礼相关的服务内容,帮助用户快速准确地筹备婚礼。通过数据流图可以图形化地描述系统流程和数据流动。数据流图可以帮助我们更好地设计和优化系统。
婚庆平台的数据流图主要通过三层来描述系统的运作方式,其中第一层的用户界面层主要负责系统与用户的交互,而第二层业务逻辑层负责数据的处理和业务逻辑的实现,最后一层数据存储层负责数据的存储和管理。这种分层的架构可以使系统更容易维护和扩展。本系统的顶层数据流程图如图2-1所示。
管理员需要输入账号密码进行登陆,系统将在管理员信息表中校验账户信息,如果信息正确,则提示管理员登陆成功。管理员可以按条件查找回复信息,在系统的商家服务管理页面对服务信息表进行管理,以及在用户管理页面对用户信息表进行增删改查。此外,管理员还可以在订单信息管理页面对订单信息表进行增删改查,并从系统中获取相关内容。第一层数据流图如图2-2所示,第二层数据流图如图2-3所示。
2.3 功能需求分析
根据对系统的实际研究和分析总结,基于Web端的婚庆平台总体设计功能需求如下:
(1)用户登录注册功能。用户可以注册属于自己的账号,设置密码,从而享受到平台所提供的服务。用户可以使用该账号登录平台,以便获得更多的婚礼策划详细信息和服务。
(2)订单管理功能。用户可以在平台上可以根据自己的需求进行下单,包括主题、场地、餐饮、车辆、礼服等。婚庆服务商可以通过该平台查看并接受用户的订单,以提供相应的服务。通过平台,用户可以查看自己的订单状态,包括进度、付款等信息,帮助他们更好地了解婚礼策划进展。
(3)预约功能。用户可以通过在线预约的方式,向商家发起预约申请,预约相应的时间,套餐,商家后台可以对用户的预约信息进行审批并进行后续处理。
(4)统计功能。管理员可以对订单进行相应的图表统计,查看一段时间内的订单数量和类型。
(5)咨询功能。用户可以在线对商家发起咨询,商家可以在后台对用户发起的咨询进行相应的回复,便于用户和商家的交流。
(6)用户管理功能。包括管理员对商家和用户的管理,管理员可以对商家发布的套餐信息进行审核,包括对商家发布的婚纱摄影,婚纱类型,策划方案,司仪信息等等进行查看并进行后续的处理。
(7)套餐发布功能。商家可以在后台对套餐信息进行发布,修改,上下架等操作。
(8)婚礼攻略发布功能。管理员在后台对婚礼攻略进行修改和上架,便于用户在前台对婚礼攻略进行浏览。
(9)收藏功能。用户在前台对婚礼攻略进行浏览的同时,可以对自己认为有帮助的攻略进行收藏,收藏的攻略信息会关联到用户个人信息的收藏夹中便于查看。
需要指出的是,基于Web端的婚庆平台除了以上所提到的基础功能需求之外,还应该注重设计,打造视觉、使用体验良好的用户界面。为了实现以上功能需求,在技术实现方面,项目需要采用现代化的技术手段。例如,采用响应式网页设计技术,以适配不同设备上展示的界面;采用前后端分离开发模式,实现良好的用户体验和程序稳定性。
3 系统概要设计
3.1 系统功能模块设计
系统功能设计必须要满足用户的业务需求,在进行需求分析后,将得到的系统扩展用例图进一步转换成系统软件结构和数据结构。系统结构设计完成后要形成系统结构设计文档,开发人员就可根据模块接口说明进行接口开发,接口开发完需进行功能测试,目的是发现并解决系统漏洞,同时还得保证系统的可扩展性和稳定性,满足用户对系统的要求。
线上婚庆平台在设计与实施时,采取了模块性的设计理念,将相似的系统的功能统一整合到同一个功能模组当中,以增强模组内部的功能,减少各组件之间的联系,增强系统的程序模块的可重用性和移植性,从而达到减少相互影响的目的。
系统主要功能包括用户管理、策划公司管理、摄影商家管理、酒店商家管理、婚纱类型管理、婚纱摄影管理、预约信息管理、系统管理等功能。整体结构设计如图3-1所示。
3.2 数据库设计
设计数据库初期需要充分考量客户需求从使用者的角度出发来考量整个数据库设计,帮助数据库充分发挥自身价值[17]。而本系统依赖于MySQL数据库来储存信息,系统完成后,所有需要的数据都要从数据库中读取,这也意味着无论是插入、更新还是删除操作,只要对数据有改动的操作都需要与数据库交互,因此,系统的全部数据都要储存在数据库,必须保证数据库在未经授权情况下不得进行删除表结构等危险操作,而且要保证表中字段的准确性。
3.2.1 数据库E-R图
E-R图,即实体-联系图,它是一种通过对实例进行抽象,用以描述实体,属性之间的联系从而表示实际问题需求的表述方法。根据需求分析绘制出数据库的E-R图,能够直观地映射出各个表之间的关系,同时也体现各个实体之间的关联。本系统的实体联系图如图3-2所示:
4 系统设计与实现
4.1 登录模块
当用户打开系统的网址后,进入登录模块。在这里,角色可以通过账号进入系统,当角色要进入系统时要先进行注册,数据库中存在的角色username和password需要进行匹配,确认匹配成功才能进入系统进行下一步操作。系统登录流程图如图4-1所示:
登录界面如图4-2所示:实现登录模块核心代码如下:
/**
* 登录
*/
@IgnoreAuth
@RequestMapping
public R login(String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
* 注册
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
5.3 非功能性测试
非功能测试是一种软件测试,用于测试非功能性参数,非功能性测试作为功能测试也非常重要,因为它在客户满意度中起着至关重要的作用。一个高质量的软件系统,除了要满足用户期望的功能需求之外,还要满足性能、安全性、易用性等非功能性需求。JMeter是一种开源,免费的测试工具,且拥有操作简单、方便使用者进行功能扩展、测试的脚本易于维护等众多优点,正因如此,JMeter是目前市面上覆盖率最广的性能测试工具之一。我们使用了Jmeter对本系统进行了相关的系统非功能测试,Apache JMeter是一款基于Java语言开发的开源性能测试工具,可用于模拟用户负载以完成性能测试工作。除了Web应用测试之外,它还支持Java请求Web Service、JDBC等协议的测试。使用者可以通过扩展测试功能来满足特定的测试需求。JMeter是一个桌面应用程序,使用者可以在其中创建测试计划、配置测试用例、运行测试并查看报告。非gui模式下jmeter压力测试结果如图5-6所示。