我们软件产品的生命周期与相关技术栈

Gitlab:管理项目的生命周期

gitlab 是一个集项目管理,代码审查,持续集成于一身的系统,同时该系统也是开源的。

最开始的需求调研之后,我们会在 gitlab 上面录入我们要实现的需求,并为需求分配具体的负责人员。

开发人员看到需求之后,再进行具体的细分,将细分后的条目录入系统,并且打上不同的标签方便管理,同时还可以设置预计的完成时间。

我们软件产品的生命周期与相关技术栈_第1张图片
给需求分类

开发人员针对某个需求开发完成后,将代码上传到系统,并发起合并请求。此时代码审查人员得知后进行审查,通过后合并到主仓库,并且该请求能够与现有的需求关联,方便我们查看每个需求对应的具体修改,甚至可以深入到代码的具体行数。

我们软件产品的生命周期与相关技术栈_第2张图片
image.png
我们软件产品的生命周期与相关技术栈_第3张图片
image.png

此时,配合系统自带的CI(持续集成)功能,我们设定了全自动的代码规范检查,基本不需要审查人员干预,只需要观察最后的结果,点击合并按钮即可。

CI不仅可以自动化代码审查,还可以实现自动编译,这样运维人员就可以直接从系统下载编译好的更新包,直接拿到生产环境部署。如果生产服务器处于联网状态,我们还可以设置CI自动部署到生产环境,运维人员的压力大大减小了。

需求 - 任务细分 - 开发 - 自动审核 - 自动部署,这就是我们软件开发的一个完整的生命周期。

当然,gitlab本身的功能并不仅于此,可扩展性很高。不过,根据团队自身规模自订流程才是正确的做法。

Node.js + Vue.js + Webpack

为什么我们选择这套技术栈?

  • 只需要Javascript这一门语言,就可以完成所有开发。
  • 我们的产品,需求变化频繁,Javascript的动态特性能够很好的支持需求变更
  • Javascript 是开源社区最流行的语言,拥有数量最多的开源库支持
  • 学习曲线平缓,一个之前完全没接触过Node.js和Vue.js 的同事,3个月后,现在写代码比我还快了。
  • 更快的开发响应,你对代码的修改,能够以极快的速度马上看到,完全不需要手动重启或者其他任何操作
  • Node.js 采取异步非阻塞模型,对请求的响应速度更快
  • vuejs 极大减少对DOM的操作,减轻了网页开发的负担
  • webpack把众多分散的js文件打包起来,并且彻底解决

你可能感兴趣的:(我们软件产品的生命周期与相关技术栈)