【带小白做项目】万字!计算机答辩常问问题——论文相关及测试篇

 本系列完整目录

后端基础篇【带小白做项目】万字!计算机答辩常问问题——后端基础篇-CSDN博客
前端篇【带小白做项目】万字!计算机答辩常问问题——前端相关考察点-CSDN博客
小程序篇【带小白做项目】万字!计算机答辩常问问题——小程序端相关考察点-CSDN博客
数据库篇【带小白做项目】万字!计算机答辩常问问题——数据库相关问题-CSDN博客
论文&测试篇【带小白做项目】万字!计算机答辩常问问题——论文相关及测试篇-CSDN博客

本篇目录

 本系列完整目录

1.你的项目是什么架构,为什么选择这个架构

2.为什么要用Spring Boot

3.为什么要用MySQL

4.为什么要用uni-app

5.为什么使用vue

6.B/S C/S架构的区别,你的系统是什么架构

7.你觉得项目的亮点是什么

8.开发过程中用到了什么难题,怎么解决的

9.代码编写逻辑

10.不足的地方

11.用例图

12.如何实现的前后端分离

13.说明软件设计与开发过程分为哪几个阶段。 每个阶段你都做了哪些工作

14.需求分析阶段的主要任务是什么? 为了完成这些任务, 你都做了哪些工作?

15.说明管理信息系统设计和开发的基本过程分为几个阶段? 每个阶段的主要工作是什么?

16.软件测试有哪些方法?你采用了什么方法?

13.你采用了哪些功能进行测试?

14.黑白盒子测试是什么?

1.你的项目是什么架构,为什么选择这个架构

后端使用JAVA语言,SpringBoot框架编写,前端后台管理系统使用vue框架,前台小程序端使用uniapp框架,数据库使用MySQL数据库。

2.为什么要用Spring Boot

Spring Boot是Pivotal团队提供的一个快速开发框架,是当前主流的企业级开发框架之一。Spring Boot在继承了Spring框架优秀特性的基础上,还通过简化配置进一步简化了Spring web项目的创建、运行、调试和部署等过程。在Spring Boot出现之前,采用SSM框架搭建项目需要完成许多配置工作,如web.xml配置、MyBatis配置、Spring事务配置等,但是Spring Boot遵循“约定优于配置”原则,需要使用的额外配置很少。此外,Spring Boot能够使用内嵌的Tomcat、Jetty服务器,无需部署war包文件,还提供定制化的启动器Starters,简化了Maven配置,做到了“开箱即用”。

3.为什么要用MySQL

MySQL数据库是一个开源的关系型数据库,由MySQL AB公司开发,现属于Oracle 公司。MySQL数据库使用SQL语言,具有体积小、速度快等优点,被广泛应用于企业开发中,由于其开源免费的特性尤其受到个人开发者和小型企业的青睐。MySQL数据库具有非常丰富的功能,包括事务支持、存储过程、触发器等,具有良好的性能和稳定性,能够满足大多数管理需求。此外,MySQL数据库支持Mac OS、Linux、Windows、OpenBSD等多种操作系统,为包括C、C++、Python、Java、PHP在内的多种编程语言提供了API。MySQL数据库还能够提供多语言支持,支持GB 2312、BIG 5、Shift_JIS等各国编码,并提供了用于管理、检查、优化数据库操作的管理工具,是目前最流行的关系型数据库之一。

4.为什么要用uni-app

uni-app是一个使用Vue.js开发跨平台应用的前端框架,开发者只需编写一套代码,就可以编译到iOS、Android、微信小程序、支付宝等多个平台,大大提升了开发效率,降低了开发成本,目前广泛应用于中小企业、电商等不同领域的移动应用开发中。uni-app继承自Vue.js,提供了完整的Vue.js开发体验,对前端开发人员非常友好,学习成本低,并且uni-app封装了H5+,支持nvue和原生Android、iOS开发,可以将原有的移动应用和H5应用改为uni-app应用。同时,uni-app在渲染性能和内存管理方面也进行了大量优化,充分保证了应用的流畅性和稳定性。

5.为什么使用vue

