CPEM项目是模仿CRM项目搭建的,基本功能完善,完成时间`2023-2-15`
设计要求
页面的整体框架搭建好,页面教美观,相关的类与组件id等命名规范化,提早体验企业化开发流程;登录验证、安全退出、3天内记住密码、没登录设置拦截器,预防没登录进入业务页面;实现增加、删除、修改、查询、导入文件、导出文件、分页、日历、mybatis逆向工程、Echart的简单使用等功能。
技术环境
IDEA、ROSE、PowerDesigner、Navicat Premium、应用服务器(tomcat9)、数据库服务器(mysql)、java框架(SSM)、mybatis逆向工程等。
详细技术
HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN。
逻辑架构设计
视图层-->控制层-->业务层-->持久层-->数据库。
界面的设计:
也就是视图层,主要是jsp页面用BootStrap前端框架、BootStrap日历插件、分页插件、Echart插件等设计。
类的设计
controller层,主要是处理业务的相关逻辑,与目录资源息息相关,一个目录资源对应一个controller类,与前端页面jsp进行交互;server层与数据库表息息相关,一个表对应一个server类,主要是用于团队开发时的业务分发工作,保证数据的安全性,用户不能直接接触数据等作用;mapper层与数据库表息息相关,一个表对应一个mapper层,主要是sql语句,对数据库的增删改查操作;对于mapper层的基本代码和数据库的表可以用逆向工程来生成,根据插件生成一些简单的语句,后续添加自己所写的接口和sql语句即可,大大的缩减了我们对这些基础代码的编写工作。
## Spring开发框架
使用spring技术,B/S架构,Java编程语言,SpringMVC框架来搭建项目的框架,结合mybatis持久层框架来开发系统。
总结
对于这次课设,让我在寒假学到很多,不然也不会如此快的掌握这些技术。对于这个CPEM系统,优点是基本功能较为齐全,思路比较多,设计的范围较广,不是毕业设计,只需要完成一部分的设计,可以自行挑选自己感兴趣的方面编写,其它页面也大致是对数据库的增删改查操作。缺点就是感觉技术有些过时,还是用jsp技术,本来想用vue来搭建项目的,然后又想学学用jsp来写前端,结合SpringMVC框架和Mybatis持久层框架来写,更加符合几年前的技术流程。后面去学Springboot和Vue结合的项目,更加贴近现在的企业化开发流程。虽然学的技术较落后,但其编程思想却很重要,如何对项目的设计流程,怎么分析需求,从而编写每一个业务的流程,有了业务流程,编写代码就变得简单多了,正如3.1中用rose来构造的序列图。虽然出去工作那些数据库之类的,会有产品经理分析,写出需求设计报告,但需要懂得如何分析需求,画出序列图,才更好的完成相关功能的编写。大作业完成的重要功能有:登录验证、安全退出、三天记住密码、创建数据、删除数据、修改数据、查询数据、全选复选框、导入Excel表的内容、导出Excel表的内容等。扩展功能的话:独特的日历选择插件(如图4.3)、独特的分页插件(业务图都有涉及)、逆向工程的使用、对导入导出作出一定的优化、封装了一些工具类算法如生成表的主键UUID算法、对时间格式的统一规范等。对于时间的规范上有些许不足,对时间做不能大于当前时间的验证来着,原本没学过jsp的代码,只大概了解其基本用法,这里实则是JavaScript的语法,但我百度了好几篇博主的文章,了解如何在jsp前端页面显示当前时间,但只能实现如何输出当前时间,我本来想用一个变量接受来着,但是接收后我用来和输入的时间做比较,在测试时并没有起作用。还有许多业务的分析不够全面,功能也完善的不到位,给测试人员测试,会出现各种各样的bug。对于这次大作业,让我收获颇多,对业务基础逻辑了解的更加深刻,慢慢的转变了一些编程思想,学会如何分析需求,构造出序列图方便代码的编写,对SpringMVC的基本思想,如何运用有了更深刻的认识,了解到更多技术的使用方法。对于调试程序有着十分深刻的体会,有好几次都是写错一个字母,从开始一到二个小时的找bug,从底层找到顶层,都没有发现,到后面的十来分钟,甚至几分钟就找出bug所在,大大的提高了对代码的审视能力。
~从课设直接copy过来滴,记录一下学习经历~
`课设自行设计,应该算原创作品·—·`