Java真实项目,是网络各大平台中匮乏的资源。无论你是学完了Java技术,想要项目实战应用一下,还是简历中想要编写项目经验,又或则是毕业设计环节正在写论文,这都可以帮到你。
我是老龚,20年软件开发经验,资深软件架构设计师,曾主导XX银行太平洋中信用卡审核系统–天姬变、XX诊断部–设备状态管理系统、XX诊断部–数据猎人子系统、XX协力OA系统等。(其中XX由于签订保密协议,这里不便公开,还请谅解)。
20年的从业经验,我参与或主导多个Java开发项目,我想把这些经历分享给大家。我会筛选出适合用于Java学习、项目经验、毕业设计论文的项目,优先制作。这包括项目的需求文档、设计文档、代码实现,更重要的是全程制作的视频讲解。所以有兴趣一起体验Java企业级真实项目开发的小伙伴们,可以关注我,通过视频链接找到对应资源。
今天为大家带来一个重量级《银行信贷中间件》的项目,该项目是国内五大银行(具体不便透露请谅解)的真实项目。研发周期6个月,项目费用高达400万,团队规模:6名后端,无前端,无UI(中间件不需要界面呈现)。有兴趣观看制作过程,请通过上方链接移步到视频专辑。
1.1 嗨!这里有一个很NICE的项目
天降祥瑞,突然间接到了一个很NICE的项目,专业度和规模性都不错哦!
XX银行有一块常年需要扶持的业务 — 信用卡业务,整个业务由全国近两万的业务销售代表来推动(简称业代)。每一张专业的客户信息填写纸的成本为五块钱,一年的纸张成本接近千万。如此年复一年,资源浪费严重。
1.1.1 项目需求调研
-
现有的信用卡申请流程
-
造成的问题
-
银行专业纸张成本是5块钱一张,每年消耗近千万,资源浪费严重
-
由于是纸张填写、打包、最后邮寄、容易造成泄露
-
业代业绩是逐级提升的,可能会形成押件
-
没有业务延伸,比如补全信息、退件、信用卡服务等等
1.1.2 项目信息油然而生
-
项目名字
-
XX银行信用卡审核系统中间件
-
项目番号
-
天姬变
-
项目专业度
-
非常专业
-
项目类别
-
偏金融和管理
-
开发模式
-
银行的工作流程和业务需求都是属于机密信息
-
银行项目进行的代码开发也是机密信息,这些数据是不能外传的
-
特性
-
和第三方公司签约,买断人员的使用权
-
买断人员需要银行相关人员进行面试
-
买断人员需要进入银行指定地点进行开发工作
-
不能随意上网,不能使用U盘
-
驻场开发
-
项目相关的系统
-
接收前端平板App提交的申请件信息
-
解析申请件信息
-
本地进行存储
-
提交至银行内部信用卡审核系统
-
手机客户信心
-
提交申请件
-
补全申请信息
-
前端平板里面的App系统
-
信用卡审核中间件
-
封闭网段的银行信用卡审核系统(银行原有系统)
-
项目补充
-
二代证身份阅读器
-
蓝牙打印机
-
前端平板电脑
-
现有流程
2.1 学习银行项目能收货什么
1.1.1 如何分析需求
我们将学会去,按照项目的制作流程,首先我们需要去调研项目需求,然后整理用户需求,再出项目原型给用户确认,最后签字形成需求文档,这就是我们做项目之处最先接触的东西,需要去分析它,解析它。
1.1.2 看懂设计概要
需求文档分析后,会出相应的概要设计文档,我们实际上可以略过相应的文字,只看设计图。设计图是最能说明问题的东西,比如说序列图,清楚的记载着每一个对象发展的序列,要求等等,比如说类图,清楚的记载着每一个类型的属性和方法等等。
1.1.3 学会搭建项目龙骨
就像造房子一样,文档全部了解之后,就开始动工码代码,开展码农时代。但是,先要先搭建结构,就像造房子时所需要搭建的龙骨一样。会教大家一步一步的去搭建项目龙骨,使用什么框架、使用什么文件结构、每一层龙骨如何创建等等。
1.1.4 学会项目业务创建
用户的项目需求就是后面转化的项目业务,我们称之为业务模块,也有叫服务模块的。我们要学会吧需求文字转换成业务代码,学会先去创建业务规则再去实现业务代码。
1.1.5 学会使用框架快速开发
开发中的框架其实就是使用工具,这些工具已经通过了认证,功能强大,性能卓越。我们使用它们来辅助开发可以提升非常多的工作效率。
-
Spring
-
Spring MVC
-
Springboot
-
MyBatis
-
MyBatis-plus
-
MyBatis逆向工程
-
SpringSecurity
-
Spring OAuth2
-
SpringCloud
1.1.6 学会敏捷开发
在以往的开发中将会产生很多文档,需求文档,概要设计、详细设计、各种字典等等。熟悉这种信息需要浪费很多的精力和时间。而且容易前看后忘记。我们可以使用敏捷开发的思路,文档我只需要最需要的,比如说需求和概要设计等。再开发的时候,整理以便所有逻辑的实现思路,然后再开始编码工作,这样做效率又高出错又少。
1.1.7 学会重构项目
我们开发项目有一个最大的特点,就是可以重构。可能我们在设计之处会有点不足之处,写出的代码和结构不完美,这没有问题,我们可以通过不断的重构来完善我们的项目。谁都不能在一开始就吃成一个胖子,我们可以通过重构来达到我们的要求。
1.1.8 学会进行单元测试
项目开发流程中会经历多种测试,其中有一种测试是程序员自己进行的,就是单元测试。我们项目在搭建的过程中会分成N层,这样可以方便管理和指定规范。但是层一旦多了,相互之间的通讯链路就会显的复杂。所以呢,我们必须在开发中使用单元测试,来对层与层之间的通讯链路是否通顺进行验证,避免后面做整体用例测试的时候,从层与层的中间出现断层。
1.1.9 学会部分运维的技能
开发完成后,包括在测试的过程中,都会去接触运维工作。比如测试环境的搭建、集群的模拟等等。包括dokcer的镜像制作,甚至与部署都会和开发人员有关。虽然有一种工作职能叫运维,但是有时候在某一种场景下,开发和运维的边界会非常模糊。
1.1.10 学会部分的就业技能
整个项目实按照非常标准的程序进行开发的,每次项目节点都有技术栈的复习小结,可以帮助你累积就业的技术点。学习项目技术的同时还可以提升自己就业竞争力。加上专业面试题的讲解,相信每一位学完这个课程的人都能找到一份好的工作。
-
章节内容学习
-
章节技术点巩固
-
章节总结
-
软件开发公司流程
-
面试模拟
-
各种类型的项目透析