Vue是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。Vue将组成一个页面的HTML,CSS和JS合并到一个组件中,可以被其他组件或页面引入而重复利用。通常每个.Vue文件作为一个组件导出,组件可以作为基础组件(如按钮)或一个页面(如登录页面)。组件化很好的将一个庞大复杂的前端工程拆分为一个个组件,重复利用的性质也大大提高了开发的效率。

6.B/S C/S架构的区别,你的系统是什么架构

C/S(Client/Server)系统架构即客户端/服务器结构,主要应用在局域网中,用户需要下载安装客户端,通过客户端访问服务端。

C/S系统架构的优势在于其客户端与服务器点对点直接相连,保证安全性的同时也减少了通信流量,响应速度快。此外,由于客户端也有一套完整的应用程序,所以它同样可以处理诸如计算、存储数据等逻辑事务,减少了服务器压力,避免资源浪费。同时,客户端的操作界面更加丰富,可以满足用户个性化需求。

B/S(Browser/Server)系统架构即浏览器/服务器结构,使用通用浏览器代替了原有需要下载安装才能使用的客户端。用户通过浏览器向web服务器发送服务请求,并获取处理结果,而应用服务器负责执行业务逻辑,向数据库发送请求。数据库服务器收到请求后,会对接收到的SQL语句进行处理,将结果返回给web服务器,再由web服务器将结果转换为HTML文本发送给浏览器。

在B/S系统架构中,浏览器与数据库服务器的对应关系为多对多的网状结构,具有强大的信息共享能力。用户无需安装客户端,随开随用,使用方便易推广,不受操作系统限制。且浏览器只需要处理简单的逻辑事务,负担较小,页面设计开发也较为简单,开发成本、维护成本相较于C/S系统架构而言都更低。

由于校友管理系统面对的用户群体主要为高校已毕业校友或在校师生,对系统安全性要求不高,反而更注重系统的可用性。而B/S系统架构只要在可以使用浏览器上网的地方即可使用,无需下载客户端,不受时间、地点的限制,兼容大多数主流数据库和操作系统。并且B/S系统架构在系统开发、升级维护、学习推广等方面都具有极大的成本优势,因此本系统选择B/S架构进行开发。

7.你觉得项目的亮点是什么

首先是技术比较新,现在很多校友管理系统还是网站的形式,用户只能通过网站登录,浏览页面,不是很方便。我的项目前台部分使用的是微信小程序,用户即开即用,只要具备可以上网且安装了微信app的手机即可。为用户提供了极大便利。

其次将在校生群体纳入到系统用户中,增加了招聘内推模块,在校生可以通过该模块找到实习和正式工作,了解行业趋势,为提高学校就业率助力。

最后是互动性较高,具有点赞、评论、收藏等功能,增强用户体验。

8.开发过程中用到了什么难题,怎么解决的

微信小程序端富文本编辑器不可用,但在浏览器端可以正常使用,报错提示 cannot read property错误,尝试自行更改,也查阅了很多资料,但都无法解决该问题。且组件官网上是表示该组件兼容于微信小程序端的,所以可以基本排除是平台兼容性问题。后来因为做毕设时间比较紧急,就先尝试更换了其他的富文本编辑器组件。但也一直对这个问题很感兴趣,后来想到可能是源码的问题,在论文定稿后查看了源码逻辑,尝试自己更改源码,最终解决了这个问题。

9.代码编写逻辑

需求分析----数据库文档----接口文档----初步设计前台页面----设计MySQL表----创建实体类-----创建Controller----创建Service----创建Mapper----创建Mapper.xml----前台

10.不足的地方

不足的地方还有很多。

比如增加管理员验证功能,使管理员可以对发表的帖子或新注册用户进行审核,防止恶意注册或恶意发帖等。(增加一个字段,管理员可以更改该字段为1或0,为1时可以登录/显示,为0时不可以)。管理员批量导入信息功能,在校生自动转变为毕业生等。

另一个是导师建议的增加在校聊天功能,这部分我还在学习,所以没做出来。

11.用例图

用例图是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。

12.如何实现的前后端分离

