JAVA敏捷开发环境搭建

Java敏捷开发指南 敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法论。它强调客户合作、快速响应变化、持续交付可工作的软件,并注重个体和互动、可工作的软件、客户合作以及响应变化等核心价值观。 阅读详情

前面介绍了创业型软件公司的工作模式,这里详细介绍下如何实施,第一步是先要搭建环境,有了环境才能开展工作。

整个软件项目分为四个环境 开发本地环境、开发环境、测试环境、IDC环境。和传统C++开发不一样的模式是多了第一个开发本地环境。这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发。对于mac和linux下直接使用软件并且开发的中国开发者还是少之又少,这套架构就这个现状做出来的。如下是环境搭建架构图:

agile_pic3

 

从环境来说:

一、开发本地环境、开发集成服务器搭建。 前端开发者、后台开发者。

前端开发用的最多的是photoshop和dreamweaver。在做psd之前大部分是不会协同开发的,只有整个文件传递过来过去。html切割的时候可能就会多个人协同开发了。这个时候需要一个集中ftp服务器、svn服务器。svn服务器用于保存版本代码库,用于保存历史修改的版本和开发人员协同。ftp服务器适用于及时修改时保存上传到预览服务器进行预览。看到这里有人也许会问,我直接合并svn和ftp不行吗?其实有这样的问题,如果直接提交svn,后台开发人员就会从svn看到。本来是前端的集成协同开发预览,结果影响到后台容易引起版本混乱。

后台开发怎么搭建环境?用eclipse在本地环境搭建开发环境,通过tomcat插件或者jetty启动调试class、jsp。之前看过很多公司都通过打成war包发布到集成环境再调试。集成环境大家都去集成容易引起版本混乱。即使不发布到集成环境,在本地就算修改个小的class文件也要重启war包有点浪费时间。最好就是利用tomcat的热部署,修改小功能直接生效。现在我们就是这样做的,用maven管理jar包依赖,ant本地打包、拷贝包,用eclipse的tomcat插件热部署快速开发。等到所有功能开发好了。把分支版本发布到开发环境进行集成测试。

开发环境涉及的软件有:nexus 、maven、tomcat服务器、mysql、ftp、jenkins、svn、jira、fisheye、eclipse、dreamweaver、photoshop、nginx。

软件的作用:
nexus作为集中仓库管理,因为每个工程如果都有一堆jar包,很难管理。加上svn上传、分支、合并耗费网络带宽、空间。如果有个地方把这些浪费空间的jar集中管理起来,所有工程合用岂不是很好。
maven是软件生命周期、依赖管理,有了集中管理jar包,就需要有个东西把jar包仓库和工程连接起来。
tomcat服务器是本地开发使用和集中测试服务器。
mysql就没必要每个开发机器都装一个了,放在一个开发环境就可以。
ftp作为前端开发上传文件使用。
jenkins是持续集成,开发和前端都把代码弄好,怎么融合集成在一起测试呢,总需要有个人来把所有的文件合并在一起吧?这个软件就起到这个角色,把所有文件集成、编译、打包、发布到tomcat服务器。如下图:

test

svn代码版本管理,大家都知道协同作用。
jira用于需求、bug等管理。
fisheye用于代码统计、审核等。
eclipse、dreamweaver、photoshop不用说啦。
nginx主要用于做虚拟主机和静态资源管理。因为我们可能同时开发多个网站,nginx可以根据不同的域名转发到不同的web服务器。

二、测试服务器。开发、测试。

开发集成测试环境通过后,这个就可以转测试了。通过持续集成,测试部署好环境就开始测试。测试环境同样依赖于集中仓库、maven、持续集成等软件。也就是集成测试环境、开发集成环境、开发本地环境都是用的一套jar包,是不是很cool。如果测试不通过,就要转回开发,开发好再转测试。怎么保证开发的质量和测试的质量,还有大家的协作性,这个过程涉及到软件工程和绩效考核,后面再说。测试通过一些测试,测试通过后就可以发布到外网了。这个时候需要提供发布列表、操作步骤、数据库操作脚本给到运维审核,审核通过后才能发布。

怎么发布到外网IDC呢?运维可以根据发布列表去操作,开发和前端一起等着熬夜啊熬夜。没有效率!这里提出了一个增量发布版本的方式,通过发布列表,我们的发布程序会自动检测到发布的文件和发布的机器,发布到对应的服务器。如果发布失败了还可以回滚文件,基本上是一键操作。未来还会把服务器重启、日志输出等集成起来。

三、IDC服务器。

外网的真实服务器,后台和前台。大家能够访问到的网站服务器。业务人员在版本发布后查看。整个流程就做好了。大家在每一次版本开发完了,可以很好的协同、开发、测试、发布。

扩展话题:
1、photoshop能否和html互转并且有版本管理功能,这个做好是个革命性的标志。
2、css、js等静态文件是否也能够纳入自动依赖管理里。这样不用我们发布一个页面文件时发现还有些依赖的js没有发布。

