目录
一、答辩时的流程介绍
二、答辩常见问题
1、项目使用的技术
2、项目开发中遇到什么问题,是怎么解决的分享一下
3、你觉得你的这个系统有什么比较新颖的地方?技术或功能点都可以。
4、你的这个图形统计报表是如何进行实现的?
5、请您介绍一下XX模块的基本业务流程,讲解一下相关代码。
6、项目某个功能(如登陆、注册、查询等功能)数据流程是怎样的 ?
7、你介绍一下你项目中所用到的各个表以及他们之间的业务关联。
8、数据库用的什么数据库,该数据库有什么特点?
9、有购物车功能的同学,购物车怎么实现的
10、MVC设计模式是指什么,其优缺点,怎样用到在你的程序里
11、SSM/SSH框架是指什么,其优缺点,怎样用到在你的程序里
12、检索功能支持模糊查询吗?怎么实现的?
13、你是怎么实现后台与数据库连接的,能看看你的代码吗?
14、你能说说varchar 和 char 的区别吗?
15、你系统中用到了什么算法,请说一下?
16、你的系统的安全性是如何保障的?
17、你觉得你的课题那些地方还需要改进?
18、基本知识普及B/S结构与CS架构
19、数据库的设计分为哪几步?
20、解释ER图并说明它的作用。
21、实体之间联系的类型有几种?详细解释他们的含义。
22、说说你在设计数据库表时是如何考虑的?
23、论文是你写的吗?程序是你设计的吗?
24、Java项目类型划分、以及代码分层
三、总结
1、项目准备:
2、论文观看:
3、技术查看:
4、核心模块:
5、答辩PPT:
6、对回答不出的问题,不可强辩。
一、答辩时的流程介绍
1、开场⽩ 这时主要介绍㇐下你是谁,是什么专业,你的指导⽼师是谁,你论⽂的题⽬是什么。 参考: 尊敬的评委⽼师:⼤家早上好,我是XX级XX专业的XX,我的知道老师是XX,毕业设计题目是XX,希望今天能为我的学⽣⽣涯画上㇐个完满的句号。 2、项目功能演示以及PPT解说 本部分主要是演示项目的主要功能以及使用的技术,演示时间控制在5-10分钟之间,介绍某个功能的时候可以提及该功能使用的相关技术,避免干巴巴的介绍,项目中的亮点可以重点介绍。 项目演示过程中保证项目可以正常使用(答辩前项目运行好),没有明显的漏洞(比如登录不上、出现空指针异常、页面出现404错误),功能逻辑合理(不需要很商业化), 防止项目答辩演示的时候项目出问题,可以提前录制好视频,最好带功能解说;3、结束语这部分可以说㇐下⾃⼰项目中的特色以及不足之处,以及⾃⼰在论⽂写作及修改过程中的㇐些感悟,⽐如感觉到⾃⼰知识的缺乏呀,如此相关的。最后,请给位⽼师多批评指正,⾃⼰以后会继续学习等等。 4、评委提问 提问应该是论⽂答辩必不可少的㇐个环节。当⽼师提问时,如果⼿边有纸和笔,可以对关键词进⾏㇐下记录,这样有助于我们记录和减压。如果对问题不太清楚,可以请⽼师做㇐个解释,不能不懂装懂,东拉西扯。 5、评委点评 在⽼师点评时,要认真听取⽼师的点评,深思⽼师⽼师提出的意见和建议,总结论⽂写作的经验和教训。
二、答辩常见问题
1、项目使用的技术
答: 例如: 前端使用XX(css、javascript、jQuery、Vue框架、AngularJS、React、Layui框架、Bootstrap等) 后台使用了XX(java语言-Springboot|SSM|javaweb技术 、Python、.net) 数据库使用的是XX(Mysql数据库、Sql Server、Redis) 每个技术在项目中的使用要有基本认识 项目类型:网站|系统、小程序、App
2、项目开发中遇到什么问题,是怎么解决的分享一下
1)数据库链接问题
账号密码不对或者是数据库驱动与数据库服务器版本不一直导致项目发布异常
2)浏览器缓存问题,图片文字改了,但是在浏览器不显示不要使用eclipse内置的浏览器访问,应该用外置浏览器比如谷歌并且清理浏览器的缓存可以 按住 ctrl+shift+delete键清理浏览器缓存,同时要重新发布项目就好了 3)中文乱码问题 ①数据库中的数据出现了中文乱码问题 这两个地方的值 latin1 改成 utf8 然后重启mysql数据库服务器 之前创建的数据库删掉 drop dababase ‘需要删除的数据库’
②代码的中文出现中文乱码-改下开发工具工作空间编码
Window——preferences——General——Workspace最下面字符编码为utf-8如果是utf-8,就改成gbk改完后,要重新运行项目
③工作空间编码和数据库安装都是正常 但是发送到数据库中的中文还是出现乱码
找到数据库链接的url地址 看下是否有 characterEncoding=utf-8
④小程序真机访问出现接口异常
如果项目再本地使用正常,真机访问出现接口异常的原因:电脑和手机需要在同一局域网,可以使用电脑链接手机热点注意:电脑ip不是固定的,电脑重新启动ip就会变化一次,大家要注意微信真机调试视频教程链接:https://pan.baidu.com/s/1nNLgB1-4DYMDqx4IDnSAFQ ;提取码:0000
3、你觉得你的这个系统有什么比较新颖的地方?技术或功能点都可以。
答: 算法、 报表插件(Echarts、Highcharts )、支付功能、Redis缓存、人脸识别、第三方登 录、批量导入导出等,这块主要考研系统设计使用的技术是否有技术亮点或者说某个功能设计的很人性 化,通过我的这个设计减轻了用户的工作量
4、你的这个图形统计报表是如何进行实现的?
答:常用的报表可视化插件 Highcharts 网址 https://www.highcharts.com.cn/、Echarts报表插件实现图 形化统计功能 网址:https://echarts.apache.org/zh/index.html
5、请您介绍一下XX模块的基本业务流程,讲解一下相关代码。
6、项目某个功能(如登陆、注册、查询等功能)数据流程是怎样的 ?
7、你介绍一下你项目中所用到的各个表以及他们之间的业务关联。
8、数据库用的什么数据库,该数据库有什么特点?
MySQL:一种关系型数据库,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内, MySQL是使用sq|语言进行访问的,总的来说,MySQL访问速度比较快,成本低。 1)mysq|性能卓越,服务稳定,很少出现异常宕机。 2)mysq|开放源代码且无版权制约,自主性及使用成本低。 3)mysq|软件体积小,安装使用简单,并且易于维护,安装及维护成本低。 使用其他数据库的同学可以百度下该数据库有什么特点
9、有购物车功能的同学,购物车怎么实现的
答:购物车中商品数据的可以保存再如下几个地方 比如 Session中、Cookie中、或者是数据库表 中
10、MVC设计模式是指什么,其优缺点,怎样用到在你的程序里
每 个组件充分独立,提高了代码可重用性和易维护性,下图展示的就是 MVC 模型: MVC: M指的是 Model 模型 V:View视图 C:Controller 控制器 在MVC架构中,Servlet作为前端控制器,负责接收客户端发送的请求 在Servlet中只包含控制逻辑和简单的前端处理; 后端JavaBean来完成实际的逻辑处理; 最后,转发到相应的JSP页面处理显示逻辑。
11、SSM/SSH框架是指什么,其优缺点,怎样用到在你的程序里
SSM指:Springmvc、Spring、Mybatis SSH:Struts2、Spring、Hibernate
12、检索功能支持模糊查询吗?怎么实现的?
like实现模糊查询 例如:select * from 用户表 where name like ‘%张三%’;
13、你是怎么实现后台与数据库连接的,能看看你的代码吗” />用的是eclipse的话 使用ctrl+h选择File Search输入com.mysql 如果用的而是idea 按住 ctrl+shirt+r搜下com.mysql就可以看到数据库连接的相关配置信息了 java项目中数据库链接使用的技术 Jdbc、Dbcp数据库连接池、Mybatis、 14、你能说说varchar 和 char 的区别吗?
varchar可变长度字符窜、char固定长度字符窜 char(10)与varchar(10)都存字符串 abc CHAR 消耗了硬盘空间更大 = “ abc”长度 + 7个空字符 VARCHAR损耗了硬盘 3字节 = “ abc”长度. 建议固定长度字符窜用 char存储 ,可变长度字符窜用 varchar
15、你系统中用到了什么算法,请说一下?
16、你的系统的安全性是如何保障的?
答、 Shiro权限框架 或者 是 密码MD5加密,后台管理系统是否有进行权限控制,不同用户可以 分配不同角色,不同角色可以有不同的操作权限
17、你觉得你的课题那些地方还需要改进?
答:在答辩前,自己想出一些我们课题的改进地方,每个人的项目都会有不足之处,可能是因为时 间关系或者是技术能力原因没达到想要的效果,提前想出对策,老师提问时, 我们按照自己心中所想回答就可以。
18、基本知识普及B/S结构与CS架构
答、 BS架构 B/S架构的全称为Browser/Server,即浏览器/服务器结构,Browser指的是Web浏览器,通过浏览器 与后台服务器交互就是BS架构 优点 1. 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件 2. 系统的扩展非常容易,只要能上网,再由 系统管理员分配一个用户名和密码,就可以使用了,或者在线申请 3. 维护升级越来越容易,使用“瘦”客户机,“胖”服务端的方式。 4. 使用的B/S架构的应用管理软件一般安装在Linux服务器上,它的安全性高,免费,而且连数据库也是免费的 缺点 BS架构管理软件只安装在服务端上,管理人员只需要管理服务端就行。所有的客户端只有浏览器,网络管理人员只需要做硬件维护,但是,在运行数据量较大的时候,有可能出现服务端“崩溃”的问题,后果是不堪设想的。因此切记做好备有数据库存储服务端。 CS架构 CS: Client/Server, 客户端 / 服务器模式 优点: 1. 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快 2. 负荷比较轻:当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出 请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。 缺点 1. 客户端需要安装专用的客户端软件,安装过程可能会出错 2. 对客户端的操作系统一般也会有限制。 3. 维护和升级成本高:当系统软件升级时,每一台客户机需要重新安装。
19、数据库的设计分为哪几步?
答、按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段: ⑴ 需求分析:分析用户的需求,包括数据、功能和性能需求 ⑵ 概念结构设计:主要采用E-R模型进行设计,包括画E-R图(概念结构是独立于任何一种数据 模型的信息结构) ⑶ 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换(任务就是把概念 结构设计阶段设计好的基本E-R图转换为与选用的DBMS所支持的数据模型相符合的逻辑结 构), 逻辑设计完成之后要对数据模型进行优化,因为数据库逻辑设计的结果不是唯一的,根据应 用需要适当地修改、调整数据模型的结构。如果在优化过程中发现数据库的逻辑结构有诸多问 题, 则需要返回到上一层修改或重新进行数据库的逻辑结构设计 ⑷ 数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径; ⑸ 数据库的实施:包括编程、测试和试运行; ⑹ 数据库运行与维护:系统的运行与数据库的日常维护(数据库的转储和恢复;数据库的安全 性和完整性控制;数据库性能的监督、分析和改造;数据库的重组织与重构造)
20、解释ER图并说明它的作用。
用例图是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望 系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统 的用户更容易理解这些元素的用途,也便于软件开发入员最终实现这些元素。 用例图包含六个元素,分别是:参与者、用例、关联关系、包含关系、扩展关系以及泛化关系。 作用: (1) 获取需求; (2) 指导测试; (3) 还可在整个过程中的其它工作流起到指导作用。 E-R图的目的和作用 E-R图为实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 矩形框:表示实体,在框中记入实体名。 菱形框:表示联系,在框中记入联系名。 椭圆形框:表示实体或联系的属性,将属性名记入框中。 连线:实体与屬性之间;实体与联系之间;联系与属性之间用 直线相连,并在直线.上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系, 要在一 的一方写1,多的一-方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
21、实体之间联系的类型有几种?详细解释他们的含义。
数据对象彼此之间相互连接的方式成为联系,也为关系 一对一(1:1)一个部门有一个经理,而每个经理只在一个部门任职,部门与经理的联系就是一对一。 一对多(1:N)教师与课程之间存在一对多联系,即每位教师可以教多门课程,但是每门课程只能由以为教师来 教。 多对多(N:M)学生与课程的联系时多对多,即一个学生可以学多门课程,而每门课程可以有多个学生来学。
22、说说你在设计数据库表时是如何考虑的?
1)首先要考虑的是这个数据库的主要作用是什么? 包含哪些数据 ?这些数据又分别属于哪些实体对象?对象之间存在什么样的关系?比如管理系统,那么肯定会有人 要增删改查,就延伸出需要管理员,有管理员了就存在账号,密码;如果有评论功能,那就还有评论的标题、内 容、姓名、时间等。这么多需要存放的数据,如何归类,归类后又如何整理相互之间的关系 2) E-R 模型 ,建立E-R模型的工具很多,E-R图的画法也很多。主要作用是将所有要存入数据库的数据归类、整 理成一个个的分类,这个分类被称之为实体,而被归如这个分类的数据则被称之为实体的属性。不同的实体之间存 在关联,这在E-R模型上就必须体现出来。 3)每一个实体就是一个表,而实体的属性就是这个表的列,什么样的 列该用什么样的数据类型。 4)允许为空和默认值空值null既不是0也不是空字符,而表示未知。 null 值本身不占空间,但是它所在列实实在 在的要占用空间的。null 比较特类殊,数据库要对 null 字段进行额外的操作,如果表中有较多的 null 字段时会影响 数据库的性能。 5)主键的问题。一张表唯一主键。 6)约束和规则 ,用于确保数据完整有效性,一旦定义了约束和规则,那么只有满足这些条件的数据才可一倍插入 数据库。比如要求注册会员的性别要么是男,要么是女,绝对不允许第三种情况。 7) 外键关系 ,比如会员管理系统,如果所有会员都是同样当然无所谓,但如果分为普通会员,金、银、铜牌会员 几种类型,这时候就需要好好的思量下了。到底是在会员信息表中增加一个列来存储会员类型的名称呢还是单独用 另外一张表来存储会员名称,再把两张表关联起来。 8)你用什么方法保证数据完整性? (1)可以使用约束实现数据完整性( primary key主键,保证被设定的列内不出现重复值,保证实体完整性; unique不重复出现,保证实体完整性; foreign key定义外键,保证表和表之间的一致性,保证参照完整性; check定义列中数据的范围,保证自定义完整性; default为列的数据设定默认值,保证自定义完整性) (2)可以使用规则和默认值(规则create rule 规则名 as 规则表达式;默认值create default 默认名 as 表达式)。约束时基于表的操作,而规则和默认可以绑定多个表多个列。
23、论文是你写的吗?程序是你设计的吗?
答、论文是自己写的,项目开发过程中有些地方不是很明白的在老师和同学的的帮助下共同完成的。
24、Java项目类型划分、以及代码分层
答:单体项目(javase项目、javaweb项目又分成普通web项目以及maven项目)、前 后分离
三、总结
1、项目准备:
老师觉得首先你要对你的项目有一个差不多的了解,怎么着也得自己把程序跑两遍过一下核心功能吧?你总得能说清楚你的系统出于什么的目的,为什么样的客户服务,完成什么样的功能吧?如果不清楚,看看论文,上面一般会有描述。
2、论文观看:
这个论文其实一般的格式就是将你项目开发的背景、目的、需求、设计、实现、测试、总结几大块全写上了,所以你认真看一遍论文,也会让你对整个软件系统的整体或局部都有一个相对清晰的认知。
3、技术查看:
比如论文会有你项目所涉及技术的描述,Springboot框架,SSM框架,Shiro 框架等等,可能还有前端的什么EasyUI,Bootstrap,Vue,Layui等等,还有我们新爱的MYSQL数据库,先有个大概的了解。答辩不是面试,所以一般不会问你具体的技术,但一般会考察你系统的实现。
4、核心模块:
这是我们准备的重点,你必须要将项目中的二三个你认为是亮点的地方,或者值得一提的地方能说个大概。比如可能你项目中大部分都有这个登陆功能,但它是不是核心功能呢?我觉得值得商榷,因为它基本是每个系统都有的,能有什么亮点?但你说这么一个普通的功能,如果老师问了,你答不上来,尴尬不?所以我觉得你可以看一看,通过个登陆把整个系统的交互流程搞明白了。然后就是准备核心业务模块和系统的核心技术应用。对大部分系统来讲,其实大多的功能还是基本的增删改查,这个你熟悉一个模块即可。但像其它的,比如系统中所拥有的图形报表功能、数据导入导出功能,这些是不是值得一说?我觉得是可以的。当然这要看每个系统的具体情况,比如你的是基于XXX的推荐系统,那就主要准备介绍一下你这个推荐的算法,业务流程的实现;比如你的是基于XXX的大数据分析,那你可能就主要放在你这个大数据是如何分析的业务模块和流程上了。
5、答辩PPT:
这是一个最终的总结性步骤,你前面的所有的努力,其实都可以汇总到这个PPT上,它是你展示项目和进行答辩的一个思路凝聚,也是你答辩时因为不熟练而忘记时给你救场的救星。一般来讲,一个答辩PPT的制作无法这么几个环节,项目介绍,技术说明,功能实现,主要亮点,项目展示,最后总结。你准备的越充分,胜率也就越大,但是你的导师不可能让你把整个论文都粘贴上去的,所以它就是一个答辩的思路的梳理,你可以把核心的一些东西放上去给自己做提醒。
6、对回答不出的问题,不可强辩。
答辩委 员会的老师对答辩人所作的回答不太满意,还会进- -步提出问题,以求了解论文作者是否切实搞清和掌握了这个问题。遇到这种情况,答辩人如果有把握讲清,就可以申明理由进行答辩:如果不太有把握,可以审慎地试着回答,能回答多少就回答多少;如果确实是自己没有搞清的问题,就实事求是地讲明自己没有搞清楚,表示今后- -定认真研究这个问题,切不可强词夺理。 线下答辩现场 学习中有疑问的VIP学员可以加 【 IT实战营|IT实战课堂】售后群学习交流