【开题答辩全过程】以 基于Android的“旧时光”书店App为例,包含答辩的问题和答案

个人简介

一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等

开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。

感谢大家的关注与支持!

各位老师好,我是xx同学。我的毕业设计题目是《基于Android的"旧时光"书店App设计与实现》。本系统是一个线上购书平台,分为Android客户端和Web管理端。客户端主要功能包括图书搜索、图书推荐、图书分类浏览、购物车管理和个人中心;管理端供管理员使用,包含用户信息管理、图书信息管理、订单处理等功能。技术上采用Java语言开发,Android客户端使用Android Studio开发,服务端使用IntelliJ IDEA,数据库采用MySQL,PC端页面使用HTML、CSS、JavaScript技术。下面请各位老师批评指正。


评委老师: 你为什么要选择开发一个书店App?市面上不是已经有当当、京东读书这些成熟的平台了吗?

答辩学生: 老师好,选择这个题目主要有两个原因。第一,这是为了完成我的毕业设计,需要一个完整的项目来综合运用我大学四年学到的知识。第二,虽然市面上有大平台,但它们功能复杂,我的"旧时光"书店定位更简洁,专注于基础购书功能,适合学习和小型书店使用。通过这个项目,我可以掌握Android开发、数据库设计和前后端交互等技能。


评委老师: 你的系统分为前台和后台,能简单说说前台有哪些功能模块吗?

答辩学生: 好的老师。前台就是Android客户端,面向普通用户,主要有四个模块:首页模块(包含图书搜索、最新活动、图书推荐、图书上新)、图书分类模块、购物车模块和个人中心模块(包含用户注册登录、个人信息管理、订单管理)。


评委老师: 那后台管理端呢?管理员能做什么操作?

答辩学生: 后台是Web端,主要给管理员用,包括五个功能:用户信息管理、图书分类管理、图书信息管理、订单管理和最新活动管理。管理员可以在这里维护图书数据、处理用户订单、管理用户账号等。


评委老师: 你提到用Java开发,数据库用MySQL,那你知道Android客户端怎么连接数据库吗?是直接连还是通过什么方式?

答辩学生: 老师,Android客户端不直接连接MySQL数据库。我的设计是通过服务端作为中间层,Android客户端发送HTTP请求给服务端,服务端用Java(比如Servlet或者Spring框架)去操作MySQL数据库,然后把结果返回给客户端。这样比较安全,也能实现前后端分离。


评委老师: 你的系统有图书推荐功能,这个推荐是怎么实现的?是用很复杂的人工智能算法吗?

答辩学生: 老师,考虑到我的基础和时间限制,这个推荐功能我打算先做简单一点的。比如根据图书的分类、销量或者新上架来推荐,或者根据用户的浏览记录推荐同类图书。不会用太复杂的算法,主要是基于规则的推荐,确保功能能实现且稳定运行。


评委老师: 购物车模块主要实现什么功能?数据是存在本地还是服务器上?

答辩学生: 购物车模块主要是让用户把想买的书加进去,可以修改数量、删除商品、查看总价。关于数据存储,如果用户已登录,购物车数据会同步到服务器数据库,这样换设备也能看到;如果未登录,可能先存在本地SQLite,登录后再同步。具体实现我还在考虑,优先保证登录状态下的服务器存储。


评委老师: 你打算用什么开发工具?开发流程大概是什么样的?

答辩学生: 老师,我计划用Android Studio开发Android客户端,用IntelliJ IDEA开发服务端,数据库用MySQL,配合Navicat管理。开发流程大概是:先完成需求分析和数据库设计,然后开发服务端接口,接着做Android客户端界面和功能,最后进行测试和部署。


评委老师: 如果用户在下单时,刚好这本书库存只有1本,两个人同时买,怎么保证不会超卖?

答辩学生: 老师,这个问题我考虑用数据库的事务和锁机制来解决。比如下单时先查询库存,如果足够就扣减库存并生成订单,这个过程用SQL事务包裹,保证原子性。或者也可以在代码层面加同步控制,确保同一时间只有一个请求能修改库存。具体方案我会在实现时仔细测试。


评委老师: 你的参考文献里提到了MVP模式,你知道MVP是什么吗?会在你的项目中使用吗?

答辩学生: 老师,MVP是Model-View-Presenter的缩写,是一种架构模式。Model是数据层,View是界面,Presenter负责业务逻辑,把View和Model分开。这样代码更清晰,方便测试。我打算在项目中尝试使用MVP模式,虽然刚开始可能不太熟练,但我会学习并应用到主要功能模块中。


评委老师: 最后问一个基础问题,你的App怎么实现用户登录状态的保持?每次打开都要重新登录吗?

答辩学生: 老师,我打算用SharedPreferences来保存登录状态。用户第一次登录成功后,把token或者用户ID存在本地,下次打开App时自动读取,不需要重复登录。除非用户主动退出登录或者token过期,才需要重新输入账号密码。


答辩评价与总结

评委老师:

xx同学的开题报告整体结构完整,对系统的功能模块划分清晰,技术选型比较合理,符合本科毕业设计的要求。从答辩过程来看,该同学对项目的基本架构有一定理解,能够清楚描述前后端分离的设计思路,对MVP模式、数据存储等概念也有初步认识。

优点:

  1. 功能设计贴近实际需求,模块划分合理

  2. 技术栈选择主流,开发工具熟悉

  3. 对基础问题如登录状态保持、数据库连接方式有正确理解

建议:

  1. 图书推荐功能建议先实现基础版本,确保核心购物流程稳定后再优化

  2. 并发处理(如库存问题)需要多查阅资料,必要时可以简化场景

  3. 建议尽早开始编码,留出充足时间测试

结论: 同意开题,希望xx同学按计划完成毕业设计。注意时间安排,遇到问题及时与指导老师沟通。祝顺利完成!


以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取

最后

有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi博主,没有选题的也可以联系我们进行帮你选题、定功能和建议。

相关推荐
代码s贝多芬的音符12 小时前
android mlkit 实现仰卧起坐和俯卧撑识别
android
jwn99912 小时前
Laravel9.x核心特性全解析
android
今天又在写代码13 小时前
数据智能分析平台部署服务器
android·服务器·adb
梦里花开知多少14 小时前
深入谈谈Launcher的启动流程
android·架构
jwn99914 小时前
Laravel11.x新特性全解析
android·开发语言·php·laravel
我就是马云飞14 小时前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
stevenzqzq15 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
唔6615 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔6615 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Melrose15 小时前
移动端安全攻防
android·前端·安全