注:本文转载自LANCEYAN.COM

原文链接:http://www.lanceyan.com/chuangye/java_agile_develop_tools.html

JAVA开发管理(敏捷实施过程) 每一个小版本都是增量或者修改进行,每次都是交付可用产品,只是产品处于不同的阶段。这是非常复合逻辑的过程,把一个事物或者复杂软件进行从顶向下逐步分解的过程。TDD(任务驱动,编写完代码,及时编写测试用例,快速完成任务闭环)FDD(功能驱动,快速响应客户需求,有需求即刻开展开发)绝对编程(对完成代码编程进行时间限制和颗粒度控制)迭代(小的时间节点完成产品和功能交付)系统解剖(从顶向下逐步分解系统)持续集成(持续增量功能和产品)站立会议(及时形成任务闭环)单一主干(及时进行合并)重构(及时进行重构) 阅读详情

相关推荐

敏捷开发中高质量Java代码开发实践

内容概述步骤一:统一编码规范、代码样式步骤二:静态代码分析步骤三:单元测试步骤四:持续集成步骤五:代码评审和重构结论参考资料概述 Java 项目开发过程中,由于开发人员的经验、代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。本文将结合敏捷开发周期短,变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高质量的代

Laravel企业信息化管理平台

一款 PHP 语言基于 Laravel5.8、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架,框架已集成了完整的RBAC权限架构和常规基础模块,同时支持多主题切换,可以根据自己喜欢的风格选择

weixin_50196917的博客 5793

OpencvSharp学习笔记(一):图片的打开,保存灰度化,保存

近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧 首先打开VS通过Nuget安装 选择版本后点击安装就OK了. 安装完成后,引用里面就有以下的玩意儿了… 废话不多说了,在写程序前先 using OpenCvSharp 图片打开,灰度化,保存代码如下: static void Main(strin

猥琐de专注 7188

java敏捷开发

2. **可工作的软件重于详尽的文档:** 敏捷开发倡导尽早生成可工作的软件原型,以便验证和改进软件的功能和质量。与大量文档相比,可工作的软件更具价值。1. **个体和互动重于流程和工具:** 敏捷开发注重人际交互和团队协作,鼓励开发团队的成员在项目中直接互动,而不是过度依赖繁重的流程和工具。5. **软件的交付重于软件的开发:** 敏捷开发强调频繁、小规模的软件交付,以获得早期反馈。9. **小规模团队:** 敏捷开发通常组成小规模的团队,其中每个团队都有各自的责任,以便更好地管理和协作。

weixin_64822448的博客 313

基于AR和SLAM技术的商场智能导视系统技术原理详解

本文针对智慧商场室内导航需求,提出基于AR和SLAM技术的商场智能导视系统技术方案,实现了沉浸式导览体验并促进消费转化,助力商场运营升级。

维小帮定位导航的博客 1243

智能网联汽车电子电气架构(下)

从资产的表现形式, 可以分为数据、 软件、 硬件、 服务等, 而从需要保护的业务过程和活动、 所关注信息的角度, 资产类型可包括基于 ECU 的控制功能、 与特定车辆相关的信息、 车辆状态信息、 用户信息、 配置信息、 特定的软件、 内容等。面向新一代 EEA 的安全需求, 基于芯片提供的 OTP, 或SHE\HSM 的安全存储能力, 实现系统关键数据(身份、 密钥等关键信息) 的安全存储, 保证系统的关键数据不被盗取、 破坏、 改写。结合攻击者的动机与识别出的系统用例, 分析对汽车电子系统可能的攻击。

m0_58838529的博客 1473

如何在Java项目中实施敏捷开发方法:实践与工具

通过设立敏捷团队、实施Scrum流程、采用敏捷工具(如JIRA和Confluence)、实施CI/CD和自动化测试,可以有效地支持敏捷开发的各个方面。敏捷开发不仅需要技术上的支持,更需要团队的协作和文化的适应。大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!敏捷开发不仅能够快速响应变化,还能够提高团队的协作效率和软件质量。Confluence是一个知识管理和文档协作工具,用于创建和共享项目文档和知识库。JIRA是一个广泛使用的项目管理工具,支持敏捷开发流程的管理和跟踪。

微赚淘客系统开发者博客 1344

企业级大模型落地:私有化部署的安全合规全流程实战指南

摘要:本文针对企业在大模型私有化部署中面临的数据泄露、合规风险及系统稳定性难题,提出一套覆盖数据安全、模型合规、审计追踪与灾备方案的全流程解决方案。通过双加密管道(国密SM4传输加密+AES-GCM存储加密)、SGX可信执行环境等技术,实现数据全生命周期保护;结合等保2.0三级要求与《生成式AI服务管理暂行办法》,提供合规性实施细则;并给出本地GPU集群、混合云、边缘推理盒子三种企业级部署方案及成本模型。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 916
上一篇: Android APK反编译详解(附图)
下一篇: 一台机器双网卡连接两个子网网关配置
private_class
博客等级 码龄14年 2粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值