【开题答辩过程】以《分布式菌菇销售系统》为例,不会开题答辩的可以进来看看
个人简介
慕婉学姐精通Java、PHP、微信小程序、Python、Golang和安卓开发等语言,擅长开发大数据、深度学习、网站、小程序、安卓应用和算法项目。平时从事项目定制开发、代码讲解、答辩教学和文档编写,也掌握一些降重技巧。感谢大家的持续关注!
近期,由于许多同学在选题阶段既想创新又担心内容量,学姐将分享更多新颖的选题和开题答辩案例,希望能为学弟学妹们提供更多的灵感和选择,帮助大家设计出更具有创新性的作品
开题陈述
各位老师好,我是慕婉同学。本次我的毕业设计课题是 “基于分布式技术的菌菇销售系统的设计与实现”,该系统主要为了解决菌菇销售的线上化管理与用户购物需求,采用分布式架构将功能拆分为多个子服务,让系统更灵活易维护。
系统面向管理员和普通用户两类角色:管理员可进行用户管理、商品(菌菇)管理、订单管理、数据统计等操作,普通用户能浏览购买菌菇、管理订单与收货地址,还能发布文章推荐菌菇获取提成。
技术栈方面,用 Java 编程语言开发,后端基于 SpringCloud 框架搭建分布式服务,结合 MyBatis-Plus 操作数据,数据库用 MySQL,还会用到 Layui 相关技术辅助开发,测试时会结合白盒和黑盒测试确保功能正常。
问答环节
评委老师:你提到系统分为客户子服务、后台子服务、交易子服务等,能简单说说 “交易子服务” 主要负责哪些具体工作吗?比如和用户购物流程有什么关联?
答辩学生:
“交易子服务” 主要负责和用户购物付款相关的工作。比如用户选好菌菇加入购物车后点击购买,交易子服务会接收这个下单请求,然后处理订单生成、计算订单金额(包括可能的优惠);用户付款时,它会对接付款相关的操作,确保付款信息能正确记录;付款成功后,它还会把订单状态同步给其他子服务,比如通知后台子服务更新菌菇库存,也让客户子服务能显示订单的付款状态,这样用户就能在自己的订单列表里看到 “已付款” 的提示,整个购物流程里和 “交易” 相关的步骤,基本都是由这个子服务来处理的。
评委老师:管理员功能里有 “商品精准推荐”,你打算怎么实现让系统精准推荐菌菇给用户呢?不用讲复杂算法,简单说下思路就行。
答辩学生:
我打算用比较简单的方式实现精准推荐。比如先记录用户的浏览和购买历史,要是用户经常看香菇、买香菇,系统就会知道用户可能喜欢香菇类的菌菇;另外,也会参考销量和好评率,把销量高、好评多的菌菇,推荐给没明确偏好的新用户;还有用户发布文章推荐过的菌菇,也会优先推荐给和他浏览习惯相似的用户。这样不用复杂算法,靠用户的行为记录和商品的热门程度,就能给用户推荐相对精准的菌菇了,对我这种基础比较差的同学来说,也更容易实现。
评委老师:用户能 “发布文章推荐菌菇并获取提成”,那系统怎么判断用户的提成该给多少呢?有没有简单的计算规则?
答辩学生:
首先会给每种菌菇设置一个固定的 “推荐提成基数”,这个基数由管理员在 “菌菇信息管理” 里设置好,比如每成功推荐 1 份平菇,提成基数是 2 元。然后系统会记录通过用户文章点击购买的菌菇数量,比如用户 A 推荐的香菇,有 5 个人点击文章后买了,那提成就是 “5 乘以香菇的提成基数”。另外会设置一个提成结算条件,比如订单完成(用户确认收货且没有退款)后,才把提成算给用户,避免出现退款后还发提成的情况。这样规则简单,计算起来也方便,我开发的时候不容易出错。
评委老师:管理员要 “超时取消订单”,那你打算怎么设定这个 “超时时间” 呢?比如从用户下单到超时取消,设置多久比较合适?为什么?
答辩学生:
我打算把超时时间设置为 24 小时。因为用户下单后,可能会临时有事忘了付款,给 24 小时的时间比较充裕,能减少用户因为没及时付款导致订单被取消的不满;另外,菌菇属于食品,虽然不是特别容易坏,但库存也不能一直被未付款的订单占用,24 小时既能给用户足够时间,也能让没付款的订单及时取消,释放库存给其他想买的用户。而且我查了一些类似的购物系统,很多都把未付款订单的超时时间设为 24 小时,参考这个常见的设置,也不用自己再琢磨更复杂的时间,开发起来更简单。
评委老师:系统用 SpringCloud 搭建分布式服务,你知道分布式服务相比普通的单一服务,对这个菌菇销售系统来说,最大的好处是什么吗?
答辩学生:
我觉得最大的好处是 “某个功能出问题时,不会影响整个系统”。比如要是客户子服务(负责用户浏览菌菇)出了小问题,因为是分布式的,后台子服务(管理员管理商品)和交易子服务(用户下单付款)还能正常工作,管理员能继续更新菌菇库存,已经下单的用户也能付款;要是单一服务的话,一个地方坏了整个系统都用不了。另外,后期要是想给交易子服务加个 “优惠卷” 功能,也不用改动整个系统,只改这一个子服务就行,对我后续开发和维护也更友好。
评委老师:测试时会用白盒和黑盒测试,能分别简单说说这两种测试在你的系统里,会怎么用吗?比如黑盒测试会测哪些功能?
答辩学生:
我理解的白盒测试,就是会看代码内部的逻辑对不对。比如写了 “用户下单扣减库存” 的代码,会检查代码里是不是先判断库存够不够,够的话再扣减,逻辑有没有写反;要是库存不够,有没有提示 “库存不足”,这就是白盒测试会做的。黑盒测试就不用看代码,像普通用户用系统一样测功能。比如测用户购买菌菇:打开系统、选菌菇、加购、下单、付款,看能不能正常生成订单,付款后订单状态对不对;再测管理员的 “轮播图管理”,上传一张轮播图,看前台首页能不能正常显示,这些都是黑盒测试要测的内容,两种测试结合着来,能更全面地检查系统功能有没有问题。
评价与总结
评价
慕婉同学的开题报告围绕菌菇销售的实际需求展开,课题有明确的应用场景,系统功能模块划分清晰,覆盖了管理员和用户的核心需求,分布式架构的选择也符合系统灵活维护的需求。技术栈选择贴合课题,考虑到慕婉同学基础相对薄弱,在回答问题时能避开复杂技术细节,用简单易懂的思路阐述功能实现,比如商品推荐、提成计算的规则都很务实,容易落地;对分布式服务、测试方法的理解也比较准确,能结合系统实际说明用途,体现出了认真的准备态度。不过报告中对各子服务之间的具体数据交互方式提及较少,后续开发中需要进一步梳理清楚。
总结
综合来看,慕婉同学的 “基于分布式技术的菌菇销售系统的设计与实现” 课题目标明确,技术路线可行,答辩时对问题的回答条理清晰,具备开展后续毕业设计的基础。建议后续开发中,先梳理好各子服务的交互逻辑,比如交易子服务和后台子服务怎么同步库存数据,再逐步实现功能;开发过程中遇到分布式相关的复杂问题,及时向指导老师请教,同时做好测试,确保每个功能模块都能正常运行。
以上便是慕婉同学《分布式菌菇销售系统》的毕业设计答辩过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考
最后
有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi学姐,没有选题的也可以联xi我们进行帮你选题、定功能和建议