前后端分离开发是将前端和后端的开发分离开来,使得前端和后端可以独立开发、测试和部署。在前后端分离开发中,前端负责展示数据和用户交互,后端负责处理业务逻辑和数据存储。 具体来说,前端开发人员使用 HTML、CSS、JavaScript 等技术实现用户界面和交互逻辑,通过 AJAX 或 WebSocket 等技术与后端进行通信,获取数据并将数据展示给用户。后端开发人员则负责编写业务逻辑和数据存储的代码,提供 API 接口供前端调用。

前后端分离开发的优点包括:

  • 提高开发效率:前后端可以并行开发,减少了开发时间。

  • 提高可维护性:前后端分离后,代码耦合度降低,修改一个模块不会影响到其他模块。

  • 提高可扩展性:前后端分离后,可以更容易地添加新的功能模块。

  • 提高用户体验:前端可以更快地响应用户操作,提高用户体验。

13.说明软件设计与开发过程分为哪几个阶段。 每个阶段你都做了哪些工作

需求分析: 分析用户的实际需求, 了解应用背景, 明确各功能点;

概要设计: 基于需求分析, 设计整体解决方案;

详细设计: 基于概要设计, 完成每个模块的设计;

编码: 基于详细设计, 对每个功能模块进行编码实现;

测试: 在本系统中主要是过行了单元测试。

14.需求分析阶段的主要任务是什么? 为了完成这些任务, 你都做了哪些工作?

确定对系统的综合要求, 分析系统的业务需求、 用户需求和功能需求, 导出系统的逻辑模型, 修正系统的开发计划。

与用户细致沟通, 了解用户之前的系统功能、 运行模式等, 理解用户的真识想法, 以原型模式演示需求了解的状况, 基于对用户的理解, 编写了功能分析、 性能分析、 环境约束等方面

15.说明管理信息系统设计和开发的基本过程分为几个阶段? 每个阶段的主要工作是什么?

管理信息系统的开发可分为系统规划、 系统分析、 系统设计、 系统实施、 系统维护和评价五个阶段。各阶段的主要工作概要说明如下。

系统规划阶段 系统规划阶段的任务是: 在对原系统进行初步调查的基础上提出开发新系统的要求, 根据需要和可能,给出新系统的总体方案, 并对这些方案进行可行性分析, 产生系统开发计划和可行性研究报告两份文档。

系统分析阶段

系统分析阶段的任务是根据系统开发计划所确定的范围, 对现行系统进行详细调查, 描述现行系统的业务流程, 指出现行系统的局限性和不足之处, 确定新系统的基本目标和逻辑模型, 这个阶段又称为逻辑设计阶段。 系统分析阶段的工作成果体现在“系统分析说明书”中, 这是系统建设的必备文件。 它是提交给用户的文档, 也是下一阶段的工作依据,因此, 系统分析说明书要通俗易懂, 用户通过它可以了 解新系统的功能, 判断是否所需的系统。 系统分析说明书一旦评审通过, 就系统设计的依据, 也是系统最终验收的依据。

系统设计阶段

系统分析阶段回答了新系统“做什么”的问题, 而系统设计阶段的任务就是回答“怎么做”的问题, 即根据系统分析说明书中规定的功能要求, 考虑实际条件, 具体设计实现逻辑模型的技术方案, 也即设计新系统的物理模型。 所以这个阶段又称为物理设计阶段。 它又分为总体设计和详细设计两个阶段, 产生的技术文档是“系统设计说明书”。

系统实施阶段

系统实施阶段的任务包括计算机等硬件设备的购置、 安装和调试, 应用程序的编制和调试, 人员培训,数据文件转换, 系统调试与转换等。 系统实施是按实施计划分阶段完成的, 每个阶段应写出“实施进度报告”。 系统测试之后写出“系统测试报告”。

统维护和评价阶段

系统投入运行后, 需要经常进行维护, 记录系统运行情况, 根据一定的程序对系统进行必要的修改,评价系统的工作质量和经济效益。

16.软件测试有哪些方法?你采用了什么方法?

我是采用了单元测试和功能测试两种测试的方法对该系统做了功能做了测试,使用单元测试时,对该某些类进行了测试,比如一些获取前台登录信息,查看数据库等,还做了一些功能测试,主要是系统的增删改查进行了简单的测试。

13.你采用了哪些功能进行测试?

我采用了单元测试,对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如 Java 里单元指一个类,总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

14.黑白盒子测试是什么?

